From b6c48cb1b4b6df43c816fbd5a43e3f837d3768e3 Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Fri, 5 Jan 2024 00:15:01 +0400 Subject: [PATCH 01/13] Rebuild wasm Add prettier --- .eslintrc.js | 33 +- .prettierignore | 3 + .travis.yml | 2 +- jest.config.js | 4 +- lib/build/libarchive.js | 13 +- lib/build/libarchive.wasm | Bin 896488 -> 717423 bytes lib/build/main.o | Bin 4436 -> 2209 bytes lib/build/main.wasm | Bin 0 -> 1691 bytes lib/tools/build.sh | 4 +- lib/tools/docker/Dockerfile | 28 +- lib/tools/wasm_gen.sh | 0 main.js | 3 +- package-lock.json | 7469 +++++++++++++++++++++++- package.json | 4 +- rollup.config.js | 30 +- src/compressed-file.js | 57 +- src/libarchive.js | 440 +- src/webworker/archive-reader.js | 246 +- src/webworker/wasm-gen/libarchive.js | 3746 +++++++++++- src/webworker/wasm-gen/libarchive.wasm | Bin 896488 -> 717423 bytes src/webworker/wasm-module.js | 169 +- src/webworker/worker.js | 120 +- test/checksum.js | 19 +- test/files/encryption.html | 146 +- test/files/index.html | 149 +- test/files/test-single.html | 141 +- test/formats/7z.test.js | 58 +- test/formats/rar.test.js | 46 +- test/formats/tar.test.js | 70 +- test/formats/zip.test.js | 60 +- test/main.test.js | 63 +- test/testutils.js | 77 +- 32 files changed, 12230 insertions(+), 970 deletions(-) create mode 100644 .prettierignore mode change 100644 => 100755 lib/build/libarchive.wasm create mode 100755 lib/build/main.wasm mode change 100644 => 100755 lib/tools/build.sh mode change 100644 => 100755 lib/tools/wasm_gen.sh diff --git a/.eslintrc.js b/.eslintrc.js index 90bc208..7cbef71 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,18 +1,17 @@ module.exports = { - "env": { - "browser": true, - "es6": true, - "node": true - }, - "extends": "eslint:recommended", - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "parserOptions": { - "ecmaVersion": 2018, - "sourceType": "module" - }, - "rules": { - } -}; \ No newline at end of file + env: { + browser: true, + es6: true, + node: true, + }, + extends: "eslint:recommended", + globals: { + Atomics: "readonly", + SharedArrayBuffer: "readonly", + }, + parserOptions: { + ecmaVersion: 2018, + sourceType: "module", + }, + rules: {}, +}; diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d38df29 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +lib +dist +*.md \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 4796715..2197832 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: node_js node_js: - - "node" \ No newline at end of file + - "node" diff --git a/jest.config.js b/jest.config.js index ec995d0..d6a78fa 100644 --- a/jest.config.js +++ b/jest.config.js @@ -134,8 +134,8 @@ module.exports = { // The glob patterns Jest uses to detect test files testMatch: [ - //"**/test/**/*.js?(x)", - "**/test/**/?(*.)+(spec|test).js?(x)" + //"**/test/**/*.js?(x)", + "**/test/**/?(*.)+(spec|test).js?(x)", ], // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped diff --git a/lib/build/libarchive.js b/lib/build/libarchive.js index 6adea82..6e99c80 100644 --- a/lib/build/libarchive.js +++ b/lib/build/libarchive.js @@ -1,15 +1,16 @@ -var libarchive = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; +var libarchive = (() => { + var _scriptDir = import.meta.url; + return ( -function(libarchive) { - libarchive = libarchive || {}; +async function(moduleArg = {}) { -var Module=typeof libarchive!=="undefined"?libarchive:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{var success=_emscripten_resize_heap(end);if(!success)return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(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>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,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;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var DYNAMIC_BASE=5520464,DYNAMICTOP_PTR=277552;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=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 ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="libarchive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":507,"maximum":507,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.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};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}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(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-75}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall168(which,varargs){SYSCALLS.varargs=varargs;try{var fds=SYSCALLS.get(),nfds=SYSCALLS.get(),timeout=SYSCALLS.get();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)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,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 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall41(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD();return FS.open(old.path,old.flags,0).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[]};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:FS.modeStringToFlags("r"),seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:FS.modeStringToFlags("w"),seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return ERRNO_CODES.EINVAL},read:function(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:function(stream){var pipe=stream.node.pipe;pipe.buckets=null}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall42(which,varargs){SYSCALLS.varargs=varargs;try{var fdPtr=SYSCALLS.get();if(fdPtr==0){throw new FS.ErrnoError(14)}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 instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){var PAGE_MULTIPLE=65536;size=alignUp(size,PAGE_MULTIPLE);var oldSize=buffer.byteLength;try{var result=wasmMemory.grow((size-oldSize)/65536);if(result!==(-1|0)){buffer=wasmMemory.buffer;return true}else{return false}}catch(e){return false}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());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=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();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(2e3,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=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _posix_spawn_file_actions_addclose(){err("missing function: posix_spawn_file_actions_addclose");abort(-1)}function _posix_spawn_file_actions_adddup2(){err("missing function: posix_spawn_file_actions_adddup2");abort(-1)}function _posix_spawn_file_actions_destroy(){err("missing function: posix_spawn_file_actions_destroy");abort(-1)}function _posix_spawn_file_actions_init(){err("missing function: posix_spawn_file_actions_init");abort(-1)}function _fork(){___setErrNo(11);return-1}function _posix_spawnp(){return _fork.apply(null,arguments)}function _timegm(tmPtr){_tzset();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|0}function _wait(stat_loc){___setErrNo(10);return-1}function _waitpid(){return _wait.apply(null,arguments)}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}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 asmGlobalArg={};var asmLibraryArg={"b":abort,"q":setTempRet0,"G":___buildEnvironment,"l":___setErrNo,"s":___syscall140,"i":___syscall146,"p":___syscall168,"o":___syscall195,"n":___syscall196,"m":___syscall197,"c":___syscall221,"F":___syscall3,"E":___syscall4,"D":___syscall41,"C":___syscall42,"B":___syscall5,"h":___syscall6,"g":_abort,"A":_emscripten_get_heap_size,"z":_emscripten_memcpy_big,"y":_emscripten_resize_heap,"f":_exit,"x":_localtime,"d":_mktime,"e":_posix_spawn_file_actions_addclose,"k":_posix_spawn_file_actions_adddup2,"j":_posix_spawn_file_actions_destroy,"w":_posix_spawn_file_actions_init,"v":_posix_spawnp,"u":_timegm,"t":_waitpid,"r":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["H"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["I"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["J"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["K"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["L"].apply(null,arguments)};var _archive_close=Module["_archive_close"]=function(){return Module["asm"]["M"].apply(null,arguments)};var _archive_entry_filetype=Module["_archive_entry_filetype"]=function(){return Module["asm"]["N"].apply(null,arguments)};var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=function(){return Module["asm"]["O"].apply(null,arguments)};var _archive_entry_pathname=Module["_archive_entry_pathname"]=function(){return Module["asm"]["P"].apply(null,arguments)};var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=function(){return Module["asm"]["Q"].apply(null,arguments)};var _archive_entry_size=Module["_archive_entry_size"]=function(){return Module["asm"]["R"].apply(null,arguments)};var _archive_error_string=Module["_archive_error_string"]=function(){return Module["asm"]["S"].apply(null,arguments)};var _archive_open=Module["_archive_open"]=function(){return Module["asm"]["T"].apply(null,arguments)};var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=function(){return Module["asm"]["U"].apply(null,arguments)};var _archive_read_data_skip=Module["_archive_read_data_skip"]=function(){return Module["asm"]["V"].apply(null,arguments)};var _archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=function(){return Module["asm"]["W"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["X"].apply(null,arguments)};var _get_filedata=Module["_get_filedata"]=function(){return Module["asm"]["Y"].apply(null,arguments)};var _get_next_entry=Module["_get_next_entry"]=function(){return Module["asm"]["Z"].apply(null,arguments)};var _get_version=Module["_get_version"]=function(){return Module["asm"]["_"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["$"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["da"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ba"].apply(null,arguments)};Module["asm"]=asm;Module["intArrayFromString"]=intArrayFromString;Module["cwrap"]=cwrap;Module["allocate"]=allocate;Module["then"]=function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(a0,a1,a2);var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=(a0,a1)=>(_archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(a0);Module["cwrap"]=cwrap;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(); - return libarchive + return moduleArg.ready } ); })(); +; export default libarchive; \ No newline at end of file diff --git a/lib/build/libarchive.wasm b/lib/build/libarchive.wasm old mode 100644 new mode 100755 index aa189c5dcc54c563f78641d6fb746c184556180f..2b812b24cf5d3ac9503a87af7657a04ef2c0300c GIT binary patch literal 717423 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� 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∋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 z z0FUDx=qcxQ!kQ%aPiz|L@^+|I!CNk@yf-~PFTZMLe^15yu$bm~eWD`sD@PZlIvp!| zgCji2jUy_1t9UDU+ws9h+ay<5)BLL5YVII!HE*ytgnzF#)Y~mT%p2~_t{I;-Ah}~? zTweF^n8fBWHN27DKzx)p!dp2$&KuIDasA@t7;lAqUuM;?wl$*?qHEU->z>~=FW#Gx z(Jvvvo9N9=PV&0*W4$%KsooSXr#5f8w{J>Oc!oD7H`80o8&oH(d6qZZTicuO&GF`X z^SpJu={1XUGiuiL2D0k$%XhiC^}P+e4ZQ^sjlE5i3%uo{n|NDzn|Ygi0})O67uH&N zvqB5Kt-bA%+IVZ#Xy+sWJ6+r`@~va7e7*Hz2yjSu&Ez25R+ zDN(g*$EBBxYaQD$u|;yg>-VPSb&9N?)grTha(;gE=w9BQ-khA^%(`L4-X7k1*GeD!?|eGPm~6C3#o zd=WJo`}(Cs#5DEgr8e`0WH$G;_OQ`QEh$geI0zAd>wtAeO-NB zeEnm)`MUcOBHTWY&zJ1=`Fws~z*iL8!`IW-%UA5{?F-B5>#LaE&)3H{z}Me5kT1QI z^Sk`z{T2Kb{gwQc{Z;%y{;K|9e~7=DzedaI{@(2(Yd8_%abf;Ye}&u#f22R$UxP<` zQT~24D%6Sg$NG7+;jdad#vkub@F)6{{KazCR+gnZL2Wz~8{%)ZfTo6p>q}iNB%0zQ3Nog}>0> z%HPtTo!#6Y2yN{z@_Qok{Lx|U{B8Yh{2^)HoM!p${T=)r{hj=s{qgBt{Lxt+e^-Au ze^^d>Zrx0;-{()tbo;yegTnjxd;5Ea_44=h2mJja{QmHSD&cKo`}_O(`}&Lh1N;N| zQd;>y#Xv|HUwsMmh>gv41;TTx1}X)D162Z*11+LM0@VW513`fv{?I_1^vFPsKtv!s z5EBRsL%CLLf1a6v(a^3)o?|*qFphrSXU*dveVXS( zd)Wq*m})~xO(+|q?37aC4fYD}nLfovx(=P-bR0R%aSxs16iu4K5MxGNr;m4vrjK@d zjGW|nhfi}n6K6Q>M-I30(}zx(ZSR>H-=kFmFo9sl2(N7}n*+uNs4Wzj}Xnl|$G zVI!wlJriw6U1dOpWg|sy$LDr3ho)o>OUWFWlG!sQv#*nRd)>?tbu(u>nVp+wa$(fN z$?Q@#l9D-z@9F-}*X!|1*Nqw%G-=xG|El7@ciPu_2lb!bcOZXH@CM#4!1i6k`$Utu~JO=3tai6ikO zfh3Y7l1yq67V1U5%XOIfA7=iCng3ztf0+3nX8wnn|6%5TnE4-O{)d_WVdnoa^FPe| z4?9lCzH&|o?+@YqA-q52i+aTs_)=I^huuU8?38nY zf?3RNjJBz+P6&jq%e9C^Pu$nP5cR4}EL42E#KSi5Phw{Z}r|3zBQEUT; z??c(kEGj?z&1;`nnK0_KGAy@K!TxfB*nIr(H?OV!j4~0_$1s^~>Tu-n6U3(Fhrjv5 zW_04?}Rp z&X@~3j355y&;M#oMQwTh+tDeyLh1UaDNvQ26-+`%HBy~Kk{Tq6M3Wd2OGY?FyS@kw zuJq+B$5}L-|2UY5WtA?qcbxh6+t>FThrR3^pJZc>(=Od{R!y_5>(KEy&ZqKAOC4t^ zp>@y^InG&m+#<*Mej!^@{;m9eyf?AkZsmWLZ)xl}7MrKFg+JxrQFq&dvU!^SE041J zDQ|U{SDsw9oa1d7?<_O(F!>Pt=Q(U4m5-CZvD$G89x7{kRzsTnREgtQteMz4r_0}) z;W+pAV(VhI&YAM(=28~7re~fl|7oVJh`k<+qP~ZKQ`ZSEHyCOMlIy;k8>PL6lU9}ojis*EVQpu z?=HVMiRCBORIPk3`E|^~p;_vKr zlOo?JAIGxvC#js&zNUxi!uwb8{xr&2_w=yJJ;VH3Grx4FXwCW1;GhXC*OyFZI7Qo; zPR*n}T<3k6yvMfx4!!R%uxqIVckpTdsF`YKpHkFkXM>g)*(E}GFqC*L*;*` zIF6;MJXT(bdDgkt;XBG@oldHJCq03?rNcLu%eF(d{1evcchW*$PyPTKGKU@8(kc4> zB0IJmJ9-_{t(>Bg@0k9H9dI`rx{wWR)5Vnkf$7$C%S9(({GjIw4q|#^G#Lp zSbQRDS%le!ZzUg7!qG|EVphJRy#HXw=|bAcyU7N+T&J_PyWtQ$FX#f_mxkj zj^U)E>KP`l&&r=8om76bd|MlOTNbjje3E<${s!qHpDmw{eNMW{=gZe&f0AzU74i|- z)1uc4`5*LQRnplw@(<8*U)m)nI1^X{+a1-X;ibuayd)OX1ZC(GRIj- zgQD$}UJiVzdaB@YC5|&heqLU(ny!fqr3<$Dx>8@wF^)6LDZ0jVyQ4GcG1w-B24>?FEVGE)8%UUd4G(BO^b^4NTB32Rwe)n&cq=0eWoC62>fOOK`B zR%Qaw}XBYvXqn2c8@5%M{BG0v^j zHQwKDKf55agxOQZ`iwZ0>yGVg>^Rdfdw;ULFT151nT}ccOuXpyuPjL~w0?=>%tR}Z z9KB;bYx+5BIt!~p>dE)9rn#&scVSz9W6l0%%~rCecQ{3RZQ8^1*R1Ir&SOmfUAg;g z3bb$>>MNZ=Q&n`D*6}FLp!5V?DDOsdUP7p+bklc{KRSi-g!z}&(_Mb5KAV=5;I_&E zc^&$}CQTh@9%d`hSDuc?;q&D~<$Nyf+)ftA$I1`W3_d2btkQZW%P-KM{!SLjXUm&% zxD-&&V!SGuC;z>WBO6~LUm?HVlI6jd%I}vipm{vP$(21_TF(}F2KzR;wc{+8?~u=> z{6WgEz=Oz(@+s`u@tN!c%#OPK^80Bf@Ac;*N&dS08vSx*`e0gIY56zg4XM8ap}mwg zp||9BvLSC{Bdoz~eczSOq~Lt~UinFRdzSxc>bXz;r96PYkFS+~FJDFdduTlC6oWj!8DDorapM2}#W2jt=M&oRped7}Iu%(79QB|nc@9+Wqb|AbjK z$y>?W_u^DdHsiKmI?E$jSIa|kzx;c)zvW@vwr4;2)0kz8e1tr)h>LBqRX#y}cq#Ys zWE*btoh2W^4!1lapC|tcvpkAdAJfecrI6_<;{oCbF%SYlrQ^^kbZuu-4NDTgz{DAz0dR&B7 zXXD_u!H&qE##`afsQhvH*FEW>$WGi2h|lE5a=7y%&&topLw(!@lIQTs2V8oaOO=PcD1%xMn=tw=Q$+{T7KiocB6idL7WF5s4n?8PdQaQSL_l@%q9^9ojp zM9ZturC46YY=si#d+8D_`{Wt&*7W!t$bQ^*c%FRfAWm510A@R?vHbC9S`m3o-dg_o zWR6Voy1a{=-vHsiR;0I+_mFR3XIKu&2g+B{5G-%VN6Wu#&#fOhET1fYDv?G;-o&j3 znIm7uPO`iuUo3Ahl)EExM1HS4a|tI}^0s`lyc0c|<*58g`EQuz9r+9LZ|6CVn zB_GMUS}w?s%da=#PMv%s=l=p?jP=YY%eV52@_*QtmW%RV<-O~3k3+tb|0BOEnX5bU zy}a_wvib*OmLKF1@?SB_kMbmWNKM)&xg^h)zsfu1#`zsaY|Uv5C(On#S_$iKxbf5=zJlV2) z`DyvIP;NlTKk^Ima+Nthk(=^g6=s#SlcTgvi=FI(8HCD5 zE#f|sl*6mw@$%7wxKSi7oY^~R@~$kSrM$ehJTIJc7O5bwC-<=}E&Tg=rS&wCkL=8G zL@LP(&|J#VCqMSFArPJev`I&Loy4RURr|+K#(Rk|vLlujX7~Ntf4@|6Q9t zfMm$CCi2Tg^bI6S-dY}Sb(3s)C;3wP&L(Wn+H$Wvj$_o4 zBkwJLJC*HBa^-{NUt*R#`Dpogj!{d#e4_j$`^8d6K2zRfCjAMiE5BPlm1VTllP{51 zpiNoo%U8>Xx;ZvU1Nj5;59)EvMHe_P(S4Npl(Gx>+|SJ^g}=JHc=AM>=dz=LRiU&#wIc{)y7%D^bMAd^49W6tgEGyypz0FQ=S!* z&T_B3d>76|q>H?_ygPk{rK^0fym%xJ1xYvgXnDZ^+5+h=pD0hkEN=Nsc_5LeX2c`E zTYkq3Za|4wzC?ZxX7R~a%PX+$Eq?g}@=rJ>ECKlz`3R0JOAq;z@?^?dddi=Zzs0t+ z^pd|U{}Hnk%U_pAajaW<%iosA71E!OKJpLczt9I;`pQqqKVX|#`pLhN51GV$7U?hl zPTr{l`N8S2zi$LI){s8q`a;?s5gf$86|HbpSYaM2{KyVT3*Cq zZ5bo)Bp)%Ed6KbmulydmH_L7E-tvz*-CZH$bxjlH z9=2H*GC@8|-hytX51A;R_n)WI{E7YYg4MHJex@C_M`W^mt-K?LZ%<+$7g+ht^7u?n zYs8*Wnm;aoIELp?#2)#WKPzuHlx~UGowfPP@^@)I7Q2%&KPZ2U)8ipBQ~r+pCe7Sp zR}SoE=Y;%G4-fi?^|Tf7PvxT%she2ybKzge7jxSY!S=UF{y1mlp=`4s2JvuT<-e5s zO6(JN9`57iDSu90r4sd!yKq~c3-X&`Jf|af%fFL%YRmQ{CGt!172FoDCG+H$e+lnQJ&(&z$ls&>7UOuJ zFaJWGKbJmY49h3~Mm~;u{-yry@}K3=)U$*7cgU~G*WneY|0($``9zlgMV9|*c@^tS z_{pOFSE>IQdAR%pK9c%(%H!qF^ykqRc^0>poG#}-x^(K0=WyH3wdAqcT>6n+@_hM~ zC~omN_MewGlGmTeQAS?C`Qx;ZH|J8q@*-&SZ7ENqKeOysJ+0-J>Ax*6;Z-Q#QNG>F zwj_IS+wUHE+p1jBl9%PZDt4lj1AIjUy&+=%{a$N3_KTVsmd?fE9PpHNt5OP93OnxbcGZ*<-K3;yY zHn*|lq3qvbW(_LgtuDf0VigO-c(9Qh5( zTE3GvlCNhQTfUbU%6np#ALO0ovAyVj$dB@Xd|3?FN92-xfP5O;*z%Knl>FHO`groQ ze3E=0bz6Rs-y#2oW8HFDzEJ)VX1OB2=f8TeedJg92KnQd{|YmAC!N_F=V+ae^*|FS^mPyv%gQuuOx9iPU9K^x9g}=@|wx)U-CCz z2|pwMhCbDDU4C93-H%7AU-B~n&iu7o=IIgwG8^70Du zOPoh7737uW+o-1!^;DEsmDd@}B>|}%36jUk zdsBy{sytEt?@ZQ_1j|$8T`6k`k!Q$P59flNRFh}RL+FMr)#Z8eciD}WPfQbXQeUTzZmmPE-r%lA*`vVug* zyUX)1ON`tn?=Xc^9*LFrl&3LIOPsuq+|4{K@$v!kFv?mITc~aX4CP$|uR6p$8 z$&fFU52p@GrhKXV7*Q0Z!%|zmK|YQ;EIIPc@|DzK z$(3)Fhq13LdGg2PudyvH`SR`Z#+0?xkv}6pMctOV@?G+a)M2S7-z`6mS?bI8%41n4 zO9T0Sc{=m7G?X8dFQKfZk^D{hHkQTGSbkK#fwGnY`TO!#n5BvQxctf;oTf-q`APX1 z%+gGLT0R%EG?$-|pPbF{PZJX)V7Z zf0MG7Hu68@L71gTeoa1&Wwf-F|08e6Eu^KLy!5#c{d8OEu(X#~m{)eb_>*ySh~wI z0(yx2<{HBkv<`MqeIG z`pE~#cX7R8=`SB5pUpYkGC)2;e#cTCk&=P(G4khv>ED`i8!R6$U&r!T2FoYOpT#Ug ztwl2zFGc68jqLAIQdq2ekgrB883fK zzMvtGASi#ke7k%-bz3ILpOLSn{C$+4DBmR?JeGYzCgBz7FLukrgShq~ljX0-J8_I! zrpRBD-{s?xHkm3vEI+|Dg=L!jsQh`_j%B+1nEc7kJWeAs3Zi1Zk(r(rFd05L;ePPc}g)itnxbYX{)$$TFGO5D&G4Eb2 zp0|k3g1jiNAz#n_wd|HB%CE8yEicJ4;dC`>EUVj(mr_4rMLx%Ab`tp{(US`HS+4nB{%>Uin(ga!h_e z-koK)d?0^AeulD^59M#mhfvmXT>k!l^{|ZH$w%^!`8 z-ou3u`Ci^$?xhc~{2=clzgmU$4dOBgui((P%m1eDuflWWOSqkn0&+Wf)FeO2d&$3G zn~fkpbEQ%8J(nKm=mh(-!F~ZY0O!jMx|37fXr3kU)?ljaqqjDj%d^Ze9RBj*@;Q`$ zo$|lRC&(9Yjrsd+Jc`FzdS|x$6y9kZugT}hx8h;=AM$1LLw9k{NH|dq{pWlt;2$ak=Dg${S=m&QMZb{x)8;{im?t$hIY1@^WEckyk2F)4TS{ z6<&F;@<_JfCoEJIUb2}VS7mM3rwiGqLGsh`YqWtCENoTzIr*ckL;>{#%fFY0(6TOY z*oDZi$OqH(yR)^c$*;+KQU6M7XE?35?00?`v>L-b0v;+4T2#(nb=oJFB~0~1$ltC= z*Gaq3rKk|duee~>yX$?|3L9SdmGq^A5{c{9pdQsf)u6PTwZRle=NdMLYtq~SrV*ADsK z1zd`ebomSN+#;SslMK8P<@d=ivyCm8IJ?<7B(GD*Wdf-sKO%pD_Vy{sQa$gfD9MqZmG7YLOC(o*LB5%?Y1E%5|3Usn370q|Uw&EsEeE!x zPI-FcKf;3Ft=x!~zlD}xS0(>c$w#UAaawFW`3-pyHks6yms?zRq}0WFkp}Y0@<%&y z^Ftcq)-tQfk7AZa@*4615j=e&jpYgQmoQ6#JWbvjvow*{mVa1-iz?DoUQZr^S(?e4 z$h$=H1eY|I7s^jjx21)=gM4fh4-rU9d3X7G%+gBUL*53n6w3R_XH&POwS1`j50=r= zMm|PfAF~w6C(0+V?3T9j8S;Oq+tN-xS3Z|IEbZkB<*!nQrGtEhJQcHal;0;`Pu-SI z@{RI1*45HkzExh#JS|=1Ps-O)x23E6S^49XwRDreBtK7COLzHx`9)4d7PtJc{Iw)* zeuzi@u6!0(1QxISBl!->T72@;@^YiOnPI*Bxb>W0$v+%LFG|l4kbfsXjc><$$S=!l zP|s|$ZN@$@HojbP+nWU znT4$V%aUj!j-w`XLGysLba)j`I}-SW91EGM~5?vsDY zvRKB+d&ujuzbxbB#qulk>z3Q)edQM#a*aeL$Op(@AINnznJ6DD-_)JQZDf*snEZ3h zGFd)S{%AFNcrrykM!pZTOqGw5m(QmCk!kV?@(KgE^&r#bljSRUyl9yrpC)fzOs`31 z%4f>Yvdt{B61Ae=j(Z)eb7w&sSNk{lS$I+YCN-Q(~Q`9t!@xPr6HlRqIZNBO~& zpD%w-o{KNQ7s&U@-=z-ALir*2?<`Lb$}f_?D^H@HnfPM)$MTn{!?HwvM&6csu4eFb znl)XzC_K1oKcG5?$TDE7fd_B_%YnVXgXMx~nU)pQWn1lA)#b%3E9F<@d6;FD{Dyo$ zKUyrg2d_XqmF&0h`5C;5?XZ%^=eTX_s`7(Vxt@sUDY`sTz8$|B!$VJ&@Z4e+c{kvS z!EDw6+YK54ZGiiMg9gb!4zM0L4cu38I~(GT2Hd-A z_KBMPu{v}dTt;ocE3>$n^6M+OQ6L*tK2QGXaykj}puDmCA<9}d$qVIsC~Mg)?I>t@3g5s_X*GHu*I9Mao(pk~JiNotWSl1*xp9Fj{) zn9m~&!x&oZhkuT^^b5oF@X{Y1e0;MyJUHzM6{O!N^Z!S|4QnX)lnSQ&e+s@&!T2^5 zC?Z@6m;Q6N4S8cD(%7E0P@q}?6HSP<&Pbf4__OT8%|NQ8s8fJ*xdw;=HsjJUC<#?ZkfmxpnK7Q}h_*3gTbe z+s(+$n3t0dRhZCXe$Z#N+EqIm`S9-sg1#Sx49^v`|ma>pNEEf})n<#}_*ytpvG?#_nwe%bM3 z^v=fy29Mvm=Jp0BvnKt1{NLhTXS;Np{8{&eg12u}`s;97%I**DZ#Dhh?2_icZF%U% z)sFl2-uU&2*|+|-lK+`=`pQH|9vy-anHGn+q&)A_WD0NhwRH-k-q1?_2*xx zo4a%QhJx|;6ou7YaJAYmOMV}?V`KX^V;*{FRPLIbIX|xZE@}5UpELcNWwi=^C~Wc9 z&n?F7`hDe$$$$0oHMoA>{rkUzuk1ha{m*mXsQ+H!hl@YG_1=QTdp~KkY4%4yA83B2 z-_{$ae>oR2w(rejx0ifz&yXfZydxT{uX4wt74O_NVCV9wmv(iVSzN7x_v^5?x-~6W z+;Meor?$)II0IUZI@ITzHuHP+7}(DLaEqkO+O^K4UU9bMbxInP-PRpf@Tc!|gS;7= zT5lTHuSKm-qsrg=-pR_He}16qtt-XVuWt~+p~Z7lTXjx^~jCp&qiIm@znbV_dYr2?CeL63@O+& zdG23Zw)fwCU(Jrw*T+XUSh_R#_m$J~cg;IoZ}OszYnBhJv#ML)zn-qrv(27&d>t;{ z%9Lo@Q<8u>%F zP2q!z`$a986c=0X_S1=tTWxX8PZ?CHf2E}0pAyc5`kz?adD%(YwdXJgBD{B#U$mvzt#Ei=;OYfpGLUHpLlOv-LLMP@yi#7 z-rIIz#-~HRd+tj5kFh_W|0U_b<5!;AI^vJ1i?jZIbJN9}K{xjZKIx2te%$j)02JRi2}xk}Y0KmAp1gD1um{Qk)8qjvBAe9rW}XCf%16IIme=+=wY5VBx7~@AMXZNu7)dl<5<~NLU zW9h$8WgkP?{j-dK?Uz9JS)?5hZN&w7F~s~NYC@Xs-9 z$h6(V*;jIM8SY@(?p5tq3x*T>NZH<3pWz^e_K~{%I)4H=Pv%iR3-{u-TocK9>=)94 z%%O~ZoNxD!lNnn53mA@N_!Jq;cokxoUiNXHeI>>|Cf~vESzfo_p0V}fR|8AeH-c&V znprQ(+sEU7;|G{7&$wN^r!usUo$V6X?tSemId%_eUzG^pBgj0Gik;!TkC29ppC)d+ z9I>x+)MR=auMJ@OHO8YDo@IIsugxd6P5NNf8Q#ToPsSf+_%vlIFg}xU`?ZH}8QNV! z4Ti&btv2>3!(mL@ucg?f<#xt<5u1lS54gbV_L1cm*sF|JW@y_Xj@Yj{*nH37pWy8o zx_FPR?`w=t$LwOGfaz@V0k)UeC0zn3;Whgzgnh+p9kI`$I^i>keH`76vbQm`<$a%V zZZ1lnEd(*NZBdWd1=vfv;$=Jo8^X}O8fzbe+okAAhIWbkE_ods)d3FAA4!qu~r2;daM1lyVgqK8Qt7u07MXZZ`iZjL#tUQRXTV z&+B|5R@xq|t#g%HdRt-TqNs!0=hCm`1~F}y*?E+2%+Q1PX8bvZCFDA>c3O$o-Y1c~ z_8r5!d7rftD?fzcT@3r;c9A%WX*=d^`R>HOW@v5i0I~M>5V3V%O!hE7j`HVtUu|L^ zxo*clVB9XZtsU9Np^Y%x@Ai@De6ojWJ05Ml`cNj5@iXKCuiavLHN!egdl!}?Wx3(I>_`{4}!ABA6U#zV48`c(oBei(_ z8bkZq)LOEIEGO1i>?hm?l>Um;8peka`#9UK(d|8UoLSqmeRhIj5#EOJvBdV3eP!t` z{7J@tXP$eRw*5H~dxPngjF%AWH*GnaV%BbLzK6*JjK9Ns4v{2YKg@It!#ccXw=Gt$ zU65N})tfZM-m&+Q&A9bN#S8~AwEZ=nv|xNZHk08=rmde^z_?wocOlk(hMF_HjN8|} znv+x1J%gbgn|3R^k}`IDTK{Ip_(|-X)y?orrtSUpiM2nMIpez-w&Hc}Chh5L>CMe! z*j1({^ST{tcKrW>S-;$ZSbrSNFa_Vl(2mtR7(a!#WZXyDIHnsj%q8~gFjjvFueB!W zOjqRf5QZNxv>Td_i0vEO-uL5n>>MXwk^7h)$#5C5{^bX9h;k0owHO~ltlzU`NG7%% zA2S_G4v|(&@1jf`;|m#n&d}P`ZTJL+Rt2UYwZWH0gl literal 896488 zcmeFa3%FfXdG|YSYpprgTzh9G1lW)ub1k;AsXLmsG*HabX6AzsOjN9?rQgG8BgK|) zZL}oBe0V-28;g`yw5X_{R5>lJ)RGn}tyHPT%4ccS9&1r)s}(P`+*G{OT17d(|2xK9 zbFG~n5_>tP&vUv1YmPDIxV+;X?|5(HGJ_Xf`l2uhg7BB)Q+Fo&_zU;#jO;g5Fm@@t zxnf^0m!bf`h8~F zwQlR-I;_U5Dz#4J3UyTNtBuhwg{Y50qb>zI^D(%{Tw}}Cq0*P{3onn}8_mWqeDU7! zf*`f$&jq19FAO4kzR<^i-oO8a;5bXa$fy4g{~Y@K3qfq}FZTIghL?ojiN6!apYMLQ zyCzKI@Z@$B$59%EQJjWh97fZ56hA45i!4sFu$M<+p2b;wa@gx-VMdAeOg0@)$7`b? z3!^a2Gi3;RQI_@cxRd52h0}2!u1te0AWz1BQIw|CorkmSUX;?n`ZS8eFi+zkh}AZK z@d zWu4&3(V8rd@a$; z98}by{VW6+ss^H`biy#8aUjo6q_pM9qGJOP9@AWh`WR|{ff*zLeoX#?4pV$3S<>T< zJ!WcE6lHm4L)B52sQrhd7+n6KNF+Xv(dl-MiUL{#x4=h}!bB7Y@zhh-W%Ey^dxdHZ z@=i3JO`Qb3(-u`76J=AyF;nfB9@1HW4P((lO2@L5Y1$*1!MFaTIi(mM;X>G8H0e^# zKf04;Q4VU1v_zNoXV9%OQV1xW(vMEuHTa^VK)@PMm1TL4d=OH^>vVcm&I@X!epd<9 z$JqP7EMRuf7GTba^k|%H^qbL(pl`APYmk9CI-Wtl(Cc;LP7rkL zkL;isl%B*OLS%G?N@!vg*rXN)gqE_B+5n&b0`S44&~)RalAc8Awhj9X0E)oEpcBVk zs_ihuY9M6#8YIVQV)I_jDA`g&5Swel2uh*TUI}J3$RB-ixiy36sYW@2V_22I#Y?~` z1WW*OG?w~rl^y_RvHFL)T!Lj%*xqRPqv_RAJ8AWb712@Ml}9sq(rDGHRmW+Df=I?# zKXfHdPxv7?&Cz))ii+N`slZcyz`3i_;73Ro-8~k_`588X7I;ZxGlId3%3XF z&cbH}ceKK12fvzy&k6n}4bKfO2%j6gBME;ZxFrjp7u*$vJAyB@!=DTuNy6s`e;9{9 z72MMe&kF|OPX`aS!v7w;qaFTi@QzM68_Y*9ctP-oS#-e*f;+P4=Uxyj=Fx>O2;P=P zFML7pjWqjeI}A<=^6$j&NnY9gPWGPUM_$qXV(TATA8Y+p>wVqVcVE|iZTB_Z>$kLefFPo;mCzAt@mx<9-veM|D1^xK_(>AX7mLg&ip^PRu#d@OoJ zvOoNA=f=(rov+4^wLjc`uzh9pK>HznKhu71>rYx&Mt8MtZ@r=QrQ}z-zuJ8)`$qO? z_9I93_XpX%*$+L^dARe}?T@uT-oCf}aO(@Lds~0feQo>N_SahF=elPhXdQuk%>vK}Ptaoxkk-bNuGcV(0PpU$#Heezg7N_CK}$w)KhD zeXRqn_qAppOdd*J-hC)}F!@UML*MV;wqI_4xAl$I*IHj~J=*%`)>m3zZhfis^zU`Q z(|x%6K=&WIpX+|6`>F2NyYKCOEBoi{)7eL|FJzxd|1|ym^!oI>od-Jqcju#+NKXt#{eYE@j?t$+2S`Vb3P7kDiknT@k zn|`PBkDaTNH+8<(ez<*i`vdJiZNI;Lp#8q~d)t4~zN`J7_8+%@C;o2t+uc9!KI4i0 z9*nMT-<7^6eRulD=`XkbrTa+t!R{BkpYPt^{dD)i=)ve6+0EUzbpIv0J-ep;``Npb zH@9wRy|VSS?kBq+>b^VqJ+M$^Pt3@om|at#5W0TfdvVsr~ls z6WQ-%pUG~`ZfdvOG- zx84>1TKC%SE4p9LzLxz_a&7cb>!$dPtzT`uD*jgYruY-xzvw=geJ=a!?Al2GZU`T1 zeW&%=)?c^2nSHYLH?805{&x3@pY2{AhWk#6`pHRARSsvP zGAV-%(F~7pL$sPlv>__WWKKzQ(drFRX_0=QN0DqQgNpp~WQ;dNmN-+*4ee!_6n`CC zZu^;w<~BsLEmvSRFO%6Q|M4(V;}MM)YCKZow5i5}GMbB$s?;M`*kdsZ@7>*x%ZS`@ z{^wI+wyzA%N;a*?t2-Vl$l0d@)n&s$%;WMQ34^G*Y}X(d_FH9Cg}ah{W!#GRQQnZG zc$XC~<1$>JRC10gD}yo|(#g2G(`wy9Pvf!$K!cDHRebhTczku+Lxlhi%2pXxSL_n# zYBt=h5QT^Kmf9$@7r?@5F`|04oen}hdV`3nt6Lr_^gkd~VVUfy_FYP40ksPKJ%^7p zFXLXw4`b2q(2x}mDIQTH_@krAaKNy@e`zG?NA%cYbg-hcy$GSA++nraXKeF|D21(D z`>ZKipk&!5dzk0oM;**t4rUveo&yVbIzp!2tflQ}Pj&Ajz9ON^CF9qn z{GM*g_-vz1sK^j0lCc2v>L{yhi2#g}^xM?QYxNp38Y3wW6eN{8l1e>E(KC@0kME15 zT2KRJX8M^cN)3*nTL0k$We_hRs7#}AFgY1eM?g?UPMIU8OyneDqOd0?5tC>s6D`rq zvb03{a!AN2Dxf-ga-EzXJCeGh*CjD462B#bnhTwT1M65 zk3Zhomh7uegymAh;`e@hSQUG#bk~5^l4|k(6D^+X0+ea8guB6TuxCKl#TE7{BJ1u2 zz1mZ)*bAvwA#9ksI>Wupq1}0_3Uc_NpZQ{!0%tAA0G!qCQBQoDw0^dkanUAKLpKNf zBw$qh0tO{&jH;kI4we+|UEue`Eo=7llbE-RYME3g?xnTipsljT=} zV_oghlr-K^BMiKy;)E)a4uDyBG<14A>OnU^uDUTpFJWEartQY!(6#2(-OO(O2fAvX zV-00s^Z$`A75zZn5a6+flZK}PS7IMyoL5d1#wU4EXhZ5jkyvq52FP>K?ZoM>euCmh z>3%G^ou5w)WiTHg@ybw-`0O$|YqyA@PybpmZ>tcnd=`b5%O~XJz!z4Jhr1}k??V1f zOrm|ojnSaxSSKuTF1jYBj;i>@L3;z?vaPghV-04jY`a$*NXTKI>5vqL&X^zZdxD{> zVPMIk*AsWqWN#0Y`FKa|&g|K37;jbAM834cJ*7tpiRK46!n(RZtq98^4|4LNPLlLT zb`*ny3m90?#8?5BbXtU|bj3kBN-B~&Ee^zC+=xV{U}8Ogq?ugqhBIV1O|1$wLsvs* zP#s#7<~E^XUEs;jMHu9C^adJ4hWc!jW<={cMDQji6U2&F{j&lV*_ z$-ZcxNX|&XQAA=Bjghh8T}>5~ zt?jNkx@~OGy6SW*^2qdp|p&3noOIs`EWT8@utc7M#N?i!`bk2q5 zrP12k^&6t~E_CXK=u{UveM5A*3vJvGZKOAw77U#{OlLCCqpg#mqncSJ9+nBsq)O=b zL}o_H@FPrxX9S^InGd2f0=T6@@fm^8yrin!>WF=Vbsgh4HsmJxPc}4Z+BWq&-Y1e8 zQC_+(Xef`!1mzi_AzI>HBVt>t0S%swL^MwKXK!0k-J4V&d)tcQonij29|?QX@Vm?d zYcr_+DMSUXg&%4LrSl;&K+kj5F#ItRY_F-=pb$Z@s|qhI(X@EuWT&J?YFyN`*1q8h zqEn?6v?=|vY}FdH^%3;ZL5XnHf+UMaI{E5sV6A!NM-%^;K_gRUj}mQgondIZ?a2jz@c|MDnzbhe)y|@o*GJ9iQxMD8)ch zPxGu4i}jr~V}Z_^9tu&pAtj5(v(*oz@6cuIEurC{g%kw?AYy?=T&Ix^2vysj+gCQqP!HlCZalG7=BsHn#%9ip8 z^=QP?B1w?|E9Q?B5wOxv<4w^f(L`Y~B{p#vF*l-4?m zRslLpZLI~$DOo=-YfYL^9hJ2fGg57@^1#l)BsLW-$sCxV{f=u_@76Y2n^gr!j&v9; zpfP(bl-kEc$~BPy#u;kPOiRiR=s~Yma}*IAfwR%5-QmrKU2={**kYuwHhfyTB%!4v zbCF^)ilxOtQq9x^fz&;knsjPJ$vp}=(oM_WutX9}kS>u)(uIpS(rt-!Z89~a8n;zaVJ-p-e@HSciBx>^{SQw<{D=AZ8O-26b3VI;Rle~|i z6)W>GP-pDgvjhV44$9Uu2b=)!DChi#TL>$KJyeC>?AGrl!uvm>x3XZ*-p*N1D%v|I~c z2cFgL;k2j$gDXdwnZHoDF-ha{DkSdBgPy5NJS6v=XbhGy>l0%q==zxTkz*%O48@B! zh%Yhg$+t&CP_vsY6K1_(b6E(+%z6XNQ0{T92bc$1^>hZoBc?5V1wW1bMUc9mkkWE+ z88*5QalFIT3h{DjEYLhknuLH{cc?T_9hKGk6!xj5h4j#rua@$ebXIW-K=aU6qnV9U zDJ#J_z&IzP1Uc;rzd`kMRJiJ~FUiLMr@rdT3bgdB7E6J%I0{`uNUnwI+B$F@0s0

R!5w*Z6{vkKih*Q*y1wj{s0*rN`;5k!~ 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

kpo!#)bw^GQBboe4f$-3g zGs8$UdJ3FP&%rQ~C@ z6p^3sdjA^4^$EoFv|)$w1LPM9gl2WRZe%ET!nFmgHQdK`41ZZO!2jy1|; zY4=c^E0d+uKiE#e@u8#>WIkrF9vNcEA{J1m@*BZSpZe9&-uM%Fbn;dQxRhfU1H4yV z>9$q~ei3i52*|0ZZ=t6r4OMnP@1f#ryqcL4?#rI`K-A&d2H}s`&Y)nu%_M>pkD;-a zm0(#5PeEPpson`l9Q8It@eXYv@eO?)jqRDEv=c}8r87&F@xVIJQ`-PNJ0-CQf&()V z`~XXJ-qG_MIr{RN*(nVmvy-N&lE5@j@Q!7bAF(i7>~-m4jkCZ3yF?K`6=Za^r**hN z#8qF!7ji+)dUi50*Tv}uM=#MQG>j;y*hDe0Fhff+pE*Q&zVm8DYQU#yyEswu@XLr$ zn=zG_QPiBc>s0mWL9gxPQ}tARNH(K2OC{T>u!|+5K=evQ9vsU<&9nhcoTEj-YxP0i zt2|;kh$6fDQ&W?ZlbH{LjYC`y$`~C~ANkSPSUeJV$6NMrhfkS~cXi6!tG5$4MIe1E zAXDIP5~!ns=w^q3pCfRBz@TqRd4D?pQ8Z|>e}F)mtq6smO>Ts{H!$DSRiflG8mAu1 zoma{rNbj6Ma`?&o4zYKQ*R_v5`Q)BE4wtV>(F%L=+&d0WzwXXfhPAIa)!=n^-pS!X z^i0Zr8~uTMli`Yl$*elF$okV9X1WwOgsi})+b#h2L~l+7P+TI`??q-t9~nI#U!iRyxuG)oz& z`qFv1_pa*3!zMpza;6Cl;t;NzK}^OFffiaMXZa|V4sCPT1N#!ldL(93QQFr zqyoh~P=cju5GPhnUZrO*hD9b+gNCZ1MW(}=fN>%(Rbbf}bz=P~DAAg=LWpm5X|^7{ zmPjp*g=WQn6TKN@6`w*TClRwTM)t(Wj5>iWgV8o4vtVQ|7}>2#cz8k#6(h+aMsf>Z zufLZM3r1f2wH7V)`#&RTt{%RBk48vek9x2EC35aHjlNDpr7?{w_g}2DS=tr_FALLdBoti)Mz8y31vunA0_wy!cptcKu

xS>H2aO@|#`J}Y)6m8L_ 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 hx4CG_WA3|fnSiSt&& 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

0y{LQo`=j7-0(eRU9=fDyINJ!HRE@qQ(UV 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%0D8#+88Lt~IVRZZd8$ZU+Q+mvOgo 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 diff --git a/lib/build/main.wasm b/lib/build/main.wasm new file mode 100755 index 0000000000000000000000000000000000000000..efa62a1bcaa0622bdd3af865b3731a8bf12b156e GIT binary patch literal 1691 zcmb7E&2Ah;5U#53`C0dFwjJB?-v;%J_pnGDl8eJ32e**}0>l9xV7yt6lbu=bIy2)~ zxp-^|A&wl7xCDsaBFTCu-?VG z8DLk`CpDhzg0pJp^mu9vc|A8Nk~2Ah_Qk#9VL499>F}_8KC6<$B7Hedj~|Bnd&y`r zD^tM#$T%*>RSLnsWCV;+rfCkoxZjhAo)AbxAOYRL4FDm8eoK0Ih*Ek!;whbyzbtFC zr>9c!1UH7@C%WSwqzAL&6~TOxF!h6EG@MM5Q8g<{5IRZHqL|K-$!s*N#^gM&>cwiv|s4k#B_6StKn*0c~AGHC11FQZZ!$=|!B!0yn3X|3mRm~HY}+P0Ov z&SL2bz=XMT`v!9+=0);?hi3xQ%H!ZB6QzuA>rXqVOe4ofuBRT`O>1r|?*9Srq76mJ zoGnD`v(RL1!y~~8xg6H6aGM5}o^T7~n94k2TwzVdnxcAy=rqxeb_P=t){wCuxn?NZhi!|?`>-9iU^c6^!ym)|zn*Jn~I`^%YB;l-k@e6YXqdI?xl z=rG%^(p|%x!PXo!&_~AEKy??~%hVSZY&WxqFZ!ec*nkbnU0k?<)E|VRzCwzSwk*^6 z^-S_XURrvY8@=%V@XpVcUN%@XA>Cn#V&D?N<&isV2Kmy$XRbTliiqo-YtaooCm~!{ z8*-Nh^cf9O6y`c@@3^%e^wzfcoMjzWzk!^Ej@x(NqH%7eKHs5_~r0($>=xv+t&-J|V&eZ~=7(6%VT&`4;Qa>ZV l=Um+so&s@BiBfe*>M>AxQuL literal 0 HcmV?d00001 diff --git a/lib/tools/build.sh b/lib/tools/build.sh old mode 100644 new mode 100755 index f5769a5..df16e0c --- a/lib/tools/build.sh +++ b/lib/tools/build.sh @@ -1,6 +1,6 @@ -emcc ../wrapper/main.c -I /usr/local/include/ -o ../build/main.o #-g4 +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 \ +emcc ../build/main.a /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","intArrayFromString"]' -s EXPORTED_FUNCTIONS=@$PWD/lib.exports -s ERROR_ON_UNDEFINED_SYMBOLS=0 diff --git a/lib/tools/docker/Dockerfile b/lib/tools/docker/Dockerfile index fc92448..5f29a8e 100644 --- a/lib/tools/docker/Dockerfile +++ b/lib/tools/docker/Dockerfile @@ -1,30 +1,38 @@ -FROM trzeci/emscripten:1.39.4-ubuntu +FROM emscripten/emsdk WORKDIR /opt ADD https://github.com/libarchive/libarchive/releases/download/v3.6.2/libarchive-3.6.2.zip /opt -ADD https://github.com/madler/zlib/archive/v1.2.11.zip /opt +ADD https://github.com/madler/zlib/releases/download/v1.3/zlib13.zip /opt ADD https://netix.dl.sourceforge.net/project/lzmautils/xz-5.2.4.tar.gz /opt -ADD https://netix.dl.sourceforge.net/project/bzip2/bzip2-1.0.6.tar.gz /opt +ADD https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz /opt ADD https://www.openssl.org/source/openssl-1.0.2s.tar.gz /opt RUN unzip /opt/libarchive-3.6.2.zip && rm /opt/libarchive-3.6.2.zip && \ - unzip /opt/v1.2.11.zip && rm /opt/v1.2.11.zip && \ + unzip /opt/zlib13.zip && rm /opt/zlib13.zip && \ tar xf /opt/xz-5.2.4.tar.gz && rm /opt/xz-5.2.4.tar.gz && \ - tar xf /opt/bzip2-1.0.6.tar.gz && rm /opt/bzip2-1.0.6.tar.gz && \ + tar xf /opt/bzip2-1.0.8.tar.gz && rm /opt/bzip2-1.0.8.tar.gz && \ tar xf /opt/openssl-1.0.2s.tar.gz && rm /opt/openssl-1.0.2s.tar.gz RUN apt-get update && \ apt-get install -y locate vim file -ENV CPPFLAGS "-I/usr/local/include/ -I/opt/zlib-1.2.11 -I/opt/bzip2-1.0.6 -I/opt/openssl-1.0.2s/include -I/opt/openssl-1.0.2s/test" -ENV LDLIBS "-lz -lssl -lcrypto" +ENV CPPFLAGS "-I/usr/local/include/ -I/opt/zlib-1.3 -I/opt/bzip2-1.0.8 -I/opt/openssl-1.0.2s/include -I/opt/openssl-1.0.2s/test" +ENV LDLIBS "-lz -lssl -lcrypto -lbz2" ENV LDFLAGS "-L/usr/local/lib" +# Compile zlib to LLVM +WORKDIR /opt/zlib-1.3 +RUN cd /opt/zlib-1.3 && emconfigure ./configure --static && emmake make && emmake make install + +# Compile bzip2 to LLVM +WORKDIR /opt/bzip2-1.0.8 +RUN cd /opt/bzip2-1.0.8 && emmake make && emmake make install + # compile openSSL to LLVM WORKDIR /opt/openssl-1.0.2s -RUN cd /opt/openssl-1.0.2s && emmake bash -c "./Configure -no-asm -no-apps no-ssl2 no-ssl3 no-hw no-deprecated shared no-dso linux-generic32" && \ - sed -i 's/CC= $(CROSS_COMPILE)\/emsdk_portable\/emscripten\/tag-1.39.4\/emcc/CC= $(CROSS_COMPILE)cc/' Makefile && \ +RUN cd /opt/openssl-1.0.2s && emconfigure /usr/bin/perl ./Configure -no-asm -no-apps no-ssl2 no-ssl3 no-hw no-deprecated shared no-dso linux-generic32 && \ + sed -i 's/CC= $(CROSS_COMPILE)\/emsdk\/upstream\/emscripten\/emcc/CC= $(CROSS_COMPILE)cc/' Makefile && \ sed -i 's/-Bsymbolic/ /' Makefile.shared && \ emmake make && \ cd /usr/local/lib && \ @@ -37,6 +45,7 @@ RUN cd /opt/xz-5.2.4 && emconfigure ./configure --disable-assembler --enable-thr emmake make 2>&1 | tee make.out && emmake make install # compile libarchive to LLVM +ENV EMCC_CFLAGS "-s USE_BZIP2=1" WORKDIR /opt/libarchive-3.6.2 RUN cd /opt/libarchive-3.6.2 && emconfigure ./configure --enable-static --disable-shared --enable-bsdtar=static --enable-bsdcat=static \ --enable-bsdcpio=static --enable-posix-regex-lib=libc \ @@ -44,6 +53,7 @@ RUN cd /opt/libarchive-3.6.2 && emconfigure ./configure --enable-static --disabl --without-cng --without-lz4 \ --without-xml2 --without-expat 2>&1 | tee conf.out && \ emmake make 2>&1 | tee make.out && emmake make install +ENV EMCC_CFLAGS "" #--without-openssl #--without-bz2lib --without-iconv --without-libiconv-prefix --without-lzma diff --git a/lib/tools/wasm_gen.sh b/lib/tools/wasm_gen.sh old mode 100644 new mode 100755 diff --git a/main.js b/main.js index 40e5304..151dbc6 100644 --- a/main.js +++ b/main.js @@ -1,2 +1 @@ - -export { Archive } from './src/libarchive.js'; \ No newline at end of file +export { Archive } from "./src/libarchive.js"; diff --git a/package-lock.json b/package-lock.json index e2fea6e..4a38ba3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,7362 @@ { "name": "libarchive.js", "version": "1.3.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "libarchive.js", + "version": "1.3.0", + "license": "MIT", + "devDependencies": { + "eslint": "^6.8.0", + "jest": "^24.9.0", + "prettier": "3.1.1", + "puppeteer": "^1.20.0", + "rollup": "^1.31.1", + "rollup-plugin-copy-assets": "^1.0.0", + "rollup-plugin-terser": "^4.0.4", + "static-server": "^2.2.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.0.0" + } + }, + "node_modules/@babel/core": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", + "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.4", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.8.3" + } + }, + "node_modules/@babel/core/node_modules/@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz", + "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.8.3" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.8.3" + } + }, + "node_modules/@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" + } + }, + "node_modules/@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", + "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.8.3" + } + }, + "node_modules/@babel/template/node_modules/@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", + "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.4", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.8.3" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@cnakazawa/watch/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/core/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/core/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/source-map/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "dependencies": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/transform/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.4.tgz", + "integrity": "sha512-c/5MuRz5HM4aizqL5ViYfW4iEnmfPcfbH4Xa6GgLT21dMc1NGeNnuS6egHheOmP+kCJ9CAzC4pv4SDCWTnRkbg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/estree": { + "version": "0.0.42", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.42.tgz", + "integrity": "sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==", + "dev": true + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "11.11.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.3.tgz", + "integrity": "sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", + "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "node_modules/acorn": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "dependencies": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "dependencies": { + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/espree": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "dev": true, + "dependencies": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", + "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "dependencies": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "bin": { + "extract-zip": "cli.js" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-size": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/file-size/-/file-size-0.0.5.tgz", + "integrity": "sha1-BX1Dw6Ptc12j+Q1gUqs4Dx5tXjs=", + "dev": true + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.1.3", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "3.2.6", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "inBundle": true, + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.7", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.6", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.3", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.4", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.9.0", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.3.3", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.1.2", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.4.0", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.14.0", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", + "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.1.1", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.7", + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.1", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.7.1", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.7.1", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "inBundle": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.13", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.1.1", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/inquirer": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", + "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "dependencies": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "dependencies": { + "detect-newline": "^2.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 6" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/jest-haste-map/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "dependencies": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", + "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runner/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runtime/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-util/node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "node_modules/jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-watcher/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-worker/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "dependencies": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "deprecated": "use String.prototype.padStart()", + "dev": true + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "dev": true, + "dependencies": { + "mime-db": "1.43.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "dependencies": { + "p-reduce": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prompts": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz", + "integrity": "sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, + "node_modules/psl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", + "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", + "deprecated": "< 21.3.7 is no longer supported", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/puppeteer/node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "dependencies": { + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.31.1.tgz", + "integrity": "sha512-2JREN1YdrS/kpPzEd33ZjtuNbOuBC3ePfuZBdKEybvqcEcszW1ckyVqzcEiEe0nE8sqHK+pbJg+PsAgRJ8+1dg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + }, + "bin": { + "rollup": "dist/bin/rollup" + } + }, + "node_modules/rollup-plugin-copy-assets": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-1.1.0.tgz", + "integrity": "sha512-hfBZns2x15XC6N97jhGUiYoNQp1jZ1/mFrM3sbf3GIqGaDEcFPe7+J1H50HIMLG4nVM8YxTJOhMsrXnD4E+2NQ==", + "dev": true, + "dependencies": { + "fs-extra": "^5.0.0" + }, + "peerDependencies": { + "rollup": ">=0.67.0" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz", + "integrity": "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "jest-worker": "^24.0.0", + "serialize-javascript": "^1.6.1", + "terser": "^3.14.1" + }, + "peerDependencies": { + "rollup": ">=0.66.0 <2" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "24.4.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.4.0.tgz", + "integrity": "sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^1.0.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "dependencies": { + "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", + "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-server": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/static-server/-/static-server-2.2.1.tgz", + "integrity": "sha512-j5eeW6higxYNmXMIT8iHjsdiViTpQDthg7o+SHsRtqdbxscdHqBHXwrXjHC8hL3F0Tsu34ApUpDkwzMBPBsrLw==", + "dev": true, + "dependencies": { + "chalk": "^0.5.1", + "commander": "^2.3.0", + "file-size": "0.0.5", + "mime": "^1.2.11", + "opn": "^5.2.0" + }, + "bin": { + "static-server": "bin/static-server.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/static-server/node_modules/ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-server/node_modules/ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-server/node_modules/chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-server/node_modules/has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "dependencies": { + "ansi-regex": "^0.2.0" + }, + "bin": { + "has-ansi": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-server/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/static-server/node_modules/strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "dependencies": { + "ansi-regex": "^0.2.1" + }, + "bin": { + "strip-ansi": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-server/node_modules/supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true, + "bin": { + "supports-color": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", + "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^0.1.2" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "dependencies": { + "fd-slicer": "~1.0.1" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.0.0", @@ -600,7 +7954,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "6.2.0", @@ -2012,24 +9367,28 @@ "dependencies": { "abbrev": { "version": "1.1.1", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "bundled": true, "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "bundled": true, "dev": true, "optional": true }, "aproba": { "version": "1.2.0", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "bundled": true, "dev": true, "optional": true, @@ -2040,12 +9399,14 @@ }, "balanced-match": { "version": "1.0.0", + "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", "bundled": true, "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "bundled": true, "dev": true, "optional": true, @@ -2056,36 +9417,42 @@ }, "chownr": { "version": "1.1.3", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "bundled": true, "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "bundled": true, "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "bundled": true, "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "bundled": true, "dev": true, "optional": true }, "debug": { "version": "3.2.6", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "bundled": true, "dev": true, "optional": true, @@ -2095,24 +9462,28 @@ }, "deep-extend": { "version": "0.6.0", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "bundled": true, "dev": true, "optional": true }, "delegates": { "version": "1.0.0", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "bundled": true, "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "bundled": true, "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.7", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "bundled": true, "dev": true, "optional": true, @@ -2122,12 +9493,14 @@ }, "fs.realpath": { "version": "1.0.0", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "bundled": true, "dev": true, "optional": true }, "gauge": { "version": "2.7.4", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", "bundled": true, "dev": true, "optional": true, @@ -2144,6 +9517,7 @@ }, "glob": { "version": "7.1.6", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "bundled": true, "dev": true, "optional": true, @@ -2158,12 +9532,14 @@ }, "has-unicode": { "version": "2.0.1", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "bundled": true, "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "bundled": true, "dev": true, "optional": true, @@ -2173,6 +9549,7 @@ }, "ignore-walk": { "version": "3.0.3", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "bundled": true, "dev": true, "optional": true, @@ -2182,6 +9559,7 @@ }, "inflight": { "version": "1.0.6", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "bundled": true, "dev": true, "optional": true, @@ -2192,18 +9570,21 @@ }, "inherits": { "version": "2.0.4", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "bundled": true, "dev": true, "optional": true }, "ini": { "version": "1.3.5", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "bundled": true, "dev": true, "optional": true, @@ -2213,12 +9594,14 @@ }, "isarray": { "version": "1.0.0", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "bundled": true, "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "bundled": true, "dev": true, "optional": true, @@ -2228,12 +9611,14 @@ }, "minimist": { "version": "0.0.8", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", "bundled": true, "dev": true, "optional": true }, "minipass": { "version": "2.9.0", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "bundled": true, "dev": true, "optional": true, @@ -2244,6 +9629,7 @@ }, "minizlib": { "version": "1.3.3", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "bundled": true, "dev": true, "optional": true, @@ -2253,6 +9639,7 @@ }, "mkdirp": { "version": "0.5.1", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", "bundled": true, "dev": true, "optional": true, @@ -2262,12 +9649,14 @@ }, "ms": { "version": "2.1.2", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "bundled": true, "dev": true, "optional": true }, "needle": { "version": "2.4.0", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", "bundled": true, "dev": true, "optional": true, @@ -2279,6 +9668,7 @@ }, "node-pre-gyp": { "version": "0.14.0", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "bundled": true, "dev": true, "optional": true, @@ -2297,6 +9687,7 @@ }, "nopt": { "version": "4.0.1", + "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==", "bundled": true, "dev": true, "optional": true, @@ -2307,6 +9698,7 @@ }, "npm-bundled": { "version": "1.1.1", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "bundled": true, "dev": true, "optional": true, @@ -2316,12 +9708,14 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.7", + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", "bundled": true, "dev": true, "optional": true, @@ -2332,6 +9726,7 @@ }, "npmlog": { "version": "4.1.2", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "bundled": true, "dev": true, "optional": true, @@ -2344,18 +9739,21 @@ }, "number-is-nan": { "version": "1.0.1", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "bundled": true, "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "bundled": true, "dev": true, "optional": true, @@ -2365,18 +9763,21 @@ }, "os-homedir": { "version": "1.0.2", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.5", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "bundled": true, "dev": true, "optional": true, @@ -2387,18 +9788,21 @@ }, "path-is-absolute": { "version": "1.0.1", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.1", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.8", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "bundled": true, "dev": true, "optional": true, @@ -2411,6 +9815,7 @@ "dependencies": { "minimist": { "version": "1.2.0", + "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", "bundled": true, "dev": true, "optional": true @@ -2419,6 +9824,7 @@ }, "readable-stream": { "version": "2.3.6", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "bundled": true, "dev": true, "optional": true, @@ -2434,6 +9840,7 @@ }, "rimraf": { "version": "2.7.1", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "bundled": true, "dev": true, "optional": true, @@ -2443,62 +9850,71 @@ }, "safe-buffer": { "version": "5.1.2", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "bundled": true, "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "bundled": true, "dev": true, "optional": true }, "sax": { "version": "1.2.4", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "bundled": true, "dev": true, "optional": true }, "semver": { "version": "5.7.1", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", + "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", "bundled": true, "dev": true, "optional": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "bundled": true, "dev": true, "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "safe-buffer": "~5.1.0" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { "version": "3.0.1", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "bundled": true, "dev": true, "optional": true, @@ -2508,12 +9924,14 @@ }, "strip-json-comments": { "version": "2.0.1", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "bundled": true, "dev": true, "optional": true }, "tar": { "version": "4.4.13", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "bundled": true, "dev": true, "optional": true, @@ -2529,12 +9947,14 @@ }, "util-deprecate": { "version": "1.0.2", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "bundled": true, "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "bundled": true, "dev": true, "optional": true, @@ -2544,12 +9964,14 @@ }, "wrappy": { "version": "1.0.2", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "bundled": true, "dev": true, "optional": true }, "yallist": { "version": "3.1.1", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "bundled": true, "dev": true, "optional": true @@ -3400,7 +10822,8 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "24.9.0", @@ -4427,6 +11850,12 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "dev": true + }, "pretty-format": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", @@ -5297,6 +12726,15 @@ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -5366,15 +12804,6 @@ "function-bind": "^1.1.1" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", diff --git a/package.json b/package.json index d2f00df..b2ab05d 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "scripts": { "build": "rollup -c --environment BUILD:production", "build-dev": "rollup -c --environment BUILD:development", - "test": "jest --runInBand" + "test": "jest --runInBand", + "prettier:fix": "npx prettier . --write" }, "keywords": [ "archive", @@ -28,6 +29,7 @@ "devDependencies": { "eslint": "^6.8.0", "jest": "^24.9.0", + "prettier": "3.1.1", "puppeteer": "^1.20.0", "rollup": "^1.31.1", "rollup-plugin-copy-assets": "^1.0.0", diff --git a/rollup.config.js b/rollup.config.js index 4344013..88b0ac2 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,19 +1,17 @@ -import copy from 'rollup-plugin-copy-assets'; +import copy from "rollup-plugin-copy-assets"; import { terser } from "rollup-plugin-terser"; export default { - input: 'src/webworker/worker.js', - output: [ - { - file: 'dist/worker-bundle.js', - format: 'iife' - } - ], - plugins: [ - copy({ - assets: [ - './src/webworker/wasm-gen' - ], - }), - ].concat( process.env.BUILD === 'production' ? [terser()] : [] ), -}; \ No newline at end of file + input: "src/webworker/worker.js", + output: [ + { + file: "dist/worker-bundle.js", + format: "iife", + }, + ], + plugins: [ + copy({ + assets: ["./src/webworker/wasm-gen"], + }), + ].concat(process.env.BUILD === "production" ? [terser()] : []), +}; diff --git a/src/compressed-file.js b/src/compressed-file.js index cbb51da..a9a2ead 100644 --- a/src/compressed-file.js +++ b/src/compressed-file.js @@ -1,35 +1,32 @@ - /** * Represents compressed file before extraction */ -export class CompressedFile{ - - constructor(name,size,path,archiveRef){ - this._name = name; - this._size = size; - this._path = path; - this._archiveRef = archiveRef; - } - - /** - * file name - */ - get name(){ - return this._name; - } - /** - * file size - */ - get size(){ - return this._size; - } +export class CompressedFile { + constructor(name, size, path, archiveRef) { + this._name = name; + this._size = size; + this._path = path; + this._archiveRef = archiveRef; + } - /** - * Extract file from archive - * @returns {Promise} extracted file - */ - extract(){ - return this._archiveRef.extractSingleFile(this._path); - } + /** + * file name + */ + get name() { + return this._name; + } + /** + * file size + */ + get size() { + return this._size; + } -} \ No newline at end of file + /** + * Extract file from archive + * @returns {Promise} extracted file + */ + extract() { + return this._archiveRef.extractSingleFile(this._path); + } +} diff --git a/src/libarchive.js b/src/libarchive.js index d759f6d..7572604 100644 --- a/src/libarchive.js +++ b/src/libarchive.js @@ -1,238 +1,264 @@ import { CompressedFile } from "./compressed-file.js"; +export class Archive { + /** + * Initialize libarchivejs + * @param {Object} options + */ + static init(options = {}) { + Archive._options = { + workerUrl: "../dist/worker-bundle.js", + ...options, + }; + return Archive._options; + } -export class Archive{ - - /** - * Initialize libarchivejs - * @param {Object} options - */ - static init(options = {}){ - Archive._options = { - workerUrl: '../dist/worker-bundle.js', - ...options - }; - return Archive._options; - } + /** + * Creates new archive instance from browser native File object + * @param {File} file + * @param {object} options + * @returns {Archive} + */ + static open(file, options = null) { + options = + options || + Archive._options || + (Archive.init() && + console.warn( + "Automatically initializing using options: ", + Archive._options, + )); + const arch = new Archive(file, options); + return arch.open(); + } - /** - * Creates new archive instance from browser native File object - * @param {File} file - * @param {object} options - * @returns {Archive} - */ - static open(file, options = null){ - options = options || - Archive._options || - Archive.init() && console.warn('Automatically initializing using options: ', Archive._options); - const arch = new Archive(file,options); - return arch.open(); - } + /** + * Create new archive + * @param {File} file + * @param {Object} options + */ + constructor(file, options) { + this._worker = new Worker(options.workerUrl); + this._worker.addEventListener("message", this._workerMsg.bind(this)); + this._callbacks = []; + this._content = {}; + this._processed = 0; + this._file = file; + } - /** - * Create new archive - * @param {File} file - * @param {Object} options - */ - constructor(file,options){ - this._worker = new Worker(options.workerUrl); - this._worker.addEventListener('message', this._workerMsg.bind(this)); - this._callbacks = []; - this._content = {}; - this._processed = 0; - this._file = file; - } - - /** - * Prepares file for reading - * @returns {Promise} archive instance - */ - async open(){ - await this._postMessage({type: 'HELLO'},(resolve,reject,msg) => { - if( msg.type === 'READY' ){ - resolve(); - } - }); - return await this._postMessage({type: 'OPEN', file: this._file}, (resolve,reject,msg) => { - if(msg.type === 'OPENED'){ - resolve(this); - } - }); - } - - /** - * Terminate worker to free up memory - */ - close() { - this._worker.terminate(); - this._worker = null; - } + /** + * Prepares file for reading + * @returns {Promise} archive instance + */ + async open() { + await this._postMessage({ type: "HELLO" }, (resolve, reject, msg) => { + if (msg.type === "READY") { + resolve(); + } + }); + return await this._postMessage( + { type: "OPEN", file: this._file }, + (resolve, reject, msg) => { + if (msg.type === "OPENED") { + resolve(this); + } + }, + ); + } - /** - * detect if archive has encrypted data - * @returns {boolean|null} null if could not be determined - */ - hasEncryptedData(){ - return this._postMessage({type: 'CHECK_ENCRYPTION'}, - (resolve,reject,msg) => { - if( msg.type === 'ENCRYPTION_STATUS' ){ - resolve(msg.status); - } - } - ); - } + /** + * Terminate worker to free up memory + */ + close() { + this._worker.terminate(); + this._worker = null; + } - /** - * set password to be used when reading archive - */ - usePassword(archivePassword){ - return this._postMessage({type: 'SET_PASSPHRASE', passphrase: archivePassword}, - (resolve,reject,msg) => { - if( msg.type === 'PASSPHRASE_STATUS' ){ - resolve(msg.status); - } - } - ); - } + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + hasEncryptedData() { + return this._postMessage( + { type: "CHECK_ENCRYPTION" }, + (resolve, reject, msg) => { + if (msg.type === "ENCRYPTION_STATUS") { + resolve(msg.status); + } + }, + ); + } - /** - * Returns object containing directory structure and file information - * @returns {Promise} - */ - getFilesObject(){ - if( this._processed > 0 ){ - return Promise.resolve().then( () => this._content ); + /** + * set password to be used when reading archive + */ + usePassword(archivePassword) { + return this._postMessage( + { type: "SET_PASSPHRASE", passphrase: archivePassword }, + (resolve, reject, msg) => { + if (msg.type === "PASSPHRASE_STATUS") { + resolve(msg.status); } - return this._postMessage({type: 'LIST_FILES'}, (resolve,reject,msg) => { - if( msg.type === 'ENTRY' ){ - const entry = msg.entry; - const [ target, prop ] = this._getProp(this._content,entry.path); - if( entry.type === 'FILE' ){ - target[prop] = new CompressedFile(entry.fileName,entry.size,entry.path,this); - } - return true; - }else if( msg.type === 'END' ){ - this._processed = 1; - resolve(this._cloneContent(this._content)); - } - }); - } + }, + ); + } - getFilesArray(){ - return this.getFilesObject().then( (obj) => { - return this._objectToArray(obj); - }); + /** + * Returns object containing directory structure and file information + * @returns {Promise} + */ + getFilesObject() { + if (this._processed > 0) { + return Promise.resolve().then(() => this._content); } - - extractSingleFile(target){ - // Prevent extraction if worker already terminated - if( this._worker === null ){ - throw new Error("Archive already closed"); + return this._postMessage({ type: "LIST_FILES" }, (resolve, reject, msg) => { + if (msg.type === "ENTRY") { + const entry = msg.entry; + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new CompressedFile( + entry.fileName, + entry.size, + entry.path, + this, + ); } + return true; + } else if (msg.type === "END") { + this._processed = 1; + resolve(this._cloneContent(this._content)); + } + }); + } - return this._postMessage({type: 'EXTRACT_SINGLE_FILE', target: target}, - (resolve,reject,msg) => { - if( msg.type === 'FILE' ){ - const file = new File([msg.entry.fileData], msg.entry.fileName, { - type: 'application/octet-stream' - }); - resolve(file); - } - } - ); - } + getFilesArray() { + return this.getFilesObject().then((obj) => { + return this._objectToArray(obj); + }); + } - /** - * Returns object containing directory structure and extracted File objects - * @param {Function} extractCallback - * - */ - extractFiles(extractCallback){ - if( this._processed > 1 ){ - return Promise.resolve().then( () => this._content ); - } - return this._postMessage({type: 'EXTRACT_FILES'}, (resolve,reject,msg) => { - if( msg.type === 'ENTRY' ){ - const [ target, prop ] = this._getProp(this._content,msg.entry.path); - if( msg.entry.type === 'FILE' ){ - target[prop] = new File([msg.entry.fileData], msg.entry.fileName, { - type: 'application/octet-stream' - }); - if (extractCallback !== undefined) { - setTimeout(extractCallback.bind(null,{ - file: target[prop], - path: msg.entry.path, - })); - } - } - return true; - }else if( msg.type === 'END' ){ - this._processed = 2; - this._worker.terminate(); - resolve(this._cloneContent(this._content)); - } - }); + extractSingleFile(target) { + // Prevent extraction if worker already terminated + if (this._worker === null) { + throw new Error("Archive already closed"); } - _cloneContent(obj){ - if( obj instanceof File || obj instanceof CompressedFile || obj === null ) return obj; - const o = {}; - for( const prop of Object.keys(obj) ){ - o[prop] = this._cloneContent(obj[prop]); + return this._postMessage( + { type: "EXTRACT_SINGLE_FILE", target: target }, + (resolve, reject, msg) => { + if (msg.type === "FILE") { + const file = new File([msg.entry.fileData], msg.entry.fileName, { + type: "application/octet-stream", + }); + resolve(file); } - return o; - } + }, + ); + } - _objectToArray(obj,path = ''){ - const files = []; - for( const key of Object.keys(obj) ){ - if( obj[key] instanceof File || obj[key] instanceof CompressedFile || obj[key] === null ){ - files.push({ - file: obj[key] || key, - path: path - }); - }else{ - files.push( ...this._objectToArray(obj[key],`${path}${key}/`) ); + /** + * Returns object containing directory structure and extracted File objects + * @param {Function} extractCallback + * + */ + extractFiles(extractCallback) { + if (this._processed > 1) { + return Promise.resolve().then(() => this._content); + } + return this._postMessage( + { type: "EXTRACT_FILES" }, + (resolve, reject, msg) => { + if (msg.type === "ENTRY") { + const [target, prop] = this._getProp(this._content, msg.entry.path); + if (msg.entry.type === "FILE") { + target[prop] = new File([msg.entry.fileData], msg.entry.fileName, { + type: "application/octet-stream", + }); + if (extractCallback !== undefined) { + setTimeout( + extractCallback.bind(null, { + file: target[prop], + path: msg.entry.path, + }), + ); } + } + return true; + } else if (msg.type === "END") { + this._processed = 2; + this._worker.terminate(); + resolve(this._cloneContent(this._content)); } - return files; - } + }, + ); + } - _getProp(obj,path){ - const parts = path.split('/'); - if( parts[parts.length -1] === '' ) parts.pop(); - let cur = obj, prev = null; - for( const part of parts ){ - cur[part] = cur[part] || {}; - prev = cur; - cur = cur[part]; - } - return [ prev, parts[parts.length-1] ]; + _cloneContent(obj) { + if (obj instanceof File || obj instanceof CompressedFile || obj === null) + return obj; + const o = {}; + for (const prop of Object.keys(obj)) { + o[prop] = this._cloneContent(obj[prop]); } + return o; + } - _postMessage(msg,callback){ - this._worker.postMessage(msg); - return new Promise((resolve,reject) => { - this._callbacks.push( this._msgHandler.bind(this,callback,resolve,reject) ); + _objectToArray(obj, path = "") { + const files = []; + for (const key of Object.keys(obj)) { + if ( + obj[key] instanceof File || + obj[key] instanceof CompressedFile || + obj[key] === null + ) { + files.push({ + file: obj[key] || key, + path: path, }); + } else { + files.push(...this._objectToArray(obj[key], `${path}${key}/`)); + } } + return files; + } - _msgHandler(callback,resolve,reject,msg){ - if( msg.type === 'BUSY' ){ - reject('worker is busy'); - }else if( msg.type === 'ERROR' ){ - reject(msg.error); - }else{ - return callback(resolve,reject,msg); - } + _getProp(obj, path) { + const parts = path.split("/"); + if (parts[parts.length - 1] === "") parts.pop(); + let cur = obj, + prev = null; + for (const part of parts) { + cur[part] = cur[part] || {}; + prev = cur; + cur = cur[part]; } + return [prev, parts[parts.length - 1]]; + } - _workerMsg({data: msg}){ - const callback = this._callbacks[this._callbacks.length -1]; - const next = callback(msg); - if( !next ){ - this._callbacks.pop(); - } + _postMessage(msg, callback) { + this._worker.postMessage(msg); + return new Promise((resolve, reject) => { + this._callbacks.push( + this._msgHandler.bind(this, callback, resolve, reject), + ); + }); + } + + _msgHandler(callback, resolve, reject, msg) { + if (msg.type === "BUSY") { + reject("worker is busy"); + } else if (msg.type === "ERROR") { + reject(msg.error); + } else { + return callback(resolve, reject, msg); } + } + _workerMsg({ data: msg }) { + const callback = this._callbacks[this._callbacks.length - 1]; + const next = callback(msg); + if (!next) { + this._callbacks.pop(); + } + } } diff --git a/src/webworker/archive-reader.js b/src/webworker/archive-reader.js index 486c639..9817ffd 100644 --- a/src/webworker/archive-reader.js +++ b/src/webworker/archive-reader.js @@ -1,136 +1,146 @@ - const TYPE_MAP = { - 32768: 'FILE', - 16384: 'DIR', - 40960: 'SYMBOLIC_LINK', - 49152: 'SOCKET', - 8192: 'CHARACTER_DEVICE', - 24576: 'BLOCK_DEVICE', - 4096: 'NAMED_PIPE', + 32768: "FILE", + 16384: "DIR", + 40960: "SYMBOLIC_LINK", + 49152: "SOCKET", + 8192: "CHARACTER_DEVICE", + 24576: "BLOCK_DEVICE", + 4096: "NAMED_PIPE", }; -export class ArchiveReader{ - /** - * archive reader - * @param {WasmModule} wasmModule emscripten module - */ - constructor(wasmModule){ - this._wasmModule = wasmModule; - this._runCode = wasmModule.runCode; - this._file = null; - this._passphrase = null; - } +export class ArchiveReader { + /** + * archive reader + * @param {WasmModule} wasmModule emscripten module + */ + constructor(wasmModule) { + this._wasmModule = wasmModule; + this._runCode = wasmModule.runCode; + this._file = null; + this._passphrase = null; + } - /** - * open archive, needs to closed manually - * @param {File} file - */ - open(file){ - if( this._file !== null ){ - console.warn('Closing previous file'); - this.close(); - } - const { promise, resolve, reject } = this._promiseHandles(); - this._file = file; - const reader = new FileReader(); - reader.onload = () => this._loadFile(reader.result,resolve,reject); - reader.readAsArrayBuffer(file); - return promise; + /** + * open archive, needs to closed manually + * @param {File} file + */ + open(file) { + if (this._file !== null) { + console.warn("Closing previous file"); + this.close(); } + const { promise, resolve, reject } = this._promiseHandles(); + this._file = file; + const reader = new FileReader(); + reader.onload = () => this._loadFile(reader.result, resolve, reject); + reader.readAsArrayBuffer(file); + return promise; + } - /** - * close archive - */ - close(){ - this._runCode.closeArchive(this._archive); - this._wasmModule._free(this._filePtr); - this._file = null; - this._filePtr = null; - this._archive = null; - } + /** + * close archive + */ + close() { + this._runCode.closeArchive(this._archive); + this._wasmModule._free(this._filePtr); + this._file = null; + this._filePtr = null; + this._archive = null; + } - /** - * detect if archive has encrypted data - * @returns {boolean|null} null if could not be determined - */ - hasEncryptedData(){ - this._archive = this._runCode.openArchive( this._filePtr, this._fileLength, this._passphrase ); - this._runCode.getNextEntry(this._archive); - const status = this._runCode.hasEncryptedEntries(this._archive); - if( status === 0 ){ - return false; - } else if( status > 0 ){ - return true; - } else { - return null; - } + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + hasEncryptedData() { + this._archive = this._runCode.openArchive( + this._filePtr, + this._fileLength, + this._passphrase, + ); + this._runCode.getNextEntry(this._archive); + const status = this._runCode.hasEncryptedEntries(this._archive); + if (status === 0) { + return false; + } else if (status > 0) { + return true; + } else { + return null; } + } - /** - * set passphrase to be used with archive - * @param {*} passphrase - */ - setPassphrase(passphrase){ - this._passphrase = passphrase; - } + /** + * set passphrase to be used with archive + * @param {*} passphrase + */ + setPassphrase(passphrase) { + this._passphrase = passphrase; + } - /** - * get archive entries - * @param {boolean} skipExtraction - * @param {string} except don't skip this entry - */ - *entries(skipExtraction = false, except = null){ - this._archive = this._runCode.openArchive( this._filePtr, this._fileLength, this._passphrase ); - let entry; - while( true ){ - entry = this._runCode.getNextEntry(this._archive); - if( entry === 0 ) break; + /** + * get archive entries + * @param {boolean} skipExtraction + * @param {string} except don't skip this entry + */ + *entries(skipExtraction = false, except = null) { + this._archive = this._runCode.openArchive( + this._filePtr, + this._fileLength, + this._passphrase, + ); + let entry; + while (true) { + entry = this._runCode.getNextEntry(this._archive); + if (entry === 0) break; - const entryData = { - size: this._runCode.getEntrySize(entry), - path: this._runCode.getEntryName(entry), - type: TYPE_MAP[this._runCode.getEntryType(entry)], - ref: entry, - }; + const entryData = { + size: this._runCode.getEntrySize(entry), + path: this._runCode.getEntryName(entry), + type: TYPE_MAP[this._runCode.getEntryType(entry)], + ref: entry, + }; - if( entryData.type === 'FILE' ){ - let fileName = entryData.path.split('/'); - entryData.fileName = fileName[fileName.length - 1]; - } + if (entryData.type === "FILE") { + let fileName = entryData.path.split("/"); + entryData.fileName = fileName[fileName.length - 1]; + } - if( skipExtraction && except !== entryData.path ){ - this._runCode.skipEntry(this._archive); - }else{ - const ptr = this._runCode.getFileData(this._archive,entryData.size); - if( ptr < 0 ){ - throw new Error(this._runCode.getError(this._archive)); - } - entryData.fileData = this._wasmModule.HEAP8.slice(ptr,ptr+entryData.size); - this._wasmModule._free(ptr); - } - yield entryData; + if (skipExtraction && except !== entryData.path) { + this._runCode.skipEntry(this._archive); + } else { + const ptr = this._runCode.getFileData(this._archive, entryData.size); + if (ptr < 0) { + throw new Error(this._runCode.getError(this._archive)); } + entryData.fileData = this._wasmModule.HEAP8.slice( + ptr, + ptr + entryData.size, + ); + this._wasmModule._free(ptr); + } + yield entryData; } + } - _loadFile(fileBuffer,resolve,reject){ - try{ - const array = new Uint8Array(fileBuffer); - this._fileLength = array.length; - this._filePtr = this._runCode.malloc(this._fileLength); - this._wasmModule.HEAP8.set(array, this._filePtr); - resolve(); - }catch(error){ - reject(error); - } + _loadFile(fileBuffer, resolve, reject) { + try { + const array = new Uint8Array(fileBuffer); + this._fileLength = array.length; + this._filePtr = this._runCode.malloc(this._fileLength); + this._wasmModule.HEAP8.set(array, this._filePtr); + resolve(); + } catch (error) { + reject(error); } + } - _promiseHandles(){ - let resolve = null,reject = null; - const promise = new Promise((_resolve,_reject) => { - resolve = _resolve; - reject = _reject; - }); - return { promise, resolve, reject }; - } - -} \ No newline at end of file + _promiseHandles() { + let resolve = null, + reject = null; + const promise = new Promise((_resolve, _reject) => { + resolve = _resolve; + reject = _reject; + }); + return { promise, resolve, reject }; + } +} diff --git a/src/webworker/wasm-gen/libarchive.js b/src/webworker/wasm-gen/libarchive.js index 6adea82..daf9059 100644 --- a/src/webworker/wasm-gen/libarchive.js +++ b/src/webworker/wasm-gen/libarchive.js @@ -1,15 +1,3737 @@ +var libarchive = (() => { + var _scriptDir = import.meta.url; -var libarchive = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - return ( -function(libarchive) { - libarchive = 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["x"]; + updateMemoryViews(); + addOnInit(wasmExports["y"]); + 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 < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (; end >= 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 < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + }, + }; + var UTF8Decoder = + typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined; + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = + ((u0 & 7) << 18) | + (u1 << 12) | + (u2 << 6) | + (heapOrArray[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + return str; + }; + var FS_stdin_getChar_buffer = []; + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 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 < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 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; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }, + default_tty_ops: { + get_char(tty) { + return FS_stdin_getChar(); + }, + put_char(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + fsync(tty) { + if (tty.output && tty.output.length > 0) { + 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 < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> + 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; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length, + ); + }, + mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length, + ); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + }, + }, + }; + var asyncLoad = (url, onload, onerror, noRunDep) => { + 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; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + 1, + }); + current = lookup.node; + if (count++ > 40) { + 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 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; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev(path, mode, dev) { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if ( + FS.isMountpoint(old_node) || + (new_node && FS.isMountpoint(new_node)) + ) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, + rmdir(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link), + ); + }, + stat(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat(path) { + return FS.stat(path, true); + }, + chmod(path, mode, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now(), + }); + }, + lchmod(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod(fd, mode) { + var stream = FS.getStreamChecked(fd); + FS.chmod(stream.node, mode); + }, + chown(path, uid, gid, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown(fd, uid, gid) { + var stream = FS.getStreamChecked(fd); + FS.chown(stream.node, uid, gid); + }, + truncate(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate(fd, len) { + var stream = FS.getStreamChecked(fd); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open(path, flags, mode) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false, + }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, + close(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed(stream) { + return stream.fd === null; + }, + llseek(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer, + offset, + length, + position, + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn, + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap(stream, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync(stream, buffer, offset, length, mmapFlags) { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer, + offset, + length, + mmapFlags, + ); + }, + munmap: (stream) => 0, + ioctl(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile(path, opts = {}) { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile(path, data, opts = {}) { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: () => FS.currentPath, + chdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var 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; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + findObject(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null, + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath(parent, path, canRead, canWrite) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile(parent, name, data, canRead, canWrite, canOwn) { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + }, + createDevice(parent, name, input, output) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open(stream) { + stream.seekable = false; + }, + close(stream) { + if (output?.buffer?.length) { + output(10); + } + }, + read(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.", + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = + function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = + function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && + header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error( + "invalid range (" + + from + + ", " + + to + + ") or no bytes requested!", + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!", + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] == "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out( + "LazyFiles on gzip forces download of the whole file when length is accessed", + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + }, + }, + chunkSize: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + }, + }, + }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function () { + return this.contents.length; + }, + }, + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + 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; i < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + if (bucket.offset - bucket.roffset > 0) { + 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 < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + currentLength += bucket.offset - bucket.roffset; + } + var data = buffer.subarray(offset, offset + length); + if (length <= 0) { + return 0; + } + if (currentLength == 0) { + throw new FS.ErrnoError(6); + } + var toRead = Math.min(currentLength, length); + var totalRead = toRead; + var toRemove = 0; + for (var i = 0; i < pipe.buckets.length; i++) { + var currBucket = pipe.buckets[i]; + var bucketSize = currBucket.offset - currBucket.roffset; + if (toRead <= bucketSize) { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + if (toRead < bucketSize) { + tmpSlice = tmpSlice.subarray(0, toRead); + currBucket.roffset += toRead; + } else { + toRemove++; + } + data.set(tmpSlice); + break; + } else { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + data.set(tmpSlice); + data = data.subarray(tmpSlice.byteLength); + toRead -= tmpSlice.byteLength; + toRemove++; + } + } + if (toRemove && toRemove == pipe.buckets.length) { + toRemove--; + pipe.buckets[toRemove].offset = 0; + pipe.buckets[toRemove].roffset = 0; + } + pipe.buckets.splice(0, toRemove); + return totalRead; + }, + write(stream, buffer, offset, length, position) { + var pipe = stream.node.pipe; + var data = buffer.subarray(offset, offset + length); + var dataLen = data.byteLength; + if (dataLen <= 0) { + return 0; + } + var currBucket = null; + if (pipe.buckets.length == 0) { + currBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: 0, + roffset: 0, + }; + pipe.buckets.push(currBucket); + } else { + currBucket = pipe.buckets[pipe.buckets.length - 1]; + } + assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); + var freeBytesInCurrBuffer = + PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; + if (freeBytesInCurrBuffer >= 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; i < numBuckets; i++) { + var newBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: PIPEFS.BUCKET_BUFFER_SIZE, + roffset: 0, + }; + pipe.buckets.push(newBucket); + newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); + data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength); + } + if (remElements > 0) { + 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 < nfds; i++) { + var pollfd = fds + 8 * i; + var fd = HEAP32[pollfd >> 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; + } + } + 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; + }; + var convertI32PairToI53Checked = (lo, hi) => + (hi + 2097152) >>> 0 < 4194305 - !!lo + ? (lo >>> 0) + hi * 4294967296 + : NaN; + 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 < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[(tzname + 4) >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[(tzname + 4) >> 2] = winterNamePtr; + } + }; + var _abort = () => { + abort(""); + }; + 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 + 0.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 < str.length; ++i) { + HEAP8[buffer++ >> 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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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 < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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 getCFunc = (ident) => { + var func = Module["_" + ident]; + return func; + }; + var writeArrayToMemory = (array, buffer) => { + HEAP8.set(array, buffer); + }; + 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 < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; + }; + var cwrap = (ident, returnType, argTypes, opts) => { + 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, + v: ___syscall_fstat64, + s: ___syscall_lstat64, + t: ___syscall_newfstatat, + w: ___syscall_openat, + r: ___syscall_pipe, + q: ___syscall_poll, + u: ___syscall_stat64, + k: __localtime_js, + l: __mktime_js, + m: __timegm_js, + p: __tzset_js, + b: _abort, + h: _emscripten_memcpy_js, + o: _emscripten_resize_heap, + f: _environ_get, + g: _environ_sizes_get, + e: _exit, + d: _fd_close, + j: _fd_read, + n: _fd_seek, + c: _fd_write, + }; + var wasmExports = createWasm(); + var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["y"])(); + var _get_version = (Module["_get_version"] = () => + (_get_version = Module["_get_version"] = wasmExports["z"])()); + var _archive_open = (Module["_archive_open"] = (a0, a1, a2) => + (_archive_open = Module["_archive_open"] = wasmExports["A"])(a0, a1, a2)); + var _archive_read_add_passphrase = (Module["_archive_read_add_passphrase"] = + (a0, a1) => + (_archive_read_add_passphrase = Module["_archive_read_add_passphrase"] = + wasmExports["B"])(a0, a1)); + var _archive_error_string = (Module["_archive_error_string"] = (a0) => + (_archive_error_string = Module["_archive_error_string"] = + wasmExports["C"])(a0)); + var _get_next_entry = (Module["_get_next_entry"] = (a0) => + (_get_next_entry = Module["_get_next_entry"] = wasmExports["D"])(a0)); + var _get_filedata = (Module["_get_filedata"] = (a0, a1) => + (_get_filedata = Module["_get_filedata"] = wasmExports["E"])(a0, a1)); + var _malloc = (Module["_malloc"] = (a0) => + (_malloc = Module["_malloc"] = wasmExports["F"])(a0)); + var _archive_close = (Module["_archive_close"] = (a0) => + (_archive_close = Module["_archive_close"] = wasmExports["G"])(a0)); + var _archive_entry_filetype = (Module["_archive_entry_filetype"] = (a0) => + (_archive_entry_filetype = Module["_archive_entry_filetype"] = + wasmExports["H"])(a0)); + var _archive_entry_pathname = (Module["_archive_entry_pathname"] = (a0) => + (_archive_entry_pathname = Module["_archive_entry_pathname"] = + wasmExports["I"])(a0)); + var _archive_entry_pathname_utf8 = (Module["_archive_entry_pathname_utf8"] = + (a0) => + (_archive_entry_pathname_utf8 = Module["_archive_entry_pathname_utf8"] = + wasmExports["J"])(a0)); + var _archive_entry_size = (Module["_archive_entry_size"] = (a0) => + (_archive_entry_size = Module["_archive_entry_size"] = wasmExports["K"])( + a0, + )); + var _archive_entry_is_encrypted = (Module["_archive_entry_is_encrypted"] = ( + a0, + ) => + (_archive_entry_is_encrypted = Module["_archive_entry_is_encrypted"] = + wasmExports["L"])(a0)); + var _free = (Module["_free"] = (a0) => + (_free = Module["_free"] = wasmExports["M"])(a0)); + var ___errno_location = () => (___errno_location = wasmExports["N"])(); + 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["O"])(a0)); + var _archive_read_data_skip = (Module["_archive_read_data_skip"] = (a0) => + (_archive_read_data_skip = Module["_archive_read_data_skip"] = + wasmExports["P"])(a0)); + var _htons = (a0) => (_htons = wasmExports["htons"])(a0); + var _ntohs = (a0) => (_ntohs = wasmExports["ntohs"])(a0); + var setTempRet0 = (a0) => (setTempRet0 = wasmExports["R"])(a0); + var stackSave = () => (stackSave = wasmExports["S"])(); + var stackRestore = (a0) => (stackRestore = wasmExports["T"])(a0); + var stackAlloc = (a0) => (stackAlloc = wasmExports["U"])(a0); + Module["cwrap"] = cwrap; + 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=typeof libarchive!=="undefined"?libarchive:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{var success=_emscripten_resize_heap(end);if(!success)return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(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>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,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;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var DYNAMIC_BASE=5520464,DYNAMICTOP_PTR=277552;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=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 ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="libarchive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":507,"maximum":507,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.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};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}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(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-75}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall168(which,varargs){SYSCALLS.varargs=varargs;try{var fds=SYSCALLS.get(),nfds=SYSCALLS.get(),timeout=SYSCALLS.get();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)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,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 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall41(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD();return FS.open(old.path,old.flags,0).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[]};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:FS.modeStringToFlags("r"),seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:FS.modeStringToFlags("w"),seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return ERRNO_CODES.EINVAL},read:function(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:function(stream){var pipe=stream.node.pipe;pipe.buckets=null}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall42(which,varargs){SYSCALLS.varargs=varargs;try{var fdPtr=SYSCALLS.get();if(fdPtr==0){throw new FS.ErrnoError(14)}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 instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){var PAGE_MULTIPLE=65536;size=alignUp(size,PAGE_MULTIPLE);var oldSize=buffer.byteLength;try{var result=wasmMemory.grow((size-oldSize)/65536);if(result!==(-1|0)){buffer=wasmMemory.buffer;return true}else{return false}}catch(e){return false}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());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=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();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(2e3,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=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _posix_spawn_file_actions_addclose(){err("missing function: posix_spawn_file_actions_addclose");abort(-1)}function _posix_spawn_file_actions_adddup2(){err("missing function: posix_spawn_file_actions_adddup2");abort(-1)}function _posix_spawn_file_actions_destroy(){err("missing function: posix_spawn_file_actions_destroy");abort(-1)}function _posix_spawn_file_actions_init(){err("missing function: posix_spawn_file_actions_init");abort(-1)}function _fork(){___setErrNo(11);return-1}function _posix_spawnp(){return _fork.apply(null,arguments)}function _timegm(tmPtr){_tzset();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|0}function _wait(stat_loc){___setErrNo(10);return-1}function _waitpid(){return _wait.apply(null,arguments)}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}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 asmGlobalArg={};var asmLibraryArg={"b":abort,"q":setTempRet0,"G":___buildEnvironment,"l":___setErrNo,"s":___syscall140,"i":___syscall146,"p":___syscall168,"o":___syscall195,"n":___syscall196,"m":___syscall197,"c":___syscall221,"F":___syscall3,"E":___syscall4,"D":___syscall41,"C":___syscall42,"B":___syscall5,"h":___syscall6,"g":_abort,"A":_emscripten_get_heap_size,"z":_emscripten_memcpy_big,"y":_emscripten_resize_heap,"f":_exit,"x":_localtime,"d":_mktime,"e":_posix_spawn_file_actions_addclose,"k":_posix_spawn_file_actions_adddup2,"j":_posix_spawn_file_actions_destroy,"w":_posix_spawn_file_actions_init,"v":_posix_spawnp,"u":_timegm,"t":_waitpid,"r":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["H"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["I"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["J"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["K"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["L"].apply(null,arguments)};var _archive_close=Module["_archive_close"]=function(){return Module["asm"]["M"].apply(null,arguments)};var _archive_entry_filetype=Module["_archive_entry_filetype"]=function(){return Module["asm"]["N"].apply(null,arguments)};var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=function(){return Module["asm"]["O"].apply(null,arguments)};var _archive_entry_pathname=Module["_archive_entry_pathname"]=function(){return Module["asm"]["P"].apply(null,arguments)};var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=function(){return Module["asm"]["Q"].apply(null,arguments)};var _archive_entry_size=Module["_archive_entry_size"]=function(){return Module["asm"]["R"].apply(null,arguments)};var _archive_error_string=Module["_archive_error_string"]=function(){return Module["asm"]["S"].apply(null,arguments)};var _archive_open=Module["_archive_open"]=function(){return Module["asm"]["T"].apply(null,arguments)};var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=function(){return Module["asm"]["U"].apply(null,arguments)};var _archive_read_data_skip=Module["_archive_read_data_skip"]=function(){return Module["asm"]["V"].apply(null,arguments)};var _archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=function(){return Module["asm"]["W"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["X"].apply(null,arguments)};var _get_filedata=Module["_get_filedata"]=function(){return Module["asm"]["Y"].apply(null,arguments)};var _get_next_entry=Module["_get_next_entry"]=function(){return Module["asm"]["Z"].apply(null,arguments)};var _get_version=Module["_get_version"]=function(){return Module["asm"]["_"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["$"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["da"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ba"].apply(null,arguments)};Module["asm"]=asm;Module["intArrayFromString"]=intArrayFromString;Module["cwrap"]=cwrap;Module["allocate"]=allocate;Module["then"]=function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run(); - - - return libarchive -} -); + return moduleArg.ready; + }; })(); -export default libarchive; \ No newline at end of file +export default libarchive; diff --git a/src/webworker/wasm-gen/libarchive.wasm b/src/webworker/wasm-gen/libarchive.wasm index aa189c5dcc54c563f78641d6fb746c184556180f..2b812b24cf5d3ac9503a87af7657a04ef2c0300c 100644 GIT binary patch literal 717423 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� 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∋vOCK=d7T$KFLhq-yxJ-2ly_ElDmv>r>pL4d8#`5< zZJiyRot^4VZKt8Lr_YVJn-Fdh3Ug!PJr=8C_r#fGCe(e0a^HV3(X{Mf~o~O1{ zFH_s7*QnR3*QssQ8`Lnhy?Ud1t9qMyhkB1V;piWm))J%1;nx!sPm#Zt)BDGj8RbNtHRbN-%P|MT`b(^|d zZBQH4qv{Fur23Kisd`HNR{c)>LH$krU2UeBrCFr0&@9$iX;x}hX>2s>G`5;e8VAi5 z%{I*r4MO9n*`+z9ao3^3ju6f;--LUSh-8;K?bvtz*>OR#S(T(Yj?vCpwbfv-EX_!b${&s-2J6{y4y@^u3e#g2C26y? zIobj(Rm;>CYfH3jZH1Pr2~Y(>h|jn>YQ~hx?{RiI(HpP=c)73 zdFujnfw~Y~oDQc;)TQf)I+89&N7K=D3|+CVTvwsv=|s9Kx~sZtx*Ix$u0~g{Yt|`s zExJyfTGyr1>WsR6ok=&UyQjOad!&1;o6^0|z0$qaebzy`@48v~+4_0-8#qo4!NesaNX_`X0SeKcF}1C-wLBPxVv!S9&vpxnY)Jo?(H((qLs+ zYFK7iZm=<|G1wYlhOLHeh8+fkVV}Xt;A}W$IBhs*IB)PW;0=ief+5|IVaPG$8uASk zL!p6cU>KN&Vnew>Y>*l*8Lk^thBiaD!C){NMh#TT=o?CtI~_V)J<_73%q^iKBP?tRqzs`q2>ygti5>%NtJwtegST>4J+o$fo==icYn z=ie9D7txpAN9+^zHTRA7J?(qm_o8o+(ZXnHv^Lrp*BI9u?Tj0Zn~V;|t;X%foyL8} z{lkLyqDPw%Jom-kon^ZG^oSNgB^U+cfoujudYH};$Qr}|&@zwQ6r z5A}cT|K2}qVBWx@0qcQP1GWR}2Veu626hf029N{02mA*72Lc9y2SNry2cidJ24V-| z2M7Zx1L*^#fr0_b0Cj*qP&&XKC?DVrTpYMGaCzX$z|{fSfP6qb@O0qWz|_FYfmZ_` z2mT)TH1K%<8Za9)ADlHfZ_skkYH;b`vO$|c+dIqI|g?SA_n&jdJTFH`V9sQ zMhs#GqXuIJ@q>wjgu(Q|oI%PUbMVsO^+Cm8_u!+!$AeD?rv~2+z8m~7`1jzqK{L}V zla*U zm^NHG%pR^777bqq8jNQ(T*5K zdPYnmlOvBuo{YR2c|G!Wysrji!$hM@ggE zqdB8_qqI@_C}XsEw0!i&sBzRZIy!o9^x^2#=&RAUqn}5=j(#7VH8yW-(U|qvvauCo zPGg70oX3uhof|tp<~D{J^BeOY3m6L-!;D3b#f-&{#g7rjQpVE9NMi+KlricUZHzuv zI(Bu;FxE3>95am#k4=u<9=khsf9&blv$3hMS7RT?{vP`@2924Gn~%>LpEqtfZZ*Di z+LTsv+UH;xaDkB(1_-yVN7{&ak5{O$PP zyC!x|?3-|!I5u%|;`9WVkWY9`_)Pdt z_)YjvgiM4^gil~5VkY7y@Dqdy(nQuo?gVXuKEa$Qo#0LICxjE?2{RWa`=^CnYV$*Y zdp`*{nTsB8JX5@$dCm7xUuZ;ABO5_R?@iRXSWU7f#VO-1pox6}sko=ez#Ie=+aD!k z{DU3@&skmojt*7D4krJc+X689%N6-<3q0EW(g9eV1h_JNXlM8dfI(-2GPP^!!nD8B z=K(NzJxQFC0BC@hMVyLQSF!h}$XyAS(_d$x3oPlb)a%?y4_DvKe&+($0f=LLSQus~ z>KJx)!b$+qK1o%i9muLKMS+lZg>-|bEWk14ZjLhmrqCYq{OeXgHe7rMVgx%uq{Tv~MKe$1aSR=BGv zg{kAI)Xb}SeFbLFH4dX9$NN__%GVsKBPp{R*qhv2J&y-W1rCQLgx`sH9$}jx!=s7! zi`TMdKv|{7%RZNpUH@^#xc>$8&M-_XNdHjl1 zrCFAZN^W`V2zg&}%Kb*@>+s$Pr|1G~CythTiC$hg+b=6gmNYAcm=#aHk;4FS^YBuX zm>!l9=Y?|zDDH+L66#E-ICB-lw~Wb=xsJH41uWehlp2KVvOV#>`F?^RHYnfALI(iw zh67WCkCEJHYCHx14lf1QfO`qIQ{n&{@(?88k7seRmH|?Cb#7&TBx700veL(#nSju^ zAea(r+&sMx_@Vs6(I*0$LzaXc0i5Yn^v#5G0L~srKa}wmMD$7Id4N$m%w$z|i=TSF z@I2#{==H^C$Ug#oFyL0uCy=B)j!D8?jI54Q$F#+LODRnyryb5H&z=du_mbQ{^1kQ2 z%~w+pw0hdrqL~mN{y6%|DBh%Csr0p%5c58=B-%M+FEd2^)+fT(DsWC@4ImzWBy1u` zXitUFakHT70-;+RDiJ01@IpTebO&tnyRd8F2QjykGcqn0{>m)jI=Vha&kGYp-6ISU zNAjrv#+fR1Ej`OQ!5ayhikYUoE}acsMDYNC6dw8ofRX3$I|!46OPTK3+Wb!XE#|$7 zP5kX1fg!KLW|S7Wokp$qyzK`-q{w~o0=y<^JlQ?-T@JcD(i4EP**>m0?q~cS_-zi^ z7-|YL#kdGd&?~cQa)L{)xDL64Gg-_8tAHbedm^j`r+a1`NZ>?C(Fy)C&l+yUp<-{XbSokIvIw- zGy`b84>ZbjfRjBECkEw`iKNQpnS>6&GpA-`XU)&~1}M4(fDsR)AsOG8oh+-;n$id` z9vTJ_{1>7Lu}Hem*Eyg!|01{?Sua`b#ml&oeVf+LdR%JecPfAvF3qSyFAXLF@Q9Ts zW7)g!^Z4wM<~h&zLs(Myg4nM3y=hlHeUqapsjRVz15sUAJTAV-$U4iP1Eoc#$JR5Q zgma;np4)s~{dM7AWByD&p56i=iyx$vf)aXi@$S;=6<8}UXS83g2l=?frx&O*0dPk2aTSW?{20LA3FhN14IRp*$y{p6O4%0b=pj`lg| z`^ER0ueJY4e~y1Qx-{UYz;}V09L zj9(_{%}RBf@AX%hSM(73miGbFLTC|WbK#Fr3urKGI_xKCF=Po@K}(>e(B)EVXc@E| zS^=$ueiW^Oeuh>uSiOG0)+2*?rgCm^9+&~9iCv=`b34e|Fw2cUzH6Lbjr1v(5lLoUz}=qS{M zI|dzxI&y1E-i4fiPC}8nr=Zi&;ea#HS?C;e9&&};Aa@7_y|@4`%8ati@_;-cFUTA6 zfqbFwIew5oxs zsZ#3Fo@IQ@2``|O1)#W?fGAGXWQsl`IsXE5g1Mq}8xI%InJdV10pmi8GH$Rq&>w3^ z%uGF<`IIt?v5~z~K=uA76b;3sQnC*hwopIQN=gHu)$zCS50XQ(4iyAKSoS-95R~Vd z;yDXkulfbB9NP-lO3ry)E^!Zh7O@qxJoY8-C`m-_r$hjZqbF=KcO9)aXhjq@{#(*) z0*;VJeNbBHW)XNXctJrE>S8!1rOI`Vdkm@vl^bn^ts>O`$_AG=T(r7mklpCE7vM`r zyj}$*g#Hqy#oWREz-=bpqimqbE5Za=0TV% zZJ7dqQlH3KTe_?4pUP9*mAp_X!|fWbidfHXs(j!P0?_~gHi8Yptpt$D^HlSkIRNc^ zQ#`xGk&6?45vNF)>Dk1KSv~o)IN1Pa883S1H!FB!)JFUuAq1cx>rtEVVM)E|8ZZ+5 z$oy1U=z7QfFZ6g2A2X16BvqbvCg)oLsdS^TSUTzFav>~WDfUkMV%)*h9a($HYbpEa zPdR5R=^n$F4^j0oF7cv-#rXMz5Q0B2GGf!WGJ<&VsO@3tm6dK=+*bwu8Q+|>xr7mX zEObS5C{$QE?7_&nhccpqVr(+nv)<*WRNirO@Zfna2H9Fnz_k$9sO!;j@wrK#ljZ;v zFAVxUC5}V{6b?Oq5P+jbK>z$+*&|%zMaG#Dd4w;No2<)~z9OlF8`T$&BuwQl=Wb2! z0~mN2DJB9-c%Pz5pGueUy@aij2WamgTbwBORz9tCuIqVEhYSDmDPf_9!eb)8MNTJd z!G+@`Xv990ArV1dR#a!w}^SJ(phj-5{zCNw>tSfKw%dZ z+(dEc=TQ}?9*>^r^0--PwrL$%ud>3p4H9jF73C_*!Yj+`C%|xSjFBdEq_Wdi2E8-ExKPED^FLr(6r{utt6XdmdGxD*N%S9bbfCP!J`%Ox$+<)>o z=;h{3#iYh9$Xb{clv7lgQ}L#9+M^;aCMnrVaN(DLvw`OT61+L8F*-cP36RzE(~?Q7 zY%1j^#;1}{?ng;eKx2pnARFBR&j6Qq{%(WkF&}vbZ8r@B_j~vYt}|IeD9@}QttJ=c?#U~lyexq#)%;y;R+qE!C9%HGM1bMAp{4N7T`hB>-0L@)!-f8Uaf{;Yg`{#Wn1(vcCjJg&P2de#ZB@ z|E7SGL21E0sJTEY0O)UmQuYT^FD zEgXV;dBOL>%EEC`M*+&+m1@knlk<`GH*FRD5!0dMJR4iN!wv7YI%qJ;E;=ifoO(o`OOLqy?=7 zx$^EPZFC*pJVl$*L%g4{vBZ`?PjKIDJz&}YK_^6FVy)sc60&elleeV2$iGKhN)KRI zmn?Q0bGP&i@Z_Lx1Y1Ov5Q(`v@~tUz>4o(DB?n8c@|TFVMy0xbc028F9`GjMZ9r7` zaP)WluZdd-Tga~pW>D=)hs!>QEL674RrvUr}XVT|X46!D2H2VYX zBRv@~>kpVV+#tU;!gr?LI}QrXu**uyOG;Xo0#AvDR%KHBzWS*GOM)7MN`t*a%EGe4 z&tuq;wBBfCWF?vtjuEJY4nkb& zP2!y_Z}Ro*jNH21{dqqZzM`fSJtcq!5#Pv8ar_-1T>lq}UblvorQ*?##kL3g#=%9X=?(2K3?ptAO7Fox}3Ots}NY z)+o0b!-@7OB`K_wRjF2)k21HAY_s-fZ3Q6a+`?T&7Nw!34W&(G|8VyT zCfwozf}_~+QWBHA9Kc`eN@LOA11%yt3j#_X^Qg%Tv>=2W^&oy-(QifOrHgobJ@60; z&q}Z4;As==zuYD~zkA>D$@Bg0r@25w-wNmqfCrg}T7;bqqlMc<>;XLPer!?fuDDh4 z2tYu-0La~3FzvNZ4NdC=nB$)rN>T}6ltamqY=>M#erds-f&wm_94ZazCB;*xl zNi;6T6HAZX9seQzN%D_WS=#wb>#PmAHhIqZ9}B`MVE~+^ve$Cv@ap-C!aQkjOE6_~ z12+c71O^ktxzW@y+>fx~>^<}(`dU{%*XQo{Jx+RNhs}+QA1mS-LFyHi$7wClnUBS6=Nzl9ah4`OSs`LIS>U4GSOonb( zE{>D9cDs3?g1q4urUIp}NMl#M?W@=y5Am;*_BatP1>8xfoWr9!i^p5@^{ z@aY+)n3V?M+|nT;^wjSt+CSt@_)1JXh8LLuor&3iT^MhUk4qd*u>iasJ|hz<$|ga_ z=vfel(aFxLBtr}MvwSZFt1#v`v((>+k|H_(f-nv+)s3O-uwtw(_o(|$zsTVEiDm$Z zC83uWesOa`)%zUtzYz|_-wce8DMZm+{oS&m94Hq8>MWEG1;+-)6+jJyy+mmtFy-WIoBNgm#d* z(0STJ77yY>0tj6ug#HnUATcC?K;`sCq07(}Xe8oYDq2iboYdw&@(+f znF&34hM}3z!!SKFB=55J8XIH4m|ZY7HU5{+2X+x$suJ%vfx+?7xLlFD~IIe1}ia?{^8ZJht~mZ|NJ?ffpa zC0O6He0b>APp)|GVSb|6Keaux=e9keJ04uzv{$u%>mlLMk+X@~H#*O3{5_>7UE2T5 zv8$^uuQhKN7T?|b8A=5I&WRtNz2#Q<3ORMYcX#ifx6rn3*zuV?d`ZCm*L0a17R^vl!wJ(Yc58ay?4hiVfz zJNE8c_b1(VdS4!VWpMxWkJgJQf%xAxK0Wy9{8tCWwyzETzH8&&X9nje5qF+apwf;n zo%s6T54WDU4ZXd)`t0ENYW>F1InTo09jc@H+aA62O68&IwU6hj?b|v}_MTXmn!CF7 z{Ep3w|F(GNuJwCO`)vF69LG;Re|qHNombwx^4#EJxmMXg~R^C$abI`>O{pAAIs4y!@48x1apsnRREseks5DU#q{pd}i&}Yrk20t-g8Y zJ!-w)xuw4gJM_%z$o0$RZw%_&?ps*hdD||@@h46;&J9KX^2E6;rK11lVEtO> zy8Pau%_|qy-7!%it8Y@I(DC-GU0`aszcjZxZ(sE6F7Exq^0UWTr{_<{&&*KLaLH}- z+gqzIUaQ=_hq5B@YTIhx8aP{@X&vf)s&{1F^17$j{nPBvW{2j6=bqbuZyMhG?ZK;? zf3o@c!5jryeR8{T#|r~|@x{U0JFz{1JueOVR7l|EL4E&s2Hzb#wEVXd_~{>>yH2Ub z-&=7}s^`LLjFLK&m!H49c;$P8R|dnK?+<>kaNF@O9RI=K)j_hh&<*x~ICyQaap$M^ z{PH;S!jA^xJ1$-QkHL=zKN-9}ICh-1Ua_=g`NFL~9sE;!>ui4R-xr= z{m!0W4wm-4yziaCM+e^>j2-tLKYje|leJU78vJ_jmGh6CzjgIDgWnE5xIT8{cZ2^N z1eRXd|H84CC@r$=_Aiy6DTDQ;#(RUWG~b&1sQZncaOUNi#l_zb{xI0K>_7F#!IiTY zR{k{DLBTHHAN+YhD^FF9RtBASHr>C7uRe0+$r~S)|Fg5w{c$%r`@!J927*KXJ*b>| z_WY(=rtz1-hl9c31{mQq_zqHn`+^m0j^1)4}`6EkDEcthTW%|@1?|k{+aU|zA!(z zSw$(V#}?u{bGvU2s(WtV`_`dPAGzhk&rba6#LB7dr?r&$`MYP{ILE*6xyuKx-m`Xr zn(CX{kMt(iS2stuT-g#`{K4Y#lKSW~=l=Qp@TDRZiL~#&bok{J*_C{yT=CS7H^0}t zy6*Ay`!+9b6>t0ecG=>OcU$&+W#1Er{mZ|i4vhBczntlL}s?AYN`*4tk=zwyG`7iKR0_R@e7*}rln zT{%>Fth%LkOKqaQtv*MgKxex{{Z{|=b$8FY*7LV~m6CEly0g3s-Rs(i@2l^v_Ed_xzQT@bxGl@5O_ohn5dL zedOYD{v>_nw=4IZw_h$?{*TM^6b=l%0$-b?#OUg4%!aCeBw)I{(A1imCVHpmp886y%xPzx?cFicPhEsi?z?xJ(Gf&g_+N8czNS* zHYMk8&JX65oA2H7qb+~kD%`oabMvluc3F0Rc5mpwS;P+_Bm6BbGqfAosv&T6IFes}uQ>#Q5L9SfH$l}nYW>KonX zj&EyjY5uKM>E7tQIsKD$(^Q=4Pn#`UeoaMA3X2zZ{`=Bfdv4uVIzp!e6!$NyPQHFN zymDq`>B0&XqH(X5FH4j8?SF$*qYpa==6P^i*tXQ|HJw>mbm-AwXc5k ziPIz{g)WwV+jy|)YA4!1ngKR2H|*T#-1O^Bhvx64q-5(CW+~;OZRa}&^tX@)+Xtn~ z_aCR9`16T-PyYK!$*t#C{*M9U!qXRauYRy!dMH3S3=bSO)sH ztnFE2UOQd+Q{%VY=clCW%3Hok?GXOv;2nql<-~hue|!F=3-4X}#3te9zYhM=Ztr|! z*?H-|uY7au@tODMPVW>@nnqRi`Nq#$JEwm?tzOu;@Zv3Z9sb*Zy!gV!#Z_`cY-8fU z=|j#d$L`$riAOd*yz|{%5A6NP-scYSj+{LDg(KIG-gW!Ph2=XrRJ1)<|5@+djrPrs z<@c)3HV$?u69grz{@kV?AEKTnw+~m<)qQn$D>C)gx}_Q4+`3I;^Vt0T^Dl3GjtUQn z_Nez?ITSq6J^9+HFQ0zA`p5RydcW>%o%!bthFczA{^=?8nQvYGugfd7|Jpox_;cr< zt3B2I%53YbqWbqivmWX%&&k&RVEy|WKeg$lMRfnjiP?)YYfr8HtekFKZ<)JqOn+nJ z^V@IkxO303L-LdVdghnsITsJC{_67ESJi9Zy!K)3{pQ)$lQW;(cy8wxmsOM)-GArv zRZ;)x?H}!s?|bS%^vK2|2Uotnf^?qliq;+2P~W|>Z{fgCSH66ncj?dT_RfE}WBK?q zr(RsCU3=|r+Rb$R@AFr8{9*B}<#$&ctLs)@y-Qg?R{wSL&bia;UtfR!7T(sWt^RFy zEE#r9-vS(D9sK^m@k49JZ#ntHljJG#%*pd-F08+NJEawWw(`p4d%J#gfOhMLw|&@q zZKk&Qfz_WkrYL3lCudL0&2EeyT{^BmbLx)IZ~R_TYGC}ZTtJTPMuA-~{vi0Ns%(_jpcW!xV`*S;< z-u3Ff5BAONmmMMxeQWun<;7zkocPRH#ii%h9=lQhM85uw`g_+udmC8({$_aRi+?#M+}b z-ne0_HX51Mkv4F%vz~tQ=NlL1-`M=j&Ohwb?8WzrSMWP)O?Yy?P0ZXiS6=8WJ+$=H z^3|1XUF(VaHw+z!9{=q5X2-tqsjXLg+;uw_!JAvplxlx$Si0zJaqjHG()K@YM-G37 z+FSYNg-2E&z0SD#t&N}Dd6@zam1~@)s?A!NncKewy7~IP`r%#6vQ@bA($-@qEVt2C zgV%4Vw!5F}UR}>#wcI^DcX0P>SLfQfsSl=C)<3lI=Eeh?f4)7o!?qjS>$~N^v4>8+ zenEU)S5LK%Z6F({vc9eGib+`D?t+(BK ze#gwkor9$ZPO#>_TB%f%>+`$6b@db2ZmpnAQE$V# zpRXI4Iko9a$D?O%yV_eLDo|s*!ET&w-fV(xaGhxO?)8tZZ*72YzP){Z$D{i^x4e1W zdE(8JbEm&>`ocNhZKJEdz2mRfFW;SA_r>`)=DADoZsyJZsw~&H%{1m3o2A?6JAb}+ z%fT(@4xazk_2;gq?|P=GI@H+umzBc#2d;nq#*vu^*MDK(=l4H&?$~N-E!c?6d}HRN z?Jwaxx;@udGC!%IkGxhZdLxZ!R~&0oooKF?XA5BPR-x?we!_gqTC%2s4 z?p(x=-F@70a_HvpP3Zck%B|{S%`5Gx?$+L8y>HJ^y!;*7rNOPgxNY~!uU1a3zIWq^ zyPmG&TSV1c)>Ss=PnFI+Smsg*q<8lSFaQ18@QwD38#fx0pXl_?x>vq1_utzN@A>}4 z{K99~+IO|OwA~9AwqAR+@E-py+M|J!^>ZUP ze}104W9Ri+Z||YRIpF$BQ*Tw8jac`u{n&%Z>ozmIZY z-Yfh22VXdX9DV!vzn)w;{ngXuvomM+-g@BnZRbCCg?4?@^;c#^>knL>nqtrYWk+l= zzBhIEUuS+Y%Rc;EQ!=w|`wzBTcKpW@w0!XF*h=_bQR93Q>V>u~EbZHO;o#E;A3gbp zQ@d7@w?A-x@3qmJA8fR4`Vxi2T{wi7?`l=M|Jpme?q6nK-!QkZX}+;Vy0~fABYTII zPp@vhOMg#z$197mJ<0PgT>WFMwC;hKiP`_2b`wXRUSiiHh>z=*0 z?tkX6@ksqt`_|g(g|%nzb2i?b{Ak_E%=+0oXa6!cKM!ucXWQ?0e17NB(zZR@jy`?D zck0!%53D?Q{#1SUp0(b>HpZR5Z=Ri;?h%{LYyb13m2>kCocVO?^n78L z`!w0O(RyZ~JM)#9-%|{m{H{N(C@(#IAGZ?P_~O$1zRhPh&X#Zg@ZNmwziUGcY{!Sk zU%5{>uU)vl^uv8%^I)I3ELuSqq6@hNyty!{p3KR^Wl0MG#tU;q#R1598D7zRdwQD6)h z2Uq|b-~e2J2k-$AAO<9W6p#UOKmjNL1W*AepawL67SI8DzyKHl6JQ1`fE926PQXPa zbA5mxz<>ai&kX`0APhu+C=jDk#wj2TWPmJ?1M&btC5?+f377z?KnaBl%mA~%9IzhP08rdFfbuB;TY#;=HednR4(tFHft|n-unVBvkHB7F zA3(K=0qVE~4grUOBfv6n6u1NUC*Yrfhk-``30+E;(dG1S(mzHU{Fwea{ihV*fCd5} z2o8f<@DO+!JOiEu&w;mrE8uzXB6ta01^>V1**^d+wF!%`g{~T-oI`}O3 z9QY0Jo8Y&=Z-dW+FMuzCFM%(E-=RJYodGf!42S_Un2aIDFk^%<${1s?7;MJ>47!RK zVupkvWylzEhJvAFAPf})WvCe%hL)jY=otovkzrz(85V|>VPn`C4u+HQKl7~^Bf!8J zK}LuXW<(fKMvM_>Bp69Xijihy7+FS+k!KJLl2Kq3870O9qs*uPjrWn-Fg|Ut?!&qfpW;_Bt3Vi{34EiGUIP`DOze7(zPeM;YUxvN{Jq>*o`Wo~M z^mXW2=zGvB(D$JqK(9hSgkFPw1pNo}W9TQ)>(Ec3H=sA6pFwXyZ$m$aegXXwdIx$J z`W5tR=r_=Bp+7=@g5HPz41EBN!E#syt6>eSg>|qVHo!*M1e;+CY=v#G9d^J@*af>` z5A20~uph?Y0F1*yI0Pr)B%FfNa0br8IXDj!FbNmnB3yze;4)l+sU8exsH##rMl7K_c|u(&K9i_a3U zge(zD%#yIAEE!AAQm~XPgr#DkEHz8R(z0|cJ*9%fhm1S`o(vC^yzE6d8U@+^WyvI?vstHhdMm01;5l~rR=zFQWx z5Wt#bQKm^&mo>%evFHehj3A>3f~b%Ll0+tvHZqIMA={7z`;VC>!OY0#t~K(T|ZOGE{*oQ3U-M+@YbMCN4CHhNx8gr_s-%52Bw#A4WxLjao|K zMGy)kLQr6mj{zneEvi*(Y5ymmK|m226nY&+X!w}VP^G{rbqc4_qyQ_E6n3RU;Z&w5 zz)GLOuB@W~E3^7J3bC?*0M?)XG-O?| zLsw`j8r3YKwP`Gx6)4c6v@u!-h|%IS8U#Re2!t3A1i=s!8iIzQ5oi<|gT^5i#D+K! z7ve#DNB{{T5hR9CNDXNqEu@3=kO4A6Cddp~AS+~p?2rR;LN3S+c_1(3gZvN%1t1uv z!2nE$L6`wUFcThvhv5-;6dr@eVHV7WIWQOI!F*T%3t|DRzv0!QH(9RGjur(&>@rl6^5dYXY|q?u?R*H9fzOA#H4v=WU8OwelosO-a3 zZMOk-s!GSGIvxKt65=+Zhgl19*4)LGD=I1~VlP7~22G$~C+ zbJILDFU?2u(=b|qhSP$y5N(J$tE@B|4W)ft#pzTXXMhk0gG_LUs^}x&C^!a=gDj8@ zazHM~1Noo;6oMj93`#&LC@qk*_xajb~2qqPJsavhzu#cM$EIAh+$`5 zIpP#>Gs23PutNTdt*>YB1%grMm{Vp~*zzdL*^<@uT&I!~6Gz2aw#8v~@T4?0&&hWR zoP3MWSrg~jHA_#>7fcJ1TDe{16gwqO8zNQM5v5b^R5$|yy0pTTIi=1avtFi?DbG?i2B%%~G~GaGd(xmsaPQx<8QprOFmIxXzDxXACCxJF!1<>s8Iu4vFZ<;J9a z3^B+iWh$;q3uw$vD?6o?Dfm**W>+IzlT&HaIStMUsnH4goKBC^Wd%!FfG1O_UM}a$|&ae}6veZFm z#2Io%%mL>(Qn$pMaVMxKIh_WfDetV9h1{Yu>nuCns8$>{7~&Joh%V)9iJRhtGbksV zWwT9_aaKi1C+SQ(UG{<#b!3GVQN>wxHl231)7)^@os-U%Gp((O+D@GuQfIU+VaF*H zbe%n?z>*blWRu1zr%tM|O*`qXzEdmhD>dE7wQ@{w#71s+64*aW}&(&6zJ+AjZ5oF z>SG*(t1qPhKT@M>B5QJ?7PHIZvbqSRRSxqVE}KhXwY!2Qr_1GXyJ9-O%j@#FJg$@! zbCK4xJ>X)ha926vt8OP03ZvDWbG2=G7vY-Lk**=tw6q~AxJXwg-52`yE%L_Ep$=rhAyrv(l79 z?wondJ**mbJB1_e5&pPn+|6>c-5hsFJ|&J?^VUgy)y#GC+yb}AEp&_B3a-`ClS5Dum7A_ih&67dQR@yH`RWNZQ#hgLXeJDH zi{4GDs6ya2x<@%pc8Skay98C6#Vz8R-NQnwyK1$$-S(bXD7L$uZihRDNH|fB%k6fH z#2)vAfGhL58y0~yD1dEF6fySY21Q=pl(!TrBj(m{Txegc6X%2>H%&9G9ub1dFh$+c za_AwdEeGp8tSS4tdrgN~XxuT6?8lDs>jFS@7YEqR&ZcG0aQMeLfO$X$9dVy#i^ zu9mwZRXYk4+p9?tz1nWNr%TbhXr3vz(nCl&ypEgUX|X9@5!-A6JUxo@)pr}EkY|$3 z`Uk&=p(HG06u*e28>cu%e2!4cMut2|-LMB>^F4GMtdvp=BeqAQ=6K3#p$Ag(JZY<3 z^fB8=K#`5O9@L}vs42Xf!NWmK9zcS4`Wg*IJR0Lq@H0HEN9AdW%pRl1gPH}SLY=1} z)N$L6uhoF0!S;PHEW9oJI{lAdSE6F2v%i@>x8@Y21LqBsZiLSBZK z=?&_JyaIMist`Fe!`>0^n0MTpmb!!@%cz&-MWu8J&&!bVG;D8B%l9S`u2VF1>C!rh(WW&?P2LtqsIzzt zUMJ%4+7)9$r#Elzqk65|>#%sd0WZspd0k$w*YAa-CNu8UX`0-UGUN?<^OCSP>Wz5g zUY|GVO?YEoyUc}n(Ue!NDzVdskT&B@d$Zo0H}569E;H%Xa|>R%jmx4I_7U@)K%vAPPyi**hyy|tbYu>sy$*J<=`i6PZ>qA>!l_+FsdNaC?x9y$scD+4L z&pV`?_A)emFV8%w2VY_5*Hl5A&v3+tY&&Tnxd>mxl7c{5E zBA?hdqU8HV9ae+T2TLWsfJy2T_+-|oLFVI{awbwpO5&ZqXJHKv}`noc)+UN88f-+d*wlW1K zG3E>K0zQcv_tE`9U&t5sMSU?}+*eV<973*UVEju%&7@((v*0 z<4TsY=_{$&%9d}^7q_;3dLf|b_`1HZd=zQuy-3>#7)-(`Us=%eO$!}*HrFHTQ|%g> zzb~BjiFItXMQ4-;(5?;iGyHx%PX_y${vm&ZKkOgzk8)*bnm^`eTHR`#$MSRhG5)xp z?dSQqe!gGeSLnxu8LrST^Gp1b=9W396Z^dik-vt>{iIaw*Z38F9#82v`1O9BAN8yJ zT7TPY@f-bSf6Zp{BmO#K^^2r7zuiw=6Z{T;UMKZqevjYn_xgSQfIn-;{eFMYALobs z5r5bp^~d}ZD!L-ANTEX#v2<8c5ybrxsac%xLspF;=^v4d@?niz=#_;`s4?Yl^0R)L zHseqGbN+%hMg25pl}8N-0Bzn+_{&O(rRXpCNq^r|_XjN{f7xHKO!zB)rm^Z*nrnU@ zA2G8G4S&-=D&g~6ez90<8?v?dZ9iQ*CgCV!My|50C~7-qiEdmHHg){CPA#>FOIi(k zLcx+4Y+e79-(~3eC+%a7X@B2u;L$J;V_#+D>SgNDSgPy!Nwh2Ol1~eG$+T&mN)f6EFu84UA72=%xsBMQ`VNP60ub*#v~Ym zW#kMkODM%gOnQwBlVfb50#jlttffOSHKxJ%7!T88s0cP$r6LogwU~4mUrB)#F#}e! z#*JpI&ly#jFe9cGdDV8zidit&o)LExHq5G1DpYzG=ENMB8_SA4SkDwvc(INV)x%o0 z&WDW%_{gYfk`EcEk13N{WR_`82qQEBY?3<`2x4plj$v3=62Vd!fhDl8E{jD>aV&%7 z?3m1_j$%x2V67aEkftnCv3;D8uCZG-&0>*$oU<#lCUBDc$1XO{ZOdIg4 zxe{(bfCK`B*&c8NoB=H05A-b}zBix~@p-O**zO7V*}i}^;11vct;iOL*hXyOKs+#w zcI=5jG!O~|1F-*R@HPsQ>5Vu5rCIfbR5K` z0tOD@FpjBh;)GRhAr(x#qEbvGjilTr9l{N2*j!bQ;=}kDK7x?x9t`x5d>S`e_!TFMqN~A<_x1lC5@^U;HV#4jX8Sjf6I3Ob=kV1j?WmY^O zv*B8{5g*dl1$?0ehuIpb5UFXsMi(AMht(r8H}1uqc*3mEhS4drT^`3{cpI4(;kZPZ z*K-UQ9zomkFfLa5@euAY_;8vi!i(S|cDq!d3F2XuK$1qX961`mbpnIPp^f4(G=ZmZ zk($8Mcos)Zb!`qGwHa*^{x~~>C-F8v$I0U+TM?J3>v#z#@ha}YC-54sHWqXRyo?(~ zRcS;ui9@;u9=9~{7H+o!s-&oo3uIlqgL4f6Jx4c%_wcewXQ0cfDyPN7V+5yhvkeZ? zgJ3X@0zm|ag0$dBa5M<(#)F`2C@2@Og3KT<$PIFW{Gc#cRSJTVpeQH~R&ZHR8f@e8 zAUlZ56hUQB6-0t)aGEQW^vo=kU91V}gKkqypbKh)UV|Yh5SoI(+f34K}427!wNP#5(K!3phyxAj!31- zSWu=^S%;+<+pfw6IVuCkr^s4rQn?aVWrC?-I#|#^Au>2E6HD?zA}B_3L6)o-ECegT zYOoXpcoV^L&}U4T%%WP5t5PW48iTMNoD5pHjbJO-3>FkdjgH+8c7ns&s$C;1m=zWv zG!>i<_JdujO%>Jmg7i>P0fsELwt*3XL(I@n$SgE+B$DCKNT{kvq5-#(>aqsZ25HSX zAsVwyo2N~qp}G{&j)hnbrDa4r9_sN~A$BNe1+6Vh*us!;Lj}3Z!Vif;!cd1F7w|%Y zkT}#qrfep5Tq;*b5s=7Yymykx(pT6OM}He2X9%>PV{=kt`Kro5~>` zHyvt*G9k6S7>XGhpG#;vi61<5}Ei|E< z=5xa)>tv|UpAM-kv@kskhdZHRO<6Y*?uD3PAS^*f!#ve+SiyHXS|KPLV7Eh3Yd-`a z25p@hm2?qSxXPo6IpJ=I9Ucl#g~r0;VI*wVgJD@%5e{grww6g8Hmj9k1QmqUVKiLU ztHPvS8y1C)LTNanh#TZ#i;y1{hIwJOBgm74HDLiSCyj8tVU7a}OA&wA7j}pB;Z#@` z4uqXyOV}7Tg2~UPQ@)~bkQwrC@t*}sN6*R&$ zfkjWn)WXyndN|HAX?o#qm=Jfuv`8Q{74CKsSy$w8IC}XvB;Eg zC^8a(jpGq+gcYgV*pXf@k0>K{u1JGK z5I!1FMbr^ZL>r081S*=eVoI8|jwaR4tJ!rCeIzb3M2r!0#1siwqKcwiE3-sw5jtXx z*dvaJGvbQ4Bi@K7;)^i2W{p1r$*epqqSjfxbU`43M~ddW#h?#Hvc@T+#~O-6BH>6Z z5{)Dx2^q(ljHDu|nt zk?BaDBN8?v-AF@KHROzw5t^k#wU>eDR0OaX4JiRbSJE(|^eC=wMJybpHbwNIk%mQ8cQtr)|clI*LTSc3sr0Fhs4NKC;nk4t4yQ&g%GstBG-s#PkYYK2uKkGi8Jg;bn~hN2CDL+6ji zqAWI-LtS*DqiRRg6-6b3hNC0aU^E(aigikf#v5hXu&6Uy(|MwJ)a6jhr!A@I zxUn3SiQ|e)lx0^-YS9UHC7OY%z6 z?M1uMAssz78Er@7(T+fBLgbSYo})pHrwL9L?HEvg*G{v#wNuf4l#9}0ooGF(;S(ZO zY&h0drFaPiFE$z*)egmQtu+S47_spfGX}@TVl)*PW5+l#HD4GL#6&S^Orzt+#Icm9 zqvpnB21!gAlgE&lIwp&e5~e{CZP*ksG}ctBVk0r4OdXCfLrfFX#*8t2%x<#BEHQJ; z7W3*Iv8JY^W~iJocgz)QMm@2d-Wzjr8#)FrEr`n9QrMA2Na``>i{UY;CLF_Jp;$1c z(&6l;JsM+j;;~pP5(~uWmSijuD{#^=t~nJGSPe=Zs#i|g$yi5~jTK@=4iQTjGO>Kj zsB{^NF_*lnD#vm$SX7ERZIu|*a44#=T5Q}vg%M&rLsK^y>%@HaR;(Q>aq6*^No^({kcDZb_iG3axxD-{H0ln?)*aT%)Ipd2z2)5a-8*aZy|xR|+I?X&e+A zjq-R?DT|ARiZ~Ki##M2b7>yG`7220*;@Y@6UXmO25}`gms?o&-j-EgN<6e8PCP*ak;b=pNvo2+VM_26Ys{ge1?1~ z-i!C+G7c>vGXV*ZPfvgeMgmSS6Hvlq8cqx)MiV26vBY?SonR$85^jQ%(D6NpT*pg@ zRZ>}p!%w(uDYGD<)$wc^i2|```0jCSo-0g<67qyJAxWr%5Ko*4vWJakBgd{t$P!@< zq#7}fnUKV&-6m2clnK8PO{fzgc1vkUXcHy9CIJb|30*>;FeQu$hDl9LjS+z*VNKW) zj)Xno=U|Dv(UtHdd>CaIA+bKGNg@c>s!nQ?x+I!3B#lXyHpS0qsADZ@OXd)*-k$VWEJP82Aq@qg zOp{JZg-%r_sgP!qxg;d^Nr@!YZjssrpv7XqbYV#$X;E^iiyaI<4zDR$pRZp z(Nk6>Bc(y%6qI77@<}o|oEl0o<%HcWA4!QsDgi7=$@n%-iW-}tV<}e3qEI2@snOK1 z!KRd(Flk%IP4QBuR6wY32vB~?&7IWJ%z{)`AWVrhw%STBb-1 zDa>4rNtr4bbtsxrrw9XzAgP2#m9i_t>>+_B)z)fL2Gy9AZqlXnDWAq*H>M1!vfP}i zux%+z%FDHjtSP;uCdr!ZDX+zua;Y2~DR-3ZNV!t()TGjra`1d9Qj`_=Q%xb3>Zxq{ zxT+})q>`Ef8cc;#cq)_vM3EFE$_d=ISSp?x=cH0CUNV(PWm3^pHZ^3=rShqUmrN0< zLaLY&*h{H$#i5)?l~b5Ptgob)nrcd}sihb~#1+x-f)IeI?QQ%+LAV;jcHq2o%Xp+X-(RicBjpJN7|WorM+oS zx@GjGd-jq!n8wonv|ELzL+L;|mJX*QX?;4Hj;9l8y*ZgqTJ6FiQ7X+h=cy(`I?b~; z40@Druqjk*BArWT(lowHNv8AZY# zq6W!i+Gy{jyXmQPFP)L~(+&|S7#7enb*oV_O^xcaR=I&^N-5|WkK825$_Rnb3}g(b z+A=B4$s$@f6SLz|W=4$+XWUA*bSN{dP>PKxBQuhLGEUKWhMOsf#xlZ;SyHme*}P0a zz|L?oeH|+^nql(NDyEn!`WaD%pK*zJYDs1S)o0Whc}A7#$|KYmU6V0nEE2!fuT^Ap z8EHnTK{5)q*{aNhghgWsb=u2{iHtEbt_~PzJDMHKCZrybU&Aw26gET2$jX)i>?}8% zv2n8eEHCS^39{2hVOEkAXGK|QmMa2KRG`etvhpmFRb>^~A!>m}oz-Nu*`#e$q0j2F z1Y*b%XNX34Cb?-l1|6UJfcB3#avvUZ6>La_5v+z?|ovMNo$5K_0YwQMt6$=0)w z#V78wtJ!w8la=UYLMW#&5Hh*YsM0&et&>@=$|LAzd)cXMKMQG;29B0aE#*vSeMrW{ z$bmVh#N!a;hH}HXikz8iOW@o{j;jUCbTq7H<=DB=+*ocr=aL9>++5aFv@lJa96!g) zX)U6hI443SIaviVo>CiIWAY1Q{~W{I!9A$bDEq!M?E-l8ie4Qa+rNYKBgdL zn8uv59}%!cvap()m?REl1iTYOQHHhjDwkZmyc6@KU*yyeOR1 zxb!YgBUjILa?M;j=d@1d0^B}tD%a0>MfCh=ek?!2=I5*Ik^FF;kq7f1FFK_(Q))O5 z<%jYW)F(nYOlmw?MWuOJ9_Nm8#rg5PFt5mq@`8LT$IG+wPCh3u&vWz2JUibr5H?BP zkvHV05WOHGROdrnuTqx}N?kg0e!`6AgIvFO$YjYQd1Kz4*W|T%sos>==b093KF(I< z?Ri_iVDRQ+`DtD<@67x16SipHXB)P+H3eSHl+M%i9Cjp+=WD1ZAIit`qlRI2AfL#$ zP2oJ2_bFM5QF*{>Fy-=`PAtoe*oRAW9y^OFK$B8<%I-n*RC`tf?hA^Q@LPa11CjvxtgqCR8oD`8tQbi)9nncMUC77Z{ zi=>V;kVTP+G?HwER{}@Pq)Q>;Sx7erQ(8%%#6~9A3X`2A5g+L$%Nh^qB%?wH=_iGv zs5(prNP!w7gQSZLkrA?N#K|ZbCp}^>iLzs4NZPU|$RycB0egxR*wSQ%Oq;W$N=mmE z$RZg~k|b3KNP<+Trja~ZBI)KbIYAbABbEx;BWq-xY>-W|Lw3nF*&?gtBsoQjDopM) z858zNY9+G(7U%^=fun#5aDiD+sxaG70W|9k!-bK;hmS}4d+!&t$|8!xa6lQvdC zk8ldy0n zx}YiG%92Q17`4PyEkV<2Ms)=PQqcsJ`huxoE-0mHs-;e~K23%~QRd;;3jxuDtR%BJ zYz1opMr{I(L&^&)Ed^)6Rd7%P6qT(kgALw-N~P8aZCIfwMpT|cpimO~3jTt-kW`uU zEKP)4F=_;SZK!}3tQu71<_8NQ#B5hN!i8Kxpv@Lig+d`+h!=X=SRqoN*($O`AzH{3 z8VXe0RqHH4PLj>g6NP*st1lIjg<@f%Fe)Yseu+O|&8|nx+=)=|!yo&32SvaYD=}LPe#_9)yd`B3Cg~94?L&M~h>{ z5zTm!U1Sv@J*PNk;TCyCeo;^i>LW^Fu^<_Dii+YQVv-cmqO>S4%8H7j-l8lbMO9H< z9HR~y!jzO^5{D_qwHtLs58tQK7EQ&DCS^4gjm2^5GL|yL)K#NGr!N{TMXt5Tbf~pD zM^$Dia@64>6K(6ACPxvG)nrj+#xN$f7i~q-gv#AISJ7PzNSsAa(OdKv>1tmw%MTQ> zB3=v?BgJUZuX4y^MK>>AY@vx_vRE*&1gWA>8{(vkRe1{;Q|F4=Vy0Ls7K-^IStN?Z z;-sKb#8lNHE}kfsi$e~Pb_lH%o5gyuQN(SqzFlk;CySlpP^nk!7pIEdVqZ%uF-kyb zx=1g9rI8X;3aFT+;SyXLEAbSgrSTH0#4T}3)H+j%S87>>B|%A45|^YUNy&)FN+qGZ zq%0vNRY_4oOMbb!#1`;G<6=#zqF3s)B}0iX*OzpqpvYMA@XV#K)KqeptR;IXW44rR zC0EH&;s~52Pbp{!*!c=?39$J~z7k$SZGlpWhn2#mP$^jA>LR6RDOM^<7@~M7QA(Cf zNUAg@PnR+!ntR%nEmbnP5~vwLREB)XXZC8RB}1BFPTPVZQBgwZHxs2oi7dsrEq$>x zY2fKfCAXqnQd_4>)l#iwqS`2vC{tf4`2?L(iwXk_>EoJuXG+^ zv%ISA;EdiW1qs3K>hAW5A?~UvK`HG*xgB@=vm)H#?ofBTwhbfQ-D|ib-BIqCyf&HD za-!W$6Zj=UcbwbF=n~pAHjdk^$mn=?g1bj{!-&|tsew+}+(> z-CnoP-PzsC-6O1%J0z={yLD3Y*sPp(QJIMenIS1X+-`Tkot7Ju-qY=O2dDIL_jVV% ztLOAf?CUP9-7qXO+n?6EMt^t9*x>kn?(WI%WXI$3^h+w|Deq|zm62VP;Hopw-8(M1 zPDM`zPbK~tpU#<$G78dzJ!xr`Jykp*(N#U6F+rX-Nqr(hJ;`x>QfjBiM^y7v_oStV zc)~o6XA*S#CU2(#d~UaB0b5Tnw}I-k|)tqloXVi;K}gVFDImWdZ%W3 zYI(9fjUux=eRCUnYJ2iLIi6fkzNfCIo~OR2k*9&Dv8Rcrz!RI^F}JCwT1qoddhO<( zsu2lc1(A&-TXFDX=sTJDE)6LV> z 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 literal 896488 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

R!5w*Z6{vkKih*Q*y1wj{s0*rN`;5k!~ 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

kpo!#)bw^GQBboe4f$-3g zGs8$UdJ3FP&%rQ~C@ z6p^3sdjA^4^$EoFv|)$w1LPM9gl2WRZe%ET!nFmgHQdK`41ZZO!2jy1|; zY4=c^E0d+uKiE#e@u8#>WIkrF9vNcEA{J1m@*BZSpZe9&-uM%Fbn;dQxRhfU1H4yV z>9$q~ei3i52*|0ZZ=t6r4OMnP@1f#ryqcL4?#rI`K-A&d2H}s`&Y)nu%_M>pkD;-a zm0(#5PeEPpson`l9Q8It@eXYv@eO?)jqRDEv=c}8r87&F@xVIJQ`-PNJ0-CQf&()V z`~XXJ-qG_MIr{RN*(nVmvy-N&lE5@j@Q!7bAF(i7>~-m4jkCZ3yF?K`6=Za^r**hN z#8qF!7ji+)dUi50*Tv}uM=#MQG>j;y*hDe0Fhff+pE*Q&zVm8DYQU#yyEswu@XLr$ zn=zG_QPiBc>s0mWL9gxPQ}tARNH(K2OC{T>u!|+5K=evQ9vsU<&9nhcoTEj-YxP0i zt2|;kh$6fDQ&W?ZlbH{LjYC`y$`~C~ANkSPSUeJV$6NMrhfkS~cXi6!tG5$4MIe1E zAXDIP5~!ns=w^q3pCfRBz@TqRd4D?pQ8Z|>e}F)mtq6smO>Ts{H!$DSRiflG8mAu1 zoma{rNbj6Ma`?&o4zYKQ*R_v5`Q)BE4wtV>(F%L=+&d0WzwXXfhPAIa)!=n^-pS!X z^i0Zr8~uTMli`Yl$*elF$okV9X1WwOgsi})+b#h2L~l+7P+TI`??q-t9~nI#U!iRyxuG)oz& z`qFv1_pa*3!zMpza;6Cl;t;NzK}^OFffiaMXZa|V4sCPT1N#!ldL(93QQFr zqyoh~P=cju5GPhnUZrO*hD9b+gNCZ1MW(}=fN>%(Rbbf}bz=P~DAAg=LWpm5X|^7{ zmPjp*g=WQn6TKN@6`w*TClRwTM)t(Wj5>iWgV8o4vtVQ|7}>2#cz8k#6(h+aMsf>Z zufLZM3r1f2wH7V)`#&RTt{%RBk48vek9x2EC35aHjlNDpr7?{w_g}2DS=tr_FALLdBoti)Mz8y31vunA0_wy!cptcKu

xS>H2aO@|#`J}Y)6m8L_ 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 hx4CG_WA3|fnSiSt&& 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

0y{LQo`=j7-0(eRU9=fDyINJ!HRE@qQ(UV z50{!^GU1LwxL_f#$0gK7M3{wq>0|(*NpVaAdF?&ZNaf>o13xk<+NvS4$`K$P2K7f_m%p8 zq-?gf#eLB^UjF+W{osRo(on^RAZVLQs*(8h1#IaBQ&2;MxdF9LP*S8{t#B}(P*A9G zCANb8GuzhM=$9f<7OoVGQfJ$X?Gzqt!h72sQjDH4I1zPnI9S&T!cng^Iop zm|#Ds7S*t=@Q?Tr2d>(xUaqf4A}7t#t<`RYuM<&4D>?hBoh6 zi;HdCnYkI$$)CzobE;4Em*opIc_M_9=!c?Rtm){pwZCc~(p5&fFu)CFy>GEqo-eKK z!qa8)iPqpI%d>{yyjX-RWN`6frrfJ)NWj9IDTk)P;m4a%k|us?{F;gX^w?YgB?omM z)v6!ak&Ww&4#&oDC84SgW3nuI-yz>+mG?5WMNt)&zDz(;(7UZUD^Xt$rP1Ji))Nfx ze)V%loZrRNSAUOO_H@nPhw&1wd*%T75~i~9-As}K0dk!y5bdNzRT$y4I^o2SL72k@)CJC)s;E_?Y>ox!`;xXuguYDIEGlWIuCMGU%oGlXBi2D zNUC1(w;QT+tIgHZtH)J;NY7P&q(3Vih?8Xjq2r*+s;A(7KTU*}*?HCCNlLrc?lXi| z@r)Niex4kG!NXc#8s_5MOK39!9@%SaHi$RI*}+oGWj8 zS>CA?^NM_>k7BC4)nG~Er5ZXD&twh0r8W4bQENM|TD;|B$c{|e#W()pt>3S4*T$dX z7bEV9+R)tFZU>yvJpi;)jb+gR+C$B@sHqRGp4XbTdb=yg(1A`;u5G>YTzaXmIU<;| zzmwR0jqtUd;r)|wA8$u{;aJa5Z*S#?`WE?;BgGv2t*=&ZvE&@|8Qll@n`s8d{eNv)T2Y8{}Ei#LcZ0!2JV%sb>F`PU&1 zvmDK?EK~*f&@N6bzn|jReMF;7{oWhGQZN9h{@^NpGJB-=@A!6)0Aow^f_ z>z7_QreC_@CVs0UZHO;ZM#R5{k2FK-;1SrjIlLUC(6FP*ej}05=;$9{!bu215T8%Y zkfJZD8``=Ffu`Kl-fUC4IPPTDYT>MgT-C4ut(LKONrT4BsRZRIrmk22fhkdvSv#e3|7^n?>YSSSraqEOn%v{bDBS)v*{+iFz1 zp@C{t(SzzCQ?>4))Kt1A#HrCWkOT_I)5DJ5d?Ts4tM}*u{>cp3ymc#TO1*Mx8{%MiVbS+=OQ+@w{VemX`wEZ1!q$`mp5P zkEA46gaS15h62nYVfdDaZgsuzW^9x^;w#~cp}-RI;6@p&%ByWDUqP`jhG?Hjw>mP+ zCa%bNe)&_wJRW5YND}1vIo?_eP+h%MFqEo^WC_1w^Tf8nH8-y>OvQ2vG5$j4U#MZ-vsgo~rb`O0$IL(j}#9N(k)}6fNJa zNrZ6U9D2!@ergTb78dlw=tWtOL$|Irc0fYy*fJ?CfTkF)kHBjjT=nd#*%H;mVNeEt zD(&FtLWHu-F^Ptdr9-7tSR>zXvxgo+&ZHu&MCGJWbzfgbBc>2RGw4piqOYh?0Y}&1uQ8RY*Bla%}atI!m{3oXQ_4N@7igVx@V7Wea|PJ`ESe z^XNUkb%jV84U`+!qKcF#E!4XK}Cm#0Z3LsJ@Yn6F# zw>7SnTw(5Qq)X2?P1cJ53sgXJw(vs@OkLERIl%Iau8le>tp@0UEc?9j+0NmqeVfyG zE1?91#Ak$3>wWO%Qn#bv3=l$l2(U#O^ijGyLmdU6`dHcfku7KpmE{OA1Ai@F? zxh!4`YjP!&KLW}e0HPA3oXENf;TB%LTxU%^i?zY{MM}gIadnA-iL|9WiZ+`S{&K;X z>1IJQDXgvFPtw-_@^yGiu7gSIG#dS0rW5GPt+IbEp8x9bRGBAH;1= z5TPX|#UmMNbc>mF2!YAqg%3rJl(pt{lnGUXHN%Sa)DdRoerN@`K89LBu;?7ChJLLF z-jY0sqs|xPCFUa#yDJ2_9Wptd^0U37efR9vc>0AG;!aoH)q#IYsnQgYi{giT^Bf4c z2dTit^KYBt2cO=u9mD06gW{|fHtoKr3%=UNC`f^*d*WrSaO5oWyW!>>$e9^Lvc+R6 z-SjIhZJ`hWR_s6D=q4ixf~o5|6XlzjkR^)QTNgM0p@(J@QO723O)6BRv-6dHmw{)} zmP#KK76XQko>Q`@^IJTm9Q3pw^`;BB-y$zJy=Yrvm z?5E`j_n~50FX(nakglxkR?RuPxxa$}s(K}(F3J%;px2iIJ0BREIn)i&$j_#Ui%2|N zVw(v}2da4Wz1PD<-c3jn?T>!3iA6y#iU0zyTKSC*bJ1oTTLzZJ&Fw4yb4&R&(j(k5 zF8La?&u-0C>wos?tvQ3>cIp=@FjaMZZzb08;$r(EzkKPe9UU9Vl}(qoYI~kZK3V=2 zYAP{68*%;>qgh%w0{Aiczxg+AgBk)XSN(XHo^egU!z5?_uLc=+P_)x91OJtgY-g14zdf)lP3jeoHyl=DF$=PD0z ztL`bXwIf@vk!=Z}j&pc~T>>hQV*TvYm~>MW0#O&)|FZ!M(KTozIYUoQ{MUZ_al=D- zjmu@BsJ5a(Xw)71bbPriz06EX_eWM=z>@=&wY?4<+2*>$xMlXU{4!L_*RC6B*;|8S z!n*R(=-EB$noBpK&Nq#^PnM0W4MDyn*x?d(N^yg(cmyDqRQJ-ep?G2096N%A53Zrlp1hx8Y~z#uDTiT%ULaX$2`9i(5nqJ!8f8RXKePA zzm00zt?%8S@>Edi#2yM2`~@v>r#gJrIv0a5htZVk7mX&!U-`Z^<3qwR{UWU^~_nI-zrSeD2{|R+H!lGK5@)6dGCn12)N) z8qgNsUy#8#ej)JspIttX7=lPBa$<`kTZXk0Hbx`uFfNo{}O)nOWHFx~gCit#%PQq}*E%BFbg z+0Rht>nMt9#wGW^nEMZ{USmNcx5!8)zP|G#x!2YNRh|G`?bVQkeN&rA2Wz0lez64R zj*}eY9By*Tyx2CLir?uGiGC3f7LHd*SS*(&c<)1M(T?&q^i=v_+i&o$(GJLP2|G`! zCvRdOz3hnP{|!3T`2G$5x>(a&!@t&=wto1>XJ<{(CnhX}OEn6gAXA?xcRAU1 zKdrr&j~I?G-Bb>k%0p}QSZPn-2Plx9FgI`RjjVe&J8Tf9}j+;aN+DgOHOdjnIo{9i|-0Hfs%UB(E0k9D#1_`SZ%TT2W8Eg3;s^@C1XA)*4Ax|+_v#;8ykpeYgT3#osKhc9*TNJ!5Bir7$ahk+c<;gS?0EQ)r;PLVofy+(K>@j4G>P?;J;HGnlV2@OvW<%q? zLgwJHP4jHCXBmBUNpj8!-f#x*>Y8sJR^*lN(Wt6k-4-q9$_zE zy-6(E_7GK_hUyfLvaHXHh2sGLB-Lam2}{hc45h9m2IMTv--r z;93e-vL{^e+lVsDa8-`LHRV`}YoeQ6_#L}{z7@3TtxR{H#$2H%)CxIh?S=X(j3d3w zh-TIhi;9_~nWM{sZD0SXI9UA{Dn3 z)V(|dcCuI%)TaTZJM9~wF2Leg36jQb-nd##V6OXETxQ>Zq=&Cof+V}Gnp+jpTY)6c zpI4)9^*%lH_pKhbpwF#c1|zMrdoW6wLQWAUvWbXfI?b6*oA{HlaMf#xZFuc~_W6*V zeLmqDrp&^ohdl#vS#BcGz%mn~hHB*o8&1Y6w7>}cH?)J9xKSf55AFZqVAa*o?gCXf zT9fLT%b$AvMT>5m5EXf5dt8DZavoV~6<3$A=2pG^>SZ6_z>GbqE=~(ENNI`&b7+HGg+MJM!RZR~>XSKd>)iet>toD1G z&5UyJHmzEvTcPscDGKJr^=hGrq{=k7?6gQk;XeBwmf!=}X#JH$|a zLf7jYT2BFat?M)4@p_H_Or2E}Pge)a&0Ut?YiL-7)lrF+1<<5LzQGl6;1Zod&1QJCATPc{SO^bI!3#b}963mcY^`W6?=WAx_K$SwQnC$7d?<=n2!E$Nnb zGoKnxFRmDYk%+Jn>kFOio%)cT6%03^V?AVX!8j1*<9A>Bh4PBXlqbx2|9JkJV-Zk( zT&gMG5#{v?0XZx@l%FND^*YzJFXYo%z$K|&DrroV4nYcj;KPVNeUje5dUP?ou$vKx zf;*_b&`Q^o>xh_R{(_j;ku*GEZnzLyt-kgWNa_@eJ3)_R{mq#(b|+8Xb`>2c9wk-V zSNak4)=p^m-QV3KDIy72!*%1GlUa-|lWM8zj}8kP2?O?XTmn5TTBs0WP_c2B43~SW zr;&)5E5F{@z#8ttjE*bFG-e!R3(UpEV-g#|V=+{MF`>f7g zJ#3Z6g=|UWY~g;6GEy9tn6XPdVaw|MW;cD2N1d!XP&r(KqE5M&yM${vFlI(p6-Zcd{RBIoo3HC`Bu6=7{^s7_Eb$noNy^d-?q9Zc~wFwL^Gy zCUrf|7xc#)J8{{7HmHZka?;K_qqVusA^j*cobe6>(rdjVF0@%HL-=qVNNfDn=08G>V{c+f?Jm2ER4i^1ANh0+LS74q67q#Edyp_Hb3c9)og? z#a>H3LV7fo89|xU&p|5t7}*Df41rOJI;PG0p6r<9E_Go5-HYm`EH5wuEqf-v27!PG2ODWN9QM)n5-Ao0@K4S8J=N%IGEca21Q`I6=tEK?x)+ z1ob-+z*7=Sz$C9k+uT;IGhjO9v|Ocw%D2@R1|N}amKp0y?zEOMYPrZT2J%6 zsLe)fSriFaIg)NnqdQ2ikw7(dA+3u&v^0IqGOqm5tRZ9rH;cv)GUYX_M6vpU0D8x> zmPU|Z;{-ArV5N1qQ*^DGGEGkXW?J=VSb2-RUVa}W-LM@gGP*z$O z))LUdIeODnBquYTGrO2s(nC`?0%NwG%``SW%H6B8^(`;oH}=44hiX;6TmAvPV04P= zr=Yh>YfD0dxjpr{wB8t1Go>7QyG>4EY@Xt0*B4S=viXzErF!KCzD9+tDu6&T|p2Q^e zb#M8aE_h@@UJMI%7+yd#((OFGsW-KUuI;v$!`L#E!yr2!p(eDXLKwx>F&@y|O4?GL zxEZ(PO9ZdUCf$xfzN~CA2!}esv#au9c8sP9M$kyIT#$v7I^pe~js>VLxN`xWP+=V& z{NxxNA7J@*v&a8Zb*De8L7d7?U_JsEEf+(Z6xs9^2gO%dUTP3@tT?Ktt&*%r7!lo_ z`mS*!%lH=MU7PA5bYF5U))4Z_0Lc)e1**{RTB-H-Sgc-Tc|faYvzHc2}R~o{6>F}z2mU(R(H!e(XlhfY%&@vvJq-3(inSYDQKGCuGpGO^%Pqg-0y=0m?8r6-{tSp=S zP9m(UR-F}*v?jH}e(h}HYO`0_6++^>slG=6^<;K~x)$2i)l*N2L>XGwc~L?%>~^p; zw!MY+p65)xA>D&DY6S0xsl(O{F2-dRe)w*HK`f9}6QSQjlwb3O5`9m_)o=gBHVruY z1&i+(essJ#fd2uDF(+ucQXoNg9yu%z+RCjJB{_!oA#hI&Ol4#%eKNcdWv37Cq(wE8# z8r|xNc7M{16S^cJuzZ#0d}DcylZ|KOa85)jsl$5|eiZ{=)>Vf(y%iINMfJ7Uw9t)p zl1b~OuZF%D;=h1EW~`n@xkF_0u^{DrwVYsJ!bs83PM7vrriZzs{8jl&Te(^9mrp~j zru@5e(!mXP-#Emvfj7nND5Fq=JM3I9D*|09CiNyo&;` zjdl3}0@!E7e@}Pph)Jr0Q1x3@3o<-M*zIRCQrQedP17_6tKVe6e=KDS=z$W^UsY(1%+h(u|0t zrAglORu+u3zRU-}Qj~Hb1!l|FV3(y3VNL+lHxf!E0EjaD8}+aEX@BjLp45ST47^Mx zsCFH(=;~gB2ug;po7rNo0n;g@Cr$q846(4_dV_W`qVvA(wT+kDhb{)oz+vbu@xv%( z(p8~lb~#=6GPf4LHSl#p+8Jd_F-4G5ht@heQ3IcJQhWQl_6?((sO+}(tB&~9VU#US zHX%+76G&o)_Hot}Zs0E+9_HAxtJD}*C?Vz%WmUH%WSVGTpp|m+l@9%47$I@VFe0ekSkd`T?N#AE;{4|2A z7xi`q3$AV!)W>2kT_DHn8qzzLwCE@bL~}?=qPq^+|5x zkZw=P!bwc)B&K7$E7PoVh9MEo{YgzJwxVyWc25tWLuYfl)#rHAOm^ESyG)xQ~H(z0y9!fG6P)ra75iwrIfH zf^^6Q4$bjH{M6Ko#%kLL9|;1>Al8YRKS!h5XGe9$6 z8d)b~m`k7oVq72nrsBsEQ*piO)?37FA++_~lQ2q=_}Y@#^g%1C@f` z3%8mwaPX>-+{BZj#?Wt~x2i8cG2zcfr->9GkKS?PZEObFsOp_USA^IwhD*h?{4@+N zn|oLbOTLa-RB3UGR%b;-zdl@5-phqz=zDZsXX=7+>m*|nf7m%LKQ*)sJ)G?Kf=XKE z{AOZ|QPh|$JrXTkL5m^o6(zrYUG1Ktsx7+OT^~7yiBU?2qN*)?OtC6zrNrsu2psR3 zxP&JRLS9rBRR+O@vN?bG(RNLRo6l=c4j=2guh5AQ`_=6es-~if?Q1g3B1yz8CWcw? z$N8Nbv3$^JJ=^5zpfM>3^ipx(gy5)_yC;~j=;ek9 zBa~i(%8w=dVbS}1MAkLFbdq@}SDu0! zRnGH$D0r^k))OqVuJqX|Cm@hdxPORCQU0ivRmF(p%+J{C%OGA=u2EPzPlFyW;*RP=KM?Jh0t>INCdw8)(t+bH0FU>-1CIi-k zj1ArWtTF_?{JHMdUX8=G?Mowmm4kl?9TQu3!e!EbVIrn2iaQONXOgeZb=t;xl{1V! zT@59!Yn&fktiCwmlX!W?7Mvy#xoR&F5pQFNC=6Gs*=PEkodb~74PB}3`wk!M)#5D0 ztPLEKPr!>*0U#1KCg@16t&@;8=Ei0`lXrFZ6K(t!og4IS<}&3oMw#d%8IW=GoT7HI zct}HiRV&--#ffO$>Vx-eb5kUxp^%v6-W0XIb#=-^H*c8D?K1-FAU|XS>+-pUF5GP4 zFo&CnZ4?B=02R4Y~)vW{Zl(jmObh$b; zU$b!xr{!vMx~m|wbk6k9B&c(3-6UxtJ{qm!AxV%+XA+#%;dKT`koY)9)hAciBb*#> z!DNhF6M{nsM-ibLqJ3t=k=OuW%sB{~2T`;Cn%SZYEzH(9eyhzcFj)+dNsKh)wIuBk zcz5pL>2S;5*l`>8!g)P%k zi?d*8vklsQq@3}xZC#4TpDp6rTgzjqmc%=~D51RPB!4ZoCE($Bf!*oWYXG|z=h}Nw z`-^e7HGifl*9(e^n3`2`Q5VzQH=&YR0OXj{R%X&P_K;JYURrUfhnnRsE>3wWUzm5h z(*&0)+*e&wz2x4wji|ln$8d@C30%5My6m5k!a5+$eU6fP%c3T#4fU4o63XRAe7QIQ z4aCn<8#QSxa(ZZNlpyb-3qoT_H=d|&sda|NuM)Qy*p{h-=i0F9YGLEKEGf&_iq_h! zHR4eL?}(fb(p~)_@AVLw?ILbR^B&+v+dRrWvOsWoRP`(UoLWeqe&rtPvHgyfc+Qfr zCliwO*&cdr^dg}i76O6PpI*7=apr@5UN=wxl?7w|xGftUw}iT9ffg>nFv zGUs>J;?)Y5cSWqS-r(D>NVj?DZ~nM(w-;W?DyJcEM~ibPpld&5B4t|&1D#$p;DU19 zVq+l6h>t@%$V?Re18FiW@H7jQT~}U)`G8B*6?Qdcr{LLGYj~&?W)OMY5+tL2%={9F z7)SA^n(6bA@oOMT&)dcJ>{?^(x_;Y= zCTani`cPlZZ?kqR*>Vy`>siV=Va#3h&^NAi7ZmR87=-J6Y!iQ=l8IgDIX+pntL*E#a2UPMOz++dN5 zcy}(8CtcK{4fai^20J^waNXv+Pn2n@w=9a?bWh& zWt{1n>g6!2WS{)HhS~PAJlNLe=vXp@?-FN7ay23bNs@Ksi-#&pz4EovlgMxnOC$pE zG)zZtocK6FelHn#19>?MBWE&bN9a94WxrcoCQ%lX1o>+BB0 zpFl6R&$P6`0n3Z-Hmn7npyzZR2XYer44}I%l1s82Up`+A^2`^d0Oeg95v*g%jug&S zN9mqc#}S1Xki5z1>3Z#5^OhrL;(_clvP{=>QcLUnG$4T-BAQ`kOc|j;`i-*mp1rjz zcbbjrh!#I94$?zGiN&Xd#bL{ zkzN*bgY!3Pc**AGv+MxDl1(p%bMJuiy1?pU`*8Wf7Vm!-!milUVxBN0N$$6~PtMM2 zA_D7Q#75miF~JzD*0su8Y8tuMRCnDICRGfmLln*R2@Jflo?~lbIiYy|`qnZxZrs`; zw>B;=u36FJJ#cyeoFpjF;6yaAR16ZHJVP`g!TO4WO~$l8IKt%iyaMGDKOy|mFb*X= zjb9t6V|3)adHjwU8N+d1J|FmD*@gyMut!CDcB`i(x2Sxh3A8I*iS>_8X!;Wxk_oC(vEJMESSwP!2(7_Tt}!s`s|l~ zhFeWn3_U*iCJc;D>0&QaiLTzE#c{o!yH(d&bGIWA5vL}@<4x3INpWXW2V@urWK>nm z;}luPM7)RZ_e>d9jf(!H1biu;lvR8&y)&?gWlP=by`DGG<*y$}MqAt2 zWk;PLT;@PsO=0((-;kL+C5s+8Y#pOHGHK(yv`Pc9oF98|Y>l_Yi?awZSLP489+0DV zoodV2zEf?zoV5OC(|a1K_0S)SeIBX6)1rNZ*wpyBd&WM5b%uxGTlGs=*&(aMQ|NU} zJnX+qS^|tW0N^ZPLrWDAJN?yr?%7sdR1K=9R@?Eq>hMO^)2dzNzZN~o)Pu$vVs)Fm74JZTU`hvhB=jwseG7wT=7%f=O__rn6v^&Gzq zSf3y3w#k}Vz;I34=$|SvLw~k7y6wE8wWZbG(%G`5)18>uvSo5pZ!_=C^8U{gz^L!w z{V&2Rv)A9O=(U?1mesnt+gWt^S#_U-y7jF3vV*b+Rcm@p%SM*!l!LPTRA(F%4_7w@ zG?_xgVzJky5dPIn{vaB54wzQA4LSEA*eTK`Irc6S%Jm_u| z%k?lUsCQ^$PVH-nqK_R&nlq1=m%LU67V8Nf3x_;j#r4W8u{6*^E`Mxper#=iZ1IQD z(-Dj`8yTUJQO{$x0-}c-6;hZcvQoF}kzRgaj(5)}wpU&4_(eUQVZ ze>ABI0A)yQQRlr-(%tlq>&%?z>H5nPcj^jP(Bjoc<y;M>7) zAMgV#o!EvCb=-%Mz%dr}n9l~NI`Fn5$bhii92BSD>GCDyE}fQCFBdG6IY9JxKJqhd zQNm{qRQwt7jrXIr7i;$#Zq=x3FzXn$Vyg$awvNjwB;*8$xe!A&UB-uFoaxrq5se3z zqDzjG+YT7CHf5Xj%e#CHLY+_u@R~IVHtYYvK+#2Wi_a>pzLL+BBrSiGPm)AX=lz3? zlQ_nozkJGxZ)NDwKmrQlteZla#AO_hPg%>O%9Y6N0?D^ZVFUAw92aTW9cxk3uRCK= zV?Ng+7g&lc%9RV|n6#gYzViu@7dL!@A42uB-o~|fViKuv)%TUphk^vBS=)W=?#2T& zV>Ca+m$k+yTmGdsU#&E1APS5CF{P3o(7$r`w(>ti={P+@Vz=r%gT8mw58Sfg zPkF7Bx3TOJi>NEqdVM&r{&dSvKpF!^_JX?_K`!DfJn%2b!dnM1H)!F|^X| zv}MxTB1*u@Xkav!2HG*&HA~Jn@>S8yAgW7>teG?}p-m;1Ff_?uslG}IrCSkhFUopq zwAve4!e_TmNFd6O(*%>UKv)HE5F1iNs}6wqr6Esj$QfsYym{XI|8b3 z4Pl?11Gs}tBG*2CsB4uUWX;~eCfnU4aJZ9lz-G}dekSExw~2#X+}9<4S&49zEsalJ z(b}JV!~g1o;YmjC63vd3XqiLPb!aAqE-s!>hh`l@-zEDl*d-thY8umM3h*4)+iE}55v_Ek;K9MBrQ%@aY1ARlp$>VTb!dPH)MOT_w)e-v z$`BCc;>}tEgcvQVA`oWPLDg*723eF+db-@I8Ox~DQCrTA^1L>hYd|gylGG5Fw!*NG z;u`7$nN$JUYijqwE*p*DR2^#!9psLuxP%disH8q5H zihVe0Ij;MY60cm6zWhQlitD1eM&vBVw{;Gs5w){?Y1iMPZ{HzaG7CP~SABvDjg`54 zRdAg?hOtyt{x!^@yP!zmcAvfq=5UrJN-`88=wzp3CZxV)^;{Iz2}!3gK&X&YCi-30 zOqG7i3p_l{(9;Z0=O%;TXoS`s$D-%}*0m&joNcdw> z(fR#nD2d1zF_uJ}dT6`Zz77x&i%MLQ8s%*M+zVUS7!{yhTv1SA*hnKcBhlnsBLr}o zG2DA}O!I}T+m0A_VYM9@1@r?Lyfz`Dd?CmtZ4w?Zh1AanT>k+MRV&BlsZV!@@5ja| z4{;!pOnU_~Ylz1DND%OY;94ZjEA)k!DiD4G%xRbW&$7X?ak*mON{ey};%Uizlrm(7 zyn~%%y4vEX@|PubER|sgPf7loKI&13iAEyUS$U+*r!f}tU5leh<#$VuA~(lIEYN42 z+h(jHUB9?&K&Rtaj4(0?hM*<+uwaat5oj}-n1Xp>0;X?jY+IXw0df% zmXxF{%gA=y7xRgsi0W5wCMI^X6hm(Z49|}G;PgR#ek0%DsJT#lw$p%j)>henI&NTxz@@hO+DEj6w&4M4$^HPeVTj()M@|sh z{)k!?-9w3jnBIo$HnQUmU@EgM?tTx;h)Q^F4k$1wgN(Sc_E}Bdxlqu2;R@ymnEenx45!QaK@Z?uf>eM5{Ggd0be;QRKq+EhVloA*pZhRRuqRdhKoGCM zRwj38jdSOD>DWBwNS<4qhcW464V*{N&M5E>}#qiH7;<|}mCA&^n)9S#E1kS_8@ z9QErT4$G1?Z_ZE%F58cdGZgWLhL26?fW9^{CyFdl#{FhYs$_@hw|NDi z-=CP=)bICYg^2~pzUtj-COqM0eW3aA$3cK?USb9YniI)*NCU;ELk?B%XD0M~uRmN7 zq@VHvRuxm_Q~SA+PZ(6xa$r7qh1*6%oe7>30OS=>@E7RiRei6f9=zPI3Y6EY=Nzx= z?B&g1eE)PDTzRXwn=TKSpVjP|3cT;DP3B05bQ=Y#E#;NvkIFRV3O+b4f3J~Wt>vNP zExCfvH!z}pgZqzIw-UU+8ckN|_qF@Ioc!SJ+u>cD_FVawojHGfBNr8gVfbp<&ROZ> zsj^5>s;2IlqJbq33|@I#`Qf$@$;`T$c|@Q@tj*@l2jNYfs;IGj{U42?mPeARO3k~i z{0Yu#r1rg0B{Da?!^PvI%f9M8=}Uu9Gdd6&onF{>R(Cq{bWz^mP7j;fVZDQ3s{D^P znnpGi?5jQ!P}A4vUr~yF>FbjtXl`)?y@*ZyL&-2EeI4>njJ_vl65fHOMRend1v z?efMplU`X9+Ykqhq~G}ZNGTpw7JXc5WC(&sq$TnVCk#sw5X{46 z3#y08Yq)IjaJls(VZn&@tO<_%e@&w6?-y6ZK&ZQV?JPm_Y+GP7Yuz}uzx;-7wnroVVLrW();8ot((8Pr$ZJs(UZZ%uqLZqf^v=qNES@U5EXFn;Xl$naNPuiLU9 zu}dr!hh<%e51Eq(5fmreskv_4D(?ZH+ru-USfT`Da`cQ9Hl3IQhREV=yU>=9 z;iV$@MV1OTbWBM&Tl2)QY<756LzD3W%ult-4{Sy`i)O>IHQs~rH$3Z#qJwzY>7!qg zp^(dHV;C!i*8KoC{HgqF*lbINra7%K4P9+u?7iee;RrmTAtfGAXJ6F5$($B7%hOJZ4Q<}L|;Sk&z)A3=0!|?}j z+W<#FpZl%Btr@$x06~2JaIoXCI>2ogcIg;#4bF`{`D=h0TIfB|d_3zwKq8r(<6v*;@E zZc*&ZkfQL6S#eDUvzUlp)8ZYwm{lbiiUB7Ouc_Vud!wpk_Kv}`$S~r8r_qTTF+_Q4VZ;T4& zy|YKfV_opED%jHAq)X=Roz=3&=ozj41{mh-Gk26f+Q`0kuKd$?l+SMD7m3CZAi!g0 zhpLTmx7^z(Jb1{$toO^GXyiUqoFjXmwMZlX+D4rd_;7Jzc~O&e=Xds(|8azrS}Z8D zIP<`u;4zsspRE(8Y;?O6-eGg!?(3jjaPaNA`qM$V<*`+#k6^pt*V|ij-)6n&+tQX8 z5oCiiW~TmjB5q|6L)cQ-mZgyWdmbLw?tfScF$>62$W+CRcWVO~y&eAi2eH~Ll9|`Y z3vn(}A?I4>&BdM;mx(Bkl>dnvliPcAKtOz>e;xi$8fAR_JccWSWC(o~cQjyPrBcW1 zSC+*#iVt=w$l@O@B#{T#RAGSg!gBMax@QQhW|$emD`L^R585ci@}p8u(m)U-eRvxq ze|RS&eUQf&q=4Tb&=n>F7c@@z)p$Erv4V8yNcE@153!!IFUG(q3{^f~8nBiBo8i!4AT> zB1=p;Etm$rk-=HwM;n;#_MLgDu6QX+spC?@Y!OmO5;|*Gi=C8 ztr!AFCd-xyX0lmI0@{<*-?+~3-J80r;e|CkVu2-6qITrKPrebrZP23&WavV5=fukF z{cXibN1u19wzFxbA{CkCFDt7R>A9)JcrG{_g;?5#yA6WcHXA&0uIU}PQc(#PUT#B21XPz(112(5- z)Fq5b#gS9PfZC9nfJoI0a&`KhF5gQFj4RvrvV0K9%hREzUyItnJ)S^7=gtI3S3vgX z3sq}mc{E+Zoub|^iH3-tiy%T|BCW}&(L$UZgWz^w(c|xY!06YK+svqYs01;+fRgA@ z-Q*toVn$!eddE=G2VA3&xrS*mMe9}W^14aLp+xmlWP`KSsg{Mh>oa9PP`)4?9Ho8= zlwU)#z+ExQj0)safe<#S*n*gXOi_r&g1Gk{1p}E^W66%kE+9tB zN5I8?m{zh0!KK1Wc}vP7b%@gF91%6;;*`MynObaDVS8$(S~htr6{6Fz-ngs@8WK`> zMoA+2wpa?wiCN#>saKD6l*X|_Ji=a>#y_K96G#?J7IU6!de#5Ltwk19dq`_{g?zdz zQvS(Z^bk#|iqj>={$&zP!9u-b+m0tE_75=cbj0AXm8gwOvo+T{KIGxe>biT-PiRn0 zmTq~0e4MSQfNk(2c7QSGEma1}gQ5ShTfLb35zj6(8cH!or$lZY;oI~d-iY~$#w0V` z?i%ar``QnVb@kb#2>!&qwV=#5gAJ;%CUriQ^vlx2r1jf;7{Vh)Sr2lBg(vFU{Jc5+FV20XXrh&x!Em@TH$Rg_g% zwgI3_v;5#`KC0Fvk8a|}rKWNHFQ0q|+M}bnh{p?z>1t|SwDs`mYWpaRy#e_#JPBAs zep>4V=E0eHi@+5g!IpQI;HxbI34KObl$KHoZT}k|Ac66b!W1f?vYLP713q*HaTu#wJt&t-g|BVS_BmxkTS4WB zoG}j!YPrvFC+`3ut9f8z>KD50&bZ#Ayn0WasQeWN!lU=>GeZBx;%#R5jG|DGI^ZtR zU54rss!{Yr>XMn%CBtZU$xL*KTW%Qcl9|d~l4En1BuCUnm*BcOTg}LO)~G_QoByyu zt$1LI{p|VFV>8uE-D872Gj)&AX1Ae={xj60&~X~Wzq`%TbJ^%N^t6EPk}7OHd*%q< z8>x?V;RFmHWK=dyFHe$(AQD$xr0cZZMjv?S4>5CQ`MWSSLO+rk+8SgYnQich55if<4|h4j!{@=?JkjKdup6jnmx3o4T#^H6U@ujV&#bY~ zR!f65zE%KJ+bPD>d#xxd@eIU?i5-DD3wV4vVhN~R{Cn>Y=^E>zY3H` zt9f0@+bEeMPLq(%2AQB3HoW;H@YT&BZ5JqJSRr-IP>Pf6$!*GvzBu0! zJJpP?a<1FRwvU!C=k@rViXAqgebhI98l8wm5%AX{_NqPYlee)Pkp!}0JsovUXO4!P z%i8@6(N_y67U{UasTsluI9`q8$#e&YNZr2%UOZbPaEDOZQGBoLFhWhX)8=SgPJGFw z%F9zSoEq|yWZZh;wH(50c|?gdP_r%9|5CwnE!uu-gl#vTh-y*BL{#&u<`bYzuVYl6 zuYpm&(@9N6#lW_1ma#~4v>Da242KrV$fPnr_?)2P19ExU@q`tJ|UNZ+sCL?_T7S6f+pVF_!dBFC6`y ziKAx|M{8MM&&DFJU*M(q;4FTf4IRh)I-H8%)p*~;+`9gH; z;=~o{(qx^4Iybz9_}iP85I^>j-9e0eq7vOf4B(=?zAc>@{||{o*W?w4JSw%|l&l~l zw6dHfU>y6RTuLU+Yl|^CSa|@vzH*qgCpt;IY$BZlHh(XoLsMGw%3(}YUSr;9w?5bL1+kAa_ES!a6pQl(8 zhMv~sc0|qr8Kktr^~pVdVW&kbnwQ65%W131!eLfCCjKp)K z+AEgWu9(RA>livbfhbU{;*J8^sFMYaf`@d_iEk}1t3N$-UVZzvcx^~Vv$(+8 ztC+(GIB0f7$hpI?rMy5b^bXBqz0*;2J_+%RRxc%RgNvL*BbWS9(4`ON=3R9ebiI}O1Fqg#e_+mFT1u53 z2vrVfRLaLzQbUkzYTg%qw-Q8q^=o zyS&PqbGpqBVOd>wHIQVv(D>rdVp1#*i(Ix%tV@7iWK>p9Yg{aM7QGe?Z5_Q5XSfnL z3uEOvdT~%tUZ|;w8v-|g#dQ?h7`R)ut7_GgKVdp)U=;Oduu+2tt6SxD>ZY>Ec2+Bm z$Y6*FLPX$n!C?~}pWRJh7z1c4`m+l&>``5}4&zb<5&(9eRmyC1s1?m*B3=>lh^Q!7 zw}e3?K$O$tppm?CbToOz$zcLjZr5O~e@qew&6N7U zL|&mOZn*y}Uy28@y1*5QfW`0=0ury3o%)j~sICkAs?Az=r)Ab5iAaM%AgA5K0nl{A zVA9c@<&*&)5#ENI;+XDsZwr_aJgkh%<)=6#rRXixsF*{EZ{n43oQ1c- zg4NXe)W|B_=}+&5oDF!`UZ2}{qgX{$Saljz36fMNcdoHtN0aH?4Tp5A$!S`t-(!}8 z;JYDB1XzA>L$a{x0@>6?{sfJL^|4rn9jg~wVM97r+mJr~*m!3{Q|E@uF3+6MTCk_F z4!8>hp5tikvHzSC4%x^c(?7_}s$8e5>V7j=7bXFnmv|L9dC; zFV&KY+@9~UZs4e-^;s&;p$P9lye`}ngcNGDqR!H6Ojyrz1BO|oRHZLHT2u#9;8rFx z_S4lnG~)KuQK#ih%XTiD;UDy6eX$_W4=XhNFx>QmT|hs00_bN2&3gAy!7|Yy?rU0A zC+#otm1u|`R{I(9UUbdqDFp`)^s$~eiaQtmzRj$WJ08W$P_?=6h-g^8l6@;%lgCog zK)yu~6H`bY~;Mm*%;LOrGf@ao?g?@C*(Pwfb0z665L?cYtptjP}r&;;l zTw3$x)*S4w4D6?Pfdf-;u+}>WSt@&Mpn~2WJ?nOu5-LZ4otbe2k&JPA;y+~+c`l^6 zTzk=#GF|=>y_563h5;Kr;T}*X05o`KB~4;uD4D8Kj_RqV|LDj=hZ|}j06lx)tu%?e z(={g|XV@aOQKHQ|>p|zN#4P(xq;*4X*FVCDOVa<5)8P^mI**{`Jb)e%DLj14AerTw z)Nt5qZn+4Bn9(>$j5m~;J5$d!8gc)*1*x-CAJ8O$uidbM`_C-`?r$}_6AlYhlNjlG z3F0BcOJ-L2hGQx<@XMYT`a>;S@#KaJVyxj5l%kH)%hmuqg3Q8wE%{^11m0NNV3-Xi z(C%1o8BSU)tfTW;Xn06%1Tc?VMn8^afnMv<$0xbnpne0aaur9;Ikd)=sQy@e6SC{! z5fCBsP~)&@_L|AuBu82vMzcDVF_`G3LOtY~3+tVAb3~M) zIBm${F3b7IJ)ge zP>k|_sKxpZhnoDKE^CqmQ)GQ+V^xqV6}7%8kPmm;5=xpgY(bHjLuQgBW)sRCH+ zpW*zTFN@XZqNJrM7UVXiiPO1ogkrW;mRyBZip{!zX|!rh)WElT-$Y4AJ^*gvqLUQm<@rl^&RSQG zY7%!6?Aqs1rPQjBEy}Rf%TD)4_c$asU=q?VPi2a#N2`H*h~({;J|2mGbINcY8<#mRtDOj<)OTE)VK1s&4>4DLt5e?G<#emRQG>mF z=7}vd!t+QG`9&LCDxCuiy-4MkrE6>envgMeMmg05&26&&ii5jTuWGoi+9d`TB(0C_ zy819KZiTUs5?mw7HQhf9c6@lrQz(Q`6R`=|DV1E=m6g4Ki;Fk4&_T)J3n0lf10B2E zo;1(iF@r~-G&YNv*?l3ObFr22@w*zXt1d6|$7z)jE^g* zbE6jAmY)_$3qh7$tp;l^FIO@gGx1`?4^r+}mFbQHKX?{bar z?0@>+$vAbO>jUH7_O3j8NM=EZe&hby75%ls55j&YKgdY#_zD~Hb2kiH9XEl^9veDn>WCn2cZ62f!lCvgQa;#4kr@j=-Co*4od z<*#yt!bj%{O-KTZxAQCC7x!V?%~>ys8B?sOP!e|*_5oFojOBp+nn!dIw?G;IO!tRC zNREUIzTmc{#BI^mn%lx-!_btKH&=o#YU*0#%_MT2HT8j@kzJhr;qs<+ov^LlE)bLg z8ly*I)3{wz{TZlf4|PI=zt9}(y7h-!fZJv_!t*e%YRK_o*C6~7hvnL623&AKBCO+* z9+%g-5vhD>P{VGHxG_g8r4hD516+b%23aO+8e|EJI>#LvO7_ei^2Cr&==3+q zz~T(M%3G{~=<@bBI0N<^;VC%vs#^~Il!_l*WXL<7%XNs~GWGwCbN*)vrff`#1NK4X zz8MintT;%ZRH>i8f>6xB_H zec}PPt6`9Xx;gg#VGy^_6dO2X*fFp`1qV^y_U;N9Nspm;mt1EEA%Y|>bof-33V!I% zkt>`X!wW7Y*V6|RP?S~>BS$X<#nE^%Di|HjjWX^qVi1Z$k#CntcY2-{T%CJVmjjZ2 zMq-WbvZ}|oTx$5yO*8!Ht$KcX2tAGjy+uqxGtgEz%Ur%hnv|qrj(D*mz)MA-wI#o9 zOOMMiKT*cbG*SlFeB|95lqY}&VUCwS<5745-D4@~5huVSDH06e35oN9cRir6kS(6 z*s0!P)$iaESffH7s4ES=QuT-Gs!k1w%C!t`9?gA21fhjubpJtg%|U4%H^SZ52VoST zQFhd6*L>GDcOBSKOvlEw6lVcCVQA$G#W3#JM&$L5%=V|0^EyXrvDe7?0!QW}Y9|@>7`Zp2f-CzK}3sXfigi4q|@_p+`R>^*Y;}30QhFoxyMM|6$V}j{_CwtfQtC-o4Ll-9g93%P&fsxBJL}>aVY6 zBkzDLbJ94VfD{|obKHui{&?vGt*&pC|276c-8t9Ir>gosMkRUFO2l^n^^o!ZfFZXWx5%oaxLt}#}f(%N{_hsJil|W ze73VW_59AE@<&s?W0l*WMx~g;<=-YzAVIl4m5C$F8=^t(LqFG(KWp*8tW>_x{hmRO zBweK@{i3_>czJ*9faHvO6X?~_p=Moe`!uHXkT1*wyv1<#8!l=0wr)v z^*~x=0a=^)JZZcs3yOo)TXi)_LYdv26nc`FE`{gBws=En48y+~-dxA_9^>+$Zd3crxr2h|QDrT&q$hjTY1=Jy=iH&+mOYnVJ6Yc{D@o znH%jOhK0nlLC3-kH!n3{#W{}2 zz4ERNj>+AM?N3TAGP?O7#yeO+H;>7I;A>jWBwX2&SAGRg6VyjKEr%{#eNXko>Yr3w zIWbr8Tt-26|9wx(T|MrB3&da;f<)*Yu*rkI*~mofO$5ggKUp=RO~N$!6+GAS_3hPp4($>Jcjs4CM2m_He$Yk6nR5#8!T1#ZqC0ZjzOa8nw zq~!3d+jO)f28LSFu3IvbTEYtwlg;SV5~Ayt#OYX>=Rm)tF)<*2i({i|-IfRq|b}LTGN>8@n;;@2d0iUYCASuga9Ci?Uf4LBUb6|mC zBE?jKIjeyjR-VjKm(EwT3Xd&d0<-R=V5%I1D&w1wY2o)olg*`&)=<1taVh`V9RGr&j zDsE?4WJcoliCY;W-yh3*B}z2j$`Fb0#bi~Gg_#7eJ3->OO&C^V;HNz=XU8bZZGS2p zV!(Nl%Vgp`ohrc#Bg%Ji?i3!*H_yNzQSwFiiCtVgYNG@l>@rSrG_#oKSBPlE73DK& zFPFBa_6DvQ;~mALw$0({(ChSiy)OUPe-rUj|DD7LBj|(9j-p)E^TDD@f)94Ya;Z9| ztVSjt85onPro3jFoT2)oKP}5=%KTEt=surk%8F6P_}1BBaV%C&a@RC+y+`G8Ux8uu zO~sJeSSq7d%%Uj4XpksI5%M5WIXCBxuye{RZU(y9^P515Lo^vh_+nC`HznA%n#(f1 zsZ<;?0m-|aXff-V)p$#yr`v3e82zqa${&TYjeNlv5sWS!Mmv30f+8~7ehdx`XMG{%&8m053BP;_r|TWN(jW}o7; zP+3`QU#SVcH{?G>^K{YS`eIi0kzC2+FtKpKN7YK5B-|CNTEi!I-g0z2Pm2>HN+K=Wz)dD8~Z|?=&;`x2MHcM5UtzG#$?ZolMNpdYo;+6kf=2 zTHcYo7aQ*jUmC_{4G6_8RHcj;%L*@Bh7I$DEjR(u{H#3rGyO9CA5Tx9fM=mQe8^?I z(S3^gV*$pFBu)CdB0;lYo;&HQrS@)=M#?VflqOOv!aT>_{&5`w%ndY1E+ah7)9|)} z1||78P}9bFmXv4S;!v0goQvsPqzi%qogn`b!(If37-}Z<5Qh6o_Et44K{9YfaDt|n zq)Vh3qQ*0#S-RjUhnk0`J9??#)#z>d`z{B?Vpo8Z| zA`mf&K;FY)^Cbh(?{eJ-15Xf6^j14wSL)a$#H~VV|XDd2G`WWc?U(qz)?&! zhCqomC>4B1?wX2(%x2L_2AkPTt_?Vg*_%K*^6&;!gqHeqDVC&*{Gi<~S|BW>4+IuA z_Yha6J~!Rpt#)S5KR9fTXX@b6^w1U1BC}D7EwMIW5&Sds;_B{_W0dtmAkx5 z2OC^0r_;??iS=b;F-3L~<%QEi`5F{%CAn6Ebf%f|)z}33O6kWrmcZQT5^Q4r!)!*P zy(buDTzLR7=oPXZR!S*%m%}Eh@-e*bd3S7=$Ig*2?|A)tY=+l}YHLK*mv_)0#*Z$A zBZ1NA7B6eZkLZc1J2tl`uW9G&qwXte3+6$ZhSWL`Ej-wqTJ{U8{doG;`^5P>qrYD$ z+-_WSt3#f3TrRch0F3)1*y>|zo~ceSNQ+GyrLwXs3SQX@Kt-WQsHZw=uD(6i z4B0*i841TQ2=+lnWy|qe!?-L}t)gd1rB~4Tb)iN6P@>1%zRR|nH=MGg7+}Xq*>)6j z_0AsINl6AlKIZtSosOYBJz0Y`Ay$u;{{@M^qS%!rFjkF;VtDHzM|$ zdQM8d7kkCTcSa_~@2&2X)PKKuZKhoE0e|EHF7Qg;>9Vk1+PTc%dF#`zYNY`!0>nkc z)q?B~bUZuYPq3aU=c;31kd+<-s5LmcP*xVI^`dPn#!~r;D&I zm-7wMC;ao}DscH(fRePj+%;Z~>YxIfrY2!Irj_4$_>Zf4J91hINLl_SVi^@!A41Mr z5tD&!iT=Q$ojzy5isX*{Wo6?-f2J8axL{jVVIHvbBRVS3w+Wz(S^A|y30x8+t_bLZ z4AX+dv4E-ti9#Vr1SNw=f`r@_Bw=sssJ^j}t%jShbgGG|Pi$~M(*iw?cpXH?545^T z6Wl=atvXR2jWUwEGq{lZaS=I_20!_38s0WAklj_g5#&};t-r6 zhy6MJIRXCwNrC!4AbeD5c3spEyCL_c1&%io88pTc)GjWT95lkIPz5*bB zl+FNWcc*@1duvN}Sv_UfOq6{&tD*VB*=zb`J~+t_R^1c)ur|29)l_MYN91w6W+YR2 z&O%X+*>LB+yeW^-eR2`5eY}Bz)6+NJ8D2%q3rh8og5&3RZf(V*TGZvQI8?wiWKVpY zYVa(TGZZFeJ@&Vm9~2n8kG15-Z&hqX>*CTuKlVbK4imx8Aq^L`;!4CCgT?4xi59*G zgdN+x;|41Z`Rm3@P*a=@N0}pB1SHii5;+RM6w0kkHOLiuJm7daYFW}Kh)d%L>*+9 z(x|d}+wX5<`+N~^Pf`@Os0|7SVF9~c%jS+Fq*8YjEZDRc0+2@J4ktqHbxGDD4VBz_ z96gPrX+?+A3l1-9g%7M0B|;M1jjp4(o!ktKdWhoL_Z0KUMdR%40A!GXeulUcd8vV z88ACCi-|VLI|Jb6a=_q>rf`X3ZWwI*RT6p-Emp!#|#n1@^KG0b~sQ|@-(PB zn7#!*)n!MK-%&G_c6sI7>1s4m{zDKh704JEonuFX?Vv?aG^mSgR6(c836>d-&+A)r zQ#@;`S|sqeO68jB1JGuYp3>COUjYdAnxF+kv2-z7bagWw^05 z*Y`mQzaQx5A%ZhV*y@C>Q>VvzqG8~Y-Km6=y%VF4<_jQHV#8EdifNo)>1y{Q1^s;6 ze82#YJLyS1unrI%JT++cl+ZnVT*gOql!(?Z=PIAx8S{(?ON`GZzb=^|y}R4eG}p(b z%MW^mt7xhauAo=GK7LV*;*3oXcg4W9hbL_cG4@ibP_Bbt7zW>_;}Jr%T4Ou@jk2_; zP4LXUH*eR{3q(+bG?gkBD@raHNx{2wFkbEAjJlxhF9rv+; z&Z-k4OPbS8eo&m2`9X17iXpSoZ1jRUe<3Y~2wK+p+lwJ3s#=+X;uVh&q6_Dv9_=Zf zm4zxL&Zxo4pCFz=DWu!Zpad#b8Pfc?Ga5qdavcIUGS!1Yl4+OL#u4j5YY?c`Vb1Xo z&rvy>S7J_~9rY4Lp;(CtT8#~{X*EU(J}#lgq}i;8t9_GoWwB)4s;$WwJ}cPcltHZo zlypKj=df*Hk%9{c<9oyeX2aDxP(RU)RpQ}L22r}ph5+)f%vo?OEaK`Q6ag% zYb;;KK-nenWaX40AT`Z*d2{#??bK!uBgQ8)OC*pz*fR-iB)La!}ICt_iB)5s!&1qn>;_YXxX zhdIiT7e-|M%XfKYB<)`Rl;wIY>Efic7gefBvE^&&8e2C{#(5T8s@Ssj7$3<9bKE}6 z%F0qx-W*W0aMKz}OOj3euq2t_$4ip7mLyndv?Sq95-mx#@WYZsYcOoOUdl10buyN* zGR9VMXLzlsq1F3;VLR@Q->O=VBh|9{`eVE=2W7+o= z=I*5FxtO{>HzkLL0Pk#<|2Fqm?)$mU$UzpLNDIQmks6ZYNDV3iRA=O#@YXU*sh|1( zvwBFEvCY;G6j|rrhK=jE>OUUUpc2wD+Z_YL~WvZjMlJESez(a^o5#$x^Q*m09| z8Y2xg*{xE#nNRFFw5{Ky*&d9f5X9?^y#0Ai^{Zg313+Ov1Pwtzn~O6w_4hH}CXBKv z!<9U4I1;heDt{s(VATMk4YVBINBdvcMw8+kjBNxpXf`C`=t~{LDZ28i5#R@iVcZJ$ z)Wk!#@fc%@F(D+Nc$he9zC|)~m|aK9c(*;CB!nn?uF*tk!m@apHYh#iHg%m z)bG$fW1K>r=b|nf~L_GOjI9-(z{)WiG(Cf^e(z(6WtQW zp`;nCl=mR(fk5{?kPuVn-%41~C*+yxK^G*by$9@o8EvJOXzSs|#tBj@r9$Lq<&BaY zmxv--*Rv|37&x?#t*&TMKlM2*ILB+Isgk+#1{tqzJN3}C2dc;U^(cwrK0`hsmKXl!LQPc&HeQYnPC3<@L&yQM z^j4?xoiw+??6w-hxB({vjnSZ|r^!q4{NV15V>cJr0?-66UkWITLTry{5U zzaAJ#d$93^$_Bn_yQ&g&c{I5eC`VlL;jsA5*LnZZIoYTbDNo+^uDFd|(%8!|i@@ap#Pq6zzFwzQ@l`()Zz-?712uunXC>{+m14254U zlO(C`JN<&+{r}XZ{-Txx4#nq3b=c!zopgC4iIdl|wYZe{whpnZRv3{k@W1=cZPjx1 zgzCGQ#{NlF@c0^>J?02m6hi%-NsZebyMco1zneAm`lK+i$FdUxcf$MrdO3=>khBLw)nqR-uDMfDunN=+Z09&;W% zE&0bAf7ON6l*9Tq*^@y8QO_M0>LwF->cyRQJDm0>AgEbxLM+D{AtLCsbVX4Efg=L3 z2o^$Enr5mS)(8`&@SB5XHj&L#_p45}W4tFKmE7@~Wt1CW8hVpQFp>ZB+tLfrDRSEp zoB{tiuS5^?ea8{r<~?>Bn&>d@J6#rCbQrZGqJFdy^}VTvpJ>E=Uy5TI9+rJCZw6BB zZD74u(M9zq#B_;42jsgiia2CfR)>n}vr&qb8Cj+Wo21QTnCwKCsG&;G{K)%EP-)No zxS;43BcRPf60Nppy(KlvN^XLgadPVSx~++P)6BA5eOj1+WepMvJZYk`J;~dUxrj=4 z{4D1Q0w09$A2A!gLrEvpy59X(4zf0BDP#6yJ3*LAmIt$6vEBo{1S%N1r* z9qM&<2xABwV^jdYtRiD2XY7e;`RKM@x?PI9q&BQ_^9EH4rfWE=ig9{yYxMXH4Uz;- z-!gUTcy9il)OXxE*+R$zW(En*V3H}HKYn;6GCR`l&Xfm$y2C3VXx!U=HHZ8hJH?=1Bhdo@Z#HcE&Fi4!*nzauA;xnW63*o|xtyhWPI85S-WE$c0_fsqS7Mg@|zH+=RznBzGHX0hMpO)!dw(4VP= zzDv*4LLc(OAAIgoWx!`oVdP^Uw?KVKPDBJR)KT$@$3K3^zj4r^PZA^r}me()H)&j}&XQ|~`eMdIfuvc%0jksiQ^6LYUbGVP>0^ zJ&Na{xQ{YFGbpuN=*hr>GsGNv_(EHY1GK2t56C#CT`IPkv`dv9&6_P>WOc>BSlTy% zdEF>rTIsl}~;U1bXlf2@I;2Lsr@T-Lzzthsh_05p6SFTQUL|OTDQr7xE zIoufHW-zk5#Ju%4jwsP2wVm3l;s+8q2HG%`DpbGNj3>x-DwrA_S|ZC{;Ow}B+F)2b zj;I-ldB@^LCt=>H26AY(FSDLGPE1JA1w&SpY33ivJp1D!3OQ~q45 z5gV-`i;xu}i_CMwcFBn%+9eY*35$p``AXX_Jqnnfi|AvD-!%2}t)Vfc^!hpaEmm4h zW3X;^r+d4gqaWx567(_wb4493ewfdBQb?cT2XhWb4)xtj(A5qKFSNO<_2!0;%Fv#d zZ97eLl9h+ct-XTh*Xv(?7f-VP4L~+tR1Jj*mEWbktJ?TO?XojOk+3)jBZUAbjFQzy zrUVGpp8Az!IsSXzBI`|mM&!)sEwYM9x5(m=p#yLXduU5M_su>Fl;dMjztj068e^X% ztboc9O(0YTH3|8gxvRDB1rP^ztCFdWi** z%KCb7p_*MBF#NcmqqY7xEs9dpC=%ofkA*>GqQ?e?9I<7@;_Og{A47dPF3t65VR{DW z@Uq-rm~8cA2a?e;&Kui{fn6z_0p?)@HOi*@ku$|?BgtCBvEk)>kWAWJM6IOY-Z@S& z&o%acP%VKdwxFm8?rkux(Z*{SlVvKt6Nu@{n`67&C=gm=&kApZl&xEBzpA>SbL3H* z0JK2&19TxjpsjG6S4qe#bxD5~c}7Gw!<8t(sUX@HuGQ)TWm%~+FAs0Mq%k9V^etst zZfwv0&$on8#XGB3dfANkjh86W_OofrheEp__)ws3Yj*NZ|1NRiK=9n&gr?o5gwn&> zMcZV$atZ2MTrDbK%zgZDg1g+awsxiv=gIl{cix&WGlw>H7HI>J#XZ77CJQK2Bl-v+ zw?&JG_is|c2uWyKO%gj4JU~rwB2C54WRj?U-Mtw;0N!tlJ_f$Vv+xx)bU(6AI8JHe zBD7Nd*4wtBf7s)c@4Y29Z}H7)_Eu=HO8NT|vEJ%ih0ZE3W=PwEI$NyW!Crk3k~7C- zS(SSW@tdc9cI>tvCvP+wn47dxV!qOK>1p?GWUC9aspgQf`uM5s?9zb>Ut9xH6$|;uQuKqiWpjGz=D11m(>$1n z9C0DFwj^vrZHKUh=sg*1V<{Npu_w#0B9aW@A`Vg6omjALMS@5KyJ%WP);SR`8{}*( zFe%y9<7(q`?kGGUdfHQD?Owg_vw2S%Y2PTM4ZIo=G8-WZpH&DKgu13-A$7B?%W$XA zIje~@P$^JPPc9Q0eT+ljKy{COsG*1qXZ~!97r(YNn=@fm?|jP!J9%e{u{(L635h0p zOCP9S@w&TjrrQzW`nC?xum1Ke+p48%w%So`VGpk0I>&;Z|NCCy_zSJ!KA2nM*$76f z)*uoCSA5s?E-+NVt5WssJq9!<)0g{Bge zL3`mr;mnVQFSi@3o3!<2QP`&g6;q-&Pq@MvYnK~Dv z^is9?dDVl(Rho-shcTs>s)^@mveUygsXLdd?_l+hiY6SEtEuPtJLz`I%Ky(uPkV98 zdbaBlTMJsgA{6HrX8fd}eXDU*&v5m%7}8FQFbF>gfhD15`dEG}%53C_US~I>7r`-$ zn5s6*LZ3ed&5tF$FPWqdFXz%i9k|3|pR=o=!-%GcotY~XF#}*$?J1-xh96Wh{8)O1 z99Q!H4G*g-HA$+fYJ<}|u86$q)P1;IPD|LDr2sDrO2$Ir@&fS^31sIpt)skvQ?gSK zR=Urv&criw>+``Bbyh9S^f8SBATa=5+GvV6@i1w9t_FkJ&c>I1OQK4R#T@I5j*Tei z0x6d@IvK;BAK`MjSw>L;!Is_ZKdj?|q|C0-;V=tmLN8Z7$TQ#LG?$=vk~q+xexfLs zn2|8`=Jd=&>q*HjiI+pY6RFX$Hh>ms*=>F&QZ(V!6^R7GcE@lMcad>TFXMs?)f%_{ z_?})Tv3O@^PAPWC()fbM;9JGOW%@x6)bEVWsJ8}1c?b8liBmYip7*t#FLSOkDWV5I zF<8|={!B}CGi?+jGu(fBQ{HfUj&xP;%PnYM4iRp-lkgf3DkQ{$KrhsrbN42>Kk99u zDH#bVK`C)qzM_>IKo?On-9WsTIEN#|nMMT=cKl%=>8Jd04WRPXh*r~{lN|8 z@b?RrgI747GlWM-=C1stt&wS%Qe9|{NHe&Gq9)Fm!ZVoin^Xla{P)HcxIeNd~>jHh}sR9|AfK$EXA~b5rm7INs za3ybP8N_-;!<-=?r*j5TwNozWLWfzgvl7s*ATc=sjX~|+2BP`C*Fd{d-BqVCrnyiR zvM#m{X)dEKnnvX#v99`%lQ`pjae*(X@+<37@$DBEkB(B0V{WfuJ*{QwbLher>y4o0 z;c9j?#}>o6u(c(+?r`J*PGvmtNGDb=KhL>%)tb*&kGNN8kjAR_i3%; zgVu#i_V<0Xa~a0TMiaj4Vs;)I-%q}{cuW*M=(B$Sby4Lx$QV6HcR>K1ou9V)M=N#F zW3JHrd9cDg&%6g+ktcexJJ1O*+_hca+nOiwz<>d>PbfJ>e-1EaR8d6zjw>7 z;XfYq|1H=CdS38Dm@DRyDd%el&=oqoM@TXRO3@=Q8^<+xfpN&uGfrUI3NF->zILQ@ zmkoL3kT#zIaXD1y{H6&baE@a^LKy{(%;h7!x*5p<0*oB}>|;70-#-0O`PIx5hd{w8 zAgJ@qyYz854>L?g_2A6YcOYbB^*b z2`7J7N<}|}lPOdJ1J@csjiJ3!=|0aBItgknJ$Jtg7G&+-p}-X|g%765FzdH7LX$W) zXG$n}PP$z#6I&Nk@nxN&m^?bN!0Mw&meu10d?&#bcL2Q2~60bO`sH7hn*NqkpfgT-XvX{=+Q z!9A`LlSz|%cy(RXJ2r6-V*V+0?9*C(r61N+#dpawGG{iW4p-a6YI@{3r(9fE<{sN) zGZeW+2a#Y;86!{-j`3#9dwVs8RN+c&fYlX|$U3k*phXcL$gWcaL2k=}MabjNArF*h zTxreou(BQ~pQ;~ohot0bS;mOSC^?Vf12bU5ZKw+0dT`TasoKmkO1a}C=0DQ@<yZe$E>?Zf0YA>V@Rag{`b}L4ZCx?$(pklUMe)rZFu2 z{^kfnHznp+FA}7!2+nhW6Qlb| z?2=k1_)jps5(jV5f}- zT_W;`-(`Jn>^o>(Z@_t%JxQa+9uIL7=n81qp=GkEim$l=E4U<2V9uG zW<661cFv;m@1Xpxw83d-6*xF`D>wAuS)63x z4C=hb(NHH*%noUytZo>rv3W>MvnZvGd?@&Nxef9Nhrn7M&Vg(ZiUGg|A?2qT>RMtb zowhGhwYX4LwSrg%g%TMQ%n<`n?z8sUki zOf1KzW0g2E%49=l$%*fdS9k9{ry+f-sg1E3B(>{v$7n(c5vSoSqnU@T4?aJSV`g%=bDM5l zQbIm4nPzh4kShZA%aRlHOGPI$+f0;hw<%d=8ESnaZs%i(r+)CdJKWdsS=rt7K?5J;n0o&1Dz3C7+E8$!Gx7Ge_ zsejW^KE9!umE}eW$>QHsj&_%H%kj2=Tc6-n zh+jX`_d_!*)dDr-w&zI=u`{ifX7x?1JABQuOt)&H9b1b2Fj+`|;}~M#OV%d49E%2L zXhF4H8?V;)aAMu+r>xdU;`N>faG7Lmmm+acTx~DvC3>ck6c_@8y2yHFQZpmd%gRn_ zyke!4j*3wnV2t7b&nV!QcA_r~@%65cn!@D2-lZ68=UQjxyFPfy6j<-SF<6%$1Z&2u zo`||EXwL?)2Bn#z>0u3-Ob6@13f3F1)?mH=^st^@G&-wv4UYeR>y zK)Zbg2Q>N;0&{1i#HQCVd3^=(Avm|ScF}d8qtYM^(!$p<{{+#_Df8(Bq`pG(-F%}P z=F_!P$~S2soa<50 z>1#d>Dfr?BM_Q(?;f6nI2uHHWR9bUf|DQ%wpRkw(|2f3gvl=1_!jbs?fY?M(K-N^A$FPG?+{% z2$rme1ra-0>VmHrgd6owT|O*?3&lOFux?L4SSFuf>`gEoE|F}= zHFeDg`K&WTR>PujmUvOO(#3xl4g{ARk`lxAIh?k)4pb=>f`sgnvJ(mMnO|cvD@vXE z<&%V8{j~}*?OSv_I}Ia~ZJ=VWnX%lg9Yrm4WgDphcO?U(8>+{qB8*5=(UTem<=MIN z9-u!uVq_2d+S_8mL{I*ekM>}LT(K8>YDUs-OYhV}C$!GXi@`uC*(ii>*cTzv#{_tT z&!oQx7#^vJH4$*bzkyE%52{-*q0ihX5GvIhOTLZGXZC1VRs?#^Q6B#dt~a;)hKP~r zP5gk zqb1x9KI@l?#VeHj2ZPDHurm8`|Gp3!nF8lc!3#7#Rk7X})v0k&lMo$(%3A{LiiCRW zoFN~IRr{0XR$yW^nCguX9&c@BV`fyD-PDNICE9%If76~kRvNZ4V@oZW1MPNuM%Egf zxy6=S&Dz>us)(|J`6{qaqn38|y0A=zZ#uB=yK(#TOjbk4mKl_u`5eYQcZ)z7QkYE` znKy}vf71Q2C^uiikiT3Kr)w?e@}9D_V|SdcwJh*z;|Nu23L;=^JM--iyNo5%bB!`( zQ}y9NFinNleH&xC2?(V0VVlcWZQL6O9h_H2T=I zjUw40?gnbD0Hyu-UO;j63xG0;4xk%xPXQ>)TvgbGJW4~DX5%R6?~u-Dz<|P~dt!tX zIuwRFU`630)<>=diLpK42Ke<+)V-HuFnUpl_|;k4Z_&f$14WWJvppl=X31kooPh<> zT9P-LHAW(F;Qe%Vgq~i&Hz?24&K+hB_ZEQFlo2D_1l-GSnM^mnZaQHhQG2o9pb|O( zTbS>=gUeg#8mFc$QNmZcbmJ{k5B+YO;(i z*p|1#r$80fihT~QX<~zz53=)PR@s3dLcviyHrY((CY}WJ#q{7S7BlipGxJq&M?_`iudc4Mq%9qKIzG9RqA_IrD#F8tn|Q^lbA{4nW=0a&uUiUCFa zbM>@;QS&QN7Gl;>P?$d-2@~^`L3Tcikt|s?lb}>H`*HtlUT5@?$?n$8$sJ7I|C3EB zz6_}%*~vsT=C+a(nhS62o)$f+Z`h))oa(knO?Lm%!c}b8^h|U`GBo1561lo8YB8fJ zFM$QI&FW!Y9g``bZJAvIJPv*L7BN%}A8W!#hHT4L=JSfPd?zsz=Hat<_&uE@Qu+MPAI<-}~A20?N;RFF@t^&&r2} zWjhQFdyvxyBXlxa&&mv%UsZ3!judWh<)qt}wQSoOo9WFuL{{G*AZ=hjjnh3cbcZag?B)YM)Pua2}#(r&B_c*Sr z=c7gYbg@V#(4rEw!>FjHPrg1XC-a#cLj3IdSv0rAwVA>hFX z1e#MJ;Bkwl0uDox_zw84;tObsfJV^MtyNFiD>`rB4V72mjhrrpRCRzChy7%|PGZ#X z)6_q;lb&3{V9_&J)4TN~l@c2Ih!xsBbsx!PeGGM@;?XfyIOamK%NAt=;*n~3xK+}A z)~onvw~9^=D^@7#z<@t%VflSJC`5Xz^`&^aph--N)C2&<_1-F=eKFA4KaUZJf!kn7 zj$G!iBc(DgH~C#l9RRD64BWMyqV_r!k$a$)=jL)_7B$wWh1ubU9cHF{K6i|OdN9{g zv@jU=w$AuGEVxjxVGwAzTQsO9TQ?_uKsxVcdJh{a5)j#2k_1X;WH__UR|0BlOK;S) zAUo`Zn{&R0(sDQOngbaGhqf4(Wkbx=-Yp;PJX=2Q-bV9S6rjH{F_RCZ&*L7p{Z`vu zoHdc1f&!`vaLFrksMH8R4ST>A-n(rh3N?TVFBHtl7diWBPKes{u0Qa>VXew~X9e=v zEJJQ@nla9y0Dv+#wWCavk>dy!IKP%1AqEv1tn=Ocp*3zf2B+oGw5|q;0wYL*)S8N6 zgPoZS*yy`Gr8kytF96!3p*8@8Zr;V;$}ypVC7VVx%c8%3IY@+Z2c~i=iQJYZcQ6DJ zhO*mO{Ro0(dp^0}{ZTLc$1mxl+7EIM$D(ud*HIRaGjyAe+RQPkRI25M{o7Sdp0h%4 zdk*>~&B|$$SZ0*6=kH`Su!dj@!3?XYJsM)IHFvs$sa`%X5g<5{u}UBhAPH#$vvpUa z3+u-9db2~7u}*BOB?Da+V~ zZnNz162#D;uTd3EP%Br91+$F4a;P?>+XW(e)`)D$_ob~N9vAzpY+Ed!l67&YAnc+n z(JGbQA=8gFBQ`0YIci=U&`D3)ZQ=GvOJ)$j(&vz<={>{}E9v>{zW!%_U(f!^`uZRd zTeH5b)hX)a^S;zmZZ~kxfZuCa?6$B{?%>KSh;epN=v`q21Hzlk%g|I8J3#EzEMhqL zyLrD2-#IT_2sX;Lzcvr7?ZB!x_<((n+46Zc(EY7SiZ0Pu!Rhd19a)0%mNM{==I2jh zfr+I{^kjHvPh&nG%9A7XOSU?Z4O1l%YTPV0(38US=#%Er$$>TN`KDF!mn@_t8Fqq@ zOU(jr9W=Wh9bFn$=%rH_i?Da8A@b6S8V_ksd%kuaK=1=mPo@OYXGlt$!+!|=!sBE? zNSL&nj`dN2G5sF0f{O z4@$O!XLjOTG@^AjkRlBOc|%KS6d2?@{MSGZ^34^t zMusq?!7u}D%vgDkDroEcc@nzhA2heH3=x&=Ud%U;%_(1pZ!R{l1tj4Nh zkA}y)<8YDb?qkuh#;7^cs4I%*Nj8hK<6(~4zXlV7m4A1!lw)lg0m2jpvlztwbcOq1 zwvCqnAolBBoTQV^rEYaX4huTTqT3K)KG=YCpr4-UK#THl*ab=_T!9qqFp;(?2aq&| z#HO(1M!Sm?#-jads~qNGKdX#0Kz*-PxR{VxEK!^RJgUVrz^Kexm4zJ(W_rh=)w8Af z#xum0xNMGrm80}*DGb@;uyqw2uV%>#ye!#ZqOb~4Jb|xKp{lm-&xJOu1)86$>e(f+ zm4tdnnRqE*w?wa&&#iLcUO*l{Z2$3kee6kzd$RA|Dfxz~0tNw*NCrHXl}ma;=kLDP36a%$c#XNsJ^%ChQr*%2wi8iA~Q0;NW49-j8bPyn6r+r{?1 zWH#|REjGpdspb03LM#EG+f$ufccSz)+!29t@@mYHrz8@*P8#ibe z{`|bJLJ8|+DDgCU{W=|`^`i{@yL`ialMZ_j?rz{RiZ@Vc^|O3R4+SPGBFesvoypdu zc^p6vIgOfpzc#_h{0w99em%=TSg6D>ZpSH9x3c-|-Nm9|Eu$;F0k-Xq^iHF7?)lOO zC<~-n(LhkG5Vc&u;ED$ZTmq_l`y5eV$YQU>~?FGWF*3d<^hEh(5 z9XyH(RxGM%w;qqXdR_NGC9A8Jp0KP_bG=YMxa+ zXZ0-KqXaIjq@ZXEl_RwUUDB=CBx2f(-vMHt?`n^^i2s278(mrv-I1IiSU=~ zPfv|JLvF7EvtG#URKCGlh+8KH`;)w;v+DF^r7mmrAfxwyhK3Lx?B+1qw->2|vb^(R z`!;vP)vJuDJ+EFTtiH<5*8Li4(F`JhqK{vhOsB<%11IG*UIqj?E7OA}l7c3TN7#|# zT*ay_N_p@}ps0FkuPo;xCB5qqL>{47kEs(rNvu*TGRmGV*Yp((Z&+tIHf?pP159dF z?XYUqDN6>lv09s9^`?QQ5%eW7-n#ZCaNWb$^o9Mk>bA7W@?ta(vJw zCChH7YXKT$(Lo308H)}=%a~GclX_*B@&~+LXLAM*nI+cct1S;8gho6Xs5$FKsCm7C zcw`byQ%bQ&L_GfBx*+d?rf+B@{u#**RSJ#OBZ}4NNx9p`KH{|BPU8>&zE@e z_6bReS#Gq}HvQ?7o;YGK1er%fd}s+;a9DyhW4Y(s^LtgExquxWKG&Z`*Na}~XSXmI z^2;K=H0<=u6)5dQyJ_sXc$L{StODbMrdPwOtt6+026~Gw)5fr8a4JDI;!4_+&Oqew zNi5c8{h~Nea56E(QC~fJ*@4y5LH496AF7_L&AFbYH6ndLa}0~sT>m28V*EuPh1dQN zUKE?a7fR7H{O-%!udN~_sY0EE!q6EG+G>~2+P6<3i&YDASJ&+;J)mOR(@8o#YA)ox z$zu_D_>b-s&2T>O0c#o_wLa^7uIfPwu#i*At~u4o2&+$ix204?^(O$^k$RX;082eb z#i~a9;V6AnZ+Tu_)n34=iw(khYJCp948Coew$&PHX!%&xX4WjzG%b0QHAkPZJI%;G zFH+E(34d&~m|cNi6BtIi(cR`3Q$v|WDm3DwyICl+@0~eQ7AO#SDF|sJK!3i8)XJm= z9>E*}Y^~AkbKW!(1781QgXG6ik(K-N`7;CXLS7DcVXJs?8q2&~;jpemYhaUv1Y9 zGLS%l5}>6=N1@=MQT7v0m{wX+r6R8jKIkGbc3iJWeNkLuiui>IYEr;YER>51Mvt7~NEvvIa?j^{|+e@s;hKB$Y!*_`tGF23f50IJ+Z6@F0nf zC|4D14<$qQ9%c(Ds9x#@7_v1hsn*M@cJ3K?r>(<#PN!|SmDXiNLu|KJ_csv@#|~uM z%-Fsm7&FTqLclNX99M`yA&p06u4afr;1FdRi$dTKu>tiEA>ZQourHIs_=G*g=b3E& zovf~UGb$w)qZkLv&>_7VU`TDrwgq8m&rP^xWFIT*6$CJGR$2Ef&(LRKfl^tp7$A;Y zfEXZ4R3Fd`U@NMR)etGyEY$#*#b1oK)sU$D-M}^mU5}^bobMXaw0nydUP}|Ijcf84 zA$RxY9_`UKx}qs(Vl{oUDj}8KQTOwUHWI9jJAHQ&Kq+BC*7?m~MJI94m^iipnJmK3 z0hUL7eN*+sS|-pVQak)8ein1ETq!1gw%vsn&mexwZ1-Z<&&@u>+vES=KbYISNfNJ0 z4-T4`;aw~`9|3D^S+^ffqb@Y`9a=YOa&-B2D7?)kl>Utfzbuwm`O@#N{!r)h4yrYi zm%}~@2*<=K73UPvwAer;emVB(s%j2XI~;JatZ@#qw+dQp0zyCu3pT8sRAe>%Y3`?{ z%9p=~@vAVA8rb38Pxfgm?h_2YL+cK!8wWB8k)tk!-mXF+NDj8jrwH3L zR>{?04BO-4GF@DvA$4P_n&Z=u@v-FBs+U}hV?h@PGW}50>m-t$c&Xtt0^J}632HBq zb;Ih%DZ+Y>_oWP+zM!%UFfCS#B?lNFsxTE|VYVY`x#>-4LE?zo^~HN$9>B&X!H$nr zZiJrk(4r8#Qc0K=$qQO>$ey`v+&LG9W4pd|sV`E9c4b$wU<_Sl=ApJ%8x^Mh3_A!~ z2d=D`W&}gpK`*ldpe&Ylyc2eB$2#$F&{kaFqQpdB9lPDe-AC5Va7ng5<00vUm>!+I zZt5NHcC=NvX-KFE{avnBpX z+bP*AnRLrR9c&?=$i1F~&{s6-C;4aQe*Srqe`@>5n}NK{G?7-oJ(z@SbyPt9S8_Cm zk1Ip-h7LkdFFfj#&g14)72CKgJ^F?!D5|LJ%azkKR^L+F-AgvVGwLg`3_@|MQh!&9 z;qt4)z&b8%C94DrI%Ho(PRMBi1FU4Z{J$j+1+D$J*f%*xR#mMmt2xRzZKN+AxJQW_ z>V`6(IeQSse{#&5DDY%FB(O`=?H+0h8Ab@$q>Ww+mu5nuRsv+<43#x4th>}mVi+?`Xjip*^Bv!yQiXW4JiUm9ZgH}lX{rC=fXWZ>YiPPb4dE6JK$4ET!4f1w z&fiTz&TFFm%vvA_s7ad=dB_1#l3uBeQ%m-7ry{*f#_P;;$$D57@;A+GJ|a!VhDor^ zx8zBe1ggv7ZN$D=rdNm#FM;|!Q0>`}ZZbA@X{<(l3@ZUy#h$I#3YAlJdWE0R74Uv| zY(P9C(YE_sIrSwXhDkH}y_}DAcQKIFBUdeYSUgYaiBQ`W1vX(VHt7*Xr-`(}U-_%~ z-=UQ&vlmQbKV)H02Cr}GNzHqMq|%V#l#uzww^BnM?=k(E_=g}aLkgo6Q$qL_r<&pm z*$V(OYT<;}1P@S~%(FtT#%xG1TNN61O=?JNS&B%@upYS?k;5N$6F`nCYYAK#ps|_H zXY`N0)>)lMHd>5%6aeRk%&OC^_m(G7KK@Z40p0Dr=Cm*S6x5OQQ{E%4E$obHZ1i zz8ZV>+Ks5ObEef|ukYeKT*kCmq;(VN^`|ZI(~Y8)zKD_R#P7}<(NKLMfcSK;`@Ozr zOx=yZiZ93RFh3H{m3!{Q)nPgmrR-5-hqdg6@OydqJt_P?+2`|}7Jh$bfr@I`A>sYn zP|vqQ{zpRkSHtfmA^q`C4xL$K3I7v6_P6ZrJ>AA>FwKow$_?FzOCU(GbZ+O!c0uq^T}r~%f^me&+1qi+8zZF{BA zFLa*I3$PwIz);V0*k+;WkWu_1s+^|X+mdMYXE5&@FDQdXA=8B|F+WH1r<g}>rzCqQsaDjTrlWBYw@oXcjIxVs6`fu_Ex-bp+BO!A3!dhFdA%3Iy*L2Oa$2qS1i%b}UUKjds<9Q&+7y_uNE_xx z?uy@5nA;1c!|PqQhYjtWp6L!b)Gs6lq3kSV1~FOl6jy)D&Nyo))Yu1N45B7fD1%b& zlXJdh*V{MrrZw7D0T`?-9o3ppAJ1MP2|-T&3s*^=2-&n--_7PvTC~e%IJ?Q>a*b^! z=*j$E^k7HWd8j_+6N8wjNm($?uB1IpCW~msa+e>8z@wXS{bxJdtIy^FpodzOuc>@K zo1I_R*R1-g#!!U(_ipiSgH`{mJ0V}(t+P82>ru#{=Brw(W+$tDPO4WSuR2q9paR0= zWCeyv4+t~TYKoeeZ~(N;j}RTG?)Vygu*dkd+V{7&C!c)PvORo>o1;A~xwkxKsO}si zv?2>pEUzdH+Ax-t`(!8*CR%H41_9pv%n_gwMIgZE3zwmBZUTJz1bAy2H%bSZ?u{2? zp1qE-`zRrvO4(x@2Y|6cVsJc+%YFETlJ$*j#vrk#G6%@Ikl6@i#;1`zOyWeK6`YOj z&JlED`BB2kB+j!FBx$)8N(iH2ZYn)2vw#{85mHC87X}L=O^Wp%cE0WPOB`1=Ht4NU zajjRFABJ^KIZq;|%rqeGlStFQc^VH&PraQ4M%)wjX@VC%}zE zZ)M5)4<#eLNcY#1R4414Jz0Bv-7R{PU_q`q^sKB~{r%>7<)VTY!yIssO6DMs%k)_{ z)2G}U*wVFhcg6hGUvPU@1mO;zeoo*ii?Can<$nw^YsH`kY@SHIWKOm*l!9DTRe=4+Rg%odH> zShRf5sUV#*RXs5 zY?;#PrElzGSm547hzlbpNzOmYRNtgP#(@^2qR8Dby+GEZn|hqp^aC*=t5j54YQlID zaUG9A9ym4k<@3v{q7xGorIHG%H8e}GZgwwm+KeUli1VH?nb(FLmR$C(nMFI4;p?3=YdYq(*XcxHLhqtjAJ$aGEr=<58DO{toppUxMWnSovZ#CHvG(kV zFXP$ASb^OD*+sNgg$eg6X3hc2Ex*NjD8H-ghK0&xpAjOBI9IBp?Uo;~f~To-ifV80 zU~Pl4Rm+O169-JNr}SNxoc)!~y$VR@ZYJFkPq8E&$i;YE`tR5n6YXw`#rc0j$A;Mb zoRP+O_1aK?lxmE*rw$>0Zv`H*6st|)%@`=#)C*IYI@KxZE3XKgg_pSZC8=I)j6+0T z;2%FwRYJ6m$WPE>U#nRk%UW+6P}Dl}39)u!*OOvxBP(bVSn!F|4@E_7>pZX960lL{ z`njlj@%mZY%L!pcUL9=7xG0SP{>-`F-xBI)tEwkf-V$pQIQcFoSTm(`*?2;ziU1V9 zVA;zidOlsB8a;h#ZhoIEs=$AxPg9|3u;~J6b0Oq=qlGX)NdhyY_E193#&ZPRB~(XP z6M^j%9E2-dN`-?UO(=d_({Mx;%QDY?srwu1D&v%{SRX_32`;hoSnSKFb5zId**g>H zb_o^OjGB54h3l}^5dBMyElowBd(3W z8PbxE30E?4DCM?D9Ng36CZf`{vO+0Dg?b%pS(c0 z!u{f0`A>{aO%4psuR|Vz#X*}WmJXF3g-%>o6INE-3Q=jb z|JDZ@QxgUT`bcQ5pBUczxn0Dz{v`K=h*?_rO_@^Ef@p6WsIkib0jsn(1zQ{HDQ7W% z{RpM4oObSvdKFxnH(_R6F5SQaN@BK9;q{+7d<-kog_2d80v%RE3tvq5+Nhsd#NhQZ|Y5?RZsDp z;fNwd&4Nvq$~-mvnI4sx+CYdwNV=A@u7Ch(lGdpK0zc(7eK!e7m}-Oy6XPRvD7f#m zw-?Ba^M{!uDP3Tnp_27#wED{SKpN{-S)s2|wF?()W=mwy;dJmwy$e0&M|`+U`6iAR zarO2q9OMC&Z@e0eu+X}tT0B>n*&gRHHYo0Mnjj`=usVRhcK*RPajVIPb z8^$8-3I1pa1~b14+M4q;Ej41$BMFAmhnmxEMvjW>X^F6zWHSRpN-kiHs6~j%m}&V; z5_Uqp4f~(0%mlLXL9fdC&R3fCjyGGAEr%b8y$>_p);P;T7*?*%8!g+DWwWm%I#j`+ zjO^)`qQ==*n-FU;n~-yGPluGnuu1u?Pgt$Ynq#fDD{D?~Z z1YOx^2|%d|xq?uXEKb}fL@OE&oYo)|E`;~s!j#XTvXWPC9F2^}02(!mHx~10SZw4H zp72WKqY<@T3M?=&@oWN+n-4P6+mlGgr`TRWFSWItrw-@k@>#P9&lf~mN|^wC6`~rg zDAgFORt;-;I0UOiYS~8{o=>lRiYh1Kk{s`N8Y@`TV4OaPp+vtip9~(6Tx*@#;|1FF zU@``WTSAaqo9@&~Zf&|e$gM~@L2hk2c8o`0d!t@%^_-GkGbYa~gOFKMk=*k~JjV1{ zfM~ljN|9Avgi86+uKZVy2(q=D)Vdo1kiK{!z}JY{4w}(!ErO&GcheSV<9;?zO?Std z8LlR^-ZMixe{N-wC_FLHot+{gJp_%>UTXHDe$Qf-0)UAG+Eb!2U6s8V`jo*c?{o1c z>r*y0Rc=%uT9cylCVmz-W253XAAQD_Kb!rq{OwpReE-Wzb$`%XM>kC) zNVWaQSs3jbNLpviqy8Z0h-7ymiJg;#PFUiG$*8jvecFHHi};tl?=u@%b(g6WnN0ut zvcnL!@=_xp%x;7M`ZJeq6{k$fbCI<@p*TBfI#ifAGz7U~sX?ZNY_xT-3a(VGvSAd!Ug`51a9VpEP8wjNc(C%XQUPj;0)bOAOj~$?6n{ z{m81(Z>0Y?!2A9a5{|=5*8dHv=k$-3E@R+^6JuKCJ@p_Ne5O+YXiR)FH8|)6 z&gqjq+{W0u(%D*zw?SB6=7kd>F4OxAC0B0B=VLC+~sjAfdHL0Q-^d$LUMxX_|yGzHPGu42>E zdMRto^v$b>zPmXpzC&^92{Z=~L0{CNz$o+pNhMgWBG#93-mg^`R{*26n?!3?U+S=yexce*zZ!-jpJMklM>wn4EiMECz$QwHMnr!v*=c zXAWO%(hTvM4k0&)bon&6Q}p1@CBG-`Oism}feLqSJZnST0U#D@Yh$=0^IMof<0d?V zMcy3{(uTY3VFrpW4G(F#(g%0c*;AyvA*~Af0QyJ@6QTGtOU3)l*c9y1H5Ms})5syl zv~q$8O4MWrm8v`2n=!3to%M{d0fT3lR-~UWtm+6p@mVm{wHqil&KqB?0!hfUp(gPQ>!aa}Iqeop-$ zdgip(NKJDbq>*=|F*(o9D*wgbCO%ZMy1#L+Q}tA?mR=zn%`Rs`b1;VFTz$vS5Di7B zV(z3Y-x5q&LnNjeuuDhHTrOccKEjb0T^K_R2(H?vESq2z;9}v9oYqXk8C5J469~u% zehIb7Bkx2-93`MY_g^IsyZuUKgubWIC!xDFh|=ezAb_K=#Lnz6mH=^deYzQ|RN_6Ni@yr|4`9wAZ? zBjm>lpb!-*F&5ztBzH<%NG-vKtJT+$>;p)3o<(9;^3kcmdfkX--$esG4wb{|t*@6J z*gZR5v6A>HWL2Te)B}4Wv(;mIl|k7?IBYRU?IeQla(hM+#oZ>Wsu;R=stjBi&~!a6 ztB(O}*-728*a#?8dXQlE*)7^%2(D54DZP>@l`X|@C5FT=kr+t9cU3J4j!XikEnBI> zbqU7)hh*6CPaaeAGB;y4xgZyMm5z}LwdJLNsitie!fDc5vn4FAZ^wS52a~(|g(lW9 zLt*u7yYHUvS5Nmq^z}wvHL#ac}9qb z$chEU7^_oezQbuWC|e|$BBk_4aUmr$(XD*4=TU$UL^@gAXa$`^sA=h4w4-Jv+s<7f-nlkpad48F?7!> zzLa=TaTzaaeRIx>(l?cavoK%1Cc}?oO{)>P?XpNeL;Sp8IutQR7#XJz8*)v2PBUB( zTRd!0K4j&?%<^GI`7oGKymd=BcQIAEHhwy!O%9{;A@}YN2R482?`C>FuT8|j=Mf8p z=(CK|XCaV9}1oA7g$yNVtmV_J`dIDApI zu#ynROexsC#+J(}tY@Ev5R>Vr&!f5j(Fu8b^ zE|Qz;iYO1r|(u^Na5Micms z^2@ve^RTiT+vLaqB<7%*%iL$v@hzHBYlf^t=`wdcuiHhN;{))(Y0sDpU^E(JfUPST zfJMq?yjKQ5LJ;{f+#m^gab7EQ=2`!ItseK69%81o+ln~P zGyS<9b>GuVLZ>x;ZfHYa;;?62LJV^TZap=S6fPF-@+2cr^!H|GZySXn5nCinJ< z8OP3NFN;bI^MZTtXtqy_4z%8gdB9~w>@NNZ z7u|zZA}Ofb#czX-xazEvx|`!I;;2*C$rsYW7#HETEM+#2^MtcMXzZP2Hb|zuQ64DI zj%6e-WR{0jNGyI{7u#~A=doy?5Mu!JP>dda>|#e@sMb7jBs+JjcB1UMnuZ#RX-m4N zm?Gs(SIn1dwN6N^18O#p4}vidMm#4-sN4=lV6kO9u|mK-_>SD!Nwo;3+FXk0i|EpG zl~5o?UJa#SDU6WzRgNDZwvT5pAU%+K^0&W!`#8INlZPC7*otNT=ODA<(|}ON7!jiv zBT_pn#l6yfw8tyk0gx@c1PkM0)fN5~Y{JpgR6R}9Q;Rkh7p(c(P^80RY}RkW^wC$F z3Y})9D!x!4d&%~#zoGHks$`WPwq-PD&X)+f@b7j)5vtS($vUpSv|4}brO&AbG-@;h zn!5pX$SknK62PEcSXzs~KZN^2HV9BIQefl+gh-~&hd|mp31Mj6Nf2Hb;0@^F*qZ{d zU?iZ@U>DM+XKb{T4gkZ7J=dqZV4NYHM+)B`-$V68bEgh-{kz5d;|%+9c^ zBqlRbKV`y)wmg(gP)0xua$8%%^9a2lVSS5;W>L7ktfQ#SZs=`7JEg=2={>976MJt~ z@2TF&+?ucanquj42N|MetkK|=WVfN^2ij+f>$MqPDb4GFt;@9U>=DMG?R{B|79!Bs zrl2NkU}UG|64DZvALveBHSV_Ghv$6>Y-w&uB9D$yPRNRe$cUM2Q3geZmb;<1=5nHO zF^B-cXqF3Xklm8Zvx@LhNv+qSu@Qy)FXv#?Gxt{PpB8Vh*Nah zH|}8BD83wLX9RS==)W=se_Nfm35(MwiHl)T259q1Bm3 z6s#9fiXf9L0Fd#X^g1R=i8+Qby{rHfafuw2)%l}oMoS%6yB}n$FrCqW$a8S-U?zYF zIb~mP8v8LCyZT)gr=NbyL!eXdY1ijV3%YHyOXlp>8oMM0vgH=yE>DBZriHEzk_(Fn z57%1Rb(5H5SK+Z0%jhKXvEo2qup~&cqe)LiZ%v19QMP?23hJ8A!_+7TbEq8m#mG;( zIwo?Ho8qpUVR5|d)MrfFFm`4x&p%B^K2nnl;4BO*P$%iYT$qY?ueLMi+^6 z3&@ehz-rA<()v{F*LvB4x^^n%W+mZ>gF9g(=u-xZ`+UFU%sw7|PYb_4^$T3~i}3rq z@cXXteRcRfG5j7Ae$NQM$A{m?LOJ9jBOZ#HYnu1L~KX9kg2q;4>v*DuFwTa)6 zlXKw%vG_yk&VaYqeBe?0A(W-wh*hZ{;&$pMCnF09++AD`G;w0)@=7G)4RLL2*<;kd z2t-*0a_IQ@s=axMCAcxWl+pg_ShTnEA+}gu{udT1Emmj=puDfnSG2uVF^2vKu}Fci zA2#6hM#N3plrX`oTGxKUl+rmXn@EN(QuzpnoZaEc_!eno9l^barOIm6%u$U=9sY+l z^ft@ZGxeH&=F2!+OETlYC9d@%*-%#syI}s~ZUu75i_-{P7L)a!taNPGG-}Dz<(ZtbH`%b}`#L9qigwnKQGv*65PhrCbR zwGZ0LE#Uo5d)8LwI{@B%hmV|b3erZt!x=mxDzx&MV2C==X-sfBmg^Q5&0d?&%r1&M zeKJi9xE3{u15?>nE;$gzRkf3I$G74}jAA+ga__k)ALr zHNRGx#W4H@q5ctO9X$avm2QMB?t$&Gc=wwNG6VM_X1B2k;nft-;u zqlOR7e86TION*c7$(m+4%CRg^x>FBdeRYkAPGfw+d_I(?kJ}ihLlL#!g9QhSchC=@ zhX9U?-I+yPx5+6uC#cCe1Mwfr-J;o@fuaFOiK2Bu2RassqHFP*_g&$^`M%#J?hX`v6mGg5^#7vS%uqv$Z!_=H!aKOGnC+sXpDg|Ba;$^Vx_tKGD?7srCr|kP zz3F7JecsH6MOJz}m{U4YzWo}UWt(LsYO0@_`jpU@V>Xv$#oZN;{XoE`<}awU;SV~8&z z(R|x{n|x^5QgR61U}?IS#@fe7Q4(|=>Fi>=yvcCV+~zVRU9tdEvmL+u^yWn@$+w;j zgfb+5NJ=0wV`{cH6b}sgZT4x%PqB?OWl7MbJB^|#xe6`BzqEi2JR)yOZxFM7p`#4J;HBE9cg5dn0fVh$O)3(5_0FboWqE*wIAS>F0)Ecf&6Gw+^ z7|H|INCj$-yTg`HmAc)Zx8BT*dVufQ*%pwr@{F1X_K+E8_t<#rg1-$kv*2%mC2K@c z643*%3SS;8AD(y>)2LoxV9WMoIT^^ay=KESx1u*Yz#{W45pLa1dv-FV!ZhQYCuo&H z=$uJfgzmXyhRR)?Xwa-2IerUp*px~u`+8_d93VBlzL~7|q(2S6om|9kIv8nkJ zB&+!oEITcmKT7op@*Xjp0vX~Z4GTjcPCd5Z-t-rGV|5aBNHbOU=!m+9<{L}r_IZ>8 znq<{C>}Y{8TQk$!U_i(R#T)zgX2RaFw^*{|`Mh7@pXxkGCW5Z?a`3o#vsMCfA(@Kd ziTpLWgFFwqfwzDm2oFNQG@wc<1WjT7et>U*kE;*;7&QG~y4Zt&@BuBJB73z$Io3+x zOgEyvXVX(W`xniIyD)=;tOV116eSI!M^ea!;TM6j)=mby5NGJucU7uoL)Gz8t(YxH z0-R14&}|mrmMxp)vviwRrBkGL>1=7~1X5bgsB!`uA`2}iyJ1h9EqWX1tYN&m)0#a# z-Wd!FQYoNlK_X3tCM`%A5XCEfywi{1L%?m#K^p`e$lLp9(GcGkn_9=c!WYF%3`{`F zJZrOln!d-)q7F3b`3w-5TISdqhs~10nq36o8T)8BGI$6M^$FHDu|U4GU!&>@Ev+cy z5&%SM!RG3|i0~9=ua*+6S{r-W41pS8qQX=8e!&r|ru$f4ebZj32~FFwnmSHsh^f;& z3Z7V6-S@&O?l;V|AYKeq6P&hyjbqBP#dYg~kpo5YzS*6YI-4J)G{pXOVP`{9eCz~nCEK@-Dd;7F0Z1%yESjD!@V5)DTZkRSS%<8Dh0oqjY8 z)%-+Aay1n4lItKVaFowNN=F0Z-(=D3*6LtWmCA&wWGd6$N6v7^#?o6;1gvPHBk`Ft zSN?Ba1K-RJno8x?t$X~8=?8n7+*)uLR1&U%Fw-RaF=~$>rQHZM%R{zjSZ~a109~MY ztc#_3$bDn#wSKBi+wT0>)wFg92y-5UuOpb$h9JX>{njSdDlnJjnVO7YQ1sVRroEN` zpHwh4?O;ozGW8WD)4r}jM(|HEf&ipi>lgt}U_|Tdpe|q^9mmMAw+h*{3Bw{WX=p_Z zLh>(py1JU^#6V>~rDCT15q8{~SgH!-rkqLX)Tc51nS(;A(KCPEhBaF&cdNCRH;q*` zg($nLzfxFpv({tpLW`?9;l=QHrzirQzzyK6`ENan$MLG#!KP5LxWF4|wx+v_38{i~ zrKVwHYCTb5>?`-iNIady<$Ln!?c=V#*MYE+WI@7QxEB+3E{Y@8*_6fC&pdE^I+Yr& zsTwyx;cs4O1_KF|(2{y15L-o%5d8tFQs>{|6PwJ78c{5}6(oU0Z!${{=6LcUp1?Ks z)v`Un63#HOPc4<{(HDEl0n7Srg(>*Kk3Dp2ycZ;isbn2Y#MhZ)>Z0EI!hwU~eCgUw zbK$CY?}s@ZL2o6w3I+Yy88x-t>#ZqREYs;%ub-kmqz zi8_FOcU+vH(TVP5>?z|;LK|S2*oYj!_+g*bNvpRO#zj4g?9hX4OfSw8KksH3YQjuq zAM*1KMqBvD>}&l%Jf_P4+`cO`)rvKC?!P$!*qJ+T)oa+9(AGQY*m?|!b+==fi{G}{ z67eN_C0)dJr|Y<34&qd1YRueGvN3MaiKdtl!=4>;&sN8x+QE6MIK$CGXk5HWB9$0S zy>(jZJtG=G#jK$X*+E!Y86A@{EFLWG#WOeEz@!B#W0f#N@dh}i%;JV#)?JK|%45cF zySmS8m+SCQP zdb4b~2O7+>+7Ac0Qcgaad;)%$rR*AaEA-V?BleAtL$7PK3(u8Z?{G1*Fkc}|wWiNYnYQ)aT6n;;QSBAoYT<%w?M)J6 ztikd#p{|>_v9WIZp299v4BjBdfy7jE2Vg(ExRMdiM!Q>)qEB(`Jy5ZV~N^rAex66B0pm&}ZFBT3o2F^Gsb-8;s|vE%dDR-(y{ z8Rq6E-%0vbN+0eF;OAD%%J~_?q{q)X!G)0|Fg5A1WToTFF7X*U3jceX%3F92y_70d$($*LIp1F|6}3xp9`1KmtXwRi-u zxJ%Q_8+f|rGThaWZ~5LFXJ49GWy1JKmZVh-lW&`4EST7}1{InX)B#ugE9E=&x6u+| z(CZUoUOs*2I6-$)4AYu7W1GDOZzfVw-z5koGj5hT+-L`7X?gNVd<>v;K_E|{ER5ql zjaF47RBPMczEwTIok1Nir>mOLp*5yeQhcyM68atOOB@c3QBlecone<*q!_igbJaV2 z0!d?e4*MhwmkbezaWq_ZaG7VT&^(`6y7jrQ(56Yl!&#R7j%=OuRd8+q=hQ0oa8|7b z=N3k~B;R&fr>P;$7zcR37^?8E8e#G_hPDHwGEwx?LiGioI-tm;)@9jIPc(AP9qxXn z($ocA$fK`dxA+?wW(|oCC8))QdO$rx`;^pVukZ%7Jfa2|&uw4yhB3K}ZUY`5b+g!($|S8wsUp8vZ3M zxA`^$Z*zju&uiJB7+ah-H7xL_oyXeSNVMFsl{I0q90F_JmiK)=}00@pFFq z%`*Tl<=zRMxI_yM#t@O0kjXRwqqRPOtVkr3M!2LjC$41!W5E=66gl=}sf!zt#mr?6RwG03Mt&M#rG3Yi`BR&*ep=m*FYvyJ9H(Dx@?)Zv36zJ4Vn?cpC$N_Z z15%31WoLmPVauR?l4?+JshZTc9RVgb6aa)#PQZaagf*?ArZougN?_op+oZr~d5Rjt zE?dukpVssBTc=9Efhnfj99*pa8cwqtXdxc7ocLw zr0^h~0E+-B@3JXS6>Ktk7y(-<0#v$SJf(`Jp=1DxmL&X&=rUEJI#g)JQy0znAT%RQ zz9bX?%~Xn(C=TvhFW9%U;>uv?L~AGy;we_MoC(EnKtYiNKQa#*m$Ur{LDLT>Z>Slg z8X3SF`IdXpxvlnEX0cD897-Evr|i_CDNv1=#kGcdiN)`N5kjQt+q4}b#XZVdO6{r5 z)0VEz){iMV5r*GG5_BZqSg_Q03id7QL`ISFT|`~ShnVxu^vRa}qR;Kn@^#WXYefuV z+E)5D+6tR78@AGF(9f*XIyog869JBpQw~6|mOQzyk~@Mf zYO8n=gn^SxT-YEljsaq#A4&|#Xs=r9?w!cp9YmSAorbs~i8=fVvDpr_OUN1F#0}%D z%v0JMo10tix+APXXs%PvdQ5xy+8E5H>$^{LdKEtToCEWnf+c;{mj3 zhX&_#`q^+tNRXS3W}Xds=EH~m>q8nBZOQi=y>$XWnFkNjINlU$ZWL>T(1_ux`*S27 zY1G!QWKYZzWb`_uNxZ2cEt-C-t z-Kke;O*a4sAe??u&3M}iJWPt?oWY1s9Q8kA{s-q=;^?!3TS(Op{Ec4=jvxXkA2OhZ-9>+fW z?}Fdv|EpSRNG`T77P*sE6huO6Py z!vlJF0S^!A;e|XrtOpb}_oyEFd3a0@N&fHHKfyrzY5Jec{|xz`-2aUFpE>?#UjFYK zi0mo4$fxh?f8Id-1EP^g9+Oh5oaCzi)ye~t~F<6Z;IpxivN)h7W?Jf z7XLHfs(3^GqT(O(xy3)_TNnRNzFo0@zC-cP`SXhZHya(SB0E^5-8DKY3HzqJ9t^O_Q zjNJ<45>YrS*4rfAyX&+c?IIl6*hk=hES;>^5uz}w<2#D^e{eX!VG1OYe-~k(XB#$4 zqmEE`JxX^5^(OaP;dN(QyhHx0$>N z;XB*uO-_o!`pyn|dogc9{m%3BHpZLqzayy~CD{`}XGgv5#G5Fglk06~-b4(C1M_9tHlLe3Rf)XjS`#xy2U_jH88fpjw%lsg*4u15wB7cYYiAQS zdAPAd-}9O~=0)c(MxOtI7xohtWXs}g3>C%0Y}yvzL-8#h!GW>(J`t0PM-zyMqXkXqtbj%@xC;FX>oL#|5b5Jn*ViiY?^Oh94B|C z<54q;_oL4iCt$5CPE6gEXkzWZZPD~OG2{NI#(ffAA;kw$#(gpy;Kc`1#(hf4xIcs* zSe%+N?$c7n{o#~xpPn-AGg8L=k(6#oT!K?lacRuBKNd6Y%VNfTdCa&!9y9Jw#Ekojm~nqHX53fC zjQdkD=fhZ=ng3;5Z>#kO)%thT`a^2{yK4Pmwf;Rp_7Oq$`-1GFg6t0j*&hnBKN4gg6J&oZ$o@o- z{iz`PxFGv8LH6f@>@Nh_Cj{AF3bMZvWPdHl{zj1ftswh5LH0>Ob}}KHHv?WEw7y>G zb%XHa=sw1Oj9`7E5bY+R+-FmIceC*QbHew}3*T=MzTYZ*|AO%Si^BIW3EyuMzJFQx z{uSZ-SB3Al3*YY$zTYW)zf1UjxA6UI!uNZG?_U?b-z$8-Px$@~;r9K)?FWS0-xO|t zOSt`Q;r4^V?e7S;9}-%BS7`mP(E58q>qmsv-xpdxDzyHA(E5i$>mQ}=cN+4mG~`1P z2D*%4AIPW=V!VeYjQ3rHJ}nNzf0`kuVxBsM?UkGeZ2yDL; z*nX7)u3x8s>o-D^-wI8BCkFJS@M5wCoDQi0r$cMN>0LG8bXW~Iy}JgS4zB^H_tb#X z>Kbr5q6VCftO2L@)_~JdHQ@BV8gM$g2Aqzm0jFbY!0EUea5}yQoZip2YjHviIGu>q zwm7KEML$oi(a+Or^z*|t277vq!JbiL zC?8QBXR7#FH3oIIYCA`D9H%-yS_4>XY5?op8o)ZQ2C&`)h?WDP^J_q8ogjSy7Np`r zLHZ(tbPY(X6C^GaBrXypE*2y%5hN}ZBt9lcTqa0dE=YV_kobfkafKl9NkQUDLE=+_ z#8raC)q=#Q1&PlH64wY4*9sEX2@=<9=r`2dXEk6BbI&Z^N)K;TpKnq(FIG3-MlUZ> zFE3RuKU)JVHw!GE6Iebku-qcB+$ykqLBRN;VDlxx<~Bj(ctPaLg2-0{5%vvVT1)`0 z+cn-hG~PQk-n%s3yEWdgX}tGnykFON@6~wk(|Et3@!qfTKA`b_Q{(-X#`|rJ_d$*K zI~wmp8t->C-iI~b?`gb`XuRLocpt5~$&~TFTu#P+Fv%TR3k5>H4Xsh6EisBw0Q3() z?=?W{?*ZGs!0)wyMR4B(xbF$rUI&C00{&M6pxuGs>jCuN(dqvU(Eb)+E&!H}nOVfd z?8U_F&AjZxv@CA_P0Ke~D|V432Mb1f$4w<+Rh*LRsq$B~<{Q?^5NxBH^ z+E<8ce^OlgN^$K^iECdau6?z*_NT?QKO?Svjkxx;;@a1VYhN#}eS^66jpEujiEDpW zT>EBm?azs8e_mYs7IE!c6W{-&_@PMa3q-dr-romWd{LbIOXB3WiIaa>oct@|90knzY(4OR&@G1(dm<- z)5$t8IiwCu4y^-|ch!N(VRc~g?m93zybes>QwJui>%im)Osd6^IPMnjWzVrVO8P$d zkreN%1Bs*Y%Po$n1BqknK;pPMkT|{$B;H>K5+~Gw#EEr)a8ey0e4q{xPObxl57q$! zCxjZshuC>8PL(nHGz{m(hiOAV_$JO*;(TD$%Zk%g?hKVX0XN;^BQortSqCs@sS9VT z&2!Y|N7cxhI>0(t-8xU*I$teapqAFErFClQLbY@e-o?emb>Ml4ylgMUExY(w9VlK_ z2a1>1f#S#OK=BiGpm;?cD1NdI6t83ttN2tMC|)HfUM(noT2TCqpm>d-c&(s#ouGKV zpm>9zc%z_rlc4xnLGk7Q#klw!ebIowB}DqXfOd<3cB_E)g}S>$K!Dn26kk+Vzf=bt zw{aAx__BcT6#?O^8u0Cc{v9fLr|P&%5W8CtJ5l)hHG$|Jf#~Z3(Y=DseS*$61fBZ@ zod*P+Zwfl!5_G;Tm^>($d`B>ONHF=XVDhkF@;$-i5y9m9g2|(T$qxjR9||Tv5=Q+Hnx5a2?8S^QQ5 z`JKk_q=q@!U?7KZ8m~CC!QkH2U^ItuyrpfXEgxA*$sej zP6Hr(RNJI$F!~qgvSC}CCo2Ku6&L5zaUsTo0>T9i_g*cGaOeMqg^{x_YB_1o_-}2F zS@^@Q!&vbD8=?0H9}dwwo=d~o;<+`PEuUM%+3LA996V>AOSH3fD|@8B)wZZ1>}2AT z*t0Y8s<1P%YhE*tlU=pTQ0gnvairHshml@W>O0bNrqN|sM_!kS&P%P@c|lY0J1_S{azob^O9{|tBQTMyTJ7zmt%U$Z z-EFn!Ci2YwlR%z_wQZO0A_Vi>bkA-aVhga1Cvc>@hd0iFc42S!xxs+GtZRp#uHOgo!$u{e^s7(;mCq4x@{+B%#Mor-F#H0voQS;G4P{6!mC%*0DA#orF>85n4!(nci$i$HWHGE|Bp`#NJuhO};o7Ytzb1zU7LDY1vG_y(=QC zJEym6u2#(VS`M)%xyH<6n%!|A^K^le%yU)tB3{-Xnvbp6z|Bh0k2J}Vm%8F*yG0pr zSKJA~pPQclY$(0{hll^h-P{8F2{9o2p6kU#n*zcW{Mk%_X#S5UBz6^#o+-d-j8m?W zBf8JjY1p-w6X6_V4xhV-A(p;n&)V(obR*M%JLj-`4yN7x#ajUz9Xe8pNXJ;zLB-!>)ms}npI>IBb4 zI>B?XPVii!6Fisd1kcBGg6A@w;JI8Ucs{NZJfF}Bo-1^M=aV|YbEQu3d`c&HuF?sf zt963s(>lTP8J*y{Mkjc#)d`;Kbb{x49Vxm&2aayk38R~I*66c3b#!wBH`~wY#M0+= zV(AtgIJ&ig^Ys^WcIk@^+^@f+^GCPooYI#Yocj4n1Gnt2>NwKvI*xRQjyK(@<4t$z zc+=fF-t;vcZ@Q=9K1pyGqAjKio+=Q?^xvVLPsS57?o6V1yY4?p_t8J4A)!`&sFx2@ zejC+WUwCR(DZLN<-IsyxW6x8o``qq6K8>frZk`$4$3NE7Oq{aT5=K<_5Up(}uFATG z0;^ouP-K;h8Vap)aYM0HE+MEvl3&_Tbd`@a6kg@BhT^MS-cW#*k2e%y|R@X8k( zioEirhC;90)==z~FEIE)#~4O5*HOq1+%vcWGe)*|6c(6KZ4gg1g@2W);k5Pg9WQq z0@Y+JP#qErRENd_)w^PW>abX#dUq^P9Uco*?}-Jf)v-WzL@ZDp84FbJjRmTsVu9*? zv4C`REFe9U2uR1o0@AUufOK3eARQkINbipYq!VHR>BLw-Iw=;AJ`f8?C&vQP2V(*0 zlvqIeP%I#w8Vg9L#RAfYV*%;(I0r~)!~)VsVgc#Qn43be0-KZduog8Kc1{$mt|n3{ zS%f>puLj|bv{;-^rknveD&-K!yHZYp9GY?r^GvCI4AcyfOcIQv7TFi=;Rpe&Dc88SkzMBqSY%mIW@d3(EHDPErU>te^A%_oc$_j|sa! zF6{oau=_K@?rVhI*9yC@6Lzl?c7IaXeX+3nB4PK1!tQfou=}IJ?#qPTR|vaLO2O_A zq+s{SDcJqN6zo1F1-n0#g59U4VE1V$*!|%Y>^?mOyU$3$?vJEk_n9f!eO3x~pPho; z=cHiwM^mtSO$v6On}XfvrC|5@DcF5M3U;qe!R{+7?6yNJhTZ*BtR}d@4WqI2Vt0SA znh4MBZW=JY#BGc$M5UIB@U(H;#W@(=r-;?(#K6SWh?;GDo7j`!c#C8q`F9fm?CTA| z>E4C_bzeh}`o{ky?@a*gs>*cjJ)N^p)u~}8sX&ngvd>8Y6{v&&Ap~T|P76fDR*~*T zoA%nu^t={DzS(LaoeCrrEG)-X^IxRvqy~~H|_xo`D9v`mX?!$Fb**?A7hwBgeaQ%BeT>rig*MH!{^&fIDNqUP9 z*YEY=`mH`(KO%lgZP{URT(U+ly66+T?Q#E0u#@b;PX zG9RvA?!)yfe7Jt457)2q;ri7+T))PL>)-U@`n5h>zs`s2oVvDU`Yj)>-{8ab8-2L` zZ6B`R6!y3oLr`AiEDFX*Xw zp0EFT`Ev5VN{#scZ7T#D#Mcom(1kNv;0uSeKp0MGfhQc(0#P`p1*ULN3sm8x7P!Ju zEs%w?T3`!@wLlk6Yk@Bu*8*WUuLZ_%U<;Jt#1=SnE7q>BGh1K{hqgc)PHllV9NPkM zIJX7naBvIM;p7&$!_h5}hqGH?4~MsO=-d`K&cQA4o0D6R6^?E}Iyk!p@!;?l=*{UZ zh!4lNAS*uzBtRVC0^>Qs1<~LL7g)#{E=U)LxKPWS;)39Dj02HUSA#Qb{!V*aB5F~3Fz+c#yfT`Pm_IvH%&%V7JK47M9&u-zzw?b|ZgZj!-v zvkbOdWU$>TgY7mMY`4o`yF&)soif-s#p*-p-7?tjk-_#I8Ep5;V7pHS+fRZ*%x(9I zHEE+5Y*c2^rg?vX#a3>U^N!TdxP!oFY)98l^roa@2e$T7PaxGNq{a&=?lk0pUf@|< z@N6h}))72If~Q~bOcFek1T;`o-e;--)_-fJty#rN`C6Txx}Px#2@Lu!J5p(gk-HNg+73I3^?;Gd}p{-v7WC)ET$r6%}kHNnrQ34T^h zFsD*}EPX^x@Q>64e;LvIv07j?!2f|@{#@-Z=Rxg~KBxBgd9}YUsQvx5+TY)({r#=l z-xt;XzNGf|cWQrMR{Q&k+TY)+{e4yK?;q6uzNYr~b+x~5sQrCY?eAM^f8SR7%lV13 z)0Jv}mq;)l9i{ypMKHM|Ks_ni$28T2BgG7zE^!sCw*A7kWHkFx=GN#(#hLY^z`E#1 zxqBUmG4r{9gx-^mCYMoJ_tP)W>vkJ({(n^kYqGlIKVa(Dzr&@ysmyFqrWeZei8AA% z%-HllWOjFoD{G4@8;UFIh$}rwhWs116 zvA8lIu52Q%tShc;Dz2<2u1pYD))$c(u<+4RP`_K$?-6;+5{xw^1c?NrBraD(__f5Y z4oS>7iBc?43M40EBqviPC$l6cGbJY*bZI?BR%-|;U5J{FvUf~1k6@FK}!UxqW z{GNJ+-&e2j2O*OBL-h)Oq+a2V)hqmodW8?ESNK!)3V)_v;m_48{Dpdjzf`aAVf6~1 zZuAOm`_$^1(Dq(oA*t_m%wylS7F1&SUx=loA2j;V{1b&&w>DNS$|f(MssXK6p!ouA zyZ~BT0BtCM))7EM0;pdAO%gzp1<*7BlnS8f0;nc{HWEN}0W?DZO%XsF3!ni3w21&( zR{(7)fYuX069mxus{BJ^Rrg`B>ih6m^;H%fx>WUF6dg*czKXEy5Jk34;Z7{>1R};3 zBF5$-Mkr!LBF0$9%ewJW-MH9w+WJ%cMD+wMTwcKgY;TL3RlmuYvF zOuK_*+8r#@?hu)FOJ&*}D%0*TnRbWEv^zqk-PdH=eO;#AkuvR$l4*Bz056Y`X?Ltl zyW?cq9WT@F1etc2(ffe_3t7C`{fA9ekDS(e;*;)zm1UW7b7J5 zCH2~lE+N{-mk{k&BSiZT5u*KCglNAWA=+<5i1wQiqWxBcXulmH+V4b&_R0v+UQ$A| z_bVaV`y14@YYfh9!ypc0~ea0$^qq=aZMEg{;6mJsd3bo<5OB}Ds(5~6)Vspz%Y zE=3^V8p~A&BH?dSwmIw(_Gm)=FByp>%7${YK)+oDyU`&s+odn13@)jQ1uF`wFFh4pjul{Z78VL5mZBhs$Wn|5>%4~ z)igns3aaUXswSv55>$23V20{_it2r1Roj4Av56S4u2`|DYH>Y5IzdcXKZQb!k(S^s z{HTZ@9pVQxFF{%O;k!)^15Jx49oGD!byT=)J~DFJ6+h~%92G;!lOrhkqO72oWCabw z$Yl|X{Jo5zS7ikKPDaqbLC8PI26|04(Ce~+-jEISwrrqxG%~(YHqgtmfnJdf^rmc} zw?YW{jR-=X7(vJ-BIJG|#sD&#?7tKU-1E(o8U@E5f-$ILE>{P$l<^IAc`PQw6)uP#B&Yf4b_nK9#>B<|WE59vWd6RVI&C->(NLSt}U3r^yDP4J&bmiUBmG?Jv zrEOzfovys+{nwSb9n`&u>$9LCDZo)Los=%;@Pxe=LQfD|ONgzb8VFSbeL}lO)i6#d z4hhAHs*5#M7m2E2ma1W#Fvv7vyTETE?e=u|*Y7tl2Uy^(;f z3+NdFdWwMFSU?X5=uHIlx&nGr0ll7po*V*$;$t<*Bq8KbJ6 zD%|}piD$N6i=x~EMOn1mQk8c5GToM~(xas&&y|`yFM^HdN3d}Z$as#_oswu6FwjwcBT_-9A%l@+_&z6;hLz zNKIZUHF=rTDK&YO)a2Dtlh;U1ep71lTB*tFq$aPIn*5g3PE$!T z-&nCV22OFdD9JrqlqBc;5M{c@{5l(^Q=zoBP})!^ttFJ!5lTZsX`)c-6-wPgX{z8K zgIe9g-GiHsMXmO$nkK25`czHhR4F~wRYWyGQ#JI|&@9!^Ox4f^s-f}e#j+LveX>BG zCeTxXK3$;K1o}n-y)Mva2=pleePe+>Aka4v=<5pfO$GXT0)2u&Utge?1$s%KR|I;8 zKxfiHIup=yBCanYJ{~xO^6^$B$;)b#-D$4g26R7&z^Qj))rlKhF3Fuq$D4al6+K3@-ZpN$E746kdpkal;nd_lHZe({Jxar52Pf2C?)wLDajv8Nj@PZ z`J|NOQ&N&oOG!Q>CHbtBlI+#0&J?PVhn2aA*WXRRa1Scsd1{69#vPQnp#sem8gk0P> z!hL<=&e9O+OmMFV_YUD63->^{`(0Y+pAEJs$@zc8nmk5o@_SN~-@*TJl+G$>*dcpO=<=p`j&hpZ8zan4I6DCv#(RzB48T=@=kg zQ;;Ttv`3K60@9g+bOS*;UXb<*QbyIJQh{_WLAs709TKDy1?gBp+Am0_qD|+w8L8Cf zB-JMC_M}qh!&^|FEYzn7^;D=&7wR>kzL8L`3-uX7eTq=uSf~#O^-YBOxa=6Pk9d43sYUQmXa z7nO@{j_p`qototSfWMNOENn?qFk2FI#|Ygug>E8rdxY*Rp*vIPZXk5W3*BC!ySC8X zQ0T5Dbk`BOLqd0=&>bsu`-SdQ)afzh+)AZJL)B=XYIK}%pDf&`3HMaEPZ#br;l7b@ zuM77X!hMQx-&nX02=`5d`?|t?Q{ldzaGxOD*B9SK(EWGZde^O6 z?|O9WU0Ju@t*Kk@lG-nItK7pr%gwp5U0?T@F1LG}xw+aCx=HUz-DbzF zce85TdN)(I-ff^;@7C6>cN^-~yLEKy-B9hDD`Ljno}`+k-HNn_2-hUSghzmX* z2WI~YW}gSMFM!$ZV74V7eF$*22ApjGXEwmt6~fe4ewaN&&7Bk|*gM@|m|-i*MV?OA z9X!i*YY*2Rty4Qgci)_;8-LC!QBtlw>eIDHJ+*U7dgJ=hb@S1Ny7_3bZa$i(n~zf6d^BA*AJug8(MG!Yh?_ih5z%!e zipkAK+%Bqne7N~&6Wx5oE*M=gbW@4K-mII1ZqcPR(T8 zh2dV@e58Aix^?MMzb-xEo;uwv#HB|p*2*tEYC;YbRd=t-2JJg* z{gUaZ$?5)_(|vGy9Gs5c1*bdz2&a3oTe?3;PBSFfPk~xFy|!+#;sQe59K|hGTqG(^ z7q?jT>K3bR-C{LWw^)tQEmr-y#cGmnvFg(;R^xPwRgZ45lAhE>R%_}at3(%B&C*3y zGj);G2D->Zi>%mkBZ_m8RYezBb?721F4Ppo^NXx%>PFTc58(7$ z`5jhGNODe(ZQ=CaLWPf2b$5!>h->f>)Yw$o%3h4RKFqgqwLWM(j#}xJ{`ayu^ZE1E zRtm3&NyEc7f0Vt&t_hy%o7cA>LJqY`8U7irkF~RRZ2D+Sws=Px22W?f&q>E<_4-)e zM@xyG?dH}1Z$TQI8BazCO2gfgj{EyupZs5sJqAxG6nik2htn-SDD{UDoz>-Wsu zSSb~~MB8fj(?-|*wdM5yZFD_QdutEUZr6jg!S)bsd0navwufrV>tWh&%ME<%=mx%_ z_8a*6bpzj2-N4tW8~7&a2ENIP>IS}2?Hui+Jy%kjb^b%*#mxz19;<4@!4|Iq47~LU0Rd#1Z<$w1Xf)X6^jI*QCfU-;p4#(t%CTX~+kLmSzS#nrB+~+#EX}-h ze8R=bv~w?8AT*Cw9eZ?4>1nHdOSbP0CUmiV%BzxEcepr9Ydt)znWwEYP%O@Fi_@CO ziRqgBH*wxXx=a&k(t6T~J5EF~xd_woJJ8wWGs|>$Tc#Utmg&Y@O9Dhjf3hXhBFJ#c zof^utx^HBeo~kbktlQRISywdyG%tIm-)!5vVoj0{kUh2cnU^i8XkYJL972f&M+$Z! z3uRn6xi&WIwJ!Bo!pa&*JK0%=CDFT3U1cvFJDj~aX_%CInhtN6LwD2Rb#v%yI=p5M z)uzKA%%QXC@Txg_ z?r{%Yi8b@?F%w6yYCHaI&%YfIhj~cDM-YY`k%f;U3OiA$A4A;#9zp*&a{dX#{FCVa zowFqYeF+VLR_GtEP5*d9`p4_gKOUlg+)w{_68+=J^pB^}KThc%Pp5xeqkp_n?Q@9w zzar_MN6^23obQgd-V$Z~A%uKuWPBS$d^Qrk83Mira+~*$5yu`~ala;4+>>3dxX;DN z22W%v{+lqt0;;oSg4NNrm!*|nQQ+T)*~Yb3^@Rz+znKu!UXz0fZ|?BA9845)hc`kB z`(~)pz9o(FwshY+A!w|WvRk67)c4b!%KPi?^aFIU@`1XZ{UF_fez0zxKSWodFO4Yv zp%LXjOqVww9)Z9Sy6pUG5g2?u0)!(YP&mr2sE@$mmhK2q=z^z~Y1mz`qfp z)0VM5rFLQjHYY`>v!hr#Svxt(&ea{cj81+@!%pLhezFF{wGM3tHNOcpzdoJFO&J)O z!obMJ42-Nx%~z=T4r)H8<~2Q|T?yUP{FkWt9%_C~YF@Yebu#)rk%}Ln;@6|%$5HWP zsQ9T={46SdCKbN{6+fPe@1^3`qT>6g__e9{4XOBbYX1sOp9iKdfYR=Ov?UmQ2#B@@ zp=|(YHu!7?JZn&DSMln>?WZfi7m%feWN9z5w7>5EK0vpFAE-;f4+_Y}!MX|jkbsOV z)pg*924v+h-3flUuIfHQ7lVII_jP|=w}T(4yOxjA72!wg=I&!O3UREi?>Qrt^?j~x7C%oHexI*>X&30$?+dj_>>^nh7Y7*&CBv$Q0BF#5K$KngDO+5_ zaObKWTH>CxZ)A7n{T%Q5K*t7js#V_mn;?D8%Bv_#K0;e!4W#u5>)Wb*RWo2CuD0_s z%0j43^U|G#!?n9LoTwpKlwi8;aQ%zcJTTAt#r(rG$_HeLHN}^977MZe<-pw_H z(Yv5-u3K?AR~9X*cUf=ui&A4-@YyQG-`3Wx6z-`se`_c;6rHL2T;ti`u!S1wPBjx< z%6E%{%fFH!bxSyp&)SqCuhuWO03_u)uENI*t0!coWca zIBJZn(_DRw)>kD)wPdtq7Hd6n@iAP?wfAjtx{-9eA<*U}SrXf3y|pbE!*76I6lC-= zaL}1EEdbDpcUYr%<|QMe@H({JOXf!5wY1$!hDYIbNV}IzkizTWb}tzth1WstUNTDx zuLIk?WS|sY2ef<1R4KgnZ}*bXQh4px?j`f3@LJODB}1n0TG+N@>@anz(Tv;KpK1rhVH1L$B)uKh^H*NtPvRzmoCwh>WjCWqds*7u zmhttBjIU>9d_5P@fi&9}2qd~3TL0V_<6 zy_eyXR;_*0-;}1%tQECK>d}J8et|mO`XJpJeNtPa{k!^RQZj1{W9Dv_awPW1?+Tce z(BC-D`x(w4HRzBM!fNf?i(bs~zMm5G{~5JhktrjG*>>q?ORvJuBOH0QSX`j}$`|3e z8$7Zbf1YIJ{1%VoHt84UJT%`?v{!VS7$jn-3Ks!48+xhj5=ZORw5nIv5Ymt_T$A}M zQH0Dzc%$)bwS0}Q#88oY_HccTbPZmhw!85F%9^K(&=EfEf$wQgzD{9~MqVn=eXocr zi|VX{nN9X?Mx53#aZ)J~D+D<7;l)qC>b^LE^5f_epA{_XDVV&G86rcxDvK1^8akL+ zaPia6&vTK*Lr`nBw<^86$XsAcqBUMAyZ2XRf53z@b?p?^-ASRaT9g-1uA+HBQPX2v z^2?3M^vsP`bAX~5(Uy)3OfuEinC>?jBht}_UnAW{Q%@htLoFhdj4$*Y72_{}qnpv` zNw>+8eHhtWSmO0X4j0z@!m7G2vmJd`p%^iDw6N1n5DN{w7uov1xf+0&`Sg`5wMwbYvVFft zqc;DbR$qnHV6ldm0*2js0#8>`v*v8L%l%5yklu7ml~rh)^Tsr=>kIBpUvP!`f_u;x zyhMG$OW$>0a4Ms)e`#NE%m)P!iYTe=ZGAy3-j==~r61WB+yfUIXwSQT;L_d~1fvms z!Hd=XJ4M~UQ`P-DP2IoK)%{zp?%x^e`JEZjxjRc8!L!u|JV$-NqtypISAD?q)CW9Y zJ;@95Zsmm$dx0)eXK;l&gO{i?c&R#rm#H&&xjKVas55w_I)hiKGkCQ+gV(4t_)T>N zuT^L8I&}uGS7-2B>I~kX&ftye41Qak!JE_>yjh*WThtl6Rh_}x)ET@z%I?x|d_cPi zr^4(uThO^@mi&FUpYADuSm44ahb=XII!O1_8HxXoj!67ZosjsybwJ|((fNq~rQ;Fz z)#->|(cy?+)!B%Pbu{7VE=j&+1{e2yccz~~?5fAirG~z+Njz&D#*U^ZF&^hI- zPL5{dtWIA?BOd1KXvD*P9gTQ|ucHya=Idz0uQO{>PM_i&1WxSqbu{8pzK%vb+Sk#D z$M`xL@mOC+BOd4LXvE`v9gTPb%bPgb(bv(4%X}S;c%rYP5l`}KOXBoozqVhTp5p6h z#8Z78jd+@`qY+Q{bu{8~Uq>UJ;p=F`GyTTVh+!#xlEVvPa9I|E%ZV|#oD_r0$uYQ` z5`)XBF}R!-gUjhLxGays<&0RkoEZz3vtr?Lb}U@ZiG|C#v2Zyr7B1(Z>Pl32K08Vi@pV&QUmEL^ULh0B$(aJecLE?39G<(gQyd@~j<*RoZX zL+@hYa(ygZz7-3X8)D&dqv7&x!{sK!7Q^LM!{s)^<#ypxWw~c|hf(P1K&MDA zPM;2H=lJQ*nOE@BUvR*1nEsOKp)h@z1BS!&R~#@LrjKyIaF{;I0mEVX7zYf8>Ej$Q z9Hvijz;Kv8$pOP*`c%2LJWQW1*UkvjXUerR!}Qs5?W{0;js+57`h2-|PME$xDq;HT za_v0MJt^1D57Xb4YZrv+i{;vdY-BFiE(+7%m1`G=>C5HXiZFepT)QMpe_yU$8m6z7 zYnO%TAIi1M!}PUs?TRpcyB;q{L8g#!*pf2 zc3qe*iEGz~>3(tTTVc9?T)QDm4~T0whUtNE?b~5`P+YqyOb?E0H;3sVaqX5cU5W^X z*_}FDvs@BF5D0`|5C}mb5Q0M>1c^Wh7J(2n0wH(=LJ$drU=j#HB@lv2AOw{_2r7XP zR01KW1VT^=grE`#K_w7^N+1N4KnN;<5L5yos02b#351{$2tg$ff=VC+l|Tq8fe=&z zA*cjGPzi*f5(q&h5Q0h|1eHJtDuEDG0wJgbLQn~Wpb`i{B@lv2AOw{_2r4a&q0${O zC&k|ZGvnHmLAor)X5nz{6Jrk7J}KsK?UQ2;*FGiYaP3oL4%a>{=5X!PV-D9|9&@<% z88L@zpBdMd_~}`3Z9hLfJFe~Tr{~1A12_mat{v#7=f$;y{Pg^|#^Kr*#I-~G^uoBd z)K4#pb-4D$u@2W>5$ka6OJW_aeJN+0_~~V_4%fas*5TS$#5!F2N+vh`^r~2gYhNAf zaP4bi9j^V&Schw08|!fG>tY?QeSNIMwZ9eXaP1pn9j<+2ti!dx9qVxIn_?ZVeRHhC zwQq@axc05F4%fadt}XY|+vD099PJ&~&dd+jHalI57wWN$O)Sn@z&}4^4qckN-)ZhS zsn44hDyD%tE^(@(e`ElvUs_EAJqC;<*#Zn71K-aA)@b`uZRgVp)GqK*Z5R5ewu^jJ z+r>VrZH13&yTnJeUFxISF7r`sm;0!;D}1T8D}AZ9t9+@pt9_}qYdCfVrQ=JrUF)Z) zw(ESUw(EVVwr}}TZ8!K*Z8!Q-ZQu5#+HUft+HUrx+HUcs)Q&KvcB?O?cAGDycDpa7 zc84#ecBe0;c9$=ucDFC3c8@Qm_8nhJ?OtC>?LJ@1{(fJ|{sCXg{=2@E{e!-g{r7w+ z`|tZw_CN5Y?0@KI92pk6!w30hjy}nhepQLhRcwE!q&}?NY^Tg@uk?3Nr1KQ#M-=6b zit(e0a3_`KW6IFqOF@5J#rlNQ_9q4T&LBRhvV2Mz-v#LZ0p$M?;QtBScLnxOgZgIx z{hz^nHz5BPA^uqb{y&8G=LGk^3hmDe>@NuG-39fQLi$4jdTZgljbNTFls6N|97|EG z^4EM}H9gB8fJfCSzQ1@1JK3h7(T8!tP2)a+JA5)2fOFNVml|=BdbPTPA1J(+hcB*m z6$#JaY*CGbT>Sk+QTW+Q53o`w**6Q5D7)$VNw&O_`V1ZEy?SNf$BR?gsl_4P*^Pd- z%+H>BAjz)xlXWw%w`yjvw_QDEOozUXR}VRPkDT-MDFH8hMyP7)%daBs!4l|c%nWEJ zpSzGW+t^iUIhi_v zhamgv@Nk_))@HwvW!}ChWSE?)ia00mOAMFgWzS*B^5tQG)Kw3%iq4k` zI2l-d1>7n&ABuIV4qzZ_PZ04H}U69=w4380eEMaOj2&pco`M}LyK$)&wo zF$)iVnd_(SS%gIddGLxw%5Xt)8x#EcWyg&DKESlK-hY(;vg1bY`V%E=#Ie-+k_#Yc zzw^qvvgco6iE)yWzt7uv0)hJhCZaecQz3#1F!?jz34r#5LOwZFl7VVsLR?8WmsuhA zs(!@FIsn$sj(aY_p{^-&uapJJhPjJKj$d}|(OT!n;Bdo-k>ozcz_O>q;V~>xEE6^2 z=2D2Vo`jQgfOXr_yfBgr)`p}KRBo$R-eD=VAeNOjaAPGeU@O( z$(C7Wbp)uF92=lAx;--p@mezC;?xD&EU#a&dWcR&(O4s@)@?}6P+kWOOrn%^Vv*Y z$|45~CM9*lBf)?Q%o>7TLZRtUeK7PpB=n`Cp5-r*FVTkiqNA&^+=aHIQ3Y)^SMylb zW8jB?FCtid!Wy{Z&70_IHpY(~s?w>U(_cnlkvRV%E$com6sUwkC|Fe`KaB`eFhT(U zmt;n%3x@^Kh;8;UbzSpZo!f8C6#=Im>K#Pt&s!*|>CK+=vRl0DMq1O~gvq*w0Od_% zt4uAAL1U7ux|Oh{lxftcwy0Tcy2~9&m1c0+)TaUfOEal=@<6Q+C2gFF${!X>utX_4 z0RoQkCZyULj@DQIu?he*sv;TV7dmdBn&0`5*HX1gU0an^ZwUMfc&gfp=02}|)f}}X zd2Oq^Lh4!(2HiZ{79KU0Gu>qZrjJ0k#UyUQGKC->h+*1>mwHrA)2S5t3ZS+ z;)UYl=RM$z-QvDhqYZB`TGU#If-dW&7En#B8%5yFt{)N4J3%n>s}HN)ap;xBip3DV z4>cq^1d2S`3xl(k|(0ORD%Am@DbOBk+&K9-tQ-tu<} z$ct=6^mXS9IkFp9Dl^jRu#jPC_BzJt*K!uUX4Mj z7i{tBY@#vykLptMifv|P(MwmoFw*sww7k(6u8e5F$Ut0Z$Goy3Tv9K)dg{}IIAijR zrbedAP0B&fn8vW93Up9_FQaTPROU9+BorXK$ zi5f_*;6#9utT5Up46GW>Wlc?4ts;J{`X3sSd*RjzqOjt7l}aVzU;F>cl@i+;**=5u z{mstq4jlyt0Wq)d^RuJ;?1lT;D-kE_c5$Hzs#4i2V?D@TBU3IIdQ-uUQZV+RV4`AY zDx|$A=I1-Q%bE*z>0H(6kb@6u9E8Y{U;+IL6xc1Y&4WnH57-9o3W3EM}At@*GdNohY7lL?OM@ zDOMS;SY_u#E>hX~7OC${YhP_{A0d<9kkv$Q3G|e$kM#<}ap-6Nzk0v{bhZF=f9*4V zv!%W|9Qw?h27?DFIRgkSE=inipR`|y;g zC`dG%u(i$N>$C1s-Am5m6iPUdqhc!0OIUO6LJbDj5_eY!%;+Maod@hfEX)lu<-c7C zH?7!bcv2@_&`A9^KB3xfR=3&3lhiChHKgugYUsKYQ^O=-GnRd#Gm-crk3&_gi27@I zQ^8?%hAB+~$=R}v)u897?kn1P6O%#MAS2qJp9T}F=jQ##_CXPRrQw82Ei|i*CYe}H{yVd=87p=lgXqA zJz4{ksbVZfCX2pgnu~_YOTIxeJJu*7rOwFxL<;HgAersjG`pKWd; z4gaJAsFknULfb7coc<^vtx$lZ;Pp}ZUiC%aFE7r%rYvGOZ8Mb+w-=waK>}i;E=@*=sHxPc5$?aMsO$EE6T=yk#ZwWK_h6R8&Fs3oDC;CGMivQ)x|% zK~FA0CEe;tezO(SXltWfioBWk)t9P9yNdAj)x=hxN?A<_)j4UD@ezi%Eq0ejean~4 zoJyI5?{nTL|GUZ?w{X0RybXCRMz7OTsx<5bKY0RXA|ldUu15Z+%yog8SEj$6d{m#= zE%zna-C^?c$m;J$UiKYz44_8xGjoEChHz0GLQ&}y1ZmLJr~45s{&TC3M5K>f0aA*s zbp|h~U@_}2PH6;9My3Qi-mjGYM471TBBk|;I(jP?I0>8Nig#CwDtz_h0$Ej=2P>*F zub-6eZuSs$`a+;O)we(NvU^(U)P2`T_Opmz3zNDue8UOu7?`~p5tGKFTAEE2Zt8}q z#g>x)VJN}2&V6ycgFFA7MfMuW_)rnOjSVO^Vz&tns#dXM2e~9&5>mUa&mC4zhy#Cd z@YP)L&1g);3`$rx50f;Q>unx-v>aq*aLD^Chy`;OZyxs3e3{!|Ffa480}5S(c~rQq z_*C>&bFeX=K|-ylZWE;DUH9~pDr+Bx+aE3*d7o!K^JnRy5nsCEE0z^H+I5s%?Yc^?b{#cWyO670T5`2(kt-hl%v=dU;F;@vl93-_$!Ws^%{|ff z5i!p$cABOI*>x!NGT>L_R+;O4Di5wJMnCKFQBggpPv?+PID@ANjD74i->Dx0IXLs| z_;jm-IU)b@-1N8PhKRHKWMG-rIM^Q^<74a%DC7WpA6!`mT+RkAw%mWZn~svpP*GI_ z7dLZ2N%^+L!6-9uvGSyzoIb^b9}G0;T0ApJ=g-G(GMA?FDL4-&U-#+HI=e&JC4W0v zkOojnuLY_05W5vb&ZFg9fH|+h06FI+`^q+fF@ajbZC3D!1{&_O?9CYhq26UA0h*KAI0VfHU6d1(yCeeo*9v{y^`q@swd~Y zlh)a-A+tBrKRLUFAwyef`JynC1N|eV*O=Bq@`qYywkU|kA8n??M(u4tgWf*_0`&a( z5QDR2wrkgR14o)=&_)oH28oem%eu0B<*Wd9Nm7t0+zeb68 z;JrqCou3^;-0cy6!g`0w=x(N)X9c^tnMqu>vOzSp2@N}orbk1Ev{nz%S)=_~FT2Ut zfcsLSeU1DwL(Ui-qg|CcqcsDX{)90+&aiPdVSu?ca&V0}sgH(Na(ZX=%@Umn+Jnjz zCRu3@sEShZB7^W6u8Ojw{p=53_V&GQ#$2-FWxw;buXkjYAmhg1jje21(NG}<-@$0I z*bHvnT<6)4QCi8zX(DI>5IK+;3C%H3srX z)pbWkNfn{dT)#&+isEIz^0p_BW4AYW5RojRx0#lQJf=YPr0JDlnCVdMGRb^IBC5J_ zGj^?VKb$A4;YDT<_$15*EDkDcp!pfzZQngve5Z1`iF;=0lO+sYnsH=<&svGA>o*XR zv^>l#0bF$pabSI%yc)0{+XqFP^I&K+OglBU3Hr=^-0V67F#TX=l|!aLG&7Ra(TzmI zIX@&fxLu7*6FgjP@U&W$*3igl-R3&-Nf+jfY?eiuqLd-i#8KLQVwFEQDL6x`B1jI@ zn^s^Fmr7AaxNFL5u;>Yg<{_E}u<<-bGc+~=|2@!zLB6De28=v+`xDy1Ji$IwAG$5c zmn=!t7ZhX^Ljw)e5o3$!xmD3A)4_y>smvtN(W|~1I`WqxzZpX&P@q@{6puqpLTR+6 zMQ*5~#=H~omWi`U=Uyofioa#X38}0y0##$A*@+C*2CKCriH=^B{oc!RUjGtt2DMrs z!p13c>WED8vd)WEebzgjlg+%?cYG>hKBe!l2B41y!pa$g;VD1XV0WerqcK$`;xPs0 z##9+1B64H{J~49hD%QV4lo(%ekv{J-qn1i)pkB%L8I~@$gkN-F-cT4=UC!7y!}K}| zVFxDY=8%1@kU_xJdf}mxAk8E+Atlj9TDjCOq4q=<39AxBZMUeBt`=2d_N`5GV%w?+ zK3)8@6FD;QZQhkiSL&nGyXJLOM+(L-^?t3dWkJx5u{je)G%UEtg=&_9W?I+{C3#u0 zsP50tCht>c@H_SQT9A5sVQ{m}E0Aj~;yWLegjU^)0SOj;EUJg*LrQX0xtveH_1fmc z(h}xW;6tK5Ud@$fA zMShlh!q_f`V5yi11%o0PEI+(<`bWSB|1rjzpVAYUI})gQjTe07nbbeSpT4PPGQ%M9C)m!r;ud@J}G>iWUAqxhB;YrNshgTC#MZ)f4lN*&(t z`Z&vN<9ZTXUtx2P=X$MI2g1k*ZNcwW4se7?KP?Bl^`W z=ag0=y5V|9Q8Q%H4d2ttK>>aQ@8BZ~P<`Zj3|oT>0;vp;!wCSbsf_VN{+16*jj6Rf z$<`RP&`N=-UoX>q5G$>Oa#S=OL_tf@6p{`JNku}^DItlhfaoF3Do`(2&y=Rfy}i>+ zHF#CKk zmS|r^K?!xub8_C1R*-XvZ3zKiJ@`6vRqSd3zfB_nz6SizI8Gzkdy7W0_ZE%xmuBAN zq&4$!RFZ(6Xvhgqk`p9@e1~&dBmoG@IsZ%gHNAv2Hq`P-SD)#?MCe$@sLUc?IB zhxQ}fyWW-k=P(9h$`*&tlyzgO5^owL=MOVfEO?yeA*FjS)I*@d1Qzb4;RjU}E>!3= zFUrG_Q5UY9hocLmeh@(baGF=i!(pI&VISQ< zcTPgKi}t86jb>*jWJ^{!He ziyAhL7B#B6e-X9n_B_KPQW(IJACW>lN(!ZSmjXRN;v7W%kBD=$ilaBymTP!5TCO#S zK&N)qiYtwh&v-B|15%XPvU(emcmW4(nz~-G&#fw=wBpVBIS_qBrSrB@}#aB+ndzs>TK3! zk)Tyt5tU@T$a&$WG#j;DIJTx~okU9$TP05u#jZ3loLKvLnppNqQwo$c3oaCCTBR3Jk!GXP3pb_NU`yfX(v(P;^>65yrO%VF z#i~zPq|jTvr24m_PaAsb!2?&-rw_gr8EFfB`rr{ROsk%H@VHg8)u%L(+c_-93RWnHr zn_2Ro3!2(UK28Skc`IJPAl6>*LC-epxFsWP_1v0~MrFIo&-2n&<*UidyV1W*ZnWg3 zjUTOfX^^BXFKtv=O_gNm-&8yUb^ ze~g*+xg7QX_sJ1`7GX5Wnw!xoEr+~KaGLU`FP7wxn`yH;2nviwQ*IVX1EWcd=+Fhm zCX+x(x+0q#WKKexOtlw-m6&y(r8(5F{h&Sc#=>#^uo786srwmpKQr9VY$BgCKmSy7 zL-UAjzdMh+-nJ5Z*`YtV=AEx<4ByM%x$gNp{y@unZFF8w6#r{Ddg?q|^b%y2)j z!fwr&#iz{4*Z>Z3+W?M|N&}Y&1LWk5yzZt#LaJ=e0yJ@ul^5CKcKce{fIBXdkVpu} zP?dv4Goia#q4HRPZlOdC>dYf5t;yx{d17jLwar0wjxycfNA)*6m44$b&jZEOEOC*K<}2+O^e?`}pKr;Hc7Uf4PjlYZ z{3?XlLS`LV@sxHARqGW1_?*jvf)p9x*~vE_yJrKTc(J54P3`P}nneI&ZNzc0qeeA!Lnj_BS?Z%dW+=c>56_vNu_)7g%>fPmX07 z4E;A^DKVWxTC6|PVkm9?E!&=Zw)-eN1yxHPDuU2`>#kgA`$ofZ_F*;c0t5z?X?Pgc zPdl89lPt=mtlTQf#e1233b<+X0r8G#sqNFNmBNalsV1blYiBm&JOvyQ{D8F=^ zt&Eo3aTXoy4odproylRtahp zMb#pcMUAEEK@B4ZuBgD$s8+#RV#;z$<%cXA*ePpCF&*-{fdNWM>qRvmt(r1$%G;?n zRLnF~V#=6qu24RzLI+pP-SS~;)hiv6@i^tiIA;grNG%dQu_$^zB~v*E0@6@;qGxKp z;DO7Osuy@Dywz}wUbil)Q<0$1r&TyAl~u5{8n&~Pns*w<-U=1x6dqsIz>0-E`G-ky z#ExPyKWa?-Jng4TL2YN6bQSU49>KBzMP!)T5eb&XdP(TI8c^{}_CZbRC#0U_26qUQ z@3~qm$`Gs@wuF);5a0(Q2I`Xn1&Zf(KYPf}PDAlrZY$#owYpth?W7f32N|g$>&w^D zG9jsN`_Wz|L9R;>>IVbO6^-;{_z7AUx;uN*Q=6}pp3hTCLmfYmprVSeWOGn-B*~Wb zkWoD;$}UtF>k&l`Q9>?c!UWqI&9cg^kNWJuq&{h+MhWwDeBCW_6bbp^#+} zLLJo%5GhGZN7N-bw`DlxZKPg6IkzKuVNpJ1hu)zvXhcgd1~uD#mw=%_0%D2UKgS?J zRFJLVhl;g)8W0L<3^Id(-ESy^<&MdqVs(gI%edLysECWqB(zC6JJipPXPGgzqSFkl z!3?w4Tx{lhob!FH@b&DpB-CPaVKhbjsuq*dOt~0Y4y_nh>YJ|`JQh{%%VtNJV4Im&`&bRVRSU;4`nq`2qQBA&^HPdlIA50~2Kk*jSk-I;yF0c2!e` ze{0r2nSIgOdY17sltVST*&rk@7WSbmgr(X7dx8iW2eh0?r3P#`&HSvBEnf6r$S=am z3C0?qv+Rx*rptxVsx>0k)@6R^h3gAWC8Jvo<9JpCEjuYP87-*{O#6Tg2_DBM;h}=I zzZPs0JiamHp^`gdK?e=ll2tm)x;F-euZY1l*^`By6@1P`$<^1+{~zE` zN<#2m;8lEEV`3wRLaLG~kdjaOGAobW&FCVNYlV$SfJTgUsxMEvqJ2kX!UEX0v^sq) z?>Z6-WDPuZi7h0c?J5!}R`YB4DBG3?Z8yi8s7MfuEiBp$Py52&TXSS_Q8jK8mA+Co zNvH^E52NM1Q6dA^O2m_Wrayh7l}Ig3o|Udy!Jt+e+ZV{spez|SsC$?pWi}h#JwDSg;n)MqIp9Pi|yLPi|z0CyflT;xIW-Z7o(G zh72_4nHGti4A`LfgS~XFTcXcO`|>COS=ByDK;ou%oh+x5%o3yIYqEMODNQQ>b?rE@ z-mRvu$MW8t*&w`M^Fmo0E=wJwq@?dx&C;qV(KIm#o<@bq;n)0@m@Dr#W-T`=%D^*a z!0J^VwHmIjkuA3#t{0o9Wie3Nt#qkDb>Unl;38KP&u8xlYJtU)S~1Dq2o~Uor?8X% zv(rH+xm9_36d}z?DZ3SLU3oLmm0ZwS?J@a5jblb!*jep#ugUqH)z4_K1=;!>s+Ax9 zAIU&PiroM~TAE)A^Rl4ZUUO@TbzFc}EYT%VGw6r zHHl!{xkQre5Uz2cW#%LS|Dzgwg2(VEV(O(9WF0mJ#@l(Fyj5tXUIQLlFEXA5I)(o& zLYs|gLmuVqAU`{j4mLvb5@)X<1829`$`Y4=x}bb&qPFEfOvSB7K;|p8kDt%#JvUQJ`M;PNrSnOVQgwJp>8U*jD7I#JBYvm7< z+dHKLuHqy=KfCjs-s~Vd9IIMAF{C}r64+qHpe_<-1l@KheM|GG#>ZqZKYS4tWm|;Q zDR<*-YLfZ93wD{k&hs9u$X63MdK`EJ87)0x!fj|kp+`&)x^qe`sz+IkPQK;zS3&l~ zxxLAil(Hl%hT}Y;vPbJ}gK%jXQfG-Q1GQ0!gxX5qMZ>O^C68TsB!D|FRJl?NFipj7 zE1%#XQV`LeBI`hjHWB?wa;Q!Y+E)!aYbqhn;$hB)n9q7SGfu3yq_b+Qlo)r^xb?a$ zF3Ku|ln)dgnX%RjtwFXS`m1HL;D~a_tv~uF?4uDQ?$vgZNTZiZY`45qLX4B#;35*(q_hq7DBR~YO|GYOIy1GbZq~uB7^kWj z(q-gV<`Xrd$|8KKL<3PWR42|FSK&`gE>aXwvEtN!sEWpJ%WUy{-6_Eyx^l)R zs2}CxC_bT1%_*;~1Lfp$mFGAw|DA4EP-C2s45H!Y_awe&|I2?oA7!ez=?6b}juWrE zEGD*qqT)!MX8UtP36f{HTyriT z%ElD(&N|Uca(VZ%lokOw&LixSfbg+u%s1T|NFOTwl=a>gvE)7T<=EGRbvq1Z_f?*B zm&?KKseLXfo`uRnN1)=5_i4OVnN?7yhe%avjl(8dvf`jCN@)EXx=`|f>)3Z;bsk@8v|*C_8E`*C?q{a^*~ACKmo{~FtJ|yL(LiLUw(J!%Z;F-#oG4ZMK2)RaWKooD-s}6`3 zhXM$4*9t@zibn3DyaRiUX5QM>e@lWFowo8P5y0oL`{wL zq4b9k%5O59oLa(qb;slGj8#FD?PK)J+$c&Sl;XCXg;L-)VUm2wlsVTcxz~C2+IVK% z{>j+!sDrNNgPx|RFs;>z>%eTTLkDGwp=ez^#40FVzQo3&SzHXohK5ExNL5LY#P0pm&+A-Bq9K^UYBK*jOdEpt zko*C>6TRztIm-o9nWw?AMwaB;N8Y=fQ`(59&$7~$yh^Qq9_!JWX5=! z6EDZj{0N9=PQ>Et?2q!>1#YW?f?mYN$O-|B(YW`7arrtEM*7Iclu&IN2{C=7p&dkAM~Nfi31mn6=-5O3+U}z$>txJH6mUbi_?a40 zE-FQns$c6>w|(7RYV}u)llZzP_WU3SqcUfW;nZKldL_-ebQhp%I>KFzQf%n(tk(Kb<8qH)`^fU%7D6 zLM4W&mIrf7yC}bwb>80MzB2ot_m8==9i!%Q$*F?sq2^)phx3EvHN@MsG2OH&=4}9h z#!>z*-JQ9c^`>xJ*5Z~Hu{7M+H3yh;7w^lwB7OYL3uFyE4!3cr1=YC@4$5FvOuXm& z$?MTq=7tBHmzPvjETC7n#g(%G!(~A}WGS)cMTU?I{-CLynf{*6!_9HawMG6&y{;z{b=AjHKw6)JE)aR=pZQ!P#vqpkcAGA3Uv-r z*S@696Rw=)lN?OQedUObBd(}A-&s>ymt!$mHZ|ODYQvf~hBR}Nn!axK#ECu0rV=1E zdfDe?()hZ?Aff9mq2~|y9>JHA>cmXWgtc*)S=VdD7TUKp+irxpCEEdgvb;`|Z3KRy z<-b+d&BdEr2>(j&A2Cko^uh}}zRQMhnP{W8-YB`G9)z6zU;(fnTxgP0O3mnYRcz*( zjOxlPgZZZ5IhPgUjKVZO0crDW2D-m(ij~fNRhg2exPZ5K795KYi9D%e>%4#;gT{j5e!)+W>-Uta8ly zjDm= zd8Cpe2RKd&P4Wh%w8&2ueT>}F-r;Spdk^c3KJ(--wWg~B+{7B|h?a2@R+<}s&=FvB z^!cEfO%gaxdv#H03g=osn4|wJh%^{MQC)E znZP)bQP@0J{q$L}w-^qv*!*m(1)Am4LMzWA)MTa$KF!n0QX7nt(sWVSPrsvzTtt*Y zYYov9S{%tCq0Ze4p`*d#TyC3&6!)EZF+RTqDVdc^d~>Se6~kVz_@^l*S74)tR@t+fRf1@)PtT# zZU|Gw+G=>z$Fe^p#mghD#gL0;sBNlF zvNmM7QCEG)Vj0pR5F__{ZZPk7R}JRU(HhL{M^oUaD9Mc!vvgIiSUt6NQgHcbhkJIK z{m9te-_$a^q3J-nOOitkX%L@=G$5yjG|*=BTcyp0_`wvV3$6hU4QVjIk@7>b3=62+ zwUrt#6QJU+T%~V%LO%$pgiaxCH@@2kGpte>JW#j+d$E2!pG>OJk<34*pZ>?j1LR9a zq_bG@u^>B@qu9DBO_z&6iO5&O0eO#KNy#a}$vXZ0fFOs;3jNhYeDapHWqQkW`Zf=d z^CT-YvMv5Y-rd+pHo9iPnEd{h4k~cNspm(hkXt?(`-E(kM2tHL)nujXB;_O9xEINz2KtXc`5+$^qLc4G2f=G)n z=*6&04${!a8LrKP)R8cfnCt5#NCXDwnd(y$x-OB#AjX==#Sh8K#m~3&T)9;$V3DD~ zRHh29aT{{*$6=&*k>ew^$)kPa;!2)VJeC>DivB=XhhR3~Y9rGs4cxqZxQu-4YVVlf z7IsAXdDO?+cAvZgaBD=D*Rq!kvS>}rRvv(a&Ba~~>Y*XJH2lyh9b%*0ol=+*0)^FC!fgACeM3m2WoOsT6ClO6O9J9bI4+gA6WT7#7esbizS?hQ z(Bw=~IG3u==GSqkyTnKaZWs`=0@epfU;igRB)K;Y8E;=!)3&8|Anm@|MY+Dfx}=rp z@I3$)r#(Qy{Pvg?EYW%aIS=s#(8)_6?;g%^fp^yzdwv{?#Xi|nue;A@a;mY;g%og7 zGcS~Q{&H&-*c97tssem=ljOU{&k3H;EQ7WPa+9vbTOYw8ec$5R{K&lXWnR0R?%AC( zVZ2yDb}b6Bt0HI?#J=Bkb-CU}fp^KXx=SZ*{O&FDNkdl44vr!cXMDBa_Fl_*a z32Z@*60puBnee$EHSc65xFgc^^^6N4y**;q3M_uR=$=^H!7~BzkR43dLVcKq8?1BA z7%v(^Z+MvN%GCzWZq{N(Q}5REb17t@#Wo@qo!?R9p-9ip(r7paE)zOSLoiv43^(s> zFGC&*RZ7V@D=zEAR)*;-csR<%){*7Ts3n?MbEb#I0zG=C8UMgKTVoM%&Ck}@JJa|M z+xyLxN1wZE)x(Z-)reek%v=C>a!SKhrEnfv9oG_^BXx5REtYHb02%uN*F0~kC?r@C zFCU#{=sL{*@UA!{1#dmJ7Amnqo&m)SUUA451x>DLO8K9|%txEdydU#jM#}rdOqDq2 zOwK@7ac3{uoM_X_(Mb!u`DeUs`OcB1#UYOf^M70mr~Q(ZT!etQ(X;fv?rafUK{aMgKid=N?5@OQi)P6ukS0z zSbb{K8SfLvo@jFH;oz^uvAo8gA4wvSqlFl`9!gs1Qz)zvO!}gHSB2uX#Te%hSzDf3Vc7bY_BO>#EJ0#}94Zhxu`B-cBfSTYkZK z1a+o{Z!6dE&2|mnY^^s!1h&$+9C4uT^*Y-Wz+~3L%)}LknRW`n8@`Sy($EH{4r^$` z+R#B4)nFEC5R1Tg)1OeIq1MzzFqDM|H{+!88$vEM2vTyr6N^Q|mUvCd$`*@;N|_GK z^TT&!%KV3|*<&15VZ*&w9IUQ|i?(&xl5`XSq0$vgWo2sUb?&-L=k^{jxAaNnQ|}#1 z=f>)}yM|IO-AkEh*!F;J%zohOemCMfcVOvU|A4uD2Orq+Dg4QU5$&0$*?gf)XN~cbcI6WEc+*Ms3%!jJ(X4A=HzGikt3N1@1Iewezf0=4`i&#d%xQ6=bB=6^^AF?p+=Yg`Q#k8HSeuYJw6RYt$TV-O>=_%4wZ~`OqlGag z(8s`89=RpX8Zyg*x{)peF21}BNuD*OpR(4+<)q8yq)R~)W-Z*8DL0L{CPeOOCL=UQ z1sfg})0L|w7u;oBhN#QC>*JAsL7`%-WTMISda@wavBa<9T@^i#S19FM7?R zboO(LLoTQ?hZJ$YGotg*xvk{vqDpA3qk1uxK#ozyhI~pn|s2k;C-lja2PDA0ydS*~lU*1dAuKv=LNI2gflrdRa~MTv+6u z&V@fe-+tW$gR;924J)i!Zs*ak!kX}zN5dBHqxjY!8VhJA9NKJ5cFqb-717}&zoS&3 z^H1dOHl-2XtcNu3qS^~1Fi{?{rfmo_o24Ocs`cD_#qcOgEJR!zj-U^zt|U{J8ja}F zAAB@=!*PjRf5I5zkjDl{btY}ViAuJWF@(|7cyob*eQ!pUMmq3j2zs`%%A+R?@~8h& zj_vDW!0G0E1pM7C3?^bT#)zK2uEw@GEE1rFusXlEcWF6-tsT$ME!-lhkwGEot@azCc6w6tt z$Ht@>#UB{*{zaK{kDo0bB@A+%`@a|hwy9kUL6)*5A`U~}?ms!FJuK1pwXf0w$t=b9|vwhX3`48-@CabeV2a{?U?g41yjoLi)>CylN5tNq+hso)uhb5be`k8O=l@|5jI( zl&7Iv@`Q*=YR=|%>}g&eJs!3o;lqvOY*J5YtHs+*)88aC_w#NNj_hc*P3@W6q^%5U zDxF|t2R)LQPPOp3D0s09SmZhr8irst7a>2qSREW-Lv(gedN`xBmLf}MuDsW+IP*NF-MW>0_II-SYvIicSy}C zVgCHT?7ekZRo&O_zvP=0ajB$1tiyFA8;5WY* zhrjfP#+4S8g;q`)TwmI3xqe_ui*oK&QdyX;f<;2+1s93wD!3bQfKl!=lvEbvL@6riNzaT?GSgsZP zXN6_J^IJ77MX841*n{~WCT#G(l6cH_;dURCln@PbaatVhO zh)Bv<+2#Fp=l09+uV2y7KWsDNLp6*xHydROsIT7wYQu0dQx?4@1J%T3i6J%tW_;pp zeO_YeKag!xaZ)d+bQn*ZsF)mrzJqmyo{9WNF#3kP4(MY)4%Q7*m-ef%B#e2CYatw_mv6P zrq~44Pk0~8&hx)&7)kX#4;=c1#x{!^>~V(tsZXVvB4hLr8c&9lso17UOHKbgOvFn9 z>3`)gq1@MD4d8wTKj!x5-hL9_;QH&G8~!pf_VR~{^6xKtnNKc93O7E9;Y#I~^>A@Z z{PRQH1{o@IUsTIs#Q*-G;Xs`>4ELp&yHe^ayMs!~mj?d%;PY<}YP?GSr=wBj|16W) zZh}eUX$GSlv0-9AFw$Nz&`(VN<0KUCz?DOnl7P#HgxJq{PlUCm+>L^jJy#P>;DY`6 z+(6lfMZ~3*{%+Jt@#lX^O&kT4Fm|}CbEi_-hT{Ig2>WyIH$ac`xoh~MPJc~ZUW_`6jd zZOk>u?K3tpHN%~V5?XnX!KwM)Roh3RQh8#>ngu)WQzFsz7yNj4=Emc_$Z(1 z9vZY`CO=Mbbv0NXc#z6t`6_G5D^C=3mZ+^fuSGPq`ZxnDgrR;hP`T_N{AHLwpUYrF zQ5N*i#!k{3ZrHJ<4IDI>g34B$^{v>V75ws<(gU0>l&!)_m!Q<7$hD(+-y;ue zkS+s>L>73)hYsruvB~KQDZSOZVs+>{!Xu@AyR-Xqv5G2#V#VRa3B^%)3|{*7?Ag<|4taDGAqtzZTOv> z|8YBi>!tG4gR7K#DX;kci=A}%GltSh2W3f>|FC;7l(A%>+uz^L47Ur~fJv66%yqo?E-JXG>p{Ekfy?erKSp zJcH!n|;w@{T0L%((4qJmpaS#(S`l5!dzo0Z5s=qSLG1iT#o@`48h zr@sW{5{{R$=!a70pS#6GyRVkgdscQqWiB085*Ce@TRNoT!{Fb)91t+3rr|c_HO9uq zCMe2(00T1Lm>A=+pRuv2F}~l(C1Hw>n`|_QkNsNdnIqBx9W^+VDThRC)Eo^SvbpQy ztMJbFqpvdJSle#O8)hK#hnkdMO8eWFBiL&M18XsKNLxZ#2mEjhzr zpK*Y}R?jbj;v9$Ue#B9}s#aWo34|}j8}JinUIOVq(4SZl2Adgs%zDa>ttT8bloKR> z?u*|_!68I3@}qrNE(hZZhQ|C!LWQjO8|O-t!f1g9Bjr+_3F?T<1ahHNQfH<7tDDdwd267CQQPGh8?d1)RF^KTj13=!i@x3}yyZ##ss`SNfqVfZ# z%GVhS|GVh)QZ^#xTfa)LjFokyjE3^uk}l{mCTi)c4ujonOnl9kKx!RY!W(3`_$vPV&#on}L6peY7twQy*vE0%A*`HBlr&>y zS<1=rsxlXbM@luM+GG5F+|9-KyHLnz#Ma6tl)v3ha^R24y~KxT2;&fdLlUlSl>k6) zbZ~P1^LiK?o!&_=s~N=h`n?p_lTL<6sKCM0HVl8+5|_}pkejl?E*nSFN&I8iTLn8|6KReT5He{Kdxn?t$;3TYNFIa!B6b-7y31|QR<-JnS!Ps3Q_?y4K%tt zHd=oMH$>sk7^9e=n4)l)%uy^*EK#&5Rw&jeHYglIJCp(_1yKs26hfTxT3hBR6wbSQV9h|IX+&|R6(hV zQVqoer8-Itjqa|U))>9D#_F=u_Wh?}{NMdnqf0BO9l#}VK;aUw_v|@)%N{jG2|!tg zQjQ~y*URNbns+FlQGTIt!!OJK#TOH<{~NrBTZ@T;8UB7G#63QQTSR3`wZokydQhhNb?^2L*7@~Y^0e1ULfy1@V*{OV-&tV z-!am(0|#l1H9cSl!-l|)hmD2JKV*c4%V@RZ@n#CjOcdSCGTJT536MelCr{lteH);l z37p&WaccbyPD;vAQ#Y;K3Rjb{o zeZS~&2`3+FbkiKPg*mYJzL%j9UdrvDiHV6ux4}XC(~zeCLliCyPqsYK@+8X>D^I38 zVLG7jtkwvnAIdnClPEY%XvY0-5AfeT-SZUBUh+KdfWk8#&(SHEzbwYF^S zKRDLCO;liLaA;6qU5zfuNn6m`va7CR6L&xVn2?}Y_s$(#Ku>eh7O=K#5)~O66dCK@ zIw&$Eb^zo&C+%s22FHy!@S2veTyuV~Tzh?BxdsQoatvc&xi&|^ax#rNDIXnBc6%gd}|u)Nf|4BHp>7HmJ*JFxz+ z_hAEIb71?!zJb-9EUz8+AMft}KYgOnO>ouL;EwShzqrf%{iQrk(dbUQYRmjnFO`)d z8g~udYgera4-~*0H*NL*qjBVg zqHY`BI3YCmAKiy4TEp@#_{FBGXkH&2zbsW%YhbR?9jdA=#fIpL&BVr5*(h+;jcuWj zrf?CBF1xDMyl63vwD_s2cBp+RUSQ)Ao7dNPIiO9x%IRCwIP?0NFBiShxN--^Wj3!` z`QmjpU)-nha_6-+URAk&<6>L6)K>2>pztOGcNx0R)wBk+@n`2ev_^Gsr=gqep*5(d z(JhCmkD-IXEyr#Ttyx1>@NR_l>Y**5YpiL~6hB!2$)`E~^VR6?duRC~! z*XVvBCXN6a-JI&$QXM<7K3;x$)47XA(^Ze%G`juOwc74I^lvpidtrT4*B0ol>4Tl6 zpGMh5a7o@@qkC0dYZw@WzlT>{YaFc6glKg0YiJDyXmq=3XiY-HG@5XY?o17>d4xXH zK#lG;KETmNGf1O*3fCBoZd^_6u$+JQ%FV(n_YVKhx^(HU{}mxCOWEYeYTfra`Zrlw z8c50~2$A#RsdLp8h(uaU>i>I)Y`L6 z{zF~%Mqui}S61SyWP&Y?+tV2w^n39bQ@kGmY+;m)4vIQ3loM zvh?B`7z>T=r~cjS+RD3?FsQIo|L&;%-Bta&`+D=Hw$_rt`10$Cd*(Vyl~phZw^MHp z>&=BaTBDE<$am^!jl=QM=yL054TlcZ=)OT2ffvsCb+v}o3&XLnz7lGCeXIkn7rt})KF`B_i1kSLtK1)Z>Tji$3b(h zw=z~My|t!nhSByz!or==n>252K{do*7SCq9wHD|H7msUT!AXrWGzqkLp9EWwo2;_z ziWg!d`h9VD3u{pl4$2Ehz*DG*wX_P>2)i~8>mb`4Xi5u82n4f1>{lGlzQjY@b zz`Tw*2}3pjpAyComuOOijlidcjlnn>D*mQmUd^(u8Q8^8&*tDW;%@<7ho>X-u>_wL z-3okF>e_;NT}7V)U_)UiaDvn=Pak17urca3hQxLap_A!vEbIX`1vi1t2D|O4lXFnKG=YHTH`ohfFZL#7lqlM zOTrxIqvFqTE{L}1&v7m+%sv+t<~U!Lx*X@jQkVTKDLx!qV~i)`aBNM5+5dy$&;H{H zv*N?CEiQGrEXBpA8n`6b2XWYkGGLymxh#3`Cv#a!3A6tW;=}%z5uJ4%gxSv=VfLXM z*jM5>3)8`$uH<@jHaw%E5+@!|NJqo0h)@wXIapD&3&$GnR8bDS$fZwY_) zttRwVVD`BhbTZ@Tiq1IIMdz}6iq37XCiK=)w+?hN>oyQ(T~G00-Fl*Pz1J6=aq5EG zNSubk9EV22jMEt07Cs#3Z-_%?pPL99fv-cO&bm#-pZ#erK8)idI{VX1boQsE=3wUWAAzxYXf#m63;AU<5KD-wt6`X%)Ch{HbnK_{~hUBDex9X@30-9%@*-9%@* zc4&(}Y`35=+v*|y9K$Z+&vEMmotMpQw+D1G$Euew+v+DiY^$H>j2R%h3%EGiVqM1X z10P<3vu+rC$gCSEI_pM=&blR0mp-f;AU<5b(c;5?MuI!ThwC>JhRiol ziRlcE5$3v%5g#t&P|>-M$AWRoqGA6>2{X`;e$J{!qjxvv1$ThhtkE%TAr`&Jmq4hlxMO_KWE3 zLmrqnVT?ZBVo4die;hB{y!Ce_J6&!#cku6=aw5q;={2u!FVzb$JR`k{XZoB?0*H(IkqLFE|;Z*_;CNS2L~e#`%o4f0_L)OhCi9h zQd*e(cN8D?zpUu2>nO~AJ{M*moWKJlPI+PaJ0T8rF0ZRF>y|~IsdHJ%i_SO|gn6w} zNto+mF*p?dTo z@CRtrS+|+^vp>G#!#K@FXMcP|XMb9W&i=FjM?q^}H(>91n zf3DMZ!t75~tRw1NzhA_k>o--};(4uu__NRH!d%zZQkU!6R+#6twc^9&x+-zF-d{nF zMjPyNXXs@1p({8>)!{>?-d%LI+g)_FTL5j*hwT;;W?MbQpJUin{5fuYp%0e$J)x61 zR=tJUmcRJ0Eq~D&v%lyr;1Xzybs4`ed}6_@8x9{b$8d=-;{=Hh;|vs?aqJO?{*2RK ze7LR$i4Xf61s(z)WxIkQbKHIiv;Thx8-YU+hdx}_;lf7wB5r|J_Tk)bZ<|xs* zF2)G6?gH`QcCrY(1$8-AZ}6<1%$So=$c7*1ZM(EOpxmvp?<_E9xA>cF=ilpk4|3H}S`WxN=Nk zKeL3{)*WH`-xlT=-US7Oi2|Gi*7^J4tM z!t^f+=Jh4@BEr;*fq6eqy}dB?j$ocIsdo^j-U-|TI`_>$FwZ6AATaNB$-!WrKgc0q z-dnQnFffnN;XF;g>Ah<-FR5``7n-?WcGOq3Yq?gL}$!{!iB)*!iB*W!p*=(!HZxS^MWvA zPD7#2y2V9j-4fs>u=KwqO#kU9)amagI{hmMv#l%OWw5M!SD1BYpipQ3Geu|r?+9~y z+lE3P#;+|pO0CO^SDV9EQyiNa^VyTObZEzFqorOv+X z7M*=d5@uV>Go=sPG7#pub-ys%+6zvGW&9Xn#@~rTopJ0$XPg4y1F-au6{bJ?OP&4> zqSN0|nC+euX1k}s$a_-a3>9XaT`1JKT-QbCa-|7#%rBwPhiz38oo#stv#s0U6R_;( zFk!~Ofgm_A7; z)ammaI@@N%J9cT^nKg zycgDjKZ0FRsOP~}68;A3F8ms{8VciF7pDIWa19jpp%ZK^6!yQpF#R)x>E8kDi9$U^ znEHLN7Yg|SY;6?A=`GA$fGllQL<_f=reIfh`*3}f_ zhf)rO?1$nc+!?k!iZ2RvXOx!0F0iMBQ()7DZ@}IXJ_+k)foCcx6;P@Pd%)HZt_gb{ z_j01#2yA16x42AZ%UX zda(6{8^AUcZUpNstb=VV+yvGW*G$}oYr}d8*Ma4n5cOWLe9l7d4a<2QUat;-<+BoU zC~N|XA$W%{_l5o7wW9A7rhWi?Q1o-KhlJ0=UJX-4<0MS~^1}3Y6{deYm~qMTVOfW~0G4f#7s9eWc@ZqzBQJ(!EbQb!t`GTW?b@eSk@u0fMpxxm9VT&UIokc$g5!)i@XMw z*J^CHx-i?VDa>{~!Mui}PYq%E)DotT7r3_g)D@;rePQ}E1oM7?aq0=vr-3kiyuppc zr?D`7nu2wrHxZ`Z4D2gC;J=KAnZ> z(-qA73i|XErcZBS`t$|&6Q2NK`UDEoCs>&4A_44=!kGPq=^rFa{}5sNuLUzMc^xe4 zkk`Yq4e|z9)+cX-WqagJu#83C3_AdY?S=`n-3Vc}8!1fxE#OcT`iBeCf1oh^qlD?d z70kHgZLq9E-VVz)$U9(JpS%;6?U55<8H>CNHd=TOY^-n!EU(e&^AUEx@B!EpDD3A| zVfOQyF#DMbK8M1(=V8AHe}(;x!n*f`SvOmlbsvD|Ibyp9FNd8kyaINia3XA)@KxA! z;Z)e0!q;Gp%IV`6!!sB2^3Xg{!CHxR}wD2R?3Br?LCkju7 zogzF9cB=4n*m&W`u=9nVz^)VC0lP(bC+t??MA+@ZyI}VSzl7Z@{0erT@N3v);Ww~8 z)o|QJS%}g~xHW7W;kK~tgxkY*5bg-uN!Smzvv3#KuEO15y9@V#?J3*~wzqH}*uKL3 zVEu&yU;~ANV1tE2U~`TDuseklVRs29!R{8`1G`svA8fMle%J%T2VoBhABH_5d=&PW z@Nw7^!Y5%*38%oG5k3ohPWU|R1>uXZslsW(T*m7t>7w5drhXIUmgu*Isb`?v5j|6w z`dyTJqGt(HzmM`x^slh*g}=dm5dIGPQTPY!FX7*`b_SZmD9ce+2(N_QD7+n3m$u9R zsk$d|#M7bhuy;zBhrJYGL-1)~K7u_X%v(lI?Xa#Tm{T}SP+Y+mV4I;Z=0#z~AuyWWIraz~7=tF-sm5=>Nht>{-b#Dl>E~kR1vo5D|$n@uQ4w-Q> zVLPL+?p<+yR$raubD zEf+Qjg)v_UGbX2Vs59m(Va9n44n?8=8)5pZsTuTtCp!JrR08(rBlIW~*8L>Rx}5%@ z&bpk!A=95zIAq584m$*eb=4_l*8M|t)>WsA>90SU%}Q+ES1t%*8WO|NErHGPR}4xc9QVSg;Z{e>+>=k2Cebh4G`R$yz< z$u{7os7tm52MVhx((E&*h`5f(g~83h>~j&($wftHTg5~t7Z;t&qNWs)ON!2R?Zuy5 z3fvs=xm;=*5xI=$Y^y9dMEc+$I@@v-om@_ISFn@lWHtSnG1c@UvKxH34|02`0Oqzw zt|&T}y^`qU%A&JB?xK^ch|XoKDmuBE=(`%=;ZdI^YNaVGDG%*-ckC~8O+ob_NR;J>_b=4$!dx&`=F-1kU90(N$PUy zk*O$*(@S)&Up1wL+(&fA>?{7{exfs`zv$!uupeU5r$0DWI8b!@s3|REPHpno%k4)^ zKOu8!lRC$WQ=2@_kRwFrSPc}N94R`FrBR}jqebT!s%a@?H6@nY+hFl0$AX#G%4Ht{ zW_k#DD7d?D9GJ&0>T24lIe0kq9?&_SBfw0@AdeK?3_MD7@@UaH4r4?oCxE%l{5=io z@2S3jPnjWKg})B|ta}aYFPsYIeo8$J%>9&n9nAP-H5H3|13Jf?d=tzuC*K0|{KxUX z4dyYOoFO`wQJtq!`wH?ufhC`eRu=Q&&Y3K51_E_ zJ6Lu4_dS@$CF*%#_JQN@8O&oZ`5TzW6E5#}FjM)+Kfq^!^!Wq)O!z05%Sinfn9E51 z4OY`n^1*5vg~m|74e-&vni@sP9HPT$>v~gOZ2w@ zb6X-?icTLjRg-K5onuQMYcR)_tbR3tK5DujS^XLTebm%EazWJPagRQQz&!4e)pU6J zsA*+nH8q|-YKj?I{knh)SWUqrt6v2mt0{G4^=my`r)t_PncJfdec=Af?UCb2b^~)f zUBMN=98YpZu$nr=v==o6rZV^ze7Ie?gFg#1)qvy1m`pX`xRIH9pr#=(^*~KSs1D|F ziE(Oxd0Zk-Mp4tarhwy7xcy8+Vfp}hIto(*$TLtljZdD1!YO+49F&d1b747cPFN25X-~#9f-QtXe=}HhDwR`|>U5<#y~(=jw4^Cmo!%s? zQ+#A~I+6aILgX|f+v1dC4HUM;={R+2j?;kZl%P6=$hzv(A7gULPMyBvl$|<#r%un( zN1dW1r@_Y#g{)42k~tMjo&C81TTS>jEXRaC8L;d#nNx!5^dP4M)#*V_1s6qO98QON z3TML>6Xw*Ym#{i5%a;5PJwA65A9Y%l{+wQ>&g+CvuuX(H)$EEwpU<$(g}=e7Q_$bR z>NKo6HOgsHb!t?d4ppZ{IZevxQ%;$3YE+#jOuD5ps|9jZ=^a+;LW zr<^iXr$#vis!ok^nv~O_d{3Rzq?}6Slqsi1)oD^rjjGe6oElZ9NjWvDPLpzKRGlW} z)Tla5%BfLxnv_$c>NF{*M%8IjPK~P5q?{U6r%5?As!o$?F#X8$NO^2a24J2?$cEs? zU>@_0zyZR>qB}u15uI!*x(C=ybTU(D&!aAnGfV}2E^G;IDlxU-Kw&G<8Pi&HvW@7B zX)8L}PIR8*3W!cFD7rhikmzJJm6FFaHGPuIv`XGTv!6_*C)-3_%`IKBz z^lD&x(aB8N<2jheE2ix6984|)_K{^Q3l0``0P{MH#{ow$uhYooz`o++1RfylEIP-e zyy#>X(Roa86`kxRI>)4f=;Vr`R{>WNom?5*0&Q_w+`*y3RluoWj!9MUJK<{JR>B_O zaN+8rvu`y-C)X66>#mmQWKPw$MqT=Fsy;%PQ}^mLKBw;0Y5cn4&${)*pIl#buA>H` zlN*BDNZ-7{1BDxjZU!Hn=;X$tvp-ElCpQK2`k6k>z`TAY`-o1T=Ax5*MQ7hyh)!-P zI{Vg2baHDjug5sfZNR)9BexZu>$IKdWHr@SIln{ay*-&}zr5#XU8ed{C;NfhOU%yT zXyGoRb6L8IPVNTgbuYO)nAg2zrchAlGBSmNI+-aIYI+4zD%A9fKH|@1?<@Y~eqcTa zU`&57p97GYib0(*nTkQ3%v5DQJD?9!mHF&|91P~O0CEVJ&jQFyu!+fG^1`iRA6`lLn5Yfp)MQ7bO z(aFQWd^W*#Hyq4o6XX$KKAYe+FcQpX6Xa3gE@;aLJQ_Syc#P;=ma(Ff$AS5rf!oY@ zFrPD!Cy36rCW=m;Bs$xgEIN6L=p4hTqLZhI&bFqDPM!hohNkE<6Ff|KmgtN*TXgaq zFz+wuKNrmV3-UZLpLOsVNIaO&I>_@yXIl$ICodG8>u!`shcG1Z@!0Z#pVJ9s6L{6kdpV{s%u#s?*=xl4Z=;S@3v#q_NllO_vwvt6B z?+3G8p6?F8vR(2)Se`?jz=yy*hmsGA&X`9;Cm$7^F^`E(J`TPlV|4=jQuw6k?DHwn z$tj{U=4sK%XGCYrv!avFf!SA%)p=O)<@$bkVsiH$*4j6rFW%iB7&Px)C@-bn+cA`^06*gk_(| zcVYRAkL}(AuNBS`oo(G0ot!N?+j<~6`Jw1+>yhZ>$D%udpNLL=3g)qq{0z)vBRNNO z#(XY1ITyT3`t|~xB>Ylz_U)DEZx`g|6h{6%!O^;LB8H_?s2-$f^DkiM}SmZ{tZ!c65h1oJbtWdzI5$i|{`eVK?( zHWj@w*i3Y?IXE7c@hyZI-xAEv7*h+&&&XDyGp4oZWE;^L(^hn{9a#M;08{J8j9(DU z&lpopwIdf6oiUkq$2w%D-|<-x`^l6$GUKS}c&w|Y;E|b{$2zQA8kTj)4zTK14IG6T zryQ7{v91#=KO;Mf&bsAAC%cHwWpovt>;~p@D)zI2FymJQ^E1Y*1k2CJl|^SvchSjJ zL}$#ZqLZtE)vqrw-Hpun)xrFXG1c@pvYH~tm})8hBPF2`8pMzHEvD0IS%-x$o#7_$j1KO;94oiUq< zPWA=!xgY!4LYQ${g83Qiwu0qn6c1Av$9Y6rCI?I%7tOPL2lic*VLg zVD9f^ronN)BM$|0yCn|;b9*3<0CQcCnJUL|AddrUP?~|q!x{)rfHf4J2x}xf3D#J6 zGOUU46j&Yy8D}aikAviCu;#+kVJ(Dbz*-8=gw+bqg0&K!4Qnkt2bRY{#+(bw;~;q+ ztb=eotfTOJ*mA-PV4Z{)!a55tf-Nt+7?#H!##{o+;|_T#tefyM*b2hSVJix+fUP9F z61KANDp+^n)v!G7FyFMB!ukuZgAEW~58GdO18ku1M%WTg?GV52`9mFo8)!oZecz@*#qYG%4OUu zI(Z+M^8w`jqI26m0Oot@2Vr^MWXwatjCoj?+wD2no)0)_fDVeYf3!i<>)=03>&Ul(To)4`n2 zVBOoI(?3IW@*ObG3#^+d%({1lS@%9zO-)tPQQ3zFqBG7z@L5>Kc_hp@kHMTrVVtMn zQ?NWj^QU*9)HMr zV9wc)zlhGZzJmFl`Zrjfj~M3%n8#T1Pht8jcl;|AcLjJp3e$2EVHXNtg;i5=uYqrh zo(h{TY+MeZQCQak)?C;MRx9ib>m=*~TV7ZPtES>M1ve4BIcziG7O=j;{a_nlQP@@h z*kAO4ux*4RVe5-e6u6-y8Jj z>AI7^6HwT<$*>cJr@>AUo(?-zcn9n{;hnHsgcD)63h#p5F3c2QH68d7SWO3h3|7;7 zpMdA1un$bp-6Q-8cCYYjST$Yu4OmUrWm>M9qRX^gHAS~QxE;zel#VDJg#BRE6kVp} zswukNz+J_s2W)p?rsb+Bx=hRMEjrV3)f8Q(<*F&VOv_bMbeWc`rsy&)S548421lW= zZ-a!H{;8(rQjbN6L7}du2p8QqM%W zgF^kTFm*L8m->Aart4DAL)nBv{VU2l;cu|-g}=jo5dH!CQJ5*Zzl52htETHRMORJN zWs0tvuB#jO!9Z*G*IyRU|MdZlE&;N$kAJLxghLDb<$#z-K(m;bs2GRPNQa2f0RNc& z144%e)pbC!FI)?UMh^9l2n}=?=pP23$RPs*g76dK@BiVW(8#}iH1DH<_KrbpR1~U2 z4tKyGF^C8p><|nOl!5+yW`|cG&M(+wHQ{2TVKE!3847CxI|dfBmzs(4`Bbs9Va=c~ zgf)j<0c!!9AfIo5wZ!`!@_vul1EL?5_a$sB%uM(<5b?YH{9*t5^}WlU=>ExfZQ#)! z)q^|q`-eZC@wYel-TO}l+V_V4_;dQUHkQWb7Pi)=238tFt(l3D*4zr2GPc&1Hb$mq z1{TI<7DfivR$3cFQxi*LjV*o_+{Db#*wWSpf2YyZ+z5YC-PBT}H8(Q0HZy@}VP#@q zYh#VS31wz#WMOEowbq*1SQ!{um}qQ`%}ot0O>J!~v={*^Lu)ewV@nfD{H--JQv(xQ zt%Z$|m9@qILx5K!Oq41t?=?7qDKAWNY7C`N;L!7Bqc_T`A#zplWve%T>RdH^+3C%n zI#&%}1@z`movVtkf_n3(&Q-@(A-(xi=cd6|VHC14Hn}eb+LQcq2C{InNLYpV(?a-* z91ac+jT$uy$*~BVoEUN>=2K+-x}V!^9NW>R!>j=&E4F7&EL-C0!=6j4&S)Ip)N4@c zA19MH-b;SbGo?$N4+TDS-!Q>@{;fWxwlCdgcE_OS#Dd2sdpMsSZPhup_wktDyR*k_ zHqBZQ`(eeYQ=u!KPHBGp-MLk#Y_F`fa*nF}!hPGM*p^valX~5q_I+r_4h@$MJm<0H zf~!%|`LW$ke9}HV*F1jntq%P!nTAxTP5Ww$5SvdN212(v4CYC{S02(L1& z<9uC{k0#aJYgMXF%WZesw!5^l=clMD1Kv)U8ynSsN;0_xSi1NucABo!$8X<7sa3TOz~Uu z)VTgx^q=Y8Lo*Q`_lJRYDOVp~jr#F_ymO?*s~`Wvdph$)OJB7!>U(v=Q{Sr_ocdnf z(A4+p2ByB}Lh$8)!uaa0jlXpB(?I*vdvP_hxXS)EZx45{SXSc9K(o1dVbQfV_J6T{ zQQ+$8)9%@9IG8oO%!^wOr)8!usnmME#j#Pl$C$Yvd>&u=#JoVe1EoJYB!&47I`k=9 zcYM<5n|DjTdU}6ghvb`i=O^Eo*kx%%p_5y}14n!h`1Sf?(2RDy3<_sPnD+1A!1l*y zYxCI`93t!Wu?ubeRM+oT%%G5U*Pj~IZ+_Fb)vw9c>EX$i8-Hv`t`)I#PvhGckKAkY z{pgM-5qGK&>Ghyls`c%x?hUSQ-%%~orLHEs!?+F^7mE6)ok-5x=je21ZG`xgfazC3t*=BR0h zem*FDKcI#C-6Eex-Ix{B`sN?q{P(oE)*-oWtmf$Y$JLJ9)NOpwGGo!51_RGr-|$D? z?Hge)LYw@|jI8N1Eo5if!G3oKyBjxsR@$gW-`1AfE{?LkUw@EE`)xWyS35iH@hJ{g z7t1FP=(=}ul!L|1;6rPk`d_p8p515Z#moxjmZl}`+mdm@#<|OsYU4Q%bm<89@o=Le=yW__P z?LLGYxgOH>=%)Lo$=^$wqP(;nM1zsJ5x#$kJV zZO+d~@kmWep1C@+a_PkEo=GWzD_lPIf4y>j*bvJF0}Z#DTCDW;w0Si-#4M&zSB=Sp zmM0b!9&zw-Vx`?9YuoR)S}`YmzV-22&knrH8s+%lp7v(?jVX;E-~8}x@BIOh6YrM2 zTJ-q%o-T*JJc>(-ifewLcuo)VY0+V}`IqXM2KUk$6v$s4G&eLc;M*Sk|BRvifZhu$MOE}VuHCnGj@4=V2PQpczcX~l;XtGFurDzoz_a@4PVSYA&qf3` z%ZnR5Wpj@%=NIeRna{|)(BeqS^%=SEeq7GXdt%itc}JTuiOF-^C$3H{wRCESf+;QS zoH9Gzh|U`}U-!GHai(KATXxb>0!jxtkYTURyl7kcH+-FJF(0 zW-|kRL|*FjD9*3OEargYBm z@a$y2Mr$Uu>)x%PP0o7SWMaO?0fNLkxpq9e8&7SATH?fm*L)35BNHJ z#@btyu2r$1@yDZ`TJ4?f+c7#jXt>9_G5vmj%6Wbw<=5{~@oBdjBwW7o!*j;OBWCf- zhxr}dT_#?xx0 zyS?lEQksSZHA@e5@|c(~FCcN|^-jt2i=NH9-!<>unT4BE-rZW9`Q^n?v&1d4OC1Q$ z_E=f*UB$_7hKFC;;TwG;%D(rvDiwVmJ@U*BPB1$=w!dGlU%8-9ZJvGFW4Iw@t9?lP zq-rh+YbqQ}Jp1(fn(SY7uY9^a@>g!^(eSO~e)ZV1tf9r4J!5N6+MeWGs`7^-X0@vO zR4g+%&ckfqqiEmHY2h6_C;E(t+ta&$+l(KVZF3%_UrE05efFe`hb;>(-lcV#z5haV z!m8=IBa?i3I~kcp)Gm3(yNJhR8ymOAOWTDQZS@;-^2hMb<1YuaE_=52_&#|~OIK~S z*_*Yv$ToY8-?JVb?S3u`2*|k8Y528b?H;x0GUiA7MeZ3RZBU&}m4nXTiE#%`BY4{G81z1$h^EI(+lujlM_c2HVGP zaIHAw*u$fjKdzmf_9`Iz*GZ>$Ihn^E9WDGbZL_ua#2GGQ_QZQ1a!!l>R^)PMJ)fM$ zBjSGbOb!pq%Ih)atd~Wnw?k|De%+mDaq#_`f@^DB@tzU$%XtC!f3L6LkxBlCv-r7l18g{IEvVKr| z!v@`o_3?}vz0%9`^xawpTZ`A6bfT-r-dl^Ry$rum{k}ng8uOloJ8z!5wft|7cdi$E zy1TS)6W}z`HKAO&WjPK-J~=zO?Hg9HZ1&+wKK*`H7-ZSdEw9ud_tQi7R$hMLbCsRz zysDm@y*&Es^KOF@yO$ZftVUK$sqzcrDz)n{H0DFG*k&tk4H=d-eN4Okt;QBLw;t^n zkUDBZ?6~0z$}}E!DZzNeuS@4fCRI5aF}3NKf!RN5N4=Q$BQj!2a(K_zabboXJqFaO z{VCLZ?5+UsA_MyeZ?ELv;na(MH#0T`JvkN_c-W|1@a)isAr6-_e2c9u(xPqIPOXLy ziEsI{e|Ede7Ny$GKhUG~#`{a#EM0!aXV-hv=3m-2YIe$bLer+zuj&SOvu#u{r$yt^ zvt~AFKj4F3h+&P+4UZ1#YH|BOmsuyjbvm-GZpX)kN438-=6HwPI*)ri=;Y9I%A4Ts zyQgmGRx|!pZ=*jd^y<+ps?WfxJNu5aul4A_psx?#rtW^6xpDB5UVH23glGPKUOnXC zGZX6(Piwbyd1veJ^lg{b>t6fk^?UR5an;-#)84$8;ko_Qv0kAs-ybaW>wNn4pQ|I5 z{N8HXIlr=9$shJ3?)=gC%Yf0V=CS~*P>DJ^H;ibP5Gn#qSNap z+&Hx;x4_9QyV_h{b9OG))Wr)Q3TQ9Jnl-)BWZ;ymC2yQebw6Zytcxd>uUtF)$13Nj2dD=K_N#E&b(l;?d`7Qf?byc%&q=D+bgSYc=5v3vURNnE#% z)_2}C8gQb+x3%9Yy+5;NiEqVf<$AR1y87{#s1{=vn14P$dUK;&#ZUem*fwoVtx5-+ zW}hv-cum6CimoM^|2jO%L1#FBZl2xOT;DAXx)om0&3lW}{&}T6ZhT!kJuG!-VcRX2 zc04j0dwf#A)28Xs34IO}E0xpz;MTnQ4~n#&{5<9Q!*OFmZK_@#8SWc*dY!HHfGmSIR3JxxnbFOTFNE%O_6rt{VTQ+ky&y{hIFcF#BfpU`v}ahf_andi`Mj@977t z_=FT&;b$1_`ud3P`$5@NTVJd;?)$yY&ztpMncyA%{rtom#Rhnuim{zB{IXZ?r-|(! z^=g#w*S7r9+%JQt%}gx%&a3FRMiY!zxi&oNT=s>dZdm7KyD}cmyp+_dM!o&r-}Jfu ztaH+s_RVjVc%2{NSTDfBXX@SOFREXdFlSEm&DC$*c7N|MuWy&96Y6?&t2@zR?&h4x z8fDE-O|c%hsc!OyM~#l1n)1`6YK0cXTDJYX>(kJ3)fX37J!9DMN=r*;E^%meF>hFv zMBkGq4SuC>4AzB}>a+Ok@H!RSEm^##_s0)T&rC{$x9K+~=aYKU7-LW$m(eHO+YRrm@gD;i)u%T=7 z#l_!kt+Vsjl|BWUnZ9i^wEy%E*Jisk&C1n%3+ynw>i3#u7U=HocIkBD_VQOR&VAoI zYi%=afX(|7W}&Uu9`CTC{yk6ENwt>EU)=t8l`6{)`MLbe&Rtz_Q14lBMIY6?R>gDc z_7*b=G|TZeau`4H$k6zQPYQkM)$>>P7cG`H?EJyebV5W^|AsfWU7L9>b*tBy+Pbl~ zd%K*D+&g{fsM~KZor$_#y1V7>wU3^bDg0^t@GY$}LN6EEV-vT%*V>drb`lnzOlR@RXE6cNQvP?*=W_b zmHiXka!x;An!5h(<3w+JP6zH4sxiZIQh)Qq zJB@0EWvq|6`}=geOXZ&Y8ljzda@!!MsU^ELIou|$`m$erI&N@x{`h2-_5AGF*Y`v; z_?F(`&4ieuy|)*vG^>8&t@VqPTlhL^!i`=&kKeXlp3>{*-gW+!FB-b6d>CM#`Y`?b z*o%A4?Alv!V%g;}$8CK&TAhfh?h#dF{?G^YKen>jzV71j2`PDz-vah#UpJg{&AMFu zG0u$*68k*%DHAtg`w8oY$e@qo>W6y0r*?ZICwDD7% z`)$c7k(BP!NArhE|LYM$ANe;cnzh?|{|bYmw>K5I^ri6HCyOf#TILyfDyd7S#cN!n zUG_I`^X1BOOP^;`y}H!dJUPei{6WvKko+l4%u>4E?Aqx0FR#&FQ3TD<`Ln>Ou6OqRn!3jL=JR#8njCNl z3d<;+Y!}zVq)xGrBG0^TZM@PocgX&)yUwmzGXGv~kr&~ohTJ@IG>pxUR-dQQvTsC{t$rd!n8eML?zEZoudSZq{Tf4}>?d}}@&TYcf?RQtT;WoB(C zp1AQ$`7sXy1Fn5B?weiF`Awuz)3oEmpDwX!KWSU<_BDOq4EGz-z$mZ!?1~F*SAE%c z%>BX5albako^La&@Q;=DO@~#k?%eFB?t{U*X?70(1$67W1AK5J@Kl4R-Lv<<34(t>@Zt!`~8&$8vCyJ3rbO`Sn=j?ehl* z4=()l;Qip}hQpF8e~z&1W_vNy_)N(5d5u$sU70?@_u|3_D;D(~^ui$XX5HQe4W?N?$;zuuYs*!x2fui2ZQ&hPU_)%umAwl2%B5#X5W zId)R1uzeLHe^;M-Y~A-$*5$N;*<(&#+VRpSYV7{m8SVDYi&^=uXV%-1_lGxdExKdw zpyw97+$(Rca%h|3uV?;;uRa`Aw#?B3yCd8@3ZIDmai?%nnbGH8-@1`Jtkck7=cU)W zI8F|qJi6`KuP-k2b51r&Ui{>vU9%H)j(b%)VgEEPcKywmP*bxi>$VIz>}h0B`+c4Ae(Lr%eLj0%#_q4Fvar^NnaxA%map~e=(wDaA~?JEYL1l4&OwUmvr_uXv)hX4ic>J<2#~Pn)P^emmBm19NN88*mAGlrPx5*^tq(j2mm9O@d z$t_Ue>b|=tPB`=`88K?fx?aO)n9VJ(+xlzwd8;aKtTI;~`8BHDbIv`!wywp#yDvJA z4ajUCaNg2tYv{10Rj+J6^OXDlK5g8l3I*0ISyeLEqmXmEyvcdT10t^b^co6m-{ zeOKc~v!#pL_Kn`~!_UkxHZ0-%N&gK0-Xp!+zliqza&2XH$cQCdPd%Tld*5k_XP5g2 z;}?YP&8d~Q)yBBdy5Z}#rhE96&h+^>?sVemnin#I4u2VwVDrnubiwmSUaqef$FHn& zEY+?0rO;%za@`D^I{%(q`eVI%MJKP?WHoR{L9>#Uf5dhC*=|(%9_hhX!-EGNzM9*q zw0W;?VTq?2Pgpag#pgO5H}>C>lUUeh+_7BKL*U(dpT>xnSr%l z%~~=3;U5i3{U~I$TfOgRs7VT;D)QqGwja288kb~q*0xWn4GlDb?pLowAufC|Hi3pj-@-E zo;c)b+%&_+FXz7;+-KRUThChWpV^`LDfcVAE0h}6rO)9n1HO-K+<#8ygW}Si!*65^6N5iZMva^~ za#cXDG0UM5o7g&By6bF_)3q!k*WAz4yFY(_a0l z^1F9)-p;7>zs1XQu85Qr9F=1$TNHND@3E26rRU#rB4yfy;%v@qcvk-m@hR8mJ7(dP z;wavwU=l18zjvgRb-O_LLp_((`&Feney%e;8phV+E(rT_7ZU9ny8r~Eyu zpP=)*d%Epy9X+})*1!E-v)$9@&*w)q|E}|y^`DdI9^wjMzoq3-8ojPbJp5zdjo@tU zWrdu64<33;uFJf^ADq^gmuz%Oe2Et0#Za5UC!6-%TJ-3Idh`5)J5R=)y}f;nTho`S zd2zh%976@e3t0m937uTgyz2eegKJVXXVx3I>TlW9aw$oqe#;F9htw+p`Grhbw z%9g*taj}&~o1ko*xm5UpUb*SNzRJASb(`#*SL~FFiPqV_nbYbKPq{@!*4pET9fJ-n zsTJ`0H=XT%$(sL8GE>_9*4vw(Y`GCuqNl_h@bgb@Xv}W;>#hf5W9C=74j3s`^r=Sg z{rfg!=vT(P!}SamtyQNF8FVI@&bADUe^5Vf=d_mn#fWUrZ!PiYJ+-21BhK^bDEIL^ zm~X-SA*IYC(t^XcfAr=N?q@5V&m6sP+?6J{KZ_+$Q**tdf$}wc{UGD4Fc`ByY+(ET`C3HUvU%&eR(GW_XR9_BDXE_KOk8b~!?1enaG(6SAs_k1<#rNF zWTzy`z6!2fdpvk${B83?o`0(kb!?D5Vp?2q11ofF7(`PUns7f^3#u;oKJWtSC zzF}%#>UO(*Y*(xGq|MFs0^$mc7A%o9%4k#4In?)6aT8QtdANqj*Y1^l_Hu``qw{A^&M~@czJPX;J5+z&;E*t zpN4Fq{h^Hf{VQLO^<-~#=wS^nPX7LORkEgVWyb4kmKk<7nh#RUK0V-!(Z~v1nwqty zox7NuDWW+2jeCi#=1__M<*@>-V26U?9ib0xU-3VzV~>b5&gPDsIye-4YS=yc(+Y>A zWzu6wxu5xCwm5{wMBP~xR^VG4Cickka>S;}%j%<_0_UbR1NW$;UT81WxZrxKJ!qq; zR#0S8Mu6xdwSfFi@k?&4WtTn*S%;fNy$qk->yp^zH=5{SxHxwDMR@FP?x=_x%$yOM zs|Rl8>3H503LDM$Q*g;&-537ow$tKAJSm(-wfCZm4j%I?{rPR6RC|?H&XIrZId2rz zGPjmxWDcGzOHuF=PYKF@d51&Y`cCph_}86x7k~YFbhO)kz@__zgy*;UYX-jE@8uj` z;TSa>lC1VG^GwD+#saPB%NyILrT)D9)jMPTOK)x2cvZRhxRZNE%S4M>i`BCB#&lg&Zr9Smz)(X zJSw_(&SvRyJvP{SLA80S%vgi|k6BZF9i`k|H6?3y9d-?{+MXqB_3g;q{-fV*_t#5# znXt?Eo22!y?2&Vc-*Yid*i(cx!1GD1t(&UWoZGdKelLpvFRz(h@xCXYvG}%eWjRg0 zS8*~CYRusJCqOKss|6}6(SHHyB?xr*-vOjY(pH>iy4GgxwBu6fDx zbt=5OO0#%ByX7uhes0aOOHUd^nAJ>09*ocNT#>Wok?0O!yXP#-HZPTBUPWg7JZC#E z)}FzB)*X`YIp-yeoRd5*2Qrw-4A(r`pS(5GLOF13{oL1k-_G9EU1xK3F7V~sb5`@D z|EXV{t+t?CSg!do!oPvl>TBMCaIpQ~t2`75;ltcU5bXu#JUH-YO=O?SIX> zXE<~B^hPpV)^ZD1FI8q*$97-~_qN8&_LJjYwj!SQ>^6U_(?7ayw`xkfkEGfSlZ!(I zuNPOk|8==37U~n*Jk|Jdt@>Hjk_RP+cChjt6S~j1=19Tvn18I_&EEXlRkfdGk3f&6 zLc9EfwUX*#TZ6*xUv*fb=5f}E_2|N~^Fpg?S=y{38iWH=cNcsa9CiQ5V#1kKu}xQ^ z_iyhzXBO#m+EZ3ZTOVJmKbq>gO=WuK`ty|6+=6;Fj*=Ww9*=nLtn+7&RlQY`a_yV- znEzM5*A2UD3>s?IO(|uKr#(6B5#_`^Au_$QYRuKk`pm0nu6Tt{HdUcd%X8kUj<5N> zc=FlRq=|@fjU82M{-n;Z>YUDWGfvrVU|*4NK_4=|e z=8yjxnaBy);K#wYU+lf~$)9^3TBgLZJ|7rs=c*U?o(aC^!*kNnWY;6Jxb*m?lk6Rw zn=)4IYbh#Sx`Rv8Zh>2q{tuox>6I_~A9JQJH3NV;Bj%^9u|!LHu#cO>tXXI!hdtlHSQR-HzM(MaTVZ80tSxh*}xmd#3J-;FSZqgm_qRpdu_*(a_WgxYo`Z({f8IVj}u)x`W= zZ5+DJF+8+k zk%y-m;k-2>St#$BcBhAnZmwm~&p08)?nnI-&tQOyEom5pF?FTkJ6Ts-PMdi)6^=kffD_b2}3+bQz~@fLlUZ(K9BX6l*y)-BPd@>=26zg1N>o{`xg z^~S|MRHX(#7DW}8c^E{Z?AsJgZ}ASiJ*^Ad~fku|3S8S5Q9UdY!}%lW>2*>ma(-+ra? z1Rc-)dr$daI-Jt^aOJ1U&l;>hR?7zZWdm!ovczitq2+aCQA_ z2e!M@)*tttUby~M`c&K3jhll<_lvl5Yuz1ezh=6D6lU? zOXGld`~C3NzAZh9W1>%`nQyQe*z9dRop$pvtLxy~mb#Z8%Q;%gLmi(T`7LqelINup z;h|Sne3p^3S9+Bk8MJ=iOY`Y-`vyOCvxf2@7; zvcF&A&ZETCvkC1x{w}#Cto-n}FY9mRaYKPM3-_9B*ukKDOLfJfH~dMSvKBs%>$Bcj z#vBgVeQayiuTNZ^6Lzy-IvhE@6BVyp-7&UXskTmjVMw2GM^{XR!;17R7tX|=mE_{L zN#s!!6=>~P`#f`9ve{o3md!>n`fE(39c%~U{~Yp(cY5acChp_>48|m>dWoAdOOy{j zJJv9C!F2DIV|MN-_q$>LUyu9$1*31RuATX2wyZa$P~vw}7C*1sm&ainXY$&2b{x|8 zd0rxW%Wp*SM$|pkA4hbGa_sNaXs9*6)Y15QFN%M7(~5Yt?DZ=&yfJ`+B5s zSyR-xmZmiWs% z)9$+%?|U>Cghfw=M2CLR+E?o^>f7mi`RMO5CAFTD-j8$ScDyY(;!yOMUa&yT+d5ynGdpwlmxI z9~wES=JnT+|6z9b*2w#{U00&kUucc2Qn0DHGqw5ETMY%dg{~~BoeguY0qj2#OKQX>)z235p>aD(_HQL{~ZZxs}xz)Eq@jmOTyp-X0-J>^3EXV&oi(Ilo z`7qnqT1~xNqcE!i(}AO5dBd(xQ&rUks^?4Oeko`8XMnVW)8hwG%$HR zkKOB3|5^XDUqnwZGu3ly3h>4?AFw%@X{dVOeu?YPMgAKe_;mM1PrhGK%Ee+P{8C!M zuw!rKk=5RzLEQ%z-*Ma;=%J|L_bF(}^<$bJl=qZTN|&=J{WPX}FR^J|WE0E4 zAFg}tuU;*UU0k%hN45H^{w`@tHb>_*r%wNi-(`IG(`{Mj-VA1s`sUYd_6dK_Y+}A< zu;|qN3AT&Zvv2H4nf`13X7fV!U)gi}%*?NTjcrFulw$g2?GkV=Aeb8W~5U*AG z^Yzw>4ikfGrfQ6z7v1%;;JvjdjW=*x*6BQ9IO>1z8hyA0zu=(e&rE1XbpF!Z`(L<`z3(R<``Gc>dDrYgORecox_-SVQe&=z?RmF|F z?v`ccTbTsyEqr6h*mB&Z*>lXCA@bs~^#!ilZXSveJbFI)DblIm`h`FG+*;(hI$69WeCN*3 zrurVwlQc3-KAa4#cm6TDlhqL94q_kOy8PYg$?7$W-YaD(-D)q1H&xY7FYb- zHtsSUAfwj%Xw^FJ>1R$_X9YPjRWI(=zf@zcuIa*J6Z7;@c%9j#>2dp?q7O^67jr&; zE@Ak=Pi$(@t;ZV_o7uh{^kOLIlwlFbmAF>f>yy?PE~3MduK7URO0(H}Ctu+@`Se2* zo&)(WW+q3jCY5ab=(E*OkQb~$MzR) z!5zJ4`qgDuMZCG5V4SiaURBylNa6J+RZjK zchAKIx(}tTH9wVd=De`GQw5iveA{~?vxRTC7rmEAVhecuRr`g?@X&gVj;C)bH|O2a z-tgl}`pu+-;@!_K?9qM6{o?738#>C8PxUSwkA2dAcJ*3^O`s)vS~;=!gcV~iviu3n0b+WiDx&v)o=Y>lDqX8U-wQ%#~)3F|MK@O z5@EMnSEX;!-LPlEV2#MA%&6mvQ2XWo+LkNkj`*MYUT6HC^=wf{zq()O4JOl$hPl5E zMTvupo^i`4OMhk3ZWXb7m*}MWwEaiORjwtCKfG7vKW=Ni`PQx3ZqVSt`M{%9d_4ao zw9lMSer4)xoh`rG%+bdzt$Lo+?ULn{?aTKlK5nRRHC~pvNmnGMSLXM>_$%=H*};Nm z(Y~WI>DR4p_&fRuEEYU=Jp7iimfyiEo0u}2w2yvyu$Fr-qu^MA?h!!)_kY`#ddDm& zPD_645>@~3WKt}1_Pdet3r4S^->au*Mr;-rKQM3aZQEh*hmr#eJ~Qc>gtUb(|Mu%9 z_p+2Dr)GQlzh}$Zg#2Ep{A9Dqla4(fIIavvj&@s0w>NnW2;>`Wyr=T|&`SMnwdYP) z3Dt`1HqKekc>K_As}x`Rh=rF}c0A<1EE$(Osk6PSF~4tbc6V6sz(H}bh@o>z`M>r~ zR7}}#->vnoLG4fM^#v_=C7d2ltFQcFwpFv3W6<}!d=_7}V0>J4#vhFr`&4-VSzHDxy-bK`VUEj(ef3gU2G4_*M4Z zOuiT|J6bhnyGJ}TTK#U~h}iSAtYgCB+n@E84`jO;G=(wcw-)sj>CGDOymt$K`yu}x z^Prr%v%`rHfqP#qn5UN?=e-ea&by%bjkt{U#xn_tYh;%)T&_~kT%cl6*L}Z?^M{80 zvBKiSmZnB5_{OXi+K#&*9Q5>IvF2r1cJ)BOGUo?%r@y?eo<0&8{d~U-y3#-&Yf+@3W6xvR}tE-oGfjpD|T`$FZuWWt(#iW6FOm1Sv0+Y-`m*soLlsP zi^_QpT5{q&8@^rhWcj-DQhJ)Zk9u$MAMXdJ!rf$AZVi3D5xmRe;7Xf~PvUvX7wErn zGmlVw&1It&IFfdm#ddw>>qVIlEnCBc7AfWbzFyQFw*Osu{g%4BmW^*Yg~skYtBGIB zAd$83{8_EV!bcAIEcwp;n|~j#HTSFxnb{(UcQ$L0zKtzNiLA&&X=F5R>KN6zt#@{U$06fS|0py z*;-}STcy!Ej^=Dz8duFXtvymOR$>$_DC-=S#WA|7lI>*Op=0s+;or`Tyq5ohO>!T!O9%LEZPZ&2Cd>7KJQA~V%00XxXPq=Y;8!PrR3huAjKr3`+g1wcUg~j zeYLec!25lNlj=4f(YA}r|D8-eSmx?iU}SSGyN7O;-)s5t%euhn;fKAvSk_DeZ< zJ4~`Seyowu?O z{D++@cO`{3IkXub&$;pVYRA#J$KfG=wDP!||2bW#-jFL4!(NwrYPQpjef#QSgR~QG ziW1l}IPF<)%eD+;uRkBXCoeUHU%6m^ zE4nj6lm2Ngyzdqxb)rBAD&fZa$FAaIeaW3y!n^3Xy^Q9kmUz^I^osfK_ zcjt%fg%%Aw?(k=&hMeD05}pkr=%prq!fyN|A?y&94$*!cHk=9H%O+&6bOVfiq{ zC@-}L{>7~qW$XGMaheK$*W8zF!rV2w?@e5%9KYXh#-D@)`kS`CO@ zY*mP8U39p3Rl3PtVQ==;F4}veG;5#4<{s5<4$J6dn+o3befm!AEYETubH%!37wu=B z$DMpcJL38rr0*>B*!h;xmY>6RbJD(f@1H&AGUHy@-8Gj`G+6rP<%=?lRzJC*6*c~n zEjQa;1E(~Gif4AH9~ouJU9f%fi_Xxta|dOP=VbKzIE{Sx{c+gZ_s*?Hha!2*w@%A0 zXxt@dFi%nE*jDBS&CQy+u8&7goV*aWdYM#l*qM^ng!CJBSx07sM_;q7(Q|&0>lfIX zzN4M*+|aPj@ZHAMlKYLv*M>Hn7*bZZJ7-^MmY^bk?aJ%%Zx;J>nJN@!TR49F%@yM6 zz4_e#`tsdF-!ftU|AUcpj;A9_AV-P}hOjhcA;)X33am(v#a%W|j2o}D^b&4E7_ zp60FBt%(S2jSW5bI>u0Xy0~>zJV?6sO6LX_-n6k3sdFd3%#>*}Ra~y&P&AB99mu)q z*R^|Q>#dqoqC=;b_vC$-y}{(LA<&a0Z)MoVZ>#o6{minHq}@Nm?xReHO-l}b>7GLc=AZGncdG0%TCPqkN`4tgKPyJV}|Y%{y;7G=@tg*8q!2FCx6 zto)g0fAnPP&xT)NtRX_z`3}aIXQZn&BwYzo(r!GUFt0Ri`16d9+a=SoDS!3r-!vLHzyu88fQ=aR^z}n#BoS>$?3;g&!sgQrW~4ft zjB)h)Ahnxz{|uFD+>^CFZxu`Pps67%ukC9h|hAA%G( zW#F%EBsTuO%W`|Xs#cPA{|r06S@r0@;}+r(zIn03#dZ7X zjn2cz*G}Dch~yQGSr90Yy7Qq@ktz2?xs0)HM_$CM*zwU5vp<)~2KL;@UU=$$>ibO_ z{FG#+46FCHj+@mK`VI$qe(=1xF7mgV$hpveEsi_ymss3OwF)q_3!H0F@7(xhW&0^rslpEt+N$3<=N<7XId;_ci*WP8cD{-$(!*?d6Do1c zmA@TLFYNY;8-JhsE5}`Op-^@DP5WCV8P{UHl(oux<-G%io7a9|cx06N?3Bo~jao|i zdeL&`4INhV2FkBXo-ltX9B$peHMH7a-S}Vaq1J6KQd+SK!gr4Md&a0Pf57X@cH&>V zS@meo#+~Blyasblyf+r&i@uN;>7`zkUzGApC|WAb{7u!0pxg6&|MY$F=Gh^9;+h0! z|I-&cpR8k(d8#C5{I1c*XkWINCy(oHCuYgf6VpP!uerSBdM{Pi%s~ zYaeMX^W)dMVw%D!mc3yqb7_go%m>r4xGQmwtj68$E<6~lt738G`S>lh_~>)lNxtq9 za~|BaK0R9*SH52{u=2zMF_qjetc4v?yS^`~k@#v}V|w*>$u^eisZ*vV5eN5gTVmg< zKC$@k{SR@QjTyM*nZe&W77vU*me zYg0s7%fx}T{|+xRu47z(or!Jk{;960^5y2Iw%Zq-uGP)|?z-z}OaGBU+eFiokCtC@ zZQ*Bpuy{e%8mqrzwIg0{>R;5VE!}N4bWKk}LVin8VA{jbU89N7cV<+NnMQf{JrlcQ zc1pkVO|Pb0k-ha(Hm;BH>(u-OCDsHj>Xi60y<6|t)nP`peLfCqEDT}|Yd=MqbkC$L ziunD6%YnD#)X9sD!(-xcS?})t&OQG+xb(4;$m$y17F&MJEgsvm>R86t?~U$^8~R`- zaIV_IW5izLJiEiwLdN`CCbH|5EX3aWO6_dPwo~Kk;&cg-43iKjuJ>OY$#kk>S$CSD z(2#xdWYnt%L0!AN_ZEH~;ZZaVQ4$h}A8Z&hyRM@C>fp)|MYnBMQnL$Ne!O))f5v0B zZn7XNqVMJDIEf`e4@>o9gSSqMG#_Zao04GBF)`0tt3-LV-26=|M?D5FF|0bAC3gJE z@l)IVRpg9Js`uJ{Dt%$1b3gH_HpdR8IIf5Hh5T-d&JI`A{S}Q?U19Y7TgDBqRV@+H_*R<(4038Cy#Rn;J(&yHnfQ z40~H&XkM8#ujHzAml+5flXQz%dnw|=|iRkS}&ZrK3IvaXl7!N zhBTl4W8@5FRf0h^2rm5n75H{0K@QFBKVlMldFSmg78`*_?WfH^}q}uyp{;M z9=SP~C4|=!LEk}s1k4`7Yl)!mBKHP658<^$(07wx1-k~}wM5X($g{xiLwGF_T-Fxk zd0-e`O9YqEe)1<^7#|oehr{GAz_6v{j^yvaFn;n=pm(Co(X2^gM*q!~0PVO)*171miu z2Ihf}w~^+<4Ym|oP2NH-3#J0e!Zl9<;r82M*cg(7>F|Dhr0J}|jzIYT|Koi7$eqAE zp*0MeAwf)>&l!DT1XG|H4A6u@U>IDT>Aw|eg!~#9wwC-ac^Vj|M9wJqzYRhT7`Bd_ zle`oRTTi}(yao*0KrTYw4u&a{OOpQp!&Jx>$Qjz;Wdx~`tCEX?NkMAhxY5xh*9J3! z)WL8;>XAExoq;xz8D7hTidT2ZO3344Ub4ZKk z<4W!bhG~?x#29zk9U)(+{D$CCd7V{V77D0wQm z7?>QigZv)3CYTXqNS;rA6wDLaNnT2R6)YCQ&&a^#R!M#rtPnCHe?#61)(siMuJIBR zXC&h{7{PYKgt$v+qX~b4F@I$G??WeW)7(zJ0!$V%1w-#7*T88ZGxBcolVJW3UVt2@ z?;}qE%Ypv;@C5LF^4DOWAPbuQ8~G#{V+ZVZ$bXP80h5OC!r?gopX6F#`yu?W0`yqp$A|NYRvoFJ%dlQBeA^26o2#()|;cUnT*6b^=33>#>PoV=a58Oq~ z(tJw6DxrhqjLZJFMQ8&10NKJO7;ewr4a47|LkyY&Fur{PhW|o`;dXd`S?P96opAU7 z*^#r8bAw?=$hp8ZtFJO~#?IphmWPhfw|M9#hF}(uJvhGh7Ly+W!;aJR{NyfRm;?DT z@>5{g333r~f3QoCBRDQvaq=jzB*+OCWduC*EEs+SIm4oigz-`su7X@(BLU-TjWCS4 z(tKoSK3~B`AUAN_h$)f(17qo8g3mW>XEgZm3Lii~fxY;x&KMNKBong?7xDJmj42G{k zXW@Jlj>o}pDs&F^V=(@A{#_V(0D037u%sEi0;`35z;Op{L;ex$2Xr0`*OKGpte;>l zfqcR6jyjTaf?qsp-}R2ax1VyP#Ad)c>q`l zbO{_+&3ELt!5%>2V7NRx$ZNpfL6^xtkq?6Xg|3kIlC$@~!7X$Z99N+) zXQ3?eX7a0G3D8~gPV$Ff#n3%)Twwj=tzcbHHcdZ5J_3f_2geu0U-EG<>;d^d@_C=( zT{V;gjvJUc^7&v`E;+04|5jM|%Laz!P#!og$OYt^!LWzqeB|4~c0!NHMaV6|?4W$| zRpf49r=S7`&D=yL&SJ4MFcJhkh6(X5$kT*TUH?N?uD|4E78v z1j8+?GI<>sRs@C*NP`@%_{V@1lWUQ;f^|YA;P`|al79xnO2P1n+Cx4HhLw>YAfExl z%E^zDvwwlp1kf{bck-oR*mH6p@)cm%3-Vxc1u*O-c_g_87*+v}TabA2onY82@;l@< zU|1!29=Qt`Rz+SyegO=tCa)q-1;c8{o5-JoVYTF)84Y?*ZcaW7hP9B}l5>28x8P7Kxg+@sFszOIH2Fp_>;riKxg{9ZPJWr(6Ab%E z9z%W!4C^3IBhLiGI>{f9zXHR$$P39of&CYG1^FyE)=mC~TzCMEc%UBgc5)Rkte5-? zxhWXdM?OM+5)AuHK2078hJ7Jt75(3Ok`0FSlP@B#0mHtM3zH9mVFTn+re@^ZVhW#P0C%*xP zO_H~g-v-0}lJ}CAfnihRL*yU9uxav1@+q7a`bW+r_P_OH*>^aN2+fdllWzpWX2}J~ z_km$^`+`fnoSz zxcGCQkRJfUc*)DjPk~`e$g9XNfnj{)Z^)y;u%+a!Mz?kDnUFbq#{qJJgt z0>kh$2l`L)NiYoGsG$ELXC8ue1j6G%^f~f{U>NRR(dUc90DOso$wRm~Mdu;c0K@R* zgU(N`4~F4v(Z$Fu!7v;}mm)s`hAk&oAa@1BR*7z_2akE6In!u&v~BCycoOu+sW6&=0ByvG8 z%!oXLTpkQFCeI<)1jBZdKOr{ERc7%)@vDsp!)%#8dEc?cM`hrE^iCKzT; z{)zk^7-m8KmAo7bvn2mX-VBEACI3S{2!`z=pCh0D3-;~Me)9RafrYPSV3-v-54k)T zW=+lyt{GCs#5pxz6Bs){-x8yn7=d92$)(6ofMK@e3gkgx*dcNi@+2_qF!>hp0x-;u zT$j873_C(@MBWaD9VNFQ?+3$`_!Q}hFoG@_QG+ib42MdOr$z#Z`fyF>BR`1 zZOM~+f%!rq@qmM;&zjdfH6+MvrE30Tm%feN^VOo4~9j65+ahac@DJ#IRXmEU+c9#4t7G1B zT$=nKm?M-;zLwkzED*X+u1+2SmJU4t$2EC7c@fxaC=7XTTq|-DFf5l%3;7*dZw13j$#cp3z_2p% zBJ%HGSUGtG`4|}XjQlnEUoh-Bc^f&~6dX%HFUWhz1;DVEY)akUN24)#Re&o?uuFxiong*cGUjT!}mi467s8AioQi z1J#r3ke7mC4dlk;FTk+ZvcH|vk*jsXE@?J2kk=%>?2N>2w9zZ?{hP@*X zC;tnEHIqk^b4|l`1A0%MOuh^ZYazc&z8VZ`CC?{U1H;$>m(l`j{?KG$fw9}fnlG>nI&NWz8->M-Q?Wl#b8(uxd3?u z7}iU^g8VfY)<-T!-VTO+CRZl^4u*Xp-%36OhV_#hkaPWm=L`BuZbrTg3>zS~Ay)*$ zzLDFLYlC5f(K#b(e$rsMT z8A6DOT!LH>3}YsjB9{PDgjmQ|lk0+EtmN|KyTP#e;CK+ONPYkeV zaq=7F{9xE}@)&YyFl+^R0=XI(wvs%V+zz%XrcY4UC`Oov>Kd;|>BC08V8Vq#{%^vKtf^MhgfV@q8TO*k9&&r~MPQgYxg+^%FwBD7m0Sl5vn2N*KLF+e?Irgj z4*-jR_K|y&XM$n-$^FO+!7wZGK=LXu%$hue{5{ww$c8+e{0|s*fINbHK78CTc98rA z`7$ufmOO@B77RN?o*^#G{9|8L>@=S6MaO@~~HhB;jc8oliJP{1D zC(kE;42B&ie@b2hhB=UzkbeZjPLMw%p8&%g$t%d2SeY4kAt&-`az!xAnY^BS8`y5h zh5Rk~5iraZ91oS7$vwd^H}VhUfneB4@-FgdFwC92k31U;^B^A}F9*X;kq?nKf?=NI zzsNs>O+u%^@zDJbIoEtxParSy8FD$WEzlWqCYk?jw|9dbhR%|+lb;0(ht84nkf(!T z-r#uL%SZkM4D%ruB(Da;&XbFf_kv-*Mk$(XD1cj3CB4=cWJu4IjGtQiVpCk+;GSDS}X9&tLvK|HnoWAiwe8E(Ksz&Bl%^bmN!uqg8V9 zfa8-LLOu@0z{$*Ti#(EC0Bj|cNFGPN5ljb4B2Oc?0XqUElV_7Vg1JK}tK3`i2VmH3a9j?Jr#!SkF2hP@|ek^SH6_YoM@Le4>63Wl|k^N?48VQu6~$Q!}159EU6AHlG8 za#8XxVAx0UmE=Fcunux*^1onMC%HU16F0nhgSyC-$QOWNpU73nCBU$5at-p0U|0{i zCbnGnw{t68HN`8R66AT+5w<8}1 z!@iLpCttt=Z(^ZAa6I^PCYJ$Ig}#I1{^%sR5!gZK2l*-TvtS|65FBZYgfMe*T!oQa z&@ezqC^Kj8ymS~VfPTVF@h`f)=%$rmt^S+%nU-%FL2z&#gfZ` zZGwK2r;zUgI{=N5XOX*t`9tI6dF0o?(x3_QLh^jDSI{5w=j1J51JEQq(#bG*=uw)IT8_9oxF)fDY6rR5Sjs(b;fGI%p!10;wAvXncgc!*`lV1T#hM35|f@{WH zX6EEA0xgGF;5+z+We~s94d02IUjf_zvB9_ShmX+ATEIR*?BtW=17M>N2l;=0)(f|r z0%PK3X5b`ell$Lhi3^Mm;v!#2E(#_MEg%;lR|3<4xWV!8N1S{w*fEHQT!!2a3|mO^ zQ6j$%mJBT-S0{e}hAjrib$c6m4H(8tzLUHM3|j(@_s5ca1PtRNwfcz}EIv6Ghj?arfxgi*~j69Uw1`HD-k0f^m!-UCW$pgSJ5%LuB zD`1!?c^3ICFiea*k31U;6DKbuF9ySwlRqb~1;bW=@y@w&Lsc8^?w3v29hIZCtt7>)+tDyoQHe`7`6uf0yQLxnX`7jJd7zr3N$4jO{oXA z7g8h_B6kAwht`rWCyxfpgp|mo$cw?Sb>O&W%9D44Ve84)lQZzcrV83XzL8u63{xiG zM!p3MQz6$Uw*tdd$&JbV!7w#)3-UW)m^!%)c^w$Gk^Bhx2pFb8?no{o0QVExMD9** z0ETTQKTGZohHWADCyxNbwvvaC7l2`!EwoB zm^S%6at|;}hx{RV0vM)CUPxXHhUt+%Bku*n^vSEp*_XlI05TwdO|A%r?I3?oz7GsD zB<~;(1jBZc_mM|~VY|o&$?t(-M&zU9rC^vb`6PK0*cWIwIBq%T$XSJ8?*W;R&tLPu zSEv-25@brwLv9G>2APrblP7~!L3_x>$S1*;3d7lQaw+mHU|Ns`yrR1kaG$FWV|yS= zm=d>v3N)n?*coUqIQ(N!CBF=o0qvtXZzL}P!}ink+sUiJFe`E$@(*B`HMu_dS1`m@63_Cz>M7~f2_P5YMauafKFwB;G54ju|c8J`PTn7w0OunD|02pRRZbN`vQoe^wFj~q( zq&$aAFhNp4kxVdE%GXMHDw!Zc%GXQzX)?hyDc>mNSIGpCQocpXACd{COL?M{e;^ag zkn$Z;u3m?yx-e79cS*TEnP3*VcDPKqy2QgB9SIW1O3Fb-pV<}H3I}7ur{I!%{CwmC7 zQvONGUy%tGNck@*|3#){%?m*G^ji|IUaB)<4T}g??jmT+h$}26NG8}Q>%y2|3Cj{k zO}%O5eRD9GV5yWFNqHEVV40L#NO?5bT3AjlUclN(`ChU#SV1n1wY`+5lbwc@Qr=w3 zFO%JYRcvAYZZ`P|Bky1}!AlYRU_`SnZ>AGOCyTvg#2(fX#EYOKBLiU_L7E7{7?}%k z1eXX_tH(381J+BcZzrvOKUo&UlZ&TIU8VdynP7v|zL%8WCKGIwa)p#XClhRv@)1)0 znM|-*%7dj`y&e}eY?1N_Qf^8n*ed0bQeK}-kRauArMxAXAW_PfNO@N>!8R#hE9D9@ z!FDO%BISW(f*n%6OUkE^33f{P0V$tPCP-nd}&3Nx7$#7m_`PlTzMa%I#x4W54QG z4rP^vs;X3~SC(pWX|haeAd^WgWHRL>b>$>=HHAX1kgF-=8Vb3lLawEd>nP;93azS{ zHKnC#DreDDE=^NSIZ3%#O=%Nkni|q1WfL`-gMpf=h8Spzfum5y z$fUAjGipgIlc|gC(H8?fDN@%}R`f({p`2Ygzf4t`s3|LQWkpk2(Nb3QlofrcqN=X2 zQdk)%tPB-aMhYuqg_ViIs+z*8y28p@VP#Ws*w!m#stPT&KnPIC?Gla?aWHc-eLDdbHm7a}doNg7j*Dof?L(Y9wB_;o{kPnIC(}swZ@IF6%T@iiy~=wl2SxSYa#jCruj;?$ zs{Y$v)ql%X{h#Gl-Mx%dD}4N_FP5vkl~7gQUZ^TB9I90(-AH*;6tn$1ORC0Ir%Bc1 zU$xr5YSmS1q*`^|8mXH7Yf$4~wdTL7`M;|2UdW0q{-u`xs^VV4BNJPu_V4hi{X5-i z{|;Z(0~Brl9X_>xhfnR_;j8kVOY7fq)&DJ5<6o-rKk2`2b} zI#w1^s9rgyQCUdliaQ#&LG8*ysL7aaWuaGDs7U6iNam?XcSRND%A^IWNK00c7Of&J zTSZ#9inMeUY4Iw`A1(n$mPlX}YFzy0pKV(*9~n`>QGKukxbNl=fG7*=S1pr74|1P4UEtt4h;EDyvDQ zcnlS}cmx$?4XLbIS!zk!r>!id?bMdGQ(M|jZD~7oq;@(|I~}Q=j?_*^YNso;(^HmG zdp)VWld_cNb5foUC*}EYQl1Yd<@s<@o)0JG`EXKRj!w$!(MfqhI?1FX<|NYmOBJI$(^*oumiCO4?68CKPdt7;}ywQ5zh>QyzAdzD~&S+KoYu)TV)y=Jhz7739GnTjefK}8NsRnY*NsE9V&paZ&~2l`+DMqmsk zPz|bsDVRYGs0rp!3oO7Ate`g30c)rW^}q&fp+49_184}1Ky0}KGzLd#0!_gQoS_*s zhZfKhT%Z-WLThLPZJ`~wL3`)`9f9Mb(g`|47w8He&<#AHJM@5_&{;0^sa ztQr zy&CP+XswPL(-SkXYeqOML|i<%Y(U8^400JCW^ zmsaWw?sYs*RZ~6zmuUoZ?TDA2)hnI`RMvO_t*wwt55v-J_}FH=61mnomf%M7GDuB!5;uByDLt155mJR5bGBM){6b`Z~M#p6olBL`(w zQ29_pB0Z>7yt?8+q~fKOD3!VNU{mpmO61amjY{Q%4d0ZkSOwn#l}d3$L_4tyqO5qQ zfKu#$7#A-?L@8dVic-7)5v6$bAxiPmLzLomhbXJFD?GzxpeY8HVqhf(+G3z32DQbY zju=>rL0vJ>5rcYSU?T={F;Eu+Gcl+k1~M^F6$3*ts3`{KVo*yAEW|)f42;CUSPX2% zpuQN`i9rJnuv{hvYGS|EFoe5t2=ZLEAXtSYTb`8rrt zS6aN9QVuoMhSxRtaX|a|YCI!hpj}Z@s~E~FhLwp zsu&u`Dhrj0qPA32hIJ~(>PTZ1>s75&xz0M3E3KnmF<%{x%0jcEu&$iXx^f2V${DOH zXRxlEp>E|e>sB_YTiL{>az2~NX*QM9Y$~VOR!+06oK{^bDw|ZVY*M{q4canZ1B(MB zQ?H0ArJS=+k#iO*%8J(q;s$4|s<4vYJJRA-$D2up3b~O&ZlaJ^Q^>0;Bn=9nC6mkoN+)^R8Qpjs7&->a%}-n>-4l~wgVkF4qupyGzuzVaPVRotm~D^yfe#e1TnqNc3K zl@)bmMMGK9R93W<6>VijM_JKTR`iq=ePu=YCJ!%p=BOLRdUmL|!O3)0xL?V50Vamx zmM7EY)>hd-+~Z^h6%7n38W>bGFsOJHB)b!-TJgGEUQzp(iPuM!nYdYqtD&80#r;C6 zilm5B<-g6yFqCOsUU!0E__xFa#qI-|#V}G=UHZ1<|ELbl(^b;+sCAYli5C zA-Y_M?iHddh3GaRx=4ub5TfgY=;k20G>GmCAt1UXh%N}CyMgFhAi5EVE(4-_fanS! zKK2(M@r%E_FbV=e{91(g1q<<47sSW>;v;?W@xAz{UVJPsK7tn?w~LR~#V<R3>y zwC@iCKmh|`5DbQ8kV?DdluJRC_G%!$NfgZZ5D>kWeJI86m_><<>7wVd`2DgqVja{~ zK@H@f4jLf7RTIT@@k@2lFbC#B49tURumq~HOkWrYq6fA35L%N`3$#H8bU_dF!2k@w z2#mo5szG%y1v97tHNhNefdyEC71V}0U=4Ml9@u~_)CW6g01crL*n!fNW~f&K}Ya_NiYRgzzvpt z6Yj!QxCW=;44j8^a2akv5!{38kPiiL8}2|MxI5L}3{4$OB6`Ba@;#2iKAU-V@pNxx7yTvEl;!|w#iFE|)oCc9F9cF;|MYR@8 zYYx4k4|qXeXbCRR3S6Nzw1KwJ4tPFY(Gjx)Wk+y_PS6>;Kv(d9Zr};sp$GJYUcl-r zen~EkZ4kc@H<|Hp5WiZu9^xSpYS6YO#EW?tKR_Eb%4kYCr8;PUCTM{+=zuQhK^!X* ze{n|qDv$UDp4QYqlKp|t@Cp9H7bpi6*7KFJ;#cLUYlAN6zyMG{Kj;tMFc8Eada(fU zhh3^eQy{MRVSUk&#)^?0l(i}AfHl;G`edSObYqwXF|0Qk_Q8Hgg#(ZV2jLJLh9i&; zN8uP`z;QSMnUDo1AsbG?2KIX+Y=X_O1-63tB}H?#qZU|zCFqkGfFT%xF_=I#s1BxJ z1~s52m_seF082Q?eppe~hB{ykb)g>EfGsS8<*=S@+e!N*5I^!YhjK2&z&sE?xFmjY zLwrknKI2C~d`VJ#0ZV+_LG|<-nHqaTm zKv(d9Zr};sp$GJYUeFu*fEV-yZ|Dd8VE`y#APj=RFa&&Hs3=+AFv{UD5`4iA{9zOX zKp+Ic3J8YLFa|;(UYtMJ1c%uF!w^ay2F5H~5A>l8d0RM2ehf0;IE0Z+00Y_>g6Mf8 zdPOZ|n&^D%4)a*{dZw)a(VJ%_Y$n?RTOk1~X(xKsh`uPvkOF(43v`8TupLan3~E44 zFo#;;1kTV5nnMd{2`p#yXT zcjyFTVH}Ky2@nnwVG>M+DKHfxU<1qD2%E&d!xj)dwnXo&MA!z~VF&DlB-jO_m(zaO z&N6nuPDq04WV0a}=D;qp-H;3^U`jR@VqhNZA=?Z4U_Y3V&4*Z60EuG%VLR-AdSo`x zjpN`6-Ju8cgkI1a`hXWKfy*p253ayfxCYlDA8x=+xCI4p8}2|M+=U{z2lwFtJcI>M z3?=Xg9>WuO3eVsG;5n4S3wQ~y;5EE~|KKgWgEDvzAK)W= zf^zr_U*Idu60lw0D8IuG_zAz@H~fLWpu)L`qgW5|umLv0Ca4FQEF%j}(hDyCms~g5 zdenuaQ8T~In;G$LL&S_P%VvE1tN$_d&dJd6#RtcqUp3&olW$)>(<SYbn7F17|t> zd13yiFx|g!Z|~B*Q~%pI_410Ym*>{mGBrlX8L2up*KUiEzj-t{-^Hy z{qFzmFE|`ruzlq3?FYKPKCs#5)aIT2zwVs)EN_V4d(YTvKmJ;Z`3r<)->A} zTK{@l=hwl=O9zJ@eLFOyAUh;)nMYoBa8Y*ai9K8QSXtdPs$4^L_MbVk`zF5c z+iqHyb_w-QBqaBIn(V#(llP9{e|B_?KHYJJ`r;LlhNPjwf=tkZSd*lsj)Y&&gpekuV!_et*Tx9Q#70xsOHe)g0a5lV+wNVtP&a0w$I{Cl?=Ciaml1j^qk6-3)r)sW z7LUk!GD6qPO85T$srMhC-ns7Ctya$>KQ4)Ual6@zOG`RmYBg?1tFiZvja?>N zy6pDBfZKgG-|Ump{ZUHT-6LTG_x%`H{z?t?$d-drzYjV-CjWSBja9K{HVi&v)uw^f)&|G7J}z>7{OwJ(Z}AR?<+8kQtYFIlR# zV(GRa-?lB%j$Wi+tA_rmzHM@L(zXc`kzOCC-j%0e=zzxp#LBAFGT;n z=sy+xFQfll^v^~AS?K=*{fD4`H}rpx{`=9t0R6Y4{{i&hjQ%^(eNA zKaBp3(Elm=H%0$>=-(gxEBr_Qx9D$;{=d-wAo>qQ{}A-gL;q~_Z;k#v(7zY@4@Up% z=%0`NW$3>L{ePl=XY}ul{>{;UKKge>|L^FpivF|Fzc2c?L;nQyPey-l^xuL09npUU z`maX+E$Hux{-4o53;mCx|2_1ti~dIF{}=r~q5nGuy>!H6r`maR)h3M~r{_oH~1O2O` ze=+)xK!08IzmNWp(7ze_w?Tg$^zV-T8t89}{=?8e2mNoM|338hNB>pmzYhJMp?@U$ zzd-*>=-&$c$D;o-^uLY%eb7Gz{ln0IAo`c1|7-LQME~jNpNjrk=zjwJr=fp+^lyUx zmgv6={g0sk1@wQ3{twZAGWyp+|DNc768)E;|6=r?fd1{#KOOyp(BBjN)zJS7`Wv9X zANsdM|3T<~9Q|X_{|x$Dq5oF&e~kX$&_5pijnRJ$`WK=9a`az|{+rOhHu^6>|5xaL z4gD49-w^#v(0?iVZ$tk@=&z6dr_jF?{X3!mX!LhS{|)Hxi2jD?pN9Se&_5IX&Cve> z`hP?Jcj*5G{r{r>9rQ0o|5fPki~g$Ue+~TyqW=r@Pe=dW=>H%3uR#Ag=)Va4f1rOE z`X567<>>zt{oT?3F#3-~|E}n7gZ}-|{~7vkLjNh~{}}z<(7zY@hoOHI`hQ0M81x^F z{@&<+1O30F{}c4zi~j!TZ;$?3=)VsAJ1Cg^X4{)5rK1^T<7{{!?tg8oC%e<%7+MgL>yKMVc)q5nhlAA$bW(0>>D z9~Y1R=zj+NJEH$n^p8aUqv&6N{>#um82u-r|625qNB=bRpO5~T=zkvlz0m(H`p2UG zM)VIte`EAtjQ+3CUylBN&_5CVr=fp+^zVuO+tGhG`bVR`I{J4&|GMZu0sTLq|0wj2 zK>q{i-wFM#(f>L6|3?2)=sySjYofm$`kzJrZ1iu5{tMB+3Hq-=e+BygLjURLe+m6h zpno&;FGc^;=x>hxThV_9`gcM90qEZr{dLiQDf(YT|4{UAi2l3LKMVcM(0@Pr-$(xd z^q-9W)zN=7`s<;;C;Dfge**fSME}m{e-8ayqrWry-$MV7=zkmim!SVR^uLGxGW0)) z{+rRiJNn;6|9$BH3H`65|7G+qNB?fXA_dx$)=E^ zw?Y2~=wF2XZ_wWX{p+FsP4rJee@*mnj{c75-wypv(LWdc7oh(h^zV!QN$9VJ{zK4T z8~tmce<1o7qW?Vf&qx2c=-&waebB!)`p-cBWb_}4{*BQ;3H|4x{|5A5hW`5Ke-ix< zqW=K&?~DFw=%0fAv(Voh{r%Cu6#X}%e^>P1g8m)Re*yZNqW>H8&qaS-^#2e2gVFyt z`oBj1Q|SK{{o~MoDEjB1za{#oqJIeb`=Gx&`m3V97y1uF|8n$if&N`^#6?hqlN$I-x&RU(Z3G*Uqb)4 z=%0=L9_U|${yovZ82t;-|0VkOK>twmw@3fy=x>Jp=h43q{T1lH7X7cIzY+Rtp#L27 ze~G@(Pow{0^xu#ES?KSH{&Ms$LH{%8KL!0qp}!OQ*Ft{-^dF1< zz0kip`nN>?rs)3|{kNn474&b7{)5o}Bl^!p|8D5N5B*=DzXSTOL;pndk4OI-=sz3% zgU~+;{r94O4EkS2|3>J43;o-neq-|Apv39{nexzb*QIK>v&A?~VR8=sy$vH=}=D^nZx{570jr{pX|q zO7!o9{^!tt5BlFle|7Yip}z_G??C^N=>Hx4^U;45`VU6`2Izkr{aw+&8u}kb|K{kQ ziT)GNe-ZlcM*pMeUl09PqrWx!cSrxf=sykpr=$N0^#6wb(db_T{qLc_Gx}dZ{|xj$ zi~ecoAA$bH=%0uFztH~<`nTb->n~%c?q4IJN(nT`y4C|wm4Bg-r#lD$EW`cSDn)ItjYUcb9SuvSa#w2ti8;yC?z00NC!s#~U2=dYoNj z|HAh{`>b=1w7E8`W{;9lbDe8F_igUIzU%D%{*NL84$eyr&9qFM^JlGt*7w1qJtvs| z?z&<@Sn=9p-)8i)xix9;6V;v*2d${{)PAobNVDOaLuxtcO*hUsADg7r>ej~v4V?}p zow7L*qNX}*uGw1$%j=6*ABo)k{-frnZBNGZxmtcN@OHMkMjihaHx~cdb#6=lCM^;b zpSCx9yjXq8n=d#xc}}_WH+6e+g=%V znweXBo_I4zB_=jn+w-kMvwahcYxkMx6ZZ43!S8{t^9^g?PIYV0+R-JT$WW*5u3@8Z z3>dnpO%oT}gTXp_hA#%Kxf%EF$ktVxEWFO2j^1wlz;8^?2p_XrCYCxU);xJ`pLn|S zqk8SEYFL=)>T4V9zqsV%@#Le9mr`n1pKtzQP%q6X2QnXSc=y|P_KpNQ+1ISk6NjB| z8`Pym)X$+)8+Bgt;DSxw=wEM-j{5K{tPbC#ORX{_7X3pa1ksM3~uOhYiOkr2Oz)Yg{kjRkw3XegCRyMD9u}}8}XKuI_{n>tbsf%tw{Pj7XcQq`Yo@BTD*u9;n_IG%;rA=e~)zkWJ zx-v4v-y>>3PPJuUUS`}~IpS;UCZ7+Sotqs!JYnXV{4ptxx5pngseirghJBZI&#GxO zZq(+NGcw!W*Pdo~wY=t#ak66@|4ZKJ6%#maU1?P5-#uE_v+9<~2g zzE@{A{j#dYvOB$}_D(D7JfQcUD<$%{XHU~_Y_(Vz(kr7*<1@3p13l!gM{F71a;a?6 zj1SYqh-kw;_w#ReSTULCUq3xqipq zKDT__?qIj+LrQLL?l9@2BJx`Gnx|S_ob>wY*ZxEI{2p0-yjw}^{Vvnyd^&Ks{khS{ z8@I4^9ocb5&cw4;W_tCXWG(65uA%!n{lDR|mHR!KE|1apj3jOP&|1b0}ME_{?UxEJJ z(LWgdy`m3V93Ht9q{|o5<0{z#a{~PqbhyIS}e+&H^p???j4?+KF=pTyy57GZ9 z`qx1JAoM?i{x#8mF8ceTe^>N>g#Po;-xB@TqW@s@H%I>k=zk3TZP5P-`VT^Xd-T^t ze>L>qi2h0F{}KHUq5lc=ABO%8=)W5M-=qIF^uLP!x6!{2`Y%TRE$E+!{>{*T3i`K3 z|2^ohf&Sj;{~i6^&_5OZJLcKOg;jp?@a&|3?1=^v^>7^XT6K{imY; z1N0w_{-eH%3=c9iZ`fou0ALw5X{m-F) zE%d*O{$=QY5&h4g{~z>sLI3OM-w^%n(0?cTKSO_g^xuU3{^*~B{x8vg1p0qQ|7`T1 ziT)|*e;EDSqW^C6ABX-k&|e$<%h6wk{>kVci2hONuZ8}l=wF2X*U-NJ{qLav0rYo9 ze<$=mjsC6Be;4|vp}#5m_dx%z=x>1jP0@cD`u9fv0q9?X{!h{00{t`4e>VEd(SJDl zPeT7D=k}E&8`Z{~_q#0sSM<{}lSaM*pGc zUmg8p(SHv5w@3fR=syzuC!)U|`Y%C$ck~ZO|6=stjQ%Up-w*vKp#Nm_?}Yxl(LWIV zccT9Y^bbYFxLjOhRABq0$(LWshz0iL@`tL*kHt632{hiUj zIr`5={|NL?MgK(fcR>Hq=>Hr2!_fa5`rkr-RrFth{(I5CA^PW_{|xlkLjMKmpM?G) z=sy?zEz$o7`hP_KC+J^}{@Lj7kN$tqzd!mb(El;|zd`^1(7z1*6VTrX{THLZ2KuX` z|4H;;hW^9RzX1JB(f=pHJE8v)^dE};@6cZd{SDE-w(uYQW6}RD`cFXr ziRk|q{aw-jHu|?l|049?h5iH3zX|#WqyG!^k3;`e=zkvlt^nZx{zUXg<{-4pmE&4~HezvZUl09_ z(cc#R-O#@o`fo%3rs(g4{{7JZDf*kC|8ey9ME?NvUyA-6(7!SIuSEYo=zjzKx1+x< z`p-fCV)S2*{-@A?3;M4{|10S4f&SIdKLh>0qW=N(k4FDB=s5hyJDLe;xf_qW>oJcR_z`^q-0ThtS^!{nw&@5c+4K|7G;gNB_I% zACLa`(7!MGe?k8{=%0rEz0qHe{^{ty5dG_*zc>27M*o)RKN(SHy6k4OLe=>G}*&!K+{^zVrN zXVJet`gceFb?7fc|HJ724E@ib|2*_RivGjUe-QeYqrW@)*FgUU=)V{Jx1j$I^nZ%} zPUt@s{jZ?ED*8W1e|z+AiT?iRe-Qmop#N+1|AYQb(Z3h^d!YX<^k0GgtI>Zf`u9Ws zZ1kUu{*TZ<7yWb4e>wUOM*rjJ{}}xjqQ5ozUqk;A^sj~f-ss;S{R7ZH6#eI*zZUv? zqJLNPFGl|v=syYld!m0G^jDz&8}v^{|MTeI3jG_R|0(oWLw_^$zmEQq=&yD0#puaKt`=Gx8`p-xIRP=X5e?#;i zhWs6zeE2`=zkjhAE18(`kSEt8uU*@|9a?ef&SX)zXbh{qJM4l|A78e z(0>E^&qjY4`cFjvAoTx<{+-d^2L0cn|1KLY)iqW=Q)*G2ze^uLe(M(BSB{R`258~T4k|7z%;g8qK! zZ;Afh(Eld-e?g%J9IWtHUOE z_Wk|#_`MOP9)or-+cIzE-MuPHvu^2peKuG<<8W7v{KmCcT<&0~dgj1MHCeUAp>0+f zyL$ycc)kAP^=t2slunA zzUPITk=7gUpZ+uLs!w^Hhsn(sYF>0cXks*^LG*tkeZ6O=n5Xy9cYHoQVNLGlvcyMi zd#BoePP_Cbvt3O84SqEoR6NUG6urQ)A>$0b8K=P%J#Bst1t^J#Tm zo$HK=wXquaBLr%V#bT~fQx^;7XO|yRUl=0Zx%t0X|DR0S z2-u|8@>c9sXPw05?M|Nba-DGBxYxxC`JS~Ot?8QbyPx~M{iY)=(h7#=#H}AVWy!#P zmt4$4W;@&+w@ZK1C}Sg^;OZT%B6kdbFl+jZgb7!JMofNm)Fyt=-Y1)vFWa`N^-AA$ z?M^pXvgBduihe(n<~}bCh#frCA-l}u^$8c>lw)&djXpfjvFZNiPVZ7)o9*8@TsJIn z<=AEg4JLfb|1&V{VfUWlMZGLsF8RHz)I+a<|lh=Uea9nA^b8qO;9;H#(RC}{nw)0C*^;!8^T9>cp>S^v>KP~O(z?oxKnuZrIE0}Ws z;hNB})BVP$mm2%4{>%?L<&iK#Yv>4{8?&qi1^GVcKgwxS?*d1k?)tjsT~3(Y?YRCz z(mw0^0mBzr^O~>bNI|nmX)X9Pbjg+})^Y%oqK43qB1` z+0doq=q+1<99G)Tc)j+8)saViRi->!Wasj#ecP{Z+lHonS~@lStDpLA z)ca(9^|hPUnA^nmvoaXi^uzI_sE-T$p{LfEgH)(%es-CmbwS){zt)fioNG_ygW zY**>6yU|I-t3w^9gpVr?OM9L&&Qu$JsckDb=!RUYUjGM=FW)o?L6DdLuKN(p=YN4){PzA z!>n7_8Yj7*t>gK?S3Nfwj~M7p)pj$O7}mD2Zr9e*0d_k z?AN@*7UT8{qx0J=%U^HX=ITJ}r*BLh2Ye}L6ls@o{#x77XKGkETuD@UeJQE${yQeU z!*1qe=s7-?HsV_fV)>#+`54MQFp|0!h~BG(l%gl6=tVAiqoy)_0d=uo(?RU7 z3FD&orRec4dYOx!eWC}Z8g6`&f$Hs6Vx>+#c?nP(feMk_Yt}1 z5!;1Qm3hSeW>cR+W(VS15)DE0+RT6h)J1RlXr|2u(c5+{h;JBlBaeVQ>YZsTzC|Op zSM>ahBOe3e8wcW8IDzO{n#i>NEJ(g1LqPz^EcWis`199yp zGHn9wMQ`!>)Wx-K10$HegnT%NV>F6Vd>cgcR`sKuoKp18G+|m7#>Kvg^-rWe6~s4M zmO(A1|DY7tqqx?+X_LUbqMhjFEP97-qK!7=dl+v_y(MKI@&)2=`@ zroEt?&3xiI5$$~`qbP@vi=LuEj0@+*_RS=JOewBC@$Cn3{fQpzV&6sYUGZ&+P})CY zzDDqZ@nrIA)YCv*NB@zDp6TMezk#`MlyTvs*e}t$zdrQ`@RVtP8DBx!gz-Mqg(Jcb z(c@e6W);2nZ&Qk1!r@F4>k_@NMQ_<>j31=lmAbfA^{9&;=kLjbK-^zMTXEkI*WyR8 zWBNBr(R+FgB*0=gK$ZoEm@azkuLOU10-}esm`8Xfu03(iZc@6FcceZB#JLi^t)s|y zQy0B_#Wx7V`5aG{!+1OD(ID=dVmn>Q#C0pydlp2mUeVk73|KM!EaNpOn=nm$14%5m z5!1xIY7n@R<%;=WGr71I4Wt}FDb80Iw51+K7C|X`J&XHP40R{6?jWuoKao?Gk&9mB zZJ>~4Po)%YCc;wM2tURBO*mda_DC$7vY2r(zcYyIPgUg9k5IZXy&u^iO3}M}C)pRq z!A8z9b&INs~Xg**9B0;?Ghq+A5z{_+aW&`yPMJLTaSaHcwaG;<_-3$~Oq_qQo?@nn`9;t9KeP!1;e9`H@$DLM zu97LEXe0i`IcY{T_A_{Q!drWT`MI&0E6PJAv`iZHYR9^Ot<4tRH`tl+AhPzW+m99& z-CXa`>!|k0nFpgZ9W!36vO2Xg!04FON9(i@&+y})irus4%__K8>&>%=W4+T0$}i5p z6*DkCtlH`1(17XR{eSuW8$WIe9!2%|B*p1J$po){jy z{l+u3cHIi(J%7*FzZsgYlk_7wy=7SZp-y*lGw*l&p0)33*xhDRhLv=^u7Bsj5Vsq9 z_c;~WwNWYdj`l9RWagKDD!u$jU7K@<2X0t*;<{nd$&9TTstvUks*gNWq<6vgmF~d> zGsibI?lpSwUMs&dZjM1mSGqr#su6x)mSuf2-rneT*`oOe!|S9U)ku1FDxrBn#>?%w zn$uc*S20|ktQ}V~-r#Yje#mS`x3OC5!va>xhK(vM_YMv9_Y1SU>l8S@kBa}tx9c>* zW+cfh&XjA-9dyp{^M#_cz`n1JnY_-(UNUpx@n0oY5B=Ur6t27LHul_&oj=R(+zNR$rt`0&aV#~E&eVU{E?m9u9(UCSMn<~XvDSLI_0vZWIy`^8wRSpDY?*I~q9i!EZ236n$m}s5OAq_y)rtwqO1wF~zRQ!*{nkb3T~X_%n|a(! zwO&&@bwzgD6XzT1o;@tDz$iMT28)A|yqO=YIkDOx74^A2POYmxJ>yBL!@(J@7Dx3qEx);1Kl}FcV`UF! z)-AcOTX6GMY^Ns$AHE%aIC@;ny*gLTvgZu7JO1TyMB4a>ZpUht`e-ej5MucEa$Aj{ zVY)Kozgq)Wj7jzXcI$7bU)SqlX49VNB)+?;UpOE}-Y4gL~noceXH}>+jO+Y=1`w`T4MbuH_N4Vt4xtycp;1rM0-|QuoZ98;f6-{m3gSf2!w| zzOQ#wYWi}=n61|>;}>|FoOmE>&Duex?^1}O+LAJlpN9= zej$9ogttzCq2*sc*=HWjao#>X|pS*$n})|`9#-V<(YL? z?2gm97PqXLw#t=Zp3a3`m-zn}ce(%LhylYhPnd=!?zq!o*~0Y(ajW{q7Zw|*T)BAj z$K(Ij~8M+JInsSW83}j@;e-Hj4??FJER@E*VZ%lwQ2wSMjlZ= zM@Ixc`4ZWo=`l}Rm&q2|RxRyKI<1L1NYhv&5__0fIP@?Af*`o%$98fRtQ}5@W z4yo?UNwElCHP6W|F`-dL>iK8i6N-Pgx$^1GjNdP>XN9Ij|Moewp}ls(q1mqU_NLid zHvV9$*|M33eeFpR&YDLa(~mAc)Y~P-V|v7);iLK#{>U>deSGsu`jzj?<`q8bVG?&h z*Jjz#OA`{eEOO7B=P}$yO*723*0~O*&hrfn8g`2J3RX)Q5Ow-Tq+(80;6*MN``*WPq)fLtqEvXOX+(l036k z1X--w*}#7B$wygvAGa;bf8$^L`?O72Y0=5YS=E2#@7C`Sv)C@`(5eo{ZSyC5GtC>* z)}yr3^oZX>(?bIvl>0=TZ>8P;-Bef4uLo1LGu|hdY-@g{!{Uj*ZPy6@TZQDv#udy{ z8?Qb)qL1Mjn8%nKBKiSr8cx0M=o#GP?9=^XCh3m9$SZ*2acy{XH#v3nvZnA%S ztEQ)yZJhA+#o+MNA+;xMX#QZLW&Je~4qo0Hyw6y1zn=X7XNS^|7zurabdCPp+o}Y6 zzeW{%SJK1y-timHc^r7J(d|p0j$O~#&h65r*;V&RgAF^{mv--DwRB16 zzN0@32v%*bXrDD@koKKp1DBru)<1Jkn|@EK&+L0UD%<;I>nA=X{jG<_z6~03aKX;O zEmpl5uJ*IhFrTjDM~rQ{e`K^p%g4vUzdm|*{os?Lq)AVQ9d1_|TJ+~dv*3*9>iW~4 zx%RLtGqis8Zs6AK|M`{szJ2zj>C0OS-@aPxviHr&VPjsunM;>{bswuY_$lcJ&c z+t{eq4~yw{e|9>z_4}06Vc$GoseGCplk?HeZQgt1K^`C0x@(v3aLD`oW8Jc^SO0o_ z@f|*`Xi%#YcMTT(y4U(?`}Lw7ZyNm>alXOY&F7-*?_KELvF61q0|({&Y`5<0_PMvttb1vE zI{85FyoB>BI8(WoJ{arfPS)&lrSsU>tF>;OzV3Kj^;*Zc1FIr_ja}KKlf!EBhOgFa zZoeyT?|^{yA79s7cRu>j+HV)L60Yx$+8S5Qb@R5!A6sn4r^i=QkJ!*7(|OaZ8=p2h zwOq7Jb7aq@BOdE7AG758ivPAmFTVe^(~`N}<%`m7E-YLaurcP8!Qi>2X|}T+ zrg#79p|%GN5BnQ-Kd1;?k~X?tVdh9r(-RtB`e!(AUUmG);^M5BN0uk=jqo}3wne;n zTSg@?I4fhxCG9=$4y2n5TJOK2+56&F4@QR8Kkiz%rL5tR^NYQ-W(7PtIbOCvR+w?> zPLGFoLq0Z-D0wu{Xw=|@LFRpbI3>NTo?!GN{M)`xmrlZdd<#wB{)&4-U#G#j#*Gvy?tCO#?;LsS? zzD@N;{UwS6H4X(avaED}@qbsePZ++diDCGLo>W0ae_dV8}ojuR@tj5g= zi6f5Huq+*tky75S#I)D^7dbZ`MMsS>Xqq=8)HCAjc0>KVi=z)tYIITV*DEoj=yUw| zE-U}u`W4kT=$%EYdjoqnIBw9eqx#VcWobKiEY!2Cm3Dv5?84yItESy_D6cbajoMec zwm~a5#w_g6bk*CzYZ?vk?Q+Cf^P65ta_`zFu7B9|U&-n}i!z#c1lQO!Ky^Zc|1v$_ zhZi^PmFpD!{l4Nw*HN1jJA{6}7;~$}XqPh+4Hrk|wHp2`weRC$9sdsKQ$POYmq`nk zq?(nrGW*tXu6#>__F1-dUe$GW!#{qod9H3A+S@m(@bmH;{x9AfEgso#xpq#gSLxG>JXA(!)y>L(?Od{O z#lTTce&6rZlWz^#cyiZC&AVr0r(DJz+23DV%XDL(iB^9bT}v{KopEgPx!#AJgSy4lEK6y<|M!&<#$7eu^`1Iv z(T8ix?7BR7>HaOiJF@Bb7PZ&7-#cj6|J0q0Z(d#aet7A&uDbpP@69#G^xBr~y{X-O zmj?4%Zde`H_fL~18;%dK`&ImMt4a9qr4eS2TU=}6lCrn^V&kr*9n`Gn#AHrg_2_A} zFT;lZ9`dSte0#-*x*BuCy7;v(*mG^kh3hG;qFmi)-x+RqcHH4bQ)k|Jclq4-J61z< z4sLt=takNJb0U*_7LLiQcE})N@33t-$6H^Bl12YX+5CKisjaR{qRTjM%jLVxf?{*R z@3n7SJic-F-)Y@_CXjnW7!`eEocYMGY)=eFalFZCK@G~%|e z`?KxA;S<}bJ-g9UUeN8P{`}ubI_aS;)02O6IusvvKQs5vzO3&Zo81k2+O=fZlm~b8 zukXF#HpH&TX`gqoN}EfC-qEM>{mkkfDNi4G_?*r46YDl)oJ=xosG6~Lr20aw3wlL| z4(h(LZ90DDg2AJE8K3d9+Iuv}(QWDj_m#5y;TrKbt+UE*8`*~+oWDrpXnLK5Q_qrK zW)w7^rkT6lQ004zIPK)+j}78$&JNMf)EevNxGErQed(xSvd~cPa?3D3|M`JVcR%{8 z^a;~g_trv|G-Iw-`I*m#=LQ9)6_bg#V z@ppqpMY-{5`SJBG7A7AVa@eg#lOy_bj-4FV_VkIc{ckg3tT&!Id{ph|6TQg?Z*F{j zyIbomHzN+n@7tM9dSDjwbd;{i+JLt6^v8y@pC00q{LJ9G?i%gCTXa-X8_d$&dhosB znl1~pcHFEj`#5@xM$VtF{)2``2L|Vvhq;803)Oh>r@&(BqFWA+jP6bM34Yk)%J<_X zXJrB9`ysPhU z?|_a)FBi2QU)<%>eM@}H&L#(!D4fSFFY_3a9hv8McxhHpOs)FkZzlHpf4sd1SQJaw zE;=wn5=3%V34(~JQACUc6~Qn$=bXt5IcJ76fD9nfECy7>jEW#8OqjrgVnE$y#T@3= zAp86F`S1PiIp=x)bEaLr>g`&qYE`YO>ZYyg5}LOx0)Pu^sBg5TKDwkiSa4--X1c(`@kjd`n4PHZ#)VT z-{1dr@}2DP%o8@3J|FR*MeL0qvOBagzQB+=teGH<6zVU!V6J0KFB3FszH(b79GT|2 zjr_`r=5db_`o~{;gG6NG7r^&-Z4-HLuCi^ugi2PfT^b&Lx3y2Y>h>+_y?_VC!ubP> z-nDeJ;s%d3_N;8Xk`5ivyf}XRgVTkhT}s^kN@z;^rmaV>`s!Wk*RRA6lBT)c7Mb@<}_J4av@4z{}+^p#{aov1*4w zWCfABEe{o_K6~!A(y*`VSm^h+&y|lyZujmwfHFDInzptvduC~VjnkD?T^1PJZ8x)o zk;vU@dlgXMVri;@i7^IG(}K$mLEq0{tIc zqM9~V(&+VU>c%>27}r!(uUl{zJ+ z#{#yxJm ziCbWu;FoM$3U~oP>NRplUiIVal(%lOQ#L)CyX~TjSH~~*?kPii+WoJ-X|l+knP=1{ zKOZt>=T)5bUq8}N%b>$-zHeFD7$90YfZ~IqXXa1o3-{9u--CI z!6S0hu-pEZV!KR>KT<80{T1k@drBU8Y9Kx^quRHBW$Dae{VlKqJsplYIZ=U12Ql>+ zZCU*D8mj#EZR?q+NhZE&tf`JO>zBfu?jNavSu|&RyI7*!1nz$BPTEJpYxP(IV@pZKM8bYcg88GsiD| zhSQY2^9-!tPx1<$W8fVh6B0Spj*(scloXup%VV^~_kQn3UK<*o@D02Gc-Ws)vPW&P z>R^eRaYJ+DxtwExg>W}Uu!Eo6z}wpYw5O?Qt_W2Vl!kAC6B567uHp7(X8QF^u5lY- z?l;}mu)|t??1^(W|k-|ebmRWlaD3?x<<&JWNn&WKaT@J4~b#^-+blFP|e6pDL;hg1{8jblrkF91gYs#$`Q?0CiLvA*Q zOOtGqo~-p-8~kuV*^K^0=PODV8h<_Fzx>VOrFl8Vi#r!$m*}DezD!&4{QA_0d3U;f zee7Cvyh$f>psJhu=UkWlHP>9{{uJ3$m3vFswyAHue|yZNopHYr!QE{Pejn-hX2RVE>tFC?G2@Jrq? zYj0TE^85(D?}OprRWD=*^5oL^S2VFVR#)=TZyt9~x*;#j+MhFhr;z>P6h^SM{|29b z{ISp#epK{OQWDbN>l|vm!FDxnGICY9A`vyn`-yZi>Rm%URI#?^{+8g=>uXl(zuU7S z0Qq@&)|69$m*y-Fm_UvR3LW-ZR#ZF@|6YtH%+(c<6dg;6hi)0+zIGO47w$NQPO*A~ zIgxgg`e?y(nltVJMff_8yg7d#<7K%IecBH=GhzjmwR?8h&^*VChhL%&J=%BW&EuFY zw}%(+r$76BTlVy@XwH+Q@p^APR{6bo;ymHi#zx|6_6X_<;tye_!@a;LBIFA4ql zFU!O4e)e5E`@34+s3GXLe0MOL@nay#@mu5Rps(~+#YfnSkPlti>F;uuc)SlLnU5F+ zuKUzGebbkcs_&msnoGA680>+g^GSDp7Mk8&`gp-$)TfRI`~`Kd#OE@mq)-_~wn-p%OoEsw4?Z+AXgy+eq&ymNE-x7L>lDSM__tlk~5%VO8= zGw$2oXWDI@`*QYX1tD(BA^*VUuhUL%Sh(!trj%bhHlC<%IB+`VYP-Juvx5QKP8`a* zRM>XuuF3uh`xfmBoxt5&Bp@8?cNHJC4q+X}ebzrxUhmy8sBAy(^f3D*m3ikxjn8Xs z|3BOz66`QKS7dQu&zmxCHEI6fyE*PM*1d*)zau^Eo^MkPQObzp5BdGz1;DCXCl7y+ z4%~nEAbu{HXGTQZlbW7yfxdq?YqAR3^)>22a_2eG*=@TO(T2+|U5@am+MOOb)7;M5 zfAgUq`F2+u9j-i|x-q6KXzv;4U4}_3&o|H6v(&Ei9Btep(Sf#n*wxu+KS}i~mPsz< z-J>N>tMdhU`F-~nK5V~IhN8yL_4NPiiCG?&9RE1r^}zVAn3Ljn)4y&Asct$=b%neh zHIh*2p%I_Yelo1Q8L%xi>}RLlyr!$j61PLso78qaQ@zrgkN#R|uN&x`Vm4A%u|4GZ zmpUu*61VOCWbcWpgM}NuT(^q5BHeXi`-Bte21EMY>>Orued4nm#Mx=L4>zw_9#Qk@=XH(hjS!tiyffd?^vKk; z2lWCxH}8FW#>u2$Q|8^h4huy6>C>+zlvjpN9$Dn^1)jZLB`lxqUofqb{JMQP8*lQ} zzug1@rbg;Uy$d;Ze$DK`yWcV(-il`gnSXQr_3X3X zPWg&$6O|L9pD^b4(udHkNW3QC^Ya?_)}n$KoB3~T5Lp3VJC;suaCtF#N-ZHFu;^j` zp1JhB7hY2iE+RbbW3EJ}?bW=pzsX(XBEOR#Y;{{``gWv;iran?&45eDD|z)77`1H0S9eXR|Ra1*1E>$hB< zra6?HXFlQVP;7MyOyX>6k@dY5jd6=6oG#^Ly8~cIuVC zb}wjIVa~i5xAu+x<@bfWd&@ma_+JB`f190%39OvtgY(#T=jHlaC-;9l^TK$=hGP47 zrrZr{BnFG?Feh@R`rcJn)XtkV>o?j1f26kY`QXoDMwErmkWGAx@2tz_%Fvx~|KSzK zvNN3@KP-=<(LY;;zM%YiPgq(b&(e3fv6Qp?Owr{XY4cmI+)5Ah3-9(|q{J2OKYiiN zEy~1O5knjHjr(Xd>B;KtiJ6wYlK!3Xrfo;MHqdp_&Mc^J`JFMvy7sAWv#)Wf6DB-Q zXtQnUov5xE5rZ?2`KxQy2!x)%_!DJ8yGk^>sFu|Y`W@a!BgxP?c0d59d zE1v-<0N{rpULSDch0(~$M!Vt_TF|+{rZvy$dfiQS1 zG6b_Kj8236jX{_T$Q9ttfP+aBhFO4u0Dc1WK?NF80XYD?4&=WKgp&X*1o#HX-x7qu z><~jQfZGAr)~6ECDu73Tz8(k@0olL;Kv66W=7Mk>AYTxF5#&Dsgu(14Ll1y=0j{m@ zJV3z!zXJM3Aj||b3E+B=KM#b{04)Xh9>^ao_csg&Gz;Jkz)b;_0zv}(6ZXgdV5XL# zIVgYjnE%1dD?@J(-v!dw+RFjt0`Nw_!Q>IcOhADEKLYVudnkbH0j?PHe=ZbcSH2j?tYl|AzrQ6X2tOYui%^ptS&h2l`t7Yuk(^D1Y~u z|6>3KelR*S=6`LSx&gcuaIJhcpk)9L1AVRkX@EdI8>z?qpA7IKfNzcYUj{H}*G2~c z*S4o3K&t`%4D_|-0kgXdZU5o_c!1}F_{(Gd7XdsK;8wu3`Q-yz3Gf@BudPoOAkc4( z8pr$(X7d{Q13Wn9{|JC*1AGE-ZF?#MgaY{YnE(G%|33xN*ZQ9g$Qj6Q02~G=15g0K zLm*!3e=;CDfXm1Hp8&8Qz7X$1G@IJt`{we?z0`PmFul4_b>i_4*{Lcq6Q-FL6 z;9B_{K+6Gs0ra)$(E&LDTs!9f6o3~4e0$9Qa)4(5d<1Y4K*fO80Q?Q;YyJ73`hU-u z|G7ZM707P^To+Ilpdf&s0)4GNsDK;*t{U@y62J=qzB%T9DZpL;9{^lipGrWh0R9B@ zwf_H4{r}RK|Aj!t1IX_NTwC9HfPw*j4fM7CX9Ai8aKo7Y(*Rxy@cl9WhXXtd;NyUs z0xAWB1o+qgr2lt=^tJYK0J#A9O@QkF$^;Y$@M93KwTA-89^lIV(*LiI`CkI!r-AtW zfNSk71QZJJN1(6u=YQ(|y<`3t02y~6zY}n6edPjL0q{$puk}9z&_sai#{8cO@DhOU zj`=?f;F$m)1AIK75yz)YCCD*VBX9 zgDp3$^#WlN^>hNvz~n?bJsn*uJr|gho{qDHo)OGJPsh+kFB293OgGch1^Ssl-(IV4 zXRc?U)z`Py<7oBSW?)4V(1%;;d296{3%&7LeG?nKQ-AcqJ|Py`Aq8dtzLu>IzLu>A zb|OK59Z0~oRWMz!tB4NRRV47;4t?Wwx;o$j97O7k3Xcb>_AnRlk?cS)r8N^wjnvV} z1mCvO0lPHn=<67QO{L9r>~x%UAe{gmHppX4S088_g3QK&jK+h+&B0b0w&1HclVNVK z>0t8kA~4Y$2PSvNz_MYRz@*&AFp%-+&kU@_(jMlcMq2~+}@3bsHHE7fOJI%k-)uwF*K3EO9D{RmLQKdCR^N$}a zP_z$x$cY@)q6EyKoFwAy>uGR^Lo6gCAfI0g?^=Rj< zc7y!8LH^w!|89_fH^{#mmdJbkbgIr0((pcW&-q0fW8UP zH@W^_%lMDt{^uZA9sx(_=^GdtjmeBNHW_a^!OYyk(#qP#*3RC+(P`qO$<8jWZhr*+ zXYv0ztN$x8pwaKuH?}he?bO^Hc<9g02Y`Xv1UoDMzwgsGb}@%d7zd)^;|yRrmPW>) zhK=;W$rz@uRnaO2o&s`U7oxxmfNPV}%7a8fUorxcAh}Wbz#m#M6Ift=o4&C%@Dgy0 z_GC1A)`mgc0T2iFD+)ZNl>uIaA+#r$5pX8>fisAEtCcZ>1^xhh67cY!U4dX=6LIYi zoWVbBkGHU}fCaYg*Ecr(8;uGW!2%zHi&}%<0&Wcq{qqg|Kh|oCrY(F!`yXpt0RIO6 z|27u}dC!^aGtYOv--5uPWy@CtD`JIyFrJtb4Zb8EujR2|Lb-w$GY6(UaRp$>k~Sa* zfgT|1?F$<{Ya_ZwL)w^AK*UF@-~+CMt8;<2_N^B{8rV?FrT=;(Gf*b0M(!N5qwZB*vD0L=4+ya7+}h5!e0J`2ES%R$C| ze)AT1!{nS;Nw_zdMn851r0fhEFza=IZ8irz)(LygwHX$m^n~4mj2&UyUBJ_mGuO~< z!wu{OPjGVsay9hiJDPHKPJH8ilr7Dl6sP_!2UY)4DK5;P8*Wu2U}V{&4xT!3rg z-=&|YHNj*#I#7RN4mxPu%+u&)raJG;mYawAn6I#=#F_`&OWMs>PD~sz4{<5cRSV+x!^^+C2GmH5leKS(L5{63VVeWHgwtnE8N-z zpRDktVE3DNJV9`iKo)GdNu-azT16Uj0QiH`8HO+m01f~r9qnnI&flR?s67e5DMO$` z&!Y&}hn=B_8dLSD;*BN2RLRzcJgRiZ?lV+b>v4VBp9J=u_jL?Aa68U1{K$)gjuFSd zeRhmIWi+4uC-z^7YI}sXVS>MToMBdyDKI>7bd=i*S_AO63Y@{RnUP1vU`GN=6Id4v zGV$)Qi!qsV-gCdn+)I8RO?>)7=8m6tlWf^JZ-Bq)lJC9P$Cu_m%yGNy_hcRK@`C4^ zH(g%%s{QfhMeo4efW;#>cvqHueX{Aw(w`%bulU3Crl9{e!Edw{z_Re;V1Vg_1vUfD ze>ZBtSf%{i>i-aemB-!`^fMBkZs}*He0ti?%Fy!|VCPs12RH@pTL-ws^M=VVouA;X z##pgI*F+;>ft4rpjo}FxLs;NW5Yj=x0*?W{AcbT2x1cu|5I{c-$g!fbUG!lh!>ACq z%`mg`POy9E(^fRTw?0g4l3C!k#blb1wx#|A`pSQ|RBa_q`6(d|!5)rLXG8~y#e zr2^Q=8I^-g8Qs518*e{mthYBTRubboXVjDc+lJWd7*d0xpHtlscQ>lPA^t(8ZDYdY za#CaBvkldaNiX;HHzvP5W!seUv5(Z0`emrPDecGm{-$(|j$LyG+=ASkY2aGJ);5TY zEaN!?&Dj%z>^9_BV#ynFZMiiY@*JZFHsnvvvfEhTRzcoaI9lg_n=(3POwl$KPjDI! zyZWba+P(!g`Oq>m*u&9l8F1f77dW^>WgyJKUq(uEY{7;e`~3Fz`lB0V!D@GzhfIML z1dW5ukM&*#lnb|w27|Y>ryZUR*Y4a|82wQ;89=T3R^s) zas}&@A~z|)BCO7-)7uPJSj{|Y*jeP;RlqA=JiL8VF)VO>m%g!Ooi-)#>n#4mVOPOj zuM5QJ)WZUM0iRMb7V*&NU#_3`XV3<1WeS)HW(fAx2>b;^O*d;rw`fm^&)XR>6fX(q zN5sdBhQR_<{YXA+)xslFDs>ho8m`Nn5j4(I2Xym_P+$AaDjjxV$hs^DyUG(hg@QZK zz-VIV(GeUB|1j+xX!LiF4LZV&jc5Mb??9tQd;h~|aA$-etYe?xM~%iWJz}=bWWf!y zW`5V(Jwxu|bkqw`LC5&SrX^K2-BT7?Z&(qi37l^=L|ix%1A-cK(Jw5jD+ z>ivDY{a?L-j9TjZ4@*IZhv9AF|J4XWoz^AVRo{#1{a4Gqz$v7!OB#9Z76U`;!vddO z(l^$<>I9zGL7+tk4gS^xtygfF@t<$-4zS%vK0C-q@9nS~`Waz|hSXzS^yq8w{M7Mj z_-+JP%IXC68G^vyi$4vY#Ecp`{~v~eTfMeQ|1~aXtJDlur2B8D>5NvX9Rwa6!5@`> zPX8F<16!}?8&?CJ|3d@(j8T*Q{$VnBH2ANrAn||f9HXru2{GEv-d_c+YCO0H13vzs zwg5pe6?mQjD>Vbl`}B>CHfL#{ZnV$Hftvvye@Kg#!J5IvH730||12Q&`?smhnd26EZpd{=66>IPrd-F&yN$P68~k+hb>!ktPp+c^ z0fh+BDV-}0IJ zaxklAwd7n|rL|M>ziTJ{xa20`kDXb$V|MC)D?|tVu`^Ba-)|=`(r2!=`Pp^`WEo73 zg=HDK*FfNwR38wiXXm%KbKH#W@3M@&`JI6Xi#6;m)5?P#B%A-s3Dmo|M)cvfs6O)h z`K|Q{gOX=8{H=vsYuP($w>2tGgo>M!TNAf8Xa6?xY=}AdV(W%n^|Y-U3uj&M-1v04 z(qu{hJDH>B9{kC1AyEr{^oMicNw|{ zW-0)+c4~i+4x|g2XiPOfAP0@3X0k>{QwP;U?XUpNcGyzQV~xM&7xWuyfEpnaV1dW4? zArojkWC~4y%ph~fSYzS34=mCC0-LB|yEADMc&Ethfzc zc{sanakX&Mbv1D1xME$Ut}<5#*CnnKUFW$@cbx%*P5_|^(_J9v2#+uisfV+(i}OKP z;4N@f_pLiD@G}TlnQ6>578*;9mBw0Qqp{W4Y3wzyz?wVy#y&0@SB;xyipE{zp_!`j z)J)TOX{KvtXl80=X=ZC6jkjiwX0FCZGf(5InXmEFEYK_jssmcpKuwTlnP$0Wg(g_D zQWK&H)vVI2)~wO2)gUz}4O)ZIU^O@mUPI6jH6#sLL(x!y>bkr7##?m)p&)1(v>aLi z1w$*L5GWK{1+9kGKx-i+go4lz2Esx(2oDh;B1D475Cx(_G>8r{AST3u*boQeLOh5M z2_PXPg2a#nl0q^_4uwJCPy`eSMM2R}3=|6~pg1TVN`MlfBq$k5fl{F~C>_dxGNCLe z8_I!lp*$!bDu4Je?a%?}Aan>i3>|@vLdT#E=s0u&Itg_`r=TvV8#)d3 zKxd${&^hQlbOGvxE<%@}%g`0*D%1yEgRVn2pqtPws2>`DZbNsVyU;!8J~RkDfF43a z&?D$E^aOee4MWeM=gi#n@LKqKcpbbR-T-feH^H0X8{nJZo8epFTjAT_+u<$Xt;R*I+CF$2d_TM$ zegJ+Deh7XTegu9Lehl6LKMp?uKMC)IpMrP8Ps4lQXW(by=iujo+PMe%#zAHXbA$!L z5@Cg~M(7}H5VipR1Rw$tL5O9D z<%kuCV8lv92qF}*3b7io2C)`_M4&)IxkLKK{_eW&ChlhLcJ5a0PVO_@r?~sLFLu{) zhr3U3w{&-Ow{>@OpX)x|eUbZWcW3w6?w;=R-TmDsx& z0H^w^JMoSjPu^#Wt4fjMl#Nc>!5-qdhrbpGbGBxEs;d-FC2bHyaqDPTDam;wHQdw_ zsik!`+@_R61%kFhqQ|s-zkvdWsx}T8nBxg`z(Y=TmM_bf`x32kZ%)NRFjY zPjWO8rHEAgNZg(JHnls$G>2E9TSQPLsTSd?kXw)sNNpLXRBsbt$oJ%p;eM()NuJq7 zS+nZ{F_F0A_#ym5;tz^7>qE`UuqPQabGhnBb+h_MwK4u9E}wQK@_2ez*>iOSj^1!I z$sAdk@H5jR+>VGKOq4m~E~1rf`Ut5qM=sBDwkA>2U%M2liM3qJ}G zVn6vu`Lr-v?728(l26V1ELs6u`MRPlY^UNvTu<#*woZ|jq6Ii;QU znd!-H;f?T4%B>BbJ;3dg=2$++##UK-4)+3vnT>e2J0TH zgZo|JC7mj3mlegFN+%Z1XfSO!-ME3SmM3Q;FstbYIcGBCz#CTz@;fR4Ct*(uM#a z%etF|$d1o`n|(c7nBS(HM%-RJT!vIls#fNmMm?vSb1Bh_6i+jcXZ_CWEbdWT*50h` zMLM7!7Y-6vkuQ*cFkiB~*z4F__EnAr_bPXRAh1p-+$)X`i;P^O$cs~?Zpr$VUsP49 zZYX|_If1pI?8on?*)YVMEXkg*l7!wIQbDwGTjk;P^04i-xAQiUG@{FSrWM)Pd?EsW zojJrk!e1=*6CaaB#~e+NC9N;KRwyfhm%UbPs#>R(R10bQ>8X;nHOQJeo^$eaX}a{F zcziu8A{yI3h-AOwE($XU?+d5pm=!KBvqCPY|BQ2#ER^O{dx`0o?xePyd*#KIG@@sN zt5`4FJ7-IZA+{%LI5rKLjcUeRqm9E3V4q=sFxC^i$itLkS`FTJ`qm*UA$C=lab`E5!DeZBKF4GDIUie$7_-{B)g=%NcByBm)?*e%xcWuUwBcu zvp7eESyx$AUbV4GpuS%1S!v<*D*?MMxr#20o;f zdYn~OXs2v1jxV`bIH^LW-%7J&xwA2X zC88jCwEVF=Arc-Nm(-eMnCy`HJ4KlKOhAi1hFd{@&bY>X$hGG=hg0*smG?`&R_H`* zO{CUsNA5)KLe`<0QGMu@n9oU3n9mqI&IOl_dx_gc$R-cb=d)I^X0y@kF!p2~MX*|W zO5PRyI{Iz=*9^T(!z^U(7u8UurkYesUH=YwA2XAlDGZYY&_4(jlEN6YI5VXO{RF#` z^qb*Pxmn;QTO#v`%}hL=xH|bl>XEFA+35wW!UaWrWqsw7@fj5iq%Zm@ZXvEeS{?Hu zemHAS>6zMdwbyFnF%BGN-d;jdQXKj^ZKWz#JqLML`m7v7524ranvyEzvDKWi9ZAZl z0(Dl3tvE6bBbHZwz&hf0=2|K@r(Y@^QVDSd1%ZiOs1s;&>~ai_Fq8CGOc4n~;j(gA z3U(Yv#A)HQ@fPysf(T)d*fLzGSd#Q3Wld^r>gqIEx@q>R>`QruN}f_!^sCgNrmW#` z*5$J2b@|xI+-!blM6EhdT#j~@CCTv-u}SFEfC4wAq3APm0onsCK&N2*usrNG!UU2Y z`6Bf@vyJnW^N}0PbCOJxrbh3Io)u%25Rs6WY7*a)QB-JO^r-k+DNm)SOi~kSEY~MA zF2gk8_T!S79xTUjRd`O!@0ew&^Rr;e?@F{9i8Mw(!KL886Z5MKbu<2+Q4dJZxfeF zsj-;}jmpi+_##y~6M4RFGcpCW2W5}8L5E`Gm?rEI>~HLP++&qeQQYm;E zgH}d+%6P{3!bo6dGuJZ@G3{7b_8Lw#cYwQ%w@9EXTqYb5hKXFn)#6?WOYRjW37Z|> z5I#qdA16=nPkNZ5mui>FOx>4iodM6-ld&%YpIMgam4(e-Q@|;3EZSK7v-pBaQ65#{ zpYXF{bJbe4UQKQ7!1_fEH0)077n~vfCix5ZVT81pRd%FtHD(cZ75*17ASu3_-EggO zd5lp+WTv^|7wZmt`}(`l9c6qOyygP(9g$BuL8em0?6aH+LVe)^@jmgFu$zj7so_~c zb#+KI>O4-L5WyH`ykYzh)yiXHbraA^b>)KsG-(@iI`05_7rF!k6P?F1$;T*rX%g02 z?grixag59`JT>xcc}BE#f=5DFVyOU1y_bEez^JTF&BuC@&?0I2hT?Wi5XnoukgSxn zXSCr>89zx?3Evy&s8!e^{8GNB&`R`4l#@hEc1@jKNf+;~TaavzQ)1?0AJ9H?TlvHM znWCezmfSwID(+U@8lHaT&bpIvSfLTJ2Hk~=qCaO>@Oc83csS}pjGLl5IV-IyFT3b& zaYDIS?JmJiVUg@6@&$a9IZx40(6qI5UFLLVKWie}fHzw} zr|l6O7d#g)2d*N-@%_^Y^y2Frbz9E~0kHDqzw@4{_5&bY`R+21pQwg?QU2B2q$4T)TS^;l?bXO{@`VR3jPK>Xn zdD90OZ%{g%-`qK2or%4PL8)uguBE@uoSdb~2`-2(R29XR&Mxy-tuB|BpHbJBcOp@! z6_`L=CCik1Llh`C4(G*qq+Ke{uDF4-r<|nqg)tImrPZaRk(;8vV{irU$}XUO(A|Z* z;vXkDWoc^9V0N%x2_htgvX5bE@CN#KoK@-&L!rtq*RL7IOvDCo%Z0av4&eux*HWX? zzY6!{e#!l+Y{A~f#ZbzaDi(qLq=K(Lgr1DKk9Eea#J$2j#|IO<3ARKr%!}t42u*}Dg>k|((MIuP={#wNydcadoE*M5$|Fh? zbylGh&q&Zo6ePY&e3)dOye(xxsygFVc2Q1fE~DUM!DQuPC0-e$2OYT(cyCEN^jx_ z>37X*?s$n>_Bslm7M~HFHC*_hhLFFnY!TfLHH12VG9Wlp@6%q;x>-ohY~EhMYT+Ak zog^Xbeb`*Z5yj+qX5w(-+|@)Qz|Rghnijp+`G zC3IxwIAu>6PaRh6o_s}VSi>#^<1VXW|j*hb8g>4ir}PgdNGJCQ=nct`$KkY3oVtW@?YC#ovSvDK97 zLV;J_9X?M}Xvx+-mZdQzri)`G09x#7yo#h*$NRPn0a73CG#RjqYvu{i|42;V3%CO46g zwmn~$OcRNT4-%_WoKu&l8szyX7pXZa=cZ?91@qku&!2aUcZvT(@J;xbaY^z^Vjb}`su1}?@ine8 z=|Res)cRCTMrbxUTb|RA^CP#XAhJY96{f1LbgH&ke+6AlF6CU$oR@1@;;iaM#iCbY zV{j4dP##M(BYc0!WK}Uck3P_-{GcGW+a!Cuc`Uga6f!%Bo4QnkV_+T8@boH8|7~!Tw`sO ze(O#}{8sv9Kf`>@`wRC17mUKI_LfO0-kHA`e?zhk24i|LMTAc@8|GYQCew;F zk0oQZvp#Ulc^icjMd17<8H-%F>(^9mS7IX*EY8C!$Wu_C-L7A8I7V3_p)dBJZNG z=@qPM0bS%0o*efe`*pFE>X&M5rF+7{gdNze%*mu!iUr#OO~vfOT*APxW&}K$OeRsP zXrJjtj1G1ccP2kdv`pL~ejx6T8wiUCuM3NaJQsyy4JhIhLzD5z*yLL&QK=A?mm|r2 zl546&6a^PgD21ygsO;Cpsb|(e>j$bXp>JYM@VaDE`Zi7@e^S`~_@_xD8HgO5D!1Yx z-JroASIyebst-$y=Ea{(e3E=k_9}X}5-#RQzhW|zd?c&rpX*;{_0U4gCq*U@Bj{(@ zLP4>dS{$gdtij;V3ddK3P&TP@F>8^3VQOK{lYC87L_wSW?xh+ z^AjtXx1Qe}RgIgm{zv7d_4Lase+m-j*;-AenlTD z{y=_MELGd9((|7rK8v50GaDtqQgN5KS40=&sd4L)t5STka&ljm-4{AX=tn!I?aV$^ zyS4EbW?yo2!r|onjF9B#QVz2?1EXLoWEgHmad=W(b@^ZG%}|l)^;}f)mZ}%^Nkj_y zNnVHA2Q>w|3U>*27pKph!7mr2iDVIc9)V!@( z!jlN4iYIYb6PD$^$@9Wta31(!6MW0Yomc4YoTsPuTtT<6zKu{(YKVV+r^(d|-_Gfuk zeyFI=d7U@2{uEx$Di+YgtRuG-UoT!%gA#m>9giG9J|s=22&oro+c9uvJ=2CA$Bh?k z6NC%H!+fJXlF^y#Gi$TxMa{*-#jzz$>gDQI)K0!oHYtmfBh7uT(xKxd+iQ|?NVyYG z5!e>i3g&oGSz=U;q+!yc(XDKG(K9y5kHj&)k(fn1VXSVdFEr0CTAK%XKL!f0jwk zs~p{Yi$X8us^YDxYZbq0KGw?{P{<9)5;PIJinN`wggL;v&GP5A3mrvQMc2d?7?;!? z8QU{qMa9J@i_g(RAE)avR@AB#IWs2PX}ecVjom^JFmc8YZ4HL-Zqk z2y-S*!hfECuRGS*OFBZCDqJtREPH{!Eg>-LGpj^9>VAu`^$hV=NMe0qdsZVcW_w4&}Kqbhk9{S3`1e^q#2j#ZLjW-X;8#a!+je;eyc zafxC@-;JMI&1o=}q*LvvTQKACsd!W2gSancH5DWEe^D6GJ>hFH=fx*eU!`)Zk2WUo zU8K6%ITRM{uFNs!LtI;`ZANX*9E_*vcH^5ku1JH`tDQn$#7#@tTZ|$cWE-buRO#SY z$b%Rs%ED;hjLYTjtVi)VxI`8rbyx0OWl1Tq`lF~d7q`xcW5_uo$Hu)@`jyQlU{GF| zv)EqT7FsH^nVrSC#WND!5sAW!!+c}r$9OByi8l*sl&e(bs!yuZ>XLkGN&%9BGDQ|D z{maa1cB506YRVDXVdfp)cit)fJ>e?JfW$cLVEDQyPsN@jWjZV)H0OLyW}!>bxKe>C zRXwgYjZ@B@Bg>Y@hFwhmncf+en|?I^Yk@$tFMDy#7qw#;Cv{1Vv^)x_z@Zrk*~^Ga zxij;&6;8uWzzgU|(RQ(ZY}u59*yovEWt-Hb`ld#9Y#_NdY<4QM<_XdlRfIZ(*@r#K zaALQ`EKa z&8Q5*N7P-H7Djdzzb%E8IQdX=)T4ar9l_DFFO~_{CM&w@Pe&j*qW#lE~ zY2+DX7qTBYhk^RU>0KLV-{l;Vf--x7%XND29M!lz9va9QcO7ba&Q)AfLM$v#FSymF_oAq zj2g2UvlX)u(}LN7*@@YY*@tPv?8O|w9LMxv&SUOk9%2Z2FEFn$?=YV*zcC1`G1dxe zik*t}!p_3Z#V)|2u*_@1u&1z>u>IIU>|^XO_I1re>__Y;>{skJtUk^V=cgEtGs8{5S>qgVZn)VvZ`@p* zA1(kFj9Y=TMTX+m;%;G>I0-HsXGclK#pAMYYFsmJD{c#}6}K065Z8^fNV%FEVggb;D z!UMu-!ac$h!VQ8I@e9F*_?z&H;7I&NKoZf!2T?vmU*a61A5li+6K50UL@6Ng!M39U~h9qOsc#82kmi&8NJ!EmQUD1>l8`z{1tbnBom5DwBsG)vlQxrfkoJNax~e6%q6cTN0K{bSn?8bA~~0Qgxo~lNj^#*Bp)LmCbyD%$k)kz zV%*{3uH)*OCYn zGzCeaQpgl8g-sDr_{XsRM8PjZNb7)toUNm3Y zQra@w3R(aSLnF|rG#X7nlh7h*F*F4&fmR?$qGiysX8iJThg8Bu5?ejAAJEmkRD7&(s6V&9Yv3#$?4&AE;5du zNH3`U(13`fd6P`Y-x-`fGYI<1e}~!e zD~2n>fnm?EW2|9d8A!%zhMW<@h-2h4au`{Rjf@7yE=DWkI77ua#OPq0XIx@jXIx|4 zV%%lCWPD(JVi+?WnD$I_rX$mrIiI5$0FsZzh~&#A2}MEMt~A z%Z4?LHIwDX3S@<_*07MQ*(?l;$Re>QEDkG-6~l^WWwWwa=`1CyfK|@QXEm~FSv9O? z)^^rzRtM`A>j&!z>nrO$>pp8gTf=f;v)T4+GxjvLDchUv$hKxrXM3_E1Z z9nWU5SFwZHYuP;ZGB%$b#Fn#VYzjM*UBZ6G&StM?=dkP8YIZfdg1wDh#2#WFWrb0{1tN5+ZeL~sP0C=QFm;NUn4PAx~x$>;3itmCZbC^_Yv zot#$AMa~7zdCnKkIZij{4Cg4Pmy?)&i8IW3%=ygu&KcooIKMbQIlnnDt|8ZmJDzL8 zwcIk{#pJp{s6y=|DOMhZTo@`06f%VjAzvsGiiIp8R~RYG78VFgg@wW#VU4gscuIIgcwTry*daVE zJS@B=yd!)l^cM~bUkKj`KMB7GCx~oBlSCe(sUpAXSt5UtuP9LDCz>w`7BNL^5kyAsG^zNG^$Qh@XjXihU&(5`?5*{8;QR`6hlSek=Brcu5>2 zZW0&C8F8W{UP6~7NMsVcBux@7Ss;m(ERj$okc1;)N*Iz%iB!@iX_Z`+oRplBT$h}X zT$VhiU691&CV z^rd8+)Ixen>L#_6E|;1}qouym1nEjCS4xozr6E#3sjE~aEs-`$bEF%ko21oJ+q`4a zZfTeFuynt4mvm6tCw(B@A-yC0OZr2qC$q`>F13)^$h_+&%lu^XW%uG1$llbflr58m z%Fr^33@@X}STc?*L6#^>mu1LuWZAM3S&ghp)+pO7+acR2+aqg}?UU`79g=m(&d7RY z*JTf6uVgP}A7yW4CmIdqmU1h(qkM|oP0o}Pqw@Fjxl$p7; zWs+stGRh#?!o)#`nH**+Gcz+YGdEJoe9CQRpYxkFvu4(Pbf4XSV}D-n?NF)%d#F>?8|o2tfqFq* zqfSyksk>Aab(4BUy`zTEG(D8=O!KsXoB7GTF>A#>Q-CmNQG470h1d6tj+b%-m$&FgKVx z%tz)ObDwFa?GTqruY)^JLJB9UUWvqoQW^>rh>_>J3yNBJ* zZeky^=h=tsUA8gzhwa97=B%8GOXh5xnOnrcoQuokesS?!KDUP3z}@Eda)-EU+*$4h zcZqw#z2U04f4JY=53Yu5&bQ*b^8NWC{9t}K@6S)BZd?X*s$M8vf z4qw18<5%;0`EC4h{uFQyI@KfN2 zz>k671HT2UdL2*IJL1{tWpn{;>pyHsCpe;c=g7yUM4cZrU zEa+m;t)Oc`kAj{C2|?9CuY!gp{t9Xo+%ULa@PJ^y;2yz!g8K${4IUdjE_iM*8te#m z25W<@!BN4H!J)z4;I!cE;3dHo!CQiN1@8?$9DE@7VDSFn)4>;mZwKECeh~aT_+9Yt z;ASChLi&dG3Kf;8bj5ghEOzA6{-jg3ylg*4J{8{9lEe`UFfFJ z?V)=^_l2Gfy%|~^`X=;g==0Dxjg>??=71lE>I&?(X#IPx0W5Z^Ksl(=nnZnFr zL|Azx8x|TC5tbZQ7?vMa6jl(nHtbB;matu6C&NyJ9S)1jIvsW{>|)sEu$y7m!|sON z3ws#$H0)WJ81^>oLs*^gmf=mp8-$Mx?-brSyhr%x@c!Xr!lCf6@Ot5k!<&XL3ZEVB z4!4E}hTFs0a4y^xPKTF=7ll`bXM~r9mxQN<=Y(g5W8uZ&=fjVNUkJY(z9alp_`~p* z;jKOGJYu*IZuHdhH1xFfd=CE>-qF+C^EJG;r=Mq_r>AGEXOL&IXOU;7N9mDzrgRIF2?%C$q>e=Mk>pAE-;yLL#=DFj!=6T?G z=9yUf-t)=x#q-tk)6*cLPDHne_7P1YW=AZH7#iUpF*Raz#GHtL2slC#!ACeE=m=?q zB_cN>B|;mK84(dt8nG{8Q^fL!oe`%a4o0kxm>jt*VspfUh&>UN5nCeeL_CbBig*<9 zE8ox*dQ@IiMO1lIN!0SF%~9K; z_C{@r+7-1Yic32gbt>vy)Xk_HQBR}9sFzWnqkcp^C~6R0FS==To9Ir_ouj)&`$YGT zo*F$ddO`G@Xn8aejYb=y&C!nNfM`CNjSh+qjgE+pijI#?j82Fyjn0iOiQX8UCEE~v zKU#>s8~rf)MD)GrThWbU-ba6o?iw>7rgzM+n1wNE1#@Di#3*89F~6g^7&^upV~Yul ziHk{&NsWn)iH%tjlOMApW_gSuCO2kn%$As)F^6LI#2kz{5_2qOU(DHW4YMi*pS%B*o@em*!8iMvHN2;#6FFE9{V`jZ#mBg)!tBhL~ zR}j}b&Ks8$mm24Z+Zh)S=Z;$vmlC%o?n_+T_}6il;{L?djlUDuH2!GZx44G!PvSns zHIMg=?-hSAZd`nWgkNz~{J{80@n}MPd~m!oeq%fx9~)1^&xs!#&%}qukB&bVZ;sy^ ze>lD}{%-um`2F$s;;+OXjXxECD}HIbPeM)nm-vneoe~Bo^h{`<&@SP3{Imp10+KK< zVR}NH#Dxi}gy@773CRiB38@Kd5~zf{gwljp2}ucM3Bd`G30Vne6ZR!sPS~4pCE;em z!vrDWLBfxOCW&nmn3!0tq$f!&lba|1P5PSjEvZHFwWQX`9g^E8 z`zHG&k4PSqJU+Q!^2Fp>$upAW$(m$+vN_qA9FrWGT#@Wfj!52_%qPbt7bfQG-2U8BG97(yC@*w45N_EPYlgUwz)T-2v zsqNC9q&`dimij35ermI{hG|{Wo~Cw4Yn9e9tykK}wDpC3(*~tYN$a0BJ#A5%G)UCQ`0ljz3F-Bp7f&h?&gi@>(URVZ%f~vzA1fI`kC~j=~d~^)9$|=y+-dquf?nK26=g}#~b5K@+NrWy=mT5Z>~4no98X|uJbPSZt!mLp7L(>9`c^_ zp7Ead-uFKD{`UUzzV`n0Hp#4?**>#PX6MYdncXsbW_HbNmf1IRWah-o@tLzTXJk&v zT$DLKb55otQ=O^HG-p~e@yxQ!%FN}N8#6a&?#{fIDP%s&e3kh=Gb!s!X8o)mnLjgI zXSL7r$!ea}BdbGJ)2x13W3onPjnDd?Db0eiWLfg87FqMNrewicNR~d!k;P;MWvwaT zvtqL%vSPBLvr@BCvNE&QWNpscnzb|QSyolnJoEjmI@xWqJ7@c656@nZ4QC_SmTYS_ zksXlDXQySSWXEPN%U++oIeT69&g>o8`?8N@AI(0SeLnk2_O0y4*-x|YXaCOrC;Mx5 zkDQw9b~%G{+UK;+(dVdhX6MY$!E@&2;kUKheVy-UNnCr=X7mdfkbg7(M*gk*2l-F)h5TpvJ_Y>?h87Gfm{G8(Kw7Y{Ah?+t(u(#k+!TEx-1s4kzr#vWVUU;+MM?t;928E3Z z+ZMJcY+cy0utQ~!m`3Og{ume7j7@yQFy%YRN`&#%< zVauXsMdOP6ihPR37ELaiQzR`~SmZ2Xir6BqD6lA?XkF3fqOC={icSDAI}rO!*Bl~$GBD1BNw zq3l!X$I=g_?aSJgH7;vg)~u{SS);NxWlhTJl?^THTGpq`ugs@xc-h=C|FSt{Q_9dX zW0}1ys4S$cy6jEahqA`yjmlqx?xR8Z!1BK3o6CEb_bi`P-oCs|`SkLs2 z%Jt=VxvU&2*Oc?+DdkD!>&uz)u=0}f73FKox0RnLKU%)Od{6nl@>AuP%a4`cEx%s= zy<9ARTmHWMPkEP$t`$8h+!dh}5fw2N$rWi8=@mH@`4!m}iDPSXZ&J!c=&n z;!?%siYpa2Djrlks(4uOq(Z28QSrXwOU2iUZxuf(epURg_*2oavQg#kp!StMm4hp% zR4%BLS1Kzll>o<9nksFT_DWYJSs7f(R|Zw)SC&;SsT_u!CNx=i-~(AP2aecWYuGgT zYn?ihdXoB*29lPNHj<8#o|0Y?A4zXXU&#Q;P{}YbO^uX{mW&1S)HKO-Fi_2s%#kdR z$RsKN<4}oKVwPAWxWp>4OB@nX;*_`~l!TTr5?&H0aZ7?E!IBV3s3c4hF7ZerBvF!R zNemdc;w154e?#V0miP~l0A~Wk^_>1l0%X+ zk_(c{k}HyHl6#W-k_VC}l4lZ8QZ0E2MzD91_mYp2FOu()ACjMv-;%!)@b9#=uC$)C zzO;d~p|p{-skE82jkK+_owU8QgS4BpyVOV8TiRbbKss1DL^@PDLON19S~^xbUOG`a zMLJbFO*&mVLpn=38w_gmr1PZ$HtBZh4(TrGZs{KBUg(jU@a(%;fQ(i&+ks5VpwsteTv zLtg`^A=C(J3^jq8LM@#&46Y>v!OZAd}sl*5LyhTLK!576p#|kg=z?afX;<5 zNDmnxBV>ZWt1pB@HpmV+AOa#GCqzLs#6T>>K|B-y1p*2c0);|hkOzu@VxU+k4vL2o zp(H2;N`=y(bjS;3LRnBYlmq2Lc~Cx702M+-P%#)KOQABT9IAjSp(W5#Xc@EuS_Q3x z)0p$E`IFnK)&*K5}1qZ+Rbi-~Z;{!SZ495psX|DEVmlB>5CD z1J9PvkR)aKsRJ&z$sKa1+$E>vw44Pq zaR8W(-SQxLuslQ_Di4!~%RTZ)d9*xE9xqRjC(4uLDe_c#nmip0%U*dV7?pFtz??5H zkQd5}x*I&SV{Z;-AOxVBVzvX}AwH0*~brtm#4HbKIg;$ZO$Wml0aum6WJTR6QDvA}QiZVq7n9Y|eRw!00)+yF2HYheKHiH3u zt703-NOmZ8Dt0UODE2D$DGn$ODh?@*fMNZF;-un~;R;-=!B;(_9! z;*sJhz`E6nFJNr{tEf@bQr1z{S2k2ORkl-hQg&8$QFc@MD*cpwlmnH+l_S9fKUO&b zjPg^J)0H!nvy`)ybCvUzicKQ`RGO3)rB!KH5=v6(RJxRul2$Tc zt`Ag(D#MhK$|z-wGESMGOj0H*Q85syeE=s(PyWsz$0Ns-~)Ds^+Q|sy3>&s`jc5s*b8os?Mq|s&1<8 zsvfGIDj!uJRbN$q)d1BX)ex1xYLsfUY7C$O<5d$>6IGJ|8khmNz+BZl)k1&=7ONyG zsY<4js}w3FAOwg?qe4|$zzFmz;Ph2yKnxrzLgiF3Dptj*cvXNZP!*~QQ$?tvR0*m? zRk|ue=a#Xphd{u#}P*tKT1?XUjYN=|OYPo8KYNcuwfCp<;>s0Gi8&n$sN7$^| zqS~g~q1vU|quQrBpgOENqB^QNraG=Vr8=!TqdKQLuezkVth%DQsk*JYqq+;&!hO{v z)f3e-RkiA+>aFUX>VxW|>Wk{D>bvTP>Zj_L>bI&!RR^vM*MsZB4d8}w6Syhd9Bu`- zhTFhx;dXF)xC7h~?hJQ#byz>#niAQdriEF1^N!%1*5oC1JF8k`Piz*%rM zoCByuK3o77!bNZ~TmqNEWpFuM0apTqu@qhguK)~V6}%c=1FwbG!Rz4-@J7Hgw!mBA zZSZ!0Gj;-^u?OA@?}PWl2jN5TVZbzw0_%8eaehv$;2v@@|;Fs_#_zj>P@8M7IXZS1p4gL=Qf`0?(QCnR{U0>Z0 zK#yjCdbCitRJT&MR<{A@qn)}vU>_X;{^+dkqVB5huI{1krS?(#s{Pb`00rr%9;6{Rbk?^f?s?^EwrA5b4uA5tF%Nad*dg!&{v zDW}zE)MwS_)ECqj)mPM40Z_T6zOBBmexQD&eyV;3sEVK#)z#`3>X+(Q>euQw>UZi7 z>W}JA>d)$b)L+%#)W6if)qmAB>e@(Mq#jZqX@oRJnjp=P7D!8^719Q2i?l;JARUoT zNEf6l(habeo`^5f8|j1eMfxHAkpajcWH2%W8Hx-;Mj-ykNMsZ;1{sTtL&hT$kcr47 z0Ar>gQ;})NbYuoH6Pb<7LFOX!kom|0KxZU~6oC*qqCiv#3<$UeK@lyYLomdE7!ecT zH5LR%Y=|9kAOu1p6hb2m05=@KHvvc>;zojyU?c?4n=m9C@gNaM6cUTXBZ){7l8mGx zX-GPffq0QjBn!z#@{oL_04YR@kW!=!DMywdOOa*Ba%2Uv5?O_;M%DqkvjN!%*v@8T z3$hj2hHOW6AUly=$Zmjn_5#+kA32B|LJlKGkYmVk6$!rfC7dP-{&aO#8jVJ) z(P=P^USrUhG!_l6u>ol00MLlkH~~1KG_;1%uo_OoYuuV(O_(NJj)a=si z*6h*j(;Uzo)Ew3v(Hzwr(;U~F(45qq)|>$`-384>%_Yrc%}vcM0GsY>9%&wHo@kzG zo@uHyqNZB&Qu9jlTJu)(PV-*#LGw}bN%L9rMe~p5tLB^LyXL3nx8{%Lucj7S2W^5j zMVq57(3WT`v<=!0ZI5<9JEENdkm`zdM|+??s4wb=_C@=l{n3HwAapP~1RaVFLx-ay z(b4EwbR0S!oq$e6C!wW2oEffA?_z$^--Q3hpE4&~7RGz1Mr!%+_!fkvXyXbc*Q z#-ZRH9!*4(&}1|PO-0ktbTk9?qM2wGnvLe7d1yXbfEJ=fXfaxbmZKGDCAtJ%iY`N! zqbtyr=qhwIx&~c~u17bZ8_`YZW^@a>72SdELU*Hk(S7KCz`+iphtVVGar6Xw51ascp@I#{RHAv#p2)#-GY z&Y&~vaGhP}&=ERP=hV4$l#bQ$x&U3E&aDg51?xg|;X02lLKmrv*2U@KbqTseU6L+E zm#RzCd3Bk(99^z1UstZH&{gV|=$7hM=vL}h=~nAN)TY~{+pOE7+oszAaNl0tK7jlV z0N!^*cT9I2K)+J}`km38)t%E_&|TDB(p}bF(OuPD*WJ+F)ZNnE*4@$F)7{rS&^^>W z(mmEa(LK{W*Hr@;_*(Zy_YMRCA9bH}pLJh!|LDHzzUjW}egH7|8?eE@I&e$~tBuve z>SK+t##j@qDb@^Yj;wp57pxoB9k9Y)m=8dOy|F%6e{3K&2pfzI z!-iucFn??$HX0j)jm5@cubg4Tb`=sK*SL5i?%z=>@h0z#`aTpKqq8sqVU@Qa+#lo;~ z%!5T>kysQKjm2Pb05v9Hi2yeyV<}iFmWHKc8JHK#1iUdD%fWK7JS-n8zzVSC9(wqo0`?br@%C$ie1MD&O1bdEEVXv?^*jwxaV3uF8@7NFQC-w{bjn!ba^!4-&^^NsS^iB26^)2*m z^lkMW^*!`G^}X~ydS88Sy`R31zQ2BeejrGw2kVFFhwJ@87B@;iT0cfVUOz!UML!il z&FO$^&H+Soo_@Z5fqtQWF`%1LJ*1cE<$8r42849pRUi)d-XZ`B7Ld8T)$MmOut;e zLcd18R=-ZaUcW)VNxxaYMZZ(-!1V|M%XaQu^8w>`c!D6r)>;?x&6KMlu;0=KWw;{+7VhA%t7$N~- zjWZ+~G7MfrCV;HDhCD-op~O&XC*x1zA3}D&T#G8UQN}UGvBq)6@c`0JHcl~4GtM&328?#Dah`EL z0JV#Z5~I{8Gb)TqBWzR~5u?_qGwK1hH5yGutI=kpjhvA;1{&Rf;6@sw0l1AdCKwZq zNk(vE2S8h|G1Hi3%r@p4^8vmsG8P-lj1|VE#%0D8#+88Lt~IVRZZd8$ZU+Q+mvOgo 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 N__*SCYlc this.allocate(this.intArrayFromString(str), 'i8', 0), - malloc: this.cwrap('malloc', 'number', ['number']), - free: this.cwrap('free', null, ['number']), - }; - //console.log(this.runCode.getVersion()); - } + getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), + // const char * archive_error_string(struct archive *); + getError: this.cwrap("archive_error_string", "string", ["number"]), + + /* + * Returns 1 if the archive contains at least one encrypted entry. + * If the archive format not support encryption at all + * ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED is returned. + * If for any other reason (e.g. not enough data read so far) + * we cannot say whether there are encrypted entries, then + * ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW is returned. + * In general, this function will return values below zero when the + * reader is uncertain or totally incapable of encryption support. + * When this function returns 0 you can be sure that the reader + * supports encryption detection but no encrypted entries have + * been found yet. + * + * NOTE: If the metadata/header of an archive is also encrypted, you + * cannot rely on the number of encrypted entries. That is why this + * function does not return the number of encrypted entries but# + * just shows that there are some. + */ + // __LA_DECL int archive_read_has_encrypted_entries(struct archive *); + entryIsEncrypted: this.cwrap("archive_entry_is_encrypted", "number", [ + "number", + ]), + hasEncryptedEntries: this.cwrap( + "archive_read_has_encrypted_entries", + "number", + ["number"], + ), + // __LA_DECL int archive_read_add_passphrase(struct archive *, const char *); + addPassphrase: this.cwrap("archive_read_add_passphrase", "number", [ + "number", + "string", + ]), + //this.stringToUTF(str), // + string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), + malloc: this.cwrap("malloc", "number", ["number"]), + free: this.cwrap("free", null, ["number"]), + }; + //console.log(this.runCode.getVersion()); + } - monitorRunDependencies(){} + monitorRunDependencies() {} - locateFile(path /* ,prefix */ ){ - return `wasm-gen/${path}`; - } + locateFile(path /* ,prefix */) { + return `wasm-gen/${path}`; + } } -export function getWasmModule(cb){ - libarchive( new WasmModule() ).then( (module) => { - module.initFunctions(); - cb(module); - }); +export function getWasmModule(cb) { + libarchive(new WasmModule()).then((module) => { + module.initFunctions(); + cb(module); + }); } diff --git a/src/webworker/worker.js b/src/webworker/worker.js index a01f29e..6c92409 100644 --- a/src/webworker/worker.js +++ b/src/webworker/worker.js @@ -1,69 +1,71 @@ -import {ArchiveReader} from './archive-reader'; -import {getWasmModule} from './wasm-module'; +import { ArchiveReader } from "./archive-reader"; +import { getWasmModule } from "./wasm-module"; let reader = null; let busy = false; -getWasmModule( (wasmModule) => { - reader = new ArchiveReader(wasmModule); - busy = false; - self.postMessage({type: 'READY'}); +getWasmModule((wasmModule) => { + reader = new ArchiveReader(wasmModule); + busy = false; + self.postMessage({ type: "READY" }); }); -self.onmessage = async ({data: msg}) => { - - if( busy ){ - self.postMessage({ type: 'BUSY' }); - return; - } +self.onmessage = async ({ data: msg }) => { + if (busy) { + self.postMessage({ type: "BUSY" }); + return; + } - let skipExtraction = false; - busy = true; - try{ - switch(msg.type){ - case 'HELLO': // module will respond READY when it's ready - break; - case 'OPEN': - await reader.open(msg.file); - self.postMessage({ type: 'OPENED' }); - break; - case 'LIST_FILES': - skipExtraction = true; - // eslint-disable-next-line no-fallthrough - case 'EXTRACT_FILES': - for( const entry of reader.entries(skipExtraction) ){ - self.postMessage({ type: 'ENTRY', entry }); - } - self.postMessage({ type: 'END' }); - break; - case 'EXTRACT_SINGLE_FILE': - for( const entry of reader.entries(true,msg.target) ){ - if( entry.fileData ){ - self.postMessage({ type: 'FILE', entry }); - } - } - break; - case 'CHECK_ENCRYPTION': - self.postMessage({ type: 'ENCRYPTION_STATUS', status: reader.hasEncryptedData() }); - break; - case 'SET_PASSPHRASE': - reader.setPassphrase( msg.passphrase ); - self.postMessage({ type: 'PASSPHRASE_STATUS', status: true }); - break; - default: - throw new Error('Invalid Command'); + let skipExtraction = false; + busy = true; + try { + switch (msg.type) { + case "HELLO": // module will respond READY when it's ready + break; + case "OPEN": + await reader.open(msg.file); + self.postMessage({ type: "OPENED" }); + break; + case "LIST_FILES": + skipExtraction = true; + // eslint-disable-next-line no-fallthrough + case "EXTRACT_FILES": + for (const entry of reader.entries(skipExtraction)) { + self.postMessage({ type: "ENTRY", entry }); } - }catch(err){ - self.postMessage({ - type: 'ERROR', - error: { - message: err.message, - name: err.name, - stack: err.stack - } + self.postMessage({ type: "END" }); + break; + case "EXTRACT_SINGLE_FILE": + for (const entry of reader.entries(true, msg.target)) { + if (entry.fileData) { + self.postMessage({ type: "FILE", entry }); + } + } + break; + case "CHECK_ENCRYPTION": + self.postMessage({ + type: "ENCRYPTION_STATUS", + status: reader.hasEncryptedData(), }); - }finally{ - // eslint-disable-next-line require-atomic-updates - busy = false; + break; + case "SET_PASSPHRASE": + reader.setPassphrase(msg.passphrase); + self.postMessage({ type: "PASSPHRASE_STATUS", status: true }); + break; + default: + throw new Error("Invalid Command"); } -}; \ No newline at end of file + } catch (err) { + self.postMessage({ + type: "ERROR", + error: { + message: err.message, + name: err.name, + stack: err.stack, + }, + }); + } finally { + // eslint-disable-next-line require-atomic-updates + busy = false; + } +}; diff --git a/test/checksum.js b/test/checksum.js index 84fc0fe..7c375f3 100644 --- a/test/checksum.js +++ b/test/checksum.js @@ -1,9 +1,12 @@ - module.exports.checksum = { - '.gitignore':'d1e8d4fa856e17b2ad54a216aae527a880873df76cc30a85d6ba6b32d2ee23cc', - 'addon':{ - 'addon.py':'e0ab20fe5fd7ab5c2b38511d81d93b9cb6246e300d0893face50e8a5b9485b90', - 'addon.xml':'d26a8bdf02e7ab2eaeadf2ab603a1d11b2a5bfe57a6ac672d1a1c4940958eba8' - }, - 'README.md':'b4555fd8dd6e81599625c1232e58d5e09fc36f3f6614bf792a6978b30cfe65bb' -}; \ No newline at end of file + ".gitignore": + "d1e8d4fa856e17b2ad54a216aae527a880873df76cc30a85d6ba6b32d2ee23cc", + addon: { + "addon.py": + "e0ab20fe5fd7ab5c2b38511d81d93b9cb6246e300d0893face50e8a5b9485b90", + "addon.xml": + "d26a8bdf02e7ab2eaeadf2ab603a1d11b2a5bfe57a6ac672d1a1c4940958eba8", + }, + "README.md": + "b4555fd8dd6e81599625c1232e58d5e09fc36f3f6614bf792a6978b30cfe65bb", +}; diff --git a/test/files/encryption.html b/test/files/encryption.html index 2ffa8b7..041d7a3 100644 --- a/test/files/encryption.html +++ b/test/files/encryption.html @@ -1,80 +1,84 @@ - + - - test webworker - - - - - - \ No newline at end of file + document.getElementById("file").addEventListener("change", async (e) => { + let obj = null, + encEntries = false; + try { + const file = e.currentTarget.files[0]; + const archive = await Archive.open(file); + encEntries = await archive.hasEncryptedData(); + await archive.usePassword("nika"); + obj = await archive.extractFiles(); + obj = await fileChecksums(obj); + } catch (err) { + console.error(err); + } finally { + window.obj = { files: obj, encrypted: encEntries }; + finish(); + } + }); + + + diff --git a/test/files/index.html b/test/files/index.html index 287ddb1..52c11b3 100644 --- a/test/files/index.html +++ b/test/files/index.html @@ -1,82 +1,85 @@ - + - - test webworker - - - - - - \ No newline at end of file + document.getElementById("file").addEventListener("change", async (e) => { + let obj = null; + try { + const file = e.currentTarget.files[0]; + const archive = await Archive.open(file); + //console.log( await archive.getFilesObject() ); + //console.log( await archive.getFilesArray() ); + obj = await archive.extractFiles(); + //console.log( await archive.getFilesObject() ); + //console.log( await archive.getFilesArray() ); + obj = await fileChecksums(obj); + } catch (err) { + console.error(err); + } finally { + window.obj = obj; + finish(); + } + }); + + + diff --git a/test/files/test-single.html b/test/files/test-single.html index 33fe035..e02fbd7 100644 --- a/test/files/test-single.html +++ b/test/files/test-single.html @@ -1,78 +1,81 @@ - + - - test webworker - - - - - - \ No newline at end of file + document.getElementById("file").addEventListener("change", async (e) => { + let objAfter, objBefore, fileObj; + try { + const file = e.currentTarget.files[0]; + const archive = await Archive.open(file); + const files = await archive.getFilesArray(); + fileObj = await files[0].file.extract(); + } catch (err) { + console.error(err); + } finally { + window.obj = await getChecksum(fileObj); + finish(); + } + }); + + + diff --git a/test/formats/7z.test.js b/test/formats/7z.test.js index c63f48c..1163f3d 100644 --- a/test/formats/7z.test.js +++ b/test/formats/7z.test.js @@ -1,36 +1,42 @@ /* eslint-disable no-undef */ -const {checksum} = require('../checksum'); -const {navigate,inputFile,response,setup,cleanup} = require('../testutils'); +const { checksum } = require("../checksum.js"); +const { + navigate, + inputFile, + response, + setup, + cleanup, +} = require("../testutils.js"); -let browser,page; +let browser, page; beforeAll(async () => { - let tmp = await setup(); - browser = tmp.browser; - page = tmp.page; + let tmp = await setup(); + browser = tmp.browser; + page = tmp.page; }); describe("Extract 7Z files with various compressions", () => { - test("Extract 7Z with LZMA", async () => { - await navigate(page); - await inputFile('archives/7z/lzma.7z',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract 7Z with LZMA2", async () => { - await navigate(page); - await inputFile('archives/7z/lzma2.7z',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract 7Z with BZIP2", async () => { - await navigate(page); - await inputFile('archives/7z/bzip2.7z',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); + test("Extract 7Z with LZMA", async () => { + await navigate(page); + await inputFile("archives/7z/lzma.7z", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract 7Z with LZMA2", async () => { + await navigate(page); + await inputFile("archives/7z/lzma2.7z", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract 7Z with BZIP2", async () => { + await navigate(page); + await inputFile("archives/7z/bzip2.7z", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); }); afterAll(() => { - cleanup(browser); -}); \ No newline at end of file + cleanup(browser); +}); diff --git a/test/formats/rar.test.js b/test/formats/rar.test.js index 80c16a4..f32ca30 100644 --- a/test/formats/rar.test.js +++ b/test/formats/rar.test.js @@ -1,30 +1,36 @@ /* eslint-disable no-undef */ -const {checksum} = require('../checksum'); -const {navigate,inputFile,response,setup,cleanup} = require('../testutils'); +const { checksum } = require("../checksum.js"); +const { + navigate, + inputFile, + response, + setup, + cleanup, +} = require("../testutils.js"); -let browser,page; +let browser, page; beforeAll(async () => { - let tmp = await setup(); - browser = tmp.browser; - page = tmp.page; + let tmp = await setup(); + browser = tmp.browser; + page = tmp.page; }); describe("Extract RAR files", () => { - test("Extract RAR v4", async () => { - await navigate(page); - await inputFile('archives/rar/test-v4.rar',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract RAR v5", async () => { - await navigate(page); - await inputFile('archives/rar/test-v5.rar',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); + test("Extract RAR v4", async () => { + await navigate(page); + await inputFile("archives/rar/test-v4.rar", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract RAR v5", async () => { + await navigate(page); + await inputFile("archives/rar/test-v5.rar", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); }); afterAll(() => { - cleanup(browser); -}); \ No newline at end of file + cleanup(browser); +}); diff --git a/test/formats/tar.test.js b/test/formats/tar.test.js index 561bd6f..a993977 100644 --- a/test/formats/tar.test.js +++ b/test/formats/tar.test.js @@ -1,42 +1,48 @@ /* eslint-disable no-undef */ -const {checksum} = require('../checksum'); -const {navigate,inputFile,response,setup,cleanup} = require('../testutils'); +const { checksum } = require("../checksum.js"); +const { + navigate, + inputFile, + response, + setup, + cleanup, +} = require("../testutils.js"); -let browser,page; +let browser, page; beforeAll(async () => { - let tmp = await setup(); - browser = tmp.browser; - page = tmp.page; + let tmp = await setup(); + browser = tmp.browser; + page = tmp.page; }); describe("Extract TAR files with various compressions", () => { - test("Extract TAR without compression", async () => { - await navigate(page); - await inputFile('archives/tar/test.tar',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract TAR BZIP2", async () => { - await navigate(page); - await inputFile('archives/tar/test.tar.bz2',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract TAR GZIP", async () => { - await navigate(page); - await inputFile('archives/tar/test.tar.gz',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract TAR LZMA2", async () => { - await navigate(page); - await inputFile('archives/tar/test.tar.xz',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); + test("Extract TAR without compression", async () => { + await navigate(page); + await inputFile("archives/tar/test.tar", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract TAR BZIP2", async () => { + await navigate(page); + await inputFile("archives/tar/test.tar.bz2", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract TAR GZIP", async () => { + await navigate(page); + await inputFile("archives/tar/test.tar.gz", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract TAR LZMA2", async () => { + await navigate(page); + await inputFile("archives/tar/test.tar.xz", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); }); afterAll(() => { - cleanup(browser); -}); \ No newline at end of file + cleanup(browser); +}); diff --git a/test/formats/zip.test.js b/test/formats/zip.test.js index d06cee8..c842946 100644 --- a/test/formats/zip.test.js +++ b/test/formats/zip.test.js @@ -1,42 +1,48 @@ /* eslint-disable no-undef */ -const {checksum} = require('../checksum'); -const {navigate,inputFile,response,setup,cleanup} = require('../testutils'); +const { checksum } = require("../checksum.js"); +const { + navigate, + inputFile, + response, + setup, + cleanup, +} = require("../testutils.js"); -let browser,page; +let browser, page; beforeAll(async () => { - let tmp = await setup(); - browser = tmp.browser; - page = tmp.page; + let tmp = await setup(); + browser = tmp.browser; + page = tmp.page; }); describe("Extract ZIP files with various compressions", () => { - test("Extract ZIP deflate", async () => { - await navigate(page); - await inputFile('archives/zip/deflate.zip',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - /* test("Extract ZIP deflate64", async () => { // not support + test("Extract ZIP deflate", async () => { + await navigate(page); + await inputFile("archives/zip/deflate.zip", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + /* test("Extract ZIP deflate64", async () => { // not supported await navigate(page); await inputFile('archives/zip/deflate64.zip',page); const files = await response(page); expect(files).toEqual(checksum); }, 16000); */ - test("Extract ZIP bzip2", async () => { - await navigate(page); - await inputFile('archives/zip/bzip2.zip',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); - test("Extract ZIP lzma", async () => { - await navigate(page); - await inputFile('archives/zip/lzma.zip',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); + test("Extract ZIP bzip2", async () => { + await navigate(page); + await inputFile("archives/zip/bzip2.zip", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); + test("Extract ZIP lzma", async () => { + await navigate(page); + await inputFile("archives/zip/lzma.zip", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); }); afterAll(() => { - cleanup(browser); -}); \ No newline at end of file + cleanup(browser); +}); diff --git a/test/main.test.js b/test/main.test.js index 6c7e06e..b20132c 100644 --- a/test/main.test.js +++ b/test/main.test.js @@ -1,39 +1,46 @@ /* eslint-disable no-undef */ -const {checksum} = require('./checksum'); -const {navigate,inputFile,response,setup,cleanup} = require('./testutils'); +const { checksum } = require("./checksum.js"); +const { + navigate, + inputFile, + response, + setup, + cleanup, +} = require("./testutils.js"); -let browser,page; +let browser, page; beforeAll(async () => { - let tmp = await setup(); - browser = tmp.browser; - page = tmp.page; + console.log("before setup"); + let tmp = await setup(); + browser = tmp.browser; + page = tmp.page; }); describe("extract various compression types", () => { - test("extract 7z file", async () => { - await navigate(page); - await inputFile('archives/test.7z',page); - const files = await response(page); - expect(files).toEqual(checksum); - }, 16000); + test("extract 7z file", async () => { + await navigate(page); + await inputFile("archives/test.7z", page); + const files = await response(page); + expect(files).toEqual(checksum); + }, 16000); - test("extract single file from zip", async () => { - await navigate(page,'test-single.html'); - await inputFile('archives/test.zip',page); - const file = await response(page); - expect(file).toEqual(checksum['.gitignore']); - }, 16000); - - test("extract encrypted zip", async () => { - await navigate(page,'encryption.html'); - await inputFile('archives/encrypted.zip',page); - const {files,encrypted} = await response(page); - expect(encrypted).toEqual(true); - expect(files).toEqual(checksum); - }, 16000); + test("extract single file from zip", async () => { + await navigate(page, "test-single.html"); + await inputFile("archives/test.zip", page); + const file = await response(page); + expect(file).toEqual(checksum[".gitignore"]); + }, 16000); + + test("extract encrypted zip", async () => { + await navigate(page, "encryption.html"); + await inputFile("archives/encrypted.zip", page); + const { files, encrypted } = await response(page); + expect(encrypted).toEqual(true); + expect(files).toEqual(checksum); + }, 16000); }); afterAll(() => { - cleanup(browser); -}); \ No newline at end of file + cleanup(browser); +}); diff --git a/test/testutils.js b/test/testutils.js index d70f5ec..ec6c49b 100644 --- a/test/testutils.js +++ b/test/testutils.js @@ -1,46 +1,51 @@ -const StaticServer = require('static-server'); -const puppeteer = require('puppeteer'); +const StaticServer = require("static-server"); +const puppeteer = require("puppeteer"); const port = 8787; const width = 800; const height = 600; const server = new StaticServer({ - rootPath: '.', - port: port, - cors: '*', + rootPath: ".", + port: port, + cors: "*", }); -const startServer = () => new Promise((resolve) => { - server.start( () => { - console.log('Server listening to', port); - resolve(); +const startServer = () => + new Promise((resolve) => { + server.start(() => { + console.log("Server listening to", port); + resolve(); }); -}); + }); module.exports = { - setup: async () => { - let browser = await puppeteer.launch(); - let page = await browser.newPage(); - await page.setViewport({ width, height }); - await startServer(); - page.on('console', msg => { - for (let i = 0; i < msg.args().length; ++i) console.log(`${i}: ${msg.args()[i]}`); - }); - return {browser,page}; - }, - cleanup: (browser) => { - server.stop(); - browser.close(); - }, - navigate: async function (page, path = 'index.html') { - await page.goto(`http://127.0.0.1:${port}/test/files/${path}`); - }, - inputFile: async function (file,page){ - const fileInp = await page.$('#file'); - fileInp.uploadFile('test/files/'+file); - }, - response: async function (page){ - await page.waitForSelector('#done'); - return await page.evaluate(`window.obj`); - } -}; + setup: async () => { + const browser = await puppeteer.launch({ + executablePath: "google-chrome", + args: ["--no-sandbox"], + }); + let page = await browser.newPage(); + await page.setViewport({ width, height }); + await startServer(); + page.on("console", (msg) => { + for (let i = 0; i < msg.args().length; ++i) + console.log(`${i}: ${msg.args()[i]}`); + }); + return { browser, page }; + }, + cleanup: (browser) => { + server.stop(); + browser.close(); + }, + navigate: async function (page, path = "index.html") { + await page.goto(`http://127.0.0.1:${port}/test/files/${path}`); + }, + inputFile: async function (file, page) { + const fileInp = await page.$("#file"); + fileInp.uploadFile("test/files/" + file); + }, + response: async function (page) { + await page.waitForSelector("#done"); + return await page.evaluate(`window.obj`); + }, +}; From 24ec32dd12e88d943c887a0dc39da61a3fd165ae Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Fri, 5 Jan 2024 00:20:32 +0400 Subject: [PATCH 02/13] Update travis config --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2197832..96d5eb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ +dist: jammy language: node_js node_js: - - "node" + - "lts/*" From be07d4f1556578e850cab8083898239175240744 Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Fri, 5 Jan 2024 14:18:12 +0400 Subject: [PATCH 03/13] Update deps --- lib/build/libarchive.wasm | Bin 717423 -> 718999 bytes lib/tools/build.sh | 2 +- lib/tools/docker/Dockerfile | 22 +- package-lock.json | 106 +- package.json | 1 + src/webworker/wasm-gen/libarchive.js | 3743 +----------------------- src/webworker/wasm-gen/libarchive.wasm | Bin 717423 -> 718999 bytes test/testutils.js | 3 +- 8 files changed, 124 insertions(+), 3753 deletions(-) diff --git a/lib/build/libarchive.wasm b/lib/build/libarchive.wasm index 2b812b24cf5d3ac9503a87af7657a04ef2c0300c..e5b0cfb0e1d758d5aaa73383a5213346a7dfc298 100755 GIT binary patch delta 73449 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 Ru_Hem>dIWfm;+Dx{uhAoomT(= diff --git a/lib/tools/build.sh b/lib/tools/build.sh index df16e0c..3598ccb 100755 --- a/lib/tools/build.sh +++ b/lib/tools/build.sh @@ -1,6 +1,6 @@ emcc ../wrapper/main.c -c -I /usr/local/include/ -o ../build/main.o -emcc ../build/main.a /usr/local/lib/libarchive.a /usr/local/lib/liblzma.a /usr/local/lib/libssl.a /usr/local/lib/libcrypto.a \ +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","intArrayFromString"]' -s EXPORTED_FUNCTIONS=@$PWD/lib.exports -s ERROR_ON_UNDEFINED_SYMBOLS=0 diff --git a/lib/tools/docker/Dockerfile b/lib/tools/docker/Dockerfile index 5f29a8e..f60b702 100644 --- a/lib/tools/docker/Dockerfile +++ b/lib/tools/docker/Dockerfile @@ -2,15 +2,15 @@ FROM emscripten/emsdk WORKDIR /opt -ADD https://github.com/libarchive/libarchive/releases/download/v3.6.2/libarchive-3.6.2.zip /opt +ADD https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.zip /opt ADD https://github.com/madler/zlib/releases/download/v1.3/zlib13.zip /opt -ADD https://netix.dl.sourceforge.net/project/lzmautils/xz-5.2.4.tar.gz /opt +ADD https://github.com/tukaani-project/xz/releases/download/v5.2.11/xz-5.2.11.tar.gz /opt ADD https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz /opt ADD https://www.openssl.org/source/openssl-1.0.2s.tar.gz /opt -RUN unzip /opt/libarchive-3.6.2.zip && rm /opt/libarchive-3.6.2.zip && \ +RUN unzip /opt/libarchive-3.7.2.zip && rm /opt/libarchive-3.7.2.zip && \ unzip /opt/zlib13.zip && rm /opt/zlib13.zip && \ - tar xf /opt/xz-5.2.4.tar.gz && rm /opt/xz-5.2.4.tar.gz && \ + tar xf /opt/xz-5.2.11.tar.gz && rm /opt/xz-5.2.11.tar.gz && \ tar xf /opt/bzip2-1.0.8.tar.gz && rm /opt/bzip2-1.0.8.tar.gz && \ tar xf /opt/openssl-1.0.2s.tar.gz && rm /opt/openssl-1.0.2s.tar.gz @@ -29,7 +29,7 @@ RUN cd /opt/zlib-1.3 && emconfigure ./configure --static && emmake make && emmak WORKDIR /opt/bzip2-1.0.8 RUN cd /opt/bzip2-1.0.8 && emmake make && emmake make install -# compile openSSL to LLVM +# Compile openSSL to LLVM WORKDIR /opt/openssl-1.0.2s RUN cd /opt/openssl-1.0.2s && emconfigure /usr/bin/perl ./Configure -no-asm -no-apps no-ssl2 no-ssl3 no-hw no-deprecated shared no-dso linux-generic32 && \ sed -i 's/CC= $(CROSS_COMPILE)\/emsdk\/upstream\/emscripten\/emcc/CC= $(CROSS_COMPILE)cc/' Makefile && \ @@ -39,15 +39,15 @@ RUN cd /opt/openssl-1.0.2s && emconfigure /usr/bin/perl ./Configure -no-asm -no- ln -s /opt/openssl-1.0.2s/libssl.a && \ ln -s /opt/openssl-1.0.2s/libcrypto.a -# compile LZMA to LLVM -WORKDIR /opt/xz-5.2.4 -RUN cd /opt/xz-5.2.4 && emconfigure ./configure --disable-assembler --enable-threads=no --enable-static=yes 2>&1 | tee conf.out && \ +# Compile LZMA to LLVM +WORKDIR /opt/xz-5.2.11 +RUN cd /opt/xz-5.2.11 && emconfigure ./configure --disable-assembler --enable-threads=no --enable-static=yes 2>&1 | tee conf.out && \ emmake make 2>&1 | tee make.out && emmake make install -# compile libarchive to LLVM +# Compile libarchive to LLVM ENV EMCC_CFLAGS "-s USE_BZIP2=1" -WORKDIR /opt/libarchive-3.6.2 -RUN cd /opt/libarchive-3.6.2 && emconfigure ./configure --enable-static --disable-shared --enable-bsdtar=static --enable-bsdcat=static \ +WORKDIR /opt/libarchive-3.7.2 +RUN cd /opt/libarchive-3.7.2 && emconfigure ./configure --enable-static --disable-shared --enable-bsdtar=static --enable-bsdcat=static \ --enable-bsdcpio=static --enable-posix-regex-lib=libc \ --disable-xattr --disable-acl --without-nettle --without-lzo2 \ --without-cng --without-lz4 \ diff --git a/package-lock.json b/package-lock.json index 4a38ba3..b31872f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "MIT", "devDependencies": { "eslint": "^6.8.0", + "is-wsl": "^3.1.0", "jest": "^24.9.0", "prettier": "3.1.1", "puppeteer": "^1.20.0", @@ -3606,6 +3607,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -3654,6 +3670,24 @@ "node": ">=0.10.0" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -3751,12 +3785,18 @@ } }, "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isarray": { @@ -4970,6 +5010,15 @@ "which": "^1.3.0" } }, + "node_modules/node-notifier/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/node-notifier/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -5183,6 +5232,15 @@ "node": ">=4" } }, + "node_modules/opn/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -10384,6 +10442,12 @@ } } }, + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -10417,6 +10481,15 @@ "is-extglob": "^2.1.1" } }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "requires": { + "is-docker": "^3.0.0" + } + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -10489,10 +10562,13 @@ "dev": true }, "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "requires": { + "is-inside-container": "^1.0.0" + } }, "isarray": { "version": "1.0.0", @@ -11499,6 +11575,12 @@ "which": "^1.3.0" }, "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -11665,6 +11747,14 @@ "dev": true, "requires": { "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + } } }, "optionator": { diff --git a/package.json b/package.json index b2ab05d..ddcba64 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "license": "MIT", "devDependencies": { "eslint": "^6.8.0", + "is-wsl": "^3.1.0", "jest": "^24.9.0", "prettier": "3.1.1", "puppeteer": "^1.20.0", diff --git a/src/webworker/wasm-gen/libarchive.js b/src/webworker/wasm-gen/libarchive.js index daf9059..6e99c80 100644 --- a/src/webworker/wasm-gen/libarchive.js +++ b/src/webworker/wasm-gen/libarchive.js @@ -1,3737 +1,16 @@ + var libarchive = (() => { var _scriptDir = import.meta.url; + + 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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(a0,a1,a2);var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=(a0,a1)=>(_archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(a0);Module["cwrap"]=cwrap;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(); - 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["x"]; - updateMemoryViews(); - addOnInit(wasmExports["y"]); - 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 < arr.length; start++) { - if (arr[start] !== "") break; - } - var end = arr.length - 1; - for (; end >= 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 < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push(".."); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join("/"); - }, - }; - var UTF8Decoder = - typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined; - var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ""; - while (idx < endPtr) { - var u0 = heapOrArray[idx++]; - if (!(u0 & 128)) { - str += String.fromCharCode(u0); - continue; - } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 224) == 192) { - str += String.fromCharCode(((u0 & 31) << 6) | u1); - continue; - } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 240) == 224) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = - ((u0 & 7) << 18) | - (u1 << 12) | - (u2 << 6) | - (heapOrArray[idx++] & 63); - } - if (u0 < 65536) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 65536; - str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); - } - } - return str; - }; - var FS_stdin_getChar_buffer = []; - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - var c = str.charCodeAt(i); - if (c <= 127) { - len++; - } else if (c <= 2047) { - len += 2; - } else if (c >= 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 < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 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; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset + i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset + i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }, - }, - default_tty_ops: { - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output && tty.output.length > 0) { - 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 < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> - 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; i < size; i++) - buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - if (buffer.buffer === HEAP8.buffer) { - canOwn = false; - } - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - if (buffer.subarray && (!node.contents || node.contents.subarray)) { - if (canOwn) { - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { - node.contents.set( - buffer.subarray(offset, offset + length), - position, - ); - return length; - } - } - MEMFS.expandFileStorage(node, position + length); - if (node.contents.subarray && buffer.subarray) { - node.contents.set( - buffer.subarray(offset, offset + length), - position, - ); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - allocate(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max( - stream.node.usedBytes, - offset + length, - ); - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - if (!(flags & 2) && contents.buffer === HEAP8.buffer) { - allocated = false; - ptr = contents.byteOffset; - } else { - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call( - contents, - position, - position + length, - ); - } - } - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - HEAP8.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - return 0; - }, - }, - }; - var asyncLoad = (url, onload, onerror, noRunDep) => { - 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; i < parts.length; i++) { - var islast = i === parts.length - 1; - if (islast && opts.parent) { - break; - } - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH_FS.resolve(PATH.dirname(current_path), link); - var lookup = FS.lookupPath(current_path, { - recurse_count: opts.recurse_count + 1, - }); - current = lookup.node; - if (count++ > 40) { - 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 < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 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; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += "/" + dirs[i]; - try { - FS.mkdir(d, mode); - } catch (e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == "undefined") { - dev = mode; - mode = 438; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - var lookup, old_dir, new_dir; - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - var old_node = FS.lookupNode(old_dir, old_name); - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(28); - } - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(55); - } - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (old_node === new_node) { - return; - } - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - errCode = new_node - ? FS.mayDelete(new_dir, new_name, isdir) - : FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if ( - FS.isMountpoint(old_node) || - (new_node && FS.isMountpoint(new_node)) - ) { - throw new FS.ErrnoError(10); - } - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, "w"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - FS.hashRemoveNode(old_node); - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(54); - } - return node.node_ops.readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return PATH_FS.resolve( - FS.getPath(link.parent), - link.node_ops.readlink(link), - ); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(44); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(63); - } - return node.node_ops.getattr(node); - }, - lstat(path) { - return FS.stat(path, true); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == "string") { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now(), - }); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.chmod(stream.node, mode); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == "string") { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { timestamp: Date.now() }); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.chown(stream.node, uid, gid); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == "string") { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, "w"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.truncate(stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); - }, - open(path, flags, mode) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; - mode = typeof mode == "undefined" ? 438 : mode; - if (flags & 64) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path == "object") { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); - node = lookup.node; - } catch (e) {} - } - var created = false; - if (flags & 64) { - if (node) { - if (flags & 128) { - throw new FS.ErrnoError(20); - } - } else { - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - if (flags & 65536 && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - if (flags & 512 && !created) { - FS.truncate(node, 0); - } - flags &= ~(128 | 512 | 131072); - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - ungotten: [], - error: false, - }); - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module["logReadFiles"] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read( - stream, - buffer, - offset, - length, - position, - ); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write( - stream, - buffer, - offset, - length, - position, - canOwn, - ); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - allocate(stream, offset, length) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(28); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(138); - } - stream.stream_ops.allocate(stream, offset, length); - }, - mmap(stream, length, position, prot, flags) { - if ( - (prot & 2) !== 0 && - (flags & 2) === 0 && - (stream.flags & 2097155) !== 2 - ) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync( - stream, - buffer, - offset, - length, - mmapFlags, - ); - }, - munmap: (stream) => 0, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || "binary"; - if (opts.encoding !== "utf8" && opts.encoding !== "binary") { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === "utf8") { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === "binary") { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == "string") { - var buf = new Uint8Array(lengthBytesUTF8(data) + 1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error("Unsupported data type"); - } - FS.close(stream); - }, - cwd: () => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, "x"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir("/tmp"); - FS.mkdir("/home"); - FS.mkdir("/home/web_user"); - }, - createDefaultDevices() { - FS.mkdir("/dev"); - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - }); - FS.mkdev("/dev/null", FS.makedev(1, 3)); - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev("/dev/tty", FS.makedev(5, 0)); - FS.mkdev("/dev/tty1", FS.makedev(6, 0)); - var 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; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) {} - var ret = { - isRoot: false, - exists: false, - error: 0, - name: null, - path: null, - object: null, - parentExists: false, - parentPath: null, - parentObject: null, - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === "/"; - } catch (e) { - ret.error = e.errno; - } - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == "string" ? parent : FS.getPath(parent); - var parts = path.split("/").reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) {} - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2( - typeof parent == "string" ? parent : FS.getPath(parent), - name, - ); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == "string" ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == "string") { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) - arr[i] = data.charCodeAt(i); - data = arr; - } - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2( - typeof parent == "string" ? parent : FS.getPath(parent), - name, - ); - var mode = FS_getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset + i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset + i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }, - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) - return true; - if (typeof XMLHttpRequest != "undefined") { - throw new Error( - "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.", - ); - } else if (read_) { - try { - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } else { - throw new Error("Cannot load without read() or XMLHttpRequest."); - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length - 1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize) | 0; - return this.getter(chunkNum)[chunkOffset]; - }; - LazyUint8Array.prototype.setDataGetter = - function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - }; - LazyUint8Array.prototype.cacheLength = - function LazyUint8Array_cacheLength() { - var xhr = new XMLHttpRequest(); - xhr.open("HEAD", url, false); - xhr.send(null); - if ( - !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) - ) - throw new Error( - "Couldn't load " + url + ". Status: " + xhr.status, - ); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = - (header = xhr.getResponseHeader("Accept-Ranges")) && - header === "bytes"; - var usesGzip = - (header = xhr.getResponseHeader("Content-Encoding")) && - header === "gzip"; - var chunkSize = 1024 * 1024; - if (!hasByteServing) chunkSize = datalength; - var doXHR = (from, to) => { - if (from > to) - throw new Error( - "invalid range (" + - from + - ", " + - to + - ") or no bytes requested!", - ); - if (to > datalength - 1) - throw new Error( - "only " + datalength + " bytes available! programmer error!", - ); - var xhr = new XMLHttpRequest(); - xhr.open("GET", url, false); - if (datalength !== chunkSize) - xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - xhr.responseType = "arraybuffer"; - if (xhr.overrideMimeType) { - xhr.overrideMimeType("text/plain; charset=x-user-defined"); - } - xhr.send(null); - if ( - !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) - ) - throw new Error( - "Couldn't load " + url + ". Status: " + xhr.status, - ); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } - return intArrayFromString(xhr.responseText || "", true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum + 1) * chunkSize - 1; - end = Math.min(end, datalength - 1); - if (typeof lazyArray.chunks[chunkNum] == "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == "undefined") - throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - if (usesGzip || !datalength) { - chunkSize = datalength = 1; - datalength = this.getter(0).length; - chunkSize = datalength; - out( - "LazyFiles on gzip forces download of the whole file when length is accessed", - ); - } - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - }; - if (typeof XMLHttpRequest != "undefined") { - if (!ENVIRONMENT_IS_WORKER) - throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: function () { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - }, - }, - chunkSize: { - get: function () { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - }, - }, - }); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - var node = FS.createFile(parent, name, properties, canRead, canWrite); - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - Object.defineProperties(node, { - usedBytes: { - get: function () { - return this.contents.length; - }, - }, - }); - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - FS.forceLoadFile(node); - return fn.apply(null, arguments); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) return 0; - var size = Math.min(contents.length - position, length); - if (contents.slice) { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - stream_ops.read = (stream, buffer, offset, length, position) => { - 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; i < pipe.buckets.length; i++) { - var bucket = pipe.buckets[i]; - if (bucket.offset - bucket.roffset > 0) { - 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 < pipe.buckets.length; i++) { - var bucket = pipe.buckets[i]; - currentLength += bucket.offset - bucket.roffset; - } - var data = buffer.subarray(offset, offset + length); - if (length <= 0) { - return 0; - } - if (currentLength == 0) { - throw new FS.ErrnoError(6); - } - var toRead = Math.min(currentLength, length); - var totalRead = toRead; - var toRemove = 0; - for (var i = 0; i < pipe.buckets.length; i++) { - var currBucket = pipe.buckets[i]; - var bucketSize = currBucket.offset - currBucket.roffset; - if (toRead <= bucketSize) { - var tmpSlice = currBucket.buffer.subarray( - currBucket.roffset, - currBucket.offset, - ); - if (toRead < bucketSize) { - tmpSlice = tmpSlice.subarray(0, toRead); - currBucket.roffset += toRead; - } else { - toRemove++; - } - data.set(tmpSlice); - break; - } else { - var tmpSlice = currBucket.buffer.subarray( - currBucket.roffset, - currBucket.offset, - ); - data.set(tmpSlice); - data = data.subarray(tmpSlice.byteLength); - toRead -= tmpSlice.byteLength; - toRemove++; - } - } - if (toRemove && toRemove == pipe.buckets.length) { - toRemove--; - pipe.buckets[toRemove].offset = 0; - pipe.buckets[toRemove].roffset = 0; - } - pipe.buckets.splice(0, toRemove); - return totalRead; - }, - write(stream, buffer, offset, length, position) { - var pipe = stream.node.pipe; - var data = buffer.subarray(offset, offset + length); - var dataLen = data.byteLength; - if (dataLen <= 0) { - return 0; - } - var currBucket = null; - if (pipe.buckets.length == 0) { - currBucket = { - buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), - offset: 0, - roffset: 0, - }; - pipe.buckets.push(currBucket); - } else { - currBucket = pipe.buckets[pipe.buckets.length - 1]; - } - assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); - var freeBytesInCurrBuffer = - PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; - if (freeBytesInCurrBuffer >= 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; i < numBuckets; i++) { - var newBucket = { - buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), - offset: PIPEFS.BUCKET_BUFFER_SIZE, - roffset: 0, - }; - pipe.buckets.push(newBucket); - newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); - data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength); - } - if (remElements > 0) { - 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 < nfds; i++) { - var pollfd = fds + 8 * i; - var fd = HEAP32[pollfd >> 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; - } - } - 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; - }; - var convertI32PairToI53Checked = (lo, hi) => - (hi + 2097152) >>> 0 < 4194305 - !!lo - ? (lo >>> 0) + hi * 4294967296 - : NaN; - 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 < winterOffset) { - HEAPU32[tzname >> 2] = winterNamePtr; - HEAPU32[(tzname + 4) >> 2] = summerNamePtr; - } else { - HEAPU32[tzname >> 2] = summerNamePtr; - HEAPU32[(tzname + 4) >> 2] = winterNamePtr; - } - }; - var _abort = () => { - abort(""); - }; - 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 + 0.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 < str.length; ++i) { - HEAP8[buffer++ >> 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 < iovcnt; i++) { - var ptr = HEAPU32[iov >> 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 < len) break; - if (typeof offset !== "undefined") { - offset += curr; - } - } - return ret; - }; - function _fd_read(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[pnum >> 2] = num; - return 0; - } catch (e) { - if (typeof FS == "undefined" || !(e.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 < iovcnt; i++) { - var ptr = HEAPU32[iov >> 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 getCFunc = (ident) => { - var func = Module["_" + ident]; - return func; - }; - var writeArrayToMemory = (array, buffer) => { - HEAP8.set(array, buffer); - }; - 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 < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - function onDone(ret) { - if (stack !== 0) stackRestore(stack); - return convertReturnValue(ret); - } - ret = onDone(ret); - return ret; - }; - var cwrap = (ident, returnType, argTypes, opts) => { - 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, - v: ___syscall_fstat64, - s: ___syscall_lstat64, - t: ___syscall_newfstatat, - w: ___syscall_openat, - r: ___syscall_pipe, - q: ___syscall_poll, - u: ___syscall_stat64, - k: __localtime_js, - l: __mktime_js, - m: __timegm_js, - p: __tzset_js, - b: _abort, - h: _emscripten_memcpy_js, - o: _emscripten_resize_heap, - f: _environ_get, - g: _environ_sizes_get, - e: _exit, - d: _fd_close, - j: _fd_read, - n: _fd_seek, - c: _fd_write, - }; - var wasmExports = createWasm(); - var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["y"])(); - var _get_version = (Module["_get_version"] = () => - (_get_version = Module["_get_version"] = wasmExports["z"])()); - var _archive_open = (Module["_archive_open"] = (a0, a1, a2) => - (_archive_open = Module["_archive_open"] = wasmExports["A"])(a0, a1, a2)); - var _archive_read_add_passphrase = (Module["_archive_read_add_passphrase"] = - (a0, a1) => - (_archive_read_add_passphrase = Module["_archive_read_add_passphrase"] = - wasmExports["B"])(a0, a1)); - var _archive_error_string = (Module["_archive_error_string"] = (a0) => - (_archive_error_string = Module["_archive_error_string"] = - wasmExports["C"])(a0)); - var _get_next_entry = (Module["_get_next_entry"] = (a0) => - (_get_next_entry = Module["_get_next_entry"] = wasmExports["D"])(a0)); - var _get_filedata = (Module["_get_filedata"] = (a0, a1) => - (_get_filedata = Module["_get_filedata"] = wasmExports["E"])(a0, a1)); - var _malloc = (Module["_malloc"] = (a0) => - (_malloc = Module["_malloc"] = wasmExports["F"])(a0)); - var _archive_close = (Module["_archive_close"] = (a0) => - (_archive_close = Module["_archive_close"] = wasmExports["G"])(a0)); - var _archive_entry_filetype = (Module["_archive_entry_filetype"] = (a0) => - (_archive_entry_filetype = Module["_archive_entry_filetype"] = - wasmExports["H"])(a0)); - var _archive_entry_pathname = (Module["_archive_entry_pathname"] = (a0) => - (_archive_entry_pathname = Module["_archive_entry_pathname"] = - wasmExports["I"])(a0)); - var _archive_entry_pathname_utf8 = (Module["_archive_entry_pathname_utf8"] = - (a0) => - (_archive_entry_pathname_utf8 = Module["_archive_entry_pathname_utf8"] = - wasmExports["J"])(a0)); - var _archive_entry_size = (Module["_archive_entry_size"] = (a0) => - (_archive_entry_size = Module["_archive_entry_size"] = wasmExports["K"])( - a0, - )); - var _archive_entry_is_encrypted = (Module["_archive_entry_is_encrypted"] = ( - a0, - ) => - (_archive_entry_is_encrypted = Module["_archive_entry_is_encrypted"] = - wasmExports["L"])(a0)); - var _free = (Module["_free"] = (a0) => - (_free = Module["_free"] = wasmExports["M"])(a0)); - var ___errno_location = () => (___errno_location = wasmExports["N"])(); - 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["O"])(a0)); - var _archive_read_data_skip = (Module["_archive_read_data_skip"] = (a0) => - (_archive_read_data_skip = Module["_archive_read_data_skip"] = - wasmExports["P"])(a0)); - var _htons = (a0) => (_htons = wasmExports["htons"])(a0); - var _ntohs = (a0) => (_ntohs = wasmExports["ntohs"])(a0); - var setTempRet0 = (a0) => (setTempRet0 = wasmExports["R"])(a0); - var stackSave = () => (stackSave = wasmExports["S"])(); - var stackRestore = (a0) => (stackRestore = wasmExports["T"])(a0); - var stackAlloc = (a0) => (stackAlloc = wasmExports["U"])(a0); - Module["cwrap"] = cwrap; - 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(); - return moduleArg.ready; - }; + return moduleArg.ready +} +); })(); -export default libarchive; +; +export default libarchive; \ No newline at end of file diff --git a/src/webworker/wasm-gen/libarchive.wasm b/src/webworker/wasm-gen/libarchive.wasm index 2b812b24cf5d3ac9503a87af7657a04ef2c0300c..e5b0cfb0e1d758d5aaa73383a5213346a7dfc298 100644 GIT binary patch delta 73449 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 Ru_Hem>dIWfm;+Dx{uhAoomT(= diff --git a/test/testutils.js b/test/testutils.js index ec6c49b..696200f 100644 --- a/test/testutils.js +++ b/test/testutils.js @@ -1,5 +1,6 @@ const StaticServer = require("static-server"); const puppeteer = require("puppeteer"); +//const isWsl = require("is-wsl"); const port = 8787; const width = 800; const height = 600; @@ -19,7 +20,7 @@ const startServer = () => module.exports = { setup: async () => { - const browser = await puppeteer.launch({ + let browser = await puppeteer.launch({ executablePath: "google-chrome", args: ["--no-sandbox"], }); From 4c023a02d3580d8a41367b7a2976d755e43d9d3a Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Sun, 7 Jan 2024 21:56:52 +0400 Subject: [PATCH 04/13] Reimplement worker communication using Comlink --- dist/libarchive.js | 619 + dist/libarchive.wasm | Bin 0 -> 718999 bytes dist/wasm-gen/libarchive.js | 15 - dist/wasm-gen/libarchive.wasm | Bin 896488 -> 0 bytes dist/worker-bundle.js | 717 +- package-lock.json | 18547 +++++++++++++++--------------- package.json | 27 +- rollup.config.js | 31 +- src/libarchive.js | 193 +- src/webworker/archive-reader.js | 15 +- src/webworker/wasm-module.js | 6 +- src/webworker/worker.js | 110 +- test/files/archives/unicode.zip | Bin 0 -> 2670 bytes test/files/encryption.html | 6 +- test/files/index.html | 4 +- test/files/test-single.html | 6 +- test/testutils.js | 1 + 17 files changed, 10583 insertions(+), 9714 deletions(-) create mode 100644 dist/libarchive.js create mode 100644 dist/libarchive.wasm delete mode 100644 dist/wasm-gen/libarchive.js delete mode 100644 dist/wasm-gen/libarchive.wasm create mode 100644 test/files/archives/unicode.zip diff --git a/dist/libarchive.js b/dist/libarchive.js new file mode 100644 index 0000000..d2332f3 --- /dev/null +++ b/dist/libarchive.js @@ -0,0 +1,619 @@ +/** + * Represents compressed file before extraction + */ +class CompressedFile { + constructor(name, size, path, archiveRef) { + this._name = name; + this._size = size; + this._path = path; + this._archiveRef = archiveRef; + } + + /** + * file name + */ + get name() { + return this._name; + } + /** + * file size + */ + get size() { + return this._size; + } + + /** + * Extract file from archive + * @returns {Promise} extracted file + */ + extract() { + return this._archiveRef.extractSingleFile(this._path); + } +} + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +const proxyMarker = Symbol("Comlink.proxy"); +const createEndpoint = Symbol("Comlink.endpoint"); +const releaseProxy = Symbol("Comlink.releaseProxy"); +const finalizer = Symbol("Comlink.finalizer"); +const throwMarker = Symbol("Comlink.thrown"); +const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function"; +/** + * Internal transfer handle to handle objects marked to proxy. + */ +const proxyTransferHandler = { + canHandle: (val) => isObject(val) && val[proxyMarker], + serialize(obj) { + const { port1, port2 } = new MessageChannel(); + expose(obj, port1); + return [port2, [port2]]; + }, + deserialize(port) { + port.start(); + return wrap(port); + }, +}; +/** + * Internal transfer handler to handle thrown exceptions. + */ +const throwTransferHandler = { + canHandle: (value) => isObject(value) && throwMarker in value, + serialize({ value }) { + let serialized; + if (value instanceof Error) { + serialized = { + isError: true, + value: { + message: value.message, + name: value.name, + stack: value.stack, + }, + }; + } + else { + serialized = { isError: false, value }; + } + return [serialized, []]; + }, + deserialize(serialized) { + if (serialized.isError) { + throw Object.assign(new Error(serialized.value.message), serialized.value); + } + throw serialized.value; + }, +}; +/** + * Allows customizing the serialization of certain values. + */ +const transferHandlers = new Map([ + ["proxy", proxyTransferHandler], + ["throw", throwTransferHandler], +]); +function isAllowedOrigin(allowedOrigins, origin) { + for (const allowedOrigin of allowedOrigins) { + if (origin === allowedOrigin || allowedOrigin === "*") { + return true; + } + if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) { + return true; + } + } + return false; +} +function expose(obj, ep = globalThis, allowedOrigins = ["*"]) { + ep.addEventListener("message", function callback(ev) { + if (!ev || !ev.data) { + return; + } + if (!isAllowedOrigin(allowedOrigins, ev.origin)) { + console.warn(`Invalid origin '${ev.origin}' for comlink proxy`); + return; + } + const { id, type, path } = Object.assign({ path: [] }, ev.data); + const argumentList = (ev.data.argumentList || []).map(fromWireValue); + let returnValue; + try { + const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj); + const rawValue = path.reduce((obj, prop) => obj[prop], obj); + switch (type) { + case "GET" /* MessageType.GET */: + { + returnValue = rawValue; + } + break; + case "SET" /* MessageType.SET */: + { + parent[path.slice(-1)[0]] = fromWireValue(ev.data.value); + returnValue = true; + } + break; + case "APPLY" /* MessageType.APPLY */: + { + returnValue = rawValue.apply(parent, argumentList); + } + break; + case "CONSTRUCT" /* MessageType.CONSTRUCT */: + { + const value = new rawValue(...argumentList); + returnValue = proxy(value); + } + break; + case "ENDPOINT" /* MessageType.ENDPOINT */: + { + const { port1, port2 } = new MessageChannel(); + expose(obj, port2); + returnValue = transfer(port1, [port1]); + } + break; + case "RELEASE" /* MessageType.RELEASE */: + { + returnValue = undefined; + } + break; + default: + return; + } + } + catch (value) { + returnValue = { value, [throwMarker]: 0 }; + } + Promise.resolve(returnValue) + .catch((value) => { + return { value, [throwMarker]: 0 }; + }) + .then((returnValue) => { + const [wireValue, transferables] = toWireValue(returnValue); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + if (type === "RELEASE" /* MessageType.RELEASE */) { + // detach and deactive after sending release response above. + ep.removeEventListener("message", callback); + closeEndPoint(ep); + if (finalizer in obj && typeof obj[finalizer] === "function") { + obj[finalizer](); + } + } + }) + .catch((error) => { + // Send Serialization Error To Caller + const [wireValue, transferables] = toWireValue({ + value: new TypeError("Unserializable return value"), + [throwMarker]: 0, + }); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + }); + }); + if (ep.start) { + ep.start(); + } +} +function isMessagePort(endpoint) { + return endpoint.constructor.name === "MessagePort"; +} +function closeEndPoint(endpoint) { + if (isMessagePort(endpoint)) + endpoint.close(); +} +function wrap(ep, target) { + return createProxy(ep, [], target); +} +function throwIfProxyReleased(isReleased) { + if (isReleased) { + throw new Error("Proxy has been released and is not useable"); + } +} +function releaseEndpoint(ep) { + return requestResponseMessage(ep, { + type: "RELEASE" /* MessageType.RELEASE */, + }).then(() => { + closeEndPoint(ep); + }); +} +const proxyCounter = new WeakMap(); +const proxyFinalizers = "FinalizationRegistry" in globalThis && + new FinalizationRegistry((ep) => { + const newCount = (proxyCounter.get(ep) || 0) - 1; + proxyCounter.set(ep, newCount); + if (newCount === 0) { + releaseEndpoint(ep); + } + }); +function registerProxy(proxy, ep) { + const newCount = (proxyCounter.get(ep) || 0) + 1; + proxyCounter.set(ep, newCount); + if (proxyFinalizers) { + proxyFinalizers.register(proxy, ep, proxy); + } +} +function unregisterProxy(proxy) { + if (proxyFinalizers) { + proxyFinalizers.unregister(proxy); + } +} +function createProxy(ep, path = [], target = function () { }) { + let isProxyReleased = false; + const proxy = new Proxy(target, { + get(_target, prop) { + throwIfProxyReleased(isProxyReleased); + if (prop === releaseProxy) { + return () => { + unregisterProxy(proxy); + releaseEndpoint(ep); + isProxyReleased = true; + }; + } + if (prop === "then") { + if (path.length === 0) { + return { then: () => proxy }; + } + const r = requestResponseMessage(ep, { + type: "GET" /* MessageType.GET */, + path: path.map((p) => p.toString()), + }).then(fromWireValue); + return r.then.bind(r); + } + return createProxy(ep, [...path, prop]); + }, + set(_target, prop, rawValue) { + throwIfProxyReleased(isProxyReleased); + // FIXME: ES6 Proxy Handler `set` methods are supposed to return a + // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯ + const [value, transferables] = toWireValue(rawValue); + return requestResponseMessage(ep, { + type: "SET" /* MessageType.SET */, + path: [...path, prop].map((p) => p.toString()), + value, + }, transferables).then(fromWireValue); + }, + apply(_target, _thisArg, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const last = path[path.length - 1]; + if (last === createEndpoint) { + return requestResponseMessage(ep, { + type: "ENDPOINT" /* MessageType.ENDPOINT */, + }).then(fromWireValue); + } + // We just pretend that `bind()` didn’t happen. + if (last === "bind") { + return createProxy(ep, path.slice(0, -1)); + } + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "APPLY" /* MessageType.APPLY */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + construct(_target, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "CONSTRUCT" /* MessageType.CONSTRUCT */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + }); + registerProxy(proxy, ep); + return proxy; +} +function myFlat(arr) { + return Array.prototype.concat.apply([], arr); +} +function processArguments(argumentList) { + const processed = argumentList.map(toWireValue); + return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))]; +} +const transferCache = new WeakMap(); +function transfer(obj, transfers) { + transferCache.set(obj, transfers); + return obj; +} +function proxy(obj) { + return Object.assign(obj, { [proxyMarker]: true }); +} +function toWireValue(value) { + for (const [name, handler] of transferHandlers) { + if (handler.canHandle(value)) { + const [serializedValue, transferables] = handler.serialize(value); + return [ + { + type: "HANDLER" /* WireValueType.HANDLER */, + name, + value: serializedValue, + }, + transferables, + ]; + } + } + return [ + { + type: "RAW" /* WireValueType.RAW */, + value, + }, + transferCache.get(value) || [], + ]; +} +function fromWireValue(value) { + switch (value.type) { + case "HANDLER" /* WireValueType.HANDLER */: + return transferHandlers.get(value.name).deserialize(value.value); + case "RAW" /* WireValueType.RAW */: + return value.value; + } +} +function requestResponseMessage(ep, msg, transfers) { + return new Promise((resolve) => { + const id = generateUUID(); + ep.addEventListener("message", function l(ev) { + if (!ev.data || !ev.data.id || ev.data.id !== id) { + return; + } + ep.removeEventListener("message", l); + resolve(ev.data); + }); + if (ep.start) { + ep.start(); + } + ep.postMessage(Object.assign({ id }, msg), transfers); + }); +} +function generateUUID() { + return new Array(4) + .fill(0) + .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)) + .join("-"); +} + +class Archive { + /** + * Initialize libarchivejs + * @param {Object} options + */ + static init(options = {}) { + Archive._options = { + workerUrl: options.workerUrl || new URL("./worker-bundle.js", import.meta.url), + ...options, + }; + return Archive._options; + } + + /** + * Creates new archive instance from browser native File object + * @param {File} file + * @param {object} options + * @returns {Archive} + */ + static open(file, options = null) { + options = options || + Archive._options || + Archive.init(); + const arch = new Archive(file, options); + return arch.open(); + } + + /** + * Create new archive + * @param {File} file + * @param {Object} options + */ + constructor(file, options) { + this._worker = new Worker(options.workerUrl, { + type: "module", + }); + + this._callbacks = []; + this._content = {}; + this._processed = 0; + this._file = file; + } + + async getClient() { + if (!this._client) { + const Client = wrap(this._worker); + let { promise, resolve } = Promise.withResolvers(); + this._client = await new Client(proxy(() => { + resolve(); + })); + await promise; + } + + return this._client; + } + + /** + * Prepares file for reading + * @returns {Promise} archive instance + */ + open() { + return new Promise((resolve, _) => { + this.getClient().then((client) => { + client.open(this._file, proxy(() => { + resolve(this); + })); + }); + }); + } + + /** + * Terminate worker to free up memory + */ + async close() { + this._worker.terminate(); + this._worker = null; + this._client = null; + this._file = null; + } + + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + async hasEncryptedData() { + const client = await this.getClient(); + return await client.hasEncryptedData(); + } + + /** + * set password to be used when reading archive + */ + async usePassword(archivePassword) { + const client = await this.getClient(); + await client.usePassword(archivePassword); + } + + /** + * Returns object containing directory structure and file information + * @returns {Promise} + */ + async getFilesObject() { + if (this._processed > 0) { + return Promise.resolve().then(() => this._content); + } + const client = await this.getClient(); + const files = await client.listFiles(); + + files.forEach( + (entry) => { + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new CompressedFile( + entry.fileName, + entry.size, + entry.path, + this, + ); + } + }, + ); + + this._processed = 1; + return this._cloneContent(this._content); + } + + getFilesArray() { + return this.getFilesObject().then((obj) => { + return this._objectToArray(obj); + }); + } + + async extractSingleFile(target) { + // Prevent extraction if worker already terminated + if (this._worker === null) { + throw new Error("Archive already closed"); + } + + const client = await this.getClient(); + const fileEntry = await client.extractSingleFile(target); + return new File([fileEntry.fileData], fileEntry.fileName, { + type: "application/octet-stream", + }); } + + /** + * Returns object containing directory structure and extracted File objects + * @param {Function} extractCallback + * + */ + async extractFiles(extractCallback) { + if (this._processed > 1) { + return Promise.resolve().then(() => this._content); + } + const client = await this.getClient(); + const files = await client.extractFiles(); + + files.forEach( (entry) => { + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new File([entry.fileData], entry.fileName, { + type: "application/octet-stream", + }); + if (extractCallback !== undefined) { + setTimeout( + extractCallback.bind(null, { + file: target[prop], + path: entry.path, + }), + ); + } + } + }); + + this._processed = 2; + this._worker.terminate(); + return this._cloneContent(this._content); + } + + _cloneContent(obj) { + if (obj instanceof File || obj instanceof CompressedFile || obj === null) + return obj; + const o = {}; + for (const prop of Object.keys(obj)) { + o[prop] = this._cloneContent(obj[prop]); + } + return o; + } + + _objectToArray(obj, path = "") { + const files = []; + for (const key of Object.keys(obj)) { + if ( + obj[key] instanceof File || + obj[key] instanceof CompressedFile || + obj[key] === null + ) { + files.push({ + file: obj[key] || key, + path: path, + }); + } else { + files.push(...this._objectToArray(obj[key], `${path}${key}/`)); + } + } + return files; + } + + _getProp(obj, path) { + const parts = path.split("/"); + if (parts[parts.length - 1] === "") parts.pop(); + let cur = obj, + prev = null; + for (const part of parts) { + cur[part] = cur[part] || {}; + prev = cur; + cur = cur[part]; + } + return [prev, parts[parts.length - 1]]; + } + + _postMessage(msg, callback) { + this._worker.postMessage(msg); + return new Promise((resolve, reject) => { + this._callbacks.push( + this._msgHandler.bind(this, callback, resolve, reject), + ); + }); + } + + _msgHandler(callback, resolve, reject, msg) { + if (msg.type === "BUSY") { + reject("worker is busy"); + } else if (msg.type === "ERROR") { + reject(msg.error); + } else { + return callback(resolve, reject, msg); + } + } + + _workerMsg({ data: msg }) { + const callback = this._callbacks[this._callbacks.length - 1]; + const next = callback(msg); + if (!next) { + this._callbacks.pop(); + } + } +} + +export { Archive }; diff --git a/dist/libarchive.wasm b/dist/libarchive.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e5b0cfb0e1d758d5aaa73383a5213346a7dfc298 GIT binary patch literal 718999 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�K(@uK6q(u+f{ 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

R!5w*Z6{vkKih*Q*y1wj{s0*rN`;5k!~ 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

kpo!#)bw^GQBboe4f$-3g zGs8$UdJ3FP&%rQ~C@ z6p^3sdjA^4^$EoFv|)$w1LPM9gl2WRZe%ET!nFmgHQdK`41ZZO!2jy1|; zY4=c^E0d+uKiE#e@u8#>WIkrF9vNcEA{J1m@*BZSpZe9&-uM%Fbn;dQxRhfU1H4yV z>9$q~ei3i52*|0ZZ=t6r4OMnP@1f#ryqcL4?#rI`K-A&d2H}s`&Y)nu%_M>pkD;-a zm0(#5PeEPpson`l9Q8It@eXYv@eO?)jqRDEv=c}8r87&F@xVIJQ`-PNJ0-CQf&()V z`~XXJ-qG_MIr{RN*(nVmvy-N&lE5@j@Q!7bAF(i7>~-m4jkCZ3yF?K`6=Za^r**hN z#8qF!7ji+)dUi50*Tv}uM=#MQG>j;y*hDe0Fhff+pE*Q&zVm8DYQU#yyEswu@XLr$ zn=zG_QPiBc>s0mWL9gxPQ}tARNH(K2OC{T>u!|+5K=evQ9vsU<&9nhcoTEj-YxP0i zt2|;kh$6fDQ&W?ZlbH{LjYC`y$`~C~ANkSPSUeJV$6NMrhfkS~cXi6!tG5$4MIe1E zAXDIP5~!ns=w^q3pCfRBz@TqRd4D?pQ8Z|>e}F)mtq6smO>Ts{H!$DSRiflG8mAu1 zoma{rNbj6Ma`?&o4zYKQ*R_v5`Q)BE4wtV>(F%L=+&d0WzwXXfhPAIa)!=n^-pS!X z^i0Zr8~uTMli`Yl$*elF$okV9X1WwOgsi})+b#h2L~l+7P+TI`??q-t9~nI#U!iRyxuG)oz& z`qFv1_pa*3!zMpza;6Cl;t;NzK}^OFffiaMXZa|V4sCPT1N#!ldL(93QQFr zqyoh~P=cju5GPhnUZrO*hD9b+gNCZ1MW(}=fN>%(Rbbf}bz=P~DAAg=LWpm5X|^7{ zmPjp*g=WQn6TKN@6`w*TClRwTM)t(Wj5>iWgV8o4vtVQ|7}>2#cz8k#6(h+aMsf>Z zufLZM3r1f2wH7V)`#&RTt{%RBk48vek9x2EC35aHjlNDpr7?{w_g}2DS=tr_FALLdBoti)Mz8y31vunA0_wy!cptcKu

xS>H2aO@|#`J}Y)6m8L_ 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 hx4CG_WA3|fnSiSt&& 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

0y{LQo`=j7-0(eRU9=fDyINJ!HRE@qQ(UV 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%0D8#+88Lt~IVRZZd8$ZU+Q+mvOgo zuW_I8pz)CLuG$=@^*kl)d!F{ZJm zai;O638smF0Z#@fc$#TCfWR{W1)go11DNo9(?Zi?lhg#6mQ?4l=aN|N#5n#t9rczUxslrrgT4GviT4q{q zT47pgT4h=X2=YdNkT;vQn6{d>nYNpDn0A_Wnf93W0*bufbij1bbl7ynbQIv^6Q+{@ zD4zyc`GV=9>5}QP>5A#P>89zH>9*;P>8|OX>AvZK>7nV7>9OgF>8a@%Ak0-J!BlN} zVR~tLWqNITV|r_PXL@h?VESnKWcmzn^H%_$zngvl===*H=Rf~3=i25v=DOy3=KAJ_ z06ez^+_|&4o4Gq6&%MmO&3(=N%>B&+%!ABB%)`vX%_9JS9&H|D9%mkJo?xD6o@Ab3 zo@JhGo?~8MmYN~6$_$&;W{nv&>&zHH(gr}JO=hzhH(LRf=FGe~(Cjt`n?uZD=5TX_ zIR@bAICFwI(VS#XHm8}>%^7B|In$g45OuM+%v=s~>*eNE=GEr4=5^+c=1u0!<}K!J z=I!Pk=3VC9<~`;!diGsfF;o4wuD$hEgnmRCDIaQi2><+yd}YsXi2kV zSh6j-mOM+orO;ArDY2AV$}HuU3P8b^T2@$A0UW;BvemK;!0=s`y&$(gXgLgM_)*I- z%W=y|%W2CQ%Q?$=%LU6-%XP~Q%T3E|%N@&I%RS3|%LB_p%VWzkOO-{ih?Z*03(ITE z8_PS(d&>vQN6Tl+KbCKnA0UqVW%+ISYpILZ1Hil?-Ux4uH^H0ZE%4TO8@xT<0q=-+ z!aL(#@a}j|+!ybS`{8}?egL2kzz5+&@nQIId<5=~kHkj`1t@$TUWgar zC3q=bhL_`&_!4|6z6@Uui2N#iHNFO4hp)#s<6H4<_;!2;z6;-r@5c|~hw#JrQT#Z5 z0zU=#{2BZ#ehxp6U%)TpSMlrk4g4m43%?6^{eAoa{t$nR|BLFM;{pKoFYuT6EBrP7 z27imc1IYdZVE3Q!&j8y0gMY=p;otEe0Nnq=f8&4fzjzH^+git3*IEzI`v%sA)<)JQ z)~42G*5=k0)|S>**4Eax)^^tR)(+N=*3Q;0)~*2QcenPi_O$l0`dEDd*7vjawf3|2 zw+^rlv<|iou@1M6u=-m^0=_@NI>|cOI?X!WI>S2CI?Fo8I@h|ux)4x)i50TStqQBs zss^kdwd$pP-~bq-0HDLSR<`b)@W__RuQk(}W6iUI3tiSCYl*eoT47ycU1nWwU1eQkU1!~3-DKTr z-Dcfx-C^Bn-38)-J=T5J{nkU)!`36#W7gBwGuE@#bJmO2E7q&l>((3Ao7OuZDYys1 zf(O=z)<@RIATD@rt+KwdzP5g{eztzG{$u@a{bBuO{cZhY{cEkU*0$BN)weaYHL^9f zHMKRjwX(IgwXt=ub+mP|b+L5?AwmzEkImQC+vaEMYa3u2Xd7f3Y#VADZu7T|w2ifm zvyHb+uuZg02HC+h+YAsb%(l(3&9%(~@xlVzVw=PU*BxZAOqWSZr31 zG=SjS=CrwNl#R3Twg8*k7Gevvh1)!~2wRjb+7<(1hXh+92p&>w;3AbR1B4Hmwk%tY zE!UQ3%Lf5Ov8}{bYAdr<*eY#HY)fs+Y|CvcY%6W6Y-?@nZ0l_sY#VKxZCh+xZQE?y zZ98qdY`Z}wvCp<21QQ2shiykdKyl1=9K;hRZKrIfZD&ACan5$$cENVhcFA_xcExtp zcFlI(cEffP#1*$~cR*nA$o3dS7Ef)@Y|m{~Ho;bHdtrNJdu@ATduw}VdvE&)!i%rA z@3x<|U*JecZF?PiU3)!yeR~6YLwhrO3wuj@YkM1eTM%Y+vUj$3v3CQ3MlZXM-PhjR z?q}}~_1;?y}Q%&K_tFvWM71?P2zCdxSmO9&3*Sc}Jo>*`5k=j|{ul zo@vjv=h$=YdG-Q(vAxt@XVS!>^5-(=rv-v&~Uz4m?f{q_U)gZ4xA!}cTg zWA>9E1UYR#V?S#@XFqShV7~~`kel{f_S^RR_Q&?8_U9lQ5kV^Q!v4zs+Wr>ABcH&r zr?2*J_V4x|_Mi4&_TTou_S%j*j=GL|js}kAj#iE~j&_drj!urwjxLU_j&6<~j-HNQ z4qr!aho7U5qpzc%qdy2u20Mm0hB}5hhC4=p!!Dy8V;mD46CG0>a~%sojv{r)9k4^~ zKtPa!IvN2bMTG;huaYXO8+oNxWnU!0AWg$Bia$`h<7A8 zk{v0IR7aX4-I3w&I-pgz3d0aEe<*kISxCHI*x-QdM6#H9H$*;9OoPt9G4uI z9akJz9oInwbIWntao2I*@xbxW@d%v5cVkl#0nw0XL^LLv5Y32|L~Eig(T-?ObRaqsorumL zr|C*`Bf1kkKvd%k(waUX!s$o!CkBAjW)Lx$7)lHyMiBnQNMbZGh8RnXBPI|NiAls1 zVj3}>m`ThcW)pLWxx_qTKCysUNGu{26B0s7K!l8t6AD5_zyt!a94&}-3?R)h6F6Zd z?1Y0LK%nCyD1sqaf+qq%zT+l>h%h3Yh#(?~C=l?(5eY;pkw&BwULupoBC?4bB9|y2 z3W;K(geWH}h)R&~EG3o^%ZU}lN@5kUmRLt@0MXB8Vhf0Wwi7#vUBn(@FR_m}KpX@K z&|%^TaSY@?Cy0~8DdIG7hB!-{CoU3~iL1ml5DDERZV|UZ+b;!D8 zJ+eO8fNV%MA{&!UK|Iu)Y(cgpTam3nQq-1gN46(Bke$gcAU*0vb|-s~y+~gW8u^iZ z$i8GhasWAq983-&hmylde{v)_3ZzG4L2xvloIp+_Cy`UhY2q!FY`77_>XlAUyr1WA%k(nV4vO)?}4 z@}>YXkaUwlWH88_!pLwkf{X+QE@Q}8GLB3j6UihpnM@&5$uu$@WKWr74w*~lk@;i+ zSwt3-C1fdCMwXKmWF@)uzaVM_xsqH(t|r%j2x=p_iQG(XA-9s-KpeG$+)3^tcY{!B zFS(E0PaYr-l84B{V){wQFwVidGb)EH`^_>lz4V{ggjh#)LO`Xl0 z&7CcrEuF2Lt(|S0ZJq6$?Lo-Z(b>t_+1bU})!EJ2-Pyz0)7i(_*V*4Wz&X%4$T`?K z#5vSC%sJdS!a348$~oFO24r6oos+;($f?e0&gsq>&RNdc&UwxS&V|m!PKi?rGBBA_ z4o-V2ohm2nR67wT3ZgKb6Lac88fFA>n8QgpolcjNa?(!5$vQbF?+kDTI^E77XRs4o zEOkaW!Tm;%k0m&ho#{@mGt-&n%y#C1jI0pEWW~-hXE_MUDxFK5%bd$WShmu+%DLLP z#<>;*W*eLvotr>rwgqHn+nl?cdz^cn`<(khZg$Xl$a%zh+<5|oXQ!QKoM)ZqoEMyz zoL8Jzop+q~oDZB2osU3{_Qd(j`P^CM6r7^7+WEry5(H{*o$s6RTI5;`&dNw#GMC(?aKSFbrE#Gk zg0r}+E}P5la=KhD%0;^v7Y9N(w=38c;tF$xyF9KaSF|hMmE=lwrMWU(URO5ApK3rgq8d|8 zsOD5lsuk6mYD=}F+EX2Pz*f22g{kA=EHxI5mnILyZNA z-UMnYHI14<&7$U0iztXvQ81;Z5K2p7lz}o)W{~Y!DLdt$oRo{AD3;0JW95Iz}C*&QNEmbJRuZ5_Orn0%E}H)C~{<-lpzR_o)Ze zW9k|8oD!&N5DLBodEi^>J@tY5M17(Dp}tbzK{)t_`b*VNwdmS(9l9=Ek8VIWq#MzV z>85l`x((fyZcldtF=1D_8{GpWguZlNx*y%29!L+Shtk985%frUG(CnMOOK}~(v#@P z^b~q3J&m4D&!A`1bLhGBJbFI8fL=&1qNOxM%V;^RqSds9Mrj?5(R$iQgL^u(g~sWB zZ}!+}2Tjl4~p;?*(8Djt)NV`G87)*!Ip>!A>PJ8GGI+~6F31d8+L?_d!bQ+yb zXV6|co6ezg={!20E}#qPV!DJb1&2T@=q2=0dO5vW* z=(qGc`aS)D{z!kKKhyuvU+Hfkm;6cpqJPtWKsH%J*J5fjb(wlheWoGPh-tz!WtuU~ znHEed5LdQgIxroXPE2Q}3)7Y9#&lW z(Zm=7V`NN>g~1tct%`9l1Vb`T#svaSmf@HH#?1sV!AvL<&O|VgOcY2vV?fjy$0RU` zOcImIq%oOH7RWnum|P~0$!7|{IpiXym?>dOnR2FrsbrQg%Ru(If?3I|V%9KgLHN0z z*}!aMHZhx-EzDMC8?%Gi$?RtKF#DMO%mL;gbBH<29A%C(Czz8U6g|zHVa_qoyE>(=dg3xdF*_40lSc0 z%t}}Yq^@#S!75o53$tn#VKpquYFQnNu?E)2npiVPVR6>V+E_d5ULe zgV|6vj16Za*cdjJjbr24L^g>{X4BYoHiOM%v)F7lmn~$A*b=sstzawJCG1jm8M~Za z!LDRiv8&lN>{@mmyM^7x?qGMayV!l~A@(qPf<4KeVo$SYL2`S6y~ti-FSA$JtL!!Q zI(vh?$=+gbv-j8sAjf^gK4G7-&)Dazz`kPNu^&LN`-%O`eqsM%zp~%ipX@L8H~W{Z zVQX=Uj z$Mxa*as9ag+(2#+H<%m34dwi~k=!V5G&hzT$BpMEa1*&n++=PFHlP3LBCGr3vZ z9BwW*kDJde$c9hd{7-!&&oCzev7LXGY9LYIBNKA1I z$8sDO$ho;7E|?4D!Z{BY$whIXhvQ0Acq<+3<%J($Y{`EdbP z$dz!VTp3r+Rd7qWW!!RZ1-Fu0#jWPna_hMD+(vE_x0&0*ZRNIcJGfokZf*~^kK4~3 z;0}Ul`7n2cJIWp7PH-o=Q`~9p42YP|ap$=U+(qs(cZItOvgYgDEs!|h;qG$xxcl4# z?jiSxd(1uMo^j8)Do*5Ha4)%6+-s0MzvbR@AGnX)C+;)%1tid4xo_Ne?k7m4e{+Ah zzaWRM#nB^20z@J(3^APXKB46p&U==V$OU`C0sI z5LwUX7l6=O!b^FGm+=Z-$*XuZ2(M9I$Lo0`Z{cy?$~$K13;D?#0T>s zd^qpnBS4@X$0zWKAkqeRart!K%V+V~d@i5I=YwdwkT2qk`4YaAFXPMk3VsQ{6olN% z`4#+1eiaD1*YIokb^LmM6TcOt-P`${{62m^e}F&8AL0-5NBEN<_CC#@<QdF^sw-7jtFBdDuewonv+7pW z?W#LfcdPDI-LHC3^|0zu)#IusRZpv)RXwk&suHTis_Lp2RWGYvRlTlyQ}wp$UDf-l z4^1#Ul>ihrvC-d)LGXMWSWI7D*IQ-v#Wd7$5nK8cq z{^!!#x8;9dyfpG13qEdH>D$M*7x>Pl*msccQ1GG4BHwxcedc2HrF|J++}8?zn;Gr< z|NU>KUd@VHPimgl4DYqNRtKL3eg9WK%}ng||Nb%4SLi477X}Ceg+an#VTdqP7$yuC zMhO1GNMV#PS{NgY6~+nUg$cq$VUjRem?BISrU}!98Ny6qmM~kGBg_@%3G;;o!a`w@ zuvm}?QUMZVf?QAtNUN8to!6cXki+~GO!6w)Rhd>CV;1pZ} zCC~yRumUIWLVyq`xP>4gSO^h9g)kvp@CXq?q!1-U3o$~h5GTY72?FcG`S3mgK7l@N zpCF%LpAer=A6vD(+EGnZlhw}ZWWN-@RKGO8biWKguV1ELmS47Cj$f`{o?pISfnT9t zkzcW2iC?K-pr6|>$S>G0#4pq@%rD%};}_u<=@;b}?HA)0>lf!2@0Z}0=$GVY^fURH z{VaaCpViOiXZLgX5q=wbQPsWtef)j>d;9zO_wn!R-_O6l{{VlwnyEJWn0(AW79ZTl z>SOZ(7u9_TAJWI^!&Y=pJ2`-KC-LE(^aSU4ga6^;qVg%iR_;goP%I3t`D&I#v*3&KU=l5knLB3u=& z3D<=i!cF0pa9g+|+!gK#_k{<-L*bF|Sa>2l6`l#tg(^W1YS+{OzZwZO^})|Z4Qu}W zGpR{U)0$>A&B0GhEo=T)-w6HtJ5#rs?%=Pao;AH{{&#*8npiWbW^&CG@T1eTn*W_I zg|sy~@SoH38d0bgUI;IRSHf%Ijqp}@C%hLv2p@${!e`-&@Q?6S_$GW8eh5E>U&3$U zkMLKh5o(FG#X4eLv7T68Y#=ri8;Om@CSp^unb=%xA+{7-iLJ#pVq3AD*k0@)b`(2_ zoy9IXNj}L|1-Ws;;RFy1FPNDLDj+4A=RPP zVb$T)p6WT`TydT_UtAzA6c>q$MTsaCAyFpEMTMvoRU#~^Meu)!h>BWKCt{*rG>Asg zB$`Ewh>KRyCfY@ZNQk896kQ@E(jp_WA}8`7$ruF zF=DJ3C&r5jVxpKNCW|Rzs+cCGiy5L<%oMZ4Y%xd774yV=u|O;oi^O8FL@X7{#B#Ah ztQ41sOT}g4a&d*YQv5&ZgQtk<$m*!-=<1m2*y_0I|BJM{;BI2!0yRu=cXtaeE$;4; zG*b7Z22FJ)R<=|HCd}rN1aM%48d+ojU`*7M??>g^# z?*{Ki?6sW-tFEU-ksjRy}P`-y?eZSz5BfXc=vk`cn^9Hc@KM!c#nFI zd5?Qfcu#syc~5)Kc+YyzdCz+gZE$WNAD-^XYUv9 zSMN9Pckd7HPwy}9Z*QgdkGG2EqgB!@|oI%{3Du39&(yJpaOXg#%FT5qk7)>rGN_16Yy12tdGPaC8S z)`n<9wPD(DZG<*b8>Nlb#%N=;aoTuof;Lf`q)pbQXj8Rm+H`G(HdC9W&DQ2bw5{6zKj*bg`%Bxd?a+2=e`~w6-P#^)ueMM7N87KRt9rib z-Kxzxx6qZpp`B}VsneyXOL3QyE~Q;sbnVo&TUSfh|LJ{)yZRf<28+RJuo(gjfrcPM zutBdI8o~_Wh6qEXLAQGhF$TNAVTd)v8R88I2EFiQm~TijI1R~$6ho>Z&5&-$FaQSD z;5K*+oPjq82GJlHWJ9JQ%aCozF)T3T8WtG}428P)chFE_cw%^JcxI^6qp)jJ-wwVV zeGg~{wL{ur?TB_%JEk4iPG~2!Q<{&DTIG_DQl**Ciz@AWo>%GX^QOubpVw99`h2W% z&F5cz@%y974WI8-Zu#8tx##o1=U0`NRm@dSYg2q?_Xf^z5`qlEQ z?N`UIu3tUB`hE@k8u~TzYwXv=uc==%zvg}|{95|8@@wta#;>hkJHPgR9sD}_b@J=% z*Tt`^UpK$*eg?lDem(tq`Std@s9n-7Yge?Z+BNOEc0;?V-O_GrceK0OJ?*~sKzpb? z(jIGyrfOY$yZUzX?e1&v?cv+gx0i2k-&KPa49*?AWbo3#<%3rYJ~8;x;H!hL4Zb

UTUhS9f|1`({363@YGaP4D&Z?YUIj3@NrLodf>0fEC zv{c$E11bY6gDOKRLo357!z&{yBP*jSqbqg&qta0sTNzgwUzu1ruX286Qsp?`_X9r+ z{CD8Tfu9C`9{6S8*MZ*#ejoT_;Lm}zd_QTQwJ+LN?VI*p`=R~Rerdn8O6`wU<#`ny zgsZBPaMcYp3^fh447Ck)40R3lbU3bop`i}NH8wOcG}XDd=7tuAmO2^N+R(<(R>$Mo z8#)*|8anB4To*%ELpL3lGZ=apdg_Q=Z$lp)mFs8dZy2DXa=r#X!yuiR8)6u07^VYr zBMc)AqjYj^jA5){oX*WnFibQ|GE6p1F-$c~GfX$kFw8W}GR!vkJg@q^+VkqqYdo*{ zyw>yD&+9y|`@G)s`p+9YZ}_~?^9LCZGal=attS~zGoEF5GqjAC8Lu)vXME9H`gcMnGer3D6X14zvc^0BwOzKxd#E&>iRj^aOeV z{q;PTFE9ug3=9Q^0i%G?z!+dGFaekdOadkYQ-Gp+FcA4nzQvKok%I*Z~I+3&a8OK!Tq6ny1IUl7JK-4M+#7C_YM6rJ7P* zsiD+VYALmqI!axoo>E_Fpfpq(DUFpTN>ino(p+hwv{YItt(7)PTcw@SUg@B8R5~f0 zl`cwGrJK@SF(^Hho=PvJx6()HtMpU)D+82)im&3Q3{nOwLzJP)FlD$hLK&%yQbsFd zl(EVC7(f6NzyKT|01}`924Dd<-~o6*03;w2$OdwNTp$lv2rL2$ zfI^@cC;>`=GGGa?6etIl11o@4z-nL(uohSctOqs%n}IFBcHnPd7qA=H3+w|900)6X zz+vDha2z-RoCHn*r-Adp1wD~=4Y&^60B!=efZM+0XzYo0$$)b z@Dg|hyw)>n?|}Ef2jC;{3HS_r0lor}N|X|<#3**fp~Nb2O1zSwBr5Zi`AU-FRFahx zB~?jN(v=JaP(a0{KnkoN3aVfVt`G{TPztRu3ahvkkHRUuA}FFFDYBBOWGUH7j zRq~X4WudZ2DNqWPBBfXN##;5+aG_zC<1e(U_!AD{~816BpA zgSEigU_G!t*Z^z@HUXQ0&A{eh3$P{F3TzFw0o#Kez>Z)iurt^N>;`rRdxE{ezF>cF zAm|4U0*8Ymz>#`hZZtR+9H%GdCV-Q`$>0=lDmV?C4$c5)g0sNc;2dx+Xar55KWGLm zpcT{`_h2v>0Y-x{pj}VV#e#8QJeU9`>S?<9U=rvAQ}lFQI+y_hAPBlZ1Vlj$JfIv@ z4k?F~Bg#?bm~vb>p`27sDW{b)%30-{a$dQhTvRS8mz68ZRppv;UAdv$RBkD^l{?B^ z<(_h1d7wO09x0C%MNyRs<%#lCd8T+3O?j@oP+lspl-J4|<*o8gd9Qp>{#8CIpOnwa z7v-z+P5G|;P<|@El;29F@<*wn`lwaaYHD@0hFVjtrPfyKsCCtPYJIhV+E8tzHddRc zP1R;7TgGK0yl$Oz^&jm@Go#XxC7h?{tfN|cY}Mtz2H7@ zKX?E<2p$3tgGa!l;4$zxcmg~Lo&ryUXTY<1;_p0o0lWxa(o=s|z^mYOJ@|JMyanC{ z?|^r~d*FTWA@~?n!Do5^@VTA36a)b?rzwWHce?W}fDyQP&T(I$NEi&Q*=7N%dFFsztS`HZ?#ERD;xDHAD?n!_;s! zLXA|T)MzzEwW|&_R*h5R)dV$Bou|%MlT@dgtfr``YMPp^W~hJ)sxB2$Vf7>USq~Y0 z2Y-M+!C&BSuoA4|@^MxDFKbxSRm)Y|RmWA=RqwyVVPjWQS93jc*wWR?)y~yHj~#Y) zb#Zldb#rysvxhxheOv=vLtMjLBlQ5{Sl4*hMAszOWIcsA%{ARM(>2RA*X8dryDToN zE5H@#3UURzB3zNKD4o=ZaoJst|00QrdMq)?<I!wGx=LNGu2I*j>(uq?26dylN!_e& zQManw)W6j2>JD|M`nS4E-L39X_p1BUf7Jcz0rjAINIk3`QID#})Z^+2^`v@AJ*}Qm z&#LFt^XdilqIyZatX@&Cs@K%(>J9a#D(MNxOjoumN2iqXT#Hx9IyXrmlzWP9Ys6J93tBR_s73vf9srpRys+#&-eWAWoU#YLvH|ksUo%&w=p#H0V zR6nVo)i3H-^_%)#{h|I;f2qIKO7)LgrNXD8YDKk*>J>FAYF5;$s9jN~qHaaKiux4| zDjHTas%Tu%q@rm>vx?>wEh<`8w5n)b(WatpMZ1dj6&)%%R&=W9T+yYXYelz;?iGfL z9u+++dR6qU=u^?RqF+V-iUAb^D|{>bDh5>yu9&KaGNJWkWeoE|do?gbJWSs2D2Ilbeg7CD2l+99jk~hgLuUN zzJgvuZ=m%#TnhHxXeG28@h3O9qB!!6*J za4WdAo+@n*chIw?UEpqdzSIEsg!{mK;ePM{*cbML2f>5kA@E3eG&~j_2aks*!BgO= z@HBV^JQJP;&xYr~b73QFf-SHWw!r~#ARGh-!y#}u%<me;w#nP_1PJ} z;9KsPywS^UB(=$JjuTPqkXzhX{$|qMq+3Zokz(X`*PFtKxVlj%qn70!4L-)wd0|Cc ziudKVr2FMev>!Izu|`_g=WfW|q!Tu^66Z&iu!+*GC0Q|jEq$Q>K|R+}pQjuOn-S~M zIfxSpZH#A8qI73k1RM!R!O?ImoB+>*=flZx3Y-e3!Rc@Y48S1lf*}}&5g3DUn1ET> z4SQe#7GVjN;Y>a8nhWQ_i{Jvd5H5m?;S#tME`t}tOW>t?_;m%m3SJGbh1bKI;4Sc0 zcpJPO-U0uu=V151d-WvjKY9}O5PSqa3Lk@y!zbXA@G1B-dvhi||);al(>_^zIgeF#5-AHxc)!cXCoE+}$8pm?^#KDX~GsBnf_k6RkW9xEuo z2b%OyzPqI!$?TqT&IyzSIKr(zY;lqj)WBFRGET>Pp69iU_Qtjcj!OOsbM0MooN(_2 zr}O7UJ@9nl8PGlD+qrZp=F)2e@eiztHl1}m?>tJw#x2I|68!m*tlqQ zN&WbifERuazl7hx@8J*dzwjscGyE0)4*!6E>RH@sNOhzJQWL3#)JEze^^k^0Bcw6X z3~7P1LE0f5k4o$``XU36fruY62pNnFMTQ|`k@3hxWD+tNnSxA1W*{?> zS;%Z;E@DE=h!wFR!AJ-aii9EINF)-4L?bbX9dRJBNE{N6Bp`{%JRPS^L(-891ki)L zE(Agl1Vu0eM@WQ1XoNvn#Ep26Q9&KTM?}(vwEuF(ZHhcTd;?L)B_VR)b34;Pt zQY#{c+7_n8=cd|M$F6eVQBvxsyeI5mxvj$!<3B{n&KX5)j#J8yeUDxW3Yp*7KEoDl ztcSgb=2Guv(e{pcS!GYrYPL@Oz zgjx~H!w%Y=`Jk)*g3g#v42qvNexrD}iSZ5F!SchLK7YMcTu{C6a?#P0*rL#R9K!3V zVF}4ZvXERP4_Sy5AcaT~Qi?1^%8}*BN@O*%7FmyM&?Cf~kj=;zWUC${-i7Q&_8@za ze~|rpj`$#Q7&(F*LyjXS^hoh(=$Rp%2 zq97_#fjmK;BF_-79x{G`yhL6hZ;-dhJLEm`0r`l0M!q25knhM()+<*JdE$5&L1Sa*bvBK3mjnzlZgmx7cAfZq zSJ=)n(w3P9Il33>sAc^4d18L8fRD-BsIJmr`+I7atC!~}a-pa^cSg)t@M2bM(kP36 zPM4(lOgi@=u%`8rv7Pa%xtPexuSFa;(F;_336>DsJYutdP1Xn6N4!o}Xmdhv*tf9r z$X1;d*y!l%Xj9lf_E4@3?+sb)JwvA1(4Xl)+&FB_ApS=zJ3*CtQ}p}WyN=w9>ydKf*1 zoJ@KcSz|FX&hFJNg6tg;t_}P#>&1Rs*Yr)yC>zb+P(bBdjsj1Z#>l!&+c1|BH3E z!`fp$#&^(Lt6Tt;G+frduqn>vx_5zLu1k@jByY*3e)So|6-vFrl!FSsU3UWnsuW>Dtki|he77R`Jku%gi(eggJMR29?JbY^T z3DeS&eOZQ3D4Mepc9R|zrAy~U*Js9?2Q$sXU8R1>*~Si7C#(zB73+=}upU@XtQXcB z>x1>h`eFUC0oXvy7xTjgVMDN?*f4AaHVPYuO~58%lk_b46l^Ls9h;%Y$!B4+u{qdW z%!rvVf6RheF&h?u1!BQi2o{QkVc}Q=7Kue+(f?)49at&~x)7ZyyURI@kjqV+~@HBaxHZ5hd>_notXcDnb) zZDhvV2NkUk`C~ks^$#^J?q5%2aZJFYk~K^p>+h`2wttvqk$asZb2hs}^LyLcIcr+> zP*Fi`(%Ua#;{$u`&Tw61yE%pK^1Su;bPn!`*z zY<)xExYdj+4AR+@yxgggot!=JMmpKmAYm1@8e69)+&5yIu&vlOJ>u zJ^X$fyQ7ES?_&@CZ~Xl!reV*q7uZYe74{l?tB2q}VEYyg#0jyfHZ! z-7d9?>gy`A^SSR#5AxT=4P?#il1P6R%t^Hf^6Z=jA-w+`WBa0E87SK+=R(-3tSLoe zNLxD31_d?@e3msb&ONWR;1(pOWJI=hO-s0%@CRGUKslXaPNDWVM~-A}Ygt(^f?mw* zpo+r>rbH*)#j~J0Wx0Ac_9oFW*1vE(HcLmd<|O&V*0zr=|HzcOGA#3o!?-btPX(W% zf}+<2eT>y@cd3zyk8@fupW@3R_t67!UwjZgM33MP!-wM|@zMBLd^|n@pNLPwC*xD_ zY4{9$7Csj@;#NEW55hz6a6A%^!eej;9;-+4B0dkFk0Ij z9K#8m#A%$x-M9zmZ~+%_377FqJ)xhCFVG|U`Fcu!5niOn^-J}z{$jjbkL)kUSK+Ji zHTYJ18~zu*1K)}7!gu3)@O}6{_CS~7F* zrCdy`QTQhBci@tQ@6zeqGq#iX8T>4MPGIARj9w`^V*oZQ2?#<(*~ zEOX?qkJ*;@qPVYZSMs&6-{#DK0QxD-%~l+##_EgzLLKJaS! zO_vmLi0dVJ0kuRp%K3bd(`T z=NUqXP$G;7CnAVQooa|CVhB6o(8-24BA!Sf5{Y@ld?HE58B9%xZ(uoWma)1b! zKnRq;2#TNyhF}S|jyrG!PY8raNJJ))MPw5>!~!Ch$RidJ1w;{1N|X_ciRC){u!>kq ztke024a6p5v(7cWzTMrzAAZb7#?Zy%!xTs z{sRdTdlDk_-uxwcPWt5dIgxXt8)m1a860x%!6F76TciHABEtLn_f6XGfH zjPMc~@q&0sydqu`Z-}?Vd*XwRUwqX0i_bcM@s;?lBN)Gk-$W(xhp0mO=p05hvN~CV ztVz})Ym;@zdSrdF0ojmjL^dXykWI;EWOJR%Xi2srTa#_bwq!e<&*(sQBs-B^$ZlkJ z(m?hgdy&1#K4d?#zYc2nl72d>F_;{pvl_$5Y$mSsd+w3cHCbKCUx&P)>d=1@-e_a;iLhf~E3*E| zs))M~HMM9_h(>Ls>ICjd7#RYXc84vugnBYd#^nrh9V(daKL-11+?_y`9StRtu0o+f zEyG9Qp9+oXgn0v#=0-xQ(>*;$5??25M_}ZMJ;uS{Z%p$om(Bj3`}4qspL6_jj>-cH zx8Prl!^sikNOBZ8njAxpCCBMd$OLjCIfWoM@89_#pQDih3L)vv*B$kXLmNrh|Q`RN_i2UsTAf#sawB#tK;L73>69YqbWOcTt z=g%#g$v2(ngZ4=O!mKu)%bT9emDLJ85LhGjeZebujj1iGW?Yl8(joLCinfHrx$@~; zPwp#g5%$Kh#vwr8&>(48Q6Kvzi`#8WOiO?rN$?xYC;2+{M7|Qz)P9y<a5FSQqftL3i64LygVblq((j`Uyv`!S2_UvhI~uDBj1xBbo%8Z`HB2Y zej&e--^lOe4{~hy4$Cx;-Q3U<21D_Cmuxnki#|l`Bra2h#`vt%c&Q|$*c0rG3oqoN z&bk8i$onJghgmA|80v>1F>I`MB=?^c@BVhBxoQ?|y7Je{2vue?s(-JKHj>+YnLVNfR zhhb|4#mDxIlkFvr=Ke!7&dNK@N3tGL(}ON}))g!^x3m2W|4IHLf0LEuAF>MNLsg}! zQPrs$R86WDRhz0q)urlD^{EC_L#h$gm}){brJ7OAsTNdAsuk6mYD2Z9+EMMP4pc{~ z6V;jOq60YHsP2@3>Ou9SdQrWpK2%?-AJv~4KnJL}NNN-{ zh8jzaqsCJcs7X4RGliO}6FM`fnba(5HZ_NuOBpE>E*=@Wd%Vhn14)Pwg#!Z8XFW-qp{ zG!~{+W4_v-rbQRSLHFJ75ad><+m`UgwhZ&S;rvCBPo)tdTZ0-pp69${f`VXtgXvY&!LV^j zU9A52v5aYnf8b&8*SKBgT;mPsaQGU`#Ti2;E@u2AsVFL%ilOY3gNmi%bUG-3O4Na% z`BW0+q>`x=DwRs3(y0szpg_t+K@?0OIwFMWfDl2E6h+Y#L$Q>H;wYXHDDgi`D3i+4 zL7^NS63W$4p?sYdTBO55g*q)%OqEcjRGH2TEv3q-t<>Mte(C^qi+W1EroK~k>Be+N zdN@6j9!-y-$I|2I@$>|GB0ZU&Mo*__&@<^-^lW+#J(o7pCfY(so5kS7OXmkYG_}WEVqKreW?U-&fPc%_k2XuK2^teFb29-TFPa|8a z#IZ)%y4^Ak5v;u}l7E&CAqUbSbQm2@N6?Wvs^p+!={P!Ghn13OC!I{E(rGk6yJ(1p zX@tgToF-_JrfEiJmpn8_^E$pH>iCjOXVE!yE}ci`(+lZE`dYDwE~ZQ9QhG7HgkDas z)Jdi_^jdm7y@B3HZ=yHTTXdXhJH37B|`UriDK2D#YPtm98GxS;d zJbjVAOkbg|(%0zg^ey@}eV4vR-=`nY59vpA1^tAsaGl2%5^J2hixyiv;0xOela1No zd6b)0cs8YOvUrGbf8L`d=acW7C+2jp zU9#^0K6t(qam$Vu3^SF{7tH#ZvuI1WP~x>dHU5wL{(D{$l3N<$YHjHbO-%lnkZdkp zHk&E6jlmCNPic*QPQRpI(XZ(@^gH@r`V;+`{z8AHzv)2L5BfJ7L{isgNonfOv<6lBX!j&AZl9C06SRL!uGIWmFZ+$TzE`)3)(CUbpDS^ zf12`#@`kr_%n$RXxUA{M#z&qg{5x=HKiH$5G`R%{!#9owGmz;p6#8z(B0SbFVxI=H|n6LFHpnNw(x$^efU&Cs;U0o^nHO4z=Tve4&+UkhIw>vN^t=J}5y z-@r54da)I-OAq-G_aAje%VOu1a=}j ziJi<&VW+aw*_rHI*2tPz3meD=vB7K@8_q_sk!%zj!`fK~8>^FPiR^qfiFLB6Yz7Ok zE*4^87GYT(QsY>j6eSjA zcAXBbZDKdGTiC7aHl1AC&hB9U*5S3?>>hS6yN^Af^J|CL!|Vz6Bzszi*Uqx%b%yN{ zdzrnWV{F&h>ns}EMCdYq3HuzG7i(L*&)zp-lV^SKo$^i2&Z&>W<`mV-j>@=_aM~V| zvB7vMY%BNWn@nGq6X z9qu|*bS|*7qX|nye=oe1Y`3wcy!l1wZ)R&qv*JGf&zxhzAKRl%vg`F=SXuz^uZ#g?#e*XeHrM#zQk3c7wgi-ePa-q}*Md zl)KM9U>~xN{-fnowt{`iK4ZP?bM^)MihawzW8bqM*nip2>=*Vc`;Gms<8!~+KWsG} zo~!My2Bq2?QY|4>+az0?C$P1xO=#J>M-2^_aOHu_ZatB z_jsMBo9Le8p6s6Lp5~t6p5>n7p6fQc{oQ7_#cg%l+yU-DcaTolg}K9Z#4geu?T*nA zJBLo$#ku3%3GR7r&Hl(4mXU1VT5ynR##)n?n5*mB=SEA@Xdt90-d|Ye>f`Xnyd!>O zd2KzD4CQ|(-Q)vokpF7u{D8l6`en3;Y!N*Syl7wOn3GWwH92Kma+SE?)H~1>X88_?pxOunW7TvNt+nwiLSUE$W;&)qNFFWs-*Z`^O)@7@3ExZh{@7xy=v z`1|Gl?XGnHaaZxw_0;n;@HF-`^)%Cozt)~Mo(`Ulo=%?5o-UrQI_cNlWAOCw^!D`e z4Dk4R26={iMtjD3VgtspJ6v0#k=949pZ*iWomr=GlmGOL;<7s>RZ}a#L{yAj1OKw; zm-Nj!Y71s8#`!_t-3>S(@{Rcmcp}Rb9uxG-DV9tN9fC|*{3^GQ2(*~(KMGD61y2n3 z!n1?B5i}&BT2M-Se6nBm!}um?of1YRwM=Yl-yc%Vc*0yW^;$x%6EdGqoF0;p6z^&n z(U|pLb~|ncIuXq;gLB;BkwzcWK$|(FK9U&N+<79mS`_Jg;@p&#=NRW1@0sYCY3r0<(ci7inu~&5m$Lud)9c?de(V1d$xGC zdba5};(pH|&tcCo&vDNQ&neFt&sooT&qbX`yyCg)x#qdx$C*-x$k-8sqj4U zJoR`zn&-LamFKnRjVCR7Y_cmO-oBvVWWi+X(Oe3DZ0wOu8E=$tFW6Zy*AkxU$eWrx zB)duQoQTdzGm|zZgxPFtHeDJ#oF5gn(ms9u$ij>`E;=r89c(kMH)#~mj>J%~OGW1W^_Jh!WJoIh=?k#Z>(jQ4e( zjD}0TW(kpFKo~oZwl;3hs|HST-V2Llc6 z&ljD6{NefO`Q@qf{P9%bs&X~BT3l_e4p*0J%r)hjam~3FTuZJM*M@7$wc|Q+opda+ zi%v#%<9h2L?nVhgV|Ex37e9raJzByxrWvOKpU63{c0j_W6r@^h`_5^Oof=biuH>vN@Z_-`|A2t4Cycnew|1_@7 zs%FUy*+kjw7md&28rnyA&T?$zo><=O_O_ZDeUnjk-=d(b&N-?Bu8;H$8ap?;W&=x z1TK@y;c~e=E}vV-E#eBeLavA_;mWwh+)}QbTgENtR&uMj)!Z6xEw_$a&u!o~a+|o# zI?lP3`-|Jo?c{cGySY8we(nHwh&#d^j6ED&11{TlI+JqqreRJhUB-2n*Rb%Rb)cKNK2`6JGI|GE+8^J z47bFe175jjCZvaVwvg#b(#yhtqLZ;PIXhV{Aiz1@K7d{r+}$)Sz?3s5zOJ!t_(y4F zqS4U+)6#O>KP+F0n}k2N?aI4I*+XXKoEGZqylQ;Tl-TOw<`_A79C|2gI5OCU+eVl+ zE%=b!IrJnIiAv5DVNhsW*CECj(<P-v$am(u^4<9Eyn*k*_vCx=z4<N z_(A+&eh5F5AI6X4$MX~TiTosf3O|*f#!u&G^K z(kN;a`YO1k@lQgQ@r`{^W{14PmVxmP0-S+W^KKe*Oy}~`N*g(=Mox}i9d=5-nKdkK zw!NrS3i}f#IR*sWw)TKXb3cA%!p_9Zq=oiHxi_p$-B*)yUGYX^PFmQq^lf~8{N4Br zx{7$Qyz{ci@PP^MbDJbaB{Z<#!ua6bk!f*$sczoG3%tb3I{li(XY)Dy0v&wK=NIye zbOyGNFXD^&626o#1=XdZs`M>#H{BC}) zj>Ych5AX;1L;PX>2!D(}&Y$2<@~8OI{2Bfnf1ba=~Jm9OBR=*+B_*ZAi;MEi<=&A;K_^6&Wf{0IJD{v-d1|IB~kzw+Psfau|t z28=B>P3rBc5!o#9lf8ZM1?$)hpX?#d7`P!ez_uC2O4_?WWd$J36ON{Biz|#B7T6*B zDEiIX!H6db%#W}q0rvw(nZ}qhNF@39W@TLR+Do&|c^ubQC%XorNwszuQgdE*OL!LNB3@ z&{yau^cMyQ0|j5fPZ%T&7KR8zg<-;QVWcoh7%hwy#tGwv3Bp8Sk}z4AB1{#g3Dboc z!c1Y7Fk6@-SOlvOAOs3QLa-1bgbCq7giiWK3o(L2h!x_5c%Ao66y^!@g=C|HdNC^vK=D&9(r}odTogE+aE@`2(6Ito_ zZrzd=>kJO=6I(S{NnFe}4!A|M_Wx(Wh2&*9uhMcIi<57pc&X~#2(X&|#ODUyj4n)`Y?&F}JLG3_Qn0V9y~`Qh z+&ztL;)qG8$Q=cL%o&n%w4h}qZ|!G0o|Y`63TZ-y00^Mq5+DH<5WypG0xt-HC`f`V zED&;qJRx6LC=>`qLa|UHlnQ0SVxe4ECM*|L2rGp(!dhXIutnG^>=1SedxX8hK4HIb zKsYEI5)KPTg=4~T;iPazxFB25C&DwqD`>)V;id3O z2a(?ipM@{NSK){7Q}`wP7XAo6Vs){G4kXtT>x&J=Mq*>JiP&6hDNb;HjSTnSV%!or z$}!#DHqSpXC4VPe-}ay&HtHD$B~Eo%@W<4B7wlhX9}?0i@0@N-!eZ@iIU~#B8 zOdKJO6i10;#IfQ8aiTa$oGeZer;5|WS>kMQu4oedMYCuTZDN2JCYvgqyH0poOp>(|)H@|p5aWIp z?xRNA24i)}w}ooJQTi>|!O==wk-QXZVqX!LU{xI+=c|Zt+xmhz#u(@8tl8m8+!FV? z#BsJEw)08xNd?A9jv3aD?gplwqw7b?(M#DDArGRt^ml0+Q~aGw z1~-3;)IT!XxHEJ~z>|Vj$v=tGqDJ;p)B>0ix>-9G7v+laYWQ-~n~ZwKwbn)<&1{UL zSK$ovUE`7^tEs)V?m0GTxclG21<5_4E`*MYpI7u3FaS7g#aO;{1-&s0F7hurOnrk^ zTA{+y((U*ZIXET8c!Q2Zy;&clFWNR4(UPwbG4n6`H?hTJ_v9jw>cz7xZ*8jrs}xGf zyTVQ-TjRS+2C0XRjrWpzOMRriQa`D`G(Z|C`RWY$U}=anRL97NOCzLFI!8WM8YhjH zCh92pWNDf-U78`ylx9h@C8K1L{3Wwam0P6%DNqWQLZvV%T#C@)@+c`C(cWB;Ji#)EG^aP z^JUUAZA7x+q(VXh zwscRrFFnwi_eYW6P?adLzA+-s$N3XX%UdRr(?QlzvNpq$;wHTurVn z*N|(AF4xI(K)vC66j;2Nj}HT}mqin#^OoH7jZv@TDzbitrIx7? za#EOcOV+lmx_Kvav#bZ~J<9u+Pq6hh9(0FfED>5pgh<6?HhbEJ=@wAIa=fs5Fh26 z{&!g0?Cdg6(twbG%CqFz@*H`tY?Mv1zigH*vQ@Up0dk-mBnQhO za;O|8hszOiv>YSbWrrLq$H@tDqC8KYFDJ=PIayATQ{^-{UCxjJ8I)ZzB*QWyqcSEF zGAUCsBfDiz=4DZqWLeIXv*c_!M_wT3%6W3Wyii^w7s!Qjkz6d7$fa_byjWf$FO|#X zW%6=)g*-jBXLwv*KGrS!UdU!!6+KVK%2gQOdB(tD%# zU-Sj~5;fG5=Sf04h+-{kM|5BaD3 zOa3ia%70{^%&M8yGOK6S$gG)JJF`w^-OPHK^)nk}Hq304**LRFX4A}Onawj>WVXy~ zmDxJ8O=jE7cA4!nJ7lI=Ke+wogQ02V1(ChzeR^cbz$JL5i~oGt znVDZF;k@;u)oePO{~_y)m54l+`!soh@fak`ixk?%)O3fK9+}4F5liaCbVzBQ!WT(K zztI1~&^d6&)o@|7wrv}!Z9AOF#I~(TGn1J~Cb_mz+qP|+_ujUt-M8-d{fD#GS?8?% z?5B!p;%N)nTj&mc3m&vpW|i0+WC# zz*JxwFddiy%miiuvw=ClJYYVs09Xht0z3gPz#H%Zd;vee1egJTzybsSfj|%t41@ro zKo}4XL;#UM6c7!>0I@(E5Dz2(i9iyN45R?5KpKz^WB{2!7LX0(0J%UOkPj39MSvA3 z1{MP)fDNz%IjPr!Z&tXtWGGb_p)^Qa;WNW$xuvv1_4^V{qi_8KOm!?%vaz&wwg>1{ z$CSu^5mC&CxK$+pd>md$Z4X&dTrYlAL~W*>9rt{JRr5<=ruke!bIL+-bKFi#8?S22GOoW?6C;>?1-?#|aGitlJXWHQSc(fF708YRKlmX>{8>j$4 z00LkD0Z;$~aDV_PfCd<0D#dx3qxe&7Ib5I6)J295wnfn&gN-~@0II0c*r z&H!hDbHI7v0&o$y1Y8EL09S!)z;)mTa1*!%+y?FdcY%Arec%D`5O@SU2A%*<0S(ZB zr_^`4Uw-X`HHn~Uk>{R_Ghjdr7+V(XDjM%y6}&(HX>uXJ6(35uoVPZXMF)qPL&lcZ zONj7m7j?HNIPFhK*Q6&!8Q~++yM;s1Yf}B=>v=W{>jU5RJYpZ2Co%V<2FH~|9Z1QA z<1-U&vwht5H-2dt7xl^Xp`1r++uPD@%kH9qsTZ@=*sl4ta{CtiD(wPSP^-M?_`SL3 zz`E>^=sEN#W{<09^tAla@DEv)o~vS-~~_xyaZkWuYotfTi_k= z9{2!!1U>*%Q07rtOz|r6sa4a|u91l(aCxVl}$>0=lDmV?C4$c5) zg0sNBVW)GiVn;#QA;%Ai9cF6hewM$?UZZqc$^y^RB@69e@){>H$?;JWyzyCI`}i{f4ub|~rx^BFgCAEoV2A&Lfjp3Hj^ zu2T6GXG$&>9=2b^KY6zG>gq@^JqjJ3dI4NnoP%=q4q=38YaSmwF>ZzMBzr)@{qkY) z1G2w^_rYe^kD~kkm(-q!TAM%2e}bpQ^)Y^}?~!s3_&eoeoejL0~W#0)~QNU^o~7MuJgbH2D7k1LMI2FcC}wlfhIl z4NM0!z)Ua;%m#D7TrdyJ2MfSLun4q*#o%JF1hj#6uoQHFPS6FGf#skZtN<%P00cn@ zgh2#EK@7w}0wh5Sq(KH`K@Q|W0Te+AltBel!42S6a6fn&yaK)g>qA{2FR!YU&_b&~ zMh(dN6V=kQO+gB}B_;?yWlc)v~Hp)mUg8G#;7&O@t;vlc6clRA@Rh1DXlVg62Z= zp#{()$P@B{ydfXR7xIHlkUwOB0-!)B7z%+xp)e>Mih!b_7$_EsgW{nCC=vSq3WL(1 zbSMMLgtDLP3u@*yi!3@wIAARA!9_}252J$dp7c%>eI~gU)U_a)}EYa z7ti5hN^qioKhJ%IQ#@Py&G8%@I3X*|uUX1tf5Xo5*ON=~+p42IRnKN>h-acF=~>|j z4o)#Q^*`YW`^kRG{Z{&I@{46d;SPRZ{rdQM_)Yc;f#dw5{c8Bu^KIfg*ms2Q6yK@7 z3w^_UBYi`BH@g=5I($ogF<;Wx;bXGx_dM=-*7KNWmFH8>*Pf3&J9>Tg?BNyT_0_Yt zS6{FCUIV@Ue=c~9jScb&_1Xk&hPFUkp>5E1Xa}?t+6C=~_CR}~eb9dB0CW&K1RaKs zKu4it&~fMlbP_rRorcapXQ6Y@dFTRk5xN9jhOR(Yp=;1}=mvBXx&_^a?m%~;d(eI8 z0rU`h1U-hHKu;kJ(jfzS20e#fKvmF7=oR!DdIPTnIXCR_`y4cCF|!u8<#a09p@+z4(AhkIGPhI>u&%Ja(c z!o4cJoL;C`iI>%Doma8f1~1C%xmT6fE3cDY_q=qk2VPgb9(#TF>hHbK`?J>|@21`! z-h;jWdUf({vhR%i8?zar#Q{$Pv}{N<4b*71^)1D>{l0P=J(pCeW2NAiKoBMcF(km z6%{)@Ta{j`uosRDu353iw%%u}&q1F9K26}Ja5K0$+yZV1w}M;4ZQ!o1!}u)oS?RL`Tm`NM z*MU30o#1Zp7_c3|7F zUD!VCCVU6J3qOFLz)xWfeg;2>U%)Tnx9~go1N;&G1b>0Q!N1|Z@ISa3QXQ#*)I@3_ zb&$G9J)|Mh7-@nuLz*Kkkd{bmqz%#*X@|5&Iv^d9PDnSTJJJj3jr2kKBK?qo$Y5kB zG8`F!j6_BwW00}P1Y{yI8JU92KxQGck%h=2#1rvCyb(XdgqRV3#DWAMK}awXf`lSr zNH`LKL?Tg0G!lcvBJoH9l7u89X-For2it;O#!g~~uq)UJ>@;>AdyZ+?1MD_-AA60x z$Nplq@E&*kAA*m=XW+B(#=g@7m-%k+-ROJB_n+yC?=9aCzK{LhWnRqx686>S zx6cr9mtXbppxpPN3oUCcOaBjm9tb!Ya5bR6WsqfnWrSs%#lteh5@MNPnQlq6lv$E3 z<(6WL)skRIwd7f{EgLN>ERbcJ<+5e9Wru~dEV10Q+_BuV+_hY@?6G{YytjO}7?y{Y zY$O-SM+%TaqzJJhi;)t_zq?2atovA>=S} z1UZTvLyjXSkdw$MyIg6Y_&LbC)i^yf<3UU>>hFnK(AUBa)$Zg~fau>OW+(#ZD z50OX6W8?|)6wweJF_4Abb)2o7t({LCHyxdvKF(lg zh_jxPa87iNbPjWh&M@Z?r@#rqaNrGbSOFu9gdDbN1~(9(dZa-EIJMyk4``*qLa|c z=oEA+It`tU&Om3P3C@nrL}!XK$(ia*b8c}KIJY}@IF~rrIZ3DFEOQn+cRANO7d!Vj ztxnFVIM+D$IS)9GI;*>$Iqx{@2DEcEbUk$bao%!va*cI0chzy-a6Wc6b=7ozcm8m` za-MV^arSY2a6Wa0xO`keu0U6|%k8Rg6}c*11+Iy%*{(!ao(pmzu3@fJ*HPC+*A>@u z*Fo2H*E!c=*FM)1*HYJB*A5r!dgjtyjmjG5jxGD(8duh}Y<$@)bT&E%or}&x=c5bI zh3F#G6ZJy9Q6JP7^+Qdl8TCgkXaE|B2BE=d2pWopq2Xu*8i_`s(P#`BizcCV6haA9 zMwg&V(PiigbS1h9U5&0oH=rBQP3UHH8@e6cf$l_iqkGVO=zjD7dKf)|9!F21XVG)$ zdGrE$5xtCFLvNwC(R=6<^eL*NFVHvWd-Nmv3H^e8MZcjx(O>9q^e_4kt&7#e8evVa zmRM`79p+y)q3oaQw=1x0ZdpQEOj%f2QQ5Nm8D&{z*0L34Ys%bZXjx&|rZTCltZZ-D z?y@aq*UOHUJt+HE*0;QNdH?b@wyL~o4#7M&Sg6pcjhh)#{(5Di2pMsJEf5dA6o zd-Rj&f6*tRA4Ok^_Ki6eeJFZX%(R$>F&$&N#WafP6Vp8=EXEa+8pFi2$2ws>v0hkj ztS{CN>yHh<24aJ-q1Z5NI5q+siH*U=VdJq$*c5CkHUpc5&Bo?p^RW5Y0&F4XiJ34n z=8pwpL0AYDiiKg}SOgY{#b9w*JeG(hVaZqumX2j$nOGKbm1AzK5(6*@gE0g{F$^Ox3S%%16EF!=Fcn*Zt-w}dtFblMT5LVG5!;6C#tvWy zvBTIAtSDx8%$^uNW?#&am@6^2V~iLrrhaViSdZ9-;n%|3=Qa-y_xtGg$M2@0R3yMSH9u3K1u+P|6>>KtU_5=Hg{lb1@|FCL! zb-X5C8?S@c#p~hq@dkK9yb<0QZ-O_)o8isz7I;g%72X@XXuf84nzx$wnk&quX4PC`zGcSER`X-?LGvLqW#-MV z%>S9sn!Ea6HNQ5$G2bvhH$OC=FuylHGk-FFHeWDbG*_9wnhi6BcJZ(0-^jnZe=q-@ z{(sHY{QLS3_7CtM=Wp>J|f?j`fv8X;eXrz zq5o6=ul}$7fB66NuVraqsc-3IX&Tl(tW{X^uwh{n!X}2z!sp;~aUa|dH{oX79}mC- z@nAdz562_$I6NLtz?1P*JR2{$2Z_x@U8eZd^^4i-;M9V_u~8U1NcGw5Pldxf*-|? z;m7e4_(}W}eg;2}U%{{8*YO+pP5c&q8^43!#qZ(w@rU>${4xFne~N3kjvM$hd`#HP zFjH7?SXfwO7!*R|BnB_f8xLJ-}oQ=Fa8g&MpP$i5H*QfL~WuDQJ1Jk)F&Dc4T(lX zW1;dA(Welc(7UA&tIc$mj{oF{pTr+IrA9tMUnVJpLygzXL6 z8Fnaadzc@5E$nL8{jjRAS7G}~PlTThzZHHtyk^9^@LCa1!;SF2;k6^`M7#=r8~#1K zeZ;7UJ`o)wnnpB^=pQjKqCv!zi0%;u5rq-fh@yz;5wnRo#9U$?F`rmKEF=~Yo`e_S zP52PLgdbrd%!EH-Ap(d%B8UhkLWoczj0h(ph)Cl9;4TqE#1e5tJdr>o5=lfdkwT;r zX+%1aL1YqHL^hF2; zCQt$+aDpI6f+A>wAy|SVctRjVLLy{BAyi@sv6NUwEGJeFD~VOaY9c9OaRd_~L~M+Z zBb*UL1Qa1gyouN!u{Gjh#GQy!5%(f?M0AVn6WKblXXKZNYLQJM2S(11%#GX-Nky)X z+#Pu%@@wS7@a@b?`ZfKL{!D+RztO+xzjRHe7E_0*$24FXGL4wVOjD)>)0%0+v}M{e z9hgC$Q?gn|jY=`4grv+*S)Njsf~8O?P)b5dVoFX*UP^h&+LS9PH&QmH{Fm}Qq=iC@HT;t%nc_(xPDtCKaznq)1qHd%+POV%UnljBnRrZ!5Q zkvccEZfdR6_Nh%$2c|Ac^++9++9A~|)i>3YIwBQMO;1%)m!yWJlBrZ`NNPlCacXpG zhqTkFCsQA#Hc302`Xse^+Vj+hsdrP`q^(bFl(s2#U|L$5XIgUFwzTlH@-)9RQ`+#f z-f1(_9;aj=e)6leIX=++j`t0;M>Alihr~gPB zl0G_pL3&R5fb{z5{nIPc;dCgyAU!L+IK3$SYI*~*A=!v*Og15#lFi8GWDBw-*@|pU zwjtY+?a20I2eKpCiR?^vA-j^@$nInhvM1S#>`nF|`;z_0{^S61AUTK}OnQ(*$f4vg zayU7H97&EMN0Vd7vE(>%JUM}!NKPWBkWh!(oyV8%PKTUs^{wV!P`up?_89g&PW{k@imEn~UmSGQe1=GP~@XFvl!9#KtVPuRE z{4RKC<%i%oNL_FjdL6xqK11K32Ko|xj($d~(ArontRdD1YmPO>+F;$WQP^l~Fg666 ziTPl@m^YSy1z=HFFt#@?2V0CeunNqHftYu=CEPzeAbdi|dXslZU`XcwE4brA4%h~S z_YWT&p5vGpK0!&0%s~@_qJnaR-q_a# zi9z{6ML~yxUI%Rpx)yXJXiw0SAU)_~(5;~7L3e^41l1328{8&%c<`9uslly7I)wxU z#|CEy`vm(1M+N5!`9gtEB-n(-f?X&T%7h955HNudNP!VJK@=oG7F1!0uuNDktQ1xY zYRS@)abP2M5zlK05_J|Uly8mW^8 z`HXx{z96f}m*gw*HTi~oOTHuDlOM>Be}kr8rmA! zn%bJ%TG-m!+S@wWI@-G0y4!l#dfIx~dfWQg`q~EA2HFPM2HS?%hT4YNhTBHiM%jwO zY`OPCC+E@_l8t9?%3hYOW?#-emVGsQclP$|BiU!O&tyN#zMEalHOP6H{UZBO_P*>- z*-di>dxb zG-^6EgPKXrqGnTbsJYZUYCg4qT1YLTJSi{AoARN2DL=|YnJItDLIqHPR1g(Rg;1eX z7!^)MP?1y=6-~uZu~ZxtPbE-^R1%d!rBZ2BI+a0XQdv|sl|$uHc~m}CKowF&l$9!` z7E>jZjj~gvl!J0oE()g@ila_bm#OR24eB2Coccv|qPx)@b2{Wq%L&P`0dtg`H92c@u$Jlj5`E zx%k!bx$$e_mH3VEV0?ajar}q)`U!X98zj7p-xA*_;cooS_ViKGQofFInaS78B;uEGOOiq}eFfXBh!p;OVAtxa} zflNqFIQIYA#oq~C6T2n;Na#zCpeNBY=(+R)+Dr%05p)`zL+8@@bOBvR7tvO_m|jem z(000%cF<1RMVHa#w41J=D`|iRX^4htghpwM#%Y2kX^N(4hGuDw=4pWzX^EC;g;wb$ z^ip~my_{Y_ucTMetLZiLT6!J5p58!jq&Lx<=`HkDdKFi}igowz@7ed5N%8;M&Jk0zc=e4I!p zK1qZV|0NDddYjlbsa;ZR(x=3kNt2V7BzY$VCyh!%k_wY1CG|@RNGeXkldz<;k zq%qmP*`>*jWOuSFnMfv+;bb9MOkSG2E;$)ZMKjSXG#kxD^Uwk`A1y?S&|x}AJb3hr?f`vv_U_k zpVKesH}pTcF4K}}$8==6Fx{A*OfRN4(}(HH^ke!n1DQe0U}gw2lo`W}WyUe%naRvF zW(G5#@npOhAI6vQWBeHl6Tk#AK}-k}%7ifyOf(bA#4*WCDwD>fGZ{=Klg$(`g-j7+ zWr~@_ObKIS>`W=+V4RGLaWj<+z`!Viq9}(7=q03KRNJVIQC*{YM0Jnq9n~vpP}Gak z_c>p3{^c~yZJygQcVz6l*!Qs?VjIM@kIRa$8P__lT3lJie{r4TM#c?`8yz<)u8uuC z&J;H-&MVG8E;7y%mmlYfgW^`l$#I9`?#Dfddmi^PZa6#w9t}@`C&5$US@3LlE<6vO z122Nja3FlT@?7Ql$_tg3Dlb=Fsl57s4V9V|niZFoo>h`%%W`FbS#TDbMP${B9v;0V z8e$LzX9$L5Xog_~Mr340VN_-bvy@rJEN50QE16Zy8fGoCj#ZCMIX`Rw8rF}|= zl`!V|o`(67*`)zx(_=on__K)^2_P6%NrAiKWG*i%U~W<4YF>>8 z>HgC0Y!9|4+l%eZ_F?<7{n-BOKz0!8!46@Eu_M@#>?n3LJBA(4PGBdplh`TjRCXFW zot?qXWM{Fn**WZ7b{;#QUBE767qOnK7wgUXuqM{bTG#+Khz(&w*>E1cs7Ae zVw2evHkD0d)7cC*lg(mt*?hKuEo6&WE4!F2VQs9PEoB|7lXbD>tedT1D_MYrScFAc zj3rr`WmuNwS%DQ^gP>yNTVxZe_Q#JK0_AZgvm5m)*ziXAiIk*+cAM_6U2F zJ;okqPp~K1Q|xK>411P6$DU^|uou}&>}B=}dzHP$UT1HxH`!b4ZT1d(m%Yc{XCJT+ z*+=YS_6hrx)mWW1*k^1N`;L9jeqcYcpV%+#f9!Ym2m6!##r|ghuz%TqY&EVrSA(m` z)#7S%b-21*J+402fNRJ#;u>>JxQP*=5kV305z`_9BcdbLN7RXI92pw9Hd2l}A9*#h zPL$nlvy&;`Qhuj?%m1EVt)PBE+k$ol%?sAY4ld|a(79k-!T5p+1zig!7W6I{RM4}a ze}QK~YJq=&rJzrNcfp*3g#}3kVgXqo6u1kdf~5t^3$_*PEm&D_qu_4A*@8C(p9*Rh zeko{K*sHKh;mAT!{h|C)ek&jIYUMZ1|B+WWzg~Wa{2ux3^9Sem$sd(JHs3qnCx1@< zjQpVdg#4ylGp;$;f@{gO;#zZUxVBt7u07X*>&SKDI&)pPu3R^+JJ*Bj$@SuTbA7nJ zTtBWqH-H<+4dMoK9^4RaC^w87&W+$ka-+D>+!$^wH;x<6P2eVSleo#;6mBXvjhoKR z;AV2OxY^tsZZ0>Eo6jxa7IKR?PtJ?;=6pC`&W|&3X3n3pZ~H#aypE4MJ$nHyk>w1wN|0tvPpTc)khR%$D;UCeuyH@u>ZDyQ5ONC6Z? z!4yhi6h*NVO$n4pNz`&`1+|`9M{T4wP@AbO)HZ4dwTs$K?VJoK@x=LN6Zc?|X+tgj^4t1Y;L_MaSP#R@W&!`tv74?cr=Q6lVE{n_N zayXDfID(@&o?FhX;ns5Nxb@ryZX>se+stj@wsPCJ?c5G-C%22+&F$g#a{IXb+yU+& zcZfU89pR30$GGF%3GO6!iaX7n;m&gBxbxfv?jm=YyTaYzZgID{``iQWA@_uP%4wX= z8Qe4OIrox##l7aLssE@S)Nkq!^^dAa*P!drb?N$a1G+KYgl0mmH4yQxuNIHs+p=0SdI-X9T6X_&6nNFe8=}bC{ z&ZfuHFY@2ypJi?qzAe-XUl-OXniE>Hs76tjqEivtm(#lwc)92~(n#I3-?5P!g3SC0R*PGL=*% zTOo3(Tqbu(uAI9ecX{si+#R`la!=%L&E1lFJoi}ct=x;bdTv$j^IRkMb?%GYnt2~{ zf9L+oZI)LpuXbLeyta7_@_OgB%WIw2J`ds%Uf@Mu;$>dpRelM-lwZa#=U4En_|^Pc zejUG_-@tF=H}RYKE&Nt~8^4|3!SCdE@w@pw{9b+^zn?$AALI}5hxsG?QT`ZzoIk;z z@wfRq{9XPYf1iKAKja_rkNGG3 zQ(ohB-r%3{&-oX875|cd#lPm?@NfBd{CoZb|B?U1f9AjNU-@tRfBbj;2j4MoVqTBD zZh2Gl2ImdUo02ywZ${qayb*be^1|{=c_DfJdC7U{dFO1;iwcSgi|j?^MHNMK(W;^) zMH`CN6m2ZpUKCT2Sdmq+xWZQ9s908Us$zG=fr_&gTE(Rbz2aHL$BGV>zbmRL{#Jab z=w8{rvSnq*$_AAqD+gANuAEjGS81&TbD!C_wY%-+yG%09zB+rG%|YfrRi+MSgJoSk!WKlxw$Z~hPem;c9C6RHa}gqlJvp|(&* zs4LVH>I)5ohC(BuvCu?lDl`+C3oV3}LMx%Q&_-x0v=iD39fXcTC!w>@Md&JY6S@mM zgq}h#p|{XS=qvOS`U?Yufx;kRu;3vK5rzuGgyF&nVWcoh7%hwu#tP$v@xlaQqA*FA zEKCum3e$w?!VF=iFiV&%%n{}a^Mv`r0%4)BNbnTA1aHAd@D=<7lVBG71&a_M1PYZL z#K9cOQJlbuoWiNxQf?Wyl3T?sDmRsW%HeXbd_%chzPfyQ`MPql zd~Nxz@)PAd%P*C0Dc@JVwS05=+49TfJIY^{e=Pr0{n7cs-D}*}+(AOH5F&&MVM4eNAw&vMLbMPg#0qgjypSLy z3Q0n;kR>>UN&yxSff8te7gh;tg>}MuVS}(y*d%Ngwh7yX9l}mwudrV@C>#S-t!gt}P@LTvJ{1yHQ)x_#z4Y8J3TdX6Va#y&^+#B7j z+v#5Ke&*ib-s#@%KJUKnKIp#cKH@&-zVCkJe&T-TZd1{+;;*|wMaPQn72_%utqZN8)(C5w)oP8hW?3_>n01wPwRMkmgH^V!v6flaStaW->w4=B>s9Mf>jmpW z>pkl;>vQWXYop@7*5B5q#chfk7S|Q)iw(qvVk5D!*hFk5HWyont;E)18?mj}PHZoB z5Ic&U#Li+Dv76Xk>>>6Ndy9R`vEn#! zyf{gmEKU)pinGP};sSA@=qY-OzM`LK7X3ww7$63UL1M5NB8G}#Vz?L~Mv75lv=}4C zig9ARm>?#KNn)~?BBqLIV!D_iW{O#2wwNR4ig{wbSRfXPMWR*gT0Ee*Px08|X~k2E z|CUyF)Ns^tyeXYo(cRI*(bF;5F~rf&G0-vAF~KpyG14*FG1D>6vB2Tw2y%ow5*#HJ zWfc__cPbuNgjLEm)wbHU*|x>D%~o7IFBUJBi=|?vcvQ6^RmEwJHF1Y+muxp}&umX^&uuSl?`)rK-;47XuUfom@thK|WRJ2#$%b7p1>^8m zI37-g=RotI`M5XkiF@HOc(J%xED`@NSr$u0hv*btVwqSjy2T2yQUpX$ghW_GL{!8? zTqHzNq(oX|L{{WPUKB)8ltfunL{(fOE)|!F%f%JqN^zCAT3jQp71xRD#SP*{ag(@N z+#+rjw~5=u9pX-Lm$+NpBkmRViTlL^;z99{cvw6l9u<#?$Hf!kN%53;T0A4370-$1 z#S7v^@sfC1ydqu|uZh>i8{$pzmUvsdBiFCA4&h}u zhQm0HFT+p^ECVVr#6W@XF!_82MvIl+**G2-7L}Vv?7(M{+gHOP>;M?#$_z`>w zz6{@oPr+~C|KRVi4*!6E!3JC(`2)8?IwM_?L5K&^6B&YxN2VgFZe_}PMx>Q4|DbL_)RI!j%ou2MItyVOJKDfN`-RALzh=fVFL`alGOM)ayiljX__=$njy`UW=XT9InrEd zo-|)tAT5*@NuH9I4J1ox+Gneu1MFV z8`4ebwsc3jD?N}NN{=N?DrU=AoF!O_-OR3Mm$Td09qd+Ni?CY=P<9FXgag7+;fQcj zI3}DIE(lkJS>gkXy>F?av!;`+)wT=50D4SgXF=ohde|cDi4!~%Om8G z@+f(fxeCTJ72N!ny>iZ)f7 zrcKvoXfw50+H7r(HdmXc&DR!a3$;a>r{<-3Yd)H<=BJr7v*xc^v;Zwo3(|tM5G_;- z)55g~EmDipqO}+;R*Tc(wFE6uOVX0H6fIRt)6%sJEmO;-PLWgPG&x<)kTc~hIa|(=bLBiaUoMafr>)mEXdAUn+GcHwwpH7vZP#{a zJGEWfZf%dYSKFuU*A8e0wL{ur?TB_%JEk4iPG~2!Q`%|mjCNK#r=8a>Xcx6h+GXvE zc2&EkUDs}CH?>>ZZS9VBSG%X(*B)pOwMW`x?TPkO(==T(v}f9L?S)pQz0_W5ueCSY zTkW0pURy4&kXOp9uDZi3m%Wvej@;mvx{6YRGf094T zU*xayH~ByLyZl4`DgTmx%YWp*@;|wnQeCN`e9%5>pR~`~7wxO|P5V##uKmz{YQMDK z+8^!zWye}Iy}DjQuc_D4YwLCNx_UjmzTQA@s5jCZ>rM2gdNaMb-a>Dwx6)hdZS=N! zJH5T$LGP${(mU&2^sah0y}RB+@2U6Fd+UAlzIs2szdk@8s1MQy>mK?LeW*T6AFhwk zN9v>W(fSyDtUgX3uTRh?>XY=z`V@VtK24vl&(LS;v-H{e9DS}nPoJ+Z&==~9^qNX7 zrM6N>sjJje>MISDhDsx)vC>3osx(uYD=n0kN-L$c(ne{kv{TwE9h8nrC#AE}Md_vV zRXmiT%1C8`GEteTEKl9DjOZV1&bYI<1H|b{GU$^K1dY~Sp2kRkvs2-+=>k)dS9;HX?F?y^X zr^o9FdZM1BC+jJCs-C8&>lu2co~38&IeM<1r|0VhdZAvVTlHdnv0kFvbh}=vJ9MY+ z(#!O6-K|&Xl{%n}I;GP(qq91v^SYpmx}?jxqO1B6eW|`oU#_pv zSL&xbc%4TJYvQ^opY*%(FyOiC^US*$hKsl@&QI0Cdl;g@t z<&<(-Iis9Y&MOy`E6O$Hx^h#wrQBBTD)*E}%2P#G4CT2}rMy<&C~uW_$_M46@=5uu zd{MqC-<1E9@5)c*kMd8crdC&Ls5RAEYHhWST34;7)>j*-jnt-UbG3!qN^PySQQN5< z)Q)N=wX@nq?W%THd#b(E-fADUui8)TuMSWLs)JPzb*MT_-JoyOH|d-8E&5h{o4#G& zq3_gp>AUqk`d)pXzF$9}AJh-&hxH@+QT>>HTtA_o)KBTB^)vce{hWSYzo1{#FX@-{ zEBaOantolsq2JVR>9_Se`d$5=eqVo}Khz)TkM$?|Q(e<_-O!)u&-E92mHtwHrN7qS z=x_CR`g{F@{!#y=f7ZX~U-fVLfBJX*hyGLlrT^Cd=zsNpdNrfEQNyTd)G}%tb&R@3 zJ)^!cTpgi~R7a_!)v@Y$b)q^&ovKb#r>is6S?X+cjyhMJr_NUws0-Cas;BCu`l^1a zNj0nfsznV@1JxikSPfA_)i5<&jZh=iC^cG*QDfCOHC|0n6V)U&Sxr$>)igC-%}_Jd zEHzurQFGNiHD4`I3)Ldksurt@)e^N-b*Qk4sHlpmxJsy`N~yHUsI1DVk}9i;x>Q}J zE>~BmE7d_i3V+Z)Ui|p@qk+-TXk;`tnix%uW=3VF#?Q0BghCgLX1!&%m_Ckj7THOh&E!3SR>AeHyZtH{Iki=razniZ27a*&vrk% z{_OU%`_G;~d;RSDv)|ADKTAE@RJE;YSLO1^9yw=Zg$L--rAisqVRVzxkO%9LHm=>c zK2?{;Jsy`m{>r$4RfDQLC!|e$GI6!Xu&Uuz>pc9YhELn%F=obgk6j+SJtkCbov~rY zevgMUZq1CGy>Rx7s-AQD&ncb*&pGEYXI{~~#q%8Vob$@&mCsY>iSu^P+cnQrWv*Jj zP+hoW;nIcq3zscyxv15m){ELKYP+c2qV|h6EsCj1FcOU8i;WV)X4s8V!(liLmr-Vv8*Zb*s5AfrG#~>u5Cb(Z12+hR zG$?~M7=tx9gEs_2G$cbd6hk$Z7)y<1#&TnYvC>#&tTxsdYmIfrdSipJ(b!~cHntdB zjcvwuV~4TR*k$ZC_85DOea3#{fN{_`WE?h*7)Om`#&P3>anh(ZZONGi4S!evFk|?_ znzL8UDwq|YmA`2FtgXe`!jr}HgwbEKySuy2I?h_2d%x@1KYCr~+ID2{t^5AGUkeswC1f2; z@aJn1g9YtT+eOXj_HMtZ3oYdcW)%+BWvP#qnS?>5SVCIs^YEjp-MPSk z9^Oisht47)5}T3URAni@tfgUNTAj?8*qghtY+u01;gNt-0cQhF4cpZ0jo6lOdiYU_ zWy1(pCOoM2OUS8K%9YIPCJP>4V^-qMw~&M zML1iXL!3uIRwK|kt3!~x)hTGA)k!GJ>I!tp>M{h~Juubg?xCrtAuFp#(0Qwe5Z>Cu z>J>D}>LoPC>MeB9>J5}_^%=Ts^$8MN{e-Ss{eZ4p-L$%Gb=T@QH1_Vnsg8F?roM*q ztZz@hGaX9oJU7n4Y_(=tsv882<3r$A9Oj-3Gx(tG@Anbfw)~0Mnb_6X9K0GofPac# zLRd|RA!3M^h&PFkb3RaQXk%!hv~Ze$F~k@KkM3$&F`Rn-sL)2l7h$CP$EKrTxH_CZyd!)?crD(Rb_dMA*%In8 zIxs~$gLonW_z)5Q5Q!0oiPK5a2xWv3*#YJuwvl#&Ns0F)Z!qyNliU*#PhJsmFyaRJ zSVXlRPKKZ)#|chz@U7(IL2sfGVQI~~vY&Ml6Al{CJD_qiU9YLBvu?l+Z0pjjt;2{{OtEkVBB`@-WSF_^#q8fs0$+_Cd`i#jSVxWZ;e&H5Gb1m6foT-Q2x#D};naKgG}IYZDo=QR%LPKR9M+sV|OH*xZkj&?WePgv)1{S^Sy|Fv+a@B9XI7{pK;37)fw=puIX-L zOyu!8XB=jEFo{0Jb*k%E*Z*7xC~nT3#pg`hUCNv*@UX}oAb)?8uz%@obhNiNvE0;4 z6%i&P<0xCoL<}fBD09Z}3-q*srhYXe4)KfpDWV=scw5s(CY5~0ch^D;%w7yCVmcGg zKFa<%KZ_f|FBL~fq9qdf9Ayw@gYs26p)yAIqnub-$Q=oXpiG{%!C-I~;0tnz`E?`p zTS^u;Olhj=ELl{!=;b1p=I7m-p7TBTdw9LBJ>>(_hK>#uiO2ki#4LoSbVYKPc0y1L zZd9roSUG$uuB8r>sFiBkX*=%wMf95Kxv!WsJesl$e6&`t*&ZV&Rmq! zQTnFrNV%lqyQ#Zo&2Veo+Tq>J>xM71uxlRn`n9hg-rW>GUXidgX(Ijay9k0rJz`;T zQXB<>uGf^I51O15#w@k8EO&zVK+%Tbjl*4xO~Wq)j0%eEw5~4hNJ>s<*NnboWGVz* zV@{0uVJ>01$KfMNa<>dq6x7r=3Dc))vr3{e!k1emO3s?MVWX@M(j>+luu2=l9(I7B z5kG0Yb>iMMUF(?mt;5@wd{4L@`7JF?Ql7Y_)}oT8UY*}Z%1fP;TAy8(Rh<1g^<=zD zW*+i>%KntMiKyK4+??FsaW3nAC(<-gAVFR)V5lfMi5BHujT+r;uF7VGNT+OW-CtigPiBNfck6UY+RM7e3PGV-wMbpG8Pv>o3BS<}h z9#Lj`Z1S#ZKrNHnio3<Tx#`G zhNAjP+|!g*g&Eb`W2rg_>Jn>Z$+G*^5Y$$+IHd#hkK33DNr#xpso^!B=)JNTsj3>! z)Pq7#P&tjM9jU34Ti2Q-=mI?}b4>h~vo@!Wi19gnFZJ_@)!aG){1%moQPy_q>sa;jSuO4oGQ6He&Upip! z(2lmXnrWr4N~6nK;yo73FDq9#g2qe;iBFFIUsq*~xiq5{bWApxA9zkk!`AgTl7O>y z^#?qXsK4IWqu;N02c-vBpF53Axm(kztc&1mw5G}0Fy7USE|1w~bX2@3-2i60k2GIx z_W{$x{3`eA6)mui;ib57TU%zM@7KrG?2Y@*;)ecc8NYa6tyK+tx*_U@EV4DW=0Is) ztE9%Ec6F=A!lSLvYd5xncU0Sl=rwIe+t!zd)z?pTZXcE;f*GK{XPe{Z{#eI`J7k1Y z5SUANWd66IMSg_-7&LnL=#=(14N;Aj22}^6b6;}}*by7pxp>ikMZ1$q18>%ryU#^E zKu?yGft`tx#ARLAWViEnbbT#(Xx`s-mbe7HOQN=R&EEv(9WP}}@EI3|=uWCdcDrQ6 zrPidr%FxIY8I!ufQLT;Aox%9Gjol6JyolQwvM;0_?ETu@eE{s{x(s$?Nl5RyC#%E2 zdEjgJl+IG!rHpW}vnUhn`*DuZDDZJ1cFaUO%4x6%<|NqXV#$~xz2f-~`4QO3@}{Sx zBdT{+hBA}VV++>m9l<)YD_AjxQ;s4xw_fZ2yYgw<|E144Ydl!VgKEQZ;r*)%j?CAG z;K14)YA}_~^KS0XOtK!Z^g9lShOQ3o9ByB-Zpov?)0aG0QURVRhA(j*suLX@WcYO~ z@m(6@6Sg#JaQEVEOIyLyl_BsfB|LjAc>0i^JTkNN~OQNzPI=A6{wUA+yhpSmlnx!~^hZfWzdr}99i2E7-pReVRMC*w1QRJR*`dJpR= z>XFR_VE=xK`AxeKOf*R9cc*wM|3xXa$)y+Ns+8}^6^i#>%j5^Vdm~PuYP{!>zI*vc z{_>3SeuPweUGmOkPmet0$)Lb9Mm<)$ANSZX9#*pw2|?uQPBdSEKrzX`Pz3pxly}I% z-oTKVdsJ#i4k`e`wUCP{l-Cwhn|je_%p9qwkRSBbr7YLR(sc@R^yN0AKKnaS!UC2 z(`HlJG+=ffLnACFsK!1bKu~E~qoOg{*Ks}isq3YJDd0NnKB`weUY(=vQ8j1o%VMA&#nR5c~uy>(0!4JUeT2)1d@=#D3G%2t*uP0B#=?@wcd^Ih*O_9$}E1WYc+J6o% z{B=*s+(;f{`Hp-9?-K6`S{S^XyCf(kU(8n)e2Hle*$`TfUKi>_ei(YoJHGS0pgwdf z;$d`aVl~;np@sb0lR<`)-j%=*v%SMZ^TS<2O^8!T&4K`_SkRFfB9NE-JB25>9Qr79 zsz6D-G(UR&zR2E~rIDjy7u8)cEyCGpJ491OM`I2Y^5$QQT$mD8NGLp2Xe)O2apU)h zvI=j+lonFNhvNHU7k7MWf8B7#T;D#`aJOFAxkBnt^ac$EPyZ2;g@IpYg?-Rj$$J-GQ7}_*mm)oQ4cbvH%7#-;(SJ( zRmZ9qc0{U&Q(jB)sZ|QTMznv_WjQsXd#(4x$-KHF z#AJEITI5wLC&$O7H2T-TP4oe}6P;oGp=37wIAgT*M`CWdwA?LeD`OvPCF@-I5A;7? z&E@6g8_Ty8-qnw(xT42Y=5d*M>0m3ciB*`S5qsKS7h<3b5l1QR`QLe5^u5X%WkF+K z(UWr>%bZ!ydsAz9eUl60!yiX|LvP?u>s!n>RL@XclDtldG+L(|H`oI^Xq)gzPf{Tl zs4)0KV)ZJiYwaXuExj@^!Fvv4iT6|bP4C6E`+l^<1=snjt?9D5RO~{~LVaGx2Q|*B z98!Iawp#lYRBr|ve$;P3Evx>Tb|LLkWE?0nrgvtu=d@QRUFFYG9F?bfO9zKR4e74F zk9I`+fhJ47ikuC4CiYn&pb_yUi7MG!-v>dM`L@Dadx{y=^v~ znPzUnZ}W`KDWIP9ta^^Q7ffb!gZYi{rd0J|lqEeW<8|^26g;%0>qWBw6lBh#-l9t~ z-o?AC#p>Uv#O{Au7l@{0bhJJISKXqH`uf1ec?}16d)nO?1r4$2AF4@7{b0xS{N6y9 zk=$bqTQa8g-0u9Z{l=naZHH2D4Z@84hPyqfW+;AkI~+Z}ItJ|0vn%@(*WX)|xweP?d``FW(nclmvcYkJgroKZ-wf69*?n1vDpHeby#;&+yB7GdSb4C;{ z&p1OoYfK&%tnikB)os^-O0d@;cxbr)>ypvMeuEpcY!bbP{>gG2+_vQH;?Ilc^{yD) zU+pe?P-GJSt_e$BF0Gb*kos1?tAS)UBJ(+qbpsIz$YAt+G&k-}$AR|rj)T^_OSJ9T zolmg|;rXq(W>0Q|04H+Y|RvK2yyU&%qm%aK)zZ z^@;x~5+vPN2-@z2Haq5>r#sO1CDo+_MV4j$uHW0StK+)&6c=UnA&JNMpGkp1Bgvh# zopFi6)p|zWa?Wma1NvwEv-ZcTSEy}jUc<2WBh=Q6n}wfMzf{*zsEp2xTV8^URj`2Z z&(P^=PxK0TF}k|_xr*H}YJ=!F4+@{P9WNTLkt5J1vsjUgwm2@&nP~T~!!Ac_@=@JS zuTlMBPh1AUdv2;#=eWp2<_+k7Xa~KkysOnq=#P<%xPOrBb{*Yl=6b6;&c$vU*Og(8 z`hqKn%ZeND&?tT-d7E5hPh0;@p-8b6Lir}i_1L%Z!6<8)V^LAuR~TNi4|y`&kaioT zNIy!GwWH99Et4A$iQTCuDc6yN@uPBXvLfTjyno#HPv0#P7W8;L3;$B~09j?e9{DqD zIBR0z2INi&s`^37`IJB@UTTuuFY+p~SHx9Cd%dkPNQm+~UiCB+eXCaQn<`n)wA+?N@(@9elw4_J%|6pfI4>QlFWLNA@b}Y^|0{@Q9;8*-ho0t1Jj>*o=c;K~MA6Q*O`WX#{jkm6#TpR0S_bh&B z+K#0#IipRU+oHNsPBZ&P&KKA^s!exk0Zo#Tn|Ng6=uXqq(T@h3HRHHYG}i*LlMi|@vl z7BjJRis?Cq`U2{dgk)`0LY^=+;Z8)4wlJY6fyF$aJ)`|Z^)A^hpIov!Aqwnf$Cn67 z(yJrLVLF&7R0m76Pi)im>h`wSmF{a1CbpGsN!(YeGaXI50G#;?iGCO^Fwo1&+<~mk zNh(b$1ACPklXjJNCcQ21XgMUm;CKOutQUbpy0LOw<*>3l*%$1Cj4GQ8_CS&hXXCa} z7Rz^n8Irfjj>g$4XQR83qZx0sN{Nce`QLPiM@lrc9EfP}ln!HX$_nFq$_Nm>NT!yQ zmB5=i4GKjT(?2Pcs)8H%Q0e6Mz`nGfucnAE=>$io_KsuBnR zTWa6ergk+fv`h0!+X(v40ibN$Rxi}e0zKDG&J66~UK_GRvKabPiB zv986gQ-x)&b*^2m3y=q0uei>0i*d^*Zm53ZuJJ&67#p+`d_0eMo$xBb?3D+57y1NG zOr1D;vV8LT$tR~C;a;0MVOo!ZEK2o#Rd5nn?tf$Y&*`&gC}v`3{V@q=bi z(3J`!K1V>%9&p_=5$PETo`k}-Q=Nt01*@Vd#gEx;sNJYhO`q?@^j#S~iGAjGNlwWz z3E|0I$*CEqZ7<{9?1pKpryhv0#M-1>PpPA*)B2<4EqGaTs+Svi#E%7fo)F}o{wsY# zhQ0DoMu{VzwgOX&)s4B`9E58j#8VWCUV;xPBYsuJK5`mKMk0tINEIGW4lQPpy%%uF z0`dt;JUW*u!2Jq88wNozTKR(X`i=B@h8?qY$`T4*0YTPz?&UeHTk`s_+y?9XjC@A! zH}I!a=TG)|ZT=5km;XNAoqs6vAb-1H(hPp*Bg&$@8T51CA!v7wU+Ql`AtoH1)72u~ zFY!id>wASVky}1X1VJZ6No9vx-NpqLfP12X)KUogSrFJ4T*yWi|O6l+k{D2?rCrYi>jSQXfrwMo9N{*P{4sY97SUz(U)R-v;uY%hAS6jtb6wUjtUcCZ5}%Iz*PPB&~X zc8`4;1m_V7{gRWnfTZcZtzgBRWxFW+C?-q*`wt_jexyB{aus~bfWSnTS z106GS)#(UP_1fB>>CbsN^Yf4b%m{)9f1|=vd1ea8=|A%01uW zSZ${>F1EBN8**NBz5;WpyB39ZU+O`FBFT~7nSIXvbg+kIxZ?ZJ^x@@M3l?=OU8=Aw zZOe9VJ+lIAF>^f7GD6%$mXRPMnXsk3vllu?Ho%DT^kp#QweyhHfGIT_4}Bsb#mxSm0M zmVeIF9CYPPmWGxPCto-j^V$XNvBes+cuuI%yL!Lj zHJPhR&haD-I-ifQ&G|_FD0plNMuuxXkoS`G>PW zxpXpS!C~x=%70ycCgcuG<1Y^Woc?e@`QRIuao|34ndYqv1f_Epx-C;QSKtOGVr($l z2q(rCiIBJ+c{fT=T!HjX>!ZptgH4&FwUkA4ojn8*qWJ-8)%qd(?6>`+u_42ZtTou7 zMfZo9)jQ(0D7OlIBj@tq`fsQp)a>Z7t!D{pR4MXRYO_s3@dx@2=hBk7m8+-+6UuWM z`qjCl;_&4)Lyxi`=vSmq-tCZ2$qc3BscoCUb z@-KEq@bVQKYG*q6OCM(_oFHfv?=r197uJ1gig75bby}Hq|0U+KG7&d|XX(38HoLz9 zJe^D`uPvW2@Vm^uAA%+gpwRST75NC`54LCM6P81;LtP>WDLJ^EGH#Bl@GgE3i&U50{{xHOH_>vpdS+`H4-j9pCddBeALH&^neOHUWN ziMu7J_`x*NX@HXJf899;iyHgP;uNA#l7XrA#Ay%{`AnNIqFb zVFy6PtB+u68U;V^-(xL7T;8@~xVwKYn3mepw|c00s8lf?JcIoy_O2_b1kYu2GFEDv ziQrkx)h2B7VF&eX3VSI!(Lps6Rd8$LJ%|hao$?u*RXt^wdisL zCHHW{?Utx!ur7v6n_{O6CC=}Pap5O`e={uv9WI~9zFi(%DggR$w%%6rN!?jL(c~!P z8fw)H!v{6Y7@)1MKPx0^F3Hv`JiqXyv2h{VyrD6#pU1yRph(aCUjcsmSytc*mZIy}`;UMvzl{M%`h(ccmNT zBg_qXE@mzA9h4?=#&T1qF|v5L;gv&T?gHC8?GJ2^#b?!QPkOJ~jz=St&`;}AI_~(q zGo6f$ElCkR;D({s)-Sf+Dz^1lhkY9`7B@>;T?!#LXLx|uumZN6ZGbI+-H}bR0jqZS z(r{W&rIH%n= zqsg~qhIo?woA@vy1U+^*BMJ1HB)X=`;H*WRo&VDFo?>Z=l&B`ItE~Y4y=#Jp=W}fb zvERIyxDK?9SE-Z~TKs@&gm{dImY^}Clv~7g(Jc-SiT}ng3;vI&b@U+Vh52KRC z^O6IpUo)B1wbZO}DYW#^B_IPdrOoVf&de$Z*ZJWu{E>V4hcvXReq$Q;cTb zORr(RV!mfK8kG?N{e$(3wRrw-7D_a!(}_J|)%pE?^v3jPk7#zC=;CznZVuqF z_jk)=N_IjA(!7ejBbObABNR^iE*Aw}ZyU0nWkzsn1X^!i)QPw#WGiLc423QMH3U8f zTRA3l3z}HET>S{Qn4X^(P@R;w^800(G4BgL$8KTXTE@QE|iTPP@7+iM>g#HeNKc}Ej~A6yX;Q%b{N$sA<~aT zk9j2ijk+t2lr#iLpeJb`D^557{r>g!Rh_-;1%19Ah zxYSi-qa}9+C=)wubLJ`&lxp;T5m`x5l2IukPNKLXlM;gFsHUgSse7Al zQ#TVBQWsQfRnd-f3s0%g>c@#MJOeVO3yvXoqMOja(BD)O)UblUj41UH+Z$koXv0j7 zdQ0;H^;1=`dUusX9TKTlf9wb)1pl!CrYlA ztmvAndq}=f60X}^;#j<^rMhlTLltLoV66_Sw=OW~DAYk+R9UQUjc&FqP_Y_yT<6qw zRp)EVPH`cac7fZ31m86naFmCja0e?W@m!~agSBG2a|Ml~mOK8fb(f5Bw-8lb%#Ze!luWQ|Ej$c6llu~~b+{+|HK*`kz ze22)|8cJNZ$id-}RRUyXSf6i7Xk5~2gX3I&2Kf;@Z>X?!DuJ6+$_Y5wzow@8cs()1-&D z&(~Z}SVMBS=#rk2;A($0VPj1G)RZ}1V{1)F@5S{m1{h-`rVPb8zVfuz$VB z7oG;C4Oc$7cB=Zz^=!K*JG|ZP!RrHFKwt0$0zc@YZU+Y|Unp@Y`1;IhECe-|$k_1} z_u{_&?*F~k96dNI z)%asSe`Qh>xB}#~K%EH*mp9$GbO&18v!%?A;M?PQG7kLBR^TtS8nHk`bk0qyIaatOo<|ct$=ufaMjbsg zc8sHaPuJ0Y*U3GS+Sx0u(%hua&Ky0|?&|01KB)Xs;OsSfsqsr0GTTKVrLm=iSbglsB3`${!VsvMjUwXZx@4_w}FVf6)JO*rl*J{&W2!{KNed0+Rw4`S<#_`E~fU z`nCIY`E~pC`t|t1{ipl8SYj;`{6(WSmS-0CkcXB>7F&z21?Fe(S1?*QDjvNSHV`%# zHWYR~Y)M#iSWDQ^uzw&Lo`GlKbMbk29{vUSmHK?S5pIH4!K>jl@LKpncpbb2-VASo zH^Lj>W_Ue379I`{f(O7S!#m*++#0?J?g)2pasGec&DBob4IsYE}Ezh$~5zyh}fT4q>gT4q^hTjp4TEWwt!mU)&C3&Ij= z3A2P-A}mNtq-DM($`Wl!v?N)QEh&~%OPXbYCEbFyWLPpSS(a=I#)7rrEO-mSLbQ-9 zWJ`{PVxd}S7P_Sk)(-1{f$jmU3)T(mf%U@rVEwQG*dS~OHVj(~TLN1KTMkqR+YQ?T+Y8$V+YdVcI|w@j8-X2x9fci(9fzHOorIl& z*&^%^V-RBz_K0x^2ZSTS3E_-zLAWB^5bg*M#CXI6geSra;f?S?OhimVOh!yWOhrsX z_#*re{)p*_00bNnh?s$xiI|1BWqr!}wDk$=GuBXmRe*H>EWjqfHoz`mOu*Ox`+#u) z4grnpZ!#6%*Kc#>$3alnkljKj>q%*Q;! zr()7EYzzz2j9CJt5g6eoA(?oJ_=Gr(@-KA)Z3az6!~L(K_nqOw^k)J=nRzewS?f7_$DF{N z!<@#P!5qaT;}h{hyc93POYq%57PKRb0shD@!YIK)@FYeN(}@ef8;3=#CY~XlCY~d{ zq0XYsq0OcR(?|?AW&ksqS;YL3TgI}m#{#{VD~ zE1W6x6?4Tp@fq<|@g1>?BwQkv&sHLpG0Fu>nv$Vh4Mj3;ISW<16l6NAadU@;iX zGt5oQRm?Tab<7RS6Ud_?q~M_>uU5_>A}#w6yQ!+|Kc& z&7~n|YFaUk%&20-GGFGt$bFt`&4RI1ta6qW+nephKE@u$C2~nz0vFF+!GF%5D-06O z7S0g{3wh#mVmFDaWWFR(k|04zHYuxB^{Tt-=W1`wG|f!SEKP_8p$XN5X&N;8;*G@z zi{BOB(LUCG)<)|N=+vcWN~dC`VF(x^uwr^K%P}i4D=-#}J=O;Zc@wZsSXZnY)&=_s z^B?9H<^$$4<`2dS>wrb$7vR(I>39)dfp5b9gZCo15!`_u<4IUX7)$gc`V!?t1<{`5 zLUJUHBe{~SNDd?$k{ij1G?oM-Ig{*2?xcq~_d#Pij1oebNeKoD#5~F@iVtlfEs{2$ zR!u7b?MppPM>ElkGzx>tSjebj)G+E9KN+4(9rJ#!9jln7X1TB@v2THruQS(?>%?{C z^0*A(4yrda7#hLY%xmLk<8Py*X_9H0 zNoG=-Doog!>obW##&5@{AGgA_%IAqRXuY&9P#s-P>!6uw zD`>e4CWFpkFd7*Rj21=^Gl7}NjAx=iDZ7o?$!ui)o9oDGVJ&2tS>IST>}l+LHW&1* zb?lq$v+Nt}bL@}oe?d|CHQSx*#;xXdbGx_(ZZWr>E9IKG<=hIcj;rFfbBnk=Tp4!} zw}acpt>s4XWBBv=ANgMdY#~O772UC54hw&=i*cuPNLmX_x3FRT8D7LZSw3;bKV>s15f>Op;=Gxm+(Vk#m)KN{;fV z^02Z?6{MM?iPX&3n2O(nVW|<_A>Bb;ap|veG6>ss7zPbJhJHhzVT+;2)NX1pHJKXf zFV{on$i}orGBBL-o8(Pfo7MsE18Ax(hk=K1tmSCSqujRErLAjQSGF!|MT0W=*|yNG zx&QNIg1Q1RIT#hD0n?8e!mPur#}r`)u}xSNwh}AB_G25cwZIyZV>Q@1Yyt3wx_~;= z0tBK`ED2A*lko+3Exs6Eg5Qt-gO4H1CqxpW2_b~J1SBC5=qq~(1R{w@B;ttzqLx@f z)Df=}uM%$%RU{3mi&R2dL^6=dNLo|8i0{X6-Xj?(u z^%#xK$Y<~v-Hbj)4`YDQ%jjoJWTrDynQ5S(zJ$4px#oX8^{q^A)y|6zY+Ti7m~@tk>}&h5#W&6xn2+%x{y z=bpsz|LqwcaH;D%mX=k!%FT>tmpMeNeJj@FRClKN ze9P6AOD)@5ceQQ?`q7EDOKn~`!X z>_O~9AZA^_-oqZj?!evzcGhX^4eUnjMeI@RVIXRq2g>J8ECt_=Z^JLfV+hHF3_>t%ZPo%JH+**L!{ND^Q2RxT|k)FN;(0&iTyy77$F@cog{4{ zts`v)+Qb^*PaGs!a!iy4;0GMYy_4NnTDrf!Nn7fc9(XOW}!Wyy`;hD&uFh{ zw`tFTjsA;Pz*xpu$ym-<3d+z{Obipt%w}dXZ!s@3zvWJ0!CBK-deE9*$@&Qdl3+HU zUB|9ro7oMZ^4|zL|L&YA9A6Hczv8A`X|6#!2Q#IATsAC!dqZz039F+4FvL z-*T;Z@3?=sV|X9A-?;C&Z@8n}FI+dCH7}l@%3sId&wtE^3xWl{f*FE&f@y-8ppO|K z_$IIjuLwU1uL>^;-w1aIHwnKAUkTp}j|wjdw}CF~GvO}b1>t?+XV8kh1=_IpgqMYd z;wo{ic)R$r_=b3zwlf{ zzs2%(@;&mc^7Zmf@(uD`@{RK4@(`sG)HKz=DR`)Sq}-`Gt=g;FqB;jkzgtxkHNhIJ zChLC{xOJN4niZO*pj=f_TwA=bxUTqQ@$up##m9=RKqK#avAxzoJ6il3)bj3XtxLw2 zIF>k-{H+(J>lWyC>-Oj_=`QQe=qgK%rIyk^rTTJfy{#V7+v~^ZZS;2f`IXI;2Ph0~NVzy!&aZb4DxcAsVV8;Em!q|I-LHu-7RKNng1}hGIlVwF*Y)` zGj=m}F>IK4CYgz2zGePl{$jpnzGQx2{>QY+{la{g8_b%+TF2VJTE#-J+u3dGR`%a& zBcFrgkU3IL0jG#l%^3ztK@+DF2n97jELgz(%pJ?Ka4|d-Zyt}#OX8*Rusk#`nup`X z@n-Yp@MiL|d0D)4KAPXlAK@S4CkfD?8JjF12(kpJpdb5PFkU!8=mqXp=Zn%sX(FO1 zN|Yobfd=wck(Ve-gcrq$z6f!kjT|dV7R?r=iabQ#pq6YF*Nbl zDSs<}DE}zGE59jgRc}@H>UXM#s@I@@P159Qm>Rl~4;;XgsgTdDL7Obe-8NVAo8^#*{7{(cY z8{Qk<8s8WpldEYqXdulr1)27m=2Q`?NL3kC^Q&-G=&A^yh+(TjtD>rqzz$0QqS#Cz ziIHl}|LcM+2W7BE&w&Fy6)0<)TdZ2`TEDeGtv`V_1#A5S>ipk9e)>`CJ>b_7+OpfSfCh69m@s#N z2~)L*3(CfMT?|k;&IiR~7HIZ9?pfcvy6XiqqqmxCOv&%)-%eXdE9` z3h9v^XqK9*b~N9236?{{de}C?Z@Y+#=j0TqC#=U5Gx!cwz$3HIEQ~3)0Ai zV3$VE?|q<-9V=qV)w9@uonZRrjoOaQ_oqP41UCqightUO(Na(_-!7^Y6^k~DR*AYr|A5~4QPBobt*A!SDH;^577dG*h)kkT z@gDKN;y21XLJ=@#iD=~?Mh=`ZO|sV#6e&PX>&FG)87ZR3Y@m-L(TtMr)k zG7vbnOK*c!k(<)j(vQ-2(wEZX(xcL~(l^qB(&y42a(l%%#UJ^5d7M(OG%6>nCaFAu zapR*}sIpa$Q^VAD>QR*wC`10I{-&O+@z?M*0u5Iq*R*J^YOZOvYfgi9V{`G<;>*Q% ziX*isZLAgvDzVX8aY-^L(eia7omBTr*A5znzGXAZCY1%11%h7NR8VYdFYhj2RGy|! z)+_XL^-=m*eS$tjAEr;y&(kOAL-h!KT;)(@-(Q=)@^a;5Lk1`k&NF%%ryJ)OXBk6` z0Y+<6gelU5G(`a{aR}&kB~?qSx~le9tpoO-8Tfbgz`@f3_pZFEwrW)sxwepfqV~}L zcl?gmp85ZZAF*x-^v%}QwbymkHPtoLb=0@i&jw=rbRexGfUZ6b2=e}BbR!)Ix9fp$ zyBavRs~Uw(f~Esadz$V53DE~Q8WUT+fTuRCbxNx%u;He*`nI~X`U72KQtSBEm#uGG z|Flxt&I9AdEVX&*em!N1aU#rv^|% zs0gYbbqX*Xe^7r?IW#T3k6uY{2a?4qx{9G-TxOhQTwz>fjAJ@55zMSy9MGc{oDsmE0!%~uVJqRQq(2RBhD7i4$ec)EUtrWsmrar}WK>yzEC(1i!LmSEkt|%6EsK@~f%&s3GL-C$ ztX}2=bQ>PD&Tob4fYYH`wHFrQG^_J$Q=Dy~krmVQUxC?Y!LB+Eet9`4@Es>NI zl{l4-Ep;fhErm*ZO1n$DN}rWJDMgp%l%4%AKsJ($nMS-3V~jGU8Bzb=MRzw%HodC)>q9zK zKdd@d_F3%`9`QInhiqGt4-1nmODYZAO}N%z2GvK@0g4=pb(d-Pt2U=Y}o~ znJ^o0+i_cPTXDy52XO0gJ8^q)n{X#^l>{w8Pk2ChPIyXqOn5?=M|=R}yDPxMJ5Rn# zK0&@jegYJ{_vG8;N91GVh=~NO`OwFQ7sTou*l|ap;3TY$s zQ}naInAuO?N8d_645XO?Ah~6+bgWaXlPq^OjlG_|kv%cbB`-a1THa^Qq`V&-tGuy! zn7pjKl)UUbR9<-A3{V}n%Zmi7BmP{Ed{q9_{Mq@z`EmI{`7ZgB^T+2q{{ERYt^3$#G1AQfl|LJCX;83iI>R zm8}K-(>57KK~oec@)c->5ESJlpcbE{;44^)G*Fk%QA7g^AX1g8idUgjMQS=wOW0}_ z5KQ8MUcvy5NwKCx0~LSJSQUTLeAN5|W#KQH&zk$i4~iLDu~wjEX?a?mwooh4GC>hs zq~&Vg0gm^dlJ1h8lE#wylJb%^P*AS~LEcK8Q5RIbUpKjQVyQ1EK~Doc=wZ<2)s`Ll zUuRTUwz+(3`S$V-y-wezH-bq{hF(@#P+3^1tXxyMx^j7Cj)7{ZHB=iEM!B)X$T!N2 z0NgO@jHO0_(blxUWUAIy#{o-KQ!S_#SEH*X)eNAlMpWlj^MJG}txl_E)iP_@wLd^@ zb}VSjLJLQ0f7Mzqge|lKtyvnVbY88yRd*NkI`7pzsykhGt?qK&K>d??u~}(WnFZzo zv)sJUTyEx>7n>F48ne{QHOtHrv(8**MwvxsF6cnk1I_%eYJLP@uX;|71Szf2h~i~QERAr>K`hc=1&Wt719c5kAUIyihcuF zPB($+q+#4=ykIfD973>J??W>J9Kc!hPHHIALema})W z7v#m~W#(z~{*R`+{!e4+A3j{6?(XiEZtb)^b@u=X?(VR-J1mQ96GGCY?(XjH?(XjH z&z$@Fdj0`^T3~i&KJSai<#X9!KAQrxy52lgKoJlGiv(r?TVNI71!BQq;I-NWTH$=* zRUj@b5G@0O$QeL>1m+AoRTh)9+WPWPLt1+4^j+* zo5FuoP2f+eUhrtRBit8m09S!K!+%w8Rn_4E@Gy8F+yzK#ec=9Z5GZP|RF&Zms#B`3 zs@a;H#-Ryo{F=08G>}G$wG)AJDA4ouGQAq8Ko~>H(8E~ISjSk)*u;3>_|WJFEq#}X zYuay~YhG&JXkHGyfw(1MiCOZj1FS2o%dM}iZ>{rfMYag2^JYPXceX8I+h#*;e%p4? zkKJS6=~(BO1E!w$IOaJ{I5s&pIMzFMI2JheIyO7DIaWI^IF342In=IupeK9R#d6c! zs2k^TdlH_YC+u+no#UzJho^?Oskc37*d7N4@e%(af6iaw-{7C)Kk47*-v?~sq<@$H zJP?YLcu+$hyKCp6G zz*J)bRjn0}Slg!zDRasMYOvG}Wjgcbr@Xi-tFcusLy z@hMOut(5(*oB1W%0yqn6LD#=3XzAAlE&BbrwV<8(q;y=___9x+OZjomu8I+$nuWnv z!vDm5#(l?C!Pmss!dJuJ!lMPjf>1%MAYAaSU_)UZX#}uU2a?8+29tV`3Q76ES=E#N zA@wIg;D>51rGm1NGKaE;vYfJnqNLWM|D@HSf2P%?*95}cEBbT#OS*s|1Odj`Odg93 zMA8SW8?3vm+pLGId#tH!4SOqlGuy}&b5+2!AacE2J6Fw>bDcnBOmbIp<3MLD23)hHN ziZ+SXi@L}<$eu|n%i7CY$$m>a$(qP&%RWl0$f^PPsF4gO&zCQfAC@1Hj{zc}AI8HX zm;eW0B}@lOpbCxyB~T3u;4DmmFRNgf1GC||npK+hKq(<<%e47G^^^kh%BOb%|H@_P zXzXR|VC-t_ZtMg)?xn^Z#z)4u3H_fR5iy-KA2#nWpD^z+UpDVDpEHlKjr#~sIWM}_0M zcXyd*j;Gu+&r|9t@w7ljA+3=&{=P^*qzTdp>4J1Znj){jEsDSX z>WCNBqef5^7olcU0y^SkP!=x)$C1on!%&S-V^D=}2CDG8!WY6v!-v8};gjKS;SJ&A z;RE5l;dS9F;nU$Q;qBp@;hE9=s3LkVdMElM`Y8G;`a1d``Y?Jc`XYKis*KHzEsXVv zHw4|`&hZBEUZ6hQDc(N5Bi;^3=N*7(-W{0cZGm^*Eg?;+fGVg24m6bN2h8CCDKr&I zMS!e(7|54ffl#>$h?V<+in$BumPga?fRMQw2wIqI^=yr7tt=-S%SM1+(+SuiZGmP{ z8;A>yfwgcOH2Uv?BL8_%=)VB!{98eh{B3EEvPoqVLH`;qs}B0BRm+!G?5Q|Yv5ZnM zw=upYzA3&Tz8T()UxB}kPZeYeJ{C}cBWxi_fhcSy$w(5C5XizXNddHBBWXWn59KK3 zFhxaeM;}Z#)8EnSGp4gQa8tl&33E?#w{Z7xPjHWMA>LuZe!)q>PQfn04Z$J7QNaPh zX~AB>1;Hi39)VtXM08xVU35rvRJ2VrN;XXPuZ${_1AS|_Y@&=OmRZ((>tyRp z>kR7->vdZr`*GVN+fCbj+jG!Azihu^ukCE)tm$my?BZi0X>d(iOi z>E7sB?pfyf>8a_Zc&Xm$$p0DWQe*-$4N)R8V4?faxo8Et0F9yCVDHetP&Z%@bPBBq zEeSmd{|LVfzYkZ6+zLMpzX|^dSB_MPd=0-2e++*K{|d{a%4jC~DLN6fs|SN}^?x1f z5sChZVTnPBWx#hgB=x`(*8)r2njD-;r#b?S^ILil5IQ?&ex>^WyR)OKvoiEOR^A9XGQ>frXR3px|TEqLPvYxcXR@Z z$7`TFyw7a|HRAv3!aYG@ycuZob_Z47#-Q1It>RKe43q(T<2&Fx;RoVB7sN?!5+;xr4czxs54j&1COpALkz69_2m(&d)&JVBQ(Q z2_RtI6TA~V5xf$-2b%e7fmi4gUKd>vxn;9ue%S)q9NA6TLYWgtZAsv`G30CHH{>-H z*WmZ?UEqS=gdf2#;kU3Geg)r$pTn1d7y1r-O9BJm+ZVWam)lK<5N!ALl6N0Ous`67HUb6V2(SZoqC3!IKn@rIM2m@`VWCl>RiXNk7LitwHj&zqj*)f| zOr&9CTy#uS7yS|a9sL#k7X2Ar7Mm8I5uXYQ=o1s86XO$;5@QlBpqu)EM(<6!lfyxY zy#i?7vw%d}6F8;QfxkP?NF8!NZ1B&u1Kv8}KXfa1B&VnZBEzq03Suq+EEFTmWk=Br|Q?5~l(V6Ur+(Eog zf)9c}g6hH_f}et~f~~?^qVD32vQ@H!vYoPRvIDX;vb8d{+$>)!ucfY|{sUK6|9~5* z8>oM3erf(_zG+N4gKnvQufCaqWTY4ijJr*HO*>7yO!X~mEL!-`)Ho8xH&U$Kl&mzl_)5tmGII<4efow;X zAaBuE=m+331VS4^pF%w&!y|noeImGMwHP(d2Q&17I6F>^?~6}M%u1lZi47)K0{Q%0 zYBmsDi-F6!5g4qiGV6faS_2UNfZK$5!-Jh?l?T|xbONp>|bvt|L$X(mve z3V}~F8rV0ZK;wIHu0AM%R|S3q7T5^0Kym*#Xv!Ze+gFAM)n`umy^3a_-8~4um~@A7 zm-2w}nVy{ciuHl}mHP#F&y|D?g!e?ZMUQ2-WjACOWo^_Q)IHU$)$P>H)GgK3we_?V z?E|L@1GI5gM4d#6~7Z zsF9kn+A(`v8%IHjUlF&05S3UUT>hxae+nlGs^sboV)bI7xCht+-uNb<-nX1xb@uPf{URuP zsH6Z`M$2-2fc!EPm@iF$4PXHs-e(p4LD`iL%C1B4!|?k_`$z{!O{ogTY348PA8tEg zTVav#x#*`1BmW`WAfKsjqg|@KqQ9h<8ZVk~fTxT)cez>w`UP4Cx&%7|QKUmq7E*+E zhx8Fs#1Ux{3&&&eNSvKmo7j=c17hnC;Is~#JrFpw4~m9mhi3<7|7OKN4un(a{kEbNsL=k`oE?cDfj>q%K{`%y(JwJCF!R}exm|^| z+oE@78; z23`q!&VOC*|C-V@Kwnoo_am#hoUc~cRrV3VeWCgB{VDB#K5YprccrvT*{KSF`i7}A zVw!zC%PSR@0&*a-B7QjapHpj}{hvkfwSo|J&2C-MQ!6VSP}T`qBbObsI9fOWTC!mwiDd;qG209C!gU&-2po`EY z=rVK#x(Z!`u0uDVo6s%jHgpHN3*Ce6Ll2;b&?D$E^aOeeJ%gS@FQAvuE9f=!26_v< zgWf|QppVce=ri;MYKUosX^d%tX^Lrvsf=lkX@O~pX@zNxX@hBtX@_Z#>452o>4fQw z>4NEs>4xc!>4E8q>4oWy>4WKu>4(X~^v6J$0hoc9L72gqAs9U7AIwn9FwAhwznBr2 zk(g1K(U>uqv6yj~@t6siiI_>4$(SjashDY)>6jUqnV4Cad<+)zw9~du+dG{daHsb-l@FPd1v#k6?zpy6+@N6%HJx@s2r{$t1>>Hk^dRry3ku#BfoC`l>Au!RZ`s_Du#~TARooo z&(F)xo=5XZg4CpXcAt zzny<0zivU>!kLAg$z8}TsQsxPV8=IRj9};)ItGU2W_el1*|m5$UNgl%iV2D_iV=!6 z+I3*#aGNFUZeLs<+Y;Ls`#HZU_I-XO?AQF7*ml?|*lO6$*d|yE_EUai?0S5Yf?5R) z3ziggF6>Y^t1w(xgK(d8my}2DO&&}hNp(~0RD^1yI;keAi%J6Kc{hfgVP)7DPR3oP zf#qjaVYg=M*_YXu*k{=c9*Za7ad{#hk4NQkcr>1n_ZGOjqs7C;!^9)R|BAcP|Q%wRA|&J?I!JJZCuye;4&Jlc$e90_qx3fugg0t;0)!G*3u#tReR%RQ9Pn?N8;BD5m3C3GXSB#a_p3F8Po30(&GN9>2}AMCg6uk4@f zN}NyZe|bJ$lo#hEc(ZvZPs6kEtUNW(!wd3EJO@w9)ANP`!T6K#qws_9vv87likK=U zif01Fn<<_prio{W&&mI@cg+g1Lay*DB8r4Uqkt7sMX5rmKov!bISP?Nrw}S^inv0r zwyOEsz1rQ{gW4n7{n{Pc!vIpu>N2|7y0q?J!*E~#78yLoQI^5(B6rT6bf&3!p_8Iu`+Ba)`In5&DbP%4t6%S0-MHqu|-%pR)wv=@51lF4=ET}FsNX1!GMBY z1+@$76pk!R7tSt32`++%kRo^qL4urMB{&H}f`XtYhzKzPOyCkYgc1UuASMV1UrFCd zFj-4hlI3I#Sxq*Q-DCsVM%Iz_WFA>Uc982*Cs8+3cTmq#&rml|Pf_<%w@`Oc4^ppC z*Hd>>_fd~gH&KsLd2}H?LocFFWK3bKVJu?IV{B%uWh`T?V$5YMWUOW^V60#)Wt1}( zGqy0+F_th|u$r=3v3jyQv%9dnvI%T2+sSsY@30@U`*FH+T5$$)>Tm{gYI9m}260+* z+H?AHI&bvd;-Z8=SWth<`GiFcm2hqr>ag?ECthPRQomba6)oVSj* zjWK5j7Uo6#W!d71a^d6IB!a7B&(!6nzoZ79(PXI4(|$jbaty`j7pqr;#r7PFn z)<4sa0ha4%L)1`WSZn-fd~bYb{A~PY`epiV`f2)M`f3_)8DlwYF7o$p=lJ>XsBJ?P!y zUEoy*;D8b+f~4q$#L2|P#OcJ9#O1`*#D?Ui-_7!$w!L)*X1qTX771|54g~f%r!ji%r zg!zQkgvErjgoA{7zO95cge!zCgu{d*gn0xtVHaTmVGlt|xI}v`oJZ}Q;EUzBF4*xT+KEEpeCGR`00lzN)8}AFR62A$* zDgOtr8UH8m9dDd)f^da!ukasHC(%G)ueTL-7j+g567>=N`#+I=xF}E5K-^HgU;IIQ zOuR#UOT1J3O?*wfPrOxpSo~7_NPJhkS$tZ&QT$c>Mf^tmP<%kVU3^CTRQyi7LHtX6 zMEqKOO1wt=M0`{HLwsC(LVQsCLVQx(Q|^`fw^w&mw?}tScSN^McT)FC|3;r@m;xl@rG^y-i}8@Lrm3n4W2$DV zZTf2bY5ZY)YI4n*n3=4$4K<^~`SUdvq7+{8THGSf1{GRZR0a@lg)a@KOia>nAe zI<4oem28!5R=e45vAgVUyT@MDQPWY`L2;#AG1nef4R?Ka10ahIbzgHIb>DNJcOL@+ z`#JYv_d}qt-*TUDUv?jNpLJh#KLIBDUr#6RZ0~jNAMbZ>4c{|wCEsQ5zrL5=E8b7u zSKj;H58lt-y1t*@FWz_F7v4wSd)^=3kKWf_Q$P=-PF-MJFh3{`%7BS_F@y=%2y0^x z6ZaEu6894Cle?39lb4f+lY5d!lP8nMl9y5!Q-oq{F}}F4czSVuaeG`fTn$_kTxT4F zYlHiY{e&Ha8;a|T`-1(7ZGmfx>xk=t8-nYP8-S~iqv2=cGx!tuL-@n^WB4<8ZUL>J zpnz4tE+7{03QiZ)FRUo+PJBRUL2OKXO87{4L}*R?OTZ9o5?>M;5vvj36KWHG6220? z5$+M{6RQ&I5G#|bkWY~ZQZAD(kav)ekav@Jk++ezkoS_0lFyO1llPPBQ>Rl~(VElx z(eh}`XbosBXtinWX@h7A`cnF8`YL)=28lsnykh)iykWd&d}UN(erNPz^<*t$tzoTT ztzr#gLu@ho|NG(#I6;n^lje9h zpTK{_AI_h_pUxl2@5LX-AIzul34AKQAAbse5TC}!^M~=t{IUG0{OQ8Uz=S_2JS03I zoGxOErik#O#^NU84wBZAX_A4GL6Q-Y84|3dxnzK(tz?L#kEEZZza(EWQ8HN4PSRM? zRMK72Q<5i{CHYsL2y`eN}xyeMfyyeMx;Jzi_pnzTl3 zCEXA0C+#2Y7wt#wPi}rO;Af!2^@}mF1r0jpeoFh2@sz zj^(x`U=3LjYs4D0hOMaenzbR2Qk&SS0VlO4@KWpBYS|jw{PvVRY>(Q5_Lv>9w|BI2 zG;-8;v~)CgG;wrrG!X zD|>#rD|spdJG7g3kguO_qOX+?@9X9x`NsIh`MUes`a1i@`|^Ele7$`&eItFde9e7b zeI0#6LBpz-Z;Ee{Z>F!%*WTCHH^bM%H`P}dCI!c4IqKV zfm~odka&v%C4o3Fd6R+JfeFEhL1oYoGy)6R9n=5~84mh_&Y(VM4>k@@iIStX=%VPt zs4-@aZH{e?ZHb+aUyT1rd`?tJ{!RQ$V3NNQUlLc6_mbC>HTr_Ahhgt8p?M7stYJaD})TI3`Yun~Ix-8;7IgrsH_H zX1GZ>HcpC@S7r7zjDY-JGF6BM>Ir$yA9tA^T zP&qUTjYt#IShQiZAv7foM`P23GzG1YCZLgN6KG6Y0c|3UPMb=L(?-)~(T3Az($q95 zZ3+!fBhkjw7&I+iMc+@~N2fB{GwU$hFmT+ob{V^vJ(nHkBsl@j9?m+>4$ei+CC*vSBhGcsZO$>ydd^MG zR?Z2|Ud}K0HpXIOQ$N4ZHbNOaI!uRk~{1{)&FBF~@3PoHIT|^ZzL_ASTu|rJBUvdSNny!C z$tuZmi9w>5Y>*@*CP`Xim&her$qI>EqLDZyWs+h^L^4kjk}Q&#B{oS)5|xA{4#_|A zLGq#UVe*tbA&<%9@~FJGVxMxQa+7kSQmc>u9QI>T8@@o7S#%Y1`>q=xXR1>00V)>uT!$ zY8&X<>w>y3x^KGAI*h)u{O~$G?tAj=qjwj&Y7Dj?s=Wj_HmOj-C#_tH?FSRqiTt zop7CWopzmbop&8|opl{|b#S+Lw{cGaX8BZiOHVgXD^D9wKTiiwUr&2aCr>j^4^KN! zXHO#_91rsT3xwl=UcEQzTj*Qni}|cRoo|s(?@RbRz9L`FXYkGTE%!NmK3~*V?kn@H z@I`!1-(ufdU(lEJt@F8jOMIwrjnC*S^-%+)z}~>tz=6R2z+s?*uL~RtY!7S-?!cZvK`<073N8a$`-)&`Fcq91oEt0&E)C{_Wx;H4QE*i-8q5UaL2u|v z=z8cf*u?7*?i+3&9u6wTj3_heh%SygVz!tiwkviZwmr5twm)_)ekXoAek*=8elLDM z-Zfb#*(ljISvT1!`8N3?`7Ze>`62l+c`5la`6~H5NlH;tv{Ye=n0l4^lzN}~nEIA_ zl=_}}k$Rc>ntGOcld={Cih@Pnvbi!`5pFiF0vEw8#QAVh zTpU-9li=py(l{>;#j)|1@Qn)_6)q}V3O;@raWQc<(L|g?T0qPYgTw@JGtom_NK6wK z5go)RaS72yEF#V)#));wy(mK|ttjm&Jt$o$Jt?2bQz_jjZ7FRigD7Jt|4{NM!zsfk z{V07YBPd+zTH0*dT$+`(fL1{>)0WWew8gYlv?AIX+EALG7N%usK3asfoMxjrXi-qi zPS7&6a@q^}Y5Ga}CHi^#3Hlj&T?WJ$%ACNIGsiJ!Fvl>5F!9WMCXqRa`7g78If^-e zNo9^_4rfkd4r7jF4rKnr9Lt=Acze_55}GGyKQ=XZ*MPgZy&ANB#-^ zJ^mN|W&Q{LXFgYOm%oR9n}3Uch<}ZLk$-@Hlz)nUl7Ec6M9N7MO)*hFNLWm}O>_S#6e@C1#eHXVzPE7Oh2X zsbZ~dt!k}n#aMIJC)P*S>9!HJiMFXgrO&sG1xEcO+X7&xFSF0LQyj2^?rNB+?U)FJkvb|9;|1I zXOw4_=U>kg&l}HI&o|F^55_yvJIXu8Yw(Wno%Mb9b@A`>Jp(?-Q{N-sFW(nmL;n%q zG2ctyL*HIsW&ds8W8XF3U*CP-N#7aY72jvyabGQe1OFXgBY$=O0pCa8W#13qQQvvr z3ttoeLEkIi8{Z+{Pv2GF1792eP2V5iwZMbGlfcEm!@!Nei@@!`%fPL`tHATX)xfjB z`M}g5DM$?N2wn|t4{i(Y3+@SS3GNDR4ekzZ2v!aq4;F<=LfO!5AdlY+<%eg5hli=* zv0-wU5}p{I6fOu)4dcVp!!yI!Fgxmrx}!Uyd!p;2+oPMK{+K%!id~CcjGc}h1ycGg zV5DD;U5_0DX8PgS+xXY`kNEfallYtX@Ge~e609j@%!R; z#fq#ttIF0WSzhw8+)KPbj1kWgFB2aSuMm$B zKM+q7uM-ato01DD5{iI=rOcvCqrem*C7;5iP$@zRoid8Tr)Vg@C`W0BXeVhqXxnJ( zX`5;5XnSeLXgg^~Xj^IfXeVf!Xj^EfY1?T@+7%>Cv*FA zvD{wVvD}V4NvaF48?P(xF#kROCBLDdv7nZqqoAu`kYIwKgP@t9rC_*VsGzf;i=eKc zy8sgO6pRxL5%d?-7PJ5mQRvTkdK#7m5-B`$?N_2 zDgPz^F8?b3CNEQ6Q5{nyRQptORTbPpFYMtt|YKiKs zYJ+Nz>Y(bD>Y6I2N~_|km}-$~zG|;(qw1XMget3Aqgtq%q9JGsG<*$5Gfu>O1jatLj;53DriJDm&ng*+lX`|YdHmQwkN9xAwM(F<4jnz%pP18-( zPuI`T7wGYNvVN={tHN`a%r>KqZ`)wsWM69!Isy*2Bj#{95Qo(fci0?0husl% z%y#%44oBLdbje*}m&B!TEpaV&Ep^>=-Ewtu3p^Z;$;0qSJ#-JxqxEzWvphzR*aLee zdbpl;-f7;6-m%{C-bvo~{xN=%-{`ma6aJWA=*RoV`U8HkAM(%gJNz_1)vx#K{7ioh zgykRV|JOg*Z}m^`oBad*ll;B>*L^em{r%(p{rqgd+CSW%@1N-}@WcMY{E-o535wQ^9jVBvcl<8+sgi6uKX}7kUu76?zgfh67<&m>V7wHif-mf7lTAg*{ZKZ_8l{@2 znx^Wc>ZepGI5jn0kcQHLa!U_N3)8H$FP)d3o}QdmrWI*ynv)i%;q*UgZd#olkS3)0 zX$0Y-IjhY!D5+Oc zzhqU(my+)#YjYcN>vEfOt4mjw(#u}Vc|GUp95-;6pWrUxuHv5IKH_fTUf^!y9^o$H zUg6&1-r^qO?%}TC-36Y4=LIjpk^QQ|9;9ZZx}?UWU&IEawxr6WCZsB)AH;Sf4CycN zJ26DDQ<9VtN`T^_xF~u`gkq(jloTaSF;cvgAjL+RO-WGxP~_BGv^TWJw9B*?v>UY7 zw3oDxva_L+lcLZ0)<#I{fUc4T>KD<7HSpvF%DbNdy02$N ztE9W6DQQj`moAmYq|2pyq-&*nrH7=urHiDOq}!z@q@~ic(v8xLbcJ-jv_g7anw2J{ z2c(;&i={`T)8(_|GvpQWx$=4PgYrZ2Kk_rG&#L#Ts&F^>n`$WhQyio&Z;af2+QzhQn>)U#frM4sboV zJzNv+1f!ayCZus|5RF%p(AYEqjYpH!Ow<-?v)UqUMms?_ONZCZ)baE>y+&`)YxQEi zN?*xP#ZcAYFeDAljWvyRjm?aWjJ1tTjoXYKlih@vye5^&ZGufslh3rlyu!T6yxP3X z>@=@5SC|)@=b2ZT7nm2BODtha#8PZ2vdp$*ELls?lC~r*eXP^1khQ)+u&<3HeEEG_(w1=mfMcIu0F;PDVST1JT}SKXfG882uL=fDS>&qutRS=rFV^+8Tw>M(Eez z)8PByhv1LkpWvI|ui%&9&)~b@tKiFEd1!uUZm1&kJoGa3EVMG53rE7~a3WkB9u<{D zrP0gLv(c;3;#jSCmH6LSz4-4~?ReFAjd=BVwfLV{r8p+uFwrPcKT$8yCDk_7G1WQM zA=NI`I@LARDb*%rO=(k>lrFV6y(n!=m!+-gdFk2d73o-dNxC$>GHpp`)2{Tw^qX`% z?M)Y@7o;8OV0wN!oDQU;>0Ekg+L=bv%hToQNV;FTqIiDs-(pJEk+o)>Szp$j^=55Z zf7X+AWzS?!XPcL-E?HAjC08j|BUhfA1M2+Sb31c8atCs|b4PRQOCOd#EgfApri@d@ zEn}CxpYvhP=Q&F&{^F|QA^bO7b$ku{7u+9Q9eiEv*Uqb#JXrL3YXrp%{+Iw9>7 z?KkZ!?F+3c{Trx zEhrYu6Ci@DV2&UmhzP=hs9>RBu0SGKFDMZhg;t?OXcKM_ZUkP$I?-~`2GLg03ej3o zC0TV@3)y4oH)%83d+8%-N7-NLE9nDi8(BNqA88NS2k9GWQ`uMPQ|VY)P1zIaPiZ~b zFX>BZEg44EQr1n@K=wu2T~@}j-_MkI69_| zuH))xI;xJRL-iqjSRc@P^bS3u59;lDi@v6zhQVp*W^8Y4Wo&0`YwTidZR}}mW1M3w zH&z(Sj4@Nf6fy-(r_DRfXU(U~=gnu#m(0h^2hE4f$IYdd`IdQ>IhF;MGK*0@+`7TK z$-2?H)ppXh$F|CL#>1|%zny#(*D(P)A7Rb)N$2u-%-{1!|}xN#qr+p z&hf@^*I{(6a;D*O zOL*R{$OxnXQVHpW)JJL|^^guoZKMa%7WwJ#gZ%K9-xFzvT~+*8kn#66uIQNFAgV(jVakNGKl_ zpeFP_szWI#0i~k_C>N!nc$9@IQ5lLu^HDa+L}65cT2U3sK!qq4wV?)-hl)`tN()vC z)eSWb)d{r-wG6ciRSz`}H44=a)e0>LEeb6Ry$-z#y$YQT9|>;@UkslQUkYCi?+jlJ z?+Nb<9}Zs&9}MpZ?+#xNkB-iYCZdm{cca&%&!RV?x1&#^^I~&i^J8VPj`1$>Zt<@1 zym+&Cn|Skhqj;-$_jr$Z(|F@}%XpJ`+jxt3>v-Qp*F?)i>qN&ymqhbKi-azzPQpoX zQl9Le>XYh~>YW;x>YmC=A*nzrobsf+DSyhHI+s3}K9t^?pp3-?rQE-Ze!`I(wC(lOFxvpFP&UAp-fz+FVmEX z%8X@(GIg1xOi-pM`!(msoZoZ)&iOj0MtP<3?{j|6saamF98>PAxLDC(Zo|24@lEh8 z@U8KU@OSWo3-1@INgR@jq$7z)e3Fu+C9y~*Qd@Ex@-fP8%5lnG$_~l_$}Y+gN(*`` zdK-EtdQ*B6dP911dQW<5dPjPD`dj)c=6dFG=2GTn<~rsY<_hLA<_6|!=33?^rkEvR ziC8e}IqNCw3F{f_F>3~U7rUIhj9bh-%-zI2!rjk3#ofW(%iYF}a<2-m2+j%43XThQ z3qpc}f}4Vmg6o1oLYL4kTp&Cq+9TR0Iw3kKIxE^O+9}#0Iwk5N9xM~drpd&zfij6~ zw2UcJ%8W9)3@_^`qsd0d#>mFWWHNyaC&S7JGFT>+abzQ9EE!2gl+BXm%O=Z+a)O*B zUn*ZAUnxH(KPty4sw%20R>LRZh44{$7kmaj2D9Kp@NT#QJ^?R-G3v$e8h8i13SI%9 zh4;eS;05q;cqM!qUJGx4*TIK12Q+&%+cZ}+`!xGCCpDKeCp1SjXEnPu*EG8{M>IDy zH#Ozj3awNp(us8nolqy&$#gD#seYb*wmz*d($Ck|F}Mx=js1)RjH8T$j3bRhj0263 zai{T#vD8#I%2qCyM^5fLLCB#MX-CPF}jhyvjUgaJXI3{9X}G=rwm zAnHMj(Gt{xqUb^tL6c|-El2(6Y;+DJb_c>Ky77>JsW7>Kp11 zdLOzMeh~f;{uKTkz8!8Fc@(}IeiuF#z7xJ5eir^4ejEN7PDRtvWb||NP4s>AUG!sA z5mUt$$Ckzh#Ye}7#mB}c#s7(qjE{3!q-77OZGbGbH(=<~zQz!E$T`N;5^E2H%v#aQI(Vn91 zMLUYN6zwhAT(rArdGV#UG8D-Mecd-X>NPz-qKB_J4?Tm{wV!k`n7aWnY#=rL(A-C&N5q>w=7eZE=!hK z%ZkbzWx=v;J&$gqzo&noZ)GZ2GS(jUPWD0WX6`QTQ|>+PW9}pFGwvPkTfuX|L%~bIBf&F) zN9Y!A5#A795XEH0GLLMrEF_yNE0fKaRmf0TMi!S9$$YY9vPH6#%q3eQE0rO#s4NW( ztkv>bic|1%_!E2yehA-!U&Bw~C-5Ek1AH5P06&B8Yu;;~X+CHkY2IlbXmmQ24%TJ$ z8}uvnN&O1_YW;fsV*OfuLqj7&V?zUj-!Q>A)i}*K#kk1$+_>4a(zL;})wIR5$+X_I z%=FIm(fr$7#q!hq%lyGy&GOy+$BeP8v@EkQtaK~MO0g2GH0vJgKI?vKHG2d52U{ik zU)xVxefuX{9s5UH6?-jvReNRoH`{Mpb^ANpds{<$ZTmBOKj%p2c;_JJ)RJM&-p*;x zvCb*ZUe1|L$T`CKk8`5)U*{y3%jI-AT%TMYTz%a;J%>D}JSRMdJx4veJkLFJFU`yF z`VcpgK$ap!$UG#1EJSR`BBT_lKum}o2_f?lD`G~-NE|6f0!R$WA?1h%S%7$vAc7zk z#E6t2Nn|b}3G6{vpsUft=sI*2x*gq&?n2j~$I*l60rV8Q6D02)vSnozWo2bc%I23XE?ZO< zC|giAuWW7Epz?9$;_`pW^UC{|4=5j24wX+TA74J9e02HH^0DQk%0IjMm4_=r6|stS z6~`)WRQ#;?ThVoHm${wi66VgEI{@DgpNB6Y%^_t;rKECFj-;lJq)Qnx#y+N!rD9#< z-sQgLzTv*-zTm#&zT{rvKIi@wV1&N~-vpI~RfWFH$*o@*F=Y9+hx0D_hm<9 zJ7imATV+ROn`EnHEctPH9YqawU3EQmWpy=mQ+0jyU$~O`C){2A3;qh%R#(>k)qK}f z)&ABPb=&m&^qckj^?USN^gHzj^i2&-3=E^dNHyY&g+{WGW?W+2ZG2@sVA^5&Yp!c) zVrgorWoc+>Y-wa!ZCPbuTie=u*<0B=+B?|$+1uH>+k4tO+q>BzJHv@{lAL@e#mRHB zop>k5Np==GH@h~vzPi4-4DR!u3!ZZxwwLAIgd9QkAqSBI$VOx{vKu*y976UYCy_JA zG2}3^9@&CiK)MFDAzP6>h&1pNeS$tfZ=x^J7wBX3F8UFDgkC~#p%>BD=r!~qx(L0B zUPmhjKcUai+h}2EMhF|48JZlzh47(iq27@mkuH%z5hyYwG9}VKGBPqcG9c0|GBnaX z@=qi$(ls(7GAiR%|%P1+324rCRQa@DaMHN;+!}+PKvXD)GLnDo!Ocx%amtAnWdR{W<{nVvm{fL z31)JcxtUmIeI}LJkXe*jmf4h9m|2{;@c*d0uc$QBz~A?pYTCr~W)e*#y`d?lYpQ7o z*g#MbMNv^vK}Erif>=NikRr(>nKV#r5flq3O;NF%#I#8=lgy+}GD+Ul^Uhgk-~Dg) z*;m`OywRmgZ*cj%&+q%G9IhO!Y!HkK?h5q54+Rr~`-1htbwY?xA*>Nz7v2(H5#AL3 zD!eKj7v2$$2`7YKgm4i;gcPYoUR8&x4phw-&k@fO&l67*FA&cbPZ!S=&k%QtC&dnu zX_D!Z&5}Kmvy$_Ya}txpDCv@PNOY1WiCQu&xh?6IXe4bCtjt&DBRea@$j-^ovH;n6 zS)dFl^OJ?jP_iIdX?1b+!)klEoqVYrBHt?CBHt|EBtI|rm+waGK?snakd3~#0+a#2 z1zZcb8K4Nbi@J}xhgyg}j5&fiis=d_hjfH~4Vy`DB+MhsBFrWHLdYjPAlxTBi2O6= zQH(WaFy>B7Z_LA($rxMA-!TI*eK8MWaIvb`xug~3jbvx?Qu0=^3wa%RJ$W;E8QGQW zMBYN4n>0IVX3~_T=}A|UeoMNNbUEo#QZL0oX{K~hmQrykmeiiq?$mdwt7)rfE;J|F zGTIuNiWZelOn0XrqVK0~qaUQdr2j=v$)skcWs);fGZQk?Gm|nYnZ(RoQ;NmKGfHNb%qmfo+$>R+ z+$xDHO)E_Uh;}RoALkikFBX;?-hT@hb5;v9oxic)fUy z*h#!ttQXIb%$EEjnJd{R`AhP*(m%Q9rSvIH4TmL)5c5oP>pUUg^n zx9aV3Pq~-;f;>PTC`ZZn`PK(C1vCUaL7l`HgH6G&L*9gRhU!9ruw{g$ge8PUgolLZ zkxwF@M!t`E8}nDp^B5rJUCis4H!+9Ed&oP<`^dY=Q1UUd2l*)Z0C_*zlYEfuPWB=% zN?M$BJ&BP_Pi~>yO1YWRp7JWin%bW_klL5}Pb!4Ap0<&;iRMb%Osl8Gr-PS8(?6x3 zp?lNM(ofS*(qGdvGBY!CGP5&VvVLaKvhU^G$(fT&%#F@nSMZZ*U+{yus=%(`BXe58 ztb*wUa|^yRSFjve3s}ooi&#rp;p|AZhW&|+|c|1wlrP+1B0IM0jM%xmJ+^BQ<__>1^oE1dcB`HT5KDwgma`J4DF`1APxR@m`B zRm|l7!e7c?$p2C?i~qS|HvebEw~D#^j};5}Gx!fGA5}iA+#%d4)CgOJ--SPfI1yeH zE(#UtM0ydt3RZ=#I$w3J%D2i*yju(vZxe43?-g$r?+|;4w~I~U9!hmd=vOWmU2(GMTJgCX#VM3G||jFO$k{%7n5@GO_Ge z*>zd9?6Rywc0(qR{U*C6tE!e%i>seiKdt_=`j6^e@*Q%F948Nv2g}iNp8Nn}Kls8Z zM0N$V1+)ivV@_jwg9n1&g?tZNMVJ!%EoN%$=NP-#Cg-zq6aZYm5IT;+s zlEo#pC8edsr6FaQvf#2)yc4{WJPq$C{~&)ae>49u{}6u{e?NZ@PM#G_*fVrvWSeLP7$gqplZMPu=tetg!q`)OMF0lRNN@vrq}!zHrJJOirLIyJX|wFMOe@pLOtK!?fUI3+kafvgWlgevnMT$kQ^?G+I+;>t zl{LuvWc9N2YH9V~)vv2xRj-mSm#>sVCsv^u+W) zI+l*6W9UKj5A=6*UZzi0Vb+73*xcO(dkWkOwiUP)>@C>F+Qizx+QNdc64@Q>cJ^0x zCMTbh%PHV6Ia!<~C6%T8QgLZ{DYsNmDlEm7;mc0*&hz2?v;1>>AO30nNxnD#4F44W zsPKs}MiedT75P6MwJ+ye!k1^WvQ6+jCP791(q#d2fqV7aqW*c5g$ z`v<$2Q_A6RSe%o^D@sJA5oO_JS{|P7&kyDY@6*GSe%oFzypN(z^r z1!3KDQhzC0dR_{XewBTay^%eU{Vn?}dn)@Vdn|h``$P7R?5*r~*-P06*?ZY@*(;g8 z+E)Ef_511>awoZme4l);{J7jlo+u~FyPhP;wYKn2aN@ zPr65WMj1`@pf%HO(_-ktOmO?W<>1|CD`~ zO{>0Gy+(dYPLWgPDe{qk9RxLDdF+bVWw9$`@#GCjHRIyB@-%sdJY7zcuL+DKC(sYE>Pvnr?c!1RY5WvEm5&os zq{-4mDOI|-dQtVq>e=!uaw3^P{zQ){IKn#2I?Af%NQ-ZjT1w9elSLGfRTNfrt13bq zDUK4mN|sbFtM-=9#IK3nm~_72dTA~{o1epv78AugBrB>nC!H&hbMp8!X>&C-C03j+ zU0oebjv-&E&Xk{#i{v?Jn(_fwD+-CbM*kAz2Z@9PLU0fgBpeb1iG~D2kdO$7|Nlo= zp&(HZ48#{gfCNB7A+ZoV1PviVun+`@T>UTZsseOQ|KGP=_8?i-YzJ}P;Cvk<&8r2ao;7ko80U7eDqNNcJB=Rt~~o z|M6gamqoi`*2S({x$f|~)gT_Wb=|gg4(sNuD_B>!E_YoX2#jrBw{hL3b-(`{av5>4 zTQ_xGqg}{P)0BxR_ov*Qa%YO#?%tG3b{%%MDLd9JST}#&6}wq3yPS29PDnH4HY8#L zZbR4x!iJ~~;Tx*fnIV@UHpn2P9C8J66>=SN4e}f0286g_{)S&RIBi(7;kKQ#vx{@( z|BICgK&~uq1Ne|<18GB+n-jR%Ho32J(YsH$ySONvYwWz#ALq^~o@x&cx~Kk}1{!8F zz;X9~vfJ#RbAHYR1+`y(&j0E7KX_s*f3EuJ1e$7VKrznwr_0a(eKG9d&p*JBz!6Yy z^Zfs%hhct#Yww>=enO#cPIFRpJq|qq zJqbMpJq`7So`If)o`ar;UVy@&K2SIm0YyT6p?*+*XaF=2ih`n{K~M}73k`;XrF$q2 z8V1Ef!=VvS0yGjD1tmhGp)t@{Cc zvL50N*$O!bIR|lu?1XHB?1LPItcL7@Kp-BFV~~ZA1(21H6_BNnC6Her^B`*=Yat+^ z2iXAG2-ytT0@)7P0f9o?AbTKtA^RZ*AcrAGAf6B}$Z^OC$Vtd4$Z3c-yX=0&{i^$K?p5yK3FrSO?#bORg67_@?mh0{=`JYm4Y;%1 z+3sfdYwp+GRql1}_3jPsjqXkEx80lF)$SViZ1)^@aL41G@806x>aKNfb8mO=a0gF% z-OJr8-1+VsTsqx#?nUk#_hR=kcZ0jqy~e%P{hs>`_nYpw+!gNk-EHo}?p^K{_epo7 zyPen5@8C~4&1h${yJ@!pq#oVC_oMb+_7iqU`xd(gc9HgH!H?kF!1k3}xLbr9!7b7) z%8lq2?H1z}>qc^mbBlLNa3i}Vx+S?KyHVVzZYgf5ZfR~bw{*7*H=FCA>yYcP>xk>9 z>zM1f>xAna*SoIwTqj-cyFPGz==#X@vFq=yPh6k6K6CxU^-tI5t}k5wr))@!Ypg5D zHO@8Owaw1g#m_}+*KUV#!McF!RhK{P7TCYF+h`B9cenSj_q0C-h8cYAAKLw}i?Tmw zf5smCmE5MdO?8{*Hr;K8+e|kHw^?qp-R8K>b(`n*i`#rRN4EuT3*8pEEp}Vtw$yEz z+j6%RZY$kZxk+7RuHgBU>qXZ~uD`locD>?y)%7>mYp&N_Z@Aucz2&NKRl3%=*1D=( z>s;$y8(bS*oBqeVNv11!f5SD$HP=;RS8vx~M{&+_&T-Cl&U4Op{=XwjV&^5woi|5e z|9?}S#LjCZZ{D0^|L2twJFmuk@EiS~$4czH4D5Mx?zt-L71I2o{Dpd3kp94N`Y07 z6^ROpB2|&5NLOSlauj)rd<9ccpkOPC6dXmdf~(*wqzairuDGbUq`0oQp}46~C~6fd zg<7Fev?{cUHib^ntuQOBic!V5;*sL9;;G_K#dF19ikFHvinoe)iua0t6(1Gf6yFtg z%4y0O%DKvU%K6F#%H>KYrL%Iga+`9ya<_7i(nEPjc|v(od0Kf!30L|lQOYo7xRRs< z33+9*lA@$4Qx{{&HQsyXgl`JJ&S*+wLrAnFdin3YRsnjXEm1d<)Ij9^~PAVTM zpDI5q0p&O4Po-UreT_rSteQDB^J*5??5cs*?5^2Y<56><#QwYTasg*B+`p zTzj}lS-}9s=8GMl}Tk*SyVRFplU=lp?aixrgEs8RX3+@Zk=P@!n#Fu%j;Iu zt*UdXTV1!l&b1Cwx2bMh-R`h{-p)_K*PsPnFa*CFcs>ip|ab=W#wU0NNj zj$W5tms`iGW7l!&O6tn%D(d)kqB?2a^*U>vt!|`lvhIG}!@B2nFX~>_y{!Z4zSe!O zn^r%)-l2X@{oMM+^-JoP)vu^`uHRjMs2)|1t;f|9>!a%__0)QLeSST&o?Xwa=hgG; zMfFwn;`)pAm+CLqU#%Z?3o0TkCE0L-iB&ck1ue->?6@{%QTQ`akNQ z*Z*Drvi?>5>-snK@9RI*|6Bj5{&PK0|E2zG{ZH^!*uG&}gF}O3!-9rI4T~F=G&nW* zHTX9KG@u$V4cLZ|hR}wH20}wrLv%xILwp0dA+dqdkk$akG#m07@*9{9#SPpBe#6Cv zOAXf>6b;=Ch6Zy(Z-cd=zrofp(lFXE-f*YkUc>!{M-5LKo;Q4JaBN)O=+x-kxT$e- zj7~V)|BsFF?vKnQLR~oN3DjJ&_n;SKaosHd%=0;oNXyat# z{l-U)Pa2;#{?Yid@m1rS#&?aM8y7b%X!LzwF%O+v1wD&=B6!8yPBX)yPG_k zJe$0ljyIiXI@xrt>3q|LCU}!y6SgV1DYOaK6xMXH=~B~`rt3{Nn{G9!n(CSwni`v$ znp&H*O>Iq`P2Ek_roN_uCR@{B(?rwDCdb_H#Mu9P0g0(m(8!5-!^|}{?`1x`De48+Fm_V?Vz5eo~w3LFITTnuTrm8yQ(4T zP3mpx-ReE+eQFQ&ezm9igc_mtRb$n`YMeSkO;X3H6V!?7G&NmaqQ0(HsTE};ry**hHL;pF4MjuMq-p4yd<|1ms9|f0G$oo+jY6Z;s5Fflt)@-Wq0wo~8jHrN z>DLTsY??vMkY+-2M{`eeU-LloSo1{lRP#*pT=P=%LG!QXljgGq(0tL@wb-{fv@B`y zXxZO#sKvA8Sc`YdnU-@c7g}H~U~Z(vzXjETZHZ_hv_!QKTcTUYEr~6Zmb8|$KK+t@B$Kv@UOTYISbi z+`6@Ock7*>}rtruE-TH&pJt*F+p*6>zRE337*mD_ry z^?IwKwXwCiwX?Om)!b@p9d7;H3bcM}{n=`#ouYNn&eG1&&ehJ-&etx`F4iv5F4Zp6 zF4wNoI%!vH*J#&jU9}MHM(t+pcI_@LRJ&X2q4m^yX^(49XisX-XwPdeXyMvmZN8SN zWobFuVr{9GudUPywN+ZN_M-NZ_KNnJ_PSQ3t+nw51x36tK(SEYsyZwAStlh8Ozdf)W-5%7AX~(sPwMVoQ+hf|v?TPKl z?UZ(Edqz9Gozb4%p5I>FUeaFH&TZ$li`uK&ueaOU2ir&5$J-~`AGJSef7<@6{bjp- zheOA#j^!OII#zW!b*%32?C|P1(c#?z??80;cknw@9fl5TM_-4nW29rU<6+0+jzgV@ zPE;qh6W2-XjPB%i@;dpQqRxw*mpU(ZUhPzLDm!aCRh!0+ZJiyRot?T) zL#MgZ(rN9qbxw5N>AcrD*?GV7Y3H-f=bbM*KXm@v`Kc4=w9`$~Ip`d9OLR`U)w(sh zwK`|rdY!9ogKnd4n{K;qr*4-Hs@tpc(Cyb9(s}B>E3tt0Cwx-=bASF9`1mFl=UzD}T%>SQ{(?vn1R?z--VPN7rj+H~DIv(Bm;(T(dS zbdPjTbDQ~b$0q``nmdf`uX|=`sMl+dMEu_y|aFkezSh7e!G6B9;$cK z@78C3>0uivFtpx?Z7I>KpY< z`ewaGKdHa3f24n+f2#jm|5E=-|3?2#|55*059q(@zv=C|9J*$8&Fz}kwWw=x*OIQ~ zT~1xDU68I#U7Nd3b`iUxyGUK+uB5KCE?O78i_w+e#p){V>g<~6y3;k;^|0$v*Y91= zyIyp?>iW?2Z`bE8hi=Di*Y0iIySjIGAL>5b?cE*GP3R_ele#J0)NWdLb~nFU+O6)^ zcE9L;+x@QlL-*(IFWo=8?F{yYxdunWVuO=mlVP)An_-v1!?53Q&~Vsr!f?{yZ8&2% zYdCMXV1OBX4SoiHL!bd=KpTP$AqJcw%n)H98pwu3L$ZNlpc?1~h9TRKZzwbr8%hji z2A-kPAT)>!Qo}{V4MU@$$)Gl946O#Oq0P{4=r$M(MuW*Ys6hH<9R!8q6GXk2bwVO(W& zGP)We#!bd;#_h%(#$85t<8I>~<38hl<3XdR(aU(k=xu}>5k_C5pV8llH3l1TMv^hX zm}pEh(u{OtwvlCI8#%@jBi~qQ6d9$)E5@tFYsMQ!m9fs)XjB_D#uj6zQD^Kj8jMzB zpV4LX@$wzMUUYhL8_U3732lH&Rqj`aOk$H)EsoBZA+U#t0 zHE%O-H}5n<%^v1MW>2%X`HcCz`GVQcOg1N)DdseDx;fjNW6m=(%?0K{Gsj$PE-~}X zGPB%#$$Z_cHMg0&&1SRJJYpU-kDKq9ADJJUpPK(Qe=~nK+gYYrrdwuM=33@i=35q6 zmRq)2c3a>UgvHN-vfwOXmT(KnLbgyWbPLPEwiH{q7LldOBC*IUofe&?+hVeqEj<>S zWzaHg8MTaA?pW?xCN1|Zk1W4io?8C2ytKTsys^Bsyt90^0G4kSyB>$0Sv_-l=Jw3% zS=_U{XLHZ_o(nzj9={%JPjF9Y53VPyhuFjD$?p;MXnWdvI(xc%tUY}_13iO1!#xu{ zcX}T6yzKeVpZKYb+OgSy4vbuU1!~B-DKTt-Dcfk-DUN#?zbMa9VsV}ZCp)av7t&i2m z@2l(+^-24#^j+<{)_0>%)z{r;?X&eg?|a$zw(oNv(D$|Pd*8HvhyJ}U6L`+5ER zeo_C${!9Ir`>*t0?N{_G`*rWIJIyX*+E@ zV}slLY$zMfMzY1($To_NZe!STY*%boZP#rITcfSX)@;+*I&C^zx6N#`*le~z+pulK zHfo!+-M2lmJ+-~Gy|TTry|ulweYVXT+%*Ut+&$49p~<1AL(hiZ4!s-tF!XuIZrFZ!>hSd8xx@2@e;IZhUOc>X z*lBq6@Y-SLVV7aZ@TTF-!`p^;4SNjlA3ivIX!!8(iQ$vO^kK$u_Hh1i@o>p-*)VsQ zH!K>i8kP=U9KJq$WBAsva=39=J**w>9ySb{hb_al;fdkL!%v1^4!;_HJN#kz+wk|{ zpTqVe4kN2aJV#E9U`KEx5hHOU2_tDEv=RD9)=2h9?g(pyJ;E6&8R3uI7_pAnMn*;^ zM;?wmA9*?QcI5NO*OBid(?%Ue=Z-EOT{60C^w8+xQP0s6qvuC2jQWfsMp2{aQS2yg zlrTyhjUJ61jT@zmQb*H9>7)6h%+bP8)+l?FJ9>50JZc%Wj@m|tMkhw^jNTi)Kl*g^ z+354pm!ls>{~i4_3XIx~*^f;da~N|RTQIh0Z1LEVF{d%-G1sx}V;*Ds#}18oj-4Fy z9y>F3ZtTJsV$5&Me+)H-9g7-^9wUz>j#0+)#+YNpV?BV*%Zcg7x#Jso>K_IB*wv2SDF$Lz+ZjV~BqKE7hyY20~y)A;7` zt>fFrcaQHG_ZUAkeq#Le_?dBVLO$*{9xxs_jv7agXY@755gIiw8=+mi|#TT6GXf@tx)ey3t|U*n#AgIW3??f4MTx zXEw4Ol?Hm%NuX9{3hN9%1zONqV3-<~GAH%lGzZX2cA?9%<3SnV@1lyzSeVTJQ{?XW z%W1FDG5L;cSmAZy1QHgw1$91nE$DE#;PHgPs1q@(;+KOC?UNK$>H$VA7r{sJE9L8b z6<9awy=+g=m%<<&P?P9O*k!@ZAqPUwhNgyvlG4HU`y+ZXs0|f^K~R@m9@C4xiu0}f zg5b2Y7xoD@2mTJ>gW3mbX~eMogukK}BwVEyq>QB$W?aqf&9?)tRd6b^{eQ(E0_}kY zx+bfMw+Y_rdlLIRcnBXKemCOJ22u=E z`17Ef-Jfn$FLf3VQElIe+AS&wZPxV?tSttgA&+0Z{m>FbSeW6XHekSAG)0 zKapib&-8u8IN95Ph`sK_>n(`(!gaKq-%z-f<7EA@@fFABtunm7pvK)3277R1N-ua{=ejq)4 zpZGrWE%jR*Kn?sg(1a-rwuO8Po4_LoYS3Bl1rudPP?J4Il7Zop@gza=R7wY^GpD3y zF=l0d10}lIpdyZExpTf1ca|>T)^Q`i?a&a|z<(hfmr3Pw0zI)kc^AREk&V@>{6y(j zvhJ|@N*{CWP~KQkxIDcEvnZ4XdPk+XiqZ{m59DWLs;@)fdwf#(?AWfjeW_P{1Cxo& zl+w}415sTusI0LiA9?g2>XC-IN?!8|_AJCfJV)WzPmSRLt?|@rB?L@kykW zpouAh;SrOmwb}MQzxbpevJsR1#DIf=Ujn}cE=He5SD?EwT^gVMyohOZ&Ma=ms9($nyZGhRJ&Y8eS$?nae#AlEE&l_EIlx@NDd>-| zdB6bvC;k^;KHvx}02Ts^fXm#)z!G37unbrZ{3u!htOQm8PJkeCH4u=v23QL`5jX=r zpjRB|>jIQT;i8k{*8%&e>j75)0?cD<05$?ite$}7L7RZhz!qRDunjm4+YUq_ywPu? z9J6--$!JQ5IHHI4Zzu_8#%F~8i5bV-MD7GA=*^)Eak~I0;0B;6?!azf53m>52Y3L3 zRr`Shz(L>;a2PlO90fc9FW?w(9Oz0o0h|Ona_Y<8;Z6akfyf+h;0$mSdloncoChud zFu(_Z0|?+n5Tqz0%8`Ktd;vee9|!;ff$!NU01X_%J|i9VZHZrr-kY}{?5CXasR7kK z6DlCIneYc8JEkf2Lj0@LH|cBW4;Z}#lm&@S6&my)Fmd5^_aGWm9 z>|;iN7Ka5tk+YW76S6ESChl9(bV>pxx9|bCz-M0Y#n9RL&4`QP1ZoXz20R*JLF5n@ z#MIF1K*=T{cc^Gp*#Pgh&pyyzI_CE>BtGm2-axn;^CMvkZIZd3rL4q@W5hzx{*oY# zk*Tq($y;govSUJS*nd{W`h+uyY{~~lLiX$Y4Q1=OXDiwe%aE6mbK}fpJD-Ny68Qwm zD+rHW6mvIje!{_&os4~%YnUGFrxoV}Y~&E(eN+qb5cq6`uL%AtPR-a-#tA(Uwu~4C6bOcpoa{-26%i8cl-|yGmq!)c_1TOR`OXKc zwFK-n94zWOkrbDc^f_q;XyW04->D=z4U}-$c>|y~Y6az=-vt)QYQM|`TcU{ag?Y2| zvLH|@uNFr2#<^3T=PVU&OX~$K@N#-|L=5F0sy6L;nxe{2(pvoh;~(OjAkDdz$KuX} zUGUu;^q-!B4?7$l9r-QtXZ+TLaB_9(w){oRgRDhmC#w!ho%}WUtx>l~v+`ot>B38} zeDp-~_E4+Hav5jByvD3_SN*n6>| zNnuG|6pz$Nzv@)LY3P*v!M zAp_yN!C~cr_^rv~>EpSZD()cv4z2;!u-SMM{#L{z0y;V}wl~%#@l$dz^;G7X+$ni6 z%*#a`#h?)+yN;TuUI70EdCX&w~67=hd{A#L3+Gc=nD9e&Gxj!a9w;{Y5WW(=5f+f%kmSjh8mn}a`xutGyg6F1iGr-K4*RVeDC>M z@!KNo2s}bp^lK6-;Z?F9bseZEeoL{XeNEd&JH^1fFY$50>cOggcS0h~G5ef8^ z-jX^VzWlZLxMV$Op`Q)Bj^2bl9g-S)6n})EA?Uz*Jts;Ut&caPxiD^KXXk9qZOFZp zUtF-IXc^}>uA6`>p9g>M6Al1@qR>fvd3Zw9anR)MO0j0&&Hljpm$icZsCaYP1zwC` zrw`d@RmecpIwB(_Gv$ONEM#^}G`M?>p+*2+na7zgn3Ez$AD;|z*44_#h#4VG#3Lja z=^m*zsXJq8-YDq+CLVWE*i#XRoZK#L~L0(Ng zBXy9kfK7o@5g2T0$QrO#-W_EiHjwS92C9X2KYe4FbCrYmzK;v2vVX+HM-pNe#HGhG z5}qb+rM}3UWG!N2Ig88Y`;5XJeX+h3m>Z$tg%1(GlYdRzO4*wEGJi_pI_^;Ud+9vb1ni9u6CQv}KyL8k`aKHV zijE8l!cal+T^bSzq~KEt*9h@(SL634ZOAxE-&{r`Oxw_)F zf+zsvvn(_#RFB^rJSXZdk)C!ulO$ULtAa1_-QtVz%|qjZ3Pb8~MPX;~G(4A379$MvhX=eQ$*sl7O&ui2=9pw z$`t`yFr?68LPJb#EH>_4!V+?Dk}~-kXt*8}@xu0zP}%n43os5$0vm-L@Hym@<@3Z=#1)vg)(Q zXkc+v3?PDUK_+6u3I3#>e;RhS{oPvh+prozf2T4F;IZ!l-UVu3SJuZhdz<+;n5 zv8+$wISC8PYelnR&7gR^7IDh|rvI`4Ps|GJBdkYAQOLy*eaL$pf*2Nqia(s>nbeu| zIfX#0%NWUe&-%bl29@;(#ZJNyR2$`cvB{qVgr%=zB;_V0t))V!alncUCh99n8(bE0 zJA@nRk1NM#gBJV_gj$BIohnSrdLW$3aXN)nDvYurx%&lc+u`7yJbDx&?RXfX< zpySZnLnd*HBaWwsGelKrp#T{4=+#8YaKL>Lea~hvX=q0$tGZO77 zCn$xK4hkvdChac6Kl6H4dQL;m{@j%XFAJ$fPfF6bymAQt0%-0LeGyo{=x);HxUKPX zb0y4!?Cqe@`K+(0d(mQq)wEXa72v6b%3*w5GodYCf{b{Ea#hH;y? z&E+43`^4iuBy4CDFHTM`&Rhz*Uu(IsnD4>!B0BT2+{dEAWDZ7*%Zz#ux3=iFB75#! z(LN*@K#)t*1Qle~IPbO3xbJuWy8*d@-%HUB0imz|+{`i19d-~2s)j*(Y{WMcwE|7XbYKSKf;>$UkOiT~aczX1k;fw2qdr7ACI6m!fM&?zgRLR~`#Snux(&t_Azcr z*yHdiF_8EvJiiK<$WfXqXJgdZS>ZmB-o!(xIzfrhPb8OIBG_|!OSP4I{BK~#f}28w zk>^uB~ zzI41GygqJr=DC~;qOURMvub54t3zQ2;kOY^XaM&yd{^{=q`lb`pq~c~r2;9yG{&>s z1hDt?j9F5e3MBZX0W{z#>Np0CyBofo5JwP2rUPfA*T>9>vnP`hhp6*F-Hx1|0TgA? zffH;7P{HZsF$9^w?5b&jmqN7!`vkj`-)PlE%Bmm<2~?_Yhw<Ig zpbtyOEG_ura|qEGZ~}cJ9EiIa92Z@HV8PHnSwJ?B1Ayo(kOzdu29xrECdyJ86PO8> z`u67?1vfnf!1Ag>fCaFD-(W?+!$4Z-qDT%<4BVp9G7~r@zzi-%d^KPr>N9$6P$Q-k z_!v?KZ~-{j59a}gqYFtLq|&&GxPRjoCzJyZ$$Jygi4{N>XzlU=pR|OuN`RX2gdqTS zW(t7|tcRr{pb8KJm~sj5Q7Q#wKs5kH9^&LcUE)RH5>QvE^!*jM3|s+*qpkv_|B-H# zl-!}*-+y8 z?<3<#Jqfduvr_TtHM#ehQwnYaBdqWu1}C<-8E7b11B--?B0g*$XwlTey?u}Px%=Jq z$AguWDDZIfpT~;NxPvBRzA^s1_4bXvqmUE{dt#DP*nV@2f z1apaK7abmVBY6?n=oO~DVEmo6JjXw$I`4e(4#5J^+sN$DF9dc}42hGx9X>TECiZpe zQZy;JFBp>SLu~oTCTc6y~sgFZ^Q@W02Zfozlp zqYgP1RvBF!7Zrayo}Y-PY@%+XCTDx(S@LI>@+%%xbOWU@gii{53&QN%>-!$0wudpU z*p;Ao{(*o=5+-|6^eJ!}kEWr`V6_a${v_CE>o*Ta_=_trk4d&*sPJ$A>5x@&jqE#}7sG^dP@(Vs^ z;19r1=)AxYw0+PlEIEuDxjo)3=^W(^qbvKD{K)*H%uvt_U(TMw@#ppmeI&^+p3g!= z48jEL^uOVsj=74VhcH6gLoVVT;vB+eg>{E}5N1W0fsv@YQ5GN!Y^-WX8{>KakN95T zal+o@eaTh;3vLAZ0Axx(FaRhSKXN?sM_D3J8h=%^3zVMEa*u$f^BJCn7hhom27y_q zAz(O`on4?kk>L?m2GewsbAWE@ylURF5)+yU+a_kgVIU+_+3BBP{m z61W%`jXNFI9NS)$U0x?Z!`Ax!9k-oH7Q7d}7LA2JA@R8P5tgu)96%=XSqZm8NHO!n zeulk_m>zA2V{Wuqq_b2ciXe(|gF66!d{sKOT=2ra; zyae`TZB!Kbh4VfC#j85l6#)lDM*qfV*VtGV$%~Ir0}q}A~6Y# z8C&RkS(5?>*f`ADcQ>jP^#(;k&&0ZeuHT-};_&*&fT*>gU_CeXXu_$aF91B5LwS^b zjh>eCFz3&lqC8UmdeD6yVBTjfDpBxKE2V-G@S*;uKo#Z!9v*d=SV24-KOD~>yJYHE zmx^bVodXw<+mp&N`ifRooc4kFxFNFrZ0O36COkDNK6+V94QXZkoun$;G zAB@2KPfScvZE<1g3a*;l4`LKgkhA?B2k9}W2rA)2e0S1UAV1|o`l^fz^dp%Mvoi9w za(ap*N*p9VM)k%qW{j6sHhB~TpN0qc*w7b3y!!Y?9rfF^fc z0xZ!PWIH{m2x?Nw`3z2mGQ*frmKk4kr0h)D(ejG&broCrUj;#;SkaoQnaC}85gr{E zk5TMt zdMV>{?v$dximHpZ^Um@nc#&WY%(-HQFaUJXr-*)$??v*EbbnXW>X5ae#W-7dE%9MO z9Bo@hUrr12JL_}NiP92Ygg_!VEIcndEARI?h3G}xK)MAi4vh`H8QvH1g5VYTB@&2S z9VH`<6Te3{MCFv&RKxzOji1v`?oL-qO1QqcU402{+_E+YW0>7e;qNg0`ZA*MQ1g^LXvCEkhKLD`Xhj3EWL zMzJ|tKr248VmTk~0}uQo_*%%;@R+QFFdv^XpCI^sba!@)AJOlJzYn?!^C0+cNHDl& zdKa~Y_#9lEoQ*F@XeK{OE~K8PPXYajUm0t2?-d*@Viu80iogvGlndj56e!7}ZxxIp)RrYz?VgJBRvHExn-+M8! z(O#tV{AyHb*pJ9J`1|AqR1+1Msm?zGn$YK9fBD|>+ZE^;I38*rJ~KQaVkhA_Aw5zC znq>G`94IbsOL&$FNjpOeq^)55nmr}weU2=*Id^$sanUzmT1k6J68A&Oiu8RTVVIgd z6YPOgQ9HxeMVyH|7a2#CMCZps;_Bl2l8IoA3q#dVAE&HI<)r>Wo0Yjb^J~sdrjT`@ zXt4P2QdOB7S6LA*NEXZ#=KH+!{R?dgS`h*x8o?`sFKFfImvdef{8el%c~vGSEQ$IK zd&vBVv2h4#q2Z zmoE(kLJ*);tsvY<2mdwU%!0eXsYs~*p`b@0lX)&o6YpPM5#rydfDA=(H=-5YhVw6Qg8u~k zkO#1gu$A~>{67&_3D$V$l-W7B(ojLG;34d|ugHHh`hKt>!b18I$4|~mUzPhC^J%eT zX)5Gw@sD4Dzb5ob1S_GDu@-dE_wX(7rPy}T*SJ;G*3`rF2s*7uU$h3* zj$Rs)8jegVqQ<697HNwYmc0+5M1GEAWb5*Jix9#wiQSju$e)pwac|-uG5#pp!42V# zh*u-Ckk9@2Vfpxb_+N<&ql2RN#FUdaBnGG1(|(~1(dMNKveR-$bI;_RVdfSyOYl4n zsET*_33UFZJp8w85!S8zFDxQN4<Hg0bd+!7bQit z;jf4P5}g*kCMGt%C8d|vn!7oFpy+zZ_p*h&b37@}v0{0JxZ<8*uXvtx0SrqGrhQ3A zWLPqGWOnDHLDl?osUsH>c{KVs7T-2Rw}Cz*OW6ge|pK7?|#4C z0egd>*dp?ytf1@}Ij?dqm#}%E;(ufmcsJ~#?^oQm_y{b^#})q6{|+`Zgn;7{TS?t< z?TI7Q57e-fmFZ{FO^mOM_^b~(Hwv7}EP{qAr2I6}fP5vo$({-uikgwo7A>q-owB=debhkiDp-`YL+g&JS*`=_Qvb6L8v}IeGmhFDux%d8$(MSmm$n*c_ zo_p@=+;h)4_uTt`@8rXa_m@{H&uwm9`Sydac+(eN^L?C9{G0i2O#NE+#<>q2`}N~L zIh9%X#=@S(xzg^tZ+hgTkA3^G9W$BC=-exg#vVVmu<7yd<(G@!Ui@6`$F*yl!_8-1 z7=H7u*`6cCqlf3;>P{^mtADWm={p|2aQgTSuX?@@^Uv>R!)x~{}uFM=g{u{?1UU)-ZrceU}2 zhuxzGPyF=d7ZyI4e>{I~@q6VPD?1u{nnNq+?)>20-+KMC9)02L$k96&4>$gz`Mw9< z{l=#~bp0dCxBgvbB3GJ@&pmSLXyI+;J1Y~7pEsU${xz?C#{-r5H`M;6{@zz5+~1v^ zo=GhnYJBPTzq;dxcTQgX;9IVK>wkXW^il7&k1Sq!@7x6^d)3L@ZQr|X^ZY%9Pu+Fk z)vtZ{3#&+|1(Dr#IEU*IZg% zx_|Y7FFpE&N7HZpT=oU$Go^pNaPtH2ee^?*y<+|Y3mo0!1Jl8yTPw_RMePHI|mbX0f z?O#2%a&qRrXT0tc@A%rurBkmz_4kFNiJ|j^f>Kf9TvJtG|3{_RHC?o&ElOzxMFgAAZ>*@0z-7`bWoq zaN?g|K6~md3zfyx(tYKf)!{qecGvZHU;6lEk9R-%>r-)tXo_0ZHSvVVH)@nd%! z|IL?eo!_%?cwuvKvG_O3C4BAbNcCscH`l&f`(f?n_5a@JZJua;xA~^CFI)Y?S8RFZ zpWpTFyO;0%-Fv6*o4>F5nscu^{lIU$Nj+M4^sA??S~&OMi4#vL{&VHV>Pwp=Z~OWD z|2p-Q+rN-~_WW(-KPg{d`DVTQj@A3FxbWh4T$Ons+kJBX>E(K>_4?J%tbX+FAK!E4 zLh5zzeW3Z4%OC$~{)WP*a3k*W`QfRz&dnTu_sQFD`_)t5%DKyhVrJ>;YT?XBnwQ>j z@5Rzvd*A-z%2%s5dZ`Eg@Zq1_I&s^3=O<77)2V)U!c7-Pi@#p_TzMW}a9F5KoOyfm zHD^C}`_@;?-gERdw_bexBcK1}otf_(`PbVn%rBgJ^QnJ!i^ZGhQ_R$kor#9gfi zC*S(v>8oennn`3|l6~#m@6WyTwg=`9EEdmv+v~pgt=WH^%^&;YV{zPN{;y{~^6IBw zxWD+`SHEZO-r~(?2JRitJT~{a<>T|eGyfx8VRPur-(PtC8$a{QPn+JK|D$@bwRm6t z)YR*K_Krih{?o0OX7*HmcGp*b`I*J*mLIMEX{#%{`m#&zxaxwld|>(D@^H3(>OkdB z@4WQxZ_Iq>*0;|s6Cmm5Rk;n_^wDc&t0t z6T2jKY3#Dt=Gf)2D`Hp160xVmo*H{v?3ZFsk6jgeR_xiat7FfJJva8e*z;psVlRj} zv1?-2#;%LKFxDG;QEY2$TWovm`q&MzzSz!KKMwy6#dgQ`#P;F{@V?mo*o$K?i5-aD zh=a@{v2<)SHWoV=I}|&N!_2qDCSsGZnb@td*;po)jm^c5#PIRG7)F6+9k z>wMR}U9axCuj~G<*LGd#dZ6nKU2p8V*!7DZnSX!R2fBWv>w{e%>iTfkN4lQ)yW>6aOX8QtFN<%EUmm|A zo`^ps9zIKZRs31;XUDIOKPUd&`19h=k8g>;AnwGkiC-JPF8;!JZ~R5^t?_N~?eXj5 zH^g_ulkvXz&Up9;?VkAF_;7q*e1H7K@t4F8#BYqhG=5V&6(5PGDh_`&$0_~H0? z{O0&A@rn3kd@4R2zcoG^M{r_%E`B6_G=408JbogMjh*;y@%i}0_=E9}bbqw_W8EL` z{zUh0cK_$@|I+AAM&x}F#I^!B`{XKT;4p6xx?_uSC4qbJ$Z*R!*y zzh|IluxD4#P|xn3Jw1DShI{t)?C-g$C)G33lkOSq8S6RNbExNV&v?(xJ-75s^i1|l z^-T95(648HP&Bk|0{Rf%UMo}IWl@tnkS6VFRLKd~k8f`pT} zCUI@zy2J|;y@?kkwkEbEwkNJn+>qFjNGAFcI}`nhfy7{9S7Io!JFzFRH!+;pm)M_p zY2v0tDlw8sCq@%viGztliNlHU#LbCY5)+BZ#8hHBF_XA8flult5Ok0@lEB9-6UP%L z5+@UzwsdXTyyfyOTeiGl%S~HSTaIiwy5-ascgyK5%UkZ+@~SO&Z@Fg+t^?ol4_p3m z%N5R*PQrPL^K|DK&NH27IlL9+InMK(=Q~>*-VJgs?oH`;_Bs2V_d6eOe#7~&^B(7_ zYp%WKYTRFPSnft~uDj+sWiEbr2Cja19U*;YXvE#y^psih7!N-E7GKE-?2hv$s4{tx#_kDhq`M>D2fOS{eX?`XM!`W+qjy>+~)-y#=Q?>+~L1 zy_KE4`JKJ1s`v2z-pT#F8Pz+kADrGgmJUC?e_(Le(C$5Zhxe@^VRLe&x$WfY@t5P@ z>eS2CYQa<08ZOItZQ}CFaM6VP7gMP(<2}}mL;Uaci!8j>>t2>8JFYvT_F5a{PK_g#qglpk@~-{M+c#M?|(z$@~hu%@Yt>V zFNF6#q!aJAiT8ek=Ll8=@7o6NC&ar6=_&j@1AkZGkL`FS{x+-Bo8OqY{7R6K{wMtD zxa9?~PsVP-OCEpxj|gl48_#Fk_{|2+UlP93yc6dx{PCBKy=y)u1>jNgHeVF?(>~Ic z_9mpU)7hcl4W*I(`$GAidMco4(}03}seii&p1oo#DX_7rM;}aFe#I8^{%^vNp8#m* z^#HLbJH}Vx`C0hmn6T;fM`F@v>Atz_!Q?Qm%|WiNuixK=ae4?(U&dIczWgRUy@ZT^ z*P9cUzve5OCJU8XW7TOC+`Ln0G-?f}H@{i+dYjdlyw!5KR-=%2&MlS71wkuS7o8$r z41(k=HVT;L$Vll?I$M}0bUs(Ed4(v5h*3zju+p4g0y-qgOrubtB*Wcy)qJv6OtPH5 zD1IKFIGXpCOZ5)mg>o&otj4R&LZj-Ib$j+ZQ#GepYk+X_MyVDlIK@^q*DTelXwqWI zLxw^=O0ZThR3X}=$%RIMUvJdTmhf>Tr&)6%t(6SbTD8Djx#Zh`&$LR7f(Ozyr{Y#u+0Uq&M>Hpo+tPMuXjE!O7L?tIk5J zSVSkLTa8Ac+H`W|5`Wla)E}S7^PFm}>3FSrz1F~Qp|H%MbV2xRDTi7Y7TqSs&SB?D zT?*)zd|UT>h30$?P&;Y;Zurs zJGTfGL z=Jimc7n$7BdR~30;bKCLRqD-ECjdAl&uLZNTn;Nc zb4N29ewo*-IFAw8Fn!^CsXnOmziGF+wHYv}o_FA6Nfmys)WPl^du6}VHgC~re0~w! zbe>#F=GVxzMz7cFsixmKnwoTx8ac6~22#gglsT@R)fgL|xwv6nElFh`oNaw4wyX83 z-Rp&_!8%)Rx7jf)Y~zMyE;i6XYR+S$Ao;YQ5}*Ugvero8a2%1sR9c2MqG`hkmmlhCPySg73THrurpo*BUZUq}-{{cdn_)e{81lfPQ z9;RZ>Sx9ZoB4&v7+8W{Mjtz27fP}vis~5cP(hb?EEbOHJZDT3{Mwm)Nf(~Z|H7uET zl4sP!?1}M>OFKW*&bsCEL$(aXXH97%ek`A_t(gFXSu(=^0%)r#alrkO|Fsh*rqz|3 zpR*Y{gUlMpk2dz!LQ^KBPVqaxVAjJwJHsTCr?lg5(-nbL_xgZ z=3xnSOgdL;Lh_dusd)6}H^ON`#qo%6~(`{M)@+7X-1_LO zZ*54u)l&HXdbC?D_I$p8Y2ZPpDCIW*-GYiEM{lt}o+8mC(0CeA?RfF%<}j|A`aFqEe%;tw`xs;o>!@mQ&ftwUqOPVwnb6 zWU>Wz5fu71i2^bXx(T$V!y1S*p(8Q4?K%_@t(6@QGi|n2YtCc_!YPQ8g_f!N@cnp{qAF(?fo0&a0P8O`=v>W!R3ja;pM+oukv6 z??d)&y&g(Rji_|3RnF5I5Jso66&~5CTc)OuPIct0gX0rpAzqpc%5lJqCB&cVnurbK zGl)+rRLa!!)R>ZPP`9?+YO_^Q7+gTo2jM+Y3gq@XOLReG z$ZX*>L?Pu+#VvE81-ei+)!FZOtCe!8x=eCS2t10T99rQFK)qdbIizX=>HmSUv$H9T z$LuxNT+_y`T3G9$fYDHfOGU9#zhIB{@8$m#{~6Rj{R8sWKPcp!ZQ!?NxsZhZP=e$I z1HcT}uEroeA&7)0A>c(wYuAlK|B~(>BS)mKwk?zv+lizy>G5%mx{Zs6UM4Vipc!me zol_+#-22Xw>tRCZ^@2T&0oO=Ju>??baT&;x>1D5$5R`oZo`BWR~g(y9b|l``t+$z(1=tX&rD0#`qLgFi;h07 z`fV+?D58;2SzRcsVk-!%zj#G4<4bObCC^T3wZX{T)O&hG#BykOLZ*4GTBV+~H9fJ_ zb{1vO*4eSGPNOkj!B!7cOWli{akFr^Vhd^!sxh1yRocAXeg`gNaY5E=h#TShe1N6x zaMBaVBU*z1)~RP6K2U5eK~MA9=tkyOqkh5$T@o~gt3Uj<<+AqR!G&F@Iv&TCOlyY2 z2}%>86;&c+S<_8xVmr)=+w>TwI7P4a=w&fE#aE*Jg`N6j2UIbv8q^evR7BP6^mJA& z)x4&xBv$|N9T;3wGjo|4=i2nxwL#zd>zbA-9D$(zbT2pZ9Z+OS!e?D=(i=b0Q;xu7+aU%85^&%ZXd6!gQ*^f{%8T6d}rWrvzzZX6BOEXMU_K7pXq~ z$<`<6xY;qkl3}3ZViKe$I;0V(=a-h+L9T!=)#(~s;!On>RQZx8uFihdupF%XJSsif zk9B7wp;}&Y+hrs`T0Sx@ka!b^vDrW^UDV025?emM6j5T~xmv2h5rchX{4W{kOum~x zq&hQmR3dgLQiLgu1;M6K#@dJljD^csvrM;@ROKZ&SeE+f%7J^q*QW%**j?qq*@Cz@ z=Ac5<&S6Svbt5UG3{^4g^9|M5mrnKp3Y>`9C#(2aHeqFj)wJQme)s!~X{Me*3&R=B z+M1q$|HZVst>BW3?Fw_XiIz3g8h4_*i~5DTJd(v3eGerMYsHOg#i!BkrGRH;gDRv9|4s^oX)ON%gMRE4n2YGnaZA?KjJkj_bHTTmvL zq>E?;b3j#v0E{3*yHUvxKvmK|hN!pX4g`;byY~byyM~8?m)!${=B3FBHcRk8u#=SD z!lbdGilt)B`uMbqPvnU7CENdE2YWi&S#m8?u8kt2yDJ`g5)$46lJN&V! zwj`P(3spq+9O3bR6$i5clHA|Y3V@)u6Bdx#iLSwqW*EKjp?|Ooe7a@Q9CQX2Uusfj z>2OXR*s7e%=xIi5M5XHwswDUbo56@3~>-3&)6{wD_DCMxb*p z*t~sOrCTeTAVk54unDnm0PO_Tpq|=R5*-PV{RBuZ8l}u(OF&G)rB8Kky6dx>Hg(0j zdwO~(-)*AqF)R15`Bp5gpo!pi=o<^ACKmgGTTzGM^#w0DGE2{4cFPzd2^L7;%<$C* z^m-&mXy4Zsb-vJm>06R5cUWv%mIfQyA>Yi*%p`o-6a=!qF)Y9mkt7eBtYi>fMqOMQia<(jo00_zuC``cD_5ZJ9}a;F3>I;`uLxTb}Hx(GemXi&mg7-f36 zd`kj7SVwpVISvWu8gRKlAMk@xj88D)Kip3z$*#dRui}1ZWFmFT7{JEs8Ip=(U|Wao zey4w>cg56G+ike2NL+i6cPir|7GM=FI4l@iYu!($1A`*8#NxcR>rAQIsVvJ$7VM3+DaHPOlqhTrt0o&3JQH_}-&9aHlRNjb2N8^tnYjW#t~3l(%7XLd_> zsEH24^&n|ePb)i2(;zZz z=*tHEAO;M^0Rq{}HA;2Z=3$4q*b`Vkmh7rQvFb6rRN|G|;KnBsQj0t1ceY(OxE+lt ztRRYro-e(FETm>`opyfBxeA-Al ztv-s{r<*C&HGM@TOC8aXCq}-rjofV^CB13!;@iS@7FnzsMKrYmxeR6o(&V7Z8#o)t%3%2K$_bXg7Q(cqZBrar51*Szzrdd zV-kptEx~G1YCsuF&!GuSB@xp^;Te->f~K9!Q?h28+5xLxLP^bzw(q^pq9E<4p&n87 z<4ef|L7H%|T{-=YsrE8LT3N5BdOd1na5Ozx-w||uSlEZ;-;N`UwXLbwnP{YQxG!Y9 zecyVp`^GT@Bf~onJ_r=f&`w=v4Ch8?U~(kzfYbcJENSCa@)ZGqqP z& zJ}lg2Av!TWlA28)9zQbHC#yMhM{$#c;KuVPjuU9FDwMRsap+SS5STdL=jO`zVWBN-%<@4ldu;Z z04C08KXw4ZNpQA-hhakVU%g4K;BKI=MlF^Q7AjpiGCq}>Jx*_Ua(vbq=-)H6#~JMJ z?|1a60E+iIHlE?gBOU4K7Ba(9#H;lbrLa@OUd1L;o|6qzu5HeT=A$?*{5q=)*D7D; zg%)>z#~>t4tw3af{>*WvVx zsj>GXFiV#HrDn6Piuk*7Gn129@~473w$^H3*5aWKJ-1+!N6{twl@J05|EJe+gFaZn zl6(xpGNSe&v=4eZ;Vw4o*Y(wzzi^O&J>fW=@B^t7~c)HstAF9S$`)sIb&hvtHHF zXvS4+r2r%u77#iK7#;<)D~#oAlLIveXgOl68AOI>YMz`bklVo_kx>7JDR3b&!DwM{ z)KQFL&5;qkFQpB`=z#0o>kT=giGvYmXfbD-c06p;Kdd$qtl4ORgspKknJz+7Tg8fU zBto{YqP1g@>u@6(K2$k*?OZ)cT2n!Ru3wK}tbNM9x*0&Cwbk%QeFbEFa-BvaC`X^$ z3A($(sUYhsvPXO(qq}Y=b|4g;!I>nXUhj&r3fu10K45sk5Sauz0Z zz{Vftf^&E>l}=_3rv~5zYBX9nx}A5T;v>8knSP;{R@;5{91E9jUpWk6x#dL|=gp^uh z3W-0RbaMeU6zsd3P%)gMyU`h%4B}kZ30?@(2s4viBD8_8W^U<<`yPQ4;54Ig2qXEm z7gsrB{cx^7nqr%PZlciF6@)O&k*%Op`!4z&Qgx(o6VCbo0>Pjxt*4 ztP_GsxFKTr+&_h9k=xbCkUYm;JF{}nT}T8LDMl95$(tL-y<(Bm@|MRt>+}g31CVYH zy0XNEAuEKUk1-XKvcp9ay`iIDa3+}Xu-KZz;WlhD4C(RLL0TdVigH?@*RDBZepX-m zH#97Y#CLVd8rUvoNnbNAAAw25PN*GcngAauYYjEIv8! zu;#qP!|3$}M-9*eG!hW3g0H7Jr%oZ9VymKcJ+NnFOr>Y`p|Y8q$2023zxzApbQ*b8 zSeJOi{6}!*cVa9WON}^{1tT_`U427+{c5v9m{p;16RbIGhAlQ~t@=&+M!+fOi-Q@NPeDg)DA!w7Gqcl&W>b@sW3$fK?CkXHe&--K zQ{s6PgzeedGG>U(e7xWoZm<=s8{UVbck7ebicayVpgZN=wo3Qy4&Et%y$DF;h|PuF z;Hm7`>{M!EO~oQqrEZoaR1OoR2$=|nC?)}scZ5uqNP^m_XfhbFjc?#7xvU_siqQCi z6VBZGEJT>if03klZ1gPqAhF0J5ZS<1yN35HczHF%fAClH6t6+x+fu!?qDo#4V_wA* zrWp2!P_rfzYhH0cdAXXxPCUKF%4=1T*E`$T#eaqrd{>PU@|*E#LEmzW^WDO{)x2OwV@dO_+89NNQ-u%bp5uSGM5X>wtBhhgt*87D#~}xHoCn4$;O! z!cM1{I{V9N6lxj3jHIkrn6uOpaH9^wktBx3SNODuH}T0hHXq@*MG-WTzIo7WQ@3k=x+y`w(D03r(6<7>)D{JkCUzH|>$bXykwJ1+vCwa0tLcL{Mk7*(p+>u7g65KG zpccKp;BG4vhdtM#My&mg7)C*6-Dtk+?URm}<7R&9xJIudPN1EKjxBepm;)0`E(+lB zRftZ+7I`IJ+91dgRx;Mpe#fz0q?e$MQ;({)5>^c@f_f&)PQLFTF;vBP?J(1W8eo!B zIE1FX*cIkB0PaTyxIu~z>KqLlmEguObB5$gi1CEOg0L~(-w{G&NeHhH)>1J<#^Jx9 z8*EIFk#r)Dp1|`ZGuJHoSiswqqL9+-Z-&{2UpSO#-GFN7(W3C)IW}=n?LGh7AKv;r zc((b1T&WHuIvY?p3Vg?Tt7QE#>Y;tEf7+OFo= zo!7b&!0tS{3cpR)tIoHYWrDowfI$>rfXQ!8=Uj8ZnVOrJP`w`K>V9V$LEV|mMB8lI z!60Icaxeoa;-PUaoaXgDC}nPnr>b#g1+j}&I%_>Q@0HYSCgqIMJ(gi?3&OK@IPjMA zsrquxTQAX>xh0)ZlcP}P^Mm-^&2Vfrn;ue)9R57lcnP=;f_~Cq9)*ViuWJ$|``W~r zkul~>j*ewieW5@Eyr!yo0FvpEw9*K>qX@f02*-9~>%_OU;n9@f5zpCntPd&M71H;q z^pxzr)v8n6IZNXOmk2dh3Kuo6oOI)FVS{kvEHn-rnV4&R%kfmX+@)j-^Lnc6iA`Zb3;8AJp%;qIpM;Gd;JElk~CCF^v!ZwB#Qh z16>lx7j~)f(Xo^a63#2Rl1D>8R6{^jAS_lOEO$0ND480$LCM2+BJkZ$2MI|B1*T7% z_Zr^eA;bQKD@g~bq?#Yn{okctz+!P}>JIYl{@&%-y4 z%{xTA7-J?cBX87M?susQFc5Ass*f;mJYia9Wk*;C@&$%Ewuo^y5^>b@SMuORgt9Ho z#x0~N18~&`ET@z`WdU`y(8Pf`lxrWHG&Y=JQRqzu53h}SpQ?Jy4kt+nFQDfjK_3kS zBKb>N;!`BV5s=@(rpv$(Ny|mx8gy`wfDT6Y*&Mc$nS{!FZ z!dr*YhWsHbjP`7aR~2$RdGIqL6ZujJ0RTiXDP5+bnm^jNCGMa8SqyvY}DPe}8xPJyQk>Zw-pXB4KcZhPkIEm?6eAvHtcZ$I%|+| zy-q2YhMydsPN)l>tqhn1XPm+bxkhX(8j{PDB^oyuf)OZ{?i zMemmCX&Adh!`LGR58Yt!&=VTQuF)`AQLM&8g(gjsRCy@6D04#MY=8=w20{x6~F9_ZWPD$1Uut{fU+Yv%69~&Oh}8dNiisdX_!#TM zr~yO$?P$BOOtm5HN`fnKp#U~=sKi)vMf8QiwdjKzpi}g%Ut6s(hiXjW*j5=+V~x68 zSRHW}MPnV#EMYSNQwVh>j0=YRHp=|*u!CI?faewqSas-)h32vdzc=O#uF#W}O-v+E zKo75A1*Vo`G*IQi!VJGlIy4YeH#3NTvC}l5=tr=+6DRMPW-?dzlu)~0GM0OkY;n?$BG4RM0BQrTZIhIVPKr6G8&)5d4;{qa_FyRu& zex%K*Guv*|W+!2G94T_!aVV(6I5O62huX3OX4Oh_ws0mqv8;j(hR5kh9BwXX6kux2 z+fR^XE?@O~hdl%R9{=J1xNDc{aolc^(($qsW_tN1&|G=pn8fLHW(I4IR!0ycnsV$T zQ>>ihvoAOhn2H^b8Y~$eJ5EY$6=2S!zD{q1_rEZBbuPmnXD$;-Ikqpkd#^gSuTTEX zRrI5io^)O+oH-!>?$*O)Mv9H|DiEGYoa+u=xVvW)T*Q+3&*jD7B^S!z)z5?ynx)_c zbd$LX&Y4>p1kjd?0BQ)cjQ}d%V)E>+C=3QyQdSGuZA}gjZW<= z&uF6S+L~MD_d6L$kVWF1ns65ixKY3k5K=1Tv6Z@8%^$|HhRbFmX{LsUq1Hv<7%?!l zvA)B^3JAlk8%Za|TR73SH?TOusgPnv7zz?8h;c<&t{^w1;vr5#%?-WTg50tmZfkQkd^>y{1gQV4m*{e9>P5m(X4bE`+4Ag6frBifV@+S@&*r=&{s|RWUQCW< zMh~BZe?wG}fE_|9Sel|)hs0x@(I&1EHK&#WOxuL#I0?~ zsXFR`xgAu#4Izy<0Yp)#-kfld~FtWfot{t>D}`j3T%SG!!~EoIxRvN)u|G(Narw ztZZY|yfLE2XRr<9;N4nPlAdkhI=8aYiRMKTsP7uEJaTnaw*BCToI8V#!eT%n$vy#$ zl7-8PTWV0YNLK-j^`-+9MmQEH90b57WhJGVQ|JPB4vg7^<*GFWLiKfVH1Kp$q0rFj z@ljh69B01UB(&7CYLOIk4n&h$)-}elDz}16rhq6^H~?fIw}aSTgK2pj16V8}o=Q{2 z3e2~oZmCHzY@kq+7vV{m)INFwaRM*hgx#VaZIca@ss3teVN|%lPjs-us0~O^0?bhF z(hlBsQb_Km*Dzkztaw(X?wRfY)(*9Nr+Sl31B>7rJc>Atj?E>1J9y4Q)cF zfdscea1k8Y2uc)b$ILX@J>G{?t7<(&$`Emk^N?CmA_$spsZQ@r1d2OMeS1loPE@cr zLs1HOd|=uySVw3_VC9C(Pf(Yd_(GST88NAL0+AM9HIM5`Fvc##$Qrm9?hUxI z1_Q6LI)g@0vY38EmrfwGb{6U^oIFurTb&H+vR*Xe@W~I;F*q=a?S42=+_F`$F;Th4 zSeP!3lp1h|fiOWh43%q#ElMw246_$HT};C~J`WRg39)4+x1Tm!@Hnn|Sg=Zov0-?h zBWMJKq=+r5B_V_>C=tp-ki5L09WD`)770>U<|o!aSw(M6XI62K;Y#xC08y|WCUct8 z`H1Oj8*g4wOMR{kr|tZ8gk7H+bvX9}k6dbWUgRjkltq+^GoH4uPeQxl#T@owngs=> zAJdI8W~u`Rj2(~9MCkE5XmYi)rhsT6{brQLG!`0Me<)duz;Fx< zO9HP*5JeoKM^NaDeLxRx3uml6T!=8H*XM_Co>DfcvA6KK(qbd($empgmQaA?h204RULRDq4 z!dpA5*u3Ey4W|eg97BfTFQe|E7qgRt3z}p{haN1k8WmPm{oqwA^|OfUotm7%&m{b` z3Umq$j)k7{ITJjb&rRzn;!*5?*WlZ&!s!ZTVqNsR8WpgTKn)Lf1@oqpWT3<} zWueWO1jpZ*mEAz>QXmQwA`df&zIUT8(j|sh%5{Ak6m=2kJuAEx*=~Swav2|v-S#4= z&Ansh8RjTU_7Fjgxm1_UKCFlBn@rjOjO;RL6(~g6I%iX9Co3`gtW&iHTPwwjs%$dY zHZZ>&Ns>dA5bvcVd_a2!Rcb0T?!Xa*M~nfSJ37prGC{8ChE-p}ig2!G63~`HPOqR` z?j+B^zClO<|Itt)beDz>?%HP&_-GLLXc2br0YV{%E#V~1D7~M8IWHd0!1YZJn1E7n z>cS~2J0C8>0{G1B9Sf(U(8B3=v~cc(SU7h>ESx(g7S63Qf$!7N4+6)tPan@deLVa0 z@$A#bvrnJ+mOk+feOznk*PqXpKA$apK3n>Hw)FXI=?lK0FZiI3lkj0og7iwH@wBK&ml3R?0f!i`4^<+y8(R{XCI%TheT8wk7<0TWMQ9s|BhT1y z=6(p455|T-$s*C21mTR(nU z$2=*IYI4B}%Wxg0LlI88UEE9*!>+k1zAZ!|%aS{Xm5v7-pt;e`f&9YQ=ci|Fqzd=O zRHK+fH7R}WJ7^#NsJq(%|$N(Uc zi1nR8kGOv1kyZb6`ztlJ6Uqq2XThM^qLGkLP5t?bMF|JZRh@F3~#)OSs&YyFinNGYG2Z-olcXWWX!xiCc0l z1lt>&U08gU3M)8^jx8>?oHS8f7A&_IGR;qbHeJx43zTLFcf#Or;by5-(eHWSOQu`F z8Kc&KJxc_5WCQyLo(6n2AV&oPk%{68m3uBU9DZ!*ZZ?`spBE#O>s0C=l3g$LniA{< zX362#?9#Po!(jsKMx$8j(Wxn!)c%_`bp6+9oVYcpu<$85P13mk5P|XqCnI2G@}>bP z;_&q7IKPW%UO6qH9%Gkrk-<6|M+48o$XW;9hL1fxsVL%z{CXe&6LcfBNoGefHa(iA z3p^8~n`(6e91B%aN)3=~Jwl~gP=J)mok_cmJeSBxkGrny_@KohMClszLbw$^q8A{d z40Kh8cUx6K2vZRN`?oEV0Y&n)RRC_zd^DpE@UsadQl3EC3Jk-dS=)-7q1B5rL)~gX zp-vd#rK71lK0+1648tQ;;uwr;E(v;JvXDBn7CKv4JP0KlBN1S(t&@SYqeKctL&mFT zBKY9S(B%&xDeBh zMRP_A46_|(nJqR94i)7ySP0c;C!03__yx7wSGW2QjDg(bg#7OGZEeUN{){r!7!MhD1mcpPM`bKnjuBs+>h8Hnv* zyy}`v(#nS5oh0O+ zk95dz;UfI_M#I9ryK>TyAKvxxvV$-_;NFoWFraXi6OhghisPk8b%-7q^6y%t+VXfh z4UI+Nho2W{a^pO7kluDX_<6K&R@W2GCLW6upBu6ompXe(l&j=8zO$FaAFFCWqd1fU z*GvFNfj_ZJP=$l5L0@!`ax(%-gSR921WM?25;jSpL4_g&oT{CLn@=K-Mkf!-Ifh&w zJAClrO{d0Y&`rk2lo`va@$6hOt4hsQvZ-#K#v$$`<9IamG$Uk_i2K1#64UXf!<;!a z@pY@<7>tL=yil4GHXxx`dl_6=-OQny6E*JQ1}+vqp)3g%Z*FEPlngx{62OBX05etL z|Ho6rBLh!|+z=%$8MrzId|yhCqMaZ*#dt4t9^<|+dEnDQp5d@#W;jgEq-bh7#Zc2J zhT5?1dDe?(7^F@z7Nl(;8pocF(1<)p6JXmkoyDdN<3tjSC(M5Nu|_tIlfobruM2FJ zdL6C|dJZWk=*5GB6mJe+tq~A*?&&N^e7SxC7x=fRheJ5y!W#2p(o0nsSEXhOx6Y62 zN8bO0)9)1q3!*~slwwB}zF~&tbC4oVMW0F@*XzR@4c7(&U;SsgLJ>lTK4c6te%3lf z4GO-i3Kc`~p)yEK(1hQsE-lS$p@!|KwN@8RWrI&$dZE@0-i-&ySq!S$<4AEA? zZH34eB?LJ~xDz5c?Jk!Kt8k?0UlWWpF+TOt?)L@@03M5Gjb1jW_^MD^(uTMqyt7$h3OARvOlQn(Y8b|*p@Jcv?YuoZ3$zTQXnQGUB=bDy__(PE+~X!N($kaqCz;Ptl>3f4X-IH zjHAm6;h3^QIHs%+4$I<}N~BrbSBbPLih+V67^E7(Ab=PMr{N*FQTw??>eKSsEuZb} zo}rHtY)!)12@3#LPuLWc15$QDhx*QReS`}4)6hQCN2tQyMPk7PYbIhuA!)fj$~)lf;sABwoj-5z^L+arBW952z3$I>IYd5>;sZtYko5WX83%!z5 z=#_M^1v`HZdFM^$$UAc5wy8$BUPJ7kHu<2~nkO`r-E;`L@9eIjfq~?{A-$PvA^k}N z0}iM|)0wO@>+BlB?Ki;Dmji`>2JHz*?HhU$gn)$WE*4RvwdkxX8PnE|brDW=q%O94 zin-hCZK}AIa6gF$Fd5OCPZx*~`UUekY$4jB#*_YJk9q3;7ETa9E|EO}TcJQIZ=yd}C`%wYIP+z{@N z?vHyG(c%&;n1OB7K9YV3?HE4!PTBoLKYKEjT$e(CH1cGS(oY6y^vNJi8PZ z)eQ93s~l(Y23;k|Puy8;XzNv~4Q<0Z1%+we`-Y21 zq~Ir@DgFASsIFgEEsA|Mj#SdfY28zDy*K1ysL5Q1WFc0JgD6ArQf>xLIf2SSYd9Wx z?IGOjoI%D~`&^{qvGo~6v_lp%{SZ3L?!3LvS~v*DjetU`jH8*1 z!m%o@4xb79eJYm<>EgkO(I8xp$Hc>me0vH%+!!LkKy&!oaj7Ui8ITE$DD*Qqsu6ZD z<{8xoXCh7?7WCyfxQhni8T#-jBDPTV(69vE5QLECd3L<5PWg%^2L59>`^?eV@#HOI zx2QC^J4c0wDO!s@l%Dkcx{Ek~8lku-~8J6F@)J!zexxs2|U#n&YBpwkT!534LG{M+M!`P!-tuw zhw*GZ=yDk|QN$1)`d$?}Nh~mQNyFr!g9C`^#igk5-)7+Doylal6M-9%X0Xp;TXQU% z@msS3H!|TY&cgXjIPVGZEk52BLVF@ftItw`0jV)yQG~Vz7IL9u4T6gXcEDw?t-)pK zYjFvU;xd9aljJ4~n^^Fs-9jC=Z`I`pNY&ijvafGwkeVbr z-$$QlD1F~xBpp7^NIKr5>AUwt(|7NQr0*JxmXG&nx_C*0@?pnC(qYI&=;IyfGntvO z^!UN?u~Ai*&kNBrj^4;X7L?_FE1V?Bj~I^(!=)%v0>O5gMQp6#DQP;iEvQ& zC&WSh*Tc!xuxj9t&l6NTinc-B+Yr}pKooI~mab`L9)&cf{ypy8XU z44hqy2tO7RLa5xOg_~+EDmHYP0Mtmyp_R{(VoxJ>)iWQJoKTTBYE(E&D0)daA(M^Z zF}AYMcC}y_JsrU|A-h5pk_ES8E>>~NBQA==1(PMYVRB(!UyuoKa{*UeFG3x`GxVw4 zGJeYpl3BhjgO33{*o?+3f82$Xs?z;gm_M&_|`xJc%gawUrF$luI&kZyD+*kJ!t%kGKjJ zj|X`t{sFZ^4pJOYjPE$0QkkiN`RR0aEIXe;Ia7xWWaQ?tbXGs7rjApAn$IsRf=Xe9 zcVxPJLig$GH~A#rhXvGpua%c~!ub#92wno)6= zfrrmi7jYUz+F}}JX}x$ePhsKeZUmb;2yJg6P8Q#FMIjo|a}Xn3Z6dA)IOrOF_10M` zEn>@g^BF*S;SVoMLdO(PY!-^=vWJJ8Ti8&kIvMG)9r$pbgG-3@og^@w_V#VwjC-&9 z`}XW`_9QbnHV2m=c9=F_fBp4NN`Lws0R=dDj@mEq&h5^lIsj4*@@(F$&mVy?3y#-X zAbtU)Q6ff=VtIi3t#I*O?mJOj0j7Iu_Y2+jxQ24@_w@l zk^>_JWuB(N=F_~xNe?@}fr7vnDB{>P<~OxDI4~n{p}c(Qc&UYN6l*@@`({%RC%Ly% zF2470Z!G#BLya{I7o$QA2N%;>TwdKS?BOu5!1Ffady#ShIas7&YplPBi!L3vZI>Dp zYy5@*7;rzLX%Kg09NgqcR#5JCcNd}R?AQ$Jj@MqVI_Rhp7E$5|FQG_I6nxDS(dF7h z%e=|6XB~cv24!Ba=YaWOA$r+<7Zd!`sL7Yhq;WgZueQ4|EQr>ZNcHAs2bXT6wNj2> z$68g-f(inrmRx-386RsZyUVDc9wggja2%S(&pLDL@I^E9PB00^bzY1+HW3OHrVj5x zf!ofVJJ*LS8qkMQw}WL*~x=L6Y<1H*oR2mqh(69dk+Lo*Zk?R}u&Q*%hev(>8b zYtX0(sNj~LT5Azq3NEa2MmL<1@#%~w?S*iFX)by7$g`bt-E$HBjHo5UysQs%Ir&<_ z!v|VB_BTHuht9?=2Vmn>KKlJGvpgj6P`F4OUFf)TPCh`#>lYlUdbtE~!3hq-(N4Uk zFHMje7CYMN@QQe$vBQD4fU;qSi|-;Khn&(x3vgig9D>sDMP7?;Xvo)19WJnzD82`Y&j;vFT37;d!?qkO@M)U1 z=oEcfA7W2xSd?JvVLYmf`0O_37HxSN{rrf}0Gz&%u z^^>84B*IQ+QtIF%nUBHmG_>M9g~dsOiq2mrWf+bgn}k0}Q8>t+=JW z4wRi!1phAZQ-!#mK7L78Pq#|m06ytI*1w{*Ra@oqc9rZuc0>O$fRgOgwG;fB!{^S+#hu0cPIYNK&i`+UtIuEf%Dwn|;Pdat@B6><0Q8yk N__*SCYlcthis._loadFile(o.result,t,n)),o.readAsArrayBuffer(e),r}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._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}*entries(r=!1,t=null){let n;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase);0!==(n=this._runCode.getNextEntry(this._archive));){const o={size:this._runCode.getEntrySize(n),path:this._runCode.getEntryName(n),type:e[this._runCode.getEntryType(n)],ref:n};if("FILE"===o.type){let e=o.path.split("/");o.fileName=e[e.length-1]}if(r&&t!==o.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,o.size);if(e<0)throw new Error(this._runCode.getError(this._archive));o.fileData=this._wasmModule.HEAP8.slice(e,e+o.size),this._wasmModule._free(e)}yield o}}_loadFile(e,r,t){try{const n=new Uint8Array(e);this._fileLength=n.length,this._filePtr=this._runCode.malloc(this._fileLength),this._wasmModule.HEAP8.set(n,this._filePtr),r()}catch(e){t(e)}}_promiseHandles(){let e=null,r=null;return{promise:new Promise((t,n)=>{e=t,r=n}),resolve:e,reject:r}}}var t,n=(t="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e){var r,n=void 0!==(e=e||{})?e:{},o={};for(r in n)n.hasOwnProperty(r)&&(o[r]=n[r]);n.arguments=[],n.thisProgram="./this.program",n.quit=function(e,r){throw r},n.preRun=[],n.postRun=[];var i,a,s=!1,u=!1;s="object"==typeof window,u="function"==typeof importScripts,i="object"==typeof process&&"function"==typeof require&&!s&&!u,a=!s&&!i&&!u;var c,f,l="";i?(l=__dirname+"/",n.read=function(e,r){var t;return c||(c=require("fs")),f||(f=require("path")),e=f.normalize(e),t=c.readFileSync(e),r?t:t.toString()},n.readBinary=function(e){var r=n.read(e,!0);return r.buffer||(r=new Uint8Array(r)),y(r.buffer),r},process.argv.length>1&&(n.thisProgram=process.argv[1].replace(/\\/g,"/")),n.arguments=process.argv.slice(2),process.on("uncaughtException",function(e){if(!(e instanceof We))throw e}),process.on("unhandledRejection",Ke),n.quit=function(e){process.exit(e)},n.inspect=function(){return"[Emscripten Module object]"}):a?("undefined"!=typeof read&&(n.read=function(e){return read(e)}),n.readBinary=function(e){var r;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(y("object"==typeof(r=read(e,"binary"))),r)},"undefined"!=typeof scriptArgs?n.arguments=scriptArgs:void 0!==arguments&&(n.arguments=arguments),"function"==typeof quit&&(n.quit=function(e){quit(e)})):(s||u)&&(u?l=self.location.href:document.currentScript&&(l=document.currentScript.src),t&&(l=t),l=0!==l.indexOf("blob:")?l.substr(0,l.lastIndexOf("/")+1):"",n.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},u&&(n.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),n.readAsync=function(e,r,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)},n.setWindowTitle=function(e){document.title=e});var d=n.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),p=n.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||d);for(r in o)o.hasOwnProperty(r)&&(n[r]=o[r]);function m(e){var r=M[q>>2],t=r+e+15&-16;if(t<=Fe())M[q>>2]=t;else if(!Ae(t))return 0;return r}function h(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return 4;if("i"===e[0]){var r=parseInt(e.substr(1));return y(r%8==0,"getNativeTypeSize invalid bits "+r+", type "+e),r/8}return 0}}o=void 0;var w,v={"f64-rem":function(e,r){return e%r},debugger:function(){}};new Array(0),"object"!=typeof WebAssembly&&p("no native wasm support detected");var g=!1;function y(e,r){e||Ke("Assertion failed: "+r)}function E(e){var r=n["_"+e];return y(r,"Cannot call unknown function "+e+", make sure it is exported"),r}function _(e,r,t,n,o){var i={string:function(e){var r=0;if(null!=e&&0!==e){var t=1+(e.length<<2);C(e,r=Ue(t),t)}return r},array:function(e){var r,t,n=Ue(e.length);return r=e,t=n,P.set(r,t),n}},a=E(e),s=[],u=0;if(n)for(var c=0;c>0]=r;break;case"i16":T[e>>1]=r;break;case"i32":M[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,+J(tempDouble)>=1?tempDouble>0?(0|re(+ee(tempDouble/4294967296),4294967295))>>>0:~~+Q((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[e>>2]=tempI64[0],M[e+4>>2]=tempI64[1];break;case"float":B[e>>2]=r;break;case"double":x[e>>3]=r;break;default:Ke("invalid type for setValue: "+t)}}var k=0,D=3;function S(e,r,t,n){var o,i;"number"==typeof e?(o=!0,i=e):(o=!1,i=e.length);var a,s="string"==typeof r?r:null;if(a=t==D?n:[Le,Ue,m][t](Math.max(i,s?1:r.length)),o){var u;for(n=a,y(0==(3&a)),u=a+(-4&i);n>2]=0;for(u=a+i;n>0]=0;return a}if("i8"===s)return e.subarray||e.slice?R.set(e,a):R.set(new Uint8Array(e),a),a;for(var c,f,l,d=0;d=n);)++o;if(o-r>16&&e.subarray&&O)return O.decode(e.subarray(r,o));for(var i="";r>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function I(e,r){return e?N(R,e,r):""}function z(e,r,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(t>=i)break;r[t++]=s}else if(s<=2047){if(t+1>=i)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=i)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 C(e,r,t){return z(e,R,r,t)}function L(e){for(var r=0,t=0;t=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:4}return r}function U(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);t||(P[r>>0]=0)}function j(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();return n.extraStackTrace&&(e+="\n"+n.extraStackTrace()),e.replace(/__Z[\w\d_]+/g,function(e){var r=e;return e===r?e:r+" ["+e+"]"})}function H(e,r){return e%r>0&&(e+=r-e%r),e}function W(){n.HEAP8=P=new Int8Array(A),n.HEAP16=T=new Int16Array(A),n.HEAP32=M=new Int32Array(A),n.HEAPU8=R=new Uint8Array(A),n.HEAPU16=new Uint16Array(A),n.HEAPU32=new Uint32Array(A),n.HEAPF32=B=new Float32Array(A),n.HEAPF64=x=new Float64Array(A)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var q=277552,K=n.TOTAL_MEMORY||16777216;function Z(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?n.dynCall_v(t):n.dynCall_vi(t,r.arg):t(void 0===r.arg?null:r.arg)}else r()}}K<5242880&&p("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+K+"! (TOTAL_STACK=5242880)"),n.buffer?A=n.buffer:"object"==typeof WebAssembly&&"function"==typeof WebAssembly.Memory?(w=new WebAssembly.Memory({initial:K/65536}),A=w.buffer):A=new ArrayBuffer(K),W(),M[q>>2]=5520464;var V=[],X=[],Y=[],G=[],$=!1,J=Math.abs,Q=Math.ceil,ee=Math.floor,re=Math.min,te=0,ne=null;function oe(e){te++,n.monitorRunDependencies&&n.monitorRunDependencies(te)}function ie(e){if(te--,n.monitorRunDependencies&&n.monitorRunDependencies(te),0==te&&ne){var r=ne;ne=null,r()}}n.preloadedImages={},n.preloadedAudios={};var ae="data:application/octet-stream;base64,";function se(e){return String.prototype.startsWith?e.startsWith(ae):0===e.indexOf(ae)}var ue,ce="libarchive.wasm";function fe(){try{if(n.wasmBinary)return new Uint8Array(n.wasmBinary);if(n.readBinary)return n.readBinary(ce);throw"both async and sync fetching of the wasm failed"}catch(e){Ke(e)}}function le(e){var r={env:e,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:v};function t(e,r){var t=e.exports;n.asm=t,ie()}if(oe(),n.instantiateWasm)try{return n.instantiateWasm(r,t)}catch(e){return p("Module.instantiateWasm callback failed with error: "+e),!1}function o(e){t(e.instance)}function i(e){(n.wasmBinary||!s&&!u||"function"!=typeof fetch?new Promise(function(e,r){e(fe())}):fetch(ce,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ce+"'";return e.arrayBuffer()}).catch(function(){return fe()})).then(function(e){return WebAssembly.instantiate(e,r)}).then(e,function(e){p("failed to asynchronously prepare wasm: "+e),Ke(e)})}return n.wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||se(ce)||"function"!=typeof fetch?i(o):WebAssembly.instantiateStreaming(fetch(ce,{credentials:"same-origin"}),r).then(o,function(e){p("wasm streaming compile failed: "+e),p("falling back to ArrayBuffer instantiation"),i(o)}),{}}se(ce)||(ue=ce,ce=n.locateFile?n.locateFile(ue,l):l+ue),n.asm=function(e,r,t){return r.memory=w,r.table=new WebAssembly.Table({initial:507,maximum:507,element:"anyfunc"}),r.__memory_base=1024,r.__table_base=0,le(r)},X.push({func:function(){Ne()}});var de={},pe={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(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:function(e){var r="/"===e.charAt(0),t="/"===e.substr(-1);return(e=pe.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:function(e){var r=pe.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:function(e){if("/"===e)return"/";var r=e.lastIndexOf("/");return-1===r?e:e.substr(r+1)},extname:function(e){return pe.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return pe.normalize(e.join("/"))},join2:function(e,r){return pe.normalize(e+"/"+r)}};function me(e){return n.___errno_location&&(M[n.___errno_location()>>2]=e),e}var he={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:_e.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r="/"===n.charAt(0)}return(r?"/":"")+(e=pe.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/"))||"."},relative:function(e,r){function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=he.resolve(e).substr(1),r=he.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=Be(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(d(N(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(d(N(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(p(N(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(p(N(e.output,0)),e.output=[])}}},ve={ops_table:null,mount:function(e){return ve.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(_e.isBlkdev(t)||_e.isFIFO(t))throw new _e.ErrnoError(1);ve.ops_table||(ve.ops_table={dir:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr,lookup:ve.node_ops.lookup,mknod:ve.node_ops.mknod,rename:ve.node_ops.rename,unlink:ve.node_ops.unlink,rmdir:ve.node_ops.rmdir,readdir:ve.node_ops.readdir,symlink:ve.node_ops.symlink},stream:{llseek:ve.stream_ops.llseek}},file:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr},stream:{llseek:ve.stream_ops.llseek,read:ve.stream_ops.read,write:ve.stream_ops.write,allocate:ve.stream_ops.allocate,mmap:ve.stream_ops.mmap,msync:ve.stream_ops.msync}},link:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr,readlink:ve.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr},stream:_e.chrdev_stream_ops}});var o=_e.createNode(e,r,t,n);return _e.isDir(o.mode)?(o.node_ops=ve.ops_table.dir.node,o.stream_ops=ve.ops_table.dir.stream,o.contents={}):_e.isFile(o.mode)?(o.node_ops=ve.ops_table.file.node,o.stream_ops=ve.ops_table.file.stream,o.usedBytes=0,o.contents=null):_e.isLink(o.mode)?(o.node_ops=ve.ops_table.link.node,o.stream_ops=ve.ops_table.link.stream):_e.isChrdev(o.mode)&&(o.node_ops=ve.ops_table.chrdev.node,o.stream_ops=ve.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o),o},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var r=[],t=0;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:function(e,r){if(e.usedBytes!=r){if(0==r)return e.contents=null,void(e.usedBytes=0);if(!e.contents||e.contents.subarray){var t=e.contents;return e.contents=new Uint8Array(new ArrayBuffer(r)),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),void(e.usedBytes=r)}if(e.contents||(e.contents=[]),e.contents.length>r)e.contents.length=r;else for(;e.contents.length=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(a>8&&i.subarray)r.set(i.subarray(o,o+a),t);else for(var s=0;s0||o+na.timestamp)&&(o.push(t),n++)});var i=[];if(Object.keys(r.entries).forEach(function(t){r.entries[t],e.entries[t]||(i.push(t),n++)}),!n)return t(null);var a=0,s=("remote"===e.type?e.db:r.db).transaction([ge.DB_STORE_NAME],"readwrite"),u=s.objectStore(ge.DB_STORE_NAME);function c(e){return e?c.errored?void 0:(c.errored=!0,t(e)):++a>=n?t(null):void 0}s.onerror=function(e){c(this.error),e.preventDefault()},o.sort().forEach(function(e){"local"===r.type?ge.loadRemoteEntry(u,e,function(r,t){if(r)return c(r);ge.storeLocalEntry(e,t,c)}):ge.loadLocalEntry(e,function(r,t){if(r)return c(r);ge.storeRemoteEntry(u,e,t,c)})}),i.sort().reverse().forEach(function(e){"local"===r.type?ge.removeLocalEntry(e,c):ge.removeRemoteEntry(u,e,c)})}},ye={isWindows:!1,staticInit:function(){ye.isWindows=!!process.platform.match(/^win/);var e=process.binding("constants");e.fs&&(e=e.fs),ye.flagsForNodeMap={1024:e.O_APPEND,64:e.O_CREAT,128:e.O_EXCL,0:e.O_RDONLY,2:e.O_RDWR,4096:e.O_SYNC,512:e.O_TRUNC,1:e.O_WRONLY}},bufferFrom:function(e){return Buffer.alloc?Buffer.from(e):new Buffer(e)},mount:function(e){return y(i),ye.createNode(null,"/",ye.getMode(e.opts.root),0)},createNode:function(e,r,t,n){if(!_e.isDir(t)&&!_e.isFile(t)&&!_e.isLink(t))throw new _e.ErrnoError(22);var o=_e.createNode(e,r,t);return o.node_ops=ye.node_ops,o.stream_ops=ye.stream_ops,o},getMode:function(e){var r;try{r=Te.lstatSync(e),ye.isWindows&&(r.mode=r.mode|(292&r.mode)>>2)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}return r.mode},realPath:function(e){for(var r=[];e.parent!==e;)r.push(e.name),e=e.parent;return r.push(e.mount.opts.root),r.reverse(),pe.join.apply(null,r)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var r=0;for(var t in ye.flagsForNodeMap)e&t&&(r|=ye.flagsForNodeMap[t],e^=t);if(e)throw new _e.ErrnoError(22);return r},node_ops:{getattr:function(e){var r,t=ye.realPath(e);try{r=Te.lstatSync(t)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}return ye.isWindows&&!r.blksize&&(r.blksize=4096),ye.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(e,r){var t=ye.realPath(e);try{if(void 0!==r.mode&&(Te.chmodSync(t,r.mode),e.mode=r.mode),void 0!==r.timestamp){var n=new Date(r.timestamp);Te.utimesSync(t,n,n)}void 0!==r.size&&Te.truncateSync(t,r.size)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},lookup:function(e,r){var t=pe.join2(ye.realPath(e),r),n=ye.getMode(t);return ye.createNode(e,r,n)},mknod:function(e,r,t,n){var o=ye.createNode(e,r,t,n),i=ye.realPath(o);try{_e.isDir(o.mode)?Te.mkdirSync(i,o.mode):Te.writeFileSync(i,"",{mode:o.mode})}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}return o},rename:function(e,r,t){var n=ye.realPath(e),o=pe.join2(ye.realPath(r),t);try{Te.renameSync(n,o)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},unlink:function(e,r){var t=pe.join2(ye.realPath(e),r);try{Te.unlinkSync(t)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},rmdir:function(e,r){var t=pe.join2(ye.realPath(e),r);try{Te.rmdirSync(t)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},readdir:function(e){var r=ye.realPath(e);try{return Te.readdirSync(r)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},symlink:function(e,r,t){var n=pe.join2(ye.realPath(e),r);try{Te.symlinkSync(t,n)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},readlink:function(e){var r=ye.realPath(e);try{return r=Te.readlinkSync(r),r=Me.relative(Me.resolve(e.mount.opts.root),r)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}}},stream_ops:{open:function(e){var r=ye.realPath(e.node);try{_e.isFile(e.node.mode)&&(e.nfd=Te.openSync(r,ye.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},close:function(e){try{_e.isFile(e.node.mode)&&e.nfd&&Te.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new _e.ErrnoError(-e.errno)}},read:function(e,r,t,n,o){if(0===n)return 0;try{return Te.readSync(e.nfd,ye.bufferFrom(r.buffer),t,n,o)}catch(e){throw new _e.ErrnoError(-e.errno)}},write:function(e,r,t,n,o){try{return Te.writeSync(e.nfd,ye.bufferFrom(r.buffer),t,n,o)}catch(e){throw new _e.ErrnoError(-e.errno)}},llseek:function(e,r,t){var n=r;if(1===t)n+=e.position;else if(2===t&&_e.isFile(e.node.mode))try{n+=Te.fstatSync(e.nfd).size}catch(e){throw new _e.ErrnoError(-e.errno)}if(n<0)throw new _e.ErrnoError(22);return n}}},Ee={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){y(u),Ee.reader||(Ee.reader=new FileReaderSync);var r=Ee.createNode(null,"/",Ee.DIR_MODE,0),t={};function n(e){for(var n=e.split("/"),o=r,i=0;i=e.node.size)return 0;var i=e.node.contents.slice(o,o+n),a=Ee.reader.readAsArrayBuffer(i);return r.set(new Uint8Array(a),t),i.size},write:function(e,r,t,n,o){throw new _e.ErrnoError(5)},llseek:function(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&_e.isFile(e.node.mode)&&(n+=e.node.size),n<0)throw new _e.ErrnoError(22);return n}}},_e={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof _e.ErrnoError))throw e+" : "+j();return me(e.errno)},lookupPath:function(e,r){if(r=r||{},!(e=he.resolve(_e.cwd(),e)))return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};for(var n in t)void 0===r[n]&&(r[n]=t[n]);if(r.recurse_count>8)throw new _e.ErrnoError(40);for(var o=pe.normalizeArray(e.split("/").filter(function(e){return!!e}),!1),i=_e.root,a="/",s=0;s40)throw new _e.ErrnoError(40)}}return{path:a,node:i}},getPath:function(e){for(var r;;){if(_e.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:function(e,r){for(var t=0,n=0;n>>0)%_e.nameTable.length},hashAddNode:function(e){var r=_e.hashName(e.parent.id,e.name);e.name_next=_e.nameTable[r],_e.nameTable[r]=e},hashRemoveNode:function(e){var r=_e.hashName(e.parent.id,e.name);if(_e.nameTable[r]===e)_e.nameTable[r]=e.name_next;else for(var t=_e.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:function(e,r){var t=_e.mayLookup(e);if(t)throw new _e.ErrnoError(t,e);for(var n=_e.hashName(e.id,r),o=_e.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===r)return o}return _e.lookup(e,r)},createNode:function(e,r,t,n){_e.FSNode||(_e.FSNode=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=_e.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},_e.FSNode.prototype={},Object.defineProperties(_e.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return _e.isDir(this.mode)}},isDevice:{get:function(){return _e.isChrdev(this.mode)}}}));var o=new _e.FSNode(e,r,t,n);return _e.hashAddNode(o),o},destroyNode:function(e){_e.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var r=_e.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:function(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:function(e,r){return _e.ignorePermissions?0:(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:13},mayLookup:function(e){var r=_e.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:13)},mayCreate:function(e,r){try{return _e.lookupNode(e,r),17}catch(e){}return _e.nodePermissions(e,"wx")},mayDelete:function(e,r,t){var n;try{n=_e.lookupNode(e,r)}catch(e){return e.errno}var o=_e.nodePermissions(e,"wx");if(o)return o;if(t){if(!_e.isDir(n.mode))return 20;if(_e.isRoot(n)||_e.getPath(n)===_e.cwd())return 16}else if(_e.isDir(n.mode))return 21;return 0},mayOpen:function(e,r){return e?_e.isLink(e.mode)?40:_e.isDir(e.mode)&&("r"!==_e.flagsToPermissionString(r)||512&r)?21:_e.nodePermissions(e,_e.flagsToPermissionString(r)):2},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||_e.MAX_OPEN_FDS;for(var t=e;t<=r;t++)if(!_e.streams[t])return t;throw new _e.ErrnoError(24)},getStream:function(e){return _e.streams[e]},createStream:function(e,r,t){_e.FSStream||(_e.FSStream=function(){},_e.FSStream.prototype={},Object.defineProperties(_e.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var n=new _e.FSStream;for(var o in e)n[o]=e[o];e=n;var i=_e.nextfd(r,t);return e.fd=i,_e.streams[i]=e,e},closeStream:function(e){_e.streams[e]=null},chrdev_stream_ops:{open:function(e){var r=_e.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new _e.ErrnoError(29)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){_e.devices[e]={stream_ops:r}},getDevice:function(e){return _e.devices[e]},getMounts:function(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:function(e,r){"function"==typeof e&&(r=e,e=!1),_e.syncFSRequests++,_e.syncFSRequests>1&&console.log("warning: "+_e.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=_e.getMounts(_e.root.mount),n=0;function o(e){return _e.syncFSRequests--,r(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(function(r){if(!r.type.syncfs)return i(null);r.type.syncfs(r,e,i)})},mount:function(e,r,t){var n,o="/"===t,i=!t;if(o&&_e.root)throw new _e.ErrnoError(16);if(!o&&!i){var a=_e.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,_e.isMountpoint(n))throw new _e.ErrnoError(16);if(!_e.isDir(n.mode))throw new _e.ErrnoError(20)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?_e.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:function(e){var r=_e.lookupPath(e,{follow_mount:!1});if(!_e.isMountpoint(r.node))throw new _e.ErrnoError(22);var t=r.node,n=t.mounted,o=_e.getMounts(n);Object.keys(_e.nameTable).forEach(function(e){for(var r=_e.nameTable[e];r;){var t=r.name_next;-1!==o.indexOf(r.mount)&&_e.destroyNode(r),r=t}}),t.mounted=null;var i=t.mount.mounts.indexOf(n);t.mount.mounts.splice(i,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(e,r,t){var n=_e.lookupPath(e,{parent:!0}).node,o=pe.basename(e);if(!o||"."===o||".."===o)throw new _e.ErrnoError(22);var i=_e.mayCreate(n,o);if(i)throw new _e.ErrnoError(i);if(!n.node_ops.mknod)throw new _e.ErrnoError(1);return n.node_ops.mknod(n,o,r,t)},create:function(e,r){return r=void 0!==r?r:438,r&=4095,r|=32768,_e.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,_e.mknod(e,r,0)},mkdirTree:function(e,r){for(var t=e.split("/"),n="",o=0;othis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},i.prototype.setDataGetter=function(e){this.getter=e},i.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,i=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,a=1048576;o||(a=n);var s=this;s.setDataGetter(function(e){var r=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(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!==a&&o.setRequestHeader("Range","bytes="+e+"-"+r),"undefined"!=typeof Uint8Array&&(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||[]):Be(o.responseText||"",!0)}(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!i&&n||(a=n=1,n=this.getter(0).length,a=n,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{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:a}}else s={isDevice:!1,url:t};var c=_e.createFile(e,r,s,n,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var f={};return Object.keys(c.stream_ops).forEach(function(e){var r=c.stream_ops[e];f[e]=function(){if(!_e.forceLoadFile(c))throw new _e.ErrnoError(5);return r.apply(null,arguments)}}),f.read=function(e,r,t,n,o){if(!_e.forceLoadFile(c))throw new _e.ErrnoError(5);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s>2]=n.dev,M[t+4>>2]=0,M[t+8>>2]=n.ino,M[t+12>>2]=n.mode,M[t+16>>2]=n.nlink,M[t+20>>2]=n.uid,M[t+24>>2]=n.gid,M[t+28>>2]=n.rdev,M[t+32>>2]=0,tempI64=[n.size>>>0,(tempDouble=n.size,+J(tempDouble)>=1?tempDouble>0?(0|re(+ee(tempDouble/4294967296),4294967295))>>>0:~~+Q((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[t+40>>2]=tempI64[0],M[t+44>>2]=tempI64[1],M[t+48>>2]=4096,M[t+52>>2]=n.blocks,M[t+56>>2]=n.atime.getTime()/1e3|0,M[t+60>>2]=0,M[t+64>>2]=n.mtime.getTime()/1e3|0,M[t+68>>2]=0,M[t+72>>2]=n.ctime.getTime()/1e3|0,M[t+76>>2]=0,tempI64=[n.ino>>>0,(tempDouble=n.ino,+J(tempDouble)>=1?tempDouble>0?(0|re(+ee(tempDouble/4294967296),4294967295))>>>0:~~+Q((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[t+80>>2]=tempI64[0],M[t+84>>2]=tempI64[1],0},doMsync:function(e,r,t,n){var o=new Uint8Array(R.subarray(e,e+t));_e.msync(r,o,0,t,n)},doMkdir:function(e,r){return"/"===(e=pe.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),_e.mkdir(e,r,0),0},doMknod:function(e,r,t){switch(61440&r){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}return _e.mknod(e,r,t),0},doReadlink:function(e,r,t){if(t<=0)return-22;var n=_e.readlink(e),o=Math.min(t,L(n)),i=P[r+o];return C(n,r,t+1),P[r+o]=i,o},doAccess:function(e,r){if(-8&r)return-22;var t;t=_e.lookupPath(e,{follow:!0}).node;var n="";return 4&r&&(n+="r"),2&r&&(n+="w"),1&r&&(n+="x"),n&&_e.nodePermissions(t,n)?-13:0},doDup:function(e,r,t){var n=_e.getStream(t);return n&&_e.close(n),_e.open(e,r,0,t,t).fd},doReadv:function(e,r,t,n){for(var o=0,i=0;i>2],s=M[r+(8*i+4)>>2],u=_e.read(e,P,a,s,n);if(u<0)return-1;if(o+=u,u>2],s=M[r+(8*i+4)>>2],u=_e.write(e,P,a,s,n);if(u<0)return-1;o+=u}return o},varargs:0,get:function(e){return be.varargs+=4,M[be.varargs-4>>2]},getStr:function(){return I(be.get())},getStreamFromFD:function(){var e=_e.getStream(be.get());if(!e)throw new _e.ErrnoError(9);return e},get64:function(){var e=be.get();return be.get(),e},getZero:function(){be.get()}},ke=11,De=22,Se={BUCKET_BUFFER_SIZE:8192,mount:function(e){return _e.createNode(null,"/",16895,0)},createPipe:function(){var e={buckets:[]};e.buckets.push({buffer:new Uint8Array(Se.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=Se.nextname(),t=Se.nextname(),n=_e.createNode(Se.root,r,4096,0),o=_e.createNode(Se.root,t,4096,0);n.pipe=e,o.pipe=e;var i=_e.createStream({path:r,node:n,flags:_e.modeStringToFlags("r"),seekable:!1,stream_ops:Se.stream_ops});n.stream=i;var a=_e.createStream({path:t,node:o,flags:_e.modeStringToFlags("w"),seekable:!1,stream_ops:Se.stream_ops});return o.stream=a,{readable_fd:i.fd,writable_fd:a.fd}},stream_ops:{poll:function(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:function(e,r,t){return De},read:function(e,r,t,n,o){for(var i=e.node.pipe,a=0,s=0;s=s)return u.buffer.set(a,u.offset),u.offset+=s,s;c>0&&(u.buffer.set(a.subarray(0,c),u.offset),u.offset+=c,a=a.subarray(c,a.byteLength));for(var f=a.byteLength/Se.BUCKET_BUFFER_SIZE|0,l=a.byteLength%Se.BUCKET_BUFFER_SIZE,d=0;d0&&(p={buffer:new Uint8Array(Se.BUCKET_BUFFER_SIZE),offset:a.byteLength,roffset:0},i.buckets.push(p),p.buffer.set(a)),s},close:function(e){e.node.pipe.buckets=null}},nextname:function(){return Se.nextname.current||(Se.nextname.current=0),"pipe["+Se.nextname.current+++"]"}};function Fe(){return P.length}function Ae(e){var r=Fe();if(e>2147418112)return!1;for(var t=Math.max(r,16777216);t>2]=60*(new Date).getTimezoneOffset();var e=new Date(2e3,0,1),r=new Date(2e3,6,1);M[Ie()>>2]=Number(e.getTimezoneOffset()!=r.getTimezoneOffset());var t=a(e),n=a(r),o=S(Be(t),"i8",k),i=S(Be(n),"i8",k);r.getTimezoneOffset()>2]=o,M[Ce()+4>>2]=i):(M[Ce()>>2]=i,M[Ce()+4>>2]=o)}function a(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}}if(C("GMT",277456,4),_e.staticInit(),i){var Te=require("fs"),Me=require("path");ye.staticInit()}function Be(e,r,t){var n=t>0?t:L(e)+1,o=new Array(n),i=z(e,o,0,o.length);return r&&(o.length=i),o}var xe={b:Ke,q:function(e){},G:function e(r){var t,o;e.called?(o=M[r>>2],t=M[o>>2]):(e.called=!0,de.USER=de.LOGNAME="web_user",de.PATH="/",de.PWD="/",de.HOME="/home/web_user",de.LANG="C.UTF-8",de._=n.thisProgram,t=F(1024),o=F(256),M[o>>2]=t,M[r>>2]=o);var i=[],a=0;for(var s in de)if("string"==typeof de[s]){var u=s+"="+de[s];i.push(u),a+=u.length}if(a>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var c=0;c>2]=t,t+=u.length+1;M[o+4*i.length>>2]=0},l:me,s:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD(),n=be.get(),o=be.get(),i=be.get(),a=be.get();if(!(-1==n&&o<0||0==n&&o>=0))return-75;var s=o;return _e.llseek(t,s,a),tempI64=[t.position>>>0,(tempDouble=t.position,+J(tempDouble)>=1?tempDouble>0?(0|re(+ee(tempDouble/4294967296),4294967295))>>>0:~~+Q((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[i>>2]=tempI64[0],M[i+4>>2]=tempI64[1],t.getdents&&0===s&&0===a&&(t.getdents=null),0}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},i:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD(),n=be.get(),o=be.get();return be.doWritev(t,n,o)}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},p:function(e,r){be.varargs=r;try{for(var t=be.get(),n=be.get(),o=(be.get(),0),i=0;i>2],u=T[a+4>>1],c=32,f=_e.getStream(s);f&&(c=be.DEFAULT_POLLMASK,f.stream_ops.poll&&(c=f.stream_ops.poll(f))),(c&=24|u)&&o++,T[a+6>>1]=c}return o}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},o:function(e,r){be.varargs=r;try{var t=be.getStr(),n=be.get();return be.doStat(_e.stat,t,n)}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},n:function(e,r){be.varargs=r;try{var t=be.getStr(),n=be.get();return be.doStat(_e.lstat,t,n)}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},m:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD(),n=be.get();return be.doStat(_e.stat,t.path,n)}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},c:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD();switch(be.get()){case 0:return(n=be.get())<0?-22:_e.open(t.path,t.flags,0,n).fd;case 1:case 2:return 0;case 3:return t.flags;case 4:var n=be.get();return t.flags|=n,0;case 12:return n=be.get(),T[n+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-22;case 9:return me(22),-1;default:return-22}}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},F:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD(),n=be.get(),o=be.get();return _e.read(t,P,n,o)}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},E:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD(),n=be.get(),o=be.get();return _e.write(t,P,n,o)}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},D:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD();return _e.open(t.path,t.flags,0).fd}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},C:function(e,r){be.varargs=r;try{var t=be.get();if(0==t)throw new _e.ErrnoError(14);var n=Se.createPipe();return M[t>>2]=n.readable_fd,M[t+4>>2]=n.writable_fd,0}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},B:function(e,r){be.varargs=r;try{var t=be.getStr(),n=be.get(),o=be.get();return _e.open(t,n,o).fd}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},h:function(e,r){be.varargs=r;try{var t=be.getStreamFromFD();return _e.close(t),0}catch(e){return void 0!==_e&&e instanceof _e.ErrnoError||Ke(e),-e.errno}},g:function(){n.abort()},A:Fe,z:function(e,r,t){R.set(R.subarray(r,r+t),e)},y:Ae,f:function(e){!function(e,r){r&&n.noExitRuntime&&0===e||(n.noExitRuntime||(g=!0,n.onExit&&n.onExit(e)),n.quit(e,new We(e)))}(e)},x:function(e){return function(e,r){Re();var t=new Date(1e3*M[e>>2]);M[r>>2]=t.getSeconds(),M[r+4>>2]=t.getMinutes(),M[r+8>>2]=t.getHours(),M[r+12>>2]=t.getDate(),M[r+16>>2]=t.getMonth(),M[r+20>>2]=t.getFullYear()-1900,M[r+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1),o=(t.getTime()-n.getTime())/864e5|0;M[r+28>>2]=o,M[r+36>>2]=-60*t.getTimezoneOffset();var i=new Date(2e3,6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&t.getTimezoneOffset()==Math.min(a,i));M[r+32>>2]=s;var u=M[Ce()+(s?4:0)>>2];return M[r+40>>2]=u,r}(e,Pe)},d:function(e){Re();var r=new Date(M[e+20>>2]+1900,M[e+16>>2],M[e+12>>2],M[e+8>>2],M[e+4>>2],M[e>>2],0),t=M[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),i=new Date(2e3,6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(t<0)M[e+32>>2]=Number(i!=a&&s==n);else if(t>0!=(s==n)){var u=Math.max(a,i),c=t>0?s:u;r.setTime(r.getTime()+6e4*(c-n))}M[e+24>>2]=r.getDay();var f=(r.getTime()-o.getTime())/864e5|0;return M[e+28>>2]=f,r.getTime()/1e3|0},e:function(){p("missing function: posix_spawn_file_actions_addclose"),Ke(-1)},k:function(){p("missing function: posix_spawn_file_actions_adddup2"),Ke(-1)},j:function(){p("missing function: posix_spawn_file_actions_destroy"),Ke(-1)},w:function(){p("missing function: posix_spawn_file_actions_init"),Ke(-1)},v:function(){return function(){return me(11),-1}.apply(null,arguments)},u:function(e){Re();var r=Date.UTC(M[e+20>>2]+1900,M[e+16>>2],M[e+12>>2],M[e+8>>2],M[e+4>>2],M[e>>2],0),t=new Date(r);M[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return M[e+28>>2]=o,t.getTime()/1e3|0},t:function(){return function(e){return me(10),-1}.apply(null,arguments)},r:function(e){Ke("OOM")},a:q},Oe=n.asm({},xe,A);n.asm=Oe;var Ne=n.___emscripten_environ_constructor=function(){return n.asm.H.apply(null,arguments)},Ie=(n.___errno_location=function(){return n.asm.I.apply(null,arguments)},n.__get_daylight=function(){return n.asm.J.apply(null,arguments)}),ze=n.__get_timezone=function(){return n.asm.K.apply(null,arguments)},Ce=n.__get_tzname=function(){return n.asm.L.apply(null,arguments)},Le=(n._archive_close=function(){return n.asm.M.apply(null,arguments)},n._archive_entry_filetype=function(){return n.asm.N.apply(null,arguments)},n._archive_entry_is_encrypted=function(){return n.asm.O.apply(null,arguments)},n._archive_entry_pathname=function(){return n.asm.P.apply(null,arguments)},n._archive_entry_pathname_utf8=function(){return n.asm.Q.apply(null,arguments)},n._archive_entry_size=function(){return n.asm.R.apply(null,arguments)},n._archive_error_string=function(){return n.asm.S.apply(null,arguments)},n._archive_open=function(){return n.asm.T.apply(null,arguments)},n._archive_read_add_passphrase=function(){return n.asm.U.apply(null,arguments)},n._archive_read_data_skip=function(){return n.asm.V.apply(null,arguments)},n._archive_read_has_encrypted_entries=function(){return n.asm.W.apply(null,arguments)},n._free=function(){return n.asm.X.apply(null,arguments)},n._get_filedata=function(){return n.asm.Y.apply(null,arguments)},n._get_next_entry=function(){return n.asm.Z.apply(null,arguments)},n._get_version=function(){return n.asm._.apply(null,arguments)},n._malloc=function(){return n.asm.$.apply(null,arguments)}),Ue=n.stackAlloc=function(){return n.asm.ca.apply(null,arguments)},je=n.stackRestore=function(){return n.asm.da.apply(null,arguments)},He=n.stackSave=function(){return n.asm.ea.apply(null,arguments)};function We(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function qe(e){function r(){n.calledRun||(n.calledRun=!0,g||($||($=!0,n.noFSInit||_e.init.initialized||_e.init(),we.init(),Se.root=_e.mount(Se,{},null),Z(X)),_e.ignorePermissions=!1,Z(Y),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),G.unshift(e);var e;Z(G)}()))}e=e||n.arguments,te>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),V.unshift(e);var e;Z(V)}(),te>0||n.calledRun||(n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),r()},1)):r()))}function Ke(e){throw n.onAbort&&n.onAbort(e),void 0!==e?(d(e),p(e),e=JSON.stringify(e)):e="",g=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(n.dynCall_v=function(){return n.asm.aa.apply(null,arguments)},n.dynCall_vi=function(){return n.asm.ba.apply(null,arguments)},n.asm=Oe,n.intArrayFromString=Be,n.cwrap=function(e,r,t,n){var o=(t=t||[]).every(function(e){return"number"===e});return"string"!==r&&o&&!n?E(e):function(){return _(e,r,t,arguments)}},n.allocate=S,n.then=function(e){if(n.calledRun)e(n);else{var r=n.onRuntimeInitialized;n.onRuntimeInitialized=function(){r&&r(),e(n)}}return n},We.prototype=new Error,We.prototype.constructor=We,ne=function e(){n.calledRun||qe(),n.calledRun||(ne=e)},n.run=qe,n.abort=Ke,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return n.noExitRuntime=!0,qe(),e});class o{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"]),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"]),getError:this.cwrap("archive_error_string","string",["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"])}}monitorRunDependencies(){}locateFile(e){return`wasm-gen/${e}`}}let i=null,a=!1;var s;s=(e=>{i=new r(e),a=!1,self.postMessage({type:"READY"})}),n(new o).then(e=>{e.initFunctions(),s(e)}),self.onmessage=(async({data:e})=>{if(a)return void self.postMessage({type:"BUSY"});let r=!1;a=!0;try{switch(e.type){case"HELLO":break;case"OPEN":await i.open(e.file),self.postMessage({type:"OPENED"});break;case"LIST_FILES":r=!0;case"EXTRACT_FILES":for(const e of i.entries(r))self.postMessage({type:"ENTRY",entry:e});self.postMessage({type:"END"});break;case"EXTRACT_SINGLE_FILE":for(const r of i.entries(!0,e.target))r.fileData&&self.postMessage({type:"FILE",entry:r});break;case"CHECK_ENCRYPTION":self.postMessage({type:"ENCRYPTION_STATUS",status:i.hasEncryptedData()});break;case"SET_PASSPHRASE":i.setPassphrase(e.passphrase),self.postMessage({type:"PASSPHRASE_STATUS",status:!0});break;default:throw new Error("Invalid Command")}}catch(e){self.postMessage({type:"ERROR",error:{message:e.message,name:e.name,stack:e.stack}})}finally{a=!1}})}(); +const TYPE_MAP = { + 32768: "FILE", + 16384: "DIR", + 40960: "SYMBOLIC_LINK", + 49152: "SOCKET", + 8192: "CHARACTER_DEVICE", + 24576: "BLOCK_DEVICE", + 4096: "NAMED_PIPE", +}; + +class ArchiveReader { + /** + * archive reader + * @param {WasmModule} wasmModule emscripten module + */ + constructor(wasmModule) { + this._wasmModule = wasmModule; + this._runCode = wasmModule.runCode; + this._file = null; + this._passphrase = null; + } + + /** + * open archive, needs to closed manually + * @param {File} file + */ + open(file) { + if (this._file !== null) { + console.warn("Closing previous file"); + this.close(); + } + const { promise, resolve, reject } = Promise.withResolvers(); + this._file = file; + const reader = new FileReader(); + reader.onload = () => this._loadFile(reader.result, resolve, reject); + reader.readAsArrayBuffer(file); + return promise; + } + + /** + * close archive + */ + close() { + this._runCode.closeArchive(this._archive); + this._wasmModule._free(this._filePtr); + this._file = null; + this._filePtr = null; + this._archive = null; + } + + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + hasEncryptedData() { + this._archive = this._runCode.openArchive( + this._filePtr, + this._fileLength, + this._passphrase, + ); + this._runCode.getNextEntry(this._archive); + const status = this._runCode.hasEncryptedEntries(this._archive); + if (status === 0) { + return false; + } else if (status > 0) { + return true; + } else { + return null; + } + } + + /** + * set passphrase to be used with archive + * @param {string} passphrase + */ + setPassphrase(passphrase) { + this._passphrase = passphrase; + } + + /** + * get archive entries + * @param {boolean} skipExtraction + * @param {string} except don't skip extraction for this entry + */ + *entries(skipExtraction = false, except = null) { + this._archive = this._runCode.openArchive( + this._filePtr, + this._fileLength, + this._passphrase, + ); + let entry; + while (true) { + entry = this._runCode.getNextEntry(this._archive); + if (entry === 0) break; + + const entryData = { + size: this._runCode.getEntrySize(entry), + path: this._runCode.getEntryName(entry), + type: TYPE_MAP[this._runCode.getEntryType(entry)], + ref: entry, + }; + + if (entryData.type === "FILE") { + let fileName = entryData.path.split("/"); + entryData.fileName = fileName[fileName.length - 1]; + } + + if (skipExtraction && except !== entryData.path) { + this._runCode.skipEntry(this._archive); + } else { + const ptr = this._runCode.getFileData(this._archive, entryData.size); + if (ptr < 0) { + throw new Error(this._runCode.getError(this._archive)); + } + entryData.fileData = this._wasmModule.HEAP8.slice( + ptr, + ptr + entryData.size, + ); + this._wasmModule._free(ptr); + } + yield entryData; + } + } + + _loadFile(fileBuffer, resolve, reject) { + try { + const array = new Uint8Array(fileBuffer); + this._fileLength = array.length; + this._filePtr = this._runCode.malloc(this._fileLength); + this._wasmModule.HEAP8.set(array, this._filePtr); + resolve(); + } catch (error) { + reject(error); + } + } + +} + +var libarchive = (() => { + var _scriptDir = import.meta.url; + + 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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);removeRunDependency();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer);};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)}};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["z"])();Module["_archive_open"]=(a0,a1,a2)=>(Module["_archive_open"]=wasmExports["A"])(a0,a1,a2);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["C"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["D"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["G"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["H"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["I"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["K"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);Module["_free"]=a0=>(Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["O"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(a0);Module["cwrap"]=cwrap;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(); + + + return moduleArg.ready +} +); +})(); + +/* eslint-disable no-undef */ + +class WasmModule { + constructor() { + this.preRun = []; + this.postRun = []; + this.totalDependencies = 0; + } + + print(...text) { + console.log(text); + } + + printErr(...text) { + console.error(text); + } + + initFunctions() { + this.runCode = { + // const char * get_version() + getVersion: this.cwrap("get_version", "string", []), + // void * archive_open( const void * buffer, size_t buffer_size) + // retuns archive pointer + openArchive: this.cwrap("archive_open", "number", [ + "number", + "number", + "string", + ]), + // void * get_entry(void * archive) + // return archive entry pointer + getNextEntry: this.cwrap("get_next_entry", "number", ["number"]), + // void * get_filedata( void * archive, size_t bufferSize ) + getFileData: this.cwrap("get_filedata", "number", ["number", "number"]), + // int archive_read_data_skip(struct archive *_a) + skipEntry: this.cwrap("archive_read_data_skip", "number", ["number"]), + // void archive_close( void * archive ) + closeArchive: this.cwrap("archive_close", null, ["number"]), + // la_int64_t archive_entry_size( struct archive_entry * ) + getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), + // const char * archive_entry_pathname_utf8( struct archive_entry * ) + getEntryName: this.cwrap("archive_entry_pathname_utf8", "string", ["number"]), + // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) + /* + #define AE_IFMT ((__LA_MODE_T)0170000) + #define AE_IFREG ((__LA_MODE_T)0100000) // Regular file + #define AE_IFLNK ((__LA_MODE_T)0120000) // Sybolic link + #define AE_IFSOCK ((__LA_MODE_T)0140000) // Socket + #define AE_IFCHR ((__LA_MODE_T)0020000) // Character device + #define AE_IFBLK ((__LA_MODE_T)0060000) // Block device + #define AE_IFDIR ((__LA_MODE_T)0040000) // Directory + #define AE_IFIFO ((__LA_MODE_T)0010000) // Named pipe + */ + getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), + // const char * archive_error_string(struct archive *); + getError: this.cwrap("archive_error_string", "string", ["number"]), + + /* + * Returns 1 if the archive contains at least one encrypted entry. + * If the archive format not support encryption at all + * ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED is returned. + * If for any other reason (e.g. not enough data read so far) + * we cannot say whether there are encrypted entries, then + * ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW is returned. + * In general, this function will return values below zero when the + * reader is uncertain or totally incapable of encryption support. + * When this function returns 0 you can be sure that the reader + * supports encryption detection but no encrypted entries have + * been found yet. + * + * NOTE: If the metadata/header of an archive is also encrypted, you + * cannot rely on the number of encrypted entries. That is why this + * function does not return the number of encrypted entries but# + * just shows that there are some. + */ + // __LA_DECL int archive_read_has_encrypted_entries(struct archive *); + entryIsEncrypted: this.cwrap("archive_entry_is_encrypted", "number", [ + "number", + ]), + hasEncryptedEntries: this.cwrap( + "archive_read_has_encrypted_entries", + "number", + ["number"], + ), + // __LA_DECL int archive_read_add_passphrase(struct archive *, const char *); + addPassphrase: this.cwrap("archive_read_add_passphrase", "number", [ + "number", + "string", + ]), + //this.stringToUTF(str), // + string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), + malloc: this.cwrap("malloc", "number", ["number"]), + free: this.cwrap("free", null, ["number"]), + }; + //console.log(this.runCode.getVersion()); + } + + monitorRunDependencies() {} + + locateFile(path /* ,prefix */) { + return `${path}`; + } +} + +function getWasmModule(cb) { + libarchive(new WasmModule()).then((module) => { + module.initFunctions(); + cb(module); + }); +} + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +const proxyMarker = Symbol("Comlink.proxy"); +const createEndpoint = Symbol("Comlink.endpoint"); +const releaseProxy = Symbol("Comlink.releaseProxy"); +const finalizer = Symbol("Comlink.finalizer"); +const throwMarker = Symbol("Comlink.thrown"); +const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function"; +/** + * Internal transfer handle to handle objects marked to proxy. + */ +const proxyTransferHandler = { + canHandle: (val) => isObject(val) && val[proxyMarker], + serialize(obj) { + const { port1, port2 } = new MessageChannel(); + expose(obj, port1); + return [port2, [port2]]; + }, + deserialize(port) { + port.start(); + return wrap(port); + }, +}; +/** + * Internal transfer handler to handle thrown exceptions. + */ +const throwTransferHandler = { + canHandle: (value) => isObject(value) && throwMarker in value, + serialize({ value }) { + let serialized; + if (value instanceof Error) { + serialized = { + isError: true, + value: { + message: value.message, + name: value.name, + stack: value.stack, + }, + }; + } + else { + serialized = { isError: false, value }; + } + return [serialized, []]; + }, + deserialize(serialized) { + if (serialized.isError) { + throw Object.assign(new Error(serialized.value.message), serialized.value); + } + throw serialized.value; + }, +}; +/** + * Allows customizing the serialization of certain values. + */ +const transferHandlers = new Map([ + ["proxy", proxyTransferHandler], + ["throw", throwTransferHandler], +]); +function isAllowedOrigin(allowedOrigins, origin) { + for (const allowedOrigin of allowedOrigins) { + if (origin === allowedOrigin || allowedOrigin === "*") { + return true; + } + if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) { + return true; + } + } + return false; +} +function expose(obj, ep = globalThis, allowedOrigins = ["*"]) { + ep.addEventListener("message", function callback(ev) { + if (!ev || !ev.data) { + return; + } + if (!isAllowedOrigin(allowedOrigins, ev.origin)) { + console.warn(`Invalid origin '${ev.origin}' for comlink proxy`); + return; + } + const { id, type, path } = Object.assign({ path: [] }, ev.data); + const argumentList = (ev.data.argumentList || []).map(fromWireValue); + let returnValue; + try { + const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj); + const rawValue = path.reduce((obj, prop) => obj[prop], obj); + switch (type) { + case "GET" /* MessageType.GET */: + { + returnValue = rawValue; + } + break; + case "SET" /* MessageType.SET */: + { + parent[path.slice(-1)[0]] = fromWireValue(ev.data.value); + returnValue = true; + } + break; + case "APPLY" /* MessageType.APPLY */: + { + returnValue = rawValue.apply(parent, argumentList); + } + break; + case "CONSTRUCT" /* MessageType.CONSTRUCT */: + { + const value = new rawValue(...argumentList); + returnValue = proxy(value); + } + break; + case "ENDPOINT" /* MessageType.ENDPOINT */: + { + const { port1, port2 } = new MessageChannel(); + expose(obj, port2); + returnValue = transfer(port1, [port1]); + } + break; + case "RELEASE" /* MessageType.RELEASE */: + { + returnValue = undefined; + } + break; + default: + return; + } + } + catch (value) { + returnValue = { value, [throwMarker]: 0 }; + } + Promise.resolve(returnValue) + .catch((value) => { + return { value, [throwMarker]: 0 }; + }) + .then((returnValue) => { + const [wireValue, transferables] = toWireValue(returnValue); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + if (type === "RELEASE" /* MessageType.RELEASE */) { + // detach and deactive after sending release response above. + ep.removeEventListener("message", callback); + closeEndPoint(ep); + if (finalizer in obj && typeof obj[finalizer] === "function") { + obj[finalizer](); + } + } + }) + .catch((error) => { + // Send Serialization Error To Caller + const [wireValue, transferables] = toWireValue({ + value: new TypeError("Unserializable return value"), + [throwMarker]: 0, + }); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + }); + }); + if (ep.start) { + ep.start(); + } +} +function isMessagePort(endpoint) { + return endpoint.constructor.name === "MessagePort"; +} +function closeEndPoint(endpoint) { + if (isMessagePort(endpoint)) + endpoint.close(); +} +function wrap(ep, target) { + return createProxy(ep, [], target); +} +function throwIfProxyReleased(isReleased) { + if (isReleased) { + throw new Error("Proxy has been released and is not useable"); + } +} +function releaseEndpoint(ep) { + return requestResponseMessage(ep, { + type: "RELEASE" /* MessageType.RELEASE */, + }).then(() => { + closeEndPoint(ep); + }); +} +const proxyCounter = new WeakMap(); +const proxyFinalizers = "FinalizationRegistry" in globalThis && + new FinalizationRegistry((ep) => { + const newCount = (proxyCounter.get(ep) || 0) - 1; + proxyCounter.set(ep, newCount); + if (newCount === 0) { + releaseEndpoint(ep); + } + }); +function registerProxy(proxy, ep) { + const newCount = (proxyCounter.get(ep) || 0) + 1; + proxyCounter.set(ep, newCount); + if (proxyFinalizers) { + proxyFinalizers.register(proxy, ep, proxy); + } +} +function unregisterProxy(proxy) { + if (proxyFinalizers) { + proxyFinalizers.unregister(proxy); + } +} +function createProxy(ep, path = [], target = function () { }) { + let isProxyReleased = false; + const proxy = new Proxy(target, { + get(_target, prop) { + throwIfProxyReleased(isProxyReleased); + if (prop === releaseProxy) { + return () => { + unregisterProxy(proxy); + releaseEndpoint(ep); + isProxyReleased = true; + }; + } + if (prop === "then") { + if (path.length === 0) { + return { then: () => proxy }; + } + const r = requestResponseMessage(ep, { + type: "GET" /* MessageType.GET */, + path: path.map((p) => p.toString()), + }).then(fromWireValue); + return r.then.bind(r); + } + return createProxy(ep, [...path, prop]); + }, + set(_target, prop, rawValue) { + throwIfProxyReleased(isProxyReleased); + // FIXME: ES6 Proxy Handler `set` methods are supposed to return a + // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯ + const [value, transferables] = toWireValue(rawValue); + return requestResponseMessage(ep, { + type: "SET" /* MessageType.SET */, + path: [...path, prop].map((p) => p.toString()), + value, + }, transferables).then(fromWireValue); + }, + apply(_target, _thisArg, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const last = path[path.length - 1]; + if (last === createEndpoint) { + return requestResponseMessage(ep, { + type: "ENDPOINT" /* MessageType.ENDPOINT */, + }).then(fromWireValue); + } + // We just pretend that `bind()` didn’t happen. + if (last === "bind") { + return createProxy(ep, path.slice(0, -1)); + } + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "APPLY" /* MessageType.APPLY */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + construct(_target, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "CONSTRUCT" /* MessageType.CONSTRUCT */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + }); + registerProxy(proxy, ep); + return proxy; +} +function myFlat(arr) { + return Array.prototype.concat.apply([], arr); +} +function processArguments(argumentList) { + const processed = argumentList.map(toWireValue); + return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))]; +} +const transferCache = new WeakMap(); +function transfer(obj, transfers) { + transferCache.set(obj, transfers); + return obj; +} +function proxy(obj) { + return Object.assign(obj, { [proxyMarker]: true }); +} +function toWireValue(value) { + for (const [name, handler] of transferHandlers) { + if (handler.canHandle(value)) { + const [serializedValue, transferables] = handler.serialize(value); + return [ + { + type: "HANDLER" /* WireValueType.HANDLER */, + name, + value: serializedValue, + }, + transferables, + ]; + } + } + return [ + { + type: "RAW" /* WireValueType.RAW */, + value, + }, + transferCache.get(value) || [], + ]; +} +function fromWireValue(value) { + switch (value.type) { + case "HANDLER" /* WireValueType.HANDLER */: + return transferHandlers.get(value.name).deserialize(value.value); + case "RAW" /* WireValueType.RAW */: + return value.value; + } +} +function requestResponseMessage(ep, msg, transfers) { + return new Promise((resolve) => { + const id = generateUUID(); + ep.addEventListener("message", function l(ev) { + if (!ev.data || !ev.data.id || ev.data.id !== id) { + return; + } + ep.removeEventListener("message", l); + resolve(ev.data); + }); + if (ep.start) { + ep.start(); + } + ep.postMessage(Object.assign({ id }, msg), transfers); + }); +} +function generateUUID() { + return new Array(4) + .fill(0) + .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)) + .join("-"); +} + +/*self.onmessage = async ({ data: msg }) => { + if (busy) { + self.postMessage({ type: "BUSY" }); + return; + } + + let skipExtraction = false; + busy = true; + try { + switch (msg.type) { + case "HELLO": // module will respond READY when it's ready + break; + case "OPEN": + await reader.open(msg.file); + self.postMessage({ type: "OPENED" }); + break; + case "LIST_FILES": + skipExtraction = true; + // eslint-disable-next-line no-fallthrough + case "EXTRACT_FILES": + for (const entry of reader.entries(skipExtraction)) { + self.postMessage({ type: "ENTRY", entry }); + } + self.postMessage({ type: "END" }); + break; + case "EXTRACT_SINGLE_FILE": + for (const entry of reader.entries(true, msg.target)) { + if (entry.fileData) { + self.postMessage({ type: "FILE", entry }); + } + } + break; + case "CHECK_ENCRYPTION": + self.postMessage({ + type: "ENCRYPTION_STATUS", + status: reader.hasEncryptedData(), + }); + break; + case "SET_PASSPHRASE": + reader.setPassphrase(msg.passphrase); + self.postMessage({ type: "PASSPHRASE_STATUS", status: true }); + break; + default: + throw new Error("Invalid Command"); + } + } catch (err) { + self.postMessage({ + type: "ERROR", + error: { + message: err.message, + name: err.name, + stack: err.stack, + }, + }); + } finally { + // eslint-disable-next-line require-atomic-updates + busy = false; + } +};*/ + +let reader = null; + +class LibArchiveWorker { + + constructor(readyCallback) { + LibArchiveWorker.readyCallback = readyCallback; + } + + open(file, cb) { + reader.open(file).then(() => cb()); + } + + listFiles() { + let arr = []; + for (const entry of reader.entries(true)) { + arr.push(entry); + } + return arr; + } + + extractFiles() { + let arr = []; + for (const entry of reader.entries(false)) { + arr.push(entry); + } + return arr; + } + + extractSingleFile(target) { + console.log(target); + for (const entry of reader.entries(true, target)) { + if (entry.fileData) { + console.log(entry); + return entry; + } + } + } + + hasEncryptedData() { + return reader.hasEncryptedData(); + } + + usePassword(passphrase) { + reader.setPassphrase(passphrase); + } + + close() { + reader.close(); + } +} + +getWasmModule((wasmModule) => { + reader = new ArchiveReader(wasmModule); + LibArchiveWorker?.readyCallback(); +}); + +expose(LibArchiveWorker); diff --git a/package-lock.json b/package-lock.json index b31872f..116640b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,48 +8,92 @@ "name": "libarchive.js", "version": "1.3.0", "license": "MIT", + "dependencies": { + "comlink": "^4.4.1" + }, "devDependencies": { - "eslint": "^6.8.0", + "@rollup/plugin-babel": "^6.0.4", + "@rollup/plugin-node-resolve": "^15.2.3", + "@types/eslint": "^8.56.1", + "@types/jest": "^29.5.11", + "@types/prettier": "^3.0.0", + "eslint": "^8.56.0", "is-wsl": "^3.1.0", - "jest": "^24.9.0", - "prettier": "3.1.1", - "puppeteer": "^1.20.0", - "rollup": "^1.31.1", - "rollup-plugin-copy-assets": "^1.0.0", - "rollup-plugin-terser": "^4.0.4", + "jest": "^29.7.0", + "prettier": "^3.1.1", + "puppeteer": "^21.7.0", + "rollup": "^2.79.1", + "rollup-plugin-copy": "^3.5.0", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-typescript2": "^0.36.0", "static-server": "^2.2.1" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", - "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.4", - "@babel/helpers": "^7.8.4", - "@babel/parser": "^7.8.4", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3", - "convert-source-map": "^1.7.0", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -59,126 +103,194 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.8.3" + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/core/node_modules/@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/generator": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz", - "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.8.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, - "dependencies": { - "@babel/types": "^7.8.3" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", + "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", "dev": true, "dependencies": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", - "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -187,10 +299,10 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -199,2970 +311,3127 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { + "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", - "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@babel/highlight": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template/node_modules/@babel/highlight": { + "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "dependencies": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", - "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.4", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.4", - "@babel/types": "^7.8.3", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "@babel/highlight": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/@babel/highlight": { + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/types": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", - "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.1.95" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@cnakazawa/watch/node_modules/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "node_modules/@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "node_modules/@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" } }, - "node_modules/@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "node_modules/@babel/traverse": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" } }, - "node_modules/@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "node_modules/@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dev": true, "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" } }, - "node_modules/@jest/source-map/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, - "dependencies": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - }, "engines": { - "node": ">= 6" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@jest/transform/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "node_modules/@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@types/babel__core": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.4.tgz", - "integrity": "sha512-c/5MuRz5HM4aizqL5ViYfW4iEnmfPcfbH4Xa6GgLT21dMc1NGeNnuS6egHheOmP+kCJ9CAzC4pv4SDCWTnRkbg==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/babel__traverse": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", - "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "@babel/types": "^7.3.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@types/estree": { - "version": "0.0.42", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.42.tgz", - "integrity": "sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@types/node": { - "version": "11.11.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.3.tgz", - "integrity": "sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "13.0.8", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", - "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true - }, - "node_modules/acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "p-try": "^2.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/agent-base": { + "node_modules/@jest/console/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "es6-promisify": "^5.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ajv": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", - "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "type-fest": "^0.8.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "safer-buffer": "~2.1.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, "engines": { - "node": ">=0.8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "bin": { - "atob": "bin/atob.js" + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 4.5.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, "engines": { - "node": "*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", - "dev": true - }, - "node_modules/babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "dependencies": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@types/babel__traverse": "^7.0.6" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=8" } }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "node_modules/@jest/reporters/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/@jest/reporters/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", - "dev": true - }, - "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "resolve": "1.1.7" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "node-int64": "^0.4.0" + "engines": { + "node": ">=8" } }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "rsvp": "^4.8.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">= 8" } }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@puppeteer/browsers": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", + "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=16.3.0" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/@rollup/plugin-babel": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", + "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } } }, - "node_modules/commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "node_modules/@rollup/plugin-babel/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", "dev": true, - "engines": [ - "node >= 0.8" - ], "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.1" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.0.0" } }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" + "type-detect": "4.0.8" } }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "dev": true }, - "node_modules/cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { - "cssom": "0.3.x" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" + "@babel/types": "^7.0.0" } }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dev": true, "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "@babel/types": "^7.20.7" } }, - "node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "node_modules/@types/eslint": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.1.tgz", + "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, - "engines": { - "node": ">=0.10" + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/@types/jest": { + "version": "29.5.11", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", + "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "undici-types": "~5.26.4" } }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/@types/prettier": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==", + "deprecated": "This is a stub types definition. prettier provides its own type definitions, so you do not need this installed.", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "prettier": "*" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, - "engines": { - "node": ">=0.10.0" + "optional": true, + "dependencies": { + "@types/node": "*" } }, - "node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">= 6" + "node": ">=0.4.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "debug": "^4.3.4" }, "engines": { - "node": ">=6.0.0" + "node": ">= 14" } }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "deprecated": "Use your platform's native DOMException instead", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "webidl-conversions": "^4.0.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "dependencies": { - "once": "^1.4.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" + "engines": { + "node": ">=8" } }, - "node_modules/es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "dependencies": { - "es6-promise": "^4.0.3" + "engines": { + "node": ">=8" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, "engines": { - "node": ">=0.8.0" + "node": ">=4" } }, - "node_modules/escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "color-convert": "^2.0.1" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/espree": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", - "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "acorn": "^7.1.0", - "acorn-jsx": "^5.1.0", - "eslint-visitor-keys": "^1.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/esquery": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", - "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { - "estraverse": "^4.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=0.6" + "node": ">=8" } }, - "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "dependencies": { - "estraverse": "^4.1.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "node_modules/basic-ftp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz", + "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=10.0.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "ms": "2.0.0" + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "is-descriptor": "^0.1.0" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "node-int64": "^0.4.0" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/external-editor": { + "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/caniuse-lite": { + "version": "1.0.30001574", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", + "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/chromium-bidi": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.2.tgz", + "integrity": "sha512-PbVOSddxgKyj+JByqavWMNqWPCoCaT6XK5Z1EFe168sxnB/BM51LnZEPXSbFcFAJv/+u2B4XNTs9uXxy4GW3cQ==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "dependencies": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - }, - "bin": { - "extract-zip": "cli.js" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/extract-zip/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "ms": "2.0.0" + "color-name": "1.1.3" } }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true }, - "node_modules/fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "node_modules/comlink": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz", + "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { - "bser": "2.1.1" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "dependencies": { - "pend": "~1.2.0" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "flat-cache": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/file-size": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/file-size/-/file-size-0.0.5.tgz", - "integrity": "sha1-BX1Dw6Ptc12j+Q1gUqs4Dx5tXjs=", - "dev": true - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/fill-range": { + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/create-jest/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" + "node-fetch": "^2.6.12" } }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", - "dev": true - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "node_modules/data-uri-to-buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", + "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": "*" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, - "engines": { - "node": ">= 0.12" + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "bundleDependencies": [ - "node-pre-gyp" - ], - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/fsevents/node_modules/abbrev": { - "version": "1.1.1", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/devtools-protocol": { + "version": "0.0.1203626", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1203626.tgz", + "integrity": "sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==", + "dev": true }, - "node_modules/fsevents/node_modules/ansi-regex": { - "version": "2.1.1", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "inBundle": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/fsevents/node_modules/aproba": { - "version": "1.2.0", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/are-we-there-yet": { - "version": "1.1.5", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/fsevents/node_modules/balanced-match": { - "version": "1.0.0", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/brace-expansion": { - "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/fsevents/node_modules/chownr": { - "version": "1.1.3", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/electron-to-chromium": { + "version": "1.4.622", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.622.tgz", + "integrity": "sha512-GZ47DEy0Gm2Z8RVG092CkFvX7SdotG57c4YZOe8W8qD4rOmk3plgeNmiLVRHP/Liqj1wRiY3uUUod9vb9hnxZA==", + "dev": true }, - "node_modules/fsevents/node_modules/code-point-at": { - "version": "1.1.0", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "inBundle": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/fsevents/node_modules/concat-map": { - "version": "0.0.1", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/console-control-strings": { - "version": "1.1.0", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "node_modules/fsevents/node_modules/core-util-is": { - "version": "1.0.2", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "inBundle": true, - "optional": true + "dependencies": { + "once": "^1.4.0" + } }, - "node_modules/fsevents/node_modules/debug": { - "version": "3.2.6", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "ms": "^2.1.1" + "is-arrayish": "^0.2.1" } }, - "node_modules/fsevents/node_modules/deep-extend": { - "version": "0.6.0", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "inBundle": true, - "optional": true, "engines": { - "node": ">=4.0.0" + "node": ">=6" } }, - "node_modules/fsevents/node_modules/delegates": { - "version": "1.0.0", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "inBundle": true, - "optional": true + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/fsevents/node_modules/detect-libc": { - "version": "1.0.3", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, "bin": { - "detect-libc": "bin/detect-libc.js" + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=0.10" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fsevents/node_modules/fs-minipass": { - "version": "1.2.7", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "minipass": "^2.6.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fsevents/node_modules/fs.realpath": { - "version": "1.0.0", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "inBundle": true, - "optional": true + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "node_modules/fsevents/node_modules/gauge": { - "version": "2.7.4", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/fsevents/node_modules/glob": { - "version": "7.1.6", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fsevents/node_modules/has-unicode": { + "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/iconv-lite": { - "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/fsevents/node_modules/ignore-walk": { - "version": "3.0.3", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "minimatch": "^3.0.4" - } + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/fsevents/node_modules/inflight": { - "version": "1.0.6", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fsevents/node_modules/inherits": { - "version": "2.0.4", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/ini": { - "version": "1.3.5", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "inBundle": true, - "optional": true, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/fsevents/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "number-is-nan": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/fsevents/node_modules/isarray": { - "version": "1.0.0", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/minimatch": { - "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "brace-expansion": "^1.1.7" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fsevents/node_modules/minimist": { - "version": "0.0.8", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "inBundle": true, - "optional": true + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/fsevents/node_modules/minipass": { - "version": "2.9.0", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/fsevents/node_modules/minizlib": { - "version": "1.3.3", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "minipass": "^2.9.0" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/fsevents/node_modules/mkdirp": { - "version": "0.5.1", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "minimist": "0.0.8" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=4.0" } }, - "node_modules/fsevents/node_modules/ms": { - "version": "2.1.2", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "inBundle": true, - "optional": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/fsevents/node_modules/needle": { - "version": "2.4.0", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, - "bin": { - "needle": "bin/needle" + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, "engines": { - "node": ">= 4.4.x" + "node": ">= 0.8.0" } }, - "node_modules/fsevents/node_modules/node-pre-gyp": { - "version": "0.14.0", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future", + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/fsevents/node_modules/nopt": { - "version": "4.0.1", - "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==", + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" }, "bin": { - "nopt": "bin/nopt.js" + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/fsevents/node_modules/npm-bundled": { - "version": "1.1.1", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fsevents/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, - "node_modules/fsevents/node_modules/npm-packlist": { - "version": "1.4.7", - "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true }, - "node_modules/fsevents/node_modules/npmlog": { - "version": "4.1.2", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" } }, - "node_modules/fsevents/node_modules/number-is-nan": { - "version": "1.0.1", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/fsevents/node_modules/object-assign": { - "version": "4.1.1", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/fsevents/node_modules/once": { - "version": "1.4.0", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "wrappy": "1" + "bser": "2.1.1" } }, - "node_modules/fsevents/node_modules/os-homedir": { - "version": "1.0.2", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/fsevents/node_modules/os-tmpdir": { - "version": "1.0.2", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/fsevents/node_modules/osenv": { - "version": "0.1.5", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "node_modules/file-size": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/file-size/-/file-size-0.0.5.tgz", + "integrity": "sha512-ZW056dw8Ta1RWHVOQue3LMZe+mSOnHkcM7AN9is8JoHSIHRiLD5szwPAHM3fM7P5SGJ1bkAmCv3PvUTGoluDqA==", + "dev": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/fsevents/node_modules/path-is-absolute": { - "version": "1.0.1", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/fsevents/node_modules/process-nextick-args": { - "version": "2.0.1", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/rc": { - "version": "1.2.8", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "semver": "^6.0.0" }, - "bin": { - "rc": "cli.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fsevents/node_modules/rc/node_modules/minimist": { - "version": "1.2.0", - "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/readable-stream": { - "version": "2.3.6", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fsevents/node_modules/rimraf": { - "version": "2.7.1", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "glob": "^7.1.3" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/fsevents/node_modules/safe-buffer": { - "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true }, - "node_modules/fsevents/node_modules/sax": { - "version": "1.2.4", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, - "node_modules/fsevents/node_modules/semver": { - "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "inBundle": true, + "hasInstallScript": true, "optional": true, - "bin": { - "semver": "bin/semver" + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fsevents/node_modules/set-blocking": { - "version": "2.0.0", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/signal-exit": { - "version": "3.0.2", - "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "inBundle": true, - "optional": true + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/fsevents/node_modules/string_decoder": { - "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/fsevents/node_modules/string-width": { - "version": "1.0.2", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/fsevents/node_modules/strip-ansi": { - "version": "3.0.1", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/fsevents/node_modules/strip-json-comments": { - "version": "2.0.1", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "inBundle": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fsevents/node_modules/tar": { - "version": "4.4.13", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "node_modules/get-uri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", + "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.0", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" }, "engines": { - "node": ">=4.5" + "node": ">= 14" } }, - "node_modules/fsevents/node_modules/util-deprecate": { - "version": "1.0.2", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/wide-align": { - "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "node_modules/get-uri/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "string-width": "^1.0.2 || 2" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/fsevents/node_modules/wrappy": { - "version": "1.0.2", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/yallist": { - "version": "3.1.1", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -3174,223 +3443,182 @@ } }, "node_modules/glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/globals": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", - "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "node_modules/globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, - "node_modules/har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "deprecated": "this library is no longer supported", + "node_modules/has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==", "dev": true, "dependencies": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ansi-regex": "^0.2.0" + }, + "bin": { + "has-ansi": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, "engines": { - "node": ">= 0.4.0" + "node": ">=0.10.0" } }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", - "dev": true - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.1" + "node": ">= 0.4" } }, "node_modules/html-escaper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", - "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">= 14" } }, "node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dev": true, "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">= 4.5.0" + "node": ">= 14" } }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { "parent-module": "^1.0.0", @@ -3398,28 +3626,34 @@ }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -3428,7 +3662,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { "once": "^1.3.0", @@ -3436,175 +3670,48 @@ } }, "node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "node_modules/is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "builtin-modules": "^3.3.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "hasown": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-docker": { @@ -3622,19 +3729,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3659,9 +3757,9 @@ } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" @@ -3688,100 +3786,49 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-wsl": { @@ -3799,6259 +3846,6190 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", + "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" }, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "dependencies": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, "node_modules/jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "dependencies": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "detect-newline": "^2.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-haste-map/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "node_modules/jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true, - "engines": { - "node": ">=6" + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "jest-resolve": "*" + "@types/node": "*", + "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { - "jest-resolve": { + "@types/node": { + "optional": true + }, + "ts-node": { "optional": true } } }, - "node_modules/jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "node_modules/jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runtime/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "node_modules/jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/jest-util/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/jest-watcher/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest/node_modules/jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - }, - "bin": { - "jest": "bin/jest.js" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "color-name": "~1.1.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/json5/node_modules/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "engines": [ - "node >=0.6.0" - ], "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/jest-haste-map/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "deprecated": "use String.prototype.padStart()", - "dev": true - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "color-convert": "^2.0.1" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "dependencies": { - "tmpl": "1.0.x" - } + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "object-visit": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "mime-db": "1.43.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "has-flag": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "dependencies": { - "minimist": "0.0.8" + "node": ">=6" }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "peerDependencies": { + "jest-resolve": "*" }, - "engines": { - "node": ">=0.10.0" + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node_modules/node-notifier/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=4" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "path-key": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true, + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.4" + "node": ">=7.0.0" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "node_modules/jest-runner/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "node_modules/jest-runner/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "wrappy": "1" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "is-wsl": "^1.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">=7.0.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "p-reduce": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/parse5": { + "node_modules/jest-snapshot/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/path-key": { + "node_modules/jest-util/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "node-modules-regexp": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/prompts": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz", - "integrity": "sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==", + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true - }, - "node_modules/psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/puppeteer": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", - "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", - "deprecated": "< 21.3.7 is no longer supported", + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "hasInstallScript": true, "dependencies": { - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^2.2.1", - "mime": "^2.0.3", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/puppeteer/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "async-limiter": "~1.0.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.6" + "node": ">=8" } }, - "node_modules/react-is": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", - "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", - "dev": true - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">= 10.13.0" } }, - "node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=8" } }, - "node_modules/realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "util.promisify": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, "engines": { - "node": ">=6.5.0" + "node": ">=4" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { - "lodash": "^4.17.15" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" + "node": ">= 0.8.0" } }, - "node_modules/request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=0.12.0" + "node": ">=10" }, - "peerDependencies": { - "request": "^2.34" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "path-parse": "^1.0.6" + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "resolve-from": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "node_modules/make-dir/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/resolve-from": { + "node_modules/make-dir/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "tmpl": "1.0.5" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { - "node": ">=0.12" + "node": ">= 8" } }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8.6" } }, - "node_modules/rollup": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.31.1.tgz", - "integrity": "sha512-2JREN1YdrS/kpPzEd33ZjtuNbOuBC3ePfuZBdKEybvqcEcszW1ckyVqzcEiEe0nE8sqHK+pbJg+PsAgRJ8+1dg==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - }, "bin": { - "rollup": "dist/bin/rollup" - } - }, - "node_modules/rollup-plugin-copy-assets": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-1.1.0.tgz", - "integrity": "sha512-hfBZns2x15XC6N97jhGUiYoNQp1jZ1/mFrM3sbf3GIqGaDEcFPe7+J1H50HIMLG4nVM8YxTJOhMsrXnD4E+2NQ==", - "dev": true, - "dependencies": { - "fs-extra": "^5.0.0" - }, - "peerDependencies": { - "rollup": ">=0.67.0" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz", - "integrity": "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "jest-worker": "^24.0.0", - "serialize-javascript": "^1.6.1", - "terser": "^3.14.1" - }, - "peerDependencies": { - "rollup": ">=0.66.0 <2" - } - }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.4.0.tgz", - "integrity": "sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^1.0.1", - "supports-color": "^6.1.0" + "mime": "cli.js" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { "node": ">=6" } }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "dependencies": { - "is-promise": "^2.1.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "brace-expansion": "^1.1.7" }, "engines": { - "npm": ">=2.0.0" + "node": "*" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true }, - "node_modules/safer-buffer": { + "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "dev": true, - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 0.4.0" } }, - "node_modules/sane/node_modules/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "wrappy": "1" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", - "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", - "dev": true - }, - "node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "is-wsl": "^1.1.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/opn/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/pac-resolver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", + "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "degenerator": "^5.0.0", + "ip": "^1.1.8", + "netmask": "^2.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { - "kind-of": "^3.2.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "node": ">=8" } }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, - "node_modules/spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "node_modules/spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "find-up": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/static-server": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/static-server/-/static-server-2.2.1.tgz", - "integrity": "sha512-j5eeW6higxYNmXMIT8iHjsdiViTpQDthg7o+SHsRtqdbxscdHqBHXwrXjHC8hL3F0Tsu34ApUpDkwzMBPBsrLw==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "chalk": "^0.5.1", - "commander": "^2.3.0", - "file-size": "0.0.5", - "mime": "^1.2.11", - "opn": "^5.2.0" - }, - "bin": { - "static-server": "bin/static-server.js" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/static-server/node_modules/ansi-regex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/static-server/node_modules/ansi-styles": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/static-server/node_modules/chalk": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "ansi-styles": "^1.1.0", - "escape-string-regexp": "^1.0.0", - "has-ansi": "^0.1.0", - "strip-ansi": "^0.3.0", - "supports-color": "^0.2.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/static-server/node_modules/has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "ansi-regex": "^0.2.0" - }, - "bin": { - "has-ansi": "cli.js" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/static-server/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "bin": { - "mime": "cli.js" - }, "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/static-server/node_modules/strip-ansi": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "dependencies": { - "ansi-regex": "^0.2.1" - }, - "bin": { - "strip-ansi": "cli.js" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/static-server/node_modules/supports-color": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "node_modules/proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", "dev": true, - "bin": { - "supports-color": "cli.js" + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, - "node_modules/string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/string-length/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "node_modules/puppeteer": { + "version": "21.7.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.7.0.tgz", + "integrity": "sha512-Yy+UUy0b9siJezbhHO/heYUoZQUwyqDK1yOQgblTt0l97tspvDVFkcW9toBlnSvSfkDmMI3Dx9cZL6R8bDArHA==", "dev": true, + "hasInstallScript": true, "dependencies": { - "ansi-regex": "^3.0.0" + "@puppeteer/browsers": "1.9.1", + "cosmiconfig": "8.3.6", + "puppeteer-core": "21.7.0" + }, + "bin": { + "puppeteer": "lib/esm/puppeteer/node/cli.js" }, "engines": { - "node": ">=4" + "node": ">=16.13.2" } }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "node_modules/puppeteer-core": { + "version": "21.7.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.7.0.tgz", + "integrity": "sha512-elPYPozrgiM3phSy7VDUJCVWQ07SPnOm78fpSaaSNFoQx5sur/MqhTSro9Wz8lOEjqCykGC6WRkwxDgmqcy1dQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "@puppeteer/browsers": "1.9.1", + "chromium-bidi": "0.5.2", + "cross-fetch": "4.0.0", + "debug": "4.3.4", + "devtools-protocol": "0.0.1203626", + "ws": "8.16.0" }, "engines": { - "node": ">=8" + "node": ">=16.13.2" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "^5.1.0" } }, - "node_modules/string.prototype.trimleft": { + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">= 0.4" + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { - "node": ">=8" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=4" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "node_modules/rollup-plugin-copy": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", + "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", "dev": true, "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "@types/fs-extra": "^8.0.1", + "colorette": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "10.0.1", + "is-plain-object": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8.3" } }, - "node_modules/table/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/rollup-plugin-copy/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, "engines": { - "node": ">=4" + "node": ">=6 <7 || >=8" } }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "rollup": "^2.0.0" } }, - "node_modules/terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "node_modules/rollup-plugin-typescript2": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.36.0.tgz", + "integrity": "sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==", "dev": true, "dependencies": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "@rollup/pluginutils": "^4.1.2", + "find-cache-dir": "^3.3.2", + "fs-extra": "^10.0.0", + "semver": "^7.5.4", + "tslib": "^2.6.2" }, - "bin": { - "terser": "bin/uglifyjs" + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", - "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", + "node_modules/rollup-plugin-typescript2/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "node_modules/rollup-plugin-typescript2/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "node_modules/rollup-plugin-typescript2/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true + "node_modules/rollup-plugin-typescript2/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "node_modules/rollup-plugin-typescript2/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "engines": { - "node": ">=4" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "randombytes": "^2.1.0" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=0.8" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "node_modules/socks/node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", "dev": true }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/static-server": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/static-server/-/static-server-2.2.1.tgz", + "integrity": "sha512-j5eeW6higxYNmXMIT8iHjsdiViTpQDthg7o+SHsRtqdbxscdHqBHXwrXjHC8hL3F0Tsu34ApUpDkwzMBPBsrLw==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "chalk": "^0.5.1", + "commander": "^2.3.0", + "file-size": "0.0.5", + "mime": "^1.2.11", + "opn": "^5.2.0" + }, + "bin": { + "static-server": "bin/static-server.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/static-server/node_modules/ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">=0.10.0" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "node_modules/static-server/node_modules/ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==", "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "node_modules/static-server/node_modules/chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==", "dev": true, "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "node_modules/static-server/node_modules/strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==", "dev": true, "dependencies": { - "isarray": "1.0.0" + "ansi-regex": "^0.2.1" + }, + "bin": { + "strip-ansi": "cli.js" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "node_modules/static-server/node_modules/supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==", "dev": true, + "bin": { + "supports-color": "cli.js" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "bin": { - "uuid": "bin/uuid" + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "engines": { + "node": ">=6" } }, - "node_modules/w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "dependencies": { - "browser-process-hrtime": "^0.1.2" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "makeerror": "1.0.x" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", "dev": true, "dependencies": { - "iconv-lite": "0.4.24" + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" } }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "dev": true, "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, + "terser": "bin/terser" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=8.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { - "mkdirp": "^0.5.1" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=4" } }, - "node_modules/ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "node_modules/yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "buffer": "^5.2.1", + "through": "^2.3.8" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 4.0.0" } }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "engines": { - "node": ">=6" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { - "fd-slicer": "~1.0.1" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" + "punycode": "^2.1.0" } }, - "@babel/core": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", - "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.4", - "@babel/helpers": "^7.8.4", - "@babel/parser": "^7.8.4", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } + "node_modules/urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", + "dev": true }, - "@babel/generator": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz", - "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==", + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, - "requires": { - "@babel/types": "^7.8.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "makeerror": "1.0.12" } }, - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "@babel/highlight": { + "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "@babel/parser": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", - "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==", - "dev": true - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@babel/template": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", - "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - } + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "@babel/traverse": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", - "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.4", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.4", - "@babel/types": "^7.8.3", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "engines": { + "node": ">=10.0.0" }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "utf-8-validate": { + "optional": true } } }, - "@babel/types": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", - "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "engines": { + "node": ">=10" } }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" + "engines": { + "node": ">=12" } }, - "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - } + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true }, - "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" } }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - } + "@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true + }, + "@babel/core": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" } }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, - "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" } }, - "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - } + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" + "@babel/types": "^7.22.5" } }, - "@types/babel__core": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.4.tgz", - "integrity": "sha512-c/5MuRz5HM4aizqL5ViYfW4iEnmfPcfbH4Xa6GgLT21dMc1NGeNnuS6egHheOmP+kCJ9CAzC4pv4SDCWTnRkbg==", + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@babel/types": "^7.22.15" } }, - "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" } }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/types": "^7.22.5" } }, - "@types/babel__traverse": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", - "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.22.5" } }, - "@types/estree": { - "version": "0.0.42", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.42.tgz", - "integrity": "sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==", + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", + "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", "dev": true, "requires": { - "@types/istanbul-lib-coverage": "*" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" } }, - "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" } }, - "@types/node": { - "version": "11.11.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.3.tgz", - "integrity": "sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==", + "@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "@types/yargs": { - "version": "13.0.8", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", - "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "requires": { - "@types/yargs-parser": "*" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", - "dev": true + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "dev": true + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", - "dev": true + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dev": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5" } }, - "acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "requires": {} + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "@babel/helper-plugin-utils": "^7.10.4" } }, - "ajv": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", - "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "@babel/traverse": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true + "@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } }, - "async-limiter": { + "@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "p-limit": "^2.2.0" } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true } } }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - } - }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "dev": true, - "requires": { - "@types/babel__traverse": "^7.0.6" - } + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "color-convert": "^2.0.1" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "color-name": "~1.1.4" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "has-flag": "^4.0.0" } } } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" } }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "optional": true, "requires": { - "file-uri-to-path": "1.0.0" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "jest-get-type": "^29.6.3" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" } }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", - "dev": true + "@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "requires": { - "resolve": "1.1.7" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { - "node-int64": "^0.4.0" + "@sinclair/typebox": "^0.27.8" } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "requires": { - "rsvp": "^4.8.4" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "color-convert": "^2.0.1" } - } - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "has-flag": "^4.0.0" } } } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "safe-buffer": "~5.1.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "@puppeteer/browsers": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", + "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", "dev": true, "requires": { - "cssom": "0.3.x" + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "@rollup/plugin-babel": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", + "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + } } }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", "dev": true, "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" }, "dependencies": { - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" } } } }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "type-detect": "4.0.8" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "@sinonjs/commons": "^3.0.0" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "dev": true }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "requires": { - "esutils": "^2.0.2" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "requires": { - "webidl-conversions": "^4.0.2" + "@babel/types": "^7.0.0" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dev": true, "requires": { - "once": "^1.4.0" + "@babel/types": "^7.20.7" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "@types/eslint": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.1.tgz", + "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", "dev": true, "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "@types/node": "*" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@types/minimatch": "*", + "@types/node": "*" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "@types/node": "*" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, - "escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "@types/istanbul-lib-coverage": "*" } }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "@types/istanbul-lib-report": "*" } }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "@types/jest": { + "version": "29.5.11", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", + "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/node": { + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "undici-types": "~5.26.4" } }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", - "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "@types/prettier": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==", "dev": true, "requires": { - "acorn": "^7.1.0", - "acorn-jsx": "^5.1.0", - "eslint-visitor-keys": "^1.1.0" + "prettier": "*" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true }, - "esquery": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", - "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "@types/yargs-parser": "*" } }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, + "optional": true, "requires": { - "estraverse": "^4.1.0" + "@types/node": "*" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", - "dev": true + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "debug": "^4.3.4" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "type-fest": "^0.21.3" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" + "color-convert": "^1.9.0" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "dev": true, "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "tslib": "^2.0.1" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, + "babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "color-convert": "^2.0.1" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "color-name": "~1.1.4" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "has-flag": "^4.0.0" } } } }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { - "ms": "2.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "basic-ftp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz", + "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==", "dev": true }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "bser": "2.1.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "pend": "~1.2.0" + "fill-range": "^7.0.1" } }, - "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "node-int64": "^0.4.0" } }, - "file-size": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/file-size/-/file-size-0.0.5.tgz", - "integrity": "sha1-BX1Dw6Ptc12j+Q1gUqs4Dx5tXjs=", + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001574", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", + "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chromium-bidi": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.2.tgz", + "integrity": "sha512-PbVOSddxgKyj+JByqavWMNqWPCoCaT6XK5Z1EFe168sxnB/BM51LnZEPXSbFcFAJv/+u2B4XNTs9uXxy4GW3cQ==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" } }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, - "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, - "for-in": { + "collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "color-name": "1.1.3" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "comlink": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz", + "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "optional": true, "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" }, "dependencies": { - "abbrev": { - "version": "1.1.1", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "bundled": true, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true + "requires": { + "color-convert": "^2.0.1" + } }, - "are-we-there-yet": { - "version": "1.1.5", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "bundled": true, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "balanced-match": { - "version": "1.0.0", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { + "color-convert": { "version": "2.0.1", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "color-name": "~1.1.4" } }, - "ignore-walk": { - "version": "3.0.3", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "nopt": { - "version": "4.0.1", - "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "npm-bundled": { - "version": "1.1.1", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "bundled": true, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, "requires": { - "npm-normalize-package-bin": "^1.0.1" + "has-flag": "^4.0.0" } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", - "bundled": true, + } + } + }, + "cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dev": true, + "requires": { + "node-fetch": "^2.6.12" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "data-uri-to-buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", + "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "requires": {} + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "devtools-protocol": { + "version": "0.0.1203626", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1203626.tgz", + "integrity": "sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==", + "dev": true + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.622", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.622.tgz", + "integrity": "sha512-GZ47DEy0Gm2Z8RVG092CkFvX7SdotG57c4YZOe8W8qD4rOmk3plgeNmiLVRHP/Liqj1wRiY3uUUod9vb9hnxZA==", + "dev": true + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "color-convert": "^2.0.1" } }, - "npmlog": { + "chalk": { "version": "4.1.2", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "path-is-absolute": { - "version": "1.0.1", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { + "color-convert": { "version": "2.0.1", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", - "bundled": true, - "dev": true, - "optional": true - } + "color-name": "~1.1.4" } }, - "readable-stream": { - "version": "2.3.6", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "bundled": true, - "dev": true, - "optional": true + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "signal-exit": { - "version": "3.0.2", - "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", - "bundled": true, - "dev": true, - "optional": true + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true }, - "string_decoder": { - "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "string-width": { - "version": "1.0.2", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "bundled": true, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "has-flag": "^4.0.0" } - }, - "strip-ansi": { - "version": "3.0.1", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "bundled": true, + } + } + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, - "optional": true, "requires": { - "ansi-regex": "^2.0.0" + "pump": "^3.0.0" } - }, - "strip-json-comments": { - "version": "2.0.1", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "bundled": true, + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "optional": true, "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "is-glob": "^4.0.1" } - }, - "util-deprecate": { - "version": "1.0.2", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "bundled": true, + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-size": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/file-size/-/file-size-0.0.5.tgz", + "integrity": "sha512-ZW056dw8Ta1RWHVOQue3LMZe+mSOnHkcM7AN9is8JoHSIHRiLD5szwPAHM3fM7P5SGJ1bkAmCv3PvUTGoluDqA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "optional": true, "requires": { - "string-width": "^1.0.2 || 2" + "semver": "^6.0.0" } - }, - "wrappy": { - "version": "1.0.2", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "bundled": true, - "dev": true, - "optional": true } } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { @@ -10060,215 +10038,183 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "get-uri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", + "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.0", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, "globals": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", - "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "type-fest": "^0.20.2" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "ansi-regex": "^0.2.0" }, "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", + "dev": true } } }, - "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.1" + "function-bind": "^1.1.2" } }, "html-escaper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", - "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" } }, "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dev": true, "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "agent-base": "^7.0.2", + "debug": "4" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -10276,25 +10222,25 @@ } }, "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -10302,144 +10248,39 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "builtin-modules": "^3.3.0" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "hasown": "^2.0.0" } }, "is-docker": { @@ -10448,16 +10289,10 @@ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { @@ -10473,9 +10308,9 @@ "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -10490,75 +10325,34 @@ "is-docker": "^3.0.0" } }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", "dev": true }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-wsl": { @@ -10570,567 +10364,1331 @@ "is-inside-container": "^1.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dev": true, "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } }, "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", + "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" } }, "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "requires": { - "html-escaper": "^2.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + } + }, + "jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "dependencies": { - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" + "has-flag": "^4.0.0" } } } }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" } }, "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true }, "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - } - }, "jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" } }, "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "requires": { - "@jest/types": "^24.9.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" } }, "jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "requires": {} }, "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true }, "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" } }, "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-name": "~1.1.4" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "dev": true - }, "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "dependencies": { - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", "leven": "^3.1.0", - "pretty-format": "^24.9.0" + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "requires": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { + "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "supports-color": "^7.0.0" }, "dependencies": { - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } @@ -11142,61 +11700,12 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - } + "argparse": "^2.0.1" } }, "jsesc": { @@ -11205,16 +11714,16 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { @@ -11226,71 +11735,39 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "requires": { "graceful-fs": "^4.1.6" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "json-buffer": "3.0.1" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -11298,157 +11775,117 @@ "dev": true }, "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" } }, - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "yallist": "^3.0.2" } }, "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "semver": "^7.5.3" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.5" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "readable-stream": "^2.0.1" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dev": true, - "requires": { - "mime-db": "1.43.0" - } - }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -11456,49 +11893,25 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true }, "ms": { "version": "2.1.2", @@ -11506,244 +11919,76 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { + "netmask": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "whatwg-url": "^5.0.0" } }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "isobject": "^3.0.1" + "path-key": "^3.0.0" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" } }, "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" } }, "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "dev": true, "requires": { "is-wsl": "^1.1.0" @@ -11758,70 +12003,70 @@ } }, "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { - "p-reduce": "^1.0.0" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" } }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "dev": true, + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" + } + }, + "pac-resolver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", + "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", + "dev": true, + "requires": { + "degenerator": "^5.0.0", + "ip": "^1.1.8", + "netmask": "^2.0.2" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -11832,112 +12077,123 @@ } }, "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true }, "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^3.0.0" + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { @@ -11947,31 +12203,24 @@ "dev": true }, "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -11979,25 +12228,43 @@ "dev": true }, "prompts": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz", - "integrity": "sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "sisteransi": "^1.0.5" } }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true + "proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + } + } }, - "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, "pump": { @@ -12011,211 +12278,99 @@ } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "puppeteer": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", - "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^2.2.1", - "mime": "^2.0.3", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" - }, - "dependencies": { - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "react-is": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", - "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "21.7.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.7.0.tgz", + "integrity": "sha512-Yy+UUy0b9siJezbhHO/heYUoZQUwyqDK1yOQgblTt0l97tspvDVFkcW9toBlnSvSfkDmMI3Dx9cZL6R8bDArHA==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@puppeteer/browsers": "1.9.1", + "cosmiconfig": "8.3.6", + "puppeteer-core": "21.7.0" } }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "puppeteer-core": { + "version": "21.7.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.7.0.tgz", + "integrity": "sha512-elPYPozrgiM3phSy7VDUJCVWQ07SPnOm78fpSaaSNFoQx5sur/MqhTSro9Wz8lOEjqCykGC6WRkwxDgmqcy1dQ==", "dev": true, "requires": { - "util.promisify": "^1.0.0" + "@puppeteer/browsers": "1.9.1", + "chromium-bidi": "0.5.2", + "cross-fetch": "4.0.0", + "debug": "4.3.4", + "devtools-protocol": "0.0.1203626", + "ws": "8.16.0" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } + "pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", "dev": true }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { - "lodash": "^4.17.15" + "safe-buffer": "^5.1.0" } }, - "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "dev": true, - "requires": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { - "path-parse": "^1.0.6" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "^5.0.0" }, "dependencies": { "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } @@ -12226,392 +12381,236 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } }, "rollup": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.31.1.tgz", - "integrity": "sha512-2JREN1YdrS/kpPzEd33ZjtuNbOuBC3ePfuZBdKEybvqcEcszW1ckyVqzcEiEe0nE8sqHK+pbJg+PsAgRJ8+1dg==", + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "dev": true, "requires": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" + "fsevents": "~2.3.2" } }, - "rollup-plugin-copy-assets": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-1.1.0.tgz", - "integrity": "sha512-hfBZns2x15XC6N97jhGUiYoNQp1jZ1/mFrM3sbf3GIqGaDEcFPe7+J1H50HIMLG4nVM8YxTJOhMsrXnD4E+2NQ==", + "rollup-plugin-copy": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", + "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", "dev": true, "requires": { - "fs-extra": "^5.0.0" + "@types/fs-extra": "^8.0.1", + "colorette": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "10.0.1", + "is-plain-object": "^3.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, "rollup-plugin-terser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz", - "integrity": "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "jest-worker": "^24.0.0", - "serialize-javascript": "^1.6.1", - "terser": "^3.14.1" + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "rollup-plugin-typescript2": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.36.0.tgz", + "integrity": "sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.1.2", + "find-cache-dir": "^3.3.2", + "fs-extra": "^10.0.0", + "semver": "^7.5.4", + "tslib": "^2.6.2" }, "dependencies": { - "jest-worker": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.4.0.tgz", - "integrity": "sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ==", + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^1.0.1", - "supports-color": "^6.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "supports-color": { + "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "lru-cache": "^6.0.0" } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { - "tslib": "^1.9.0" + "queue-microtask": "^1.2.2" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "randombytes": "^2.1.0" } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "sisteransi": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", - "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { + "ip": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", "dev": true } } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", "dev": true, "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" } }, "source-map": { @@ -12620,123 +12619,36 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "escape-string-regexp": "^2.0.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true } } }, @@ -12756,19 +12668,19 @@ "ansi-regex": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", "dev": true }, "ansi-styles": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==", "dev": true }, "chalk": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==", "dev": true, "requires": { "ansi-styles": "^1.1.0", @@ -12778,25 +12690,10 @@ "supports-color": "^0.2.0" } }, - "has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", - "dev": true, - "requires": { - "ansi-regex": "^0.2.0" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, "strip-ansi": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==", "dev": true, "requires": { "ansi-regex": "^0.2.1" @@ -12805,128 +12702,67 @@ "supports-color": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==", "dev": true } } }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" } }, "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" } }, "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } + "ansi-regex": "^5.0.1" } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { @@ -12938,577 +12774,330 @@ "has-flag": "^3.0.0" } }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", "dev": true, "requires": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "source-map-support": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", - "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" } }, "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "is-number": "^7.0.0" } }, "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "prelude-ls": "^1.2.1" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "peer": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "buffer": "^5.2.1", + "through": "^2.3.8" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", "dev": true }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, "requires": { - "browser-process-hrtime": "^0.1.2" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" } }, "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.12" } }, "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "signal-exit": "^3.0.7" } }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } + "requires": {} }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index ddcba64..ab56287 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "url": "https://github.com/nika-begiashvili/libarchivejs" }, "scripts": { - "build": "rollup -c --environment BUILD:production", - "build-dev": "rollup -c --environment BUILD:development", + "build": "rollup --config ./rollup.config.js --environment BUILD:production", + "build:dev": "rollup --config ./rollup.config.js --environment BUILD:development", "test": "jest --runInBand", "prettier:fix": "npx prettier . --write" }, @@ -26,15 +26,24 @@ ], "author": "Nika Begiashvili", "license": "MIT", + "dependencies": { + "comlink": "^4.4.1" + }, "devDependencies": { - "eslint": "^6.8.0", + "@rollup/plugin-babel": "^6.0.4", + "@rollup/plugin-node-resolve": "^15.2.3", + "@types/eslint": "^8.56.1", + "@types/jest": "^29.5.11", + "@types/prettier": "^3.0.0", + "eslint": "^8.56.0", "is-wsl": "^3.1.0", - "jest": "^24.9.0", - "prettier": "3.1.1", - "puppeteer": "^1.20.0", - "rollup": "^1.31.1", - "rollup-plugin-copy-assets": "^1.0.0", - "rollup-plugin-terser": "^4.0.4", + "jest": "^29.7.0", + "prettier": "^3.1.1", + "puppeteer": "^21.7.0", + "rollup": "^2.79.1", + "rollup-plugin-copy": "^3.5.0", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-typescript2": "^0.36.0", "static-server": "^2.2.1" } } diff --git a/rollup.config.js b/rollup.config.js index 88b0ac2..c5336b9 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,17 +1,36 @@ -import copy from "rollup-plugin-copy-assets"; +import copy from 'rollup-plugin-copy'; import { terser } from "rollup-plugin-terser"; +import { nodeResolve } from '@rollup/plugin-node-resolve'; +// import { babel } from '@rollup/plugin-babel'; -export default { +export default [{ input: "src/webworker/worker.js", output: [ { file: "dist/worker-bundle.js", - format: "iife", + format: "es", }, ], plugins: [ + nodeResolve(), copy({ - assets: ["./src/webworker/wasm-gen"], - }), + targets: [ + { src: 'src/webworker/wasm-gen/libarchive.wasm', dest: 'dist' }, + ] + }) + // babel({ babelHelpers: 'bundled' }), ].concat(process.env.BUILD === "production" ? [terser()] : []), -}; +}, +{ + input: "src/libarchive.js", + output: [ + { + file: "dist/libarchive.js", + format: "es", + }, + ], + plugins: [ + nodeResolve() + ].concat(process.env.BUILD === "production" ? [terser()] : []), +} +]; diff --git a/src/libarchive.js b/src/libarchive.js index 7572604..0641615 100644 --- a/src/libarchive.js +++ b/src/libarchive.js @@ -1,4 +1,5 @@ import { CompressedFile } from "./compressed-file.js"; +import * as Comlink from "comlink/dist/esm/comlink.mjs"; export class Archive { /** @@ -7,7 +8,7 @@ export class Archive { */ static init(options = {}) { Archive._options = { - workerUrl: "../dist/worker-bundle.js", + workerUrl: options.workerUrl || new URL("./worker-bundle.js", import.meta.url), ...options, }; return Archive._options; @@ -20,14 +21,9 @@ export class Archive { * @returns {Archive} */ static open(file, options = null) { - options = - options || + options = options || Archive._options || - (Archive.init() && - console.warn( - "Automatically initializing using options: ", - Archive._options, - )); + Archive.init(); const arch = new Archive(file, options); return arch.open(); } @@ -38,82 +34,83 @@ export class Archive { * @param {Object} options */ constructor(file, options) { - this._worker = new Worker(options.workerUrl); - this._worker.addEventListener("message", this._workerMsg.bind(this)); + this._worker = new Worker(options.workerUrl, { + type: "module", + }); + this._callbacks = []; this._content = {}; this._processed = 0; this._file = file; } + async getClient() { + if (!this._client) { + const Client = Comlink.wrap(this._worker); + let { promise, resolve } = Promise.withResolvers(); + this._client = await new Client(Comlink.proxy(() => { + resolve(); + })); + await promise; + } + + return this._client; + } + /** * Prepares file for reading * @returns {Promise} archive instance */ - async open() { - await this._postMessage({ type: "HELLO" }, (resolve, reject, msg) => { - if (msg.type === "READY") { - resolve(); - } + open() { + return new Promise((resolve, _) => { + this.getClient().then((client) => { + client.open(this._file, Comlink.proxy(() => { + resolve(this); + })); + }); }); - return await this._postMessage( - { type: "OPEN", file: this._file }, - (resolve, reject, msg) => { - if (msg.type === "OPENED") { - resolve(this); - } - }, - ); } /** * Terminate worker to free up memory */ - close() { + async close() { this._worker.terminate(); this._worker = null; + this._client = null; + this._file = null; } /** * detect if archive has encrypted data * @returns {boolean|null} null if could not be determined */ - hasEncryptedData() { - return this._postMessage( - { type: "CHECK_ENCRYPTION" }, - (resolve, reject, msg) => { - if (msg.type === "ENCRYPTION_STATUS") { - resolve(msg.status); - } - }, - ); + async hasEncryptedData() { + const client = await this.getClient(); + return await client.hasEncryptedData(); } /** * set password to be used when reading archive */ - usePassword(archivePassword) { - return this._postMessage( - { type: "SET_PASSPHRASE", passphrase: archivePassword }, - (resolve, reject, msg) => { - if (msg.type === "PASSPHRASE_STATUS") { - resolve(msg.status); - } - }, - ); + async usePassword(archivePassword) { + const client = await this.getClient(); + await client.usePassword(archivePassword); } /** * Returns object containing directory structure and file information * @returns {Promise} */ - getFilesObject() { + async getFilesObject() { if (this._processed > 0) { return Promise.resolve().then(() => this._content); } - return this._postMessage({ type: "LIST_FILES" }, (resolve, reject, msg) => { - if (msg.type === "ENTRY") { - const entry = msg.entry; + const client = await this.getClient(); + const files = await client.listFiles(); + + files.forEach( + (entry) => { const [target, prop] = this._getProp(this._content, entry.path); if (entry.type === "FILE") { target[prop] = new CompressedFile( @@ -123,12 +120,11 @@ export class Archive { this, ); } - return true; - } else if (msg.type === "END") { - this._processed = 1; - resolve(this._cloneContent(this._content)); - } - }); + }, + ); + + this._processed = 1; + return this._cloneContent(this._content); } getFilesArray() { @@ -137,23 +133,17 @@ export class Archive { }); } - extractSingleFile(target) { + async extractSingleFile(target) { // Prevent extraction if worker already terminated if (this._worker === null) { throw new Error("Archive already closed"); } - return this._postMessage( - { type: "EXTRACT_SINGLE_FILE", target: target }, - (resolve, reject, msg) => { - if (msg.type === "FILE") { - const file = new File([msg.entry.fileData], msg.entry.fileName, { - type: "application/octet-stream", - }); - resolve(file); - } - }, - ); + const client = await this.getClient(); + const fileEntry = await client.extractSingleFile(target); + return new File([fileEntry.fileData], fileEntry.fileName, { + type: "application/octet-stream", + });; } /** @@ -161,36 +151,33 @@ export class Archive { * @param {Function} extractCallback * */ - extractFiles(extractCallback) { + async extractFiles(extractCallback) { if (this._processed > 1) { return Promise.resolve().then(() => this._content); } - return this._postMessage( - { type: "EXTRACT_FILES" }, - (resolve, reject, msg) => { - if (msg.type === "ENTRY") { - const [target, prop] = this._getProp(this._content, msg.entry.path); - if (msg.entry.type === "FILE") { - target[prop] = new File([msg.entry.fileData], msg.entry.fileName, { - type: "application/octet-stream", - }); - if (extractCallback !== undefined) { - setTimeout( - extractCallback.bind(null, { - file: target[prop], - path: msg.entry.path, - }), - ); - } - } - return true; - } else if (msg.type === "END") { - this._processed = 2; - this._worker.terminate(); - resolve(this._cloneContent(this._content)); + const client = await this.getClient(); + const files = await client.extractFiles(); + + files.forEach( (entry) => { + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new File([entry.fileData], entry.fileName, { + type: "application/octet-stream", + }); + if (extractCallback !== undefined) { + setTimeout( + extractCallback.bind(null, { + file: target[prop], + path: entry.path, + }), + ); } - }, - ); + } + }); + + this._processed = 2; + this._worker.terminate(); + return this._cloneContent(this._content); } _cloneContent(obj) { @@ -235,30 +222,4 @@ export class Archive { return [prev, parts[parts.length - 1]]; } - _postMessage(msg, callback) { - this._worker.postMessage(msg); - return new Promise((resolve, reject) => { - this._callbacks.push( - this._msgHandler.bind(this, callback, resolve, reject), - ); - }); - } - - _msgHandler(callback, resolve, reject, msg) { - if (msg.type === "BUSY") { - reject("worker is busy"); - } else if (msg.type === "ERROR") { - reject(msg.error); - } else { - return callback(resolve, reject, msg); - } - } - - _workerMsg({ data: msg }) { - const callback = this._callbacks[this._callbacks.length - 1]; - const next = callback(msg); - if (!next) { - this._callbacks.pop(); - } - } } diff --git a/src/webworker/archive-reader.js b/src/webworker/archive-reader.js index 9817ffd..df9c54e 100644 --- a/src/webworker/archive-reader.js +++ b/src/webworker/archive-reader.js @@ -29,7 +29,7 @@ export class ArchiveReader { console.warn("Closing previous file"); this.close(); } - const { promise, resolve, reject } = this._promiseHandles(); + const { promise, resolve, reject } = Promise.withResolvers(); this._file = file; const reader = new FileReader(); reader.onload = () => this._loadFile(reader.result, resolve, reject); @@ -71,7 +71,7 @@ export class ArchiveReader { /** * set passphrase to be used with archive - * @param {*} passphrase + * @param {string} passphrase */ setPassphrase(passphrase) { this._passphrase = passphrase; @@ -80,7 +80,7 @@ export class ArchiveReader { /** * get archive entries * @param {boolean} skipExtraction - * @param {string} except don't skip this entry + * @param {string} except don't skip extraction for this entry */ *entries(skipExtraction = false, except = null) { this._archive = this._runCode.openArchive( @@ -134,13 +134,4 @@ export class ArchiveReader { } } - _promiseHandles() { - let resolve = null, - reject = null; - const promise = new Promise((_resolve, _reject) => { - resolve = _resolve; - reject = _reject; - }); - return { promise, resolve, reject }; - } } diff --git a/src/webworker/wasm-module.js b/src/webworker/wasm-module.js index 8e23a90..42ca715 100644 --- a/src/webworker/wasm-module.js +++ b/src/webworker/wasm-module.js @@ -38,8 +38,8 @@ export class WasmModule { closeArchive: this.cwrap("archive_close", null, ["number"]), // la_int64_t archive_entry_size( struct archive_entry * ) getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), - // const char * archive_entry_pathname( struct archive_entry * ) - getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), + // const char * archive_entry_pathname_utf8( struct archive_entry * ) + getEntryName: this.cwrap("archive_entry_pathname_utf8", "string", ["number"]), // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) /* #define AE_IFMT ((__LA_MODE_T)0170000) @@ -98,7 +98,7 @@ export class WasmModule { monitorRunDependencies() {} locateFile(path /* ,prefix */) { - return `wasm-gen/${path}`; + return `${path}`; } } diff --git a/src/webworker/worker.js b/src/webworker/worker.js index 6c92409..1f880c1 100644 --- a/src/webworker/worker.js +++ b/src/webworker/worker.js @@ -1,71 +1,59 @@ import { ArchiveReader } from "./archive-reader"; import { getWasmModule } from "./wasm-module"; +import * as Comlink from "comlink/dist/esm/comlink.mjs"; let reader = null; -let busy = false; -getWasmModule((wasmModule) => { - reader = new ArchiveReader(wasmModule); - busy = false; - self.postMessage({ type: "READY" }); -}); +class LibArchiveWorker { -self.onmessage = async ({ data: msg }) => { - if (busy) { - self.postMessage({ type: "BUSY" }); - return; + constructor(readyCallback) { + LibArchiveWorker.readyCallback = readyCallback; + } + + open(file, cb) { + reader.open(file).then(() => cb()) + } + + listFiles() { + let arr = []; + for (const entry of reader.entries(true)) { + arr.push(entry) + } + return arr; + } + + extractFiles() { + let arr = []; + for (const entry of reader.entries(false)) { + arr.push(entry) + } + return arr; } - let skipExtraction = false; - busy = true; - try { - switch (msg.type) { - case "HELLO": // module will respond READY when it's ready - break; - case "OPEN": - await reader.open(msg.file); - self.postMessage({ type: "OPENED" }); - break; - case "LIST_FILES": - skipExtraction = true; - // eslint-disable-next-line no-fallthrough - case "EXTRACT_FILES": - for (const entry of reader.entries(skipExtraction)) { - self.postMessage({ type: "ENTRY", entry }); - } - self.postMessage({ type: "END" }); - break; - case "EXTRACT_SINGLE_FILE": - for (const entry of reader.entries(true, msg.target)) { - if (entry.fileData) { - self.postMessage({ type: "FILE", entry }); - } - } - break; - case "CHECK_ENCRYPTION": - self.postMessage({ - type: "ENCRYPTION_STATUS", - status: reader.hasEncryptedData(), - }); - break; - case "SET_PASSPHRASE": - reader.setPassphrase(msg.passphrase); - self.postMessage({ type: "PASSPHRASE_STATUS", status: true }); - break; - default: - throw new Error("Invalid Command"); + extractSingleFile(target) { + for (const entry of reader.entries(true, target)) { + if (entry.fileData) { + return entry; + } } - } catch (err) { - self.postMessage({ - type: "ERROR", - error: { - message: err.message, - name: err.name, - stack: err.stack, - }, - }); - } finally { - // eslint-disable-next-line require-atomic-updates - busy = false; } -}; + + hasEncryptedData() { + return reader.hasEncryptedData(); + } + + usePassword(passphrase) { + reader.setPassphrase(passphrase); + } + + close() { + reader.close(); + } +} + +getWasmModule((wasmModule) => { + reader = new ArchiveReader(wasmModule); + LibArchiveWorker?.readyCallback(); +}); + +Comlink.expose(LibArchiveWorker); \ No newline at end of file diff --git a/test/files/archives/unicode.zip b/test/files/archives/unicode.zip new file mode 100644 index 0000000000000000000000000000000000000000..d730ae0dcd895d4b311092c426bf7dc308e77540 GIT binary patch literal 2670 zcma);2{_c-8^^~o$ZkTmG=}V3vSwey*e)4lYi={f*hZE?bF)myl4K2o$Y3l{6cO2* zC>cYPES052D4~S>2Y=n}eeQjp`~IGDe&;>E_k7NIe(yQw`PxAl7+C>3mPlN-icESb z%Ry`Jl$~Bh6gmWr3cv&*6|uo*F$g59A{v2&+tCK`(mn$K$ls-$cN_n&m}qY}0)Yuo z+K*w`1)qy~7E1;K0QEco0O!w`-AKj2i2g%p%#iX5F48pijuukP|I$54Q&M|$qJwfQ z1!fwsoOd4j<_WgZ(R;f9r7g8!Aac;zXL{N_veCsOsMsxWirq#+$xYUMD|8P3cG0Lp z8LP68eMdxLl>Y}JFS*IQ`Ed^zhCnA~=6UbZz2bkv5nJvQ=#PYc* z4)+_tF=0+NJ34C{Qjy`4FJkBPL~S^^3e5(%JeHz9wp*C;C65+ex8eNi*|PEJ==tLj zsT9w{hnQtvK|ojOvJBSTmU&1Chm1GY0YSMk>p6v#$AK*c$}V0Zd{>tI#o3Acv08f z;9++oM9#xZOCJT^uIXl36^4|E9161bsK>pff0e1}bmh45s@b~(q_B|8=%kfRZ`Dxm z^iPn}6i6>1)w#H3E?noZre@kb&-->~ev}-4VYFbA`VhyWg)#*dIK(tqy#}3Q^sc`q z&tN;=9Qyd(e8!`-FZMUD%r0<8og~kE8yRN9GGXJ-Fp$v&$_Ax6vvKsiRdN+e>6Tk8 zh3(_khNkj!ai|9IZ1%Owr5{Qk+yyOEXz>WXZch>BDEdh1Mtr?g%1&W_Ym?80ON zuhauSUe55mVou7DvJ-Q$_l}b`8?|b3ju0#`oEwFD3cmuES70TU+2?o}UTY0d6fV}8 zC)UbL54w679Hl1^bS3-CCWgA`8-9;6Rg;j^9)5E5wDwf+{QInD$cNmmmi`^SlFwrB zEuc~VZgxU$&xdb^J-!GYDQQ-%~IlV6{e=kes_MGpn&C(vEn&S|TEfz@X4G)fw3L7C)opBo-lAacu9*UEU zk&mEXQ&M!=2*6R^gcl1FEx*B)!mH#^`B>@Ej1SBAs?!}E;;`cZ>zb83WlSE4j`O;O zSCMxBNhh)&R8*$fWHAuS*eWzw7>jJ7rA=FM9+ctGwnLFJ~I6f41C)nv@2F15uU`Cj(IoCR=g;#d1gun!4!huzS<&e(_Fj9);wCu=u_Ue0i^KZh1lqdDVIrO^Y z2+;g^exe8nW0yA4rIJi3)LJ$)kXO7ESRw0Ykk!zxUgFB(l;CS<;;}3ekAm`FH{&l0 zaQrAce6*-*)wZ)L>-B(mwWaD%l#nk0;seP;h zY!RB0`pLy{ef7R)N${6r%H<^SmvE<(KkUuodC3tB$4F9 zPDwhK@@8I4I)ic|`lPCuah6gtaXPWTyK>l^pNLn2Vyc%?m&ycmmif+#w{~LBwwVuZ z@e^^_2BM&Y+y$Kn8bYBYjYbu{;G5n3CT&zmMv(eUOnPM;XSCk>S_(c@udu)vKR{TT zlxZf<$69yIdX!BT9~}U2fDr)T`rDNs?(dgk-x@Tm%)R)9S7 zICWOhM5i;z-n9w#E{gg6sUK1I+oFC@ZBeKmxp;4#yUT`$i3UQO-tV6GDP7l}Y|DU1 z7V%U|`ON}L{`jz{dbvaj{t#w^)f2L3YhPkx1Y7ysVv?~ie5L8v)suu#QJC4{P5YH5iVfz!(4bMUEtd-wVa@#1y<2jz76sr6hn z48FPfj#Y54GkV!1S-yOCFS7SK+gkhuRhf+%`;Nhw+n2N3f*R#hI%Ih>KPjj*`~i#+ zIObTIPi-HX_gcrU2(lRUZSlezR}8u(-j%W5N8V!T_+EmVR$RhL3P-%j7>KCNq&nA! zVS|nR9+9bAbUSIMi3OHD2{EBr0urI6d#CJ32z%46XcKEwMSp}i*bw0Z4}u3EL%@N4 zp(u0!*b5T`hGGzCRy!yiz5Z_eKM4^D8fV9%ck5qe2`d1++eZfw07S#U!FNT6Xx77VQfiW$)e module.exports = { setup: async () => { let browser = await puppeteer.launch({ + headless: "new", executablePath: "google-chrome", args: ["--no-sandbox"], }); From c0ee91fd104c6446ce2d6b31762a99ba1d090e0e Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Tue, 9 Jan 2024 16:26:13 +0400 Subject: [PATCH 05/13] Fix encoding Add mtime --- dist/libarchive.js | 34 ++---- dist/libarchive.wasm | Bin 718999 -> 719918 bytes dist/worker-bundle.js | 84 ++++----------- lib/build/libarchive.js | 2 +- lib/build/libarchive.wasm | Bin 718999 -> 719918 bytes lib/build/main.o | Bin 2209 -> 2269 bytes lib/tools/build.sh | 3 +- lib/tools/lib.exports | 2 + lib/wrapper/main.c | 5 +- src/compressed-file.js | 10 +- src/libarchive.js | 10 ++ src/webworker/archive-reader.js | 12 +++ src/webworker/wasm-gen/libarchive.js | 2 +- src/webworker/wasm-gen/libarchive.wasm | Bin 718999 -> 719918 bytes src/webworker/wasm-module.js | 7 +- src/webworker/worker.js | 4 + test/files/archives/unicode.zip | Bin 2670 -> 2686 bytes test/files/index.html | 4 +- test/files/test-single.html | 139 +++++++++++++------------ test/main.test.js | 6 +- 20 files changed, 156 insertions(+), 168 deletions(-) diff --git a/dist/libarchive.js b/dist/libarchive.js index d2332f3..5e24b7f 100644 --- a/dist/libarchive.js +++ b/dist/libarchive.js @@ -465,6 +465,14 @@ class Archive { await client.usePassword(archivePassword); } + /** + * Set locale, defaults to en_US.UTF-8 + */ + async setLocale(locale) { + const client = await this.getClient(); + await client.setLocale(locale); + } + /** * Returns object containing directory structure and file information * @returns {Promise} @@ -588,32 +596,6 @@ class Archive { return [prev, parts[parts.length - 1]]; } - _postMessage(msg, callback) { - this._worker.postMessage(msg); - return new Promise((resolve, reject) => { - this._callbacks.push( - this._msgHandler.bind(this, callback, resolve, reject), - ); - }); - } - - _msgHandler(callback, resolve, reject, msg) { - if (msg.type === "BUSY") { - reject("worker is busy"); - } else if (msg.type === "ERROR") { - reject(msg.error); - } else { - return callback(resolve, reject, msg); - } - } - - _workerMsg({ data: msg }) { - const callback = this._callbacks[this._callbacks.length - 1]; - const next = callback(msg); - if (!next) { - this._callbacks.pop(); - } - } } export { Archive }; diff --git a/dist/libarchive.wasm b/dist/libarchive.wasm index e5b0cfb0e1d758d5aaa73383a5213346a7dfc298..704bbb68c6a8c370761b02342654ebbc8f6c8d71 100644 GIT binary patch delta 47587 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 delta 48051 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 diff --git a/dist/worker-bundle.js b/dist/worker-bundle.js index 2cc98bc..81c8098 100644 --- a/dist/worker-bundle.js +++ b/dist/worker-bundle.js @@ -18,6 +18,7 @@ class ArchiveReader { this._runCode = wasmModule.runCode; this._file = null; this._passphrase = null; + this._locale = "en_US.UTF-8"; } /** @@ -57,6 +58,7 @@ class ArchiveReader { this._filePtr, this._fileLength, this._passphrase, + this._locale, ); this._runCode.getNextEntry(this._archive); const status = this._runCode.hasEncryptedEntries(this._archive); @@ -77,6 +79,14 @@ class ArchiveReader { this._passphrase = passphrase; } + /** + * Set locale, defaults to: en_US.UTF-8 + * @param {string} locale + */ + setLocale(locale) { + this._locale = locale; + } + /** * get archive entries * @param {boolean} skipExtraction @@ -87,6 +97,7 @@ class ArchiveReader { this._filePtr, this._fileLength, this._passphrase, + this._locale, ); let entry; while (true) { @@ -142,7 +153,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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);removeRunDependency();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer);};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)}};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["z"])();Module["_archive_open"]=(a0,a1,a2)=>(Module["_archive_open"]=wasmExports["A"])(a0,a1,a2);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["C"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["D"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["G"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["H"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["I"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["K"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);Module["_free"]=a0=>(Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["O"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(a0);Module["cwrap"]=cwrap;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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);removeRunDependency();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer);};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)}};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["z"])();Module["_archive_open"]=(a0,a1,a2,a3)=>(Module["_archive_open"]=wasmExports["A"])(a0,a1,a2,a3);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["C"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["D"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["G"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["H"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["I"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["K"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);Module["_free"]=a0=>(Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["O"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(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(); return moduleArg.ready @@ -171,12 +182,13 @@ class WasmModule { this.runCode = { // const char * get_version() getVersion: this.cwrap("get_version", "string", []), - // void * archive_open( const void * buffer, size_t buffer_size) + // void * void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale) // retuns archive pointer openArchive: this.cwrap("archive_open", "number", [ "number", "number", "string", + "string" ]), // void * get_entry(void * archive) // return archive entry pointer @@ -190,7 +202,7 @@ class WasmModule { // la_int64_t archive_entry_size( struct archive_entry * ) getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), // const char * archive_entry_pathname_utf8( struct archive_entry * ) - getEntryName: this.cwrap("archive_entry_pathname_utf8", "string", ["number"]), + getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) /* #define AE_IFMT ((__LA_MODE_T)0170000) @@ -597,66 +609,6 @@ function generateUUID() { .join("-"); } -/*self.onmessage = async ({ data: msg }) => { - if (busy) { - self.postMessage({ type: "BUSY" }); - return; - } - - let skipExtraction = false; - busy = true; - try { - switch (msg.type) { - case "HELLO": // module will respond READY when it's ready - break; - case "OPEN": - await reader.open(msg.file); - self.postMessage({ type: "OPENED" }); - break; - case "LIST_FILES": - skipExtraction = true; - // eslint-disable-next-line no-fallthrough - case "EXTRACT_FILES": - for (const entry of reader.entries(skipExtraction)) { - self.postMessage({ type: "ENTRY", entry }); - } - self.postMessage({ type: "END" }); - break; - case "EXTRACT_SINGLE_FILE": - for (const entry of reader.entries(true, msg.target)) { - if (entry.fileData) { - self.postMessage({ type: "FILE", entry }); - } - } - break; - case "CHECK_ENCRYPTION": - self.postMessage({ - type: "ENCRYPTION_STATUS", - status: reader.hasEncryptedData(), - }); - break; - case "SET_PASSPHRASE": - reader.setPassphrase(msg.passphrase); - self.postMessage({ type: "PASSPHRASE_STATUS", status: true }); - break; - default: - throw new Error("Invalid Command"); - } - } catch (err) { - self.postMessage({ - type: "ERROR", - error: { - message: err.message, - name: err.name, - stack: err.stack, - }, - }); - } finally { - // eslint-disable-next-line require-atomic-updates - busy = false; - } -};*/ - let reader = null; class LibArchiveWorker { @@ -686,10 +638,8 @@ class LibArchiveWorker { } extractSingleFile(target) { - console.log(target); for (const entry of reader.entries(true, target)) { if (entry.fileData) { - console.log(entry); return entry; } } @@ -703,6 +653,10 @@ class LibArchiveWorker { reader.setPassphrase(passphrase); } + setLocale(locale) { + reader.setLocale(locale); + } + close() { reader.close(); } diff --git a/lib/build/libarchive.js b/lib/build/libarchive.js index 6e99c80..91abc43 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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(a0,a1,a2);var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=(a0,a1)=>(_archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(a0);Module["cwrap"]=cwrap;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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(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["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(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(); return moduleArg.ready diff --git a/lib/build/libarchive.wasm b/lib/build/libarchive.wasm index e5b0cfb0e1d758d5aaa73383a5213346a7dfc298..704bbb68c6a8c370761b02342654ebbc8f6c8d71 100755 GIT binary patch delta 47587 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 delta 48051 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 diff --git a/lib/build/main.o b/lib/build/main.o index 2a27fa6d58bc6efb1a4f467be2900ed53a85f04d..3f9b5cf96bfac9eea932a65656d9853d5d78b335 100644 GIT binary patch delta 1078 zcmY*YO^6gn6n^#7RrAw5Q?tA7uH(4-%AIv5VY8SVIyvOvphg1$?}DtuZm$^~XJb#Z zBqY#dj6aEbSX(6lL4wDCK~EuwIppR=LvBhUNG=h5Uy0KjezheJ?DfW=2-OdnaE?JPZt9APo=Gp8xBy1wh6TO0&YZ*{5D3xKbG z`5_bQzs%D1w`Ke?o2p6?^w;#tXJNM=t$C^67 zuowoN<;CSr)Paote|#kj0?I#|mg)c#+;LB(XIZ*(K831`#fE?(SU{+juL{&9SP&G3Y6@t&_$uOU{$Z(%G$q1h#suoA9+sYQOfZAj?)y>zLe36ohK5wK+ z4O_yJp{@*}p8I7in{VFuP3yM7dg$5;dbWy{7_0lOX){|xgSC@(gzv_YeIDfG(bP2U z7>?qYIg_cB^T?Le%-iwQwCn_K!Eu~0SvTw?6*TE{GA%x7x02#kQlxw9SZ{Gsp`L8Z zgN>MS8$O424sXY8xE+-_m)%8_DV*A*OsABFMMOg#CJjqm>vPk-mbp9H#?BBlbIdkz z8h2oGLuRAoS?c;uitjvT=WuSL>1;OnNbF_bCKtph_Fdx1x7dZ`eR-IjORma@T}(>O zetc66HFL8X7e!i)hn_i~oOI@h@Pl*q?d$X=pnKi^@oxVpFWjYGpzbR80v?`9I=&oaPT|-sVg%^;QP~aq^7hA9X0coz_?i1Ns3L_8i>1 zPqsiYJt6eGfWs1&9r#MYMW*2oR)CkRD8A<UK! bfZN&?zmW$IwI`owy5f~~^`%1cLf?4}SAXhW delta 992 zcmY*XOKTHR6h8McbCXOSH+`knnx5N6tXhh85!`8f(2d|PkTle(rj3bCLs0}LzFHq3 z#1TbAd@S6#Q4w4yBDfK&?p%ml*WLKSjb|pU;^NMEedjxeGvAl&{p>cV%pYX{z;3r% zEwHA5`BTF8eKIWk@KqQ1x3dIDw|5+9-`v4?`{PFXd^b!4{VczQ3AetWW{!E)dUFP% zsHfshAE_?5W!Li>UU|MrwZp)JDVFy|2)B<`YPH5R@G!`(p*^>9sC=l>taMoZ&(C z+Mwwp%08l`xjD>@a)J=1zf)XC&~-%)rA~GL`;qq6(cuP4(_q%)`n8sb56uSLpy`Oj zk*DT-k?YcpC>$zjLq|ZIH3kQ92+bdM1(*b%Ca%$fog3eiLy4o-=^>|*droMD%O z-EuR#9Mt4NwivvXO?D;NX-$&9WaZgX@X*>s{(Eb2%dJpjs#dMfkyd!@IsFL80VJKn zZnM1Ldh^vr9W==`6`Zz*f_rwZY=c&e$Hw=MlfuTgGmrr3bcnCJCz@rq-tIOxQ`#tBZ60i9Zt;dHGr?}B!MJ~ib(3in8OE~#~V&w;)BJz_Q4wt5T>t z^d3tAA7mDO$u9B2B91p!H^3*$Q4`l}q3+XrW(#;{_lgyp%8RNG;JR|e14SdAsHA+Y PXvAmbs1+4#jXnMY9~0iO diff --git a/lib/tools/build.sh b/lib/tools/build.sh index 3598ccb..02c881b 100755 --- a/lib/tools/build.sh +++ b/lib/tools/build.sh @@ -3,7 +3,8 @@ 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","intArrayFromString"]' -s EXPORTED_FUNCTIONS=@$PWD/lib.exports -s ERROR_ON_UNDEFINED_SYMBOLS=0 + -s EXTRA_EXPORTED_RUNTIME_METHODS='["cwrap","allocate","intArrayFromString","UTF8ToString"]' \ + -s EXPORTED_FUNCTIONS=@$PWD/lib.exports -s ERROR_ON_UNDEFINED_SYMBOLS=0 cp ../build/libarchive.js ../../src/webworker/wasm-gen/ cp ../build/libarchive.wasm ../../src/webworker/wasm-gen/ diff --git a/lib/tools/lib.exports b/lib/tools/lib.exports index 958e239..4283aba 100644 --- a/lib/tools/lib.exports +++ b/lib/tools/lib.exports @@ -8,6 +8,8 @@ "_archive_entry_pathname", "_archive_entry_pathname_utf8", "_archive_entry_size", + "_archive_entry_mtime_nsec", + "_archive_entry_birthtime_nsec", "_archive_read_data_skip", "_archive_error_string", "_archive_entry_is_encrypted", diff --git a/lib/wrapper/main.c b/lib/wrapper/main.c index 3db5444..9a96dde 100644 --- a/lib/wrapper/main.c +++ b/lib/wrapper/main.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #define EMSCRIPTEN_KEEPALIVE @@ -13,10 +14,12 @@ const char * get_version(){ } EMSCRIPTEN_KEEPALIVE -void* archive_open( const void *buf, size_t size, const char * passphrase ){ +void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale){ struct archive *a; int r; + setlocale(LC_ALL, locale); + a = archive_read_new(); archive_read_support_filter_all(a); archive_read_support_format_all(a); diff --git a/src/compressed-file.js b/src/compressed-file.js index a9a2ead..27eda08 100644 --- a/src/compressed-file.js +++ b/src/compressed-file.js @@ -2,10 +2,11 @@ * Represents compressed file before extraction */ export class CompressedFile { - constructor(name, size, path, archiveRef) { + constructor(name, size, path, lastModified, archiveRef) { this._name = name; this._size = size; this._path = path; + this._lastModified = lastModified; this._archiveRef = archiveRef; } @@ -22,6 +23,13 @@ export class CompressedFile { return this._size; } + /* + * Last modified epoch seconds + */ + get lastModified() { + return this._lastModified; + } + /** * Extract file from archive * @returns {Promise} extracted file diff --git a/src/libarchive.js b/src/libarchive.js index 0641615..ba218df 100644 --- a/src/libarchive.js +++ b/src/libarchive.js @@ -98,6 +98,14 @@ export class Archive { await client.usePassword(archivePassword); } + /** + * Set locale, defaults to en_US.UTF-8 + */ + async setLocale(locale) { + const client = await this.getClient(); + await client.setLocale(locale); + } + /** * Returns object containing directory structure and file information * @returns {Promise} @@ -117,6 +125,7 @@ export class Archive { entry.fileName, entry.size, entry.path, + entry.lastModified, this, ); } @@ -143,6 +152,7 @@ export class Archive { const fileEntry = await client.extractSingleFile(target); return new File([fileEntry.fileData], fileEntry.fileName, { type: "application/octet-stream", + lastModified: fileEntry.lastModified / 1_000_000, });; } diff --git a/src/webworker/archive-reader.js b/src/webworker/archive-reader.js index df9c54e..1d133f0 100644 --- a/src/webworker/archive-reader.js +++ b/src/webworker/archive-reader.js @@ -18,6 +18,7 @@ export class ArchiveReader { this._runCode = wasmModule.runCode; this._file = null; this._passphrase = null; + this._locale = "en_US.UTF-8"; } /** @@ -57,6 +58,7 @@ export class ArchiveReader { this._filePtr, this._fileLength, this._passphrase, + this._locale, ); this._runCode.getNextEntry(this._archive); const status = this._runCode.hasEncryptedEntries(this._archive); @@ -77,6 +79,14 @@ export class ArchiveReader { this._passphrase = passphrase; } + /** + * Set locale, defaults to: en_US.UTF-8 + * @param {string} locale + */ + setLocale(locale) { + this._locale = locale; + } + /** * get archive entries * @param {boolean} skipExtraction @@ -87,6 +97,7 @@ export class ArchiveReader { this._filePtr, this._fileLength, this._passphrase, + this._locale, ); let entry; while (true) { @@ -97,6 +108,7 @@ export class ArchiveReader { size: this._runCode.getEntrySize(entry), path: this._runCode.getEntryName(entry), type: TYPE_MAP[this._runCode.getEntryType(entry)], + lastModified: this._runCode.getEntryLastModified(entry), ref: entry, }; diff --git a/src/webworker/wasm-gen/libarchive.js b/src/webworker/wasm-gen/libarchive.js index 6e99c80..91abc43 100644 --- a/src/webworker/wasm-gen/libarchive.js +++ b/src/webworker/wasm-gen/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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(a0,a1,a2);var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=(a0,a1)=>(_archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(a0);Module["cwrap"]=cwrap;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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(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["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(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(); return moduleArg.ready diff --git a/src/webworker/wasm-gen/libarchive.wasm b/src/webworker/wasm-gen/libarchive.wasm index e5b0cfb0e1d758d5aaa73383a5213346a7dfc298..704bbb68c6a8c370761b02342654ebbc8f6c8d71 100644 GIT binary patch delta 47587 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 delta 48051 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 diff --git a/src/webworker/wasm-module.js b/src/webworker/wasm-module.js index 42ca715..238ec20 100644 --- a/src/webworker/wasm-module.js +++ b/src/webworker/wasm-module.js @@ -20,12 +20,13 @@ export class WasmModule { this.runCode = { // const char * get_version() getVersion: this.cwrap("get_version", "string", []), - // void * archive_open( const void * buffer, size_t buffer_size) + // void * void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale) // retuns archive pointer openArchive: this.cwrap("archive_open", "number", [ "number", "number", "string", + "string" ]), // void * get_entry(void * archive) // return archive entry pointer @@ -39,7 +40,7 @@ export class WasmModule { // la_int64_t archive_entry_size( struct archive_entry * ) getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), // const char * archive_entry_pathname_utf8( struct archive_entry * ) - getEntryName: this.cwrap("archive_entry_pathname_utf8", "string", ["number"]), + getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) /* #define AE_IFMT ((__LA_MODE_T)0170000) @@ -52,6 +53,8 @@ export class WasmModule { #define AE_IFIFO ((__LA_MODE_T)0010000) // Named pipe */ getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), + // long archive_entry_mtime_nsec(struct archive_entry *); + getEntryLastModified: this.cwrap("_archive_entry_mtime_nsec", "number", ["number"]), // const char * archive_error_string(struct archive *); getError: this.cwrap("archive_error_string", "string", ["number"]), diff --git a/src/webworker/worker.js b/src/webworker/worker.js index 1f880c1..086fcb3 100644 --- a/src/webworker/worker.js +++ b/src/webworker/worker.js @@ -46,6 +46,10 @@ class LibArchiveWorker { reader.setPassphrase(passphrase); } + setLocale(locale) { + reader.setLocale(locale); + } + close() { reader.close(); } diff --git a/test/files/archives/unicode.zip b/test/files/archives/unicode.zip index d730ae0dcd895d4b311092c426bf7dc308e77540..28c76aff2ff82d3e53038d020561e5ba9f00fc75 100644 GIT binary patch delta 148 zcmaDS@=s)fr6v~x0|x^`=aNr8cP$nR$uKZ5fUpn{KWtv`uzAMA=E)D6X9F3NGdL7C zn)7i??&L_A%)}+8D8!%wR0RSJKx_)c=sFC!gA>=D>$ZPB^D*-rIsiZr(|+X?&nCF9LlM}XgaxyGn_GU@+HoAMxV(>To#kxa!5&XF{l8I0)Yk~ bcIJQ^J6VHMesThr2-ihM28MQ^I0FL!xCSH4 diff --git a/test/files/index.html b/test/files/index.html index 848ac8f..05da0dc 100644 --- a/test/files/index.html +++ b/test/files/index.html @@ -67,10 +67,10 @@ try { const file = e.currentTarget.files[0]; const archive = await Archive.open(file); - //console.log( await archive.getFilesObject() ); + console.log( await archive.getFilesObject() ); //console.log( await archive.getFilesArray() ); obj = await archive.extractFiles(); - //console.log( await archive.getFilesObject() ); + console.log( await archive.getFilesObject() ); //console.log( await archive.getFilesArray() ); obj = await fileChecksums(obj); } catch (err) { diff --git a/test/files/test-single.html b/test/files/test-single.html index a986002..4dc38a0 100644 --- a/test/files/test-single.html +++ b/test/files/test-single.html @@ -1,77 +1,84 @@ - - test webworker - - - - - - + document.getElementById("file").addEventListener("change", async (e) => { + let objAfter, objBefore, files; + try { + const file = e.currentTarget.files[0]; + const archive = await Archive.open(file); + const filesObj = await archive.getFilesObject(); + files = await Promise.all([ + filesObj['.gitignore'].extract(), + filesObj['README.md'].extract(), + filesObj['addon']['addon.py'].extract() + ]); + } catch (err) { + console.error(err); + } finally { + window.obj = await Promise.all(files.map((fileObj) => getChecksum(fileObj))); + finish(); + } + }); + + + + \ No newline at end of file diff --git a/test/main.test.js b/test/main.test.js index b20132c..7c246f2 100644 --- a/test/main.test.js +++ b/test/main.test.js @@ -28,8 +28,10 @@ describe("extract various compression types", () => { test("extract single file from zip", async () => { await navigate(page, "test-single.html"); await inputFile("archives/test.zip", page); - const file = await response(page); - expect(file).toEqual(checksum[".gitignore"]); + const checksums = await response(page); + expect(checksums[0]).toEqual(checksum[".gitignore"]); + expect(checksums[1]).toEqual(checksum["README.md"]); + expect(checksums[2]).toEqual(checksum['addon']['addon.py']); }, 16000); test("extract encrypted zip", async () => { From aa4f1191a3fb231c711d222ec61007150f840e06 Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Tue, 9 Jan 2024 18:01:31 +0400 Subject: [PATCH 06/13] Convert to typescript --- dist/build/compiled/compressed-file.d.ts | 26 + dist/build/compiled/libarchive.d.ts | 69 + dist/libarchive.js | 460 +- dist/libarchive.wasm | Bin 719918 -> 719946 bytes dist/worker-bundle.js | 5 +- lib/build/libarchive.js | 2 +- lib/build/libarchive.wasm | Bin 719918 -> 719946 bytes package-lock.json | 293 +- package.json | 2 +- rollup.config.js | 67 +- ...{compressed-file.js => compressed-file.ts} | 24 +- src/{libarchive.js => libarchive.ts} | 112 +- src/webworker/archive-reader.js | 3 +- src/webworker/wasm-gen/libarchive.js | 3759 ++++++++++++++++- src/webworker/wasm-gen/libarchive.wasm | Bin 719918 -> 719946 bytes src/webworker/wasm-module.js | 6 +- src/webworker/worker.js | 9 +- test/files/archives/README.md.gz | Bin 0 -> 61 bytes test/files/index.html | 4 +- test/files/test-single.html | 146 +- test/main.test.js | 2 +- tsconfig.json | 16 + 22 files changed, 4350 insertions(+), 655 deletions(-) create mode 100644 dist/build/compiled/compressed-file.d.ts create mode 100644 dist/build/compiled/libarchive.d.ts rename src/{compressed-file.js => compressed-file.ts} (60%) rename src/{libarchive.js => libarchive.ts} (69%) create mode 100644 test/files/archives/README.md.gz create mode 100644 tsconfig.json diff --git a/dist/build/compiled/compressed-file.d.ts b/dist/build/compiled/compressed-file.d.ts new file mode 100644 index 0000000..847037d --- /dev/null +++ b/dist/build/compiled/compressed-file.d.ts @@ -0,0 +1,26 @@ +import { Archive } from "./libarchive"; +/** + * Represents compressed file before extraction + */ +export declare class CompressedFile { + constructor(name: string, size: number, path: string, lastModified: number, archiveRef: Archive); + private _name; + private _size; + private _path; + private _lastModified; + private _archiveRef; + /** + * File name + */ + get name(): string; + /** + * File size + */ + get size(): number; + get lastModified(): number; + /** + * Extract file from archive + * @returns {Promise} extracted file + */ + extract(): any; +} diff --git a/dist/build/compiled/libarchive.d.ts b/dist/build/compiled/libarchive.d.ts new file mode 100644 index 0000000..4e6fd1c --- /dev/null +++ b/dist/build/compiled/libarchive.d.ts @@ -0,0 +1,69 @@ +type ArchiveOptions = { + workerUrl: string | URL; +}; +export declare class Archive { + private static _options; + /** + * Initialize libarchivejs + * @param {Object} options + */ + static init(options?: ArchiveOptions | null): ArchiveOptions; + private _worker; + private _content; + private _processed; + private _file; + private _client; + /** + * Creates new archive instance from browser native File object + * @param {File} file + * @param {object} options + * @returns {Archive} + */ + static open(file: File, options?: ArchiveOptions | null): Promise; + /** + * Create new archive + * @param {File} file + * @param {Object} options + */ + constructor(file: File, options: ArchiveOptions); + getClient(): Promise; + /** + * Prepares file for reading + * @returns {Promise} archive instance + */ + open(): Promise; + /** + * Terminate worker to free up memory + */ + close(): Promise; + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + hasEncryptedData(): Promise; + /** + * set password to be used when reading archive + */ + usePassword(archivePassword: string): Promise; + /** + * Set locale, defaults to en_US.UTF-8 + */ + setLocale(locale: string): Promise; + /** + * Returns object containing directory structure and file information + * @returns {Promise} + */ + getFilesObject(): Promise; + getFilesArray(): Promise; + extractSingleFile(target: string): Promise; + /** + * Returns object containing directory structure and extracted File objects + * @param {Function} extractCallback + * + */ + extractFiles(extractCallback?: Function | undefined): Promise; + _cloneContent(obj: any): any; + _objectToArray(obj: any, path?: string): any[]; + _getProp(obj: any, path: string): any[]; +} +export {}; diff --git a/dist/libarchive.js b/dist/libarchive.js index 5e24b7f..a36f06f 100644 --- a/dist/libarchive.js +++ b/dist/libarchive.js @@ -2,33 +2,38 @@ * Represents compressed file before extraction */ class CompressedFile { - constructor(name, size, path, archiveRef) { - this._name = name; - this._size = size; - this._path = path; - this._archiveRef = archiveRef; - } - - /** - * file name - */ - get name() { - return this._name; - } - /** - * file size - */ - get size() { - return this._size; - } - - /** - * Extract file from archive - * @returns {Promise} extracted file - */ - extract() { - return this._archiveRef.extractSingleFile(this._path); - } + constructor(name, size, path, lastModified, archiveRef) { + this._name = name; + this._size = size; + this._path = path; + this._lastModified = lastModified; + this._archiveRef = archiveRef; + } + /** + * File name + */ + get name() { + return this._name; + } + /** + * File size + */ + get size() { + return this._size; + } + /* + * Last modified nano seconds + */ + get lastModified() { + return this._lastModified; + } + /** + * Extract file from archive + * @returns {Promise} extracted file + */ + extract() { + return this._archiveRef.extractSingleFile(this._path); + } } /** @@ -369,233 +374,204 @@ function generateUUID() { } class Archive { - /** - * Initialize libarchivejs - * @param {Object} options - */ - static init(options = {}) { - Archive._options = { - workerUrl: options.workerUrl || new URL("./worker-bundle.js", import.meta.url), - ...options, - }; - return Archive._options; - } - - /** - * Creates new archive instance from browser native File object - * @param {File} file - * @param {object} options - * @returns {Archive} - */ - static open(file, options = null) { - options = options || - Archive._options || - Archive.init(); - const arch = new Archive(file, options); - return arch.open(); - } - - /** - * Create new archive - * @param {File} file - * @param {Object} options - */ - constructor(file, options) { - this._worker = new Worker(options.workerUrl, { - type: "module", - }); - - this._callbacks = []; - this._content = {}; - this._processed = 0; - this._file = file; - } - - async getClient() { - if (!this._client) { - const Client = wrap(this._worker); - let { promise, resolve } = Promise.withResolvers(); - this._client = await new Client(proxy(() => { - resolve(); - })); - await promise; + /** + * Initialize libarchivejs + * @param {Object} options + */ + static init(options = null) { + Archive._options = { + workerUrl: (options === null || options === void 0 ? void 0 : options.workerUrl) || new URL("./worker-bundle.js", import.meta.url), + ...options, + }; + return Archive._options; } - - return this._client; - } - - /** - * Prepares file for reading - * @returns {Promise} archive instance - */ - open() { - return new Promise((resolve, _) => { - this.getClient().then((client) => { - client.open(this._file, proxy(() => { - resolve(this); - })); + /** + * Creates new archive instance from browser native File object + * @param {File} file + * @param {object} options + * @returns {Archive} + */ + static open(file, options = null) { + options = options || + Archive._options || + Archive.init(); + const arch = new Archive(file, options); + return arch.open(); + } + /** + * Create new archive + * @param {File} file + * @param {Object} options + */ + constructor(file, options) { + this._worker = new Worker(options.workerUrl, { + type: "module", }); - }); - } - - /** - * Terminate worker to free up memory - */ - async close() { - this._worker.terminate(); - this._worker = null; - this._client = null; - this._file = null; - } - - /** - * detect if archive has encrypted data - * @returns {boolean|null} null if could not be determined - */ - async hasEncryptedData() { - const client = await this.getClient(); - return await client.hasEncryptedData(); - } - - /** - * set password to be used when reading archive - */ - async usePassword(archivePassword) { - const client = await this.getClient(); - await client.usePassword(archivePassword); - } - - /** - * Set locale, defaults to en_US.UTF-8 - */ - async setLocale(locale) { - const client = await this.getClient(); - await client.setLocale(locale); - } - - /** - * Returns object containing directory structure and file information - * @returns {Promise} - */ - async getFilesObject() { - if (this._processed > 0) { - return Promise.resolve().then(() => this._content); + this._content = {}; + this._processed = 0; + this._file = file; } - const client = await this.getClient(); - const files = await client.listFiles(); - - files.forEach( - (entry) => { - const [target, prop] = this._getProp(this._content, entry.path); - if (entry.type === "FILE") { - target[prop] = new CompressedFile( - entry.fileName, - entry.size, - entry.path, - this, - ); + async getClient() { + if (!this._client) { + const Client = wrap(this._worker); + // @ts-ignore - Promise.WithResolvers + let { promise, resolve } = Promise.withResolvers(); + this._client = await new Client(proxy(() => { + resolve(); + })); + await promise; } - }, - ); - - this._processed = 1; - return this._cloneContent(this._content); - } - - getFilesArray() { - return this.getFilesObject().then((obj) => { - return this._objectToArray(obj); - }); - } - - async extractSingleFile(target) { - // Prevent extraction if worker already terminated - if (this._worker === null) { - throw new Error("Archive already closed"); + return this._client; } - - const client = await this.getClient(); - const fileEntry = await client.extractSingleFile(target); - return new File([fileEntry.fileData], fileEntry.fileName, { - type: "application/octet-stream", - }); } - - /** - * Returns object containing directory structure and extracted File objects - * @param {Function} extractCallback - * - */ - async extractFiles(extractCallback) { - if (this._processed > 1) { - return Promise.resolve().then(() => this._content); + /** + * Prepares file for reading + * @returns {Promise} archive instance + */ + open() { + return new Promise((resolve, _) => { + this.getClient().then((client) => { + client.open(this._file, proxy(() => { + resolve(this); + })); + }); + }); } - const client = await this.getClient(); - const files = await client.extractFiles(); - - files.forEach( (entry) => { - const [target, prop] = this._getProp(this._content, entry.path); - if (entry.type === "FILE") { - target[prop] = new File([entry.fileData], entry.fileName, { - type: "application/octet-stream", + /** + * Terminate worker to free up memory + */ + async close() { + var _a; + (_a = this._worker) === null || _a === void 0 ? void 0 : _a.terminate(); + this._worker = null; + this._client = null; + this._file = null; + } + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + async hasEncryptedData() { + const client = await this.getClient(); + return await client.hasEncryptedData(); + } + /** + * set password to be used when reading archive + */ + async usePassword(archivePassword) { + const client = await this.getClient(); + await client.usePassword(archivePassword); + } + /** + * Set locale, defaults to en_US.UTF-8 + */ + async setLocale(locale) { + const client = await this.getClient(); + await client.setLocale(locale); + } + /** + * Returns object containing directory structure and file information + * @returns {Promise} + */ + async getFilesObject() { + if (this._processed > 0) { + return Promise.resolve().then(() => this._content); + } + const client = await this.getClient(); + const files = await client.listFiles(); + files.forEach((entry) => { + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new CompressedFile(entry.fileName, entry.size, entry.path, entry.lastModified, this); + } + }); + this._processed = 1; + return this._cloneContent(this._content); + } + getFilesArray() { + return this.getFilesObject().then((obj) => { + return this._objectToArray(obj); }); - if (extractCallback !== undefined) { - setTimeout( - extractCallback.bind(null, { - file: target[prop], - path: entry.path, - }), - ); + } + async extractSingleFile(target) { + // Prevent extraction if worker already terminated + if (this._worker === null) { + throw new Error("Archive already closed"); } - } - }); - - this._processed = 2; - this._worker.terminate(); - return this._cloneContent(this._content); - } - - _cloneContent(obj) { - if (obj instanceof File || obj instanceof CompressedFile || obj === null) - return obj; - const o = {}; - for (const prop of Object.keys(obj)) { - o[prop] = this._cloneContent(obj[prop]); + const client = await this.getClient(); + const fileEntry = await client.extractSingleFile(target); + return new File([fileEntry.fileData], fileEntry.fileName, { + type: "application/octet-stream", + lastModified: fileEntry.lastModified / 1000000, + }); } - return o; - } - - _objectToArray(obj, path = "") { - const files = []; - for (const key of Object.keys(obj)) { - if ( - obj[key] instanceof File || - obj[key] instanceof CompressedFile || - obj[key] === null - ) { - files.push({ - file: obj[key] || key, - path: path, + /** + * Returns object containing directory structure and extracted File objects + * @param {Function} extractCallback + * + */ + async extractFiles(extractCallback = undefined) { + var _a; + if (this._processed > 1) { + return Promise.resolve().then(() => this._content); + } + const client = await this.getClient(); + const files = await client.extractFiles(); + files.forEach((entry) => { + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new File([entry.fileData], entry.fileName, { + type: "application/octet-stream", + }); + if (extractCallback !== undefined) { + setTimeout(extractCallback.bind(null, { + file: target[prop], + path: entry.path, + })); + } + } }); - } else { - files.push(...this._objectToArray(obj[key], `${path}${key}/`)); - } + this._processed = 2; + (_a = this._worker) === null || _a === void 0 ? void 0 : _a.terminate(); + return this._cloneContent(this._content); } - return files; - } - - _getProp(obj, path) { - const parts = path.split("/"); - if (parts[parts.length - 1] === "") parts.pop(); - let cur = obj, - prev = null; - for (const part of parts) { - cur[part] = cur[part] || {}; - prev = cur; - cur = cur[part]; + _cloneContent(obj) { + if (obj instanceof File || obj instanceof CompressedFile || obj === null) + return obj; + const o = {}; + for (const prop of Object.keys(obj)) { + o[prop] = this._cloneContent(obj[prop]); + } + return o; + } + _objectToArray(obj, path = "") { + const files = []; + for (const key of Object.keys(obj)) { + if (obj[key] instanceof File || + obj[key] instanceof CompressedFile || + obj[key] === null) { + files.push({ + file: obj[key] || key, + path: path, + }); + } + else { + files.push(...this._objectToArray(obj[key], `${path}${key}/`)); + } + } + return files; + } + _getProp(obj, path) { + const parts = path.split("/"); + if (parts[parts.length - 1] === "") + parts.pop(); + let cur = obj, prev = null; + for (const part of parts) { + cur[part] = cur[part] || {}; + prev = cur; + cur = cur[part]; + } + return [prev, parts[parts.length - 1]]; } - return [prev, parts[parts.length - 1]]; - } - } export { Archive }; diff --git a/dist/libarchive.wasm b/dist/libarchive.wasm index 704bbb68c6a8c370761b02342654ebbc8f6c8d71..5413f7c9057b4e90d72ed00930239ebff43757d4 100644 GIT binary patch delta 5154 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 x)2qa3XdYSZ^fMoXU#K0pBkcU0{{`VkBMATi diff --git a/dist/worker-bundle.js b/dist/worker-bundle.js index 81c8098..d5cf532 100644 --- a/dist/worker-bundle.js +++ b/dist/worker-bundle.js @@ -108,6 +108,7 @@ class ArchiveReader { size: this._runCode.getEntrySize(entry), path: this._runCode.getEntryName(entry), type: TYPE_MAP[this._runCode.getEntryType(entry)], + lastModified: this._runCode.getEntryLastModified(entry), ref: entry, }; @@ -153,7 +154,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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);removeRunDependency();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer);};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)}};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["z"])();Module["_archive_open"]=(a0,a1,a2,a3)=>(Module["_archive_open"]=wasmExports["A"])(a0,a1,a2,a3);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["C"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["D"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["G"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["H"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["I"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["K"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);Module["_free"]=a0=>(Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["O"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);removeRunDependency();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer);};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)}};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["z"])();Module["_archive_open"]=(a0,a1,a2,a3)=>(Module["_archive_open"]=wasmExports["A"])(a0,a1,a2,a3);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["C"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["D"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["G"])(a0);Module["_archive_entry_birthtime_nsec"]=a0=>(Module["_archive_entry_birthtime_nsec"]=wasmExports["H"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["I"])(a0);Module["_archive_entry_mtime_nsec"]=a0=>(Module["_archive_entry_mtime_nsec"]=wasmExports["J"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["K"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["L"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["M"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["N"])(a0);Module["_free"]=a0=>(Module["_free"]=wasmExports["O"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["P"])();Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["Q"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["R"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["T"])(a0);var stackSave=()=>(stackSave=wasmExports["U"])();var stackRestore=a0=>(stackRestore=wasmExports["V"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["W"])(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(); return moduleArg.ready @@ -215,6 +216,8 @@ class WasmModule { #define AE_IFIFO ((__LA_MODE_T)0010000) // Named pipe */ getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), + // long archive_entry_mtime_nsec(struct archive_entry *); + getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", ["number"]), // const char * archive_error_string(struct archive *); getError: this.cwrap("archive_error_string", "string", ["number"]), diff --git a/lib/build/libarchive.js b/lib/build/libarchive.js index 91abc43..67f8ff2 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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(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["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(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["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=a0=>(_archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=wasmExports["H"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["I"])(a0);var _archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=a0=>(_archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=wasmExports["J"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["K"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["L"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["M"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["N"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["O"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["P"])();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["Q"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["R"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["T"])(a0);var stackSave=()=>(stackSave=wasmExports["U"])();var stackRestore=a0=>(stackRestore=wasmExports["V"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["W"])(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(); return moduleArg.ready diff --git a/lib/build/libarchive.wasm b/lib/build/libarchive.wasm index 704bbb68c6a8c370761b02342654ebbc8f6c8d71..5413f7c9057b4e90d72ed00930239ebff43757d4 100755 GIT binary patch delta 5154 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 x)2qa3XdYSZ^fMoXU#K0pBkcU0{{`VkBMATi diff --git a/package-lock.json b/package-lock.json index 116640b..1351909 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "devDependencies": { "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-typescript": "^11.1.5", "@types/eslint": "^8.56.1", "@types/jest": "^29.5.11", "@types/prettier": "^3.0.0", @@ -25,7 +26,6 @@ "rollup": "^2.79.1", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-typescript2": "^0.36.0", "static-server": "^2.2.1" } }, @@ -1604,17 +1604,52 @@ } } }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", + "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", "dev": true, "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-typescript/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, "node_modules/@sinclair/typebox": { @@ -2466,12 +2501,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3257,38 +3286,6 @@ "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -6650,91 +6647,6 @@ "rollup": "^2.0.0" } }, - "node_modules/rollup-plugin-typescript2": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.36.0.tgz", - "integrity": "sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^4.1.2", - "find-cache-dir": "^3.3.2", - "fs-extra": "^10.0.0", - "semver": "^7.5.4", - "tslib": "^2.6.2" - }, - "peerDependencies": { - "rollup": ">=1.26.3", - "typescript": ">=2.4.0" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -8702,14 +8614,27 @@ } } }, - "@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "@rollup/plugin-typescript": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", + "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", "dev": true, "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + } } }, "@sinclair/typebox": { @@ -9371,12 +9296,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -9958,28 +9877,6 @@ "to-regex-range": "^5.0.1" } }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - } - } - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -12449,72 +12346,6 @@ "terser": "^5.0.0" } }, - "rollup-plugin-typescript2": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.36.0.tgz", - "integrity": "sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^4.1.2", - "find-cache-dir": "^3.3.2", - "fs-extra": "^10.0.0", - "semver": "^7.5.4", - "tslib": "^2.6.2" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", diff --git a/package.json b/package.json index ab56287..ab918f1 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "devDependencies": { "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-typescript": "^11.1.5", "@types/eslint": "^8.56.1", "@types/jest": "^29.5.11", "@types/prettier": "^3.0.0", @@ -43,7 +44,6 @@ "rollup": "^2.79.1", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-typescript2": "^0.36.0", "static-server": "^2.2.1" } } diff --git a/rollup.config.js b/rollup.config.js index c5336b9..3f6a55c 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,36 +1,37 @@ -import copy from 'rollup-plugin-copy'; +import copy from "rollup-plugin-copy"; import { terser } from "rollup-plugin-terser"; -import { nodeResolve } from '@rollup/plugin-node-resolve'; -// import { babel } from '@rollup/plugin-babel'; +import { nodeResolve } from "@rollup/plugin-node-resolve"; +import typescript from "@rollup/plugin-typescript"; -export default [{ - input: "src/webworker/worker.js", - output: [ - { - file: "dist/worker-bundle.js", - format: "es", - }, - ], - plugins: [ - nodeResolve(), - copy({ - targets: [ - { src: 'src/webworker/wasm-gen/libarchive.wasm', dest: 'dist' }, - ] - }) - // babel({ babelHelpers: 'bundled' }), - ].concat(process.env.BUILD === "production" ? [terser()] : []), -}, -{ - input: "src/libarchive.js", - output: [ - { - file: "dist/libarchive.js", - format: "es", - }, - ], - plugins: [ - nodeResolve() - ].concat(process.env.BUILD === "production" ? [terser()] : []), -} +export default [ + { + input: "src/webworker/worker.js", + output: [ + { + file: "dist/worker-bundle.js", + format: "es", + }, + ], + plugins: [ + nodeResolve(), + copy({ + targets: [ + { src: "src/webworker/wasm-gen/libarchive.wasm", dest: "dist" }, + ], + }), + // babel({ babelHelpers: 'bundled' }), + ].concat(process.env.BUILD === "production" ? [terser()] : []), + }, + { + input: "src/libarchive.ts", + output: [ + { + file: "dist/libarchive.js", + format: "es", + }, + ], + plugins: [typescript(), nodeResolve()].concat( + process.env.BUILD === "production" ? [terser()] : [], + ), + }, ]; diff --git a/src/compressed-file.js b/src/compressed-file.ts similarity index 60% rename from src/compressed-file.js rename to src/compressed-file.ts index 27eda08..0fecdad 100644 --- a/src/compressed-file.js +++ b/src/compressed-file.ts @@ -1,8 +1,16 @@ +import { Archive } from "./libarchive"; + /** * Represents compressed file before extraction */ export class CompressedFile { - constructor(name, size, path, lastModified, archiveRef) { + constructor( + name: string, + size: number, + path: string, + lastModified: number, + archiveRef: Archive, + ) { this._name = name; this._size = size; this._path = path; @@ -10,22 +18,28 @@ export class CompressedFile { this._archiveRef = archiveRef; } + private _name: string; + private _size: number; + private _path: string; + private _lastModified: number; + private _archiveRef: any; + /** - * file name + * File name */ get name() { return this._name; } /** - * file size + * File size */ get size() { return this._size; } /* - * Last modified epoch seconds - */ + * Last modified nano seconds + */ get lastModified() { return this._lastModified; } diff --git a/src/libarchive.js b/src/libarchive.ts similarity index 69% rename from src/libarchive.js rename to src/libarchive.ts index ba218df..e08ceac 100644 --- a/src/libarchive.js +++ b/src/libarchive.ts @@ -1,29 +1,49 @@ import { CompressedFile } from "./compressed-file.js"; -import * as Comlink from "comlink/dist/esm/comlink.mjs"; +import * as Comlink from "comlink"; + +type ArchiveOptions = { + workerUrl: string | URL; +}; + +type ArchiveEntry = { + size: number; + path: string; + type: string; + lastModified: number; + fileData: ArrayBuffer; + fileName: string; +}; export class Archive { + private static _options: ArchiveOptions; + /** * Initialize libarchivejs * @param {Object} options */ - static init(options = {}) { + static init(options: ArchiveOptions | null = null) { Archive._options = { - workerUrl: options.workerUrl || new URL("./worker-bundle.js", import.meta.url), + workerUrl: + options?.workerUrl || new URL("./worker-bundle.js", import.meta.url), ...options, }; return Archive._options; } + private _worker: Worker | null; + private _content: any; + private _processed: number; + private _file: File | null; + private _client: any; + /** * Creates new archive instance from browser native File object * @param {File} file * @param {object} options * @returns {Archive} */ - static open(file, options = null) { - options = options || - Archive._options || - Archive.init(); + static open(file: File, options: ArchiveOptions | null = null) { + options = options || Archive._options || Archive.init(); const arch = new Archive(file, options); return arch.open(); } @@ -33,12 +53,11 @@ export class Archive { * @param {File} file * @param {Object} options */ - constructor(file, options) { + constructor(file: File, options: ArchiveOptions) { this._worker = new Worker(options.workerUrl, { type: "module", }); - this._callbacks = []; this._content = {}; this._processed = 0; this._file = file; @@ -46,11 +65,14 @@ export class Archive { async getClient() { if (!this._client) { - const Client = Comlink.wrap(this._worker); + const Client = Comlink.wrap(this._worker as any) as any; + // @ts-ignore - Promise.WithResolvers let { promise, resolve } = Promise.withResolvers(); - this._client = await new Client(Comlink.proxy(() => { - resolve(); - })); + this._client = await new Client( + Comlink.proxy(() => { + resolve(); + }), + ); await promise; } @@ -63,11 +85,14 @@ export class Archive { */ open() { return new Promise((resolve, _) => { - this.getClient().then((client) => { - client.open(this._file, Comlink.proxy(() => { + this.getClient().then((client) => { + client.open( + this._file, + Comlink.proxy(() => { resolve(this); - })); - }); + }), + ); + }); }); } @@ -75,7 +100,7 @@ export class Archive { * Terminate worker to free up memory */ async close() { - this._worker.terminate(); + this._worker?.terminate(); this._worker = null; this._client = null; this._file = null; @@ -93,7 +118,7 @@ export class Archive { /** * set password to be used when reading archive */ - async usePassword(archivePassword) { + async usePassword(archivePassword: string) { const client = await this.getClient(); await client.usePassword(archivePassword); } @@ -101,7 +126,7 @@ export class Archive { /** * Set locale, defaults to en_US.UTF-8 */ - async setLocale(locale) { + async setLocale(locale: string) { const client = await this.getClient(); await client.setLocale(locale); } @@ -117,20 +142,18 @@ export class Archive { const client = await this.getClient(); const files = await client.listFiles(); - files.forEach( - (entry) => { - const [target, prop] = this._getProp(this._content, entry.path); - if (entry.type === "FILE") { - target[prop] = new CompressedFile( - entry.fileName, - entry.size, - entry.path, - entry.lastModified, - this, - ); - } - }, - ); + files.forEach((entry: ArchiveEntry) => { + const [target, prop] = this._getProp(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new CompressedFile( + entry.fileName, + entry.size, + entry.path, + entry.lastModified, + this, + ); + } + }); this._processed = 1; return this._cloneContent(this._content); @@ -142,7 +165,7 @@ export class Archive { }); } - async extractSingleFile(target) { + async extractSingleFile(target: string) { // Prevent extraction if worker already terminated if (this._worker === null) { throw new Error("Archive already closed"); @@ -153,7 +176,7 @@ export class Archive { return new File([fileEntry.fileData], fileEntry.fileName, { type: "application/octet-stream", lastModified: fileEntry.lastModified / 1_000_000, - });; + }); } /** @@ -161,14 +184,14 @@ export class Archive { * @param {Function} extractCallback * */ - async extractFiles(extractCallback) { + async extractFiles(extractCallback: Function | undefined = undefined) { if (this._processed > 1) { return Promise.resolve().then(() => this._content); } const client = await this.getClient(); const files = await client.extractFiles(); - files.forEach( (entry) => { + files.forEach((entry: ArchiveEntry) => { const [target, prop] = this._getProp(this._content, entry.path); if (entry.type === "FILE") { target[prop] = new File([entry.fileData], entry.fileName, { @@ -186,22 +209,22 @@ export class Archive { }); this._processed = 2; - this._worker.terminate(); + this._worker?.terminate(); return this._cloneContent(this._content); } - _cloneContent(obj) { + _cloneContent(obj: any) { if (obj instanceof File || obj instanceof CompressedFile || obj === null) return obj; - const o = {}; + const o: any = {}; for (const prop of Object.keys(obj)) { o[prop] = this._cloneContent(obj[prop]); } return o; } - _objectToArray(obj, path = "") { - const files = []; + _objectToArray(obj: any, path: string = "") { + const files: any[] = []; for (const key of Object.keys(obj)) { if ( obj[key] instanceof File || @@ -219,7 +242,7 @@ export class Archive { return files; } - _getProp(obj, path) { + _getProp(obj: any, path: string) { const parts = path.split("/"); if (parts[parts.length - 1] === "") parts.pop(); let cur = obj, @@ -231,5 +254,4 @@ export class Archive { } return [prev, parts[parts.length - 1]]; } - } diff --git a/src/webworker/archive-reader.js b/src/webworker/archive-reader.js index 1d133f0..9aec7ab 100644 --- a/src/webworker/archive-reader.js +++ b/src/webworker/archive-reader.js @@ -81,7 +81,7 @@ export class ArchiveReader { /** * Set locale, defaults to: en_US.UTF-8 - * @param {string} locale + * @param {string} locale */ setLocale(locale) { this._locale = locale; @@ -145,5 +145,4 @@ export class ArchiveReader { reject(error); } } - } diff --git a/src/webworker/wasm-gen/libarchive.js b/src/webworker/wasm-gen/libarchive.js index 91abc43..7a53a6f 100644 --- a/src/webworker/wasm-gen/libarchive.js +++ b/src/webworker/wasm-gen/libarchive.js @@ -1,16 +1,3753 @@ - var libarchive = (() => { var _scriptDir = import.meta.url; - - 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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(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["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["H"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["I"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["J"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["K"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["L"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["M"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["N"])();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["O"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["P"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["R"])(a0);var stackSave=()=>(stackSave=wasmExports["S"])();var stackRestore=a0=>(stackRestore=wasmExports["T"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["U"])(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(); + 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["x"]; + updateMemoryViews(); + addOnInit(wasmExports["y"]); + 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 < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (; end >= 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 < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + }, + }; + var UTF8Decoder = + typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined; + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = + ((u0 & 7) << 18) | + (u1 << 12) | + (u2 << 6) | + (heapOrArray[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + return str; + }; + var FS_stdin_getChar_buffer = []; + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 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 < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 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; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }, + default_tty_ops: { + get_char(tty) { + return FS_stdin_getChar(); + }, + put_char(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + fsync(tty) { + if (tty.output && tty.output.length > 0) { + 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 < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> + 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; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length, + ); + }, + mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length, + ); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + }, + }, + }; + var asyncLoad = (url, onload, onerror, noRunDep) => { + 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; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + 1, + }); + current = lookup.node; + if (count++ > 40) { + 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 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; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev(path, mode, dev) { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if ( + FS.isMountpoint(old_node) || + (new_node && FS.isMountpoint(new_node)) + ) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, + rmdir(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link), + ); + }, + stat(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat(path) { + return FS.stat(path, true); + }, + chmod(path, mode, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now(), + }); + }, + lchmod(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod(fd, mode) { + var stream = FS.getStreamChecked(fd); + FS.chmod(stream.node, mode); + }, + chown(path, uid, gid, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown(fd, uid, gid) { + var stream = FS.getStreamChecked(fd); + FS.chown(stream.node, uid, gid); + }, + truncate(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate(fd, len) { + var stream = FS.getStreamChecked(fd); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open(path, flags, mode) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false, + }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, + close(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed(stream) { + return stream.fd === null; + }, + llseek(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer, + offset, + length, + position, + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn, + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap(stream, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync(stream, buffer, offset, length, mmapFlags) { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer, + offset, + length, + mmapFlags, + ); + }, + munmap: (stream) => 0, + ioctl(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile(path, opts = {}) { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile(path, data, opts = {}) { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: () => FS.currentPath, + chdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var 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; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + findObject(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null, + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath(parent, path, canRead, canWrite) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile(parent, name, data, canRead, canWrite, canOwn) { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + }, + createDevice(parent, name, input, output) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open(stream) { + stream.seekable = false; + }, + close(stream) { + if (output?.buffer?.length) { + output(10); + } + }, + read(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.", + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = + function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = + function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && + header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error( + "invalid range (" + + from + + ", " + + to + + ") or no bytes requested!", + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!", + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] == "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out( + "LazyFiles on gzip forces download of the whole file when length is accessed", + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + }, + }, + chunkSize: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + }, + }, + }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function () { + return this.contents.length; + }, + }, + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + 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; i < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + if (bucket.offset - bucket.roffset > 0) { + 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 < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + currentLength += bucket.offset - bucket.roffset; + } + var data = buffer.subarray(offset, offset + length); + if (length <= 0) { + return 0; + } + if (currentLength == 0) { + throw new FS.ErrnoError(6); + } + var toRead = Math.min(currentLength, length); + var totalRead = toRead; + var toRemove = 0; + for (var i = 0; i < pipe.buckets.length; i++) { + var currBucket = pipe.buckets[i]; + var bucketSize = currBucket.offset - currBucket.roffset; + if (toRead <= bucketSize) { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + if (toRead < bucketSize) { + tmpSlice = tmpSlice.subarray(0, toRead); + currBucket.roffset += toRead; + } else { + toRemove++; + } + data.set(tmpSlice); + break; + } else { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + data.set(tmpSlice); + data = data.subarray(tmpSlice.byteLength); + toRead -= tmpSlice.byteLength; + toRemove++; + } + } + if (toRemove && toRemove == pipe.buckets.length) { + toRemove--; + pipe.buckets[toRemove].offset = 0; + pipe.buckets[toRemove].roffset = 0; + } + pipe.buckets.splice(0, toRemove); + return totalRead; + }, + write(stream, buffer, offset, length, position) { + var pipe = stream.node.pipe; + var data = buffer.subarray(offset, offset + length); + var dataLen = data.byteLength; + if (dataLen <= 0) { + return 0; + } + var currBucket = null; + if (pipe.buckets.length == 0) { + currBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: 0, + roffset: 0, + }; + pipe.buckets.push(currBucket); + } else { + currBucket = pipe.buckets[pipe.buckets.length - 1]; + } + assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); + var freeBytesInCurrBuffer = + PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; + if (freeBytesInCurrBuffer >= 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; i < numBuckets; i++) { + var newBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: PIPEFS.BUCKET_BUFFER_SIZE, + roffset: 0, + }; + pipe.buckets.push(newBucket); + newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); + data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength); + } + if (remElements > 0) { + 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 < nfds; i++) { + var pollfd = fds + 8 * i; + var fd = HEAP32[pollfd >> 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; + } + } + 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; + }; + var convertI32PairToI53Checked = (lo, hi) => + (hi + 2097152) >>> 0 < 4194305 - !!lo + ? (lo >>> 0) + hi * 4294967296 + : NaN; + 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 < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[(tzname + 4) >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[(tzname + 4) >> 2] = winterNamePtr; + } + }; + var _abort = () => { + abort(""); + }; + 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 + 0.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 < str.length; ++i) { + HEAP8[buffer++ >> 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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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 < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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 getCFunc = (ident) => { + var func = Module["_" + ident]; + return func; + }; + var writeArrayToMemory = (array, buffer) => { + HEAP8.set(array, buffer); + }; + 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 < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; + }; + var cwrap = (ident, returnType, argTypes, opts) => { + 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, + v: ___syscall_fstat64, + s: ___syscall_lstat64, + t: ___syscall_newfstatat, + w: ___syscall_openat, + r: ___syscall_pipe, + q: ___syscall_poll, + u: ___syscall_stat64, + k: __localtime_js, + l: __mktime_js, + m: __timegm_js, + p: __tzset_js, + b: _abort, + h: _emscripten_memcpy_js, + o: _emscripten_resize_heap, + f: _environ_get, + g: _environ_sizes_get, + e: _exit, + d: _fd_close, + j: _fd_read, + n: _fd_seek, + c: _fd_write, + }; + var wasmExports = createWasm(); + var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["y"])(); + var _get_version = (Module["_get_version"] = () => + (_get_version = Module["_get_version"] = wasmExports["z"])()); + var _archive_open = (Module["_archive_open"] = (a0, a1, a2, a3) => + (_archive_open = Module["_archive_open"] = wasmExports["A"])( + 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["B"])(a0, a1)); + var _archive_error_string = (Module["_archive_error_string"] = (a0) => + (_archive_error_string = Module["_archive_error_string"] = + wasmExports["C"])(a0)); + var _get_next_entry = (Module["_get_next_entry"] = (a0) => + (_get_next_entry = Module["_get_next_entry"] = wasmExports["D"])(a0)); + var _get_filedata = (Module["_get_filedata"] = (a0, a1) => + (_get_filedata = Module["_get_filedata"] = wasmExports["E"])(a0, a1)); + var _malloc = (Module["_malloc"] = (a0) => + (_malloc = Module["_malloc"] = wasmExports["F"])(a0)); + var _archive_close = (Module["_archive_close"] = (a0) => + (_archive_close = Module["_archive_close"] = wasmExports["G"])(a0)); + var _archive_entry_birthtime_nsec = (Module[ + "_archive_entry_birthtime_nsec" + ] = (a0) => + (_archive_entry_birthtime_nsec = Module["_archive_entry_birthtime_nsec"] = + wasmExports["H"])(a0)); + var _archive_entry_filetype = (Module["_archive_entry_filetype"] = (a0) => + (_archive_entry_filetype = Module["_archive_entry_filetype"] = + wasmExports["I"])(a0)); + var _archive_entry_mtime_nsec = (Module["_archive_entry_mtime_nsec"] = ( + a0, + ) => + (_archive_entry_mtime_nsec = Module["_archive_entry_mtime_nsec"] = + wasmExports["J"])(a0)); + var _archive_entry_pathname = (Module["_archive_entry_pathname"] = (a0) => + (_archive_entry_pathname = Module["_archive_entry_pathname"] = + wasmExports["K"])(a0)); + var _archive_entry_pathname_utf8 = (Module["_archive_entry_pathname_utf8"] = + (a0) => + (_archive_entry_pathname_utf8 = Module["_archive_entry_pathname_utf8"] = + wasmExports["L"])(a0)); + var _archive_entry_size = (Module["_archive_entry_size"] = (a0) => + (_archive_entry_size = Module["_archive_entry_size"] = wasmExports["M"])( + a0, + )); + var _archive_entry_is_encrypted = (Module["_archive_entry_is_encrypted"] = ( + a0, + ) => + (_archive_entry_is_encrypted = Module["_archive_entry_is_encrypted"] = + wasmExports["N"])(a0)); + var _free = (Module["_free"] = (a0) => + (_free = Module["_free"] = wasmExports["O"])(a0)); + var ___errno_location = () => (___errno_location = wasmExports["P"])(); + 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["Q"])(a0)); + var _archive_read_data_skip = (Module["_archive_read_data_skip"] = (a0) => + (_archive_read_data_skip = Module["_archive_read_data_skip"] = + wasmExports["R"])(a0)); + var _htons = (a0) => (_htons = wasmExports["htons"])(a0); + var _ntohs = (a0) => (_ntohs = wasmExports["ntohs"])(a0); + var setTempRet0 = (a0) => (setTempRet0 = wasmExports["T"])(a0); + var stackSave = () => (stackSave = wasmExports["U"])(); + var stackRestore = (a0) => (stackRestore = wasmExports["V"])(a0); + var stackAlloc = (a0) => (stackAlloc = wasmExports["W"])(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(); - return moduleArg.ready -} -); + return moduleArg.ready; + }; })(); -; -export default libarchive; \ No newline at end of file +export default libarchive; diff --git a/src/webworker/wasm-gen/libarchive.wasm b/src/webworker/wasm-gen/libarchive.wasm index 704bbb68c6a8c370761b02342654ebbc8f6c8d71..5413f7c9057b4e90d72ed00930239ebff43757d4 100644 GIT binary patch delta 5154 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 x)2qa3XdYSZ^fMoXU#K0pBkcU0{{`VkBMATi diff --git a/src/webworker/wasm-module.js b/src/webworker/wasm-module.js index 238ec20..4cf03d6 100644 --- a/src/webworker/wasm-module.js +++ b/src/webworker/wasm-module.js @@ -26,7 +26,7 @@ export class WasmModule { "number", "number", "string", - "string" + "string", ]), // void * get_entry(void * archive) // return archive entry pointer @@ -54,7 +54,9 @@ export class WasmModule { */ getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), // long archive_entry_mtime_nsec(struct archive_entry *); - getEntryLastModified: this.cwrap("_archive_entry_mtime_nsec", "number", ["number"]), + getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", [ + "number", + ]), // const char * archive_error_string(struct archive *); getError: this.cwrap("archive_error_string", "string", ["number"]), diff --git a/src/webworker/worker.js b/src/webworker/worker.js index 086fcb3..7d38138 100644 --- a/src/webworker/worker.js +++ b/src/webworker/worker.js @@ -5,19 +5,18 @@ import * as Comlink from "comlink/dist/esm/comlink.mjs"; let reader = null; class LibArchiveWorker { - constructor(readyCallback) { LibArchiveWorker.readyCallback = readyCallback; } open(file, cb) { - reader.open(file).then(() => cb()) + reader.open(file).then(() => cb()); } listFiles() { let arr = []; for (const entry of reader.entries(true)) { - arr.push(entry) + arr.push(entry); } return arr; } @@ -25,7 +24,7 @@ class LibArchiveWorker { extractFiles() { let arr = []; for (const entry of reader.entries(false)) { - arr.push(entry) + arr.push(entry); } return arr; } @@ -60,4 +59,4 @@ getWasmModule((wasmModule) => { LibArchiveWorker?.readyCallback(); }); -Comlink.expose(LibArchiveWorker); \ No newline at end of file +Comlink.expose(LibArchiveWorker); diff --git a/test/files/archives/README.md.gz b/test/files/archives/README.md.gz new file mode 100644 index 0000000000000000000000000000000000000000..7524f366cd5b5ba02cc9721aaa3b699ad88fe290 GIT binary patch literal 61 zcmb2|=HO_|@sDO<2y%6F@paY9O<`b^VR-ysS-~+SE3qgsFSSIWAg44vGfyEczevG5 QKP8jvuEk;@83qOh05O*md;kCd literal 0 HcmV?d00001 diff --git a/test/files/index.html b/test/files/index.html index 05da0dc..a097ecf 100644 --- a/test/files/index.html +++ b/test/files/index.html @@ -67,10 +67,10 @@ try { const file = e.currentTarget.files[0]; const archive = await Archive.open(file); - console.log( await archive.getFilesObject() ); + console.log(await archive.getFilesObject()); //console.log( await archive.getFilesArray() ); obj = await archive.extractFiles(); - console.log( await archive.getFilesObject() ); + console.log(await archive.getFilesObject()); //console.log( await archive.getFilesArray() ); obj = await fileChecksums(obj); } catch (err) { diff --git a/test/files/test-single.html b/test/files/test-single.html index 4dc38a0..75800a8 100644 --- a/test/files/test-single.html +++ b/test/files/test-single.html @@ -1,84 +1,84 @@ + + test webworker + - - test webworker - - - - - - + window.Archive = Archive; - \ No newline at end of file + document.getElementById("file").addEventListener("change", async (e) => { + let objAfter, objBefore, files; + try { + const file = e.currentTarget.files[0]; + const archive = await Archive.open(file); + const filesObj = await archive.getFilesObject(); + files = await Promise.all([ + filesObj[".gitignore"].extract(), + filesObj["README.md"].extract(), + filesObj["addon"]["addon.py"].extract(), + ]); + } catch (err) { + console.error(err); + } finally { + window.obj = await Promise.all( + files.map((fileObj) => getChecksum(fileObj)), + ); + finish(); + } + }); + + + diff --git a/test/main.test.js b/test/main.test.js index 7c246f2..d5c863a 100644 --- a/test/main.test.js +++ b/test/main.test.js @@ -31,7 +31,7 @@ describe("extract various compression types", () => { const checksums = await response(page); expect(checksums[0]).toEqual(checksum[".gitignore"]); expect(checksums[1]).toEqual(checksum["README.md"]); - expect(checksums[2]).toEqual(checksum['addon']['addon.py']); + expect(checksums[2]).toEqual(checksum["addon"]["addon.py"]); }, 16000); test("extract encrypted zip", async () => { diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..94dc917 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "moduleResolution": "node", + "removeComments": false, + "sourceMap": true, + "target": "es2018", + "outDir": "build/compiled", + "declaration": true, + "strict": true, + "module": "esnext", + "noEmitOnError": true, + "lib": ["es2017", "WebWorker"], + "esModuleInterop": false + }, + "include": ["src"] +} From c2023cc240bda54075cb55a8ba5bb757c8ae3388 Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Sun, 14 Jan 2024 18:44:10 +0400 Subject: [PATCH 07/13] Feature: create archives --- dist/build/compiled/formats.d.ts | 49 +++ dist/build/compiled/libarchive.d.ts | 36 +- dist/build/compiled/utils.d.ts | 3 + dist/libarchive.js | 166 +++++++--- dist/libarchive.wasm | Bin 719946 -> 1002367 bytes dist/worker-bundle.js | 169 ++++++++-- lib/build/libarchive.js | 2 +- lib/build/libarchive.wasm | Bin 719946 -> 1002367 bytes lib/build/main.o | Bin 2269 -> 3441 bytes lib/tools/lib.exports | 7 +- lib/wrapper/main.c | 137 ++++---- package.json | 2 + src/formats.ts | 50 +++ src/libarchive.ts | 132 ++++---- src/utils.ts | 43 +++ src/webworker/archive-reader.js | 46 ++- src/webworker/archive-writer.js | 83 +++++ src/webworker/wasm-gen/libarchive.js | 442 ++++++++++++++++++++++--- src/webworker/wasm-gen/libarchive.wasm | Bin 719946 -> 1002367 bytes src/webworker/wasm-module.js | 28 ++ src/webworker/worker.js | 7 + test/files/archives/README.md | 1 + test/files/archives/README.md.gz | Bin 61 -> 0 bytes test/files/index.html | 4 +- test/files/write-archive.html | 110 ++++++ test/main.test.js | 7 + 26 files changed, 1242 insertions(+), 282 deletions(-) create mode 100644 dist/build/compiled/formats.d.ts create mode 100644 dist/build/compiled/utils.d.ts create mode 100644 src/formats.ts create mode 100644 src/utils.ts create mode 100644 src/webworker/archive-writer.js create mode 100644 test/files/archives/README.md delete mode 100644 test/files/archives/README.md.gz create mode 100644 test/files/write-archive.html diff --git a/dist/build/compiled/formats.d.ts b/dist/build/compiled/formats.d.ts new file mode 100644 index 0000000..03cdaec --- /dev/null +++ b/dist/build/compiled/formats.d.ts @@ -0,0 +1,49 @@ +export declare enum ArchiveFormat { + SEVEN_ZIP = "7zip", + AR = "ar", + ARBSD = "arbsd", + ARGNU = "argnu", + ARSVR4 = "arsvr4", + BIN = "bin", + BSDTAR = "bsdtar", + CD9660 = "cd9660", + CPIO = "cpio", + GNUTAR = "gnutar", + ISO = "iso", + ISO9660 = "iso9660", + MTREE = "mtree", + MTREE_CLASSIC = "mtree-classic", + NEWC = "newc", + ODC = "odc", + OLDTAR = "oldtar", + PAX = "pax", + PAXR = "paxr", + POSIX = "posix", + PWB = "pwb", + RAW = "raw", + RPAX = "rpax", + SHAR = "shar", + SHARDUMP = "shardump", + USTAR = "ustar", + V7TAR = "v7tar", + V7 = "v7", + WARC = "warc", + XAR = "xar", + ZIP = "zip" +} +export declare enum ArchiveCompression { + B64ENCODE = "b64encode", + BZIP2 = "bzip2", + COMPRESS = "compress", + GRZIP = "grzip", + GZIP = "gzip", + LRZIP = "lrzip", + LZ4 = "lz4", + LZIP = "lzip", + LZMA = "lzma", + LZOP = "lzop", + UUENCODE = "uuencode", + XZ = "xz", + ZSTD = "zstd", + NONE = "none" +} diff --git a/dist/build/compiled/libarchive.d.ts b/dist/build/compiled/libarchive.d.ts index 4e6fd1c..711b8a3 100644 --- a/dist/build/compiled/libarchive.d.ts +++ b/dist/build/compiled/libarchive.d.ts @@ -1,6 +1,27 @@ -type ArchiveOptions = { +import { ArchiveCompression, ArchiveFormat } from "./formats.js"; +export { ArchiveCompression, ArchiveFormat } from "./formats.js"; +export type ArchiveOptions = { workerUrl: string | URL; }; +export type ArchiveEntry = { + size: number; + path: string; + type: string; + lastModified: number; + fileData: ArrayBuffer; + fileName: string; +}; +export type ArchiveEntryFile = { + file: ArchiveEntryFile; + pathname?: string; +}; +export type ArchiveWriteOptions = { + files: ArchiveEntryFile[]; + outputFileName: string; + compression: ArchiveCompression; + format: ArchiveFormat; + passphrase: string | null; +}; export declare class Archive { private static _options; /** @@ -13,25 +34,26 @@ export declare class Archive { private _processed; private _file; private _client; + static write({ files, outputFileName, compression, format, passphrase }: ArchiveWriteOptions): Promise; /** * Creates new archive instance from browser native File object * @param {File} file * @param {object} options * @returns {Archive} */ - static open(file: File, options?: ArchiveOptions | null): Promise; + static open(file: File, options?: ArchiveOptions | null): Promise; /** * Create new archive * @param {File} file * @param {Object} options */ constructor(file: File, options: ArchiveOptions); - getClient(): Promise; + private getClient; /** * Prepares file for reading * @returns {Promise} archive instance */ - open(): Promise; + open(): Promise; /** * Terminate worker to free up memory */ @@ -40,7 +62,7 @@ export declare class Archive { * detect if archive has encrypted data * @returns {boolean|null} null if could not be determined */ - hasEncryptedData(): Promise; + hasEncryptedData(): Promise; /** * set password to be used when reading archive */ @@ -62,8 +84,4 @@ export declare class Archive { * */ extractFiles(extractCallback?: Function | undefined): Promise; - _cloneContent(obj: any): any; - _objectToArray(obj: any, path?: string): any[]; - _getProp(obj: any, path: string): any[]; } -export {}; diff --git a/dist/build/compiled/utils.d.ts b/dist/build/compiled/utils.d.ts new file mode 100644 index 0000000..5f7a327 --- /dev/null +++ b/dist/build/compiled/utils.d.ts @@ -0,0 +1,3 @@ +export declare function cloneContent(obj: any): any; +export declare function objectToArray(obj: any, path?: string): any[]; +export declare function getObjectPropReference(obj: any, path: string): any[]; diff --git a/dist/libarchive.js b/dist/libarchive.js index a36f06f..af33cc0 100644 --- a/dist/libarchive.js +++ b/dist/libarchive.js @@ -22,8 +22,8 @@ class CompressedFile { return this._size; } /* - * Last modified nano seconds - */ + * Last modified nano seconds + */ get lastModified() { return this._lastModified; } @@ -373,6 +373,97 @@ function generateUUID() { .join("-"); } +function cloneContent(obj) { + if (obj instanceof File || obj instanceof CompressedFile || obj === null) + return obj; + const o = {}; + for (const prop of Object.keys(obj)) { + o[prop] = cloneContent(obj[prop]); + } + return o; +} +function objectToArray(obj, path = "") { + const files = []; + for (const key of Object.keys(obj)) { + if (obj[key] instanceof File || + obj[key] instanceof CompressedFile || + obj[key] === null) { + files.push({ + file: obj[key] || key, + path: path, + }); + } + else { + files.push(...objectToArray(obj[key], `${path}${key}/`)); + } + } + return files; +} +function getObjectPropReference(obj, path) { + const parts = path.split("/"); + if (parts[parts.length - 1] === "") + parts.pop(); + let cur = obj, prev = null; + for (const part of parts) { + cur[part] = cur[part] || {}; + prev = cur; + cur = cur[part]; + } + return [prev, parts[parts.length - 1]]; +} + +var ArchiveFormat; +(function (ArchiveFormat) { + ArchiveFormat["SEVEN_ZIP"] = "7zip"; + ArchiveFormat["AR"] = "ar"; + ArchiveFormat["ARBSD"] = "arbsd"; + ArchiveFormat["ARGNU"] = "argnu"; + ArchiveFormat["ARSVR4"] = "arsvr4"; + ArchiveFormat["BIN"] = "bin"; + ArchiveFormat["BSDTAR"] = "bsdtar"; + ArchiveFormat["CD9660"] = "cd9660"; + ArchiveFormat["CPIO"] = "cpio"; + ArchiveFormat["GNUTAR"] = "gnutar"; + ArchiveFormat["ISO"] = "iso"; + ArchiveFormat["ISO9660"] = "iso9660"; + ArchiveFormat["MTREE"] = "mtree"; + ArchiveFormat["MTREE_CLASSIC"] = "mtree-classic"; + ArchiveFormat["NEWC"] = "newc"; + ArchiveFormat["ODC"] = "odc"; + ArchiveFormat["OLDTAR"] = "oldtar"; + ArchiveFormat["PAX"] = "pax"; + ArchiveFormat["PAXR"] = "paxr"; + ArchiveFormat["POSIX"] = "posix"; + ArchiveFormat["PWB"] = "pwb"; + ArchiveFormat["RAW"] = "raw"; + ArchiveFormat["RPAX"] = "rpax"; + ArchiveFormat["SHAR"] = "shar"; + ArchiveFormat["SHARDUMP"] = "shardump"; + ArchiveFormat["USTAR"] = "ustar"; + ArchiveFormat["V7TAR"] = "v7tar"; + ArchiveFormat["V7"] = "v7"; + ArchiveFormat["WARC"] = "warc"; + ArchiveFormat["XAR"] = "xar"; + ArchiveFormat["ZIP"] = "zip"; +})(ArchiveFormat || (ArchiveFormat = {})); +var ArchiveCompression; +(function (ArchiveCompression) { + ArchiveCompression["B64ENCODE"] = "b64encode"; + ArchiveCompression["BZIP2"] = "bzip2"; + ArchiveCompression["COMPRESS"] = "compress"; + ArchiveCompression["GRZIP"] = "grzip"; + ArchiveCompression["GZIP"] = "gzip"; + ArchiveCompression["LRZIP"] = "lrzip"; + ArchiveCompression["LZ4"] = "lz4"; + ArchiveCompression["LZIP"] = "lzip"; + ArchiveCompression["LZMA"] = "lzma"; + ArchiveCompression["LZOP"] = "lzop"; + ArchiveCompression["UUENCODE"] = "uuencode"; + ArchiveCompression["XZ"] = "xz"; + ArchiveCompression["ZSTD"] = "zstd"; + ArchiveCompression["NONE"] = "none"; +})(ArchiveCompression || (ArchiveCompression = {})); + class Archive { /** * Initialize libarchivejs @@ -385,6 +476,23 @@ class Archive { }; return Archive._options; } + static async write({ files, outputFileName, compression, format, passphrase = null }) { + const _worker = new Worker(Archive._options.workerUrl, { + type: "module", + }); + const Client = wrap(_worker); + // @ts-ignore - Promise.WithResolvers + let { promise: clientReady, resolve } = Promise.withResolvers(); + const _client = await new Client(proxy(() => { + resolve(); + })); + await clientReady; + console.log(compression, format); + const archiveData = await _client.writeArchive(files, compression, format, passphrase); + return new File([archiveData], outputFileName, { + type: "application/octet-stream", + }); + } /** * Creates new archive instance from browser native File object * @param {File} file @@ -392,9 +500,7 @@ class Archive { * @returns {Archive} */ static open(file, options = null) { - options = options || - Archive._options || - Archive.init(); + options = options || Archive._options || Archive.init(); const arch = new Archive(file, options); return arch.open(); } @@ -479,17 +585,17 @@ class Archive { const client = await this.getClient(); const files = await client.listFiles(); files.forEach((entry) => { - const [target, prop] = this._getProp(this._content, entry.path); + const [target, prop] = getObjectPropReference(this._content, entry.path); if (entry.type === "FILE") { target[prop] = new CompressedFile(entry.fileName, entry.size, entry.path, entry.lastModified, this); } }); this._processed = 1; - return this._cloneContent(this._content); + return cloneContent(this._content); } getFilesArray() { return this.getFilesObject().then((obj) => { - return this._objectToArray(obj); + return objectToArray(obj); }); } async extractSingleFile(target) { @@ -517,7 +623,7 @@ class Archive { const client = await this.getClient(); const files = await client.extractFiles(); files.forEach((entry) => { - const [target, prop] = this._getProp(this._content, entry.path); + const [target, prop] = getObjectPropReference(this._content, entry.path); if (entry.type === "FILE") { target[prop] = new File([entry.fileData], entry.fileName, { type: "application/octet-stream", @@ -532,46 +638,8 @@ class Archive { }); this._processed = 2; (_a = this._worker) === null || _a === void 0 ? void 0 : _a.terminate(); - return this._cloneContent(this._content); - } - _cloneContent(obj) { - if (obj instanceof File || obj instanceof CompressedFile || obj === null) - return obj; - const o = {}; - for (const prop of Object.keys(obj)) { - o[prop] = this._cloneContent(obj[prop]); - } - return o; - } - _objectToArray(obj, path = "") { - const files = []; - for (const key of Object.keys(obj)) { - if (obj[key] instanceof File || - obj[key] instanceof CompressedFile || - obj[key] === null) { - files.push({ - file: obj[key] || key, - path: path, - }); - } - else { - files.push(...this._objectToArray(obj[key], `${path}${key}/`)); - } - } - return files; - } - _getProp(obj, path) { - const parts = path.split("/"); - if (parts[parts.length - 1] === "") - parts.pop(); - let cur = obj, prev = null; - for (const part of parts) { - cur[part] = cur[part] || {}; - prev = cur; - cur = cur[part]; - } - return [prev, parts[parts.length - 1]]; + return cloneContent(this._content); } } -export { Archive }; +export { Archive, ArchiveCompression, ArchiveFormat }; diff --git a/dist/libarchive.wasm b/dist/libarchive.wasm index 5413f7c9057b4e90d72ed00930239ebff43757d4..9b9e93bbdd2ca834bdd3fc91b6409d87bf49ea4a 100644 GIT binary patch delta 402386 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 delta 126589 zcmcG%349bq(?34lJ+r&X?j{q+eURBr0tqC5$RWs)i6V!9fOy|{C!hk#qtB}>hbW+2 z4$zz$6~zk#ql8OtP!SaseNcf174JvI#|!WOw|ZtbA@KOTKR@qZ%+5?tcXf4jb#+yB zbEJ1`j5pf_a*KOb*Eh}V&jmB$6{>U z<&1u`hHTp9ns&M0EfPaAkBvhHDuD~YtE<4(eZ)29CC31Zo&sKBD(#EiPEWWC#Z$fK zV54We=71Z!Tp{Q|RM?^3alrKU7`t8760dEX#_wTS>B|y(tNldr2vgqDPvTrn>B)Vi@G1He*dNk zvDbLR2pG*-ka4E505`bC4MzX@bc6el8uIZV(>V{PbL7hhM8nWEuK8jj9OiyqXUSZI zP%uR^bY1WeODWI+BS+Vob7X5l{mFdI{0uKO!{7{1H5SyF!Fj5|{62w74E*Xs__)wD zU%&|PpvLu}E_|A1_>=sG&zI`c3~u-s6Ud?qgT;J>TmYn=qBjTAaGs_y9}v^C_ybx9wQ(+zvw#7>qC~Qm#v=^i16s2v*FgXs2yozN z02&CxnLoD~7k)q2V+IqdUfs};D~*F-&6zM#&=8)@P`Rf2eCfJRpsBd^E6&yporSq5 z0yt5OmLzM)>}Sl+1xoldz(g&0tLaQ|1JoAWhiCU+;s%c~G*vTFK~O!9XJ!DkbS+h< zRs&O19!^f?=wVY6sRlA4Gmr$Gs1(SErlz7UKmHl?gMUfr0g=Q~M2cS*APDn^lJq29 z%feq$RyOq`{U<3v89`jMpnqI0yA{~qrai>j-?dK-BrY{rm9~Mi)3gmbJ6$`fv)c- zvOd}zo%PjTF<3us6Zo&c_PoK))CRBt+7p5e)OHItNPE~|XKC4Nuy#3>J#)g`M2WV;&btl_)vTx-WTtR zcf>yN5An8mL%b?p7Q4ht;zjX-*eQ01?J==UY!zF?X0b_Z6wiwdV!c==)`~TvUaS_M z7#|xS8HbGzjSr0XjYGyijf2K}#=FKl#y;bKvETTI@wTzYc+Gg#c-h!xyk+b)-h?Q4 z-PmosWV~p+VC*z@7~73)##WiZ#@)tU#$@BlJB>-kL}LPKA8-7j|E~Y0|Elj{ zzvw^fvqWr}_(`88e$;=^zt_Lhzt#V(f1@AKzt+FfztsPwf1!V_f2Mz`f1-b^f24n? zAJ#w6-`5Z6|I`oa2lV~=d-}WjJNi3ppZ*X1ZT&6W?bYAZ-_T#z_vo+buj;SpyY-j# zUHVJX5q+t?P=7$5 zug}vReYQSRe@K5=uhl=}tM%vfPx-TYo&JozN?)lzt*_8O;>-0X^~dyO`lEpJpnku; zL|?2g(iiAbpR3=e&(aHL=)I=v+0*ocd=s0j->cuFPt~XBck6fQlk^MT<8SkVKg2=) zlX#Dh*MAqkiC@Jp;%9MG{3w19-;3|WdiM8k#1Zke_)2^!J`mAulP zvLVgs7%uaFw?56rpL13CN%1SL%~HCGr5n?nK`B}Oqj-luXQi3v+?_Ha|6T>iGS1K| zZQNVDGuQ0#8`9{{xgs^QJ14NHt54Wx1DLH*1|+GQ)S&m)1%PB10A-|_uSgw`z~qU!*RL0GsNl4ydY}rCSV8Ef!{kn}^?Rz2g;Y1k0j|Q-hXf|G@_8mAKwI%3i!7 ztvbSZjG7B*QDK81witVJR2$VBEg~x1kT$xQ>O(#d31mVQlvhVyadXtKG7?GjW_3O0 zpkesKdz;lnH9KZ$d8juS3~82D%0J~6GwonX;=$r(S+E|$H)d{N4lBQh6*<$(OX^x+ zl6Cep8{|AwK8d~QJdjl?2$x-1-C7XNQ8dJH>iG(D%4z$8!UrJ4bIVNq+#sRJ5`9ru_}a- ztpt2c@vww|-&x#MNdsOo*%k0SUJisKGFw_B0smOZLnmyY@3;nziN+fThV+Ct@U!^M zQITjKZ?(S&EkTV@OezDzs$F2v<3&ojIJ73sXidhal9ESjh>^r%h`hz~%LJs<}l zga`;_)2RsBk3!rMUgdZR@KZcQ5->J4e!TmMVm$>!^D|k)fkbuu4M+DNtgU%W?>_I4_Bm6$>sIgjt9R|(X+r1PAAF=YLCHxOYyavWW!HWcPw;sO zAIB5^V53N>sXgd(zU-8jDC%ok)Mqy->Vuk@DB81gLs7kHQN3wVy>Zc*jfxsgiyBRf z8jXt{YE)EfT2yOVl=R{R!Y6eZb{fb?WEvBN&NUYFjlce{$qgBu7rPYn`#*rAx=VLn z?UMC>2F>?>3e8W@`u^pXHleRGuxqK};#<2Gs_Vk8xjl{r&MGuvX=6^@DR_yI*Z8IL zP1jrnDW#ixZR1`0cI%epLAEq!#GDdmWw(&Zxyj41zgw|0qgOraPOlOO&etK-eF(J4;f$OynFS*{k8uU$8Y&8S2H92VxIi?TplrXuo_ACI)G$^Y5b@ z9XC7a22IpmP?#K_oxqWVoA>X;J2JKoY1Obao<=fFG-Jqk!E*^zKD*ti=(~n`p<7b{ zAY%a)Rs(dSA}@}OPP#(lf0l51oLs8#)8qK*as2c+e!ANQs;M4+O1UKbU;`PpRSg~l zdT<3;Voa3gG9BpYarB_h02g55qUWk=hAK$YQYPJ^jWp|02P{~R4luKvpHI$p-aV~^ zRR1Hy@&GVIk{F6=0P!@!AL{ykU7)w_pPTf*0&}9jX9t6J(VuS{aTv&;2FZ> zCX1t;HwB%do^4ou-B~?*G3U|2?OWX9Hb9NZ!;`ta_6W1*tfLW$|MQ$t12Qf9_;h!? zmxBR?+1r^nppfrm&iH8=&W-&~Z<&n>N%62q&jx~Mkogfv7d!;Fe2k9+t(n=)vArtXU@pp9a&-Bzb`q7w@Fpx zAs-C}?l(L*Ex>|s;3(A1LMSZEt~?9Eg7p7!!_E_XVQ1|dc5%istd0adQ`hp5aYPnf zzjHbiPNe7~YvUAT!7)4{xb&aBD&h?BUKXDV4 zwJ`Qk!t$&DvTU65&)d$Iai_)kS*+0Me17{1>T@&O;z4Llnkg`s<7(&i$%|@wj2fa0 zD_g^O4d&J@xFVmiOlS4*zWDtEzZrFXuUx|n`8YS*ImXo;GUr3n#<&Pp4UZ%fl@;$N zJJHLBXMU+OfE*r4q0vnpYp<#>+tl5B%_q!1^D9)0;WYfZ8t1cHi#uCjHR5bC$Qh;% zQW6NzrPmZG}3o$LlsAC*VB zodd6nLWD%C`2!3{uo_T+qYG1sn=OJnEduS?ZV&H;y_kdsF{J7MEx6RV@a{$JP9{<2 zgI~ZBGzDwsKns1MOd7+Ek%I^H=CEiWp_zG~Q#_@J|BE^OrVMA-Im@TCfb((pl)ii` zcQU7*i-(a@yZUd73Njj;SyQr|ol`qBLmeU15o)NzNuHLUcORLXL_BafaVF}g`6MvP z9O&57+C_?7iUDVz!Z~OrC`Y!7d4Am^cRtJO-kFxq@^kSD_$_BHyF!4Vq0lPN$O}H} zJT>>)mTPFjg4Tg_Dh#5%Nb?mYDwP7SE2TJH=UvCwFz4ZU2O$q9N{8L%WXiIj#2Y-9BaX8PUR)Tz)N#4smMH?utDeRHm^2|iBU;< zIJ+v^Ih~y%acD)FbFtGuhHG^@MvWrpV~4o@h<8te&6Q-p*!|yzul{%-~pPzA| z9k|)zqoLdcgGnHd`5=cL_}KYnsmob}5w{4`XqlFC==||XX_|R}Ayd#v`FL^b4NS=i zqIpaE3(ejJqx5xV-^a{6Oq@w}3-vgcnGt7AZOa?!-DjE^ar>)#ng(ZFBGta_rY3cRec33cK%tPjalVrefOMV z8YtYI@s+$VF-S0#bZ`c)>4lur*W|J>&f{x}b;UuiugNvOdqo2;9l?vwoSe0#nV8Q( z4h$m_VB>Ymw9Bi_T<5&CZTy?&L5G11ox1iCzUGkg>Dp*^PA+5u%x_hKSE?e&lj}s+ z4S=$8#XWIxNgKLD-Qt|>hX!=Lp1IK z_ODvC9Wr}FiftCbQA+NBdrJO!tr_1vhgH%JvOVRKO?go2A zpFFtrp%|3%zUEBOJEGI-herZ?Z)3pzhSJXB=L;(a^$sT;gS}~g`Urd>MAr89$1iB; zWYY9Q5Xz>raZ_IJVx*`n7P92nPb}j|u#m+bfqJQhjnHF#B56wU*}tzK`+*c?qJYzH zV;=vo!ntN+8ARQzjhU?mCFUHLiaxgzmz;!$&#tTigT1n`c$lhwaH4vwNoZdEG)D*Q zsl3{@h#cQBa{^fYm5%Bha?Tp)$Su*E%P%8+O z)&NQ&Xj$oiqh1jiT^iBE;?f8XN$2%#d8~(%vAGDpT{jQu)gxM1rJV!j;Z`Bo@~R+O z@ex`9WtOSKL+d!6EOd0OOL#1hcw$TTc`nx>7NE2 znTJ@Ts&L-i(w9{@`CIe)41?YUybfz-1*g`a6GHTZ6#~^AO}kld+ReJ#%`>+ZR}2Gh zH|c6U(bX^(hezPbSIibLr#Y`}%_&7^E4>k#i_1lN)6Ul2&NjCdXEf<(-BumlZ(HQ} zj@I4YZ0Kkm9X)efX-1Py)>S7vySG{B*DtqG@1||H`4?-PVcT1`8Po(h!);vyROqhu zaB^B27-RmYK&#!3GLm@BAnn}@B=N4_vB6)r z1==Apl zQJ>;ZjO?F6s<9JypYGrLj@!UjcApY^=QU)eJYI!B8w*d}v_nA5D(uPkVFotrHUA~o zewFLlN8|X=6qj!`_kdOqh$Vz<7;GP}DO%V?taR>rsZ}gwQikodUTNJ5*)KvyhwSYb zq_2={50#0&R;ZMpZqDE?pOl)6?duYyZ#S)%S7PtX(zca5@&XDIGciU7^8zt+xE|fgy#Bj`|uW``l!H;$(5+WWCzC{k2ROfzE4Z3)Jj<_Sy~Vdf}d1 z)b$PT+W+;vX^%523zkg^9QElzx^>#UQIfu5t4lp%Jdf%8#B_Dm+a`0SzZopszLY2i zzN60RXl2JcCj@KEu;YjAAWJp=-p099aGd5H>??YW=27t`{e_HHMdFAaOAf)sEem0ED&sL@d2 zMiM+jBg}{1UVIoJ7603qbxwlk50M7C{l;XD3_z3cKq5>J!+z;M(9^ndo+(UKMKY&49 z?K@K$WF@)8!P5y@+3me^60&mMd;MB3{fCm9mL5qa=kf4Jm{d8#{%12V4@8muVKWc7 zleE86LR;>=zg_PiVNYRLV&bTD*IBuhORgaue)c)AbF^brvXDEyS_&D`^+N6}z2rcP zXh%G#S++qX3#pkJ%_ETJUgxL%?TXJQn845?A+-YRy&FouVlCv$p?ouiGw?v05-7Y) zD_1&3!z>)a_+D}#+Cn8aOuivCw*y*pg4WMDa3HUEf@(^Y~DC0v{J|~<_|IBN!dm5?K&e#9E88`Wj| z^OLe2^TUXL&KKPFn=PDEJ}fSSUWz6ns0WRuR$&y?EQjewTm_M~n}GvJz~(xWKkVAa zD~UxMGWT=rneQkChKwr2Qn%Aw2V*v)O(_sNgC|sIz#Zm`S9EZqTM=ZiDA!OE z0ulf%x#@cah$_r=(mu)umD_$)(lR%i&t_Rk{$)sS_1JDQSOWVs!`N)Q1HD)0Rcz&1qDG* zO-zGTANOyBmKU+*Rn}d1%Km4v+xTiGcbv&CyzpTJRjf=h^GHL*KdkWJ2d=gtah=ax z&7vVF5Lm^BSh7FW?2k2@imX8qo1%~~lGST=+-rH;0M;)+nYSae+%fs z0rVRP??ud_up8wrgjoz{rRy%_COmv-qUYhmP#}wgyB2j@72R z>fRML3|7+OD|NZfH`jL(wOe(ktomeiz0AAL^{y{_S61V`@8VrYde?_*dc|tr)z!i< ze2wVLF~m9E^8LTv7g&1pmb8CX31fh7e98awL`tSt=mR%p46u*GdBe-puzJ2Lk&>C@ zl|w74NAyyycxpuVJhVz-1wkrjNk7!^W*d}3s=bI#E6)F&z6lS6oubJi?zLSLSt z!+FFSmMB^{Q@_kpZX$X4)!^uRze-};;3^8(i&d}23nUER*F+VGrw40kx5I`dNM z8T45>iGpTkPF?ah@A1qjy{w>_RdsCyyc<*R*5$R;<=Q!lEa>MZ(kHAB zlIwbj*{cx^l;WC`6MyRA|HmtCOLqQrgMa-$-1}31zQA9<%R}ksRhE}W)dD3q2~>tt z4F5uB=0$~>?~M56XR-NR?p*)t61vtU{T37~e{Kf5fIlVX-oy_3=Sc-lUc{Kia^&rd zwdtITMKncq*ahxzBaz~gUDX9~0GcD1P&F(L;s9fX86L$bTM*5$)Qlm!pUp1HwJ{ec z%}lMUkVk=>^r33AOs+bcEi2so3U>$4C|X1HWR@Nr3a6{Rc}1G69n0Egq<{-Zm2g9J zV(`1ts}IMrU*smv?qmu(Mcc{euB^J_E3ylh~_xd?}f6Jl5|HvU3>9 zN5ky#PJ4bwkmz8GS4~Cm?jE?Q&qs6j%)m0*FxI}n$E6b z{I$0A9W&XDbR!?hViWm{yNIY6vS&6cZYZ?Hqu_*WR^E_0v)FCb?re4k=kx02nR%=? z|9Q2%FORL_o2S`S~>71jSwD|RghojxpMZO|#Ht=S%2 z4z*@)xR-qSS{wEff9)Q*uv~TD=jH4&##i1g&uq&i-^}IVw(M^%O;ezuf~NJ?w!`+B zy74of7jnd{tRLUUW&N$}5Ay(=__H~@@sLUN$t+oR3-UcB4KYzKyP;W02_d~rCD^s= zee&QSmJ_S3bK{oAj2YvuO=p9(;}d~bx*_JuEo~(wCWiGc{D2*w7aDRE$tJaB6A>$Rg zKnQ^dlucoYT;1&e(4@5pMC$;%M1k&J!2zl^ema5arnPr3CjkQ4W>^52&myoFSfGBv zFgBQ3bq16ys*2X;5EzGjJGi3+@Wsk+dHvE0*<4=V<1#Eo@?EU{%*)wub@TKU*t{8< z%yX@l`&(GLjdujzkaS}R#2La zHkWhx!_{o6|GDWZWBpy%u$e5wai8oF!AJzE#3R{e7~u@8;d zEI$i*k=e<}1AQ?fV0D(7QMeJYYsDkPrm=r1n>t4knjd8G(|bqsI8QnaDpokxWZxC z7+2acW07-SHBV)2K$U!S$D$g?au7v>*w<2&A2k6S5O7Tb9|-TaOJmjMvubY=I?_V$ zQK`)+!ikydIU1>U5mBm1gBVnS#o;H{(lKRJ)P#0yiQ;&PVpqNF2=r056iY0s9=unN zF$KDmm*ZIxlNRQPX7E@Ottik@?J&T`?n;4iok%AcQVm{0yGaCc751VNdkgyUd)^hQ zF+0xsYNWu&mF(^)4BPp+_O=b&N>-)^cJT!<$Eui{VDKFI%~qD~46Mya;*er$SaeF&ApM=`3@;evYyGCssNuPd(x?VE9LS3g%@1U+*r*~7=Kc;u~3j`NJ z<#xKyC}}~ew`OUy9l?%40SN}-FcL8HT}3}*2P?^b9)vHppXUe?q6US?ul9#c*6=52^}Zu$OQ-Vm9kpQUv6KW601;w?9Sp zhX?@8#87!u0+x1K%hzT@n=g`u_pxjrVQCi09`~{G)FW!I3`NSq&+`?Nx578n;t00i zf^RjKKcQhj$Q!}l6vsDbO`2SdaO1oPm;h}BNxgl8$q@~F6wD35zF9z3#uMkPH=TxQSOq*s?~nmH_ZmWs~; zpFmiFgaNwH6bikqQD9;*J(2e&Mv()|e9n~!R+ALSzq{n@#q6{^1jZg4q^#yWRBn!; zFy*356)GEShkmoaqc}$*q7QE{Cx!IxpC!L0AesrHC| zB*1ReCy92N0?<#cpBs)ZL|s(d<9~(G7gd@87*R)wTsiZ8mJ2)fiThcl|K+uupwxeJ zKf9h`Y+Y2#4v3s6mB_YZ5#{cOj6p#(c(#y3ma>kly}WBFi~1M6=Qi`{r7Tm_e!=C7 zOIex!?LQ!t(BPv>*+oU|Bgr&BeY%+RkYqF;fZ*E!6>{u&@v)DvGZLk?J;I`_m;Cq< zb_2_n=RC?5-m%7Cq2@0U^5os`P6tQa`?7y7P zLL925?+7O8n%jMEK&0oqzwep zB(>=o*ZLpVvXfb_YK#(IX`8@W=>;H6Z>o%HK>6x-iQHU$!9jQmbuhF(DsP_18}Dd7~I3`l0R)^ zeOrI5L?ac))bt{>P1gc5$cj+n?@1nvpo{dFtl7lMI%9St!^*TZ=-NR%5oFTFtWmTd z+X_IHAsD0s1m9*9cl`yNET{gB7dOWZ#A70&+WyyOUO)P8d?X8$SXwnTLN2?F_m8dT z%pkMk2zJBxAgbZ(B8*|deTs&WE((O)ZMS&U8F9jxrYZcy{fFu)s=?A=gfN$e-mQf= z7LZh68YY#TWriD(ii<_2v4U(qLyN++8hwZoWXJ#EX9wZ>gzsM1E7zt;-|hSy zfsGRK(%X4QapbL3IrnxxE1MLz9Hq4dL3QXibU!XwN?Kzs%yF$jIjsLFgO{>ma38dpD-h~|s;nF*c_bsWUS=F=;VL4~9z|8IGViT1vMydA;=wd7H;yt{1 zyZ+m|_=7A!udwu;Cl^oQR+yd;^pXcD)Q+Pmw zZ@N*fb4dgJVjAzL+VK=UwYrB7R8Q;a>Gpg0RqQ(X{w&^Het!>7O`ndQZw%pO%9VXD z@58Q@SKP~+tD+N$n77}{`?e!AXW$9Z0pM90luD8c^b8bUd}6%`;;IiC6&|)=-2anrmWblg}W@-Z}xZOE!{VM5p6<7d@Lc>~M1C>{V*L zGRcvj61UTP&4w|Jm!yGXsXEEE;sGp`JvHr zDW-R2fF^^Q0TXMhx~eZ3Mm6Y+`b@+&C7DB`u;b{Y4^p2g6v{uQe~er-*sInAB1Rh| zSwO7_DOe;>g`H-bK#JpBiacC_ZfbAUs!`EEUeq+Fv1nM?H?dLQF9+MIp zVb2Fct|Jje&JNI&o}Z^@Y+JHu@`Zxx>(UquCI?Q$6_rp`;Nu`thG2EmGBqJgGz7;| z5xK(QnIY&|WZt+bdmMBpmBW^PDhJ&Q$}(7n?g&OQEv0*4h^15p1h*rO46mE^0N5h2 zV+Q?xO!Fcf)8`)AOiGqc73-q33T}sDBceDE2Wd9on(igt4n=iD1oB7{8b)EJU|UR$ z7ED3(bEq0C?Sv)fL-G=FOntf)?1zaS-RQ@^Ai|JqqO^vI8B^_jWNPvRoxtWv*xPTb zQz+nZjVbt;u5b-h+nnY=+P#8V8NjISD76-tD-^)LnBM#~v^)wIF40G)UN@gs+cU_8 zOJ&sbhf)-Pui!Fs1vEj@o>ZA6dc>AU9HE8D7euE>MmX4LizGHZLBLRJU@tdRp};=P zfE3_jTa#DJy9?0_tXhY+u)b6|P>a*Vt{R0&nHuH2Ktop$+Zr*d+&_k@M*mUkfk91_ z@_9|?4Nb41sU5Vy_@@@D5-u3G2?PZWQR)~sLlQNS0D>J(h<3OSHPchi+o3@6m#Vm z9OVXEX~EiB^Jfv;1Wx7ad7U+VGQR=G=}Fb9VXT> z?L>>TFN&hf&D z#lm>m<47eMkxI@8^PEK4T^DSS*a!n^>fbmrX1dQrYs9M)f8Z z3*%)Ii;|S!HJ-^WzGdL#4Q1gaHUT&I%y&G7ypnrKaEJa?%12~Tjl8$*5VZf)s zu!Y8L&k_oYB?0&-mo(?C^VDud7fqNL$QGeVMPV*KXpY(9EiQfO{FK;MuW2~u2rc84 z^v|wUxB)JvL;DK|oO#qdHx-Re_EO>BjzB8X3wsu)Aca}XJs7NU4&`W|2?KIUPe9!0 zLX4@SkvOfhT(8c5i`HoRKe^K+|d}j6*nbkAdOh zM^id8XF{`QUOPZoR2oCA$}vcj44k&dmB(&!sJ5xtMoC_MqQyQa^`z{=bA-Mjr>;O0 zBZ(i~c1ZG);0<2s$!x64F}qY;ty-I#dUmOG*psjexPW5l|pG2rTzME zq~!&pc-BWlIv-QYq?9J5HfxlqipkE4*nrj_GOWA9u7PYfaj$F~sFrr^eSQ_wv5(>0 zQ?R>cRiarOUG#XC~!%G3Bnq;@==w+`RUJ>MuW8&^N# zbl!onyXqh4jrfJ^yWnX+J&+CH8FQSwC!VrR>ch)fTSSqO)6c4j3W&dBck;pALKX=5 znm&GkoZeY-Uq4=!O#4rX;o&O}_UEH{#=q}Y9$?ZCX(#d4cFHkz-vB<6mChT;i}=@E zmJH;*5#Crc5HR;J`S3t~5+2_g$Xhk1xP0oIQcY=;RoIyQ?rr>V?>ane#2b1C7lQJ$OXs`M`D=>M3bu6q-FXzlp=}hmJ;ff zVI>8t_@pXrC_%vMIHE#{U^14K$DMj9$NqUa0HT*x4(6@-y+ZCE%!d%M+YRBJK4m&i`LwPUX2WSFv9vaG9 z`L^^__bF%d;l2r(G|J@Iv-#ZOY}%4H7)x6ry6KBmD>zkRHpZqIjd1rW+YRGo@Vs9z zj2HQzBNG&*Ck=xLo-Q{a4J|t~jCV?&xQ>iAgd$|g!gKgdxzA2_65LZ>6bT03Px<;JK3;e&- zx@oh{<(WZu733)edDXdKnCbGHb9puLUVI+E(m#E>OR}Bk@w?EBf#>tN(?50GMmLgK?mwRoP4U*P?BVbNG!M#x3wgP`?gC!xU*Q2xy^ucv z!0RsL(NiB}Rwk^3L*1+G%{Y32Ss8fR{Vrx(lb+J?wB{(D%JD?pMdR74KxSRUx3OCJ z-bH*~b1zN3f8-vQQg>d=WB&L<@+G`HV}|gK0pO|$M+Bn(g*@{T{Ir%GWDdTsrv%lUGa^}>USti+)jR6HUJy_KDY^Nam;>(om* ze>k67RLfKZ!SCcxvy$4eBfzAlFO7DP@5M~&u=>-l*OIvK+D)6mvt-w+mAHys z&EJaBvKLnFvaxuedVg?3-@p2#Tj$to_{VwqSj7gLM3-URi@-5FSj(`u12yJv*YbzL zU<989M~@$&_xZBrb$s`qmI+_aZ=f=;oe6FTWu{!u$C$6WY>;p7-|rGWSj~s0W~&V< zph?8C%;`ejUd^i`(LRYAt%FHKS5r~oL*jjs;L=~iuLeVotl@nyw*4+s=h)x7 z<47?T=0Z zDcAueM-2OrA5RuXho1x~jcaw{wz4L1dk72|&w;p>#64EW68D=M-5*NagH)ybP{=$2 z*5y_9cslb5%D{Gso*_1CK_Z@5;7%7^Pc-3`Qe-iL6wl|_o8395zRwL9l&RY%(IOFy z2z0BxeUjXNBhTfy9=(y5^Bt39%bR#RzH^d1?s6S&s$xU)g6}ifTtIcPn^|t^%lEQ% z(sv8y^BZN^ExaPWm?|&1g%5;yfASWn0guR6Z{g?R(sC^C&L0=@sVx!`niI0mOGs|xW-K;jQ=V3_erI_67WIS3ynAdRr{ERof@4U`%C z$a-~pHP+;!8VsSsFnm76-@n$RnW^;BJ(n+d5|j$~AaS0P%;z}v<%;`%iIGJXe3Uh; zG3w|UFcmZmaF@X=QM+;&!?I9P5Brdylz{J%j<`WW6;=$^CgUrAYDN_CCzvS!N5PiZ z7=@K0S^{*}76(OrdC>~BeukyVYIG!ndk=#U$+&a(SD+}Z>*-jUB1Qg!q2iJjn?FgR zFn-jCVA>6A1Q?0DD-_kg`Hy6|cc{3j#gTVZ9#@xJz?nZrYGs6&jMT{CXN#xvODymw z=2KRo!B~Y{uphY3UqeA8AW+3H(F=>8puUDOJ#fg8>~{yx6W@XG*WSSkSe2Z72k#V<+`NR7Bntel%B zBO}BcmAWw>o<7Moo^Il@x1&-F+2(RiTV*C zM~xOa@}!$YAH2HlCULbY`ufOY~TQ(eO;3MrQ9` zt88+2Ek=yOiZHBj$~M@hBOWm;Ato)VE~a`!x6xU~h>u1F?9Gpn49PRssimqsdpAxC zN7sUSSm`9)6Fg0y0EpLq3|LOkJ+M%36j-d$5m=g02r8yNz`|%!VWw~_qfLjhQ3bC1 zvZ3?Jk++NTumJ@E5z!HWKc9T`c5!lF%zBY5{1xCYAAi~S!)zC!LxW22*AjoN@K=hz z2>zn@E5cuE{I$Se8yE`klN8Iy9pV!N$Rv%!hbP*CyRl&Yortugn@@4mif#_$rigA1 z;ii;s_T#3F{C7+gvDPwkyeR62i516OAUTI_p2ZEO&{Dn#i=$RrTfJ;7(wi+G9 zsSx?t0p`IxI9YU(*G{A!v6@FTD;&X&GxSL9L{ZQrsl}wfo|GeRnIt;O2PTPR`e|0s z!WN;EJyKwM90+hs?ROqmRqY9ra?<$!vhe>y&i2Q_v_kM%q~ZW6Jz`qPuu!st_Jf7y zMs7buzcOvI7=ptShVc{nt~(*kDDmGW)#=#QyGiZWTjxf|W?%>_cR9B*W4$ z98(Y$?US?Th_-*yie`Vg6;*RZ9tgKdV!rv?T+#ebD#4kWM8Us6s_?vqN~-4lX(i@g zu4G@MO2XJP_$Mt%{mYd+EaNRH{}cEre-VBMSuN4-?1_#G6#j!3 zh}M4sUu}o@OFjKt0)Cckzwl2x0q&2#)Cd~qA1oAInvC<7i^N%f(xksivJUe5MXF2k z7Kd(wnSQ_M@+Ymvv3q}s#vSC#_lx`_CEf5PmO^<1k7>uu3^q=ck_8Wl7KQ&&xWabP zBF*INyRm`SCvSK_WS0KPgnpce?H~_60RNm%{_%iljZ5oV(fd!@s=}520@HSoU)PHK zOx0FK3+}f^npqiSNo1gfkq1TTc?O+bhcF}3e4yPFV}BPp3j%aRR3RKz$g4J|Mh!P; z$W{K*t>*DkK9qv?f^ZCb#x6$ga0FBo%i0G;4mNs;QPDIN!$g3iriDll{7`2HC@a-M zY7W`PRFyjF)Jh{;pB9I7IK2TrU=;%+d~qU*JHV+f)wIr*JLZ#{*}Btqc9ES0@DbhV?iG%vjZYQT=agC zbWzDGtssh7>Vz%Qp^+&i{zz2AUz(K;w+ApaOa z`iml35)l9YmuRI|80_by96qU_DU<5jQjf4bTzK1UE#SYp{zdl7$9gt;}r_wIrHp zWkN0iI<*KKsMa^$reYhrMdRg?8r6Hkm1DCu$D=uC0|25lv)4MW0+$C*V?ty zeIp{-^6=vj0yHYg0M8<0CIpW+qn*ebdPGaz!K}H1xfLj@#%c*}h`%E(;n9qw+b5~g zVH7JRs@uPQE2w9pMc8ZvsMuSlY+u@rVHaUV7Bq$Zj%h*}sS#|&5UDVoT11FQ*y#(Z zQSoC9+ZHD_Y|$&AFpTBPSBg$2T}MEy>(G(ph(Il#9)M6S23NE;7TuR;wXTk|CZ9dC zqw>;4BI{4)O2lpwD*w-_e21>L_K#d|!N|9+k7Glu5LM0aSuF??a&9xLz!kXZuE4cg z%ao@?#h;+`m#6OzxA%|0aSxQL8&Jac!(2s)h*LOF6RJ*H8PHEl(1FBf>!hxY{`;`MgZN5UL$lIpAp&TqResK7Cxriu({VJe;cCjJ?KQLM$jWopc5AYc47H3ypY@oXf(&B zPkAbr5V?oQYxb{aM0+UQ1$CmNz=vgeJqUjhd4)2qoHN3RUxm*z2IpLkysQp_HYX2L zJF?}|$j>724Us!23|AulVakE3Ng8iL?7Bj>vDj5wRV%v#c_xpQwvnQsl@BW84ar@B z#zWwSaq21lps`^#mBzEeDufo>KXL;pvj{Qq=%Hyyo zK{?brxT1eTWEQuN<|}o)y@q609~WoR^yZ!aK=5y(@PSRnw6jRxEqsXHcX667>pq+-`4gp}O!oXAUubwbNDpoKx$DHB2-c}`sEA7w${ zS)=5It3?HDk3VpX1!fF1LIp%qXm?aeJXZ^_e?=8ES0KGYOC>l&VI{{@Qi_|z8zqI^ zB+)1-o#E@VlNu$d^Lu@Ea-$@} zg%wOBwZ#{^+_X?4twJNK2#AFnC2^G`>*_^kh{@0E#fZzBFgu-x{C~>qa`hUq3zbb+ zE3z>b7p@hjKx2X`PC{L6u^@d*hioVAP&{YIf3Fo6z|F4sV8}Yr6Xj>E6Zpne-{U#k z%7IA|ck^yvCx#(&&U(=!b?ZiE`#i^_xrWzYypT55wva)w$hYi7@yt=`V^*RQ@>T*X7lnx$b#;n>jN4{}hYKD^{w zusiM2^E2Q8-PJo=;!f;gbhqGbroC@(SL#I>JJhF*!ZzNyJ0o|}s}x%wG=TQ%{R2;! z9I%Zpkzt*izI&Z96!E74We(m2s-O-|ki91m=j;yG}lC>n+%m@;lj`ED+APSYb6_6^g_U=|T7+vfwT_A`_z)iQ3Ud#ay(EGQXUI{K zpIJ&-cTngw0sul54i$%YWn$d`vD?^V2q!}#_g=)!Jk??QJxs4Agx zQmURG0VLUHK5rYKw@-8IL%CxFpyQd1h%G90FcF=`@r#7V)onc)2Ld9rK?UnDn|@*DXU zCQmBkC)4$sG9F9X0`?<@sFX)q^P>8+*8Eb&YUE9A5Is{nQLbpiJJIzc@0wrkKA&CA zPw!Ftj8ToxAt7MLnlc$9$rx)NO~uz^A5zJb682K=OQd9YDHG-1a^8(Vd6En9IuKw-53aV&!ICE`5lX$;-Cu_b1hEhLef}hFp6t>xXb? zaUL5}|H)F$(%CTi*&2i*4U@sOyqN8hSzMfSeF=S<2l7LO@CeMb6mBKRnx(CtP`@F& zl=sBI0i$Z*sx5Ok$pb@|qR7F5;3Dt`1-$9_G$NT3^i0|xW*_xUlMvL;Ra`{>QyhJa zV#J$#tq=&Hm*a8taEMlUar6Lsd>lQav&j&rfuq&nq9ySJ%Z?mUkS{wJZPFus7~%CG zP5>F14e8Qe4In73F(6EPiG5Y*68gkIHhIaAm|v~53_7@k3L&IWrIN;s5HM7UI$WZu z$WH{wp&azdYI7BX)_cd9$NAo&rFMU~JVT<@?8uN0u!2<>kVZ2@`&jxwZZIX!qX#d(3B@c9wi-61Nm z4I49K1-?lc<>WsGxrF{ z;fxwL2nHu)DE;8rgTRA~hNzXr)MRIMe6Zw_W1( zDiB%C5CyCJf+Qorc{tcdURNO6W#yvx&@^nNCUzskG8r(s)~_fK$;|Homz!FM&V4GV zg=#G0NIGyHj`gax17?q&{4l967~@!zq)&oTB8GyO1ToY_+=MsZxo>3mLXj8k5k)Ej z&JeG8Hc;|DSE2~`gL@jjysc0~d>^PtV_91$IvG7c*G_WO9U@nLS18UXTttUsV?+@@ zg4|$38n53$vw4I*Y9KGL#D#pCkk46Sc*bH3Fo>OFa-_=5mdLI@Jt9tJd_hM!Au5_z zO^jm9j@Pm077X3M7GLg$TgL5H8r}G;M^G&epvI##L>O=1c_|Yj5vvRJ4#8O+?FXt{*|VjHmSSX+bbz?UG=?y6OdH@fngy_{i8zZE3~}JMoYGQQ#Sl%93El}U z_VD1#0$-Zum9!NQVC_BF3t3RVyQNsmV)rNEhzf+jXJa3g58!+VoJFUAEl9rL#bZ9a zQRjD}0vhF>=)y*kDcB%KpLan1Jk)fv%f1GtKcIiX@e5p@0kPTlSqblrXLeee5!=ycs%Rk!L?)u~gb zPMvc~d`8KydE4R08^7kwxcL$rC3%y|7E=N4zUV;&NWd9sFC zt?XOfuKb11%XwaIo-6D}t07#ErW4kaus;2~n&;K&Ok2paB^|$s_)Y2O4Lom1KfliN z>*?nmJnu+9f5h`g>E~TM?@B-a!1E70)7h=;UwHW?oiN+$YR{IzB>rliuTDQN;CVs% zc{$I^)6ci^d~5o7HP5Tl&+BqyK2wa+E1;XkBI465WOk+{`-n8_yExN_w>WFEkn+Sw_fJFF)Yk|{ki1@A+9 zhszufTxJ|jc?<;*DkU3B*w?9LvPg-GjIwMVJpFNn)4JO9jHt}94%;ECNK0g*;^D%q z$}(CW)r+|bJTT`;A!)+1Zj$O`#7%3Cf$WDY$0*Wca zz@WX>bjn+LU~A`w2IgX3Lp;oojg9}R`&K$-urSA0I)BL?g&fVW5wa+6sdW0_J`PO- z`WUY3;qVp|oowfHv_|QX?VM*@j!L;k^hTF%*kR+Oqb>pt0Xl@P|J1}N-LJjV-m27R zw0Any+sAyQK#V%g3bi&&dcVCh>kmmar&l?xEdQ0T-kKF1obi_Z(PjGAj!tQ(MK9tp zBk`1Rn*qYoROx>yv5URjI`C~JdEmMdE%mTY&g9}sVY2WxByM^P3o+YD=F+i#qEc_| zBjp z(6=wu-Mc%7*ta-(R(EG{y{9qFmB}5fk|*7whcl$;=kz_Sh$=nV0KfxmW!R+Vt9m#i zT6~mFm-}-nBR%L*?iB7f!tkQxO($!sr_TJ4264&1!g0ZTn!|J7b^>PMVJ@uSk&LPg4w{87OFN_*`>ipi$P=XVC zJHrXq_jW!vsVn<9zwyz^zRoYX=F$_!J6z4VuwLKWk3CEa{dzyAAG$|^Sg1cGQo3p2 zv?Km-3Fhbv1E*(+k(wHw6==kZjiAas;a#Bm^}y*>mcGsdK1S~QW`oB(UC*}1T=&6{ zoS{4RM<~8q&*|?}mYgBHFQ>z5v)HEJ{#4@+%*!_Z8LLT4+gYrn|2|Z<-)h7+a=5NhBVPDV2o7t8>*lFVI z_=l~#4t5SoeQFFgti)F~f;r()A;F28AUqZJ*z^b240Z-OD_^no_QB5E$V}D^aoQ5> z9OC@NL?1fTxug4GjHqx~62fJfP#7zD7nVvwVWuP$)`>7&Fm;PzPV@HW^|NqofY162 z0Ypeq*c+HwA=5v=I>Wj1uFo6hw912e%ZkYgCWKrbNvRnI))nYahB>75NkZ0Q0FtS_yMhD0xi0>>@=x zASPtN;=hYHUrcHO5$}tmOygrx%+2-l=cwGme$Z2~;%3SqAAtuqeroMRKmGkVs(B+A z=|CKTOD>U?=9yi8<+&=Q7Sk4lsyez7xv%Exmic zJre=eNx#?wJ8rYBm{?6=%i@(sY?*;E$gtdl6LR_35N1mkxWP*=*@2TN)%QH3Ix^7j zKBM{*ls&7;V+E{+_&S)9I7APBR&^ly;%8OW@K#_BjbUC}ftdLKLm3A<;%N$*Nml$Z zmoAVxr8^5!wE7@Cwy|`Gvo!IHA*Y=-0@?d=#};LFT&ROm%Ga)sLFt_sAFUY)*QDS&!o4B}{;) zk-}*b({G0GA()?;q=7j&VxTyKFhrRLTsDWPsA*9m&tZv@kw1e}2bQSMpQ(D*HteyP z>LAmwA7-js4`_vy_2;cf>VKT2j?T$I1Q$X7^gUZO%3l6x?vyecuLsg&6VFz8jy#-m zwwjTW?jcD=g1!JIs4QrOGMQ)*Nt}+KqaLt6uIW2heQvQbw7ODVp{`BghNHCRp({!9 z?_rG=B05@0_#^)d|B6`FZ9eS;L#4dlTvAHc8_Zh*gB&iEinRi~k+i$9@ zX@0$`w(RF^efte+VvIW+tzep&RJrq2W9u+oF<)KeJPN9mwRG}p+`lSqSy$-g=c$ja zE;W~&ugz4v0(i`UMVsLIB7Z2RV*UIjA+YT)RdbH%2HrMG)=zW+Yq>py4}fcyduD zw*-4K;?r+?v4P$XNC+%MRU%Wgamyzn~SaY!0B*Bz&+U#pW%{FLtRA zETH^5&$STZhQ!bnp{`Vw&HG9;G#nxT zgbkWd)V^lZ52Xs`S&1Yht9p1BdngId@JTr#bbJK)onVEi&$cy>aA9)&Rz&V*k-~r@ zc)IQ;1T4CxQbQc;?oTKdvtzkAp?aZ(;3UX4o)u>yLWW+`9x>jOmYVGldf0RhO&2v# zA*w9>qCssF3@=WJ?>xrEF@58hFIXnY2%Hcu6C>}&#~uo_<{6kNKIz2GVFh#^g*JWc zWeR-Y%S3Jp&9#Zc!y6s~V%S>2V6rC1s~W=4$MtRV)r`Efrx~U=tIpYcEw;gJ z7N}J6W_-|a;2sIgLjzegfuO9RSw82I>(mA6HgO`9w@@8qKWNtsUI^~^KiyebzSMUeKE0Urn>s5I^>F~Lv*^pJCn60 zrkgBdU0rdBjh7sK$THR6uCetM#BtoTdYS6x?A{lz`E;3TX*nz3$kDkss!`@)@{Ow0 z{=m{#+^Fs^X97kB<)rP5aP>%ch29X%mOaWVGj{w<>LUAnOYgWztstzqaD|Fm@-Szm z`llsj&ACN2mGI76)ZC-M2BReak*pV&o=G;O!{u^IBbu)l@5E>!%3)_bl!Y`z4w$!( zEg>^9lJXo+$x0_2XVN;YNRL>hT5+wyd8<@VohQt*$p;%@j{oJ827K{v$9Y!Wys->Y ziji)8yPw@pa4?ZF7iWSI34DE<4SndNFfV1Jn=Dx}cE8MFvFQ-O=>e9$0He!pQw{qw zo$JenBAg-s8A(L{16WrGVPWSWWWoym#+4dvboE@f;Gj#_8umFjSx(FmapT3EeuBHj zO_N!@<%}4{SWvXqxAcp1-M0Frr&RBegKDWn*xCx8I+h*1 z^;tDKD*lOojBv8v{y7*KQIU8d3S+YFIn`WlNqy@%)wV!l&6TG)!50~a)2~Uc(oL$W zSW@5OO zK9aIO-=x}DH|s{vs|hCZXOGAWo>vv-?Vs|t`gv8E@r1oA1K4GXl&_yxlkg}#`UN%8 zWWQY^*S?Vc_#t_F{{@w*c$%dEA3);%I)Z8)yNV33l$Qqf1r3iy{?!ZN-4fU6 z&M&KSkC(*N`nZ=B;#5oPm(^Jn%NX zvl`lGHABl$2d<}KLY|Cx0j~4|iF{Zz4I(m)g&L#G&n}ZYnnB?3u#3f=;n=eop1hf^ zctur3GhgY6uc%g1!BwxQq7J`=Dh{nv^{F5yV9QCDN#r%?6X5z30gP1Ob6A4f4i(gF zdqr`@j7T6^O_*l_1KI>jx2jQxOCuhZHiAb{EHzkg!v=DRmZUu)X>zP>z&7F@pl0Kq z)&`<0(j)e)bVcu1RR!QrdR29|a6$R1>eXBPucP?TTBw$niW!q1 z*;caNO;(1B0W}4%nU~nLCN?hJ?FJzlo%n_tltaB~pWSZ!1O4zD>LMmbk8P^Rx?Ydk zrcU6}p@+7qlMRC3DKo3(cGav=P1?)-r5UVVCrJ~wtFp2^#ygYIYL^q%VL(Byboc*V zvfaF0r3`6!oHvFo%n{CxD7d#yZs>fz z7Md+mFzX6FaKR-ik~o1CX2qLv~o-^qjX;1CFj^v6 zxV)=EUPC5^2oqTINO^gu8d2{`ORgYHivXhf;8Wbo>l=ZLi02tb&S&(Sr?{sfxfGtdg`1KA_p&<P z{RucTeg}>|f1o?ze_2HSVeYa2%Ochu=1%-y7IFBX|8-w{HOQUxzl37mVE4rTWf2{Q zxDSrZ;M##$A`1V47b)gf8vBTH@TUCV!aUt$s5|7~43dGwxMZls!CE9flgJEaAArJ6 zEnb6mn})i_Mz3X!yiBgOs2t{Al`U`Y*}>fp*l1I39Ojk@FFMR^Nl@=_cXqDu1W+h8 z$4pK((wFLwN4RqxR4(-yN4R-iG7~UVLggN}NPzg4jdJF@@x;JrW1IK-0lJot9N``k zeGCF*bS4Fw$-ULraf^AZXsGSy#axaB|-89O*CXc?A(GCxxQJsafHq(7ay9b@R zJmW>0b9^tzxNCl%;)5_rSQwsyxjX91ma*11@=JAD;t*i;#)Q$6q1`N+$8`b`X`Hx< zN<3=moul0j-7f(`x~RGtn~fj>8+b@bk0idc^pG)bGpmz6 zeT&Z#h0)W``1ml3@4Qmaa7#aHQ>6WsEubUwyA8hjcFK8^%S8HXoe zn~j7b4G5BH;j9JTO%vSa!28VvH$N&_xf~K}f{AWP^{p8U6a2GLA}s?c|GRG219Uxt zy_9#OL9QTOm@VR3l}@^aBmrYJEKcGbxf?}}edNF;SZ}7S z0A@_}|0jTjpE7RWTRMKc8^qEPcsJLhk9Vu88BakcQldDV!wM3&-&&hH^o|HICg5`W+Mf9!i|D={s&MsC`H zRj(U_oCpWw5Xhx=u*^8HH#%l0_6U)c?L;lk$jXLFP1;qz9YTw|I0H6`%rER2gcf2` zAv8i*X}kX{{w2^pN{>4wUx$>?;3c0_qn7e-hKeCE+wAmE$tPy0=u2Zp4Phllh6-8m ze>qfXG4q#ptt<n9b8!goYu{lAN({c>QF znJxmnW#-0zntPe?k7PQME)N^bWRuASF))rx>rn3pS-rB-Sh+uZ36b&_c@g;d1KEQM zrwam`DH>j&5JDW54}m6inoQy_`~TIsk(nB@`~iwAZIP)u_g%NB>bJieVPt=Vk%Bcw z5ni@}xs4+6dEsfk`9>63nCjQ-;3T(URBj*GBi2&mPjbucJ(j-YBsWzcvA+@mN~poxI4Ad41jhZeAipo5>7GO{(?Yw3fYa39QW2Wx?>1;7%$^p8)t z=K$bo8{9VeTx;*t?kS!4!N5RI{i3np$d7$y%eg)81NGJoZj0RS!mAl6WTaFAV-bDQ zt!SC4Tx8iOYuo0kRz@umeDnK)zu}ui z5Et^s82oIF5Hf;8_5Rf((^!C_9$5XRCG82HJyZMcbZvC>+^68H=V6x8@M(7d+R6Ip zr`;BXiCwld*oj|ZLA=boe@JA_z4VPwyHgAHT7bL;KdZ5XJi>dV`y;v0&5QH#fgMs@ z{gaI@zb(4_TdkL-M^Y!Q4!f-Rcs89y)r+k$}lQmjfTFr(&4qR}F)#s*d_axm-=h0vU?j_|RfLn7pxI%I;x4EILKT(T)uivFPx zK_Tl{&_t4vq{USai-ixAAr=%%a;KRH62mK>v*NomGdl5$#V`n~F0*@Bl0G9W7mdb5 z@RmU(fEOIKc{OVZ^Vx7#!9&6k_Y&S(j`rRrwVZH=K^x9Z5Gg<7UfEz^;Kl1@zz|^C z=~uV9U8|8AiBx7o1i#Zrpg8`-qe>Qje8Y&nI9WzHr!GQNp2-ob&4KH3$x#=vi+fAR z!7Xg*GCsqyog8%$A1RX~n;Z;72fh0XbT3xE>Ndtb_8G6aDgBRE-J;BM=j&?ppP>#bUw1Ff!vBoyMSit(+c(@XMPfd|b~G8x+8`<) zNYrH0Axu)ugp_xVWi_hV-pre3+3(pkhcx#_5uum0@XqI57qs+7XVnsH{dEU>bWVbW zqV@n(AJNgy&s(5u+y`HjSu~|r%JsQNdgYji-FT$;aNbb{rQm=Og+UeCM!3XUPaWx9 zTkoj;9LrpY@c;{4Vu|*T@>=x!0pe&Eb7F2M1|%*qQck3&nIgp5N10(fXiZQxFvk1=FVU z$9P57nOcwW+GK@g#FyIo#W7yrRvWS3;Owu;5C=PM_Y3#Q|7zJbfBMkI|ED*{&`2rJ zOFXMj8S9nF)iH=>pwOHfEY*v~dX-$i{OefnwAk^6O0#P|UY~Qcx3WOqtzhmt6Vbvs+R^uu%~Qnqt|8*)Z{P=dl$(QTG{-#$CCdFy1S)&YXYTjQnPzG+-D% zzz#=g5XJm%nDtQQ6j~kU-&j>@$Dh=THhBPVo^h@DLIyD;BRCDFB)qDkMrJ8 z+fwE^HNhL_-xem+TspzawJW9hXe5hX{JdVWe^N5|@yf_40B`C`Xm$9gKc+-9&yi=y2UG{k{)XTkV!^jt{^F(3?{?(`N6KISPS_^*M3%=}(l2dK z^oIS>6s{(13U}R!Uf(9#FehwDZho1~xv@$zdQOr4T*{)qJkhHxDqRxsE4!)nhcrYV~4{WrzPbodHBHmqeb9rthX2fmr&Uqi}O*=q74gEY<-JSt(;B zaG1GQg)eTH6*eR~$!p@j_9ABmw6^UeuK-=wLne8n3U6e`!T>mxktxE#L@1U%pjf?b zl6QQUC)Z*OW~vi&E}5-d+hx?jWojhWiA5=&{gwp*l-ca`V>xTC2cPT>!s4&jDP9Nt z%*kFJ&u^XV9Un%CE#M`mcn7t+`022lPKHZlVBtuFQ3y+g9|*QC1LqC@*kA5&|L7F& z#C&s0`^sLT_5&ElayoypDZ- z*vL0OA~W77f{nBXa}24E~uvpFn6JopSYDVd$DpW7fJrO>yl>zT4=PVuUS)HTHt zPZjV!V#8{hB5JPbra*Mj5yHWXIM(JG8dEW=*6$1aW{TISd|qhcXws};R`?b{x+OLL zbGdD*u9ylnD%6Kg_0Iga9kXSsS5%Si7#UhY?`J}zQ8CX8RY__)s=+j`4;BzdOfv2`-7H1MFn@4O7B}K`VQU^(hi@ll{YK zUc0PI#eB!ixS~_N&doDmnJq#sSRs^kLp$?SubaA;FB!-OPW4(9ZkAHaEI1i!Kc0=c zjEb++Kb-1a)bW7pKGwdSnTY0|Pro7pIbU>5l0$sck*l@AkD6Og^QtWCSiS9ZZ)mYG zdJyfnB7@wf$I=Dq-e-6zKTXQ?q%*t@W$0|l2G=au;d+6!!EL5kx))z0Iyl!W&|A*% z)REuaj?R_vkIblPWe9Z8oW;CEm>L-HKdH}@z|M?<$OEg08lRWgZ;(G36U&r}>0aOb z(*RT^anL^Twpcwn;xF=TOIJ^4JO(6|>073IyJ9ynm4lsB-cm1~;gxmZE4sl+3=pFr z7z0>aSrJ^hkv?dTtX8I;P-bJnEz|nT8Q!R@)66uAvf2+m(_7Dy^4poRr0AlVUiqQn zI>P<~CFCqto~)p~;ku3ehMbOJ^j$6#Bg|+Fo-%22Q!reml{iyhHq&d@7&>;<7at?s_kNrny<&6<#mp2dkbz+uF}cZ`Yf+s zY_55)5{m!+S>BNR&U}xDfw6pXboe-e#}oCzXM2^=M`TFyvpv0GkKa`5vptSWkWcCt z&-RM?{bD26HYQ;MSi#J82jDgt_8pN|xWp6&&#jRG7lf}}y#QQh&%x(-L;MfYw>m96 z$LkjtQ`m@YkV)@6$7@}(+$yTYEaU22=-uBg3n^NQbG`1dOAS8BOwg0h^_n&)>>oMW z(8cQD^1H%(OV9QC*_%*FJJ(CKxl6ziLm^gq2AO3=NYy;E-}mFqg`ygx$iyD7mOI-T zti#$E)-RZ4%SyV2WvHh2U%h5tMQb26q6`u-0$_xG6Yvj!mrX=AoY1isdCROHYJR@R z+iBag9sTyjUX_G7mv{rP)){$;SLx5%ZI~fF=MwK9<-I|5anurIW3G(8O~55eb+$gC z4UwLGsW;4j{U2cy-@Mf8k^854+Unu6S-{g7YtEVNUcSGMLo%5p?=A64i_HCQP3}lJK@>4K%_|Asd?rlKU+T5z zn}JKcCatd$Dj>Tn*EmlGg`&Z{4N#MGg1m>9yy1D=iT8;n`K@b zf8FEZ%dyMgx%y^?wj}uR<}m*HW!@Aj{bd;&jHY_ba_`KNZH6T&5PAfAV>+2t?9Rr_ z`h5M#a<7d1(Hp&1L(*67IcQ+ZE#I=%J&pPsZH0syD@|cnO#F^bzl#^(Q|#54#j>l! z3esBT<>eG6ixEx8!j`zy(Kp`cO{c2*H+iYj!eoiuvge31j13e?&v0<)1RJDJK)jpi zI(!n`#1OXCPv7LV;q9B7K)@pHukd>EcJKJGBlYC@i4=Q+F$9V3W|ia7FNbH82XTA{tJ%kV5L_f zw*w-!5aw}1zf>`?e_iR7{A=uOD@`vyx6*6Trzn*rA9)A#@}jVpg^e@TBbU$%_`Ol*w3528IAu9)p+@4Z}PuO8+wb^PT+&R5~$aNP+xhALDh$E@hXan zQZWM`iz>ElTq;k1%CsogN!{6IP~l^M<~d!q%1bc{16Fyh8Jg2qF#-RW%}>0pA6Vrz zKcH9AwSKzFJN#c`54qJlj3TeS)hh>0Kp>RI{|%aKxz%e`lFnl%?sn+e^c=h|O~4!7 z<{dQQ?|3a1jt9~mVi>5JmFOYt7LHSSVEM*lM?a7hg};_GtfdI?PhdaAj%u}xD{w%* zL@^TN&P<_q?&U+~&>gpVv#id#;&$)8qRs5kh1b9h_#G)8S~;gA-PIRxJ)7QryVuMn zY;=d$!B1Z>S2OGmZ>Kdh{f2dCA$78hU?V0A#9~e`rWeZsaccY(krqg#aV;V?LPNy> zExZX4dG@WAoJ*oKG~q69CGONN7RkA9 z$!g016G$XM0vQDSZ;-3~eO}}0&*mF~6poM^?EQ!N$TngNmLWJMX_X|aU|v{a zB%N3o%-=2~!=yU0riAIP)F^Hr%+(2YB@Y?$_xeL&ZA?x(xD{wx*A)s`llhw|)98L$ z=0-6P!%tM{ukS;=k<=~kXPBz=%=;nORr^&y@sAzrO#U9CG&5wQq&^*T+yqf zZwU$*-_>ip0oeA1Z>FvVw}oTouJxKxR>fMcGr@6dy>$c)9x!i*J>X59ganW|z)7PJ zl?4u0AHqieu5@4&71Mj{#44&c#4U$5{)XhLS6!4Gy2@tqwuHZymy}q<(&#mui%0Q@G7a-Z*X*jC%m@2_I(0I zpi1BQ1R~8U-Drb1f?(1HvNqN0H+Y?ktI8^c4t%y8(SEX$b;}KWE=Wk0(&z4z-pca9 z;d0AvS+BBo5|j(_lXKIPUhC`vDM+j?9b*3Zr1vnlC;$B^ufiH!^TAV| zXPq#(tWY{kj?R&)4K8aa=SQOJZdG7Uj5ooQ_vkZT zm2)%4MBhB)mDkpMK+fjRdTj<%vk))YPVB_y-o1D39n+IG8V$0^YnGrDPS6V~Bjku&?vxN=_RgIF%DzJjHks5O?7gZ!FRc6zm^GY$D?gG0aRpcPo?#uW?)Hq7r@4R<8-{8=o7H=y@^p zzh|r0!%ugR-nG>m-|+J7`HtTAhS$v# z@kN2|y3HHZ$lOuRAr;aTCBKWU1i2P&^E#$;y|j(muhV_Dd&P+=5ZSAYEEcW)NCH|g zdArxbf8`QGz4fB)-iX?lueN*bN*6h}P-Y>daXlhil{jA&iP4(7Y_leIf72V9`Jm?N zH`yT2ZEya=>*{Avrtw?eL}~N6Z+V?__J^(oV4hWWRGa$2$(D>zsGIswOXl{-yW?Y($ZE z3i9y^5qtFaVM;f?TCG&?Fi_5}5-(I`i3w`)DWSL}Tlh++#*T6DL z@4N|7Y$$w!Lt;j3k7XM1$%aPGmjR0%;h({(Z~4G$>dSeCxZT?Hfj2X|)X?cvfB!-T z^RN%SUIl$qXfEQ;seZ_j)b@~G{-JmAxDBCT4vYzRZA>XTnH?H^3RUmLJCJsh{eU6_yIax>@=Bl7Pwl0G(H-L1@g*r*M%nv8JTN#O@8sSF_Ub%Wnlf8Y+8LOvg>4yA z$vPL7Fd|{bnO}NA6Vl3)f(Zh<4eXvAlep+D6^RD3n zgK09qEhgmt4nnPYXM#FGTjWED;dk&Mt&`->OtQXmm)EYvE6+#BVx-}s@sxy#GMl8h zIMfOy<2mtv=y!K{y}S+U#GOskue|&rpU&pdV6#Y2k?nchdOG@q+g{B%0))O^((Ey^NL8=?C6TGy^89`d+{x<4nvrX>Klll65BvX4vDhmv*(}s zJ>;$c4$r~W@3F-2GU*{|!#`;<-qk^#oB8frZ1S4q$l`1o95tUw;jf2-+0N`O&gI`ASt0sXMKZ=WVl}XjaNDJep8D$5i@`%f7jkSsJgbnh{h%w z=vZaEV9(zvS%%mTx=jHuRDy19xZCSez4xXJSXVUxERaq%{5YvHV3~tiFSr)H$q@Eg zlBpJU=fF(c=43Lx^1BAQ2WI-@>P)6jOs2y!^?3*8S~fqE>-*morP7&b(E@D7ny{i} z21hsg)@#>#Z7;!AA=W>yOt(1QRR*VNS#AE)zV%wR8h!`T6E0$y|K$$naBe>{{6=JO zu?TDvon;Do!LplVR387>5>vi&X?2JhL`s;7K=6c9?Ubgq!E5zvW-+7&) zPk+H9-7Tr*`VmRpxJEvGiBvyCl}Pw$oA13wv7a6lPT3qrwCfma(p*+wFSzdy*gfm_ z=&i5*-YXih@m9)Z)lWBbRvj)s7veIqAHhj4xMIHmB~GZ!^vw&Wubd_q1`j?b)5e@0 z{P?|hkbi0DMo4$~f$esYKKTc4D?#@?u)@?f8EA1F3)+k>ln#8wQR@6wA(%#Z# z>w1hxnwT+luHf{9ectN%M@+uCCcfXhMzINBV&O&r!?*pe%CfB?+VfQ(f&sqj>dblv zuTZ`^+{5M82r#+_ylPM%3A5WcZq@Cpt#d+5Tr zs>mOAZ~x@wsa)~lDn8rHiHVySr^m%ryT;?X*yl2x^Vn39TAQ{qt{Sx^?E=!uGif+) z=DRNTEFl1GGqL3+R(}*%OPyD+gS|K#EA}3GNwykwT%~Znh{^{+CUd|+m8cBJBe7gI zARx-Jl@mfMSe+9rSxKzP#H%4!Yb>I#`qUybsF4%A0800WlTi=NQ8(LffM_}B>=72$ z3&Vr!sd9OrTu4qaSIY z=7N<28mi6?lJfH!tKR-Up1@@b*!Os2)hf1YlN_y@mEzmRm=hQ3?0nTNxAx?_I(UlB zD7i=FtMhWSokq@N1Gu6c`6^&P9Sa*%6>LdLPMRQz2NkHvjTdp6ZwX?v0g)xU6{r9=IfRAgs7ph82+~=KAq*CO$sz|+9Fn5DEnGphK_!4%Z zAy74^6{~8;zRl6!l&YEd-aE0Wy25oSsb*JG^@wV|IMlfew&9vMJCS+&khcVH!s6NS zH}p#_sOmQTO$&8!aS@7bj0R3Ip*Cia3WJB%Z24XxBj z|Jet^4|lav-K?{9i`J@wq!F#vz}SZ{P0?`ZZf>ob98m;|E=B$e;Ia^LJS!e&c<5xQ zRKKnclsnlkaXRjq#d!b|qap=~f!}Ozxguw^6X)pMHtN!nbA{3;&K0>{$v|1WSs#td zhr|Y3uW6&kC3m1d&e+M=peLJAF!p;+mObtSs5L zaome>@Xzg3TO^t-+N%yGmdzEh6Wgnv#4c~IdPyuCw#2^QUNzyCIkRuwZPY0_`K9ru`N6?JG0o?`&h@8Hc zJlIv`Ndb+z(V(P0qMQ1wb+LZ2n`*;bqK7Kc4ZEuXGPLckW|4Alcf3O_vGu0zYG9b7 zEs4E*s7pxP&;vtg65r{81B;8HVNt!Mn`%*)Z(L84@135iNb>#MQ6`!LUK|+EVX;; z#r@Pag42U^^wL1xAEOU^cBX98Yex20Pua0I41O7|r|BX1^*LR4Jw$cs{O@N0v)u@C z+Y&U8SrCM?AV{39R~@2G!sB|@q3ULR!bw*C{HwptYX4)XRZGv8$$kbz{a3XFgd@ge z0m7{BI#jhDTj$pi;bNUrM`+do9vykBbLYs*0lpl0JHU}6Z)q=%HEjke*MpW<4OP=D z>!X?*hpDHn_y%WPR6=ccZAXVz~O7BS%MLMyRI#=UdGr)fbLX_hf8D4+1~l5KR>6LT$;2``lGH7gfyEG5DEi}mIaYEjW_oLtBpXKw>}+=RrR4|lUT z4XnB72zuYYB<*i?*^%nboP7wxg?K_m?s4>pk*ay&mylbTm@^=*ay(F%eC#6PSN6Ue@DPZRq2tW!$T2I2G29|#6wdzFG zxN(87b|o}`Kzx-G$m!?!6V;$om`faafZYf+t$Rm{xEB15a>i&5K6oapL{)@AKlz@q zrU886gkMl#Mdk~hdr2PJ7tU2822fkhNvf>YD{kkLlz7EG|0LB--H@>BSG#&`G^>%` ze3J4jIieKmvUsUXgXK%92L3{3JyIMIv3SACx=3wLQa7tx(69V5sqdPko{e4g3>(sr zbNK7YYKZ>=(hO1AeDP$}tDVA~E8jS@LNd(-M; z?_?q+9&q&X$*Q;(_{S%!Q2?JeMV(N1uc$7vPK^LOf}_F!f42I%DeP35>N}>W7S(5% zg8xlUb2I`VJF%Jp-`5NMSZ4oMUvSbxr=(DMquPmbzEp%<3mPfM`A`H(+8J&oDr`M$ zDm1oGpEy06_`$trVI$bac`rl~ip?{$hHp0IR64j<_*L>obMu@J#}f=aO-)KJXV(xO-Yetg zow+a6AHl)eP+|Sm)08NAmz=IftGgSDB(Ub()7ATyeWR_9na+;6K)*0ul{IOa0)6m> zA2Evu9YCMeH%{wMuq=JVqFBQyW>?6+6Rq@9m&QgGtdd0s^i2vrqs?Mgp7WtYWzHvP^>M)@K;5FBhP9&g3Vldzfv_}qQ(vRH{d$I`!C7AwoS zj8zVIyf~zh?^|6SD=XuBIvOf$OehV{c5fmmlE`!kQ!kG-t(s%W(IO3{VB_6aQcKEU zYh{9P`Cx!RMrHsRP2mq+9_wVUvh`O~l2^w5lkU3=R~NI{HS(xG&~Gh_wd~tUNJ>On zEbe&`o3LJ5!JC_n6VzfO(xy~~%Z{fD+5LVbQ^?jUb-zWiHu&kCwkYy!lo}x(S3< z;;b~F30bvYGQ5ch>=Q0SsF2aCi9aenftwj!V5eMPdPi(v-`nhzCuksj>`5O> z-^qUo4h%=Iu1E@l=ooYms$&j%vPJSNmkedy87uF&GGvOVIAW}>#LSNKBcmT#G0Qj z6fTuJkfm=!3+44M+g&=~v{J0or!)Eo1n}8Sr$an)jc#d(Gij&Q`tSApT?t&0MYw;I zYE7s5`m|iXi1~L#uHR?iA%C1uZa)FUN*q^*QgdoiN~V;-IWx7YYUk8i9nJH*WC`Q# z1-CqI>w$TG8J!=>v4U^80a4sBpPT2G!sIw2B>PV~Pk-0Q@7VaKaAGm}xcu8tW$-AbThETQ3{DQQ{LbssI7N^Q zdi^Or0fU)dKbq-9eP-6_UyJ=xe>s@KG(*Qc)~MCw+Np-~1v4*1*U9)^4?X474$ZI< zzoa}pG}0~Ukr6`iGD3Ul!*ELKzs!zxM?K@l*|E+9ug#A2tf@CAcD0SvYuOdC)~#-7 zRK}IxOH}MtI9Psz6@2_H@5M|B>x5#EDD(*pXCvhrpU`^7m9cXCKG!V1GIp@CX6kq5#m*@@ zuvnDkW#c5X2_Mq>wCicWOnuk&vBSG`L9B%BHX`F;!tCanrXxzF+q=l=M08k=h`%{3 zupESJof-BRKC;{05bI=h(I?yxJD!rBxgj>NstYJ*EX8nXJ;SU=B9aZuVWuOKR#UlB z+h|rCR*aYIUh`wEI}4ZzWC)3=i7rBbu^bYLR7GLfM~k_Spltw+3tJGjc-j2eJnF4n z5UV!szVBZU``chC3X?F?L(*c?LuuFAM(ieCS0w`fsb*=D{G5IMS&!bgFjf$aLMROh ze7M~2qT99hXX#!Y{EkK>st4-WU$Vq@kvqrWSJvs+HN2|y>!8K4bE-!hd=@=Ex0Wv{RdNWIZ{}2_9O22UaV72NLkRV_izoIe_P3VDShV&J5UWdbAq^0iE1^ z->T#C9u}xsFUOM+QxyELyuAJve~ z%qLge!@9xsRsiGiDu-XwQHEZvzTQa8v$ALYb?Fu zC)NMxFRfH8WOUi8WS5DkBqqWmp9#atafnO{rXdO`2VA==S;awFdSO#StV}D@^?ob$ z_Sma>7QD$Y*Y?3jAyk|Z7wc>Gs?zE-*eq?p$511x`CU1S#3R%n%Ek{&F#xfe*M7zN zWNLphEFZsU;z#OtC2@H#4oEqgXXtAi;vtR1Nml!x)y$sKd$T&#TgUq1One3ZTWv&t`!w=XjV(2j^K{E4qDowHB%oJ=>1wZm5y zN+$8C5H$ghGIoc>?8|%zB|_>w#gvV&yw+yl5@t=eZWb*uK$4ZKnS@-gSLMzQ$VL18+?~aPtfF?JlRkRCDy!cl9v=f6C&yudWa{&aN|vWH zS&2?%Oet1bbD)wN5gDp^Pi(XGCBLX+?E7u~-Y=?W{rm7-0$ws-=&+aVnpVFm%Q`Xb z$54dFD<28{a=NwN4DS{w?tZhxt>E~#_*)Jl z=#$3dU;k~IKf%5wdu8-rO^Ylrce;==nlpnWw zO-21%czrhNFST^#-G1}xLqS2dMk2LzgCEgxX~W%?Ski%e8<3*q)metU_$>5a7;59`Oi}@Yo1*BBd)5_HPvM?jus;kkuPS;e2_hS2B0NUp~d|8 z-YSbQ-8O}m!WNV~*!WQHQ39mdHyIBa=-|tO9Hx7w_30RAqxT* zY*ys|+Z`+%2#(~!LD=J@dv|gfeo%vkVeC&5o9Q3@T(;jLLASGE50l?^@VftNw%@E; z+V(7&rH|?DGK(*f&cUB=u~D?Bv)or-8hd9uF6zCnY!Wr&1A>vpJ{Bj z11Z4IGA}oTvpND>W9AU=f0#r6B%A&!;kP$!`=ain-y^{skYJZBNFYVrWCtq_K!UIq z{H)Y=|96yw0KXZ%A-i`_0eS^Jo0xblB(3r+u}=IUmm6Tfw#GD59Ak%s5S8{|B?^IU z^!tzdyAYsme!_1?@ZA&svg+nI-8GAHS{Q)cBJ8Buw8)i!rk-PxiYG-P4;E=@SY#6^( z%AVWM?|xv}Kqh7L6ACmb`(4V;g@YD(M&br|CNoUBM`J(Lh;G0_7vWK+vTb0tp5E9$ zzg?$zVyDrDp}w#aJ{DJ(LZ#>d5Xtla>^Wjm*t?>9zsUF#+$AOS%E!-ICw)=AKf>N= z>n-_y@sZ8KeNIq6;QopyIlZA@zs6g%>;tomIv|8QEB?G~Of|z13Q;r-axIYeQH78- zeS8By|46Y>K>8(ppMi9(Kq_*nqW{KVF(t}i1=GFykbr-Cfqxv}dxd_VVFEU@q`tUQ zPDA~02=$wW)K!Dv5rNhR*gVs!PiilPs4sT>>90PMy~w;mzpd$}-9iR77W%EL_sG1U z{JNaqlan%=u~AimhDK)`@{Vq>bhp&^n3?+_BJ8Iq81%Sr#yt{$PP}H>{c15DG|%{P zW|vczo(Di1lQwr|7?uz%n;&LKFpoQDgw)85q&2 zUJ^Dd_FGAKc(LE4I-F_3Lo83zKU1`nSj#qr<>D?JfOgcEKk)Mawkb@XLpp4e+?Wep z`{iwOeF3G2OS<5P@HG;NH#F(s$(3Mt;K_x<=hr-4;yYHu+N3Ka$wkxneEn?`|BJeW zxnTmI=Kcy%tk{A z-h);>mGY0WoZTBeU0CklqLa=2Ue;)RY;%7mlDb!$`zhY`H1|7N9d$(uznzt($F%U5 zllDUk*yGWgwXC-U}WOTYDykwP!J(ZY5~dO6W9-ovskVuItBK#q!2kP@Uc zN5CPw_;5su6Y)Ya!%8FcjI&^P;S+<_s)^DzhTlv3L-Y?UOQNCDYo$@63VSGM$LFlMb zrns1lV^6hcihDXbR#0XkaE!uYtBj=}64$FIyH)ycm42Dkt7dzpKiRUfb)$}rI&W_$Kdr79AJFR z1d(&4pUJ?@;K4qV(GB(!X2_r+q2{>#tVg6FaUAEx|>l&FT`EYaDmV zSoG50cJRtSpJlnp3S6LM>6((iTiTiPGnI@;Z@@US!g#IEVw z-5-$aY}n}4Trk)l-CRVvr~6gSFb6E;=#X`*{uG{6vLOfW2&81#VhAi%qGL^qGknbM zue#hn6Qud=a(^8fMeFAHSz>_q*j)egm_Z(cHoD6derawywn{QvGTpgHe|3d_5~w!v zNEG_m!bfSBtNaVdz3wXiU2Ceo;c7p~x*(N> zvO~SZ&-$IK{Vvu8y3sXk1~1SjU*lI0Tz`$<+TLgB$FA|uYSJ!Q&nQ02A{R|&^*1gx z(SQ@_c{@G)TECdioEipmuJxPqc5nFhJVEC3n0%K+5=AK$a_(+sM~!uz?^!l|9GwT2 z*V8TL`KPq{+?MqVx`5n*R`X!$l81^+jQL#G%=6nd%8I1eq74+CnF@Q2%@Kh#Y~MV8 zl0S`diWAfH$=CZm?4K;X>U!XtR`dMze$=9!uid}|zCf$_{!FsQOxBC%`#mM=ICfj_tMM++ORSb`wN!_uc*1Rr#{upU|X31J!~v!*8Dc5yl|Rlm5v-$+N#Tj;l@ z+aFozH!t|-lWzNnNDPB;kkBetW{~zS^rryOUl#e@EOB3ZqxMJV8U(<-PwkLvcd`E} z*s^`Ge*>`9OkKig*?7HuY^mR_K7MFL65|Ec@syPqt@kbU+n9l`SmrnBUMk`$i`yQP z+3{SV@lkQ$KowGa{5&W^?IsV#72*p;H=g$O8>P{S`io`$*-Y%36PEiWmi?ivXWi(J zZvAdJIUo&j@vE8@_C4buLj`H;7oaZ84mdY^(M=G9EIs%p|A>P__o-5`aq%0vPc=ly z%s!VYN_E1K;zIS^oBZ?iEv=(tbh~ZQCb)hax-D92U8tvRi;lN0ta)Ku zbgJ7^)U~Bt`QeSZ-YJLLl}>t*$950Pr<2US*k^ffxBzkFyC0;Uap_=vszn=^^zUYGKznMasmFk9ns0WjejR9cX`ZyC)$t5 zXWxkqp+ybfjlN;IfgSO7LzpMqbQ!K(R$K1e;d6{zwu%8ynl^7?BnQV{~G)3C()+P zmQNl1nLNDCL+sP&p~WkIHuYc+F(X)Wm1Bg0@;vKTE*1SWI#6nh>a8C~Pmm`S)_c!q z(Xs#W%hJ!IYn?Z#Xj1q2Cb~XeE~{5HhjFpEme@rfMhkT3-3Wcl^*Otv zQwToT9Th)n`rGJhR(Z|T@1mDmyngq6^p&t5zWycJLI3!JL9WC1MCTq5`}L1eUpM$M z+P-so=wP?u;_FZ6$30s@HkALNv(Nr9dN6ej|0UW(|L|k94fQ8~isoAO%6Yoe-e|Y7 zJLfqfnS>9kAKaRL<_LnxQp{ONgG5Jt_1DdYF~9nzHs;Sw&J-BPXkd;AJOkskK#~;%1fec8!}=;&36SUhQTzV_t1_ zv&zi-9yco)OAo1=?dt12r=dyc>}3tHci_9-%j#Yv2W3J>x?!3GkIV+VTl!V2Xx0d< zC&omxN>Q{rJDQd1BbE>G28Qs6;FCA3nTfi*0DC-7oO$oYnYYirj3P}Ap_vs%2P&DR zw??yysyBWGxl70~Qx;4b$!$S9=?o@(7S^y(nm%GQKp6q28W=a?ZIDf8#37Gxg|eyX zg>D00?)uSD?$k0RNp=4*+79WWi#r7;$H=Fxsr8g=*|zIMs-N5Kq}k~-(^qt6MQ%={tg&=K0;_1TMoHDD74$H9gO%UI)w)D?o08&W zG!uPiCYo%?q%3ZsZ$^5rak9~cWesFM3zU4ZWs$&X>r-M`h1FLrhZRpN?$O9d(9V2_ zcSY1Z<#ro%P8k*ws)AeKYU;AefN>1V*13mhBg)}ywwxb}@rSu3Gie0bNs^+K5wAyN za`+VGRF#MWls!)vFvvd;c(5uP@Y)x&hBC#7Vd%17R7bB{n&@NSTln@WRmm4YB>i7kia`T z=u6xH%H{543S^X3CZ+y#5Jz;qFh>!McZ}B$6EG_x3CYV77YU*b-`<*p^O#~;8hS*g zN_^)?o_J?4PX)plM%zb9;J^qHM69otqXvBr5MW-?Di+c%5)F*Bh>V*`q%53n96aSz+ zS_byiME4Zkj3*f}UXpnh3$g~m6<)bgdNm6}$_SCHC)HEwD{=OL9`;pG9efEh*^>=dnn2f4dRqB$iTO9Qt9kAPU$E)*EX(}NsZFZ3#NlOAd)+s zQ_ZA(h{&|ecV?D~ZBmpWlG3C+T6#9)f&p7?J~}X_FQn+sxMPXX#fnbIbfnbbP=|D2 z_-T0HZDT252oNSSZJb8c_0r`=lhH%CA)p?gFuT;Dq8^h5C?TtBLJH&%L~d|NCK!#2 zz;!MWkXg<}=}DJPfMC@Ns?Q`-fKEVhs-8(^Q%V|jCP+13LFL6K5~F8VBgte2FiL=F z&xFbf%`^RAJRTZDD!HFEDHg#1DOB;lnHOXTfp(_TGEt$Tai$as2>bMcYLZM8`T&{1 zF#FtkG>lOP$ixb@_Ii@mzRLh7xZ7ficMBI616gZsFQXBv19_Wo0$@N+s#mPshr0M;Qqm4A5@-NP$)2W>zO!rQak_-BmUJ#dc zA{&VaCZx!O84g=s3q*}8$(;d_Dcny0J%R#90&!Qsx>%IT3EP3bJ=LSc{zI*@oxz8O~Ip@5)x3$+^y9G~8z&c*J zh7~FlY=J`uNzvCwd2yR`Wn%_$M~I5Dz00l6IN24e0-@MI1x88G2~ZyADEIT|)+n*k z?=6NMC~o?JW2~S?E23B#tl)bqG}f_tmg=EcENIL)FE!-c&g6*MuuETanr9x2P(;_+EoR@M8L z;nh)FQF##92e&$gIf%jbn`p0DvpiP6IRFD zQ6gTBC^`O%D7A}ce!ahVE1os?)3!?FG{T}znX1P@x-SB)a5!}c4yyV%!2^msDi{Zr zyrTCWZ@<{vow401$cbLG*AJu02A$?pl|yr+CBo`bh;WEP@~})|HKDsOWex4nss!c> zz8_A&aq5@#NT);Bb&b;L?oXXFMecfV1F7YF5kUdfaNjb-)))wg3A)8i>+mT8pak#Un%db03XdBpbeyH4Fcz zS+m!}>!I+ow1{--)-c&E0H=BWorlu`aq0uO+dRYP(C_j6pd7**;ioN8f~3 zC^nh*bg@NLGD~v(_LpQZls!~+kuxpyjba%d<A z6+~ZSxN%@UBFiy1O-JLCP*!q!_iEf|#F0G@r?QsVaL<$=>T}xH*p;+s@qH@W8@kCp z)&B_(s}23_Sr7XFkG)({=S{k$1sTh2cOd=+yvDyykTEsJHtX4C* zrLTI)hQ0+6R4u`Q)RA?zmUoy9pI`iXk!tX4dDoXqrW@&ToV z?o2WVF)N)7G36x@w0)@%$7ZCno)MBIme}c9kyY?NT-HACiMASRt+D5>F)b}IsAGB7 zCynq<{R%0w(G$wndt|#^ed*3Z>h<6hxAag4-WW4!ka20%oxHtB9ytUnbb$|f3~$fk zvQRqnNct;&smSVvtWCg?M>Q*fsV9p5mDm~1HTX)Ep>m*hW!6a77Y4>xVK};UpUXr~~>$q1R>A^+!aFx~#d^C+F+!eDfoR zWWuetRz$nMkb8qRh)s1_tCl4TlF_q+*9`QLY^BozYkY;MFWj|lpz^4@wsC7Il@~4L zrYxxJ_5`ZdV>!BU$`E7gvjpR$5m;28?J`nM$&rcQ8z#9rI2l@9C~6X9@RNq<)`6bfzam;JZp_A{qJbcoB%Sa~t039Fy<2);4NjXa0`hX#j4ZIXOp*oS_m39Dli>msr# ztIfzF=78NJMf;}gSAttKQ!wHScy=>3kl>5WSa0dAuDr!Cvcy{r-uBMM+$gdQdFRD} zb&+tpFq>73fEb7aCTT!R#eXOpGdc<4i)@xt7Hu+wa!j7W8|>UgeT%Jc^1R20vz58H zE!YH?4C->x4P#p#q)hmj=%odu5MSe|yCY3(1YmDD;m%>@{0%U&!MF`~0gx8SfKCWI zX{asJ*}}XPbY5uqXxYAy0uqrdUV!BbmhR<{c*s8WVE4jL^c}gx;zOwkWN5VIIRaN( zkaH)wB)d@aO1myAqQDFNADlFT8w-PspgY>N&80h+ z#njR6`HtWzMt?cNhDD3B=R+9(&^k zwqbDzC?%#-6{uZCQ%g*@lIQJuO)HKvi9+o_Hv>vZmPMLpY+! zV8c|3wkaYkD-G2I7b;JfBO5kJ|BkE(L8w$U?7-0kg*O-6(IHy3gtUBKtuR78P9Euv z%F(>o=I6!nIo=p~O>&qw(VjBKouu##dRWa?mEw99s*89S*$6JQ7`4jN3R%rYS`UIJBt9{x48Z=rcjK4eN}CsSk=$h;=Mz(hji*vFgEqT8(r|85-tE!2T*i4(BB{f_V~bMc!rnr3yvkND)cO*0>Dm+dj4!d< zJWt|-Ui4;kbQG9d;&zlh?4kETjKR>7JqA@)REQ3?;E`;t#8y>XUiy!%&fP$K(VE4M z3bVHS_bn{y?iLpHuPtoX-7Snh|Gj}djs|9yYG7syutm(vxJWlIdGh~KBXin~OnBR2 zuF-Brel$XPN*8uv(YBs>4lfiBCE1op7v!RN=x(0xi|)!c4Fk`{G+P9%Y%H#|Eye9f z=y4OjBOY;58;xp?6SHl;7wai!eF&~cV(m*a@HK8(a4S+T>aXj;yXZ@m4-hbPbN{YvYMX5_$}KN?QZWX^AI zpMBvgYS)%iZp}sCPQn$ma*>!NgFxVkrpZe*D)6k>Ql`{i!B6j$3wk5?kIske;(-{d zJ_Md0``;+6{D13^-o3lD=+iDOy94yNA`D~~MZs$zj^V-}>P5ZPzr&^uq0>}5$>3L$9;hpV@eJut=9=O~a864s<*-JK_@ zqpvL5ki)8303{&4rKp6lB{`)NQEH;5Q}4~;4BkReB1@(>PPUw~2*U}A8${wNFZOce z4R!H!c%Ubg`cSyC`%nyqi6=U1YMOQMGg|3|ZZJe@FE9Ya+#`8SwM*V+P?mDcMFSMYWC3^z2 z%|1x;U?Gt69QFb0bTJ%y5GmM`OYDPH(|_bmEEossE@Y%2tGG)*lCsekBmVn}7=Aa` z2>(~EaqaGUNT2`CHO`~TMU`UPVXd*0_Wy8oOAz08VD1k8WZwy;*mr_`=elM$SUfz5 zba{$u@W{j%%K;%q(@Ccn7NH3`54em+$IC_Ez8(f11`WT!MM{k&?u;Z*hp6}PTct#4=;=j7Czf75QEn$7oo_f8UO48AVX>GP zk^>^P=+uejjED!TpS}(Cp{8>Umy0-&fBQ z>WQ0{$UcTsH#@P}7*0Ld8JdE4@j_?T7mu=C&{HOehF!1@Eaxwnek?yM@V&eX^zuFib0J8Q?=+ZnInLWg&|vwP#PmBC)~EEoBJ{pc2{bVS`A zETheTt-<;D30orghX&^waBHwfOOm=8Qp_Nt;#?0FA5E+6F{mHy)es0&{wZS9{VWBW zi_ptf^77SRCoe;zAN3_dK%e%c{cYg=vsPQKJ`@ zHQ~CuUUD$Jtrx4xJr%hFtI{vv?$w~HK~+n@0N5_(a&b>kvxfdpXm|lXTZ@@{plBWbc__IG& zur>{}8h}Ui&X=XHX3lV_J297vO#@j44;YnBOHB%Osh6zcz%+{^N9&0SLF@*4lz}WG zdWan=yjQUh-a)Jb>eu)|?CmslSr4=amhPp28DjPdO*VliLTx~NX_*)__)Zy%IfGfR zYW9sZs8+}^hDTtDhNFlY1!SP+U+>)rG2#D_C_TpH=Kuu~RzU3tS3K&H-s)qeC9KMZC-1 zSF&+hd=4*gvzM%TZoCug?UM)gnl0w#u~B7H?L#X`lp)6UiBxS1=P-6pBFJ7FjxmCrvXq1v~vW> z5#J1Bsm8kf!W<5cy3Ub^Tm~aXiBOUfMZ@7((AGfA7|trS`KaVVPbZZ*^iJT|?lcJK z6w`elN(Ms9I_MlDnv=!=6jD0P8McvnN>4~_yx~Ij;cOR*V%-RK4=!G!SiCy|NNQkK zKD(q3yjqOQKyc8X4=0t4q}ehWMXPuH_KTN3*(mj+j20b*?HCKy@3V0ZcpDo04VMlPsVBp%1rbI_WE1nXEFDk=n@IPt(ZR$f`(G>+9!ukVaw z*-kpUKSh)q&yIW6I^<{oS(J=KVp4}HL@w%=d_m3leLTxB*5Xc-39M3F5suD>SZEtI zgmqdY?9LU#Ca@-Yd$Dx_W`1nlS|~)GP~xt*dzmw3L`aN z2%B%e2A^-yy$Wn|KjKIeeq4CGnrDG`bkig;c_x zAK3;Vlje_*{p%cNUyaHHYJANy=x`m)t69a^T;`k#p|4mn01bKEqwb2e1kO z9w557)+)6fJ^rqG4d!y1)yAPonN=}A2O0P2Qr?Xbry);{$tRL>>qS!_SSic)4^ zCKM;C&cJSi1TlODhAs(W#|$>iHRqJ`Y@NKV9Qz%ZmyPuV-O z>lfX`Ed#NIkgn;nlv(UJ9&9#i={SAP5S?eEO|%p9XR~_pyLdJh)p$hq9F}f8<`Bc@ zu*NXnI)^<;pB?A2OryvlX3d4n&`vxxm$i_tuFpm1(@vz#V|9bRlob=_v4QaFy?N5^ zt$8em%mUVYWCkqvTfq8B%SRTl+Fne#;|v4b{!GKR+CH^?0P_fKAnHZ95oVc%Y)Dyn zFw&bqcIM*RJ6icliCDaly|1?m3|Pb*xECfcjUhUuL@X>=4oOyP`#41*`0b2s~kwHLKW=3#q3RVD|9; z0?2&_tXb1)rsgX5x+8+WYgQiPMpk-7EEwJ4f6EO<>n|%k_ca*X( zidV8~jxR6h;`@~>qndrU2_$~3K#<*%9O>z_yo`3l15B_E+M`F&>Jio`N}i{0UkHy3 zbBg7UFf8`aNiB$GAr3#n;^n$B=#lSOrR8bF@iEUdO05;90z=?9^Sg8q5v!QjwOEB$ zXBG3g-=kiHtbA`@nkj~_Vr??seu;#Y@|f&usGWpY&>}djmvE8@K-hO!?<|(@Sg_#@ z5$9I1I(mpG^C(+VCNZd2xRb6uk4odsYcLz^Bz@07Tg5Q~54qDqg1w-)<7(>$W^>in z4d^UsrMB9-LG!~X7JKUkK1h{adglgwpl-s3O15m!Xx`qk(Mil$&1yE^erLFDZ-{ir z%nBz7uT*Y<>B!s849P*U7#VUzIY^)2I~n5p)hshYZsx=(CDh-Bh-w0&LkKcUeRmUB zju9d@2^Q}TL3v|cyqY;hp1msANHDCdHLPr173Qs9$?quYcHDH(_ z;{Sz=Y)7JUSu~eRI<5z%z9|_@Bx#f<1Xlte3o!R;ATv=KloHx_7lyo}x#5<^I3Ou`j)SCrYXi7QSV1*jq7TT>@^BSb%e zJ}N|XSjXZ!{5`WFeWSfIk7)-1o@X}_3Jekk)=GncGj)lZp4z6{i6+2WB z=i<~n8Dz2*Kk6Sr(%cz%diE$75>v*iGCR1EtYpMBunf2+`HW0bVdNsKDN&|%@+7rZ z+uW$BufY|ca=?I#K@r+>#MGtJn!fGH)Hproaje)Vy7cmypqC$9%Pb}J&pG(vy@=e-81w~E}YoHpiL#Mwq zx`QrFclSaCb6R5IM&|LqzJm&mMoO~c+D>pa?@0H{P{2^Mh`k_MN^vX;*>puI@>8?2Kld*|JYe1xmRHQ`RP0Xv}b~}%9RL3yGS~b<-9k*4#Xy26(gG$1;nRUoRwV&$VgtD=7k&1?v$fF#9k(lG2 zC3me*$M(9+bTlP+fb|q~zb*AqAQyB(W3fR2iJ=G_N7h*oYZ0$dcMJD=(eN>r7V5|* z=CZnojS8i;*{JgqiZCz=5&b4Q;{jpb3pY#@u^9g*Ij!lk2bm#h8e)Z>dkr?w%Y9T3 z!8OR$KZALMkOB|&0U;yB;c|V5T1#MMg6~)x!re6?^(*Z#9r#1-^zK+f?4wx9@-D{e z5z!pc)&D0kHD)1=;eQq60Sw!?AI9*g z)MsyT(X@NQ%mWcdnBPHLw6UrPOPlTt zLDA55K-NSZLDQ9;q~ujQP=UY+syK?E2JZ>BARA}d;*v%6G={(!uo$~sMDY_WRy^~b zGYlsMLgxg#xY$_pK_6MgF~S$oLwb&BTkK-;h39Crl?weC2EjPIRzz-RaaHjVj<$hA zx8;6WPdII$Ep^-5d&hK$6H-^P{yk>`^xLE}#m-!;L8^y1(t;3scn+WTNC8)kvEeJk za5%0`%NDT|13Q>8xmq&#SuF>NSWAv2Qz4XGMBBBKwycGD!nacrtHS`E=_HL;aU9Td zFtWS6oh4?2qf|D&)!V@?Uasi2`dXez2eF`VDp)F1mrf{Rv1a88&R4Oe%}nbzdnu;sVgybW3dw@T#6brecCd=IumhJc7q& zy652l;ng+h1!_d3mWBsjm-u-H8_-@x_h-aXt}mbnLthMm0(MIKCvPg3O#ElE;KTj| zdI|dHgnyXR-~1%2Qyp8*!0|D2N12Mbmk_6{nnk;0GoxCmnYi#4nsbkH^;68-5%mEl zszgHZ2M;4X;m0wRuO<1yvC?b}g@KlgUKuH)g7AbtNJVRZj_{DB5mHG8G2(UAI%V#w?OBey?M<3lcA6u}~s-Wh|h;7z6Pn5JHG+)JW3Yl8e9g8h4yvKv7u> z@o_5Ee|SfmHEuxJfkB58+R0m__!r?%voe0#ZiYrX-I}$WW?ZZ+bO4FgOxjM11}mEs zm>Fpv<;H6XR0e*CG@AHJEB0VaCpG{*3^dKOAVQF!s#~Y)c|xNxR>e+c@{OWFhbyDI zt51bj7xBmEzCQtk;MIxc1jh`lIhD5I1zDmKYeL8jmXdKHRB%?TaEna6sP{Ch+rKoH)v%CvwL+~s3&V2w#uO;pe=x7)q~~<)pm*xCjw9bgi&Ou&SC=`b|KM) zjKxp0xCqV8Etdz27G2`v)6gWjM6GAo7~|R|@fe;M7)9;Gd@n{0b}I>9!YS(Sgg!># zfS8@E4XLDdvec^f4eTw%Y{_e1e#|OU?&x+Qn+Sp8ZwF{@L2%<6W#mb2-0s0`*t5#0|mATWI}@ zA$!!*2Fwh!bu?SFhttTMyDW=lyIFbnRyiGy+P2G{77}B2v*hFsh){{lAa|ajwFkD@ zo#D3KtZFT~c|Me+P1-w38#a^>fpzi@q>ifkhPKx(juo$? zil8{U>|v9QhYjlVt5$-F(1VNFdcmVQ_Uj0|(wYsR1MxbPwE5#j7VbV5_w2=>{&kVR zmo-RPPqRw@i1_WTcEpeFWmOXo%7~K;ts)LzQ7ZMJlpePQ+q)_}i%FrTqR+Ez2hIg@ zJjW_UrF&_?8f~fuBf*Hf!EJjbdu*p{Yta!~H0hQqo^5ij78>`kuUIzVANP3f=wV`&fbN%toyE#_VVE^HBbk z7rmcni}ASlJT~Dx;SkmKvqShCml_%`{@Ty(FGownAsym44Id_F5qAg>u(u?@7QtS* z18kJMFCar(jzR1MbH7jAVtiz|ow^V1u$ak;qn$wDdypBD#SG3ftfN2Z?u#%7u7QzA z^|2K`+A2O1HS%u;*2_4~{%*V08}r0BoYyz-Ofz|7{~PmY;|rqcvX0=;eR(~)+;?$t zg$rFHL}}fsL2bZ=b1wX17YBdjf zI(SFvpkwty)GT8X4ilDM5|_i9QiN;dRNORqmVeC)(O~yRJk|tRJM8z$^j>7Yd+?4* zPxZd|V6+$Y%ZqC7H5}O%Tq3R{|D&*R=qSGBDFkx!$=N@2>RG_1-041CW{T;2L<-uA zMszlW6!?+pSV8hsIImnE+hHibb6)x4=6ttY;cV>)#q6&wQiEaARDyLHizu=ABMfJX zP@6i9>!$w<=ZSutTRG>>so)l_Yq6HUZMa*JpoVLGtR2A*T$p5SIH^p&#>a_|)yI(w zSltr**c)c;3BJD=XDvLXEG@r<6Lx~mKZWys^bz96>Ew3D`|FPy+H4$FR#4E0s%;)L ze)(_4bMH2O+P<1exh8dA@!b{<*;^5nh0TX_>k36P8p{n-1m@bip+)sb?nSoTnjOp* zv{gu9))(hBIz7D=21mM;Nf{gziI#jUSqJqyB<$WkuUYR?5}0#dLO!?P)4F>GyYh)veV}on9mL-xR>XE8=D(%C5vW>DRunlEd8* z*6A?oYYGzw&|Z~cQ}`4EI?r9r{9CVHkZH7&R1Bf`PMS`9dRLmDA;!%b7IGOg9LT6& z;g{GL#lyOmL_#I$x93awdF@V;kfNpMO8nGGmFhuSP(OR&asCpd23!?_S1eGt9aTDY z%H!pw^B?PkN=5eEMSJ{>u~b(d}>h zgRGzqB9r_jxwIa4hLjY1TIp~X-JMB+w{`1r3TBILp*NwP&?4PI>0ni2)?6%A@Ow7P z%g2J%X^SlQSgF2|`Si?Y@B^f4-$l_RnkU^UcjeiSAC`(B#!#hlX3l2_-_`_S6%{V` zMo*uH1_s|A#=#9AYt|>4bruKt;S4{-)B245{5_Wr+c^)B)5x|8H&!7Lqf{6_-^qO$ z-5VS1=zerw@G?B5c1aB(K7?wt$gnFa`G%q4w!1uAZ%0@REW?x2 z78Go34=)yvA&@#U5Y4^Zk!S`R*IS!pKz8l^s7&c7?^B`ND8n<2E1N{s7@kD9Dyb7q;7dt#4%;nM%!=VD#`70NQ4CLRDt*Ct7UBs`eZ;^*w~wQsq>E=u z6_oU=gogzE`YVPfkY9oM^s7R zGY#yMeKLW!i+TQ4ou+lPwh@N)V+JG-M9h`QyTZr5iTtzj>e%FPj9RGc#T?9AM`@IS zRe~@QJ(GCVG&(<7N`-WOGPYGGV<%N8G`3J}M4IKOdwz76Sa^V?HBN-23MDyqcYf-S zcZkC5iJeFoZET-i2#Gx$FEolM8CBrQ3$$uPD{$oi=3lUCBk>@c5>2N*m>WWZo-Exd z9y`clG5@6`@H@_4JIKb9v-*eG6pSu*A7<%^a!v$N6^_LT$3p&W>(xydAW3QS`@`%9 zMxR>y735%wHht$UGW(N0Y#mRVsb74AXPpksyZC{dh$ktKBa^enzfx+V<}naU){ zi+~2p72Ko~f!uc*GA$0#MOCoozJP(IHMfw)5imLVh%|vD|M&}m)<@a6@_L;>;8XUF z;rf2DEV#h3^K6>~k*RYL>)y6q5j`$4Uxh>;lL8`5xO>4Wtl#G2uvm3c@0)anKNI7> zV%@|K7grg_l^__+8gXHHf^KA1r3MwjeRE^Ac+wjkI3> zjroi+!M!Y~Zn!Rsaxsv8ldW>W!a*JN7RhfA!n2a3mX4OhLUN>~?v9eBjqze$2(Jfw zM?!czJeZSvF{G&GFFsJE?|#<3qWJuiOE- z+aCF>3*|}hX@4lMl>IQ2(WslG0K+P}?W)uxbodSV8+tkTy#bQzKRjQhJWp|PPwlhY z;kg`}(OeOY_uMq$BUy+%pAiy&vPJV}D3z^842!#S!~_>l(?1cbUAz&NiofgPof<#` zik<}83yke>f*SaQ<-q^}BQuH)ni(BlWo7~%ULb05Mlo!aD46T4l z+oMB!>pr846)Aj`>%dmnLA9t}o>wgc7f@8uUGq@6PBqEWi1Iwcz*Cgx!g$glGE;dY z*P24x(Zp1~ME^RuvL+r>a&}whbj~Bv=PXJVOY*J)HJstn=^`*FuH8=;7lM zY05U}D1vzE9XGALsPYM7j+Zwtar3s9zgK$oL(uGA(KrBs~3YayS0%HSRGXkLS#DT9`T)^ul524la5HMs|w+P5ap#baAd?oGr(HjPxZ z;lWX)-}-vBoq^|T@_blpo5?G?o?LEY(=z!$V4r02q*k=k1so0Qj?lSNURe!E-|_2F zC`a5mROVO#u)EaBuShEGgmt?=myNBV=C+Q!AR1-y)a+G7!F4}QtERiNbUdpt8KM$t z)t%PzA9WmRSYCF{kfF%HwEj3?$gnYZ$3+KxSdHK8{s#GKM+uQ~T5D{t5mj^#(A>D6 z(D87(a|75+mS*_3KPQtW9idm@U?_IKk!)?t&+)#-bC zyc0B&T~Zo#lr(nMavG~u4w6>k1wZwfS#G)@PhJg&nbycuGIyI(3ylr4kYNy&f+# zTst1M3#PCkPJ$zLA`@VHPPR!guBJz%Z&GayHjfD(+c?vDw^W3k#4sU+lhA-d7m`_0U_BP>-U8~f3!J$p~6!4Nv z(J7Wy%Ezdijyc0J0Jy4bTy)Bn2Ikj#>7~Xv*MGO;PPal!0D`>|a!j|bA%EzsIqYz< z`$Zh|WM8L@%v8sTiGfXdf?wWw4p7aFQlAChaKP@0ZmgBsJge9-(z^9AIzM|)64`)} z^k4R&2xkrMilUxx!#bUqs(dfH^Nw!Sw($1`{d-eR`~K3J@&54}Ft=$RjpCA$4Ngat zGmT;tiB@D)7j z8r2H>dga;JBF*CKJ1#>br+YF&E#k?zJ3ZE28U4E!)|&QF1!qDN;0_x>aLACH=S{$e z6WWaPY~)T_L8Dn7c#28sL=l;TVPJx|FNfE0ZL^0$VoeUOSwRJ)YVsL-0U`KJsc^+N zIlMy7pElQ`aR%a%j3I%R<3WuzvOS5NP#Z9GsE^YZ=;#>DlL!N{3B@cXj6I1MXSKg)S^8}915~o}6@(u(puD9R~{SkDdOwd5|Ql#b|gW@`iFn0>l7H8F0v+DJk^rBV}m(E;mKYZ zF%TzP;6*Ys`jCAP?FBJK{Ku>LUVaTJgi(^HO5DtVnWyN#rAo-jKs`b zo{Xgc>vMSmtUaI08^_o=c&FGR+{od!ys=&}V728_h^xe*tw63-1s8a&9e>-PQ)$3w zg2O;R)nRl$_5wM-rD~-;;i&2l#U160YC=BwWtAr<@R;}wDsC@2+*rTM5S0~s!|Wk3 zwpd@nk_3Br8PkzBC>KwS5{HV>Bh!A=Mz=7yBk!DyJ&8p+QVxHwY|^O#!Q)$y0!W%W z)sdfqH0Qt5=43t2w1T7A7dr83E|TVGWPY_1E=sQ>QadB}dW*)LA=eHSy*l%rD8N0P z`4rcO#4`|ZMi)My^K)o+)+jkkhA0_0_=qYGdNpDoK5Ugj6&Q)50Hlyln@(vAdDfnX zL=P*iV~NU0vfmi$l4S8|7v9-L%gHE=W52k{$I(>xwM|&1dE=snzO#{rG4C7OGOi0J{j ze7hLhgRiqq8tFSkqn@Z{9xApWp=woFxPi1P3z<5O z4pl}xJ(4$o7VoQ(7$&3&=P2FI2jN#>B+-wZbsex%T+Zd}3JjmkBhB?;( zKP%u=H%zalp?^ThMS@R2ZB`|)dkmkfyIWIs^`fdmciEfgMD1~WFnkoaoeKKptK)dn zw3`r#Ng%_?8t$tG&e1@{kB1X1=a6a_r+X7F=orrv;cmou?hU<^KrL1*BS?s+#`6mB z>g0I70GB28n7}K+-pmO+vEo-vNuHxV0UJEpLi4uz6iIjxI!04RiNiH8<8o3QoxszL z`6tDt2|U$pL5>7twIBpibFCuEPUM67(fO{j@EwSYy$p;t_d!StvlXCwv44%S4vR%p z-r%A(l{FfyVFMRTDPu^-j{YkX(EA@tNkY6gk+)3G1+OxFvgqS|hyv-p@QAe^X?7Nh zCIvEic?EoD0#-m^!4J5DJn0grbGd6lbqVEzs5S|ol!A|0)wPvfyA8Js+g7c?k(PsW+1^JN$gs}zEBO=%K+&j(VEV1-Ze;gl7H zh!fLzt+*1)IFF5vUN=f|sZ=_)xTy=N5BKnAN@_J7w@sB$T%OK{ zx>UA{E)U>ve@m=-fTxvUM<3vE-WTKST8)Ky9t&%u+&-x93JXKrsa`{_!4bbbz*AzB zKXTAb>MW`*m1giXM-lFw?l1!b?O;Q9a%=HI( zOVRv6K7br-eUR7uA2@iL>~5OL`#F$1;?J2p%Lh3f8h*6?Fst%J>>8obDs80Dz~z0I zWkpeU_VZSWN=0Eemm6x@S6+Q?-8v}+E$|qqcELkJF_HfWHY0!fgL^mRoWd~kgX36&^bF53 zrcM{uMV=z6?&Q10&pY`u;>0dKLEO8WPZz6q^H@<~4?kFAOnyPeka1(i=a0@C>KUCs zc;cXm)3k!TNqJKzWsJ`sYmJp(LndW(vO07e8#uU^`wh`-A8#eL@8eg+y63q^yzxBG zN$T3XO>X<%HHPL*2|6D#MQfBkeX=%LY~Ih~0>%6JONLna0zV+`JIK3<=MVDt#Vdz+ zN0D@xpA~-|=5qoMAK^zGfo{imq#k(bC0@-Cajzf=_rJo+2Li9~`}IJB*Z3S=u-EzL zf!|)|F}jF;lg9+Ay~+1G#CIq8>*A$Tyn`_)PjorWmy176^O|CBw3#H@yu-72^Fd=P zP4bKzpEp)4f0t*8dhhXJfydv2I3eOc;BL|N1HMt*{s79v^&j%RV)_~Wn26X5iyJ@U zxq+)6aa^o=@Dn~#OgPJ%J0}eqJUUObI)`j%@+nUUjQSL{KJeVf{e&gju{?Ll3Fas*NdVK5l4U?pU!m#mp8d<;^~UKguIg#^@1ZiO1|8_`_pX zL&^Bed!i95H06nT1qFFSwIQR&6^NTY^O$(Ig4t1wNHgb)^mKEccs<=5D*9J6(?mff zbC;N1*(@7}dRH(ee@tG+pg|c!rwl2eKU#i)xL(<;AZk@HGXndon1@2dQiK5nI!&Er!-K>j{<#gn>e*Cx{=va6gDzb0$UoHZ{bqcCMfxzo0yd& zd)3KoFu>~8txIlB_iio4tj4HuJ(?nO7d18a>t^?EtunIe=CssWbQJm7X8-V!lhNLW z<`0>aKW=Q`(`<7>i0IPNoGZR)X;zG^?&&sdd|nf+Res*+p-qIllUYujZe>OVzG-DX zr;Dv^%&Kv@T{~vvcJX9o)~#LFQ!6tw(?em@w=Lsf+qHomx#kPHnBLCJ3Y=_b#_55p z?ae4d#B?;9lmq{?CQX`{ky}vEe9-ueZnd;dIW4=2i5<!Jn>xYuglv1_lIT7|5d zT20ZTr#U##qnC+hIJviZK&>Ov-6*)u9rh#iiOqavmee9^Qm_d^~1I6Cqs42bk&BeT17b~}Y z%PwB8S8~!&ZF0dRaIe85%?6IVu|vg`k>=dcdeaZ@u9PgqXjFvQv1V1*K&~~xPm~{r zX1IME0!o`;UU5dIJ`|?unx>(%x`JhXC+|1AJCDC@n6Hb-8Kx!jrfH~QL;hI?gfSD14Sst_DuxXn1(iBab z)kM?!P84S!Fl#vWoi#-G40DC!U2HQinqjsMDUVYK%-H;~QwELBAL<#CkCOC^ojhi6 z-b8gI!z{Cc|G9pe2H&)U>Nz4w)28G5X?#C`XCJ0%Gw>9{Y zcs{#C)BJe0sbiZzmZE8e_#O=Z$o}F5_H*_;8;?e|0rzXbwS|~w#hu2!@or7~JYLfl zH35iUCOmIi-hR&=q-oc?U{&a4!yJ69gQnH$3n0ffOop%bMQU1oVD#G!ytucf4OiyB z+^1<%mucEVutUFxmm(H;|FF>(Fu3v-$i}8$Yr&-Id7-qRF1V62lrX_W> zUDiM}S|A$lT*2uTv(3RB_k3fRBga1n|3Ja#67^oBo`lo;9#F9&!iY|T&V$_hG|jV5 zl$m4toLjFN<_@Z84~y64m?@5rzBK}u=a~KV(BdBqb0w}4zYHGx&^)u714jpnFXx&0 z{`apN<~hS0qRDEzwl!5<7d=JHQ%O2hX^BHO*A!;duU(Mb+K5k9^XOOwhC_`tA%5P<+xOxRuW`c&>))7(81dr%{~R zX8aj|XBJ{J5YK~cG!0I*q!y?wgd@U8gO*l7BrPykIe)}uu=j|pBMfIi9APf;&H^(& z0+(Z&jvtO5(X5woP3Er)OkbIA0XcP@Qg2=Q)i7&8wwY*Th=HC^Tn5G%ZoHUcG6Up-EbDO8HdHTK@;i-=k?>2u<&7C~Y!#>>q` zW@?$Me}NNRvVZ3;(c%-iuhrP>1=WnK$Ln&$G_EiGm`}^v7ej#oq zH{<#~vgd?1vu3@Bx8yEe z$rJp#Y2uHE%^3eBpl0trHmLQz5Bg{z(fzdkU@!x1wgRRy1WkDvd>@*pS-bEOG7KGq zX1#=0eS~Ixj;Aw!q^6-l|BUyr(YA+U&@Pw5XzaN0+62v7g?Al2XAz!TdKSY@VCgdR zv1)XAb0F)G`9U@3o}(dfdmO`u-Nr??B(H@7wjJ_v)kd?n5cG6RB%~>|f2=7OK|i<4&`Q z=sewwXW;#IVfb=R_n7eA&(*;jgFHK{!X9JwOC-yYe>-=+-{}IbX){#6|Hmy&b}4i z+7WSe4Y0xc5!mfDE>ZJzcss}YYhB{O)8Pjld)B)G4c`f080jcJ;0nC*d3c$_j>UVq z_+)*Aa2$V*2PSQZ*j2%C`z9CZ#SuLnXaC^BUmS7CeC0Mbb*OmWz0Jk=V-eptj{U_& zzn3D;)!a49G~Ho7(>LF@z&G1B$5+)?#iv;(0Y_HyRrWojz3YA7iz!8bKh846h?gUL zzD=`DGpd?5(=)E(n2IASdOTjwe$Cns)c7GCyDVm#;+dBt;+;2u)D~7uL~SsF19MCg z(r4jIG&mly$FXOgDZV`(vDfkKd{Y#?5>eav%mNc5s)5@hePZ+<5s@hB9Scn}M_iAO z$ic_LMfA}*AtDDY;HyP&^lC(N$MHwaz@=9sYQ{N^A2$Q>pGC|{bX>n_1~%M?nCftB zo*f>DyA|XtRu#DsIipaoA{>aw{I+ni|6?pi3WKZ33?SrVml`kTb zbYo8s;k*!;>-Yi-l{;UEOgGnm9A)a^nzjAoC^73oWJ1jk2ylZl;#ro2rx5z1F%qAo z5CyYkpTJHTaIR0H#OoI#eV%s#L?*&KF_He_hyG#CS=d5lUv@T1m=_}x%p(MpLzfAl z=EcZriMYSV%=#F%O|-{wPy{Fv6eVsB2v714MQ3v^$_(WY#y5jgp1{YV(5o#pZ9f_U z?8%0xO`tb4feMMl)DE!`enntoYHCDpQD*Sa|4}qM- zoX8+W8EnSzfrwf^F`smWCn12Gx;7UeyoSPa;mH-)CqD?Ur|>0+WQ`d%MtHWu3xOv9 zC()L0f37n46=LVejkc^yY3-tL$1J1@M6xf*(_IyQ6~nJbyW6rbv9In5Kl>o;0w>v+ z@Lmd!nF=o4&6br3?`z|JZDE0?oqz)>d@|^-9DINPihz?WP52;%PlNrjz)7|ye5k@l z7Q#M+agwzuyN4@WpMzoq#R8*T8l~_{qY$A{$p5kcDJu$;K^8nADyQ%n3P&fX5ydHd zp2A~+5nq{0Kp8lq(7 z(O!kmhU4?-w^M*SK?fDSZ>FZz0gjQI#E&YxGs=C=a7{~9_;KJAzBUhaKmI;V^C*MY zm4nTQ%rX$z%K0y&Oz&iPupJ)IXaJ)c?WD5z5d!Ru04rcLa3RWM>)`7Rd}Elf1K-}x zs1vaxP?_O|ir{1A?gu}@zZd0D5powfYzT*k;IIMHPrQv8MTXbJE`bu_K2!Y?U&AR@dH5v~TlNbWztw+j)e4to@ls}uZG*HI1#XmP$q za}d(wpOgm~z;^+!0l6M(#$(2nLbNwfO;{u!ZYYb>QOZP_z^F256K#)c^nhbfmcp6B z8+X(+B7ZGqP(~T-MZ+PwN8w2df2xzF5!F_Bn!;~ld`g7W%YZW!{#HLtBdV+Lx(eTp zND^U~OZNR*GiC6*N7IPvD+g^99*RH*uh6sxz+Iru3f~EiaBpJ`qOYA3y%hcdQuPz4 zk-`Tm{AFZi3zTJJ$TXKxwizhvT_f=aB68ss0P(P}7I_Vg&>H%ljc*4WGy{jm_aeu0 z58H~1Z1_y2KSKGu5%@Ty(*j0$KStrJ3ZWqaWTE{ zZH2FJBmDJlP3xcxK2!!H?}OF{ghWUOpDX<21E}U`P@T|GUX3zW7;90*h&sa}bq`mR z#kEy5Z9bY~7hn$1Hww?`qiK(Ux+>iNoiZrw4^;^WU4(RSP2rsp^+yqPJS6^;!UqC) z9ytC>{8xp~iPyAOK|K}zyTUVSYT9v7FNNQ-aliI6xLH^Q|-ryk*Aqz;;MrGnu_+n(`6;xM@!mfOW>U$W~w+X)cp?ZIh?`V9l%t!x*>W%LP z*^4x-cp)4OfG5;pMJkUP!=PoMrVUhh8HMj#25lo~5V$dUI0ZGe!3a_sSvTex2?^Ad^mR{#P1gD1!sY-ER=;Xy6Q# zsqjx>u@QO-3`z^HBk@W2-T+_6A~)%KJaYFsLLUcaf$s(fP*I7-D}Nd&f1UuZ@PN>X zNN(oOQ3ksKE?$bJh}?t+&99*pIu}AJfJI7auCg~3*v>kdHVK#u)Is4(Q8IqeWME{! zJ8HPH+WkO7L4A~qmypz-{YdLnfMKA4%HT56))Hx*hVj);NLxC-pFmon zTslDC(~;Ickk$v#tKs{1*VJj6wxp4*r=}1_D33y5aSL!%6xm;oRd_qp=>;Gd`(^G= zQwA?j)HEUlD5E+<;b+i&5fuWbM9)@ujg~0(`rxv_CVx5N)R+h z;cE+2|NAoP!h4{(%HT2O;6f{OCZKr=e^TM~2cTzzNArPm&|ZcA)D$fo_yUC=Quxir zh!F6F3V%i6yZxvmkE5?eX-khzDT5X$-*U}RB^3U#!k>iwV%UEOI0Ic!_)3)S=yVhV zFlv0?D*RDYl{fop8fuore^B@huxJ<9u^-h=8vLjX1|Wb5AXFMzkA6}34&>z~WW#dc zl;WETe;O9|17D%=kV!V18j1v*fj=u19;xt&z;6J5#K!$vyfSzJ0ep!nxk@?kDf|!u z_!Ib}3a_s4qir;eXf<#XR9E4z0wWR%w-o*fFrqaIZ!dAwv|9j))+&RZ%E6bwh}J25 zu)@CuMzmhxV-((^J9=)=2H;dQQx)C}sU_N|@L3AKf+D!$$Dd6wpe$Xi44wu?v{~V+ z6pqs)HKHPgZ&LVg3pI`CG2j&N4u!8lp%Xo>@VyF;L75Y60qzgOpM%PvR}w^0Fr2Nx z2!Bc8-TI-~fVL_84TZmfV!1UO%mJ$5KcdW!43zCLALKjOqlmn#?Cn4^sR1UiL*Zu? zzIHxZdIAidR0bE7!5Vnf9G*X=@b47#}@M7xO7kU_XIi0Xt9B4{@-7bq%-=iwc+N8#lZUM&$^8nhQUL12`m z_6q+NypiaT!n-Ma6qx@6&|%sW3a{_R01|XY;WHGz2B{_bNZ|_<-p1b% z!y(Ye%3!53*i{AG0rZK&H!A%1b{M6C&MJI|!p#)a9nd+2Kc{eUA9^CtrwV^j;UjV( zCV~8)DTCLQ!67hyqR$onzQQBpA)$lLEBteX*J*;WH|Pt6f1~hw^Dx{3eW~zY6rP8~ z5?!!y)c^bK%5t+FI(5)R<-k<<*)*gU^p(QPDf||)ljxGdy$bJ{g~1Q#vcjt?d}etF ze4r}|uP1SYKL8-n*UBJAIk*mt=o^LKtMKqtR8r7Yh4)hUK?F+lt-^;Wd@3-a?-V{( z;cJ1d_2bX?%3zu@IE3sW`a$7y6+U|yBudaVg)dWh+esK9gRU!lox&?Df=UYXqr$f- zJWva)7xWWwKQ+HS%HS)2L_aGBhZNpoDkKZgFA9HE;hSKW=vRfmqwu$Z5&fp{a|)k$ z55^au8w$UCzZ(Dl*aEQx{jLmtR1WI(gM1CTsqoth-_RIh4(JbshfTHX(4;5~OhC63 z9;0wfscJ;G6<%K9*Q=rYuUCVBrwpnngNkVLM1Lu~w!%-Kf)Y{JM>*F_;p^r><_6Kc zR~YcN3LoAdV@Qwz9N}wS6y6q*Byte{A%ot^pn5d4bD$7~4^((3WG9hR;lmZ4hmMIT zRN-S4{w3-OkxSu|6+RldMii!S{|setX#$!Oh$(|P3jYom5m)$Pg*UDMRThY*6(|8K z6ut>vD-lgK5WYs?xwA2b1kv;Z<Dh!m8n@R|yr*b40! zluX!PEfvPEdnZiEe1a!_zTWH%5lB#{x_ z9mEmI0#K&H0}2m8#Ujd5_)&!qx)+KwP%VYOrf~nsOvquNdz8T`WiS`ahN!l}&nWy7 zJRz#1@Xr-~0>wyFSK*fxzN!<3)S!9_|3TpyeUJ-%Q2zCm!Eef-cQ&{osDZ-&QusmS z4pBpeyQbp>zfK60s1ZIHzM~Z0G#!HwP-BJ1D|`d|AZj9Ul)qOQtV{w!05w$(sw%wg z1K`!5W(vPY;d@-@IYHS9Z>;cB5ZQ?=g|}4rA>=Yqj>0<-j_@^swo23--&7fUDhD$= zKw<&4Q1}3aXD&s#gIX$lxWbdcBZyile4N6^Beg`W6@I_MyVpnf^rww7@GApHE_xG24|Fm z@~}+QP2ry_{1s#;QFn!3R`@r-hnVI6;zKk@;ms628yP_~SmCV|-UD3<(GcKL|I<+!j0Q+F zR5|FW@SA8gM0pAy@c(snCty0(`ya<2#y(_(NMy-QR3eEOD#Vd2gD5K5vy_s;Gxojg z$961{D2kGVO1q?@qo}_msVHi+C(il5zcX*w)ph3b8Rqr<-M{;O?&Wv?o_iR2!7g0# zq>tWLUp0+~OQf$pL{I1Hj`Y(;LBFmqiBZkLgbg zXTW4s9;E+MA4MN4$-Q`tQOosqJ-Gf`v+D+1SZkp#72xMksD9d zH}HPsLJmRn8$A@!uVb&BxP$Kn*!}{2R3^`$IK-pz6xyfdIO9(~IwE5z#1<8Ifpcj* z&m%EHgqPA=HfNWTO#KplI&YfilCgSueJ%?xCFAtV^m0>}gT(j0##^Xn;k$Ik5Hdlp zrT4GM?k5xR*h6*oOE2PCADM*5A-Gz9fj#jMFJLlW2ydbvY|L9fG9^6jKP@e68^Ilx zOl2fkv4)W#*NTd~86?wa8awS)TYlezDKeRk$G+*LFPO;DS_u)WAX5um4 z->Ek(!}Q+b7y`QBU5!lLa`lfW$OC6N~&) zpRK<~qsT&iVYVmPDU4K+MHFJ^EO&vnoFI|K`jdK#$y|zLiT<`=)DP>ccyYM~^88=_ zRv$BpiBn%LcRU#jWLao1h6fYg7f|{x_$iHz=&LP}K!?;+L|5r}Vn|5?;akyn?6ohI&U!h^_@AMO#I5Lio9ZBw+l>R=#0Fo@7GIQ&!YjdQ$MVKT#36Vc}+jAH=^&z z>-tZ6R%1^5#&P0VIBQ`nTOWB-&lh(lK7M4Rjl89&>Ah$hd0Q`|pKHKiOy1Ee>-T4J z-zU4mS%0FAh34EIBk#IEL;YTEB>nHSOe$Ik6)9^eOr!MR-U;KGNst-`8aQ zd`kS=!cq(0)Zk4n*{`qBPi62hjC`zb)Jt$IBcJHo^zW*1D<=o^H}wc{ zZ?DhiM2vi+-=_aX+sLY zhqId_C-nvTGYuH-$*FAT_^+_Aoz5daxWH5TF|PT@kNReP9~Q~dUpe0oww;{Tcj-@H zk)QOB!sGgz&D1;cvxP%0aI7RNCco(4=uNqXBfsid`lnn;k>B()dO8;Q9gmw_o=pD0 zM^-u3f8B6qVtgG_tNa$qU&=8if8xx{6NU9-46l(h`i1&MxAF9q{DpIoBueY&x-kNh zvwC^`B{n8U||H|G8nZ$kK$sO=(Ou;X5; z$lVo;Me68p7iK4wrLBIY{!wMdA(E2g$;8zbzUQ_Y$>Rdo=qu?cA06e@8|ig=vNDoS zZ=z=~f=BY>9PLCiy*IBbQb4~U+d2M|*=3P}7FxN$Fgl48(%b4)9^wHkN!8n*Ujc1< zlfrr@ecjzmtVj{Pt6rE9xp0zC7g*?FVK;{|QdIAye}P5P^xpb&SfrTVPhWHew-s`s zK1hFm2=^dT98bnB8fu~QgUlyM2^ScyUow>Y2PvsPq#t^K5tdw}kJ8&>ky3i5-t#^l zs*uw9gv|5vPgdHTTx?;A3-o2Bkuv%W{R-MfF41S{=WgVrCS~<`dXkNal+zdLvxji} zXR|9VwXoE}Zm!Bmd3}YxhfX3D^ws)eUR9)`zE(d%-;qlCdVLUmL@rBO*l1xGokS|@ zoAuFj5~-qZ)lbn$q^iC{f0{lb)%2ZuLH1^ZpS72LbtK=kFqcju{BK6tg!WGKhKo`oz6PtrJYwf>8~osEgq*Zr<4Z~S~BF|WcTRsYak!xL`fWGcw1`yInFRW+(oC5qhJx$-m;fgfY zOX#1|Hqt~djmP>E?}3r)EtGYEhWE3Tq^Vv(&!TOlnO<41k44h;>iUY2+~rAgy|&&n z{{07^5-luTVPPS5%2~J zGwCGK+67wa+vp^6v))#(%Em<6=l$UpS1Nee%)HIa4}dgz+^YA}=hHUQK_8?iZwDhCEey4g!mEmO(ueE2=seO{e@HLIa2(0d zN9kp`0wP`XO#MF?NhZ2lm|&rOQQlEE<;lN3MZcDDJ(b+1&(JqA0f}_iXXzukrAK<` z^Ymw?F#jaCXFJD#p@nBtc|OpPcgZfWRG-HNMSAKh&Ub`8Lwf0}^$NEn5|KOgwff@> zIFY;b_2H~PQJ%>`eClW6O$#%b#YFn+yYvaXs>lF+kG`f7_X09d->Y9+y_&_V?!I z^~dFR(82;bj|_H!L;746n8N}?^dtJn{v2a66wgaP$Mj+ax%|j5{e<3^6FPFA{=-woB9a{@&k(9h{lw&LDF9@KNkQ*S;FGx40qNj(CO8GU~J z-DDpohSPXZZJ~&T0UY1Irt<3a;`(?xzlF2?Vf|u#KHdj^L@%#b%VZ8fM&YritLUXJ z;c_L((H3f0xc*}917wVTxjvjTHFAE!a;3hG^CXgK`}%qZ-qS|L>euQcd8-&1hjYl1 zi6$0KFr}{Dnr{bCD8QCB*Jp9OA`@^9Y2s#mJ9a-EP0Y<-&HXqnwa_M@KQIY62z2;> z*Y_Qn%#v{!I=bX^-d5j7rr^m!6gpWr%8|Y=gSWF3!tc=6&g7}n3?6aQ^VUyT)h|FX zG9B0(@D5)bqs0v1c)*&mocd%Yka+<3i7!TyM}dU_Z}COjvFy>ukc}bB>0}3;%mQ`= z{EH@)$!y?Az&Er=A#;E~0*+A~Nag~w4yL6ZO{;w&-*({m&Eqws@EZF08g_Q)ksX<@ z56tmoqH;PbAqyxlTqXv)z|B{4)4qo1_;?(T2lVf{F^eDz_0jq+`q)7h=@a$)OEXN8 z#dvJcO#SUN?%CP@{>%ktS;&~cldbwZ$H(JThtFbitSDPwD@q zeNBA1{=9x0{eLo^7Z=X{PwcQThXwkOl`im>{thdMpNsUk{(+t{nTLzCU!@<=zhU8GUv+*3YNJ(-uV?>IqcLjy@^eIg4$OgTH-jF>Jc}6d* z52BCAvwCHHAr{#f^RIXXwJmg^^T;L_xLR*V=aJ|1#(J-b+<(dQ`VIPSj&WqO-d3;4 zN+U1most&r1S4B4^w1lyF_9Pb-umTiOk}G*Nbk(XL|)Q|>#wpgk!|`YJ=u(vMz&j+ zV4*%1*`d$S+hCEG^?7=EEb@xJRL{$R5_wf$t)HIG`7xd2zmq~<4#9d0(|EO!*Yr*L ztt=3EUEiYLMcc?5`gVOSD~-IV@6;<}k+-s)YCghh7g z`}K)zWaM4_Q~fU5Mt19m!{hoJNaM(R7QS+UGBl3t(U0rz&^GeEeoD_|<0BvFKj~@o z5&2O6U7ttWWPI9d;q3X2Xq-v*>AB)t;e0&LN+TcX`Sb_rBl2%ORbNiq$bOxlFrMAd zAlgPgj`>#{`;r!>vC_yVE>K2)nNA`H^zwQ;+C~oQmGuX)$ftS@eI0#7KGW+=aQ@Ym z#*zQCP|pQg(l~NRZ>TS$ZRB&kiT)RDBZu|odQB|yh2B!XH@^RSFF9hNt%ZSH!;vrb zTlJ5*h9gJy41EkYl*m_lcm2C@%t6R8y_a5KECU}&er@3%3;QxT?&KSNfd1ZNoS@`e zeTcsGQ3fG$TpzBF=Y|zIp^wymE5HK=ZVun!dE)#ZW8qKk0|j{K{5^%ZJB`!hPEwwn z)F`xEQ*luSl#{AYcWzK8ZT@n7_p^iyM)-wfcU zs=s#r{A=Zn*{ zI0I}Ac%Gx(i2McY4fro#OiJ?UEOI>LBfjWH&HqoY#0Hs)a_FvWEw?Q1%WgOOmdV%;WJbY9h z!|{KD%`Idh&BBMgjP`Vts+ZQAae9>^h4l*hT=sq@JG_WqT_4Mdwv}9fa|$P}(7W_w zV8n~2u*Ffh*1`>!@+^p?*->--oxF^qq?mrQ{`F9%dgMYpPUH^yPrR9l6xVOp&oI-A zl)z)X{gM`%)ngh!N?I7Em%}0#=@08mdNU^_rSSZ8G+rN#MM~?_^i#}JBNyXwXlCol zv*S4dNf`@^ER3RYECeD6=FoLmfaB-wqBl%Nhj6yT$6In_V?L4Me!PX{&3cx zI8Na#scE5z3w+KB%Cmx6dU1U(Z8PYowtlhxLnb2|xm+)=f6etBsguIM{A*h3?)>dI z|KH>MuN&uoJ~p9>O%KrZKF-@K?4p+54_ipC)UVVtuu5ZH?5o&_;g&i!{(X=uNT6HF`Jw!x9YSq@mtRFN{U5)%)tn*2Q@uOBz`i zY~cW%N3PQ!(EFF(I|gyi*FVKRT*rp(BOYDRg#$y81afYKUj(*XZ*{a~!#ryKrS^osC;? zJr2maVoauK8KYrSTlO8n{epDE`ITs;C->Cgc3zXm>UQ16!XG>PM9J$8@hUwdB9O!ny}WR$)|FUh?yG8&Kh;7j^qF4WdssAJ+5JfRrxjq-9awrtAlPtug@ zBk`t9>rxoll=-awzWxfcy2x1l6TKqsd(wWK{)OHKACHgMkL$M zSzw|IoY9-$Bk)OjO8munKK9W`WU^jZzw1HXM^)zC9=rCCL$9FM#v(KIT6&M$IBm(Jcpmy`pwFGjGrSqR zLB(TlH`0?w?q`BghKKGJT3FbH|5l2LG8=tlG8?@g$X%Le@4z1cjVCg{Cv$;WQv#T; zwPHQJVEwykJOh}<`M1=<2n&zVIPxz&Q~!(wBFprtdUx7J zmg{r$ZM2Q7(3j}fv+1T1zAv2hCuTju(8Y=Tq=nC1pi&3kRgks%SNgPDId#c8oI7FSq@LBD@s~WM|D-pe zZRBbF5B&g^j8E$={KvvySY!hpCu^RmIal1BSmYVo7t!BgrIBa#;(7_%MmFjf>(4|V zWK)d4@e0aYnA4i`n>@$)`NvF7*l~Ojc^;VcC~(09PUrDV8iBO|*8^_>F916OssbB; zEx!X zQk!J5+~fS7#_y5%$i*M7z^)|OA3Pd4Hmg`_r8PEW{K)b14ZZ)wH;U31&Zgy4wyf~K zE&tZ#9vYTuMuT+11UdVM^IlDZ`lLZTj-f%3Yxtrei341mAHhDSSZdy8{F$G4yq-Td zh<}DQG znupTt3z*UVZPB6sv*@meI74V${O|oG7Z%G|VfvxyCsxtAYmP*-=y&Je`YFuU&H1@_ zOXqQ>b-RcczzS)Vz8R=;oR+-coI^t4{EA$PN_N|mv@N)av6YXi?4I-~^NXbxeu9%F zKF;!E&-srNpxl@7!vHt)hjXP~Y;-F1Y|4u*S`Y4Zd0q this._loadFile(reader.result, resolve, reject); - reader.readAsArrayBuffer(file); - return promise; + const fileData = await this._loadFile(file); + this._fileLength = fileData.length; + this._filePtr = fileData.ptr; } /** - * close archive + * Close archive */ close() { this._runCode.closeArchive(this._archive); @@ -50,7 +47,7 @@ class ArchiveReader { } /** - * detect if archive has encrypted data + * Detect if archive has encrypted data * @returns {boolean|null} null if could not be determined */ hasEncryptedData() { @@ -81,14 +78,14 @@ class ArchiveReader { /** * Set locale, defaults to: en_US.UTF-8 - * @param {string} locale + * @param {string} locale */ setLocale(locale) { this._locale = locale; } /** - * get archive entries + * Get archive entries * @param {boolean} skipExtraction * @param {string} except don't skip extraction for this entry */ @@ -124,7 +121,7 @@ class ArchiveReader { if (ptr < 0) { throw new Error(this._runCode.getError(this._archive)); } - entryData.fileData = this._wasmModule.HEAP8.slice( + entryData.fileData = this._wasmModule.HEAPU8.slice( ptr, ptr + entryData.size, ); @@ -139,13 +136,114 @@ class ArchiveReader { const array = new Uint8Array(fileBuffer); this._fileLength = array.length; this._filePtr = this._runCode.malloc(this._fileLength); - this._wasmModule.HEAP8.set(array, this._filePtr); + this._wasmModule.HEAPU8.set(array, this._filePtr); resolve(); } catch (error) { reject(error); } } + _loadFile(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + try { + const array = new Uint8Array(reader.result); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + resolve({ + ptr: filePtr, + length: array.length, + }); + } catch (error) { + reject(error); + } + }; + + reader.readAsArrayBuffer(file); + }); +} +} + +class ArchiveWriter { + + /** + * Archive writer + * @param {WasmModule} wasmModule emscripten module + */ + constructor(wasmModule) { + this._wasmModule = wasmModule; + this._runCode = wasmModule.runCode; + this._passphrase = null; + this._locale = "en_US.UTF-8"; + } + + async write(files, compression, format, passphrase = null) { + // In some cases archive size might be bigger than the sum of all files due to header size + let totalSize = files.reduce((acc, {file}) => acc + file.size, 0) + 512; + + const bufferPtr = this._runCode.malloc(totalSize); + const ptrSize = this._runCode.sizeOfSizeT(); + const outputSizePtr = this._runCode.malloc( this._runCode.sizeOfSizeT() ); + + const newArchive = this._runCode.startArchiveWrite( + compression, format, bufferPtr, totalSize, outputSizePtr, passphrase + ); + + for (const { file, pathname } of files) { + const fileData = await this._loadFile(file); + this._runCode.writeArchiveFile( + newArchive, pathname || file.name, fileData.length, fileData.ptr + ); + this._runCode.free(fileData.ptr); + } + + const closeStatus = this._runCode.closeArchiveWrite(newArchive); + const freeStatus = this._runCode.freeArchiveWrite(newArchive); + + if( closeStatus !== 0 || freeStatus !== 0 ) { + throw new Error(this._runCode.getError(newArchive)); + } + + const outputSizeBytes = this._wasmModule.HEAPU8.slice( + outputSizePtr, + outputSizePtr + ptrSize, + ); + + let outputSize = null; + if( ptrSize == 4 ) { + outputSize = new Uint32Array(outputSizeBytes)[0]; + } else if( ptrSize == 8 ) { + outputSize = new BigUint64Array(outputSizeBytes)[0]; + } else throw Error("Unexpected size of size_t: " + ptrSize); + + return this._wasmModule.HEAPU8.slice( + bufferPtr, + bufferPtr + outputSize, + ); + } + + _loadFile(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + try { + const array = new Uint8Array(reader.result); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + resolve({ + ptr: filePtr, + length: array.length, + }); + } catch (error) { + reject(error); + } + }; + + reader.readAsArrayBuffer(file); + }); + } + } var libarchive = (() => { @@ -154,7 +252,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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);removeRunDependency();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer);};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)}};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["z"])();Module["_archive_open"]=(a0,a1,a2,a3)=>(Module["_archive_open"]=wasmExports["A"])(a0,a1,a2,a3);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["B"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["C"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["D"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["G"])(a0);Module["_archive_entry_birthtime_nsec"]=a0=>(Module["_archive_entry_birthtime_nsec"]=wasmExports["H"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["I"])(a0);Module["_archive_entry_mtime_nsec"]=a0=>(Module["_archive_entry_mtime_nsec"]=wasmExports["J"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["K"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["L"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["M"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["N"])(a0);Module["_free"]=a0=>(Module["_free"]=wasmExports["O"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["P"])();Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["Q"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["R"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["T"])(a0);var stackSave=()=>(stackSave=wasmExports["U"])();var stackRestore=a0=>(stackRestore=wasmExports["V"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["W"])(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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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)}};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();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["E"])();Module["_archive_open"]=(a0,a1,a2,a3)=>(Module["_archive_open"]=wasmExports["F"])(a0,a1,a2,a3);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["G"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["H"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["I"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["J"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["K"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["L"])(a0);Module["_start_archive_write"]=(a0,a1,a2,a3,a4,a5)=>(Module["_start_archive_write"]=wasmExports["M"])(a0,a1,a2,a3,a4,a5);Module["_write_archive_file"]=(a0,a1,a2,a3)=>(Module["_write_archive_file"]=wasmExports["N"])(a0,a1,a2,a3);Module["_size_of_size_t"]=()=>(Module["_size_of_size_t"]=wasmExports["O"])();Module["_free"]=a0=>(Module["_free"]=wasmExports["P"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["Q"])();Module["_archive_entry_birthtime_nsec"]=a0=>(Module["_archive_entry_birthtime_nsec"]=wasmExports["R"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["S"])(a0);Module["_archive_entry_mtime_nsec"]=a0=>(Module["_archive_entry_mtime_nsec"]=wasmExports["T"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["U"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["V"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["W"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["X"])(a0);Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["Y"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["Z"])(a0);Module["_archive_write_close"]=a0=>(Module["_archive_write_close"]=wasmExports["$"])(a0);Module["_archive_write_free"]=a0=>(Module["_archive_write_free"]=wasmExports["aa"])(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(); return moduleArg.ready @@ -189,7 +287,7 @@ class WasmModule { "number", "number", "string", - "string" + "string", ]), // void * get_entry(void * archive) // return archive entry pointer @@ -217,10 +315,37 @@ class WasmModule { */ getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), // long archive_entry_mtime_nsec(struct archive_entry *); - getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", ["number"]), + getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", [ + "number", + ]), + // const char * archive_error_string(struct archive *); getError: this.cwrap("archive_error_string", "string", ["number"]), + // void *start_archive_write(char *filter, char *format, void *buff, size_t buffsize, size_t *outputsize, char *passphrase) + startArchiveWrite: this.cwrap("start_archive_write", "number", [ + "string", + "string", + "number", + "number", + "number", + "string", + ]), + + // void write_archive_file( void *a, char *pathname, size_t filesize , char *filedata ) + writeArchiveFile: this.cwrap("write_archive_file", null, [ + "number", + "string", + "number", + "number", + ]), + + // int archive_write_close(struct archive *); + closeArchiveWrite: this.cwrap("archive_write_close", "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 @@ -257,6 +382,7 @@ class WasmModule { string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), malloc: this.cwrap("malloc", "number", ["number"]), free: this.cwrap("free", null, ["number"]), + sizeOfSizeT: this.cwrap("size_of_size_t", "number", []), }; //console.log(this.runCode.getVersion()); } @@ -613,9 +739,9 @@ function generateUUID() { } let reader = null; +let writer = null; class LibArchiveWorker { - constructor(readyCallback) { LibArchiveWorker.readyCallback = readyCallback; } @@ -660,6 +786,10 @@ class LibArchiveWorker { reader.setLocale(locale); } + writeArchive(files, compression, format, passphrase) { + return writer.write(files, compression, format, passphrase); + } + close() { reader.close(); } @@ -667,6 +797,7 @@ class LibArchiveWorker { getWasmModule((wasmModule) => { reader = new ArchiveReader(wasmModule); + writer = new ArchiveWriter(wasmModule); LibArchiveWorker?.readyCallback(); }); diff --git a/lib/build/libarchive.js b/lib/build/libarchive.js index 67f8ff2..983f552 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["x"];updateMemoryViews();addOnInit(wasmExports["y"]);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}}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};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;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_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 getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};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,v:___syscall_fstat64,s:___syscall_lstat64,t:___syscall_newfstatat,w:___syscall_openat,r:___syscall_pipe,q:___syscall_poll,u:___syscall_stat64,k:__localtime_js,l:__mktime_js,m:__timegm_js,p:__tzset_js,b:_abort,h:_emscripten_memcpy_js,o:_emscripten_resize_heap,f:_environ_get,g:_environ_sizes_get,e:_exit,d:_fd_close,j:_fd_read,n:_fd_seek,c:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["z"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["A"])(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["B"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["C"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["D"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["E"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["G"])(a0);var _archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=a0=>(_archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=wasmExports["H"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["I"])(a0);var _archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=a0=>(_archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=wasmExports["J"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["K"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["L"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["M"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["N"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["O"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["P"])();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["Q"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["R"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["T"])(a0);var stackSave=()=>(stackSave=wasmExports["U"])();var stackRestore=a0=>(stackRestore=wasmExports["V"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["W"])(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 _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(); return moduleArg.ready diff --git a/lib/build/libarchive.wasm b/lib/build/libarchive.wasm index 5413f7c9057b4e90d72ed00930239ebff43757d4..9b9e93bbdd2ca834bdd3fc91b6409d87bf49ea4a 100755 GIT binary patch delta 402386 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 delta 126589 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 delta 181 zcmew;bytv|A+b1@k%57MadAUK0|VPcekFFM)@C4+e`9bfqhuRMl$C*znTeIB5yWQU zn$iIh+FZvh%rf~jXSUXyCLo_ZCo?ZQGcTQqV-HXng9HNuFL!!sNqkvqQE_H|9)keT z3ckq+T)txbd?4|>)QXb$)Vz|SN(KQ=1_pu2hq;s)1t&k}lAoNz9VE07WC&MLYEFK# Up0mG;D~rbD3*1X4AK=*t0Bh|w0RR91 diff --git a/lib/tools/lib.exports b/lib/tools/lib.exports index 4283aba..207bfb9 100644 --- a/lib/tools/lib.exports +++ b/lib/tools/lib.exports @@ -16,5 +16,10 @@ "_archive_read_has_encrypted_entries", "_archive_read_add_passphrase", "_free", - "_malloc" + "_malloc", + "_size_of_size_t", + "_start_archive_write", + "_write_archive_file", + "_archive_write_close", + "_archive_write_free" ] \ No newline at end of file diff --git a/lib/wrapper/main.c b/lib/wrapper/main.c index 9a96dde..84b1337 100644 --- a/lib/wrapper/main.c +++ b/lib/wrapper/main.c @@ -1,20 +1,20 @@ #define LIBARCHIVE_STATIC -//#include "emscripten.h" +// #include "emscripten.h" #include #include #include #include #include #include -#define EMSCRIPTEN_KEEPALIVE +#define EMSCRIPTEN_KEEPALIVE EMSCRIPTEN_KEEPALIVE -const char * get_version(){ +const char *get_version(){ return archive_version_string(); } EMSCRIPTEN_KEEPALIVE -void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale){ +void *archive_open(const void *buf, size_t size, const char *passphrase, const char *locale){ struct archive *a; int r; @@ -24,108 +24,89 @@ void* archive_open( const void *buf, size_t size, const char * passphrase, const archive_read_support_filter_all(a); archive_read_support_format_all(a); - if( passphrase ){ + if (passphrase) + { archive_read_add_passphrase(a, passphrase); } - + r = archive_read_open_memory(a, buf, size); - if (r != ARCHIVE_OK){ - fprintf(stderr, "Memory read error %d\n",r); - fprintf(stderr, "%s\n",archive_error_string(a)); + if (r != ARCHIVE_OK) + { + fprintf(stderr, "Memory read error %d\n", r); + fprintf(stderr, "%s\n", archive_error_string(a)); } return a; } EMSCRIPTEN_KEEPALIVE -const void* get_next_entry(void *archive){ +const void *get_next_entry(void *archive){ struct archive_entry *entry; - if( archive_read_next_header(archive,&entry) == ARCHIVE_OK ){ + if (archive_read_next_header(archive, &entry) == ARCHIVE_OK) + { return entry; - }else{ + } + else + { return NULL; } } EMSCRIPTEN_KEEPALIVE -void* get_filedata(void *archive,size_t buffsize){ - void *buff = malloc( buffsize ); - int read_size = archive_read_data(archive,buff,buffsize); - if( read_size < 0 ){ +void *get_filedata(void *archive, size_t buffsize){ + void *buff = malloc(buffsize); + int read_size = archive_read_data(archive, buff, buffsize); + if (read_size < 0) + { fprintf(stderr, "Error occured while reading file"); - return (void*) read_size; - }else{ + return (void *)read_size; + } + else + { return buff; } } EMSCRIPTEN_KEEPALIVE -void archive_close( void *archive ){ +void archive_close(void *archive){ int r = archive_read_free(archive); - if (r != ARCHIVE_OK){ - fprintf(stderr, "Error read free %d\n",r); - fprintf(stderr, "%s\n",archive_error_string(archive)); + if (r != ARCHIVE_OK) + { + fprintf(stderr, "Error read free %d\n", r); + fprintf(stderr, "%s\n", archive_error_string(archive)); } } -/* -#define MAXBUFLEN 1000000 EMSCRIPTEN_KEEPALIVE -int main(){ - char source[MAXBUFLEN + 1]; - FILE *fp = fopen("addon.zip", "r"); - if (fp != NULL) { - size_t newLen = fread(source, sizeof(char), MAXBUFLEN, fp); - if ( ferror( fp ) != 0 ) { - printf("Error reading file"); - } else { - source[newLen++] = '\0'; - void* arch = archive_open(source,newLen); - printf("arch: %d",arch); - void* entry = get_next_entry(arch); - size_t fsize = archive_entry_size(entry); - void* file = get_filedata(arch,fsize); - printf("file: %d",file); - } - fclose(fp); +void *start_archive_write(char *filter, char *format, void *buff, size_t buffsize, size_t *outputsize, char *passphrase){ + struct archive *a; + a = archive_write_new(); + archive_write_add_filter_by_name(a, filter); + archive_write_set_format_by_name(a, format); + + if(passphrase){ + archive_write_set_passphrase(a, passphrase); } -}*/ -/* -EMSCRIPTEN_KEEPALIVE -char* list_files( const void * buf, size_t size ){ + archive_write_open_memory(a, buff, buffsize, outputsize); + return a; +} - printf("list_files start\n"); - struct archive *a; +EMSCRIPTEN_KEEPALIVE +void write_archive_file( void *a, char *pathname, size_t filesize , void *filedata ){ struct archive_entry *entry; - int r; - char* fname = NULL; - const char* tmp; - printf("variables initialized\n"); - a = archive_read_new(); - archive_read_support_filter_all(a); - archive_read_support_format_all(a); - printf("libarchive initialized\n"); - r = archive_read_open_memory(a, buf, size); - if (r != ARCHIVE_OK){ - printf("Memory read error %d\n",r); - printf("%s\n",archive_error_string(a)); - exit(1); - } - printf("start read\n"); - while (archive_read_next_header(a, &entry) == ARCHIVE_OK) { - tmp = archive_entry_pathname(entry); - free(fname); - fname = malloc(strlen(tmp)); - strcpy(fname,tmp); - archive_read_data_skip(a); - } - printf("finish read\n"); - r = archive_read_free(a); - if (r != ARCHIVE_OK){ - printf("Error read free %d\n",r); - printf("%s\n",archive_error_string(a)); - exit(1); - } - return fname; + + entry = archive_entry_new(); + archive_entry_set_pathname(entry, pathname); + archive_entry_set_size(entry, filesize); + archive_entry_set_filetype(entry, AE_IFREG); + archive_entry_set_perm(entry, 0644); + archive_write_header(a, entry); + archive_write_data(a, filedata, filesize); + + archive_entry_free(entry); } -*/ + +EMSCRIPTEN_KEEPALIVE +int size_of_size_t(){ + return sizeof(size_t); +} \ No newline at end of file diff --git a/package.json b/package.json index ab918f1..8a143ab 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "build": "rollup --config ./rollup.config.js --environment BUILD:production", "build:dev": "rollup --config ./rollup.config.js --environment BUILD:development", "test": "jest --runInBand", + "lint": "eslint \"*/**/*.{ts,js,json}\"", + "lint:fix": "eslint \"*/**/*.{ts,js,json}\" --fix", "prettier:fix": "npx prettier . --write" }, "keywords": [ diff --git a/src/formats.ts b/src/formats.ts new file mode 100644 index 0000000..4f65830 --- /dev/null +++ b/src/formats.ts @@ -0,0 +1,50 @@ +export enum ArchiveFormat { + SEVEN_ZIP = "7zip", + AR = "ar", + ARBSD = "arbsd", + ARGNU = "argnu", + ARSVR4 = "arsvr4", + BIN = "bin", + BSDTAR = "bsdtar", + CD9660 = "cd9660", + CPIO = "cpio", + GNUTAR = "gnutar", + ISO = "iso", + ISO9660 = "iso9660", + MTREE = "mtree", + MTREE_CLASSIC = "mtree-classic", + NEWC = "newc", + ODC = "odc", + OLDTAR = "oldtar", + PAX = "pax", + PAXR = "paxr", + POSIX = "posix", + PWB = "pwb", + RAW = "raw", + RPAX = "rpax", + SHAR = "shar", + SHARDUMP = "shardump", + USTAR = "ustar", + V7TAR = "v7tar", + V7 = "v7", + WARC = "warc", + XAR = "xar", + ZIP = "zip", +} + +export enum ArchiveCompression { + B64ENCODE = "b64encode", + BZIP2 = "bzip2", + COMPRESS = "compress", + GRZIP = "grzip", + GZIP = "gzip", + LRZIP = "lrzip", + LZ4 = "lz4", + LZIP = "lzip", + LZMA = "lzma", + LZOP = "lzop", + UUENCODE = "uuencode", + XZ = "xz", + ZSTD = "zstd", + NONE = "none", +} diff --git a/src/libarchive.ts b/src/libarchive.ts index e08ceac..24da841 100644 --- a/src/libarchive.ts +++ b/src/libarchive.ts @@ -1,11 +1,18 @@ import { CompressedFile } from "./compressed-file.js"; import * as Comlink from "comlink"; +import { + cloneContent, + getObjectPropReference, + objectToArray, +} from "./utils.js"; +import { ArchiveCompression, ArchiveFormat } from "./formats.js"; +export { ArchiveCompression, ArchiveFormat } from "./formats.js"; -type ArchiveOptions = { +export type ArchiveOptions = { workerUrl: string | URL; }; -type ArchiveEntry = { +export type ArchiveEntry = { size: number; path: string; type: string; @@ -14,6 +21,19 @@ type ArchiveEntry = { fileName: string; }; +export type ArchiveEntryFile = { + file: ArchiveEntryFile; + pathname?: string; +}; + +export type ArchiveWriteOptions = { + files: ArchiveEntryFile[]; + outputFileName: string; + compression: ArchiveCompression; + format: ArchiveFormat; + passphrase: string | null; +}; + export class Archive { private static _options: ArchiveOptions; @@ -36,13 +56,51 @@ export class Archive { private _file: File | null; private _client: any; + static async write({ + files, + outputFileName, + compression, + format, + passphrase = null, + }: ArchiveWriteOptions) { + const _worker = new Worker(Archive._options.workerUrl, { + type: "module", + }); + + const Client = Comlink.wrap(_worker as any) as any; + // @ts-ignore - Promise.WithResolvers + let { promise: clientReady, resolve } = Promise.withResolvers(); + + const _client = await new Client( + Comlink.proxy(() => { + resolve(); + }), + ); + + await clientReady; + + const archiveData = await _client.writeArchive( + files, + compression, + format, + passphrase, + ); + + return new File([archiveData], outputFileName, { + type: "application/octet-stream", + }); + } + /** * Creates new archive instance from browser native File object * @param {File} file * @param {object} options * @returns {Archive} */ - static open(file: File, options: ArchiveOptions | null = null) { + static open( + file: File, + options: ArchiveOptions | null = null, + ): Promise { options = options || Archive._options || Archive.init(); const arch = new Archive(file, options); return arch.open(); @@ -63,7 +121,7 @@ export class Archive { this._file = file; } - async getClient() { + private async getClient() { if (!this._client) { const Client = Comlink.wrap(this._worker as any) as any; // @ts-ignore - Promise.WithResolvers @@ -83,7 +141,7 @@ export class Archive { * Prepares file for reading * @returns {Promise} archive instance */ - open() { + open(): Promise { return new Promise((resolve, _) => { this.getClient().then((client) => { client.open( @@ -110,7 +168,7 @@ export class Archive { * detect if archive has encrypted data * @returns {boolean|null} null if could not be determined */ - async hasEncryptedData() { + async hasEncryptedData(): Promise { const client = await this.getClient(); return await client.hasEncryptedData(); } @@ -135,7 +193,7 @@ export class Archive { * Returns object containing directory structure and file information * @returns {Promise} */ - async getFilesObject() { + async getFilesObject(): Promise { if (this._processed > 0) { return Promise.resolve().then(() => this._content); } @@ -143,7 +201,7 @@ export class Archive { const files = await client.listFiles(); files.forEach((entry: ArchiveEntry) => { - const [target, prop] = this._getProp(this._content, entry.path); + const [target, prop] = getObjectPropReference(this._content, entry.path); if (entry.type === "FILE") { target[prop] = new CompressedFile( entry.fileName, @@ -156,16 +214,16 @@ export class Archive { }); this._processed = 1; - return this._cloneContent(this._content); + return cloneContent(this._content); } - getFilesArray() { + getFilesArray(): Promise { return this.getFilesObject().then((obj) => { - return this._objectToArray(obj); + return objectToArray(obj); }); } - async extractSingleFile(target: string) { + async extractSingleFile(target: string): Promise { // Prevent extraction if worker already terminated if (this._worker === null) { throw new Error("Archive already closed"); @@ -184,7 +242,9 @@ export class Archive { * @param {Function} extractCallback * */ - async extractFiles(extractCallback: Function | undefined = undefined) { + async extractFiles( + extractCallback: Function | undefined = undefined, + ): Promise { if (this._processed > 1) { return Promise.resolve().then(() => this._content); } @@ -192,7 +252,7 @@ export class Archive { const files = await client.extractFiles(); files.forEach((entry: ArchiveEntry) => { - const [target, prop] = this._getProp(this._content, entry.path); + const [target, prop] = getObjectPropReference(this._content, entry.path); if (entry.type === "FILE") { target[prop] = new File([entry.fileData], entry.fileName, { type: "application/octet-stream", @@ -210,48 +270,6 @@ export class Archive { this._processed = 2; this._worker?.terminate(); - return this._cloneContent(this._content); - } - - _cloneContent(obj: any) { - if (obj instanceof File || obj instanceof CompressedFile || obj === null) - return obj; - const o: any = {}; - for (const prop of Object.keys(obj)) { - o[prop] = this._cloneContent(obj[prop]); - } - return o; - } - - _objectToArray(obj: any, path: string = "") { - const files: any[] = []; - for (const key of Object.keys(obj)) { - if ( - obj[key] instanceof File || - obj[key] instanceof CompressedFile || - obj[key] === null - ) { - files.push({ - file: obj[key] || key, - path: path, - }); - } else { - files.push(...this._objectToArray(obj[key], `${path}${key}/`)); - } - } - return files; - } - - _getProp(obj: any, path: string) { - const parts = path.split("/"); - if (parts[parts.length - 1] === "") parts.pop(); - let cur = obj, - prev = null; - for (const part of parts) { - cur[part] = cur[part] || {}; - prev = cur; - cur = cur[part]; - } - return [prev, parts[parts.length - 1]]; + return cloneContent(this._content); } } diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..63b5340 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,43 @@ +import { CompressedFile } from "./compressed-file"; + +export function cloneContent(obj: any) { + if (obj instanceof File || obj instanceof CompressedFile || obj === null) + return obj; + const o: any = {}; + for (const prop of Object.keys(obj)) { + o[prop] = cloneContent(obj[prop]); + } + return o; +} + +export function objectToArray(obj: any, path: string = "") { + const files: any[] = []; + for (const key of Object.keys(obj)) { + if ( + obj[key] instanceof File || + obj[key] instanceof CompressedFile || + obj[key] === null + ) { + files.push({ + file: obj[key] || key, + path: path, + }); + } else { + files.push(...objectToArray(obj[key], `${path}${key}/`)); + } + } + return files; +} + +export function getObjectPropReference(obj: any, path: string) { + const parts = path.split("/"); + if (parts[parts.length - 1] === "") parts.pop(); + let cur = obj, + prev = null; + for (const part of parts) { + cur[part] = cur[part] || {}; + prev = cur; + cur = cur[part]; + } + return [prev, parts[parts.length - 1]]; +} diff --git a/src/webworker/archive-reader.js b/src/webworker/archive-reader.js index 9aec7ab..989773c 100644 --- a/src/webworker/archive-reader.js +++ b/src/webworker/archive-reader.js @@ -10,7 +10,7 @@ const TYPE_MAP = { export class ArchiveReader { /** - * archive reader + * Archive reader * @param {WasmModule} wasmModule emscripten module */ constructor(wasmModule) { @@ -22,24 +22,21 @@ export class ArchiveReader { } /** - * open archive, needs to closed manually + * Open archive, needs to closed manually * @param {File} file */ - open(file) { + async open(file) { if (this._file !== null) { console.warn("Closing previous file"); this.close(); } - const { promise, resolve, reject } = Promise.withResolvers(); - this._file = file; - const reader = new FileReader(); - reader.onload = () => this._loadFile(reader.result, resolve, reject); - reader.readAsArrayBuffer(file); - return promise; + const fileData = await this._loadFile(file); + this._fileLength = fileData.length; + this._filePtr = fileData.ptr; } /** - * close archive + * Close archive */ close() { this._runCode.closeArchive(this._archive); @@ -50,7 +47,7 @@ export class ArchiveReader { } /** - * detect if archive has encrypted data + * Detect if archive has encrypted data * @returns {boolean|null} null if could not be determined */ hasEncryptedData() { @@ -88,7 +85,7 @@ export class ArchiveReader { } /** - * get archive entries + * Get archive entries * @param {boolean} skipExtraction * @param {string} except don't skip extraction for this entry */ @@ -124,7 +121,7 @@ export class ArchiveReader { if (ptr < 0) { throw new Error(this._runCode.getError(this._archive)); } - entryData.fileData = this._wasmModule.HEAP8.slice( + entryData.fileData = this._wasmModule.HEAPU8.slice( ptr, ptr + entryData.size, ); @@ -139,10 +136,31 @@ export class ArchiveReader { const array = new Uint8Array(fileBuffer); this._fileLength = array.length; this._filePtr = this._runCode.malloc(this._fileLength); - this._wasmModule.HEAP8.set(array, this._filePtr); + this._wasmModule.HEAPU8.set(array, this._filePtr); resolve(); } catch (error) { reject(error); } } + + _loadFile(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + try { + const array = new Uint8Array(reader.result); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + resolve({ + ptr: filePtr, + length: array.length, + }); + } catch (error) { + reject(error); + } + }; + + reader.readAsArrayBuffer(file); + }); + } } diff --git a/src/webworker/archive-writer.js b/src/webworker/archive-writer.js new file mode 100644 index 0000000..b1e7b8d --- /dev/null +++ b/src/webworker/archive-writer.js @@ -0,0 +1,83 @@ +export class ArchiveWriter { + /** + * Archive writer + * @param {WasmModule} wasmModule emscripten module + */ + constructor(wasmModule) { + this._wasmModule = wasmModule; + this._runCode = wasmModule.runCode; + this._passphrase = null; + this._locale = "en_US.UTF-8"; + } + + async write(files, compression, format, passphrase = null) { + // In some cases archive size might be bigger than the sum of all files due to header size + let totalSize = files.reduce((acc, { file }) => acc + file.size, 0) + 512; + + const bufferPtr = this._runCode.malloc(totalSize); + const ptrSize = this._runCode.sizeOfSizeT(); + const outputSizePtr = this._runCode.malloc(this._runCode.sizeOfSizeT()); + + const newArchive = this._runCode.startArchiveWrite( + compression, + format, + bufferPtr, + totalSize, + outputSizePtr, + passphrase, + ); + + for (const { file, pathname } of files) { + const fileData = await this._loadFile(file); + this._runCode.writeArchiveFile( + newArchive, + pathname || file.name, + fileData.length, + fileData.ptr, + ); + this._runCode.free(fileData.ptr); + } + + const closeStatus = this._runCode.closeArchiveWrite(newArchive); + const freeStatus = this._runCode.freeArchiveWrite(newArchive); + + if (closeStatus !== 0 || freeStatus !== 0) { + throw new Error(this._runCode.getError(newArchive)); + } + + const outputSizeBytes = this._wasmModule.HEAPU8.slice( + outputSizePtr, + outputSizePtr + ptrSize, + ); + + let outputSize = null; + if (ptrSize == 4) { + outputSize = new Uint32Array(outputSizeBytes)[0]; + } else if (ptrSize == 8) { + outputSize = new BigUint64Array(outputSizeBytes)[0]; + } else throw Error("Unexpected size of size_t: " + ptrSize); + + return this._wasmModule.HEAPU8.slice(bufferPtr, bufferPtr + outputSize); + } + + _loadFile(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + try { + const array = new Uint8Array(reader.result); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + resolve({ + ptr: filePtr, + length: array.length, + }); + } catch (error) { + reject(error); + } + }; + + reader.readAsArrayBuffer(file); + }); + } +} diff --git a/src/webworker/wasm-gen/libarchive.js b/src/webworker/wasm-gen/libarchive.js index 7a53a6f..f3931b3 100644 --- a/src/webworker/wasm-gen/libarchive.js +++ b/src/webworker/wasm-gen/libarchive.js @@ -309,9 +309,9 @@ var libarchive = (() => { var info = { a: wasmImports }; function receiveInstance(instance, module) { wasmExports = instance.exports; - wasmMemory = wasmExports["x"]; + wasmMemory = wasmExports["C"]; updateMemoryViews(); - addOnInit(wasmExports["y"]); + addOnInit(wasmExports["D"]); removeRunDependency("wasm-instantiate"); return wasmExports; } @@ -3102,6 +3102,43 @@ var libarchive = (() => { 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 = [ @@ -3118,10 +3155,6 @@ var libarchive = (() => { var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; return yday; }; - var convertI32PairToI53Checked = (lo, hi) => - (hi + 2097152) >>> 0 < 4194305 - !!lo - ? (lo >>> 0) + hi * 4294967296 - : NaN; function __localtime_js(time_low, time_high, tmPtr) { var time = convertI32PairToI53Checked(time_low, time_high); var date = new Date(time * 1e3); @@ -3271,6 +3304,9 @@ var libarchive = (() => { 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; @@ -3470,13 +3506,279 @@ var libarchive = (() => { return e.errno; } } - var getCFunc = (ident) => { - var func = Module["_" + ident]; - return func; + 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.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 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); @@ -3603,34 +3905,39 @@ var libarchive = (() => { var wasmImports = { i: ___syscall_dup, a: ___syscall_fcntl64, - v: ___syscall_fstat64, - s: ___syscall_lstat64, - t: ___syscall_newfstatat, - w: ___syscall_openat, - r: ___syscall_pipe, - q: ___syscall_poll, - u: ___syscall_stat64, - k: __localtime_js, - l: __mktime_js, - m: __timegm_js, - p: __tzset_js, + 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, - o: _emscripten_resize_heap, - f: _environ_get, - g: _environ_sizes_get, - e: _exit, - d: _fd_close, + p: _emscripten_resize_heap, + z: _environ_get, + A: _environ_sizes_get, + g: _exit, + e: _fd_close, j: _fd_read, - n: _fd_seek, - c: _fd_write, + o: _fd_seek, + d: _fd_write, + f: _strftime, }; var wasmExports = createWasm(); - var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["y"])(); + var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["D"])(); var _get_version = (Module["_get_version"] = () => - (_get_version = Module["_get_version"] = wasmExports["z"])()); + (_get_version = Module["_get_version"] = wasmExports["E"])()); var _archive_open = (Module["_archive_open"] = (a0, a1, a2, a3) => - (_archive_open = Module["_archive_open"] = wasmExports["A"])( + (_archive_open = Module["_archive_open"] = wasmExports["F"])( a0, a1, a2, @@ -3639,66 +3946,97 @@ var libarchive = (() => { var _archive_read_add_passphrase = (Module["_archive_read_add_passphrase"] = (a0, a1) => (_archive_read_add_passphrase = Module["_archive_read_add_passphrase"] = - wasmExports["B"])(a0, a1)); + wasmExports["G"])(a0, a1)); var _archive_error_string = (Module["_archive_error_string"] = (a0) => (_archive_error_string = Module["_archive_error_string"] = - wasmExports["C"])(a0)); + wasmExports["H"])(a0)); var _get_next_entry = (Module["_get_next_entry"] = (a0) => - (_get_next_entry = Module["_get_next_entry"] = wasmExports["D"])(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["E"])(a0, a1)); + (_get_filedata = Module["_get_filedata"] = wasmExports["J"])(a0, a1)); var _malloc = (Module["_malloc"] = (a0) => - (_malloc = Module["_malloc"] = wasmExports["F"])(a0)); + (_malloc = Module["_malloc"] = wasmExports["K"])(a0)); var _archive_close = (Module["_archive_close"] = (a0) => - (_archive_close = Module["_archive_close"] = wasmExports["G"])(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["H"])(a0)); + wasmExports["R"])(a0)); var _archive_entry_filetype = (Module["_archive_entry_filetype"] = (a0) => (_archive_entry_filetype = Module["_archive_entry_filetype"] = - wasmExports["I"])(a0)); + wasmExports["S"])(a0)); var _archive_entry_mtime_nsec = (Module["_archive_entry_mtime_nsec"] = ( a0, ) => (_archive_entry_mtime_nsec = Module["_archive_entry_mtime_nsec"] = - wasmExports["J"])(a0)); + wasmExports["T"])(a0)); var _archive_entry_pathname = (Module["_archive_entry_pathname"] = (a0) => (_archive_entry_pathname = Module["_archive_entry_pathname"] = - wasmExports["K"])(a0)); + wasmExports["U"])(a0)); var _archive_entry_pathname_utf8 = (Module["_archive_entry_pathname_utf8"] = (a0) => (_archive_entry_pathname_utf8 = Module["_archive_entry_pathname_utf8"] = - wasmExports["L"])(a0)); + wasmExports["V"])(a0)); var _archive_entry_size = (Module["_archive_entry_size"] = (a0) => - (_archive_entry_size = Module["_archive_entry_size"] = wasmExports["M"])( + (_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["N"])(a0)); - var _free = (Module["_free"] = (a0) => - (_free = Module["_free"] = wasmExports["O"])(a0)); - var ___errno_location = () => (___errno_location = wasmExports["P"])(); + 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["Q"])(a0)); + wasmExports["Y"])(a0)); var _archive_read_data_skip = (Module["_archive_read_data_skip"] = (a0) => (_archive_read_data_skip = Module["_archive_read_data_skip"] = - wasmExports["R"])(a0)); + 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["T"])(a0); - var stackSave = () => (stackSave = wasmExports["U"])(); - var stackRestore = (a0) => (stackRestore = wasmExports["V"])(a0); - var stackAlloc = (a0) => (stackAlloc = wasmExports["W"])(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; diff --git a/src/webworker/wasm-gen/libarchive.wasm b/src/webworker/wasm-gen/libarchive.wasm index 5413f7c9057b4e90d72ed00930239ebff43757d4..9b9e93bbdd2ca834bdd3fc91b6409d87bf49ea4a 100644 GIT binary patch delta 402386 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 delta 126589 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 this.allocate(this.intArrayFromString(str), "i8", 0), malloc: this.cwrap("malloc", "number", ["number"]), free: this.cwrap("free", null, ["number"]), + sizeOfSizeT: this.cwrap("size_of_size_t", "number", []), }; //console.log(this.runCode.getVersion()); } diff --git a/src/webworker/worker.js b/src/webworker/worker.js index 7d38138..90f5484 100644 --- a/src/webworker/worker.js +++ b/src/webworker/worker.js @@ -1,8 +1,10 @@ import { ArchiveReader } from "./archive-reader"; +import { ArchiveWriter } from "./archive-writer"; import { getWasmModule } from "./wasm-module"; import * as Comlink from "comlink/dist/esm/comlink.mjs"; let reader = null; +let writer = null; class LibArchiveWorker { constructor(readyCallback) { @@ -49,6 +51,10 @@ class LibArchiveWorker { reader.setLocale(locale); } + writeArchive(files, compression, format, passphrase) { + return writer.write(files, compression, format, passphrase); + } + close() { reader.close(); } @@ -56,6 +62,7 @@ class LibArchiveWorker { getWasmModule((wasmModule) => { reader = new ArchiveReader(wasmModule); + writer = new ArchiveWriter(wasmModule); LibArchiveWorker?.readyCallback(); }); diff --git a/test/files/archives/README.md b/test/files/archives/README.md new file mode 100644 index 0000000..c75dfc8 --- /dev/null +++ b/test/files/archives/README.md @@ -0,0 +1 @@ +# Adjaranet plugin for Kodi diff --git a/test/files/archives/README.md.gz b/test/files/archives/README.md.gz deleted file mode 100644 index 7524f366cd5b5ba02cc9721aaa3b699ad88fe290..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61 zcmb2|=HO_|@sDO<2y%6F@paY9O<`b^VR-ysS-~+SE3qgsFSSIWAg44vGfyEczevG5 QKP8jvuEk;@83qOh05O*md;kCd diff --git a/test/files/index.html b/test/files/index.html index a097ecf..ec1d46c 100644 --- a/test/files/index.html +++ b/test/files/index.html @@ -67,10 +67,10 @@ try { const file = e.currentTarget.files[0]; const archive = await Archive.open(file); - console.log(await archive.getFilesObject()); + //console.log(await archive.getFilesObject()); //console.log( await archive.getFilesArray() ); obj = await archive.extractFiles(); - console.log(await archive.getFilesObject()); + //console.log(await archive.getFilesObject()); //console.log( await archive.getFilesArray() ); obj = await fileChecksums(obj); } catch (err) { diff --git a/test/files/write-archive.html b/test/files/write-archive.html new file mode 100644 index 0000000..8b4ddd9 --- /dev/null +++ b/test/files/write-archive.html @@ -0,0 +1,110 @@ + + + + test webworker + + + + + + + diff --git a/test/main.test.js b/test/main.test.js index d5c863a..0d83f89 100644 --- a/test/main.test.js +++ b/test/main.test.js @@ -41,6 +41,13 @@ describe("extract various compression types", () => { expect(encrypted).toEqual(true); expect(files).toEqual(checksum); }, 16000); + + test("create new tar.gz archive", async () => { + await navigate(page, "write-archive.html"); + await inputFile("archives/README.md", page); + const checksums = await response(page); + expect(checksums["README.md"]).toEqual(checksum["README.md"]); + }, 16000); }); afterAll(() => { From b5c96a9f70a5374188ed158c2ddb220feb2688ac Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Wed, 17 Jan 2024 00:04:29 +0400 Subject: [PATCH 08/13] Feature: Nodejs support --- dist/build/compiled/libarchive-browser.d.ts | 1 + dist/build/compiled/libarchive-node.d.ts | 1 + dist/build/compiled/libarchive.d.ts | 7 +- dist/libarchive-node.mjs | 697 +++ dist/libarchive.js | 30 +- dist/worker-bundle-node.mjs | 4874 ++++++++++++++++++ dist/worker-bundle.js | 5125 +++++++++++++++++-- jest.config.js | 180 - lib/tools/build.sh | 2 +- package.json | 22 +- rollup.config.js | 32 +- src/libarchive-node.ts | 27 + src/libarchive.ts | 38 +- src/webworker/archive-reader.js | 40 +- src/webworker/archive-writer.js | 28 +- src/webworker/browser-worker.js | 4 + src/webworker/node-worker.js | 6 + src/webworker/wasm-module.js | 6 - src/webworker/worker.js | 12 +- test/checksum-utils.mjs | 24 + test/files/encryption.html | 42 +- test/files/index.html | 42 +- test/files/test-single.html | 42 +- test/files/write-archive.html | 45 +- test/node.test.mjs | 20 + 25 files changed, 10361 insertions(+), 986 deletions(-) create mode 100644 dist/build/compiled/libarchive-browser.d.ts create mode 100644 dist/build/compiled/libarchive-node.d.ts create mode 100644 dist/libarchive-node.mjs create mode 100644 dist/worker-bundle-node.mjs delete mode 100644 jest.config.js create mode 100644 src/libarchive-node.ts create mode 100644 src/webworker/browser-worker.js create mode 100644 src/webworker/node-worker.js create mode 100644 test/checksum-utils.mjs create mode 100644 test/node.test.mjs diff --git a/dist/build/compiled/libarchive-browser.d.ts b/dist/build/compiled/libarchive-browser.d.ts new file mode 100644 index 0000000..7e5874b --- /dev/null +++ b/dist/build/compiled/libarchive-browser.d.ts @@ -0,0 +1 @@ +export * from "./libarchive"; diff --git a/dist/build/compiled/libarchive-node.d.ts b/dist/build/compiled/libarchive-node.d.ts new file mode 100644 index 0000000..7e5874b --- /dev/null +++ b/dist/build/compiled/libarchive-node.d.ts @@ -0,0 +1 @@ +export * from "./libarchive"; diff --git a/dist/build/compiled/libarchive.d.ts b/dist/build/compiled/libarchive.d.ts index 711b8a3..155e3a4 100644 --- a/dist/build/compiled/libarchive.d.ts +++ b/dist/build/compiled/libarchive.d.ts @@ -1,7 +1,9 @@ import { ArchiveCompression, ArchiveFormat } from "./formats.js"; export { ArchiveCompression, ArchiveFormat } from "./formats.js"; export type ArchiveOptions = { - workerUrl: string | URL; + workerUrl?: string | URL; + worker?: any; + comlinkWrapper?: any; }; export type ArchiveEntry = { size: number; @@ -34,7 +36,8 @@ export declare class Archive { private _processed; private _file; private _client; - static write({ files, outputFileName, compression, format, passphrase }: ArchiveWriteOptions): Promise; + static getWorker(options: ArchiveOptions): any; + static write({ files, outputFileName, compression, format, passphrase, }: ArchiveWriteOptions): Promise; /** * Creates new archive instance from browser native File object * @param {File} file diff --git a/dist/libarchive-node.mjs b/dist/libarchive-node.mjs new file mode 100644 index 0000000..4b4e563 --- /dev/null +++ b/dist/libarchive-node.mjs @@ -0,0 +1,697 @@ +import { Worker as Worker$1 } from 'worker_threads'; +import { URL as URL$1 } from 'url'; + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +const proxyMarker = Symbol("Comlink.proxy"); +const createEndpoint = Symbol("Comlink.endpoint"); +const releaseProxy = Symbol("Comlink.releaseProxy"); +const finalizer = Symbol("Comlink.finalizer"); +const throwMarker = Symbol("Comlink.thrown"); +const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function"; +/** + * Internal transfer handle to handle objects marked to proxy. + */ +const proxyTransferHandler = { + canHandle: (val) => isObject(val) && val[proxyMarker], + serialize(obj) { + const { port1, port2 } = new MessageChannel(); + expose(obj, port1); + return [port2, [port2]]; + }, + deserialize(port) { + port.start(); + return wrap(port); + }, +}; +/** + * Internal transfer handler to handle thrown exceptions. + */ +const throwTransferHandler = { + canHandle: (value) => isObject(value) && throwMarker in value, + serialize({ value }) { + let serialized; + if (value instanceof Error) { + serialized = { + isError: true, + value: { + message: value.message, + name: value.name, + stack: value.stack, + }, + }; + } + else { + serialized = { isError: false, value }; + } + return [serialized, []]; + }, + deserialize(serialized) { + if (serialized.isError) { + throw Object.assign(new Error(serialized.value.message), serialized.value); + } + throw serialized.value; + }, +}; +/** + * Allows customizing the serialization of certain values. + */ +const transferHandlers = new Map([ + ["proxy", proxyTransferHandler], + ["throw", throwTransferHandler], +]); +function isAllowedOrigin(allowedOrigins, origin) { + for (const allowedOrigin of allowedOrigins) { + if (origin === allowedOrigin || allowedOrigin === "*") { + return true; + } + if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) { + return true; + } + } + return false; +} +function expose(obj, ep = globalThis, allowedOrigins = ["*"]) { + ep.addEventListener("message", function callback(ev) { + if (!ev || !ev.data) { + return; + } + if (!isAllowedOrigin(allowedOrigins, ev.origin)) { + console.warn(`Invalid origin '${ev.origin}' for comlink proxy`); + return; + } + const { id, type, path } = Object.assign({ path: [] }, ev.data); + const argumentList = (ev.data.argumentList || []).map(fromWireValue); + let returnValue; + try { + const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj); + const rawValue = path.reduce((obj, prop) => obj[prop], obj); + switch (type) { + case "GET" /* MessageType.GET */: + { + returnValue = rawValue; + } + break; + case "SET" /* MessageType.SET */: + { + parent[path.slice(-1)[0]] = fromWireValue(ev.data.value); + returnValue = true; + } + break; + case "APPLY" /* MessageType.APPLY */: + { + returnValue = rawValue.apply(parent, argumentList); + } + break; + case "CONSTRUCT" /* MessageType.CONSTRUCT */: + { + const value = new rawValue(...argumentList); + returnValue = proxy(value); + } + break; + case "ENDPOINT" /* MessageType.ENDPOINT */: + { + const { port1, port2 } = new MessageChannel(); + expose(obj, port2); + returnValue = transfer(port1, [port1]); + } + break; + case "RELEASE" /* MessageType.RELEASE */: + { + returnValue = undefined; + } + break; + default: + return; + } + } + catch (value) { + returnValue = { value, [throwMarker]: 0 }; + } + Promise.resolve(returnValue) + .catch((value) => { + return { value, [throwMarker]: 0 }; + }) + .then((returnValue) => { + const [wireValue, transferables] = toWireValue(returnValue); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + if (type === "RELEASE" /* MessageType.RELEASE */) { + // detach and deactive after sending release response above. + ep.removeEventListener("message", callback); + closeEndPoint(ep); + if (finalizer in obj && typeof obj[finalizer] === "function") { + obj[finalizer](); + } + } + }) + .catch((error) => { + // Send Serialization Error To Caller + const [wireValue, transferables] = toWireValue({ + value: new TypeError("Unserializable return value"), + [throwMarker]: 0, + }); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + }); + }); + if (ep.start) { + ep.start(); + } +} +function isMessagePort(endpoint) { + return endpoint.constructor.name === "MessagePort"; +} +function closeEndPoint(endpoint) { + if (isMessagePort(endpoint)) + endpoint.close(); +} +function wrap(ep, target) { + return createProxy(ep, [], target); +} +function throwIfProxyReleased(isReleased) { + if (isReleased) { + throw new Error("Proxy has been released and is not useable"); + } +} +function releaseEndpoint(ep) { + return requestResponseMessage(ep, { + type: "RELEASE" /* MessageType.RELEASE */, + }).then(() => { + closeEndPoint(ep); + }); +} +const proxyCounter = new WeakMap(); +const proxyFinalizers = "FinalizationRegistry" in globalThis && + new FinalizationRegistry((ep) => { + const newCount = (proxyCounter.get(ep) || 0) - 1; + proxyCounter.set(ep, newCount); + if (newCount === 0) { + releaseEndpoint(ep); + } + }); +function registerProxy(proxy, ep) { + const newCount = (proxyCounter.get(ep) || 0) + 1; + proxyCounter.set(ep, newCount); + if (proxyFinalizers) { + proxyFinalizers.register(proxy, ep, proxy); + } +} +function unregisterProxy(proxy) { + if (proxyFinalizers) { + proxyFinalizers.unregister(proxy); + } +} +function createProxy(ep, path = [], target = function () { }) { + let isProxyReleased = false; + const proxy = new Proxy(target, { + get(_target, prop) { + throwIfProxyReleased(isProxyReleased); + if (prop === releaseProxy) { + return () => { + unregisterProxy(proxy); + releaseEndpoint(ep); + isProxyReleased = true; + }; + } + if (prop === "then") { + if (path.length === 0) { + return { then: () => proxy }; + } + const r = requestResponseMessage(ep, { + type: "GET" /* MessageType.GET */, + path: path.map((p) => p.toString()), + }).then(fromWireValue); + return r.then.bind(r); + } + return createProxy(ep, [...path, prop]); + }, + set(_target, prop, rawValue) { + throwIfProxyReleased(isProxyReleased); + // FIXME: ES6 Proxy Handler `set` methods are supposed to return a + // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯ + const [value, transferables] = toWireValue(rawValue); + return requestResponseMessage(ep, { + type: "SET" /* MessageType.SET */, + path: [...path, prop].map((p) => p.toString()), + value, + }, transferables).then(fromWireValue); + }, + apply(_target, _thisArg, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const last = path[path.length - 1]; + if (last === createEndpoint) { + return requestResponseMessage(ep, { + type: "ENDPOINT" /* MessageType.ENDPOINT */, + }).then(fromWireValue); + } + // We just pretend that `bind()` didn’t happen. + if (last === "bind") { + return createProxy(ep, path.slice(0, -1)); + } + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "APPLY" /* MessageType.APPLY */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + construct(_target, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "CONSTRUCT" /* MessageType.CONSTRUCT */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + }); + registerProxy(proxy, ep); + return proxy; +} +function myFlat(arr) { + return Array.prototype.concat.apply([], arr); +} +function processArguments(argumentList) { + const processed = argumentList.map(toWireValue); + return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))]; +} +const transferCache = new WeakMap(); +function transfer(obj, transfers) { + transferCache.set(obj, transfers); + return obj; +} +function proxy(obj) { + return Object.assign(obj, { [proxyMarker]: true }); +} +function toWireValue(value) { + for (const [name, handler] of transferHandlers) { + if (handler.canHandle(value)) { + const [serializedValue, transferables] = handler.serialize(value); + return [ + { + type: "HANDLER" /* WireValueType.HANDLER */, + name, + value: serializedValue, + }, + transferables, + ]; + } + } + return [ + { + type: "RAW" /* WireValueType.RAW */, + value, + }, + transferCache.get(value) || [], + ]; +} +function fromWireValue(value) { + switch (value.type) { + case "HANDLER" /* WireValueType.HANDLER */: + return transferHandlers.get(value.name).deserialize(value.value); + case "RAW" /* WireValueType.RAW */: + return value.value; + } +} +function requestResponseMessage(ep, msg, transfers) { + return new Promise((resolve) => { + const id = generateUUID(); + ep.addEventListener("message", function l(ev) { + if (!ev.data || !ev.data.id || ev.data.id !== id) { + return; + } + ep.removeEventListener("message", l); + resolve(ev.data); + }); + if (ep.start) { + ep.start(); + } + ep.postMessage(Object.assign({ id }, msg), transfers); + }); +} +function generateUUID() { + return new Array(4) + .fill(0) + .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)) + .join("-"); +} + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +function nodeEndpoint(nep) { + const listeners = new WeakMap(); + return { + postMessage: nep.postMessage.bind(nep), + addEventListener: (_, eh) => { + const l = (data) => { + if ("handleEvent" in eh) { + eh.handleEvent({ data }); + } + else { + eh({ data }); + } + }; + nep.on("message", l); + listeners.set(eh, l); + }, + removeEventListener: (_, eh) => { + const l = listeners.get(eh); + if (!l) { + return; + } + nep.off("message", l); + listeners.delete(eh); + }, + start: nep.start && nep.start.bind(nep), + }; +} + +/** + * Represents compressed file before extraction + */ +class CompressedFile { + constructor(name, size, path, lastModified, archiveRef) { + this._name = name; + this._size = size; + this._path = path; + this._lastModified = lastModified; + this._archiveRef = archiveRef; + } + /** + * File name + */ + get name() { + return this._name; + } + /** + * File size + */ + get size() { + return this._size; + } + /* + * Last modified nano seconds + */ + get lastModified() { + return this._lastModified; + } + /** + * Extract file from archive + * @returns {Promise} extracted file + */ + extract() { + return this._archiveRef.extractSingleFile(this._path); + } +} + +function cloneContent(obj) { + if (obj instanceof File || obj instanceof CompressedFile || obj === null) + return obj; + const o = {}; + for (const prop of Object.keys(obj)) { + o[prop] = cloneContent(obj[prop]); + } + return o; +} +function objectToArray(obj, path = "") { + const files = []; + for (const key of Object.keys(obj)) { + if (obj[key] instanceof File || + obj[key] instanceof CompressedFile || + obj[key] === null) { + files.push({ + file: obj[key] || key, + path: path, + }); + } + else { + files.push(...objectToArray(obj[key], `${path}${key}/`)); + } + } + return files; +} +function getObjectPropReference(obj, path) { + const parts = path.split("/"); + if (parts[parts.length - 1] === "") + parts.pop(); + let cur = obj, prev = null; + for (const part of parts) { + cur[part] = cur[part] || {}; + prev = cur; + cur = cur[part]; + } + return [prev, parts[parts.length - 1]]; +} + +var ArchiveFormat; +(function (ArchiveFormat) { + ArchiveFormat["SEVEN_ZIP"] = "7zip"; + ArchiveFormat["AR"] = "ar"; + ArchiveFormat["ARBSD"] = "arbsd"; + ArchiveFormat["ARGNU"] = "argnu"; + ArchiveFormat["ARSVR4"] = "arsvr4"; + ArchiveFormat["BIN"] = "bin"; + ArchiveFormat["BSDTAR"] = "bsdtar"; + ArchiveFormat["CD9660"] = "cd9660"; + ArchiveFormat["CPIO"] = "cpio"; + ArchiveFormat["GNUTAR"] = "gnutar"; + ArchiveFormat["ISO"] = "iso"; + ArchiveFormat["ISO9660"] = "iso9660"; + ArchiveFormat["MTREE"] = "mtree"; + ArchiveFormat["MTREE_CLASSIC"] = "mtree-classic"; + ArchiveFormat["NEWC"] = "newc"; + ArchiveFormat["ODC"] = "odc"; + ArchiveFormat["OLDTAR"] = "oldtar"; + ArchiveFormat["PAX"] = "pax"; + ArchiveFormat["PAXR"] = "paxr"; + ArchiveFormat["POSIX"] = "posix"; + ArchiveFormat["PWB"] = "pwb"; + ArchiveFormat["RAW"] = "raw"; + ArchiveFormat["RPAX"] = "rpax"; + ArchiveFormat["SHAR"] = "shar"; + ArchiveFormat["SHARDUMP"] = "shardump"; + ArchiveFormat["USTAR"] = "ustar"; + ArchiveFormat["V7TAR"] = "v7tar"; + ArchiveFormat["V7"] = "v7"; + ArchiveFormat["WARC"] = "warc"; + ArchiveFormat["XAR"] = "xar"; + ArchiveFormat["ZIP"] = "zip"; +})(ArchiveFormat || (ArchiveFormat = {})); +var ArchiveCompression; +(function (ArchiveCompression) { + ArchiveCompression["B64ENCODE"] = "b64encode"; + ArchiveCompression["BZIP2"] = "bzip2"; + ArchiveCompression["COMPRESS"] = "compress"; + ArchiveCompression["GRZIP"] = "grzip"; + ArchiveCompression["GZIP"] = "gzip"; + ArchiveCompression["LRZIP"] = "lrzip"; + ArchiveCompression["LZ4"] = "lz4"; + ArchiveCompression["LZIP"] = "lzip"; + ArchiveCompression["LZMA"] = "lzma"; + ArchiveCompression["LZOP"] = "lzop"; + ArchiveCompression["UUENCODE"] = "uuencode"; + ArchiveCompression["XZ"] = "xz"; + ArchiveCompression["ZSTD"] = "zstd"; + ArchiveCompression["NONE"] = "none"; +})(ArchiveCompression || (ArchiveCompression = {})); + +class Archive { + /** + * Initialize libarchivejs + * @param {Object} options + */ + static init(options = null) { + Archive._options = options || {}; + return Archive._options; + } + static getWorker(options) { + if (options.worker) { + return options.worker; + } + else { + return new Worker((options === null || options === void 0 ? void 0 : options.workerUrl) || new URL("./worker-bundle.js", import.meta.url), { + type: "module", + }); + } + } + static async write({ files, outputFileName, compression, format, passphrase = null, }) { + const _worker = Archive.getWorker(Archive._options); + const Client = Archive._options.comlinkWrapper || wrap(_worker); + // @ts-ignore - Promise.WithResolvers + let { promise: clientReady, resolve } = Promise.withResolvers(); + const _client = await new Client(proxy(() => { + resolve(); + })); + await clientReady; + const archiveData = await _client.writeArchive(files, compression, format, passphrase); + return new File([archiveData], outputFileName, { + type: "application/octet-stream", + }); + } + /** + * Creates new archive instance from browser native File object + * @param {File} file + * @param {object} options + * @returns {Archive} + */ + static open(file, options = null) { + options = options || Archive._options || Archive.init(); + const arch = new Archive(file, options); + return arch.open(); + } + /** + * Create new archive + * @param {File} file + * @param {Object} options + */ + constructor(file, options) { + this._worker = Archive.getWorker(options); + this._content = {}; + this._processed = 0; + this._file = file; + } + async getClient() { + if (!this._client) { + const Client = Archive._options.comlinkWrapper || wrap(this._worker); + // @ts-ignore - Promise.WithResolvers + let { promise, resolve } = Promise.withResolvers(); + this._client = await new Client(proxy(() => { + resolve(); + })); + await promise; + } + return this._client; + } + /** + * Prepares file for reading + * @returns {Promise} archive instance + */ + open() { + return new Promise((resolve, _) => { + this.getClient().then((client) => { + client.open(this._file, proxy(() => { + resolve(this); + })); + }); + }); + } + /** + * Terminate worker to free up memory + */ + async close() { + var _a; + (_a = this._worker) === null || _a === void 0 ? void 0 : _a.terminate(); + this._worker = null; + this._client = null; + this._file = null; + } + /** + * detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + async hasEncryptedData() { + const client = await this.getClient(); + return await client.hasEncryptedData(); + } + /** + * set password to be used when reading archive + */ + async usePassword(archivePassword) { + const client = await this.getClient(); + await client.usePassword(archivePassword); + } + /** + * Set locale, defaults to en_US.UTF-8 + */ + async setLocale(locale) { + const client = await this.getClient(); + await client.setLocale(locale); + } + /** + * Returns object containing directory structure and file information + * @returns {Promise} + */ + async getFilesObject() { + if (this._processed > 0) { + return Promise.resolve().then(() => this._content); + } + const client = await this.getClient(); + const files = await client.listFiles(); + files.forEach((entry) => { + const [target, prop] = getObjectPropReference(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new CompressedFile(entry.fileName, entry.size, entry.path, entry.lastModified, this); + } + }); + this._processed = 1; + return cloneContent(this._content); + } + getFilesArray() { + return this.getFilesObject().then((obj) => { + return objectToArray(obj); + }); + } + async extractSingleFile(target) { + // Prevent extraction if worker already terminated + if (this._worker === null) { + throw new Error("Archive already closed"); + } + const client = await this.getClient(); + const fileEntry = await client.extractSingleFile(target); + return new File([fileEntry.fileData], fileEntry.fileName, { + type: "application/octet-stream", + lastModified: fileEntry.lastModified / 1000000, + }); + } + /** + * Returns object containing directory structure and extracted File objects + * @param {Function} extractCallback + * + */ + async extractFiles(extractCallback = undefined) { + var _a; + if (this._processed > 1) { + return Promise.resolve().then(() => this._content); + } + const client = await this.getClient(); + const files = await client.extractFiles(); + files.forEach((entry) => { + const [target, prop] = getObjectPropReference(this._content, entry.path); + if (entry.type === "FILE") { + target[prop] = new File([entry.fileData], entry.fileName, { + type: "application/octet-stream", + }); + if (extractCallback !== undefined) { + setTimeout(extractCallback.bind(null, { + file: target[prop], + path: entry.path, + })); + } + } + }); + this._processed = 2; + (_a = this._worker) === null || _a === void 0 ? void 0 : _a.terminate(); + return cloneContent(this._content); + } +} + +Promise.withResolvers || (Promise.withResolvers = function withResolvers() { + var a, b, c = new this(function (resolve, reject) { + a = resolve; + b = reject; + }); + return { resolve: a, reject: b, promise: c }; +}); +const __dirname = new URL$1('.', import.meta.url).pathname; +const worker = new Worker$1(`${__dirname}/worker-bundle-node.mjs`); +Archive.init({ + worker: worker, + comlinkWrapper: wrap(nodeEndpoint(worker)) +}); + +export { Archive, ArchiveCompression, ArchiveFormat }; diff --git a/dist/libarchive.js b/dist/libarchive.js index af33cc0..bb9191d 100644 --- a/dist/libarchive.js +++ b/dist/libarchive.js @@ -470,24 +470,28 @@ class Archive { * @param {Object} options */ static init(options = null) { - Archive._options = { - workerUrl: (options === null || options === void 0 ? void 0 : options.workerUrl) || new URL("./worker-bundle.js", import.meta.url), - ...options, - }; + Archive._options = options || {}; return Archive._options; } - static async write({ files, outputFileName, compression, format, passphrase = null }) { - const _worker = new Worker(Archive._options.workerUrl, { - type: "module", - }); - const Client = wrap(_worker); + static getWorker(options) { + if (options.worker) { + return options.worker; + } + else { + return new Worker((options === null || options === void 0 ? void 0 : options.workerUrl) || new URL("./worker-bundle.js", import.meta.url), { + type: "module", + }); + } + } + static async write({ files, outputFileName, compression, format, passphrase = null, }) { + const _worker = Archive.getWorker(Archive._options); + const Client = Archive._options.comlinkWrapper || wrap(_worker); // @ts-ignore - Promise.WithResolvers let { promise: clientReady, resolve } = Promise.withResolvers(); const _client = await new Client(proxy(() => { resolve(); })); await clientReady; - console.log(compression, format); const archiveData = await _client.writeArchive(files, compression, format, passphrase); return new File([archiveData], outputFileName, { type: "application/octet-stream", @@ -510,16 +514,14 @@ class Archive { * @param {Object} options */ constructor(file, options) { - this._worker = new Worker(options.workerUrl, { - type: "module", - }); + this._worker = Archive.getWorker(options); this._content = {}; this._processed = 0; this._file = file; } async getClient() { if (!this._client) { - const Client = wrap(this._worker); + const Client = Archive._options.comlinkWrapper || wrap(this._worker); // @ts-ignore - Promise.WithResolvers let { promise, resolve } = Promise.withResolvers(); this._client = await new Client(proxy(() => { diff --git a/dist/worker-bundle-node.mjs b/dist/worker-bundle-node.mjs new file mode 100644 index 0000000..9fbca74 --- /dev/null +++ b/dist/worker-bundle-node.mjs @@ -0,0 +1,4874 @@ +import { parentPort } from 'worker_threads'; + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +const proxyMarker = Symbol("Comlink.proxy"); +const createEndpoint = Symbol("Comlink.endpoint"); +const releaseProxy = Symbol("Comlink.releaseProxy"); +const finalizer = Symbol("Comlink.finalizer"); +const throwMarker = Symbol("Comlink.thrown"); +const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function"; +/** + * Internal transfer handle to handle objects marked to proxy. + */ +const proxyTransferHandler = { + canHandle: (val) => isObject(val) && val[proxyMarker], + serialize(obj) { + const { port1, port2 } = new MessageChannel(); + expose(obj, port1); + return [port2, [port2]]; + }, + deserialize(port) { + port.start(); + return wrap(port); + }, +}; +/** + * Internal transfer handler to handle thrown exceptions. + */ +const throwTransferHandler = { + canHandle: (value) => isObject(value) && throwMarker in value, + serialize({ value }) { + let serialized; + if (value instanceof Error) { + serialized = { + isError: true, + value: { + message: value.message, + name: value.name, + stack: value.stack, + }, + }; + } + else { + serialized = { isError: false, value }; + } + return [serialized, []]; + }, + deserialize(serialized) { + if (serialized.isError) { + throw Object.assign(new Error(serialized.value.message), serialized.value); + } + throw serialized.value; + }, +}; +/** + * Allows customizing the serialization of certain values. + */ +const transferHandlers = new Map([ + ["proxy", proxyTransferHandler], + ["throw", throwTransferHandler], +]); +function isAllowedOrigin(allowedOrigins, origin) { + for (const allowedOrigin of allowedOrigins) { + if (origin === allowedOrigin || allowedOrigin === "*") { + return true; + } + if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) { + return true; + } + } + return false; +} +function expose(obj, ep = globalThis, allowedOrigins = ["*"]) { + ep.addEventListener("message", function callback(ev) { + if (!ev || !ev.data) { + return; + } + if (!isAllowedOrigin(allowedOrigins, ev.origin)) { + console.warn(`Invalid origin '${ev.origin}' for comlink proxy`); + return; + } + const { id, type, path } = Object.assign({ path: [] }, ev.data); + const argumentList = (ev.data.argumentList || []).map(fromWireValue); + let returnValue; + try { + const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj); + const rawValue = path.reduce((obj, prop) => obj[prop], obj); + switch (type) { + case "GET" /* MessageType.GET */: + { + returnValue = rawValue; + } + break; + case "SET" /* MessageType.SET */: + { + parent[path.slice(-1)[0]] = fromWireValue(ev.data.value); + returnValue = true; + } + break; + case "APPLY" /* MessageType.APPLY */: + { + returnValue = rawValue.apply(parent, argumentList); + } + break; + case "CONSTRUCT" /* MessageType.CONSTRUCT */: + { + const value = new rawValue(...argumentList); + returnValue = proxy(value); + } + break; + case "ENDPOINT" /* MessageType.ENDPOINT */: + { + const { port1, port2 } = new MessageChannel(); + expose(obj, port2); + returnValue = transfer(port1, [port1]); + } + break; + case "RELEASE" /* MessageType.RELEASE */: + { + returnValue = undefined; + } + break; + default: + return; + } + } + catch (value) { + returnValue = { value, [throwMarker]: 0 }; + } + Promise.resolve(returnValue) + .catch((value) => { + return { value, [throwMarker]: 0 }; + }) + .then((returnValue) => { + const [wireValue, transferables] = toWireValue(returnValue); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + if (type === "RELEASE" /* MessageType.RELEASE */) { + // detach and deactive after sending release response above. + ep.removeEventListener("message", callback); + closeEndPoint(ep); + if (finalizer in obj && typeof obj[finalizer] === "function") { + obj[finalizer](); + } + } + }) + .catch((error) => { + // Send Serialization Error To Caller + const [wireValue, transferables] = toWireValue({ + value: new TypeError("Unserializable return value"), + [throwMarker]: 0, + }); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + }); + }); + if (ep.start) { + ep.start(); + } +} +function isMessagePort(endpoint) { + return endpoint.constructor.name === "MessagePort"; +} +function closeEndPoint(endpoint) { + if (isMessagePort(endpoint)) + endpoint.close(); +} +function wrap(ep, target) { + return createProxy(ep, [], target); +} +function throwIfProxyReleased(isReleased) { + if (isReleased) { + throw new Error("Proxy has been released and is not useable"); + } +} +function releaseEndpoint(ep) { + return requestResponseMessage(ep, { + type: "RELEASE" /* MessageType.RELEASE */, + }).then(() => { + closeEndPoint(ep); + }); +} +const proxyCounter = new WeakMap(); +const proxyFinalizers = "FinalizationRegistry" in globalThis && + new FinalizationRegistry((ep) => { + const newCount = (proxyCounter.get(ep) || 0) - 1; + proxyCounter.set(ep, newCount); + if (newCount === 0) { + releaseEndpoint(ep); + } + }); +function registerProxy(proxy, ep) { + const newCount = (proxyCounter.get(ep) || 0) + 1; + proxyCounter.set(ep, newCount); + if (proxyFinalizers) { + proxyFinalizers.register(proxy, ep, proxy); + } +} +function unregisterProxy(proxy) { + if (proxyFinalizers) { + proxyFinalizers.unregister(proxy); + } +} +function createProxy(ep, path = [], target = function () { }) { + let isProxyReleased = false; + const proxy = new Proxy(target, { + get(_target, prop) { + throwIfProxyReleased(isProxyReleased); + if (prop === releaseProxy) { + return () => { + unregisterProxy(proxy); + releaseEndpoint(ep); + isProxyReleased = true; + }; + } + if (prop === "then") { + if (path.length === 0) { + return { then: () => proxy }; + } + const r = requestResponseMessage(ep, { + type: "GET" /* MessageType.GET */, + path: path.map((p) => p.toString()), + }).then(fromWireValue); + return r.then.bind(r); + } + return createProxy(ep, [...path, prop]); + }, + set(_target, prop, rawValue) { + throwIfProxyReleased(isProxyReleased); + // FIXME: ES6 Proxy Handler `set` methods are supposed to return a + // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯ + const [value, transferables] = toWireValue(rawValue); + return requestResponseMessage(ep, { + type: "SET" /* MessageType.SET */, + path: [...path, prop].map((p) => p.toString()), + value, + }, transferables).then(fromWireValue); + }, + apply(_target, _thisArg, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const last = path[path.length - 1]; + if (last === createEndpoint) { + return requestResponseMessage(ep, { + type: "ENDPOINT" /* MessageType.ENDPOINT */, + }).then(fromWireValue); + } + // We just pretend that `bind()` didn’t happen. + if (last === "bind") { + return createProxy(ep, path.slice(0, -1)); + } + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "APPLY" /* MessageType.APPLY */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + construct(_target, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "CONSTRUCT" /* MessageType.CONSTRUCT */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + }); + registerProxy(proxy, ep); + return proxy; +} +function myFlat(arr) { + return Array.prototype.concat.apply([], arr); +} +function processArguments(argumentList) { + const processed = argumentList.map(toWireValue); + return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))]; +} +const transferCache = new WeakMap(); +function transfer(obj, transfers) { + transferCache.set(obj, transfers); + return obj; +} +function proxy(obj) { + return Object.assign(obj, { [proxyMarker]: true }); +} +function toWireValue(value) { + for (const [name, handler] of transferHandlers) { + if (handler.canHandle(value)) { + const [serializedValue, transferables] = handler.serialize(value); + return [ + { + type: "HANDLER" /* WireValueType.HANDLER */, + name, + value: serializedValue, + }, + transferables, + ]; + } + } + return [ + { + type: "RAW" /* WireValueType.RAW */, + value, + }, + transferCache.get(value) || [], + ]; +} +function fromWireValue(value) { + switch (value.type) { + case "HANDLER" /* WireValueType.HANDLER */: + return transferHandlers.get(value.name).deserialize(value.value); + case "RAW" /* WireValueType.RAW */: + return value.value; + } +} +function requestResponseMessage(ep, msg, transfers) { + return new Promise((resolve) => { + const id = generateUUID(); + ep.addEventListener("message", function l(ev) { + if (!ev.data || !ev.data.id || ev.data.id !== id) { + return; + } + ep.removeEventListener("message", l); + resolve(ev.data); + }); + if (ep.start) { + ep.start(); + } + ep.postMessage(Object.assign({ id }, msg), transfers); + }); +} +function generateUUID() { + return new Array(4) + .fill(0) + .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)) + .join("-"); +} + +const TYPE_MAP = { + 32768: "FILE", + 16384: "DIR", + 40960: "SYMBOLIC_LINK", + 49152: "SOCKET", + 8192: "CHARACTER_DEVICE", + 24576: "BLOCK_DEVICE", + 4096: "NAMED_PIPE", +}; + +class ArchiveReader { + /** + * Archive reader + * @param {WasmModule} wasmModule emscripten module + */ + constructor(wasmModule) { + this._wasmModule = wasmModule; + this._runCode = wasmModule.runCode; + this._file = null; + this._passphrase = null; + this._locale = "en_US.UTF-8"; + } + + /** + * Open archive, needs to closed manually + * @param {File} file + */ + async open(file) { + if (this._file !== null) { + console.warn("Closing previous file"); + this.close(); + } + const fileData = await this._loadFile(file); + this._fileLength = fileData.length; + this._filePtr = fileData.ptr; + } + + /** + * Close archive + */ + close() { + this._runCode.closeArchive(this._archive); + this._wasmModule._free(this._filePtr); + this._file = null; + this._filePtr = null; + this._archive = null; + } + + /** + * Detect if archive has encrypted data + * @returns {boolean|null} null if could not be determined + */ + hasEncryptedData() { + this._archive = this._runCode.openArchive( + this._filePtr, + this._fileLength, + this._passphrase, + this._locale, + ); + this._runCode.getNextEntry(this._archive); + const status = this._runCode.hasEncryptedEntries(this._archive); + if (status === 0) { + return false; + } else if (status > 0) { + return true; + } else { + return null; + } + } + + /** + * set passphrase to be used with archive + * @param {string} passphrase + */ + setPassphrase(passphrase) { + this._passphrase = passphrase; + } + + /** + * Set locale, defaults to: en_US.UTF-8 + * @param {string} locale + */ + setLocale(locale) { + this._locale = locale; + } + + /** + * Get archive entries + * @param {boolean} skipExtraction + * @param {string} except don't skip extraction for this entry + */ + *entries(skipExtraction = false, except = null) { + this._archive = this._runCode.openArchive( + this._filePtr, + this._fileLength, + this._passphrase, + this._locale, + ); + let entry; + while (true) { + entry = this._runCode.getNextEntry(this._archive); + if (entry === 0) break; + + const entryData = { + size: this._runCode.getEntrySize(entry), + path: this._runCode.getEntryName(entry), + type: TYPE_MAP[this._runCode.getEntryType(entry)], + lastModified: this._runCode.getEntryLastModified(entry), + ref: entry, + }; + + if (entryData.type === "FILE") { + let fileName = entryData.path.split("/"); + entryData.fileName = fileName[fileName.length - 1]; + } + + if (skipExtraction && except !== entryData.path) { + this._runCode.skipEntry(this._archive); + } else { + const ptr = this._runCode.getFileData(this._archive, entryData.size); + if (ptr < 0) { + throw new Error(this._runCode.getError(this._archive)); + } + entryData.fileData = this._wasmModule.HEAPU8.slice( + ptr, + ptr + entryData.size, + ); + this._wasmModule._free(ptr); + } + yield entryData; + } + } + + async _loadFile(file) { + const arrayBuffer = await file.arrayBuffer(); + const array = new Uint8Array(arrayBuffer); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + return { + ptr: filePtr, + length: array.length, + }; + } +} + +class ArchiveWriter { + /** + * Archive writer + * @param {WasmModule} wasmModule emscripten module + */ + constructor(wasmModule) { + this._wasmModule = wasmModule; + this._runCode = wasmModule.runCode; + this._passphrase = null; + this._locale = "en_US.UTF-8"; + } + + async write(files, compression, format, passphrase = null) { + // In some cases archive size might be bigger than the sum of all files due to header size + let totalSize = files.reduce((acc, { file }) => acc + file.size, 0) + 512; + + const bufferPtr = this._runCode.malloc(totalSize); + const ptrSize = this._runCode.sizeOfSizeT(); + const outputSizePtr = this._runCode.malloc(this._runCode.sizeOfSizeT()); + + const newArchive = this._runCode.startArchiveWrite( + compression, + format, + bufferPtr, + totalSize, + outputSizePtr, + passphrase, + ); + + for (const { file, pathname } of files) { + const fileData = await this._loadFile(file); + this._runCode.writeArchiveFile( + newArchive, + pathname || file.name, + fileData.length, + fileData.ptr, + ); + this._runCode.free(fileData.ptr); + } + + const closeStatus = this._runCode.closeArchiveWrite(newArchive); + const freeStatus = this._runCode.freeArchiveWrite(newArchive); + + if (closeStatus !== 0 || freeStatus !== 0) { + throw new Error(this._runCode.getError(newArchive)); + } + + const outputSizeBytes = this._wasmModule.HEAPU8.slice( + outputSizePtr, + outputSizePtr + ptrSize, + ); + + let outputSize = null; + if (ptrSize == 4) { + outputSize = new Uint32Array(outputSizeBytes)[0]; + } else if (ptrSize == 8) { + outputSize = new BigUint64Array(outputSizeBytes)[0]; + } else throw Error("Unexpected size of size_t: " + ptrSize); + + return this._wasmModule.HEAPU8.slice(bufferPtr, bufferPtr + outputSize); + } + + async _loadFile(file) { + const arrayBuffer = await file.arrayBuffer(); + const array = new Uint8Array(arrayBuffer); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + return { + ptr: filePtr, + length: array.length, + }; + } +} + +var libarchive = (() => { + var _scriptDir = import.meta.url; + + 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 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, "/"); + } + 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"]) 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; + function assert(condition, text) { + if (!condition) { + abort(text); + } + } + var HEAP8, HEAPU8, HEAP16, HEAP32, HEAPU32; + 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"] = new Uint16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = new Float32Array(b); + Module["HEAPF64"] = new Float64Array(b); + } + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + 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() { + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + 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 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 (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + function abort(what) { + Module["onAbort"]?.(what); + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + var isDataURI = (filename) => filename.startsWith(dataURIPrefix); + 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(); + return wasmExports; + } + addRunDependency(); + 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 < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (; end >= 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 < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + }, + }; + var UTF8Decoder = + typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined; + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = + ((u0 & 7) << 18) | + (u1 << 12) | + (u2 << 6) | + (heapOrArray[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + return str; + }; + var FS_stdin_getChar_buffer = []; + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 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 < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 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; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }, + default_tty_ops: { + get_char(tty) { + return FS_stdin_getChar(); + }, + put_char(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + fsync(tty) { + if (tty.output && tty.output.length > 0) { + 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 < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> + 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; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length, + ); + }, + mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length, + ); + } + } + allocated = true; + ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + }, + }, + }; + var asyncLoad = (url, onload, onerror, noRunDep) => { + 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(); + }, + (event) => { + if (onerror) { + onerror(); + } else { + throw `Loading data file "${url}" failed.`; + } + }, + ); + if (dep) addRunDependency(); + }; + 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; + function processData(byteArray) { + function finish(byteArray) { + preFinish?.(); + if (!dontCreateFile) { + FS_createDataFile( + parent, + name, + byteArray, + canRead, + canWrite, + canOwn, + ); + } + onload?.(); + removeRunDependency(); + } + if ( + FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { + onerror?.(); + removeRunDependency(); + }) + ) { + return; + } + finish(byteArray); + } + addRunDependency(); + 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; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + 1, + }); + current = lookup.node; + if (count++ > 40) { + 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 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; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev(path, mode, dev) { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if ( + FS.isMountpoint(old_node) || + (new_node && FS.isMountpoint(new_node)) + ) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, + rmdir(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link), + ); + }, + stat(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat(path) { + return FS.stat(path, true); + }, + chmod(path, mode, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now(), + }); + }, + lchmod(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod(fd, mode) { + var stream = FS.getStreamChecked(fd); + FS.chmod(stream.node, mode); + }, + chown(path, uid, gid, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown(fd, uid, gid) { + var stream = FS.getStreamChecked(fd); + FS.chown(stream.node, uid, gid); + }, + truncate(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate(fd, len) { + var stream = FS.getStreamChecked(fd); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open(path, flags, mode) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false, + }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, + close(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed(stream) { + return stream.fd === null; + }, + llseek(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer, + offset, + length, + position, + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn, + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap(stream, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync(stream, buffer, offset, length, mmapFlags) { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer, + offset, + length, + mmapFlags, + ); + }, + munmap: (stream) => 0, + ioctl(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile(path, opts = {}) { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile(path, data, opts = {}) { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: () => FS.currentPath, + chdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var 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"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + 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; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + findObject(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null, + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath(parent, path, canRead, canWrite) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile(parent, name, data, canRead, canWrite, canOwn) { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + }, + createDevice(parent, name, input, output) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open(stream) { + stream.seekable = false; + }, + close(stream) { + if (output?.buffer?.length) { + output(10); + } + }, + read(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.", + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = + function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = + function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && + header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error( + "invalid range (" + + from + + ", " + + to + + ") or no bytes requested!", + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!", + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] == "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out( + "LazyFiles on gzip forces download of the whole file when length is accessed", + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + }, + }, + chunkSize: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + }, + }, + }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function () { + return this.contents.length; + }, + }, + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(); + 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; i < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + if (bucket.offset - bucket.roffset > 0) { + 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 < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + currentLength += bucket.offset - bucket.roffset; + } + var data = buffer.subarray(offset, offset + length); + if (length <= 0) { + return 0; + } + if (currentLength == 0) { + throw new FS.ErrnoError(6); + } + var toRead = Math.min(currentLength, length); + var totalRead = toRead; + var toRemove = 0; + for (var i = 0; i < pipe.buckets.length; i++) { + var currBucket = pipe.buckets[i]; + var bucketSize = currBucket.offset - currBucket.roffset; + if (toRead <= bucketSize) { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + if (toRead < bucketSize) { + tmpSlice = tmpSlice.subarray(0, toRead); + currBucket.roffset += toRead; + } else { + toRemove++; + } + data.set(tmpSlice); + break; + } else { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + data.set(tmpSlice); + data = data.subarray(tmpSlice.byteLength); + toRead -= tmpSlice.byteLength; + toRemove++; + } + } + if (toRemove && toRemove == pipe.buckets.length) { + toRemove--; + pipe.buckets[toRemove].offset = 0; + pipe.buckets[toRemove].roffset = 0; + } + pipe.buckets.splice(0, toRemove); + return totalRead; + }, + write(stream, buffer, offset, length, position) { + var pipe = stream.node.pipe; + var data = buffer.subarray(offset, offset + length); + var dataLen = data.byteLength; + if (dataLen <= 0) { + return 0; + } + var currBucket = null; + if (pipe.buckets.length == 0) { + currBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: 0, + roffset: 0, + }; + pipe.buckets.push(currBucket); + } else { + currBucket = pipe.buckets[pipe.buckets.length - 1]; + } + assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); + var freeBytesInCurrBuffer = + PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; + if (freeBytesInCurrBuffer >= 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; i < numBuckets; i++) { + var newBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: PIPEFS.BUCKET_BUFFER_SIZE, + roffset: 0, + }; + pipe.buckets.push(newBucket); + newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); + data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength); + } + if (remElements > 0) { + 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 < nfds; i++) { + var pollfd = fds + 8 * i; + var fd = HEAP32[pollfd >> 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 < winterOffset) { + HEAPU32[tzname >> 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_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 + 0.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 < str.length; ++i) { + HEAP8[buffer++ >> 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) => { + if (!keepRuntimeAlive()) { + Module["onExit"]?.(code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + }; + var exitJS = (status, implicit) => { + _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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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 < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 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 < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; + }; + var cwrap = (ident, returnType, argTypes, opts) => { + 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); + }; + }; + 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(); + (Module["_get_version"] = () => + (Module["_get_version"] = wasmExports["E"])()); + (Module["_archive_open"] = (a0, a1, a2, a3) => + (Module["_archive_open"] = wasmExports["F"])( + a0, + a1, + a2, + a3, + )); + (Module["_archive_read_add_passphrase"] = + (a0, a1) => + (Module["_archive_read_add_passphrase"] = + wasmExports["G"])(a0, a1)); + (Module["_archive_error_string"] = (a0) => + (Module["_archive_error_string"] = + wasmExports["H"])(a0)); + (Module["_get_next_entry"] = (a0) => + (Module["_get_next_entry"] = wasmExports["I"])(a0)); + (Module["_get_filedata"] = (a0, a1) => + (Module["_get_filedata"] = wasmExports["J"])(a0, a1)); + var _malloc = (Module["_malloc"] = (a0) => + (_malloc = Module["_malloc"] = wasmExports["K"])(a0)); + (Module["_archive_close"] = (a0) => + (Module["_archive_close"] = wasmExports["L"])(a0)); + (Module["_start_archive_write"] = ( + a0, + a1, + a2, + a3, + a4, + a5, + ) => + (Module["_start_archive_write"] = + wasmExports["M"])(a0, a1, a2, a3, a4, a5)); + (Module["_write_archive_file"] = ( + a0, + a1, + a2, + a3, + ) => + (Module["_write_archive_file"] = wasmExports["N"])( + a0, + a1, + a2, + a3, + )); + (Module["_size_of_size_t"] = () => + (Module["_size_of_size_t"] = wasmExports["O"])()); + (Module["_free"] = (a0) => + (Module["_free"] = wasmExports["P"])(a0)); + var ___errno_location = () => (___errno_location = wasmExports["Q"])(); + (Module[ + "_archive_entry_birthtime_nsec" + ] = (a0) => + (Module["_archive_entry_birthtime_nsec"] = + wasmExports["R"])(a0)); + (Module["_archive_entry_filetype"] = (a0) => + (Module["_archive_entry_filetype"] = + wasmExports["S"])(a0)); + (Module["_archive_entry_mtime_nsec"] = ( + a0, + ) => + (Module["_archive_entry_mtime_nsec"] = + wasmExports["T"])(a0)); + (Module["_archive_entry_pathname"] = (a0) => + (Module["_archive_entry_pathname"] = + wasmExports["U"])(a0)); + (Module["_archive_entry_pathname_utf8"] = + (a0) => + (Module["_archive_entry_pathname_utf8"] = + wasmExports["V"])(a0)); + (Module["_archive_entry_size"] = (a0) => + (Module["_archive_entry_size"] = wasmExports["W"])( + a0, + )); + (Module["_archive_entry_is_encrypted"] = ( + a0, + ) => + (Module["_archive_entry_is_encrypted"] = + wasmExports["X"])(a0)); + (Module[ + "_archive_read_has_encrypted_entries" + ] = (a0) => + (Module[ + "_archive_read_has_encrypted_entries" + ] = + wasmExports["Y"])(a0)); + (Module["_archive_read_data_skip"] = (a0) => + (Module["_archive_read_data_skip"] = + wasmExports["Z"])(a0)); + (Module["_archive_write_close"] = (a0) => + (Module["_archive_write_close"] = + wasmExports["$"])(a0)); + (Module["_archive_write_free"] = (a0) => + (Module["_archive_write_free"] = wasmExports["aa"])( + 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(); + + return moduleArg.ready; + }; +})(); + +/* eslint-disable no-undef */ + +class WasmModule { + constructor() { + this.preRun = []; + this.postRun = []; + this.totalDependencies = 0; + } + + print(...text) { + console.log(text); + } + + printErr(...text) { + console.error(text); + } + + initFunctions() { + this.runCode = { + // const char * get_version() + getVersion: this.cwrap("get_version", "string", []), + // void * void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale) + // retuns archive pointer + openArchive: this.cwrap("archive_open", "number", [ + "number", + "number", + "string", + "string", + ]), + // void * get_entry(void * archive) + // return archive entry pointer + getNextEntry: this.cwrap("get_next_entry", "number", ["number"]), + // void * get_filedata( void * archive, size_t bufferSize ) + getFileData: this.cwrap("get_filedata", "number", ["number", "number"]), + // int archive_read_data_skip(struct archive *_a) + skipEntry: this.cwrap("archive_read_data_skip", "number", ["number"]), + // void archive_close( void * archive ) + closeArchive: this.cwrap("archive_close", null, ["number"]), + // la_int64_t archive_entry_size( struct archive_entry * ) + getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), + // const char * archive_entry_pathname_utf8( struct archive_entry * ) + getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), + // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) + /* + #define AE_IFMT ((__LA_MODE_T)0170000) + #define AE_IFREG ((__LA_MODE_T)0100000) // Regular file + #define AE_IFLNK ((__LA_MODE_T)0120000) // Sybolic link + #define AE_IFSOCK ((__LA_MODE_T)0140000) // Socket + #define AE_IFCHR ((__LA_MODE_T)0020000) // Character device + #define AE_IFBLK ((__LA_MODE_T)0060000) // Block device + #define AE_IFDIR ((__LA_MODE_T)0040000) // Directory + #define AE_IFIFO ((__LA_MODE_T)0010000) // Named pipe + */ + getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), + // long archive_entry_mtime_nsec(struct archive_entry *); + getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", [ + "number", + ]), + + // const char * archive_error_string(struct archive *); + getError: this.cwrap("archive_error_string", "string", ["number"]), + + // void *start_archive_write(char *filter, char *format, void *buff, size_t buffsize, size_t *outputsize, char *passphrase) + startArchiveWrite: this.cwrap("start_archive_write", "number", [ + "string", + "string", + "number", + "number", + "number", + "string", + ]), + + // void write_archive_file( void *a, char *pathname, size_t filesize , char *filedata ) + writeArchiveFile: this.cwrap("write_archive_file", null, [ + "number", + "string", + "number", + "number", + ]), + + // int archive_write_close(struct archive *); + closeArchiveWrite: this.cwrap("archive_write_close", "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 + * ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED is returned. + * If for any other reason (e.g. not enough data read so far) + * we cannot say whether there are encrypted entries, then + * ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW is returned. + * In general, this function will return values below zero when the + * reader is uncertain or totally incapable of encryption support. + * When this function returns 0 you can be sure that the reader + * supports encryption detection but no encrypted entries have + * been found yet. + * + * NOTE: If the metadata/header of an archive is also encrypted, you + * cannot rely on the number of encrypted entries. That is why this + * function does not return the number of encrypted entries but# + * just shows that there are some. + */ + // __LA_DECL int archive_read_has_encrypted_entries(struct archive *); + entryIsEncrypted: this.cwrap("archive_entry_is_encrypted", "number", [ + "number", + ]), + hasEncryptedEntries: this.cwrap( + "archive_read_has_encrypted_entries", + "number", + ["number"], + ), + // __LA_DECL int archive_read_add_passphrase(struct archive *, const char *); + addPassphrase: this.cwrap("archive_read_add_passphrase", "number", [ + "number", + "string", + ]), + //this.stringToUTF(str), // + string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), + malloc: this.cwrap("malloc", "number", ["number"]), + free: this.cwrap("free", null, ["number"]), + sizeOfSizeT: this.cwrap("size_of_size_t", "number", []), + }; + //console.log(this.runCode.getVersion()); + } + + monitorRunDependencies() {} + + //locateFile(path /* ,prefix */) { + // return `${path}`; + //} +} + +function getWasmModule(cb) { + libarchive(new WasmModule()).then((module) => { + module.initFunctions(); + cb(module); + }); +} + +let reader = null; +let writer = null; +let ready = false; + +class LibArchiveWorker { + constructor(readyCallback) { + LibArchiveWorker.readyCallback = readyCallback; + if( ready ) { + setTimeout(() => readyCallback(),0); + } + } + + open(file, cb) { + reader.open(file).then(() => cb()); + } + + listFiles() { + let arr = []; + for (const entry of reader.entries(true)) { + arr.push(entry); + } + return arr; + } + + extractFiles() { + let arr = []; + for (const entry of reader.entries(false)) { + arr.push(entry); + } + return arr; + } + + extractSingleFile(target) { + for (const entry of reader.entries(true, target)) { + if (entry.fileData) { + return entry; + } + } + } + + hasEncryptedData() { + return reader.hasEncryptedData(); + } + + usePassword(passphrase) { + reader.setPassphrase(passphrase); + } + + setLocale(locale) { + reader.setLocale(locale); + } + + writeArchive(files, compression, format, passphrase) { + return writer.write(files, compression, format, passphrase); + } + + close() { + reader.close(); + } +} + +getWasmModule((wasmModule) => { + reader = new ArchiveReader(wasmModule); + writer = new ArchiveWriter(wasmModule); + LibArchiveWorker?.readyCallback?.(); + ready = true; +}); + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +function nodeEndpoint(nep) { + const listeners = new WeakMap(); + return { + postMessage: nep.postMessage.bind(nep), + addEventListener: (_, eh) => { + const l = (data) => { + if ("handleEvent" in eh) { + eh.handleEvent({ data }); + } + else { + eh({ data }); + } + }; + nep.on("message", l); + listeners.set(eh, l); + }, + removeEventListener: (_, eh) => { + const l = listeners.get(eh); + if (!l) { + return; + } + nep.off("message", l); + listeners.delete(eh); + }, + start: nep.start && nep.start.bind(nep), + }; +} + +expose(LibArchiveWorker, nodeEndpoint(parentPort)); diff --git a/dist/worker-bundle.js b/dist/worker-bundle.js index 8918573..5dd66fc 100644 --- a/dist/worker-bundle.js +++ b/dist/worker-bundle.js @@ -1,3 +1,340 @@ +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +const proxyMarker = Symbol("Comlink.proxy"); +const createEndpoint = Symbol("Comlink.endpoint"); +const releaseProxy = Symbol("Comlink.releaseProxy"); +const finalizer = Symbol("Comlink.finalizer"); +const throwMarker = Symbol("Comlink.thrown"); +const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function"; +/** + * Internal transfer handle to handle objects marked to proxy. + */ +const proxyTransferHandler = { + canHandle: (val) => isObject(val) && val[proxyMarker], + serialize(obj) { + const { port1, port2 } = new MessageChannel(); + expose(obj, port1); + return [port2, [port2]]; + }, + deserialize(port) { + port.start(); + return wrap(port); + }, +}; +/** + * Internal transfer handler to handle thrown exceptions. + */ +const throwTransferHandler = { + canHandle: (value) => isObject(value) && throwMarker in value, + serialize({ value }) { + let serialized; + if (value instanceof Error) { + serialized = { + isError: true, + value: { + message: value.message, + name: value.name, + stack: value.stack, + }, + }; + } + else { + serialized = { isError: false, value }; + } + return [serialized, []]; + }, + deserialize(serialized) { + if (serialized.isError) { + throw Object.assign(new Error(serialized.value.message), serialized.value); + } + throw serialized.value; + }, +}; +/** + * Allows customizing the serialization of certain values. + */ +const transferHandlers = new Map([ + ["proxy", proxyTransferHandler], + ["throw", throwTransferHandler], +]); +function isAllowedOrigin(allowedOrigins, origin) { + for (const allowedOrigin of allowedOrigins) { + if (origin === allowedOrigin || allowedOrigin === "*") { + return true; + } + if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) { + return true; + } + } + return false; +} +function expose(obj, ep = globalThis, allowedOrigins = ["*"]) { + ep.addEventListener("message", function callback(ev) { + if (!ev || !ev.data) { + return; + } + if (!isAllowedOrigin(allowedOrigins, ev.origin)) { + console.warn(`Invalid origin '${ev.origin}' for comlink proxy`); + return; + } + const { id, type, path } = Object.assign({ path: [] }, ev.data); + const argumentList = (ev.data.argumentList || []).map(fromWireValue); + let returnValue; + try { + const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj); + const rawValue = path.reduce((obj, prop) => obj[prop], obj); + switch (type) { + case "GET" /* MessageType.GET */: + { + returnValue = rawValue; + } + break; + case "SET" /* MessageType.SET */: + { + parent[path.slice(-1)[0]] = fromWireValue(ev.data.value); + returnValue = true; + } + break; + case "APPLY" /* MessageType.APPLY */: + { + returnValue = rawValue.apply(parent, argumentList); + } + break; + case "CONSTRUCT" /* MessageType.CONSTRUCT */: + { + const value = new rawValue(...argumentList); + returnValue = proxy(value); + } + break; + case "ENDPOINT" /* MessageType.ENDPOINT */: + { + const { port1, port2 } = new MessageChannel(); + expose(obj, port2); + returnValue = transfer(port1, [port1]); + } + break; + case "RELEASE" /* MessageType.RELEASE */: + { + returnValue = undefined; + } + break; + default: + return; + } + } + catch (value) { + returnValue = { value, [throwMarker]: 0 }; + } + Promise.resolve(returnValue) + .catch((value) => { + return { value, [throwMarker]: 0 }; + }) + .then((returnValue) => { + const [wireValue, transferables] = toWireValue(returnValue); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + if (type === "RELEASE" /* MessageType.RELEASE */) { + // detach and deactive after sending release response above. + ep.removeEventListener("message", callback); + closeEndPoint(ep); + if (finalizer in obj && typeof obj[finalizer] === "function") { + obj[finalizer](); + } + } + }) + .catch((error) => { + // Send Serialization Error To Caller + const [wireValue, transferables] = toWireValue({ + value: new TypeError("Unserializable return value"), + [throwMarker]: 0, + }); + ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + }); + }); + if (ep.start) { + ep.start(); + } +} +function isMessagePort(endpoint) { + return endpoint.constructor.name === "MessagePort"; +} +function closeEndPoint(endpoint) { + if (isMessagePort(endpoint)) + endpoint.close(); +} +function wrap(ep, target) { + return createProxy(ep, [], target); +} +function throwIfProxyReleased(isReleased) { + if (isReleased) { + throw new Error("Proxy has been released and is not useable"); + } +} +function releaseEndpoint(ep) { + return requestResponseMessage(ep, { + type: "RELEASE" /* MessageType.RELEASE */, + }).then(() => { + closeEndPoint(ep); + }); +} +const proxyCounter = new WeakMap(); +const proxyFinalizers = "FinalizationRegistry" in globalThis && + new FinalizationRegistry((ep) => { + const newCount = (proxyCounter.get(ep) || 0) - 1; + proxyCounter.set(ep, newCount); + if (newCount === 0) { + releaseEndpoint(ep); + } + }); +function registerProxy(proxy, ep) { + const newCount = (proxyCounter.get(ep) || 0) + 1; + proxyCounter.set(ep, newCount); + if (proxyFinalizers) { + proxyFinalizers.register(proxy, ep, proxy); + } +} +function unregisterProxy(proxy) { + if (proxyFinalizers) { + proxyFinalizers.unregister(proxy); + } +} +function createProxy(ep, path = [], target = function () { }) { + let isProxyReleased = false; + const proxy = new Proxy(target, { + get(_target, prop) { + throwIfProxyReleased(isProxyReleased); + if (prop === releaseProxy) { + return () => { + unregisterProxy(proxy); + releaseEndpoint(ep); + isProxyReleased = true; + }; + } + if (prop === "then") { + if (path.length === 0) { + return { then: () => proxy }; + } + const r = requestResponseMessage(ep, { + type: "GET" /* MessageType.GET */, + path: path.map((p) => p.toString()), + }).then(fromWireValue); + return r.then.bind(r); + } + return createProxy(ep, [...path, prop]); + }, + set(_target, prop, rawValue) { + throwIfProxyReleased(isProxyReleased); + // FIXME: ES6 Proxy Handler `set` methods are supposed to return a + // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯ + const [value, transferables] = toWireValue(rawValue); + return requestResponseMessage(ep, { + type: "SET" /* MessageType.SET */, + path: [...path, prop].map((p) => p.toString()), + value, + }, transferables).then(fromWireValue); + }, + apply(_target, _thisArg, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const last = path[path.length - 1]; + if (last === createEndpoint) { + return requestResponseMessage(ep, { + type: "ENDPOINT" /* MessageType.ENDPOINT */, + }).then(fromWireValue); + } + // We just pretend that `bind()` didn’t happen. + if (last === "bind") { + return createProxy(ep, path.slice(0, -1)); + } + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "APPLY" /* MessageType.APPLY */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + construct(_target, rawArgumentList) { + throwIfProxyReleased(isProxyReleased); + const [argumentList, transferables] = processArguments(rawArgumentList); + return requestResponseMessage(ep, { + type: "CONSTRUCT" /* MessageType.CONSTRUCT */, + path: path.map((p) => p.toString()), + argumentList, + }, transferables).then(fromWireValue); + }, + }); + registerProxy(proxy, ep); + return proxy; +} +function myFlat(arr) { + return Array.prototype.concat.apply([], arr); +} +function processArguments(argumentList) { + const processed = argumentList.map(toWireValue); + return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))]; +} +const transferCache = new WeakMap(); +function transfer(obj, transfers) { + transferCache.set(obj, transfers); + return obj; +} +function proxy(obj) { + return Object.assign(obj, { [proxyMarker]: true }); +} +function toWireValue(value) { + for (const [name, handler] of transferHandlers) { + if (handler.canHandle(value)) { + const [serializedValue, transferables] = handler.serialize(value); + return [ + { + type: "HANDLER" /* WireValueType.HANDLER */, + name, + value: serializedValue, + }, + transferables, + ]; + } + } + return [ + { + type: "RAW" /* WireValueType.RAW */, + value, + }, + transferCache.get(value) || [], + ]; +} +function fromWireValue(value) { + switch (value.type) { + case "HANDLER" /* WireValueType.HANDLER */: + return transferHandlers.get(value.name).deserialize(value.value); + case "RAW" /* WireValueType.RAW */: + return value.value; + } +} +function requestResponseMessage(ep, msg, transfers) { + return new Promise((resolve) => { + const id = generateUUID(); + ep.addEventListener("message", function l(ev) { + if (!ev.data || !ev.data.id || ev.data.id !== id) { + return; + } + ep.removeEventListener("message", l); + resolve(ev.data); + }); + if (ep.start) { + ep.start(); + } + ep.postMessage(Object.assign({ id }, msg), transfers); + }); +} +function generateUUID() { + return new Array(4) + .fill(0) + .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)) + .join("-"); +} + const TYPE_MAP = { 32768: "FILE", 16384: "DIR", @@ -131,46 +468,23 @@ class ArchiveReader { } } - _loadFile(fileBuffer, resolve, reject) { - try { - const array = new Uint8Array(fileBuffer); - this._fileLength = array.length; - this._filePtr = this._runCode.malloc(this._fileLength); - this._wasmModule.HEAPU8.set(array, this._filePtr); - resolve(); - } catch (error) { - reject(error); - } + async _loadFile(file) { + const arrayBuffer = await file.arrayBuffer(); + const array = new Uint8Array(arrayBuffer); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + return { + ptr: filePtr, + length: array.length, + }; } - - _loadFile(file) { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = () => { - try { - const array = new Uint8Array(reader.result); - const filePtr = this._runCode.malloc(array.length); - this._wasmModule.HEAPU8.set(array, filePtr); - resolve({ - ptr: filePtr, - length: array.length, - }); - } catch (error) { - reject(error); - } - }; - - reader.readAsArrayBuffer(file); - }); -} } class ArchiveWriter { - /** - * Archive writer - * @param {WasmModule} wasmModule emscripten module - */ + * Archive writer + * @param {WasmModule} wasmModule emscripten module + */ constructor(wasmModule) { this._wasmModule = wasmModule; this._runCode = wasmModule.runCode; @@ -180,570 +494,4290 @@ class ArchiveWriter { async write(files, compression, format, passphrase = null) { // In some cases archive size might be bigger than the sum of all files due to header size - let totalSize = files.reduce((acc, {file}) => acc + file.size, 0) + 512; + let totalSize = files.reduce((acc, { file }) => acc + file.size, 0) + 512; const bufferPtr = this._runCode.malloc(totalSize); const ptrSize = this._runCode.sizeOfSizeT(); - const outputSizePtr = this._runCode.malloc( this._runCode.sizeOfSizeT() ); + const outputSizePtr = this._runCode.malloc(this._runCode.sizeOfSizeT()); const newArchive = this._runCode.startArchiveWrite( - compression, format, bufferPtr, totalSize, outputSizePtr, passphrase + compression, + format, + bufferPtr, + totalSize, + outputSizePtr, + passphrase, ); for (const { file, pathname } of files) { const fileData = await this._loadFile(file); - this._runCode.writeArchiveFile( - newArchive, pathname || file.name, fileData.length, fileData.ptr - ); - this._runCode.free(fileData.ptr); - } - - const closeStatus = this._runCode.closeArchiveWrite(newArchive); - const freeStatus = this._runCode.freeArchiveWrite(newArchive); - - if( closeStatus !== 0 || freeStatus !== 0 ) { - throw new Error(this._runCode.getError(newArchive)); - } - - const outputSizeBytes = this._wasmModule.HEAPU8.slice( - outputSizePtr, - outputSizePtr + ptrSize, - ); - - let outputSize = null; - if( ptrSize == 4 ) { - outputSize = new Uint32Array(outputSizeBytes)[0]; - } else if( ptrSize == 8 ) { - outputSize = new BigUint64Array(outputSizeBytes)[0]; - } else throw Error("Unexpected size of size_t: " + ptrSize); - - return this._wasmModule.HEAPU8.slice( - bufferPtr, - bufferPtr + outputSize, - ); - } - - _loadFile(file) { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = () => { - try { - const array = new Uint8Array(reader.result); - const filePtr = this._runCode.malloc(array.length); - this._wasmModule.HEAPU8.set(array, filePtr); - resolve({ - ptr: filePtr, - length: array.length, - }); - } catch (error) { - reject(error); - } - }; - - reader.readAsArrayBuffer(file); - }); - } - -} - -var libarchive = (() => { - var _scriptDir = import.meta.url; - - 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 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,"/");}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"])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;function assert(condition,text){if(!condition){abort(text);}}var HEAP8,HEAPU8,HEAP16,HEAP32,HEAPU32;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"]=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=new Float32Array(b);Module["HEAPF64"]=new Float64Array(b);}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];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(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;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 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(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);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();return wasmExports}addRunDependency();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();},event=>{if(onerror){onerror();}else {throw `Loading data file "${url}" failed.`}});if(dep)addRunDependency();};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;function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn);}onload?.();removeRunDependency();}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency();})){return}finish(byteArray);}addRunDependency();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");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);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();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_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=>{if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true;}quit_(code,new ExitStatus(code));};var exitJS=(status,implicit)=>{_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)}};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();Module["_get_version"]=()=>(Module["_get_version"]=wasmExports["E"])();Module["_archive_open"]=(a0,a1,a2,a3)=>(Module["_archive_open"]=wasmExports["F"])(a0,a1,a2,a3);Module["_archive_read_add_passphrase"]=(a0,a1)=>(Module["_archive_read_add_passphrase"]=wasmExports["G"])(a0,a1);Module["_archive_error_string"]=a0=>(Module["_archive_error_string"]=wasmExports["H"])(a0);Module["_get_next_entry"]=a0=>(Module["_get_next_entry"]=wasmExports["I"])(a0);Module["_get_filedata"]=(a0,a1)=>(Module["_get_filedata"]=wasmExports["J"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["K"])(a0);Module["_archive_close"]=a0=>(Module["_archive_close"]=wasmExports["L"])(a0);Module["_start_archive_write"]=(a0,a1,a2,a3,a4,a5)=>(Module["_start_archive_write"]=wasmExports["M"])(a0,a1,a2,a3,a4,a5);Module["_write_archive_file"]=(a0,a1,a2,a3)=>(Module["_write_archive_file"]=wasmExports["N"])(a0,a1,a2,a3);Module["_size_of_size_t"]=()=>(Module["_size_of_size_t"]=wasmExports["O"])();Module["_free"]=a0=>(Module["_free"]=wasmExports["P"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["Q"])();Module["_archive_entry_birthtime_nsec"]=a0=>(Module["_archive_entry_birthtime_nsec"]=wasmExports["R"])(a0);Module["_archive_entry_filetype"]=a0=>(Module["_archive_entry_filetype"]=wasmExports["S"])(a0);Module["_archive_entry_mtime_nsec"]=a0=>(Module["_archive_entry_mtime_nsec"]=wasmExports["T"])(a0);Module["_archive_entry_pathname"]=a0=>(Module["_archive_entry_pathname"]=wasmExports["U"])(a0);Module["_archive_entry_pathname_utf8"]=a0=>(Module["_archive_entry_pathname_utf8"]=wasmExports["V"])(a0);Module["_archive_entry_size"]=a0=>(Module["_archive_entry_size"]=wasmExports["W"])(a0);Module["_archive_entry_is_encrypted"]=a0=>(Module["_archive_entry_is_encrypted"]=wasmExports["X"])(a0);Module["_archive_read_has_encrypted_entries"]=a0=>(Module["_archive_read_has_encrypted_entries"]=wasmExports["Y"])(a0);Module["_archive_read_data_skip"]=a0=>(Module["_archive_read_data_skip"]=wasmExports["Z"])(a0);Module["_archive_write_close"]=a0=>(Module["_archive_write_close"]=wasmExports["$"])(a0);Module["_archive_write_free"]=a0=>(Module["_archive_write_free"]=wasmExports["aa"])(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(); - - - return moduleArg.ready -} -); -})(); - -/* eslint-disable no-undef */ - -class WasmModule { - constructor() { - this.preRun = []; - this.postRun = []; - this.totalDependencies = 0; - } - - print(...text) { - console.log(text); - } - - printErr(...text) { - console.error(text); - } - - initFunctions() { - this.runCode = { - // const char * get_version() - getVersion: this.cwrap("get_version", "string", []), - // void * void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale) - // retuns archive pointer - openArchive: this.cwrap("archive_open", "number", [ - "number", - "number", - "string", - "string", - ]), - // void * get_entry(void * archive) - // return archive entry pointer - getNextEntry: this.cwrap("get_next_entry", "number", ["number"]), - // void * get_filedata( void * archive, size_t bufferSize ) - getFileData: this.cwrap("get_filedata", "number", ["number", "number"]), - // int archive_read_data_skip(struct archive *_a) - skipEntry: this.cwrap("archive_read_data_skip", "number", ["number"]), - // void archive_close( void * archive ) - closeArchive: this.cwrap("archive_close", null, ["number"]), - // la_int64_t archive_entry_size( struct archive_entry * ) - getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), - // const char * archive_entry_pathname_utf8( struct archive_entry * ) - getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), - // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) - /* - #define AE_IFMT ((__LA_MODE_T)0170000) - #define AE_IFREG ((__LA_MODE_T)0100000) // Regular file - #define AE_IFLNK ((__LA_MODE_T)0120000) // Sybolic link - #define AE_IFSOCK ((__LA_MODE_T)0140000) // Socket - #define AE_IFCHR ((__LA_MODE_T)0020000) // Character device - #define AE_IFBLK ((__LA_MODE_T)0060000) // Block device - #define AE_IFDIR ((__LA_MODE_T)0040000) // Directory - #define AE_IFIFO ((__LA_MODE_T)0010000) // Named pipe - */ - getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), - // long archive_entry_mtime_nsec(struct archive_entry *); - getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", [ - "number", - ]), - - // const char * archive_error_string(struct archive *); - getError: this.cwrap("archive_error_string", "string", ["number"]), - - // void *start_archive_write(char *filter, char *format, void *buff, size_t buffsize, size_t *outputsize, char *passphrase) - startArchiveWrite: this.cwrap("start_archive_write", "number", [ - "string", - "string", - "number", - "number", - "number", - "string", - ]), + this._runCode.writeArchiveFile( + newArchive, + pathname || file.name, + fileData.length, + fileData.ptr, + ); + this._runCode.free(fileData.ptr); + } - // void write_archive_file( void *a, char *pathname, size_t filesize , char *filedata ) - writeArchiveFile: this.cwrap("write_archive_file", null, [ - "number", - "string", - "number", - "number", - ]), + const closeStatus = this._runCode.closeArchiveWrite(newArchive); + const freeStatus = this._runCode.freeArchiveWrite(newArchive); - // int archive_write_close(struct archive *); - closeArchiveWrite: this.cwrap("archive_write_close", "number", ["number",]), + if (closeStatus !== 0 || freeStatus !== 0) { + throw new Error(this._runCode.getError(newArchive)); + } - // int archive_write_free(struct archive *); - freeArchiveWrite: this.cwrap("archive_write_free", "number", ["number"]), + const outputSizeBytes = this._wasmModule.HEAPU8.slice( + outputSizePtr, + outputSizePtr + ptrSize, + ); - /* - * Returns 1 if the archive contains at least one encrypted entry. - * If the archive format not support encryption at all - * ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED is returned. - * If for any other reason (e.g. not enough data read so far) - * we cannot say whether there are encrypted entries, then - * ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW is returned. - * In general, this function will return values below zero when the - * reader is uncertain or totally incapable of encryption support. - * When this function returns 0 you can be sure that the reader - * supports encryption detection but no encrypted entries have - * been found yet. - * - * NOTE: If the metadata/header of an archive is also encrypted, you - * cannot rely on the number of encrypted entries. That is why this - * function does not return the number of encrypted entries but# - * just shows that there are some. - */ - // __LA_DECL int archive_read_has_encrypted_entries(struct archive *); - entryIsEncrypted: this.cwrap("archive_entry_is_encrypted", "number", [ - "number", - ]), - hasEncryptedEntries: this.cwrap( - "archive_read_has_encrypted_entries", - "number", - ["number"], - ), - // __LA_DECL int archive_read_add_passphrase(struct archive *, const char *); - addPassphrase: this.cwrap("archive_read_add_passphrase", "number", [ - "number", - "string", - ]), - //this.stringToUTF(str), // - string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), - malloc: this.cwrap("malloc", "number", ["number"]), - free: this.cwrap("free", null, ["number"]), - sizeOfSizeT: this.cwrap("size_of_size_t", "number", []), - }; - //console.log(this.runCode.getVersion()); - } + let outputSize = null; + if (ptrSize == 4) { + outputSize = new Uint32Array(outputSizeBytes)[0]; + } else if (ptrSize == 8) { + outputSize = new BigUint64Array(outputSizeBytes)[0]; + } else throw Error("Unexpected size of size_t: " + ptrSize); - monitorRunDependencies() {} + return this._wasmModule.HEAPU8.slice(bufferPtr, bufferPtr + outputSize); + } - locateFile(path /* ,prefix */) { - return `${path}`; - } + async _loadFile(file) { + const arrayBuffer = await file.arrayBuffer(); + const array = new Uint8Array(arrayBuffer); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + return { + ptr: filePtr, + length: array.length, + }; + } } -function getWasmModule(cb) { - libarchive(new WasmModule()).then((module) => { - module.initFunctions(); - cb(module); - }); -} +var libarchive = (() => { + var _scriptDir = import.meta.url; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ -const proxyMarker = Symbol("Comlink.proxy"); -const createEndpoint = Symbol("Comlink.endpoint"); -const releaseProxy = Symbol("Comlink.releaseProxy"); -const finalizer = Symbol("Comlink.finalizer"); -const throwMarker = Symbol("Comlink.thrown"); -const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function"; -/** - * Internal transfer handle to handle objects marked to proxy. - */ -const proxyTransferHandler = { - canHandle: (val) => isObject(val) && val[proxyMarker], - serialize(obj) { - const { port1, port2 } = new MessageChannel(); - expose(obj, port1); - return [port2, [port2]]; - }, - deserialize(port) { - port.start(); - return wrap(port); - }, -}; -/** - * Internal transfer handler to handle thrown exceptions. - */ -const throwTransferHandler = { - canHandle: (value) => isObject(value) && throwMarker in value, - serialize({ value }) { - let serialized; - if (value instanceof Error) { - serialized = { - isError: true, - value: { - message: value.message, - name: value.name, - stack: value.stack, - }, - }; + 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 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, "/"); + } + 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"]) 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; + function assert(condition, text) { + if (!condition) { + abort(text); + } + } + var HEAP8, HEAPU8, HEAP16, HEAP32, HEAPU32; + 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"] = new Uint16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = new Float32Array(b); + Module["HEAPF64"] = new Float64Array(b); + } + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + 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() { + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + 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 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 (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + function abort(what) { + Module["onAbort"]?.(what); + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + var isDataURI = (filename) => filename.startsWith(dataURIPrefix); + 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(); + return wasmExports; + } + addRunDependency(); + 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 < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (; end >= 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 < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + }, + }; + var UTF8Decoder = + typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined; + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = + ((u0 & 7) << 18) | + (u1 << 12) | + (u2 << 6) | + (heapOrArray[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + return str; + }; + var FS_stdin_getChar_buffer = []; + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 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 < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 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; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }, + default_tty_ops: { + get_char(tty) { + return FS_stdin_getChar(); + }, + put_char(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + fsync(tty) { + if (tty.output && tty.output.length > 0) { + 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 < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> + 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; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set( + buffer.subarray(offset, offset + length), + position, + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length, + ); + }, + mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length, + ); + } + } + allocated = true; + ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + }, + }, + }; + var asyncLoad = (url, onload, onerror, noRunDep) => { + 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(); + }, + (event) => { + if (onerror) { + onerror(); + } else { + throw `Loading data file "${url}" failed.`; + } + }, + ); + if (dep) addRunDependency(); + }; + 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; } - else { - serialized = { isError: false, value }; + }); + 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; + function processData(byteArray) { + function finish(byteArray) { + preFinish?.(); + if (!dontCreateFile) { + FS_createDataFile( + parent, + name, + byteArray, + canRead, + canWrite, + canOwn, + ); + } + onload?.(); + removeRunDependency(); } - return [serialized, []]; - }, - deserialize(serialized) { - if (serialized.isError) { - throw Object.assign(new Error(serialized.value.message), serialized.value); + if ( + FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { + onerror?.(); + removeRunDependency(); + }) + ) { + return; } - throw serialized.value; - }, -}; -/** - * Allows customizing the serialization of certain values. - */ -const transferHandlers = new Map([ - ["proxy", proxyTransferHandler], - ["throw", throwTransferHandler], -]); -function isAllowedOrigin(allowedOrigins, origin) { - for (const allowedOrigin of allowedOrigins) { - if (origin === allowedOrigin || allowedOrigin === "*") { - return true; + finish(byteArray); + } + addRunDependency(); + 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); } - if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) { - return true; + var parts = path.split("/").filter((p) => !!p); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + 1, + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } } - } - return false; -} -function expose(obj, ep = globalThis, allowedOrigins = ["*"]) { - ep.addEventListener("message", function callback(ev) { - if (!ev || !ev.data) { - return; + 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; } - if (!isAllowedOrigin(allowedOrigins, ev.origin)) { - console.warn(`Invalid origin '${ev.origin}' for comlink proxy`); + }, + hashName(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 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); + } } - const { id, type, path } = Object.assign({ path: [] }, ev.data); - const argumentList = (ev.data.argumentList || []).map(fromWireValue); - let returnValue; + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [], + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev(path, mode, dev) { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; try { - const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj); - const rawValue = path.reduce((obj, prop) => obj[prop], obj); - switch (type) { - case "GET" /* MessageType.GET */: - { - returnValue = rawValue; - } - break; - case "SET" /* MessageType.SET */: - { - parent[path.slice(-1)[0]] = fromWireValue(ev.data.value); - returnValue = true; - } - break; - case "APPLY" /* MessageType.APPLY */: - { - returnValue = rawValue.apply(parent, argumentList); - } - break; - case "CONSTRUCT" /* MessageType.CONSTRUCT */: - { - const value = new rawValue(...argumentList); - returnValue = proxy(value); - } - break; - case "ENDPOINT" /* MessageType.ENDPOINT */: - { - const { port1, port2 } = new MessageChannel(); - expose(obj, port2); - returnValue = transfer(port1, [port1]); - } - break; - case "RELEASE" /* MessageType.RELEASE */: - { - returnValue = undefined; - } - break; - default: - return; + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if ( + FS.isMountpoint(old_node) || + (new_node && FS.isMountpoint(new_node)) + ) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, + rmdir(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link), + ); + }, + stat(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat(path) { + return FS.stat(path, true); + }, + chmod(path, mode, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now(), + }); + }, + lchmod(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod(fd, mode) { + var stream = FS.getStreamChecked(fd); + FS.chmod(stream.node, mode); + }, + chown(path, uid, gid, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown(fd, uid, gid) { + var stream = FS.getStreamChecked(fd); + FS.chown(stream.node, uid, gid); + }, + truncate(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate(fd, len) { + var stream = FS.getStreamChecked(fd); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open(path, flags, mode) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false, + }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, + close(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed(stream) { + return stream.fd === null; + }, + llseek(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer, + offset, + length, + position, + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn, + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap(stream, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync(stream, buffer, offset, length, mmapFlags) { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer, + offset, + length, + mmapFlags, + ); + }, + munmap: (stream) => 0, + ioctl(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile(path, opts = {}) { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile(path, data, opts = {}) { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: () => FS.currentPath, + chdir(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var 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"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + 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; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + findObject(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null, + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath(parent, path, canRead, canWrite) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile(parent, name, data, canRead, canWrite, canOwn) { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + }, + createDevice(parent, name, input, output) { + var path = PATH.join2( + typeof parent == "string" ? parent : FS.getPath(parent), + name, + ); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open(stream) { + stream.seekable = false; + }, + close(stream) { + if (output?.buffer?.length) { + output(10); + } + }, + read(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }, + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.", + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); } - catch (value) { - returnValue = { value, [throwMarker]: 0 }; + }, + createLazyFile(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; } - Promise.resolve(returnValue) - .catch((value) => { - return { value, [throwMarker]: 0 }; - }) - .then((returnValue) => { - const [wireValue, transferables] = toWireValue(returnValue); - ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); - if (type === "RELEASE" /* MessageType.RELEASE */) { - // detach and deactive after sending release response above. - ep.removeEventListener("message", callback); - closeEndPoint(ep); - if (finalizer in obj && typeof obj[finalizer] === "function") { - obj[finalizer](); + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = + function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = + function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && + header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error( + "invalid range (" + + from + + ", " + + to + + ") or no bytes requested!", + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!", + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if ( + !((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) + ) + throw new Error( + "Couldn't load " + url + ". Status: " + xhr.status, + ); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] == "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out( + "LazyFiles on gzip forces download of the whole file when length is accessed", + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); } + return this._length; + }, + }, + chunkSize: { + get: function () { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + }, + }, + }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function () { + return this.contents.length; + }, + }, + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; } - }) - .catch((error) => { - // Send Serialization Error To Caller - const [wireValue, transferables] = toWireValue({ - value: new TypeError("Unserializable return value"), - [throwMarker]: 0, - }); - ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables); + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(); + 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, }); - }); - if (ep.start) { - ep.start(); + 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; i < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + if (bucket.offset - bucket.roffset > 0) { + 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 < pipe.buckets.length; i++) { + var bucket = pipe.buckets[i]; + currentLength += bucket.offset - bucket.roffset; + } + var data = buffer.subarray(offset, offset + length); + if (length <= 0) { + return 0; + } + if (currentLength == 0) { + throw new FS.ErrnoError(6); + } + var toRead = Math.min(currentLength, length); + var totalRead = toRead; + var toRemove = 0; + for (var i = 0; i < pipe.buckets.length; i++) { + var currBucket = pipe.buckets[i]; + var bucketSize = currBucket.offset - currBucket.roffset; + if (toRead <= bucketSize) { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + if (toRead < bucketSize) { + tmpSlice = tmpSlice.subarray(0, toRead); + currBucket.roffset += toRead; + } else { + toRemove++; + } + data.set(tmpSlice); + break; + } else { + var tmpSlice = currBucket.buffer.subarray( + currBucket.roffset, + currBucket.offset, + ); + data.set(tmpSlice); + data = data.subarray(tmpSlice.byteLength); + toRead -= tmpSlice.byteLength; + toRemove++; + } + } + if (toRemove && toRemove == pipe.buckets.length) { + toRemove--; + pipe.buckets[toRemove].offset = 0; + pipe.buckets[toRemove].roffset = 0; + } + pipe.buckets.splice(0, toRemove); + return totalRead; + }, + write(stream, buffer, offset, length, position) { + var pipe = stream.node.pipe; + var data = buffer.subarray(offset, offset + length); + var dataLen = data.byteLength; + if (dataLen <= 0) { + return 0; + } + var currBucket = null; + if (pipe.buckets.length == 0) { + currBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: 0, + roffset: 0, + }; + pipe.buckets.push(currBucket); + } else { + currBucket = pipe.buckets[pipe.buckets.length - 1]; + } + assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); + var freeBytesInCurrBuffer = + PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; + if (freeBytesInCurrBuffer >= 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; i < numBuckets; i++) { + var newBucket = { + buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), + offset: PIPEFS.BUCKET_BUFFER_SIZE, + roffset: 0, + }; + pipe.buckets.push(newBucket); + newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); + data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength); + } + if (remElements > 0) { + 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 isMessagePort(endpoint) { - return endpoint.constructor.name === "MessagePort"; -} -function closeEndPoint(endpoint) { - if (isMessagePort(endpoint)) - endpoint.close(); -} -function wrap(ep, target) { - return createProxy(ep, [], target); -} -function throwIfProxyReleased(isReleased) { - if (isReleased) { - throw new Error("Proxy has been released and is not useable"); + function ___syscall_poll(fds, nfds, timeout) { + try { + var nonzero = 0; + for (var i = 0; i < nfds; i++) { + var pollfd = fds + 8 * i; + var fd = HEAP32[pollfd >> 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 releaseEndpoint(ep) { - return requestResponseMessage(ep, { - type: "RELEASE" /* MessageType.RELEASE */, - }).then(() => { - closeEndPoint(ep); - }); -} -const proxyCounter = new WeakMap(); -const proxyFinalizers = "FinalizationRegistry" in globalThis && - new FinalizationRegistry((ep) => { - const newCount = (proxyCounter.get(ep) || 0) - 1; - proxyCounter.set(ep, newCount); - if (newCount === 0) { - releaseEndpoint(ep); + 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"); } - }); -function registerProxy(proxy, ep) { - const newCount = (proxyCounter.get(ep) || 0) + 1; - proxyCounter.set(ep, newCount); - if (proxyFinalizers) { - proxyFinalizers.register(proxy, ep, proxy); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } } -} -function unregisterProxy(proxy) { - if (proxyFinalizers) { - proxyFinalizers.unregister(proxy); + 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; } -} -function createProxy(ep, path = [], target = function () { }) { - let isProxyReleased = false; - const proxy = new Proxy(target, { - get(_target, prop) { - throwIfProxyReleased(isProxyReleased); - if (prop === releaseProxy) { - return () => { - unregisterProxy(proxy); - releaseEndpoint(ep); - isProxyReleased = true; - }; - } - if (prop === "then") { - if (path.length === 0) { - return { then: () => proxy }; - } - const r = requestResponseMessage(ep, { - type: "GET" /* MessageType.GET */, - path: path.map((p) => p.toString()), - }).then(fromWireValue); - return r.then.bind(r); + 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 < winterOffset) { + HEAPU32[tzname >> 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_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 + 0.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 < str.length; ++i) { + HEAP8[buffer++ >> 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) => { + if (!keepRuntimeAlive()) { + Module["onExit"]?.(code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + }; + var exitJS = (status, implicit) => { + _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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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 < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.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 < iovcnt; i++) { + var ptr = HEAPU32[iov >> 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.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 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++; } - return createProxy(ep, [...path, prop]); + } 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 < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; + }; + var cwrap = (ident, returnType, argTypes, opts) => { + 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); + }; + }; + 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(_target, prop, rawValue) { - throwIfProxyReleased(isProxyReleased); - // FIXME: ES6 Proxy Handler `set` methods are supposed to return a - // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯ - const [value, transferables] = toWireValue(rawValue); - return requestResponseMessage(ep, { - type: "SET" /* MessageType.SET */, - path: [...path, prop].map((p) => p.toString()), - value, - }, transferables).then(fromWireValue); + set: function (val) { + val ? (this.mode |= readMode) : (this.mode &= ~readMode); }, - apply(_target, _thisArg, rawArgumentList) { - throwIfProxyReleased(isProxyReleased); - const last = path[path.length - 1]; - if (last === createEndpoint) { - return requestResponseMessage(ep, { - type: "ENDPOINT" /* MessageType.ENDPOINT */, - }).then(fromWireValue); - } - // We just pretend that `bind()` didn’t happen. - if (last === "bind") { - return createProxy(ep, path.slice(0, -1)); - } - const [argumentList, transferables] = processArguments(rawArgumentList); - return requestResponseMessage(ep, { - type: "APPLY" /* MessageType.APPLY */, - path: path.map((p) => p.toString()), - argumentList, - }, transferables).then(fromWireValue); + }, + write: { + get: function () { + return (this.mode & writeMode) === writeMode; }, - construct(_target, rawArgumentList) { - throwIfProxyReleased(isProxyReleased); - const [argumentList, transferables] = processArguments(rawArgumentList); - return requestResponseMessage(ep, { - type: "CONSTRUCT" /* MessageType.CONSTRUCT */, - path: path.map((p) => p.toString()), - argumentList, - }, transferables).then(fromWireValue); + 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); + }, + }, }); - registerProxy(proxy, ep); - return proxy; -} -function myFlat(arr) { - return Array.prototype.concat.apply([], arr); -} -function processArguments(argumentList) { - const processed = argumentList.map(toWireValue); - return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))]; -} -const transferCache = new WeakMap(); -function transfer(obj, transfers) { - transferCache.set(obj, transfers); - return obj; -} -function proxy(obj) { - return Object.assign(obj, { [proxyMarker]: true }); -} -function toWireValue(value) { - for (const [name, handler] of transferHandlers) { - if (handler.canHandle(value)) { - const [serializedValue, transferables] = handler.serialize(value); - return [ - { - type: "HANDLER" /* WireValueType.HANDLER */, - name, - value: serializedValue, - }, - transferables, - ]; - } + 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(); + (Module["_get_version"] = () => + (Module["_get_version"] = wasmExports["E"])()); + (Module["_archive_open"] = (a0, a1, a2, a3) => + (Module["_archive_open"] = wasmExports["F"])( + a0, + a1, + a2, + a3, + )); + (Module["_archive_read_add_passphrase"] = + (a0, a1) => + (Module["_archive_read_add_passphrase"] = + wasmExports["G"])(a0, a1)); + (Module["_archive_error_string"] = (a0) => + (Module["_archive_error_string"] = + wasmExports["H"])(a0)); + (Module["_get_next_entry"] = (a0) => + (Module["_get_next_entry"] = wasmExports["I"])(a0)); + (Module["_get_filedata"] = (a0, a1) => + (Module["_get_filedata"] = wasmExports["J"])(a0, a1)); + var _malloc = (Module["_malloc"] = (a0) => + (_malloc = Module["_malloc"] = wasmExports["K"])(a0)); + (Module["_archive_close"] = (a0) => + (Module["_archive_close"] = wasmExports["L"])(a0)); + (Module["_start_archive_write"] = ( + a0, + a1, + a2, + a3, + a4, + a5, + ) => + (Module["_start_archive_write"] = + wasmExports["M"])(a0, a1, a2, a3, a4, a5)); + (Module["_write_archive_file"] = ( + a0, + a1, + a2, + a3, + ) => + (Module["_write_archive_file"] = wasmExports["N"])( + a0, + a1, + a2, + a3, + )); + (Module["_size_of_size_t"] = () => + (Module["_size_of_size_t"] = wasmExports["O"])()); + (Module["_free"] = (a0) => + (Module["_free"] = wasmExports["P"])(a0)); + var ___errno_location = () => (___errno_location = wasmExports["Q"])(); + (Module[ + "_archive_entry_birthtime_nsec" + ] = (a0) => + (Module["_archive_entry_birthtime_nsec"] = + wasmExports["R"])(a0)); + (Module["_archive_entry_filetype"] = (a0) => + (Module["_archive_entry_filetype"] = + wasmExports["S"])(a0)); + (Module["_archive_entry_mtime_nsec"] = ( + a0, + ) => + (Module["_archive_entry_mtime_nsec"] = + wasmExports["T"])(a0)); + (Module["_archive_entry_pathname"] = (a0) => + (Module["_archive_entry_pathname"] = + wasmExports["U"])(a0)); + (Module["_archive_entry_pathname_utf8"] = + (a0) => + (Module["_archive_entry_pathname_utf8"] = + wasmExports["V"])(a0)); + (Module["_archive_entry_size"] = (a0) => + (Module["_archive_entry_size"] = wasmExports["W"])( + a0, + )); + (Module["_archive_entry_is_encrypted"] = ( + a0, + ) => + (Module["_archive_entry_is_encrypted"] = + wasmExports["X"])(a0)); + (Module[ + "_archive_read_has_encrypted_entries" + ] = (a0) => + (Module[ + "_archive_read_has_encrypted_entries" + ] = + wasmExports["Y"])(a0)); + (Module["_archive_read_data_skip"] = (a0) => + (Module["_archive_read_data_skip"] = + wasmExports["Z"])(a0)); + (Module["_archive_write_close"] = (a0) => + (Module["_archive_write_close"] = + wasmExports["$"])(a0)); + (Module["_archive_write_free"] = (a0) => + (Module["_archive_write_free"] = wasmExports["aa"])( + 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(); + } } - return [ - { - type: "RAW" /* WireValueType.RAW */, - value, - }, - transferCache.get(value) || [], - ]; -} -function fromWireValue(value) { - switch (value.type) { - case "HANDLER" /* WireValueType.HANDLER */: - return transferHandlers.get(value.name).deserialize(value.value); - case "RAW" /* WireValueType.RAW */: - return value.value; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } } + run(); + + return moduleArg.ready; + }; +})(); + +/* eslint-disable no-undef */ + +class WasmModule { + constructor() { + this.preRun = []; + this.postRun = []; + this.totalDependencies = 0; + } + + print(...text) { + console.log(text); + } + + printErr(...text) { + console.error(text); + } + + initFunctions() { + this.runCode = { + // const char * get_version() + getVersion: this.cwrap("get_version", "string", []), + // void * void* archive_open( const void *buf, size_t size, const char * passphrase, const char * locale) + // retuns archive pointer + openArchive: this.cwrap("archive_open", "number", [ + "number", + "number", + "string", + "string", + ]), + // void * get_entry(void * archive) + // return archive entry pointer + getNextEntry: this.cwrap("get_next_entry", "number", ["number"]), + // void * get_filedata( void * archive, size_t bufferSize ) + getFileData: this.cwrap("get_filedata", "number", ["number", "number"]), + // int archive_read_data_skip(struct archive *_a) + skipEntry: this.cwrap("archive_read_data_skip", "number", ["number"]), + // void archive_close( void * archive ) + closeArchive: this.cwrap("archive_close", null, ["number"]), + // la_int64_t archive_entry_size( struct archive_entry * ) + getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), + // const char * archive_entry_pathname_utf8( struct archive_entry * ) + getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), + // __LA_MODE_T archive_entry_filetype( struct archive_entry * ) + /* + #define AE_IFMT ((__LA_MODE_T)0170000) + #define AE_IFREG ((__LA_MODE_T)0100000) // Regular file + #define AE_IFLNK ((__LA_MODE_T)0120000) // Sybolic link + #define AE_IFSOCK ((__LA_MODE_T)0140000) // Socket + #define AE_IFCHR ((__LA_MODE_T)0020000) // Character device + #define AE_IFBLK ((__LA_MODE_T)0060000) // Block device + #define AE_IFDIR ((__LA_MODE_T)0040000) // Directory + #define AE_IFIFO ((__LA_MODE_T)0010000) // Named pipe + */ + getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), + // long archive_entry_mtime_nsec(struct archive_entry *); + getEntryLastModified: this.cwrap("archive_entry_mtime_nsec", "number", [ + "number", + ]), + + // const char * archive_error_string(struct archive *); + getError: this.cwrap("archive_error_string", "string", ["number"]), + + // void *start_archive_write(char *filter, char *format, void *buff, size_t buffsize, size_t *outputsize, char *passphrase) + startArchiveWrite: this.cwrap("start_archive_write", "number", [ + "string", + "string", + "number", + "number", + "number", + "string", + ]), + + // void write_archive_file( void *a, char *pathname, size_t filesize , char *filedata ) + writeArchiveFile: this.cwrap("write_archive_file", null, [ + "number", + "string", + "number", + "number", + ]), + + // int archive_write_close(struct archive *); + closeArchiveWrite: this.cwrap("archive_write_close", "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 + * ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED is returned. + * If for any other reason (e.g. not enough data read so far) + * we cannot say whether there are encrypted entries, then + * ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW is returned. + * In general, this function will return values below zero when the + * reader is uncertain or totally incapable of encryption support. + * When this function returns 0 you can be sure that the reader + * supports encryption detection but no encrypted entries have + * been found yet. + * + * NOTE: If the metadata/header of an archive is also encrypted, you + * cannot rely on the number of encrypted entries. That is why this + * function does not return the number of encrypted entries but# + * just shows that there are some. + */ + // __LA_DECL int archive_read_has_encrypted_entries(struct archive *); + entryIsEncrypted: this.cwrap("archive_entry_is_encrypted", "number", [ + "number", + ]), + hasEncryptedEntries: this.cwrap( + "archive_read_has_encrypted_entries", + "number", + ["number"], + ), + // __LA_DECL int archive_read_add_passphrase(struct archive *, const char *); + addPassphrase: this.cwrap("archive_read_add_passphrase", "number", [ + "number", + "string", + ]), + //this.stringToUTF(str), // + string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), + malloc: this.cwrap("malloc", "number", ["number"]), + free: this.cwrap("free", null, ["number"]), + sizeOfSizeT: this.cwrap("size_of_size_t", "number", []), + }; + //console.log(this.runCode.getVersion()); + } + + monitorRunDependencies() {} + + //locateFile(path /* ,prefix */) { + // return `${path}`; + //} } -function requestResponseMessage(ep, msg, transfers) { - return new Promise((resolve) => { - const id = generateUUID(); - ep.addEventListener("message", function l(ev) { - if (!ev.data || !ev.data.id || ev.data.id !== id) { - return; - } - ep.removeEventListener("message", l); - resolve(ev.data); - }); - if (ep.start) { - ep.start(); - } - ep.postMessage(Object.assign({ id }, msg), transfers); - }); -} -function generateUUID() { - return new Array(4) - .fill(0) - .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)) - .join("-"); + +function getWasmModule(cb) { + libarchive(new WasmModule()).then((module) => { + module.initFunctions(); + cb(module); + }); } let reader = null; let writer = null; +let ready = false; class LibArchiveWorker { constructor(readyCallback) { LibArchiveWorker.readyCallback = readyCallback; + if( ready ) { + setTimeout(() => readyCallback(),0); + } } open(file, cb) { @@ -798,7 +4832,8 @@ class LibArchiveWorker { getWasmModule((wasmModule) => { reader = new ArchiveReader(wasmModule); writer = new ArchiveWriter(wasmModule); - LibArchiveWorker?.readyCallback(); + LibArchiveWorker?.readyCallback?.(); + ready = true; }); expose(LibArchiveWorker); diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index d6a78fa..0000000 --- a/jest.config.js +++ /dev/null @@ -1,180 +0,0 @@ -// For a detailed explanation regarding each configuration property, visit: -// https://jestjs.io/docs/en/configuration.html - -module.exports = { - // All imported modules in your tests should be mocked automatically - // automock: false, - - // Stop running tests after the first failure - // bail: false, - - // Respect "browser" field in package.json when resolving modules - // browser: false, - - // The directory where Jest should store its cached dependency information - // cacheDirectory: "C:\\Users\\Nika\\AppData\\Local\\Temp\\jest", - - // Automatically clear mock calls and instances between every test - // clearMocks: false, - - // Indicates whether the coverage information should be collected while executing the test - // collectCoverage: false, - - // An array of glob patterns indicating a set of files for which coverage information should be collected - // collectCoverageFrom: null, - - // The directory where Jest should output its coverage files - // coverageDirectory: null, - - // An array of regexp pattern strings used to skip coverage collection - // coveragePathIgnorePatterns: [ - // "\\\\node_modules\\\\" - // ], - - // A list of reporter names that Jest uses when writing coverage reports - // coverageReporters: [ - // "json", - // "text", - // "lcov", - // "clover" - // ], - - // An object that configures minimum threshold enforcement for coverage results - // coverageThreshold: null, - - // Make calling deprecated APIs throw helpful error messages - // errorOnDeprecated: false, - - // Force coverage collection from ignored files usin a array of glob patterns - // forceCoverageMatch: [], - - // A path to a module which exports an async function that is triggered once before all test suites - // globalSetup: null, - - // A path to a module which exports an async function that is triggered once after all test suites - // globalTeardown: null, - - // A set of global variables that need to be available in all test environments - // globals: {}, - - // An array of directory names to be searched recursively up from the requiring module's location - // moduleDirectories: [ - // "node_modules" - // ], - - // An array of file extensions your modules use - // moduleFileExtensions: [ - // "js", - // "json", - // "jsx", - // "node" - // ], - - // A map from regular expressions to module names that allow to stub out resources with a single module - // moduleNameMapper: {}, - - // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader - // modulePathIgnorePatterns: [], - - // Activates notifications for test results - // notify: false, - - // An enum that specifies notification mode. Requires { notify: true } - // notifyMode: "always", - - // A preset that is used as a base for Jest's configuration - // preset: null, - - // Run tests from one or more projects - // projects: null, - - // Use this configuration option to add custom reporters to Jest - // reporters: undefined, - - // Automatically reset mock state between every test - // resetMocks: false, - - // Reset the module registry before running each individual test - // resetModules: false, - - // A path to a custom resolver - // resolver: null, - - // Automatically restore mock state between every test - // restoreMocks: false, - - // The root directory that Jest should scan for tests and modules within - // rootDir: null, - - // A list of paths to directories that Jest should use to search for files in - // roots: [ - // "" - // ], - - // Allows you to use a custom runner instead of Jest's default test runner - // runner: "jest-runner", - - // The paths to modules that run some code to configure or set up the testing environment before each test - // setupFiles: [], - - // The path to a module that runs some code to configure or set up the testing framework before each test - // setupTestFrameworkScriptFile: null, - - // A list of paths to snapshot serializer modules Jest should use for snapshot testing - // snapshotSerializers: [], - - // The test environment that will be used for testing - testEnvironment: "node", - - // Options that will be passed to the testEnvironment - // testEnvironmentOptions: {}, - - // Adds a location field to test results - // testLocationInResults: false, - - // The glob patterns Jest uses to detect test files - testMatch: [ - //"**/test/**/*.js?(x)", - "**/test/**/?(*.)+(spec|test).js?(x)", - ], - - // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped - // testPathIgnorePatterns: [ - // "\\\\node_modules\\\\" - // ], - - // The regexp pattern Jest uses to detect test files - // testRegex: "", - - // This option allows the use of a custom results processor - // testResultsProcessor: null, - - // This option allows use of a custom test runner - // testRunner: "jasmine2", - - // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href - // testURL: "http://localhost", - - // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout" - // timers: "real", - - // A map from regular expressions to paths to transformers - // transform: null, - - // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation - // transformIgnorePatterns: [ - // "\\\\node_modules\\\\" - // ], - - // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them - // unmockedModulePathPatterns: undefined, - - // Indicates whether each individual test should be reported during the run - // verbose: null, - - // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode - // watchPathIgnorePatterns: [], - - // Whether to use watchman for file crawling - // watchman: true, -}; diff --git a/lib/tools/build.sh b/lib/tools/build.sh index 02c881b..2bfeb04 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","intArrayFromString","UTF8ToString"]' \ + -s EXTRA_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/package.json b/package.json index 8a143ab..a96860e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "scripts": { "build": "rollup --config ./rollup.config.js --environment BUILD:production", "build:dev": "rollup --config ./rollup.config.js --environment BUILD:development", - "test": "jest --runInBand", + "test": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" jest --runInBand", "lint": "eslint \"*/**/*.{ts,js,json}\"", "lint:fix": "eslint \"*/**/*.{ts,js,json}\" --fix", "prettier:fix": "npx prettier . --write" @@ -47,5 +47,25 @@ "rollup-plugin-copy": "^3.5.0", "rollup-plugin-terser": "^7.0.2", "static-server": "^2.2.1" + }, + "jest": { + "moduleFileExtensions": [ + "mjs", + "js", + "jsx", + "ts", + "tsx", + "json", + "node" + ], + "testMatch": [ + "**/*.test.js", + "**/*.test.mjs" + ], + "testPathIgnorePatterns": [ + "/node_modules/", + "/cypress/" + ], + "transform": {} } } diff --git a/rollup.config.js b/rollup.config.js index 3f6a55c..3a3efcd 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -5,7 +5,7 @@ import typescript from "@rollup/plugin-typescript"; export default [ { - input: "src/webworker/worker.js", + input: "src/webworker/browser-worker.js", output: [ { file: "dist/worker-bundle.js", @@ -19,7 +19,23 @@ export default [ { src: "src/webworker/wasm-gen/libarchive.wasm", dest: "dist" }, ], }), - // babel({ babelHelpers: 'bundled' }), + ].concat(process.env.BUILD === "production" ? [terser()] : []), + }, + { + input: "src/webworker/node-worker.js", + output: [ + { + file: "dist/worker-bundle-node.mjs", + format: "es", + }, + ], + plugins: [ + nodeResolve(), + copy({ + targets: [ + { src: "src/webworker/wasm-gen/libarchive.wasm", dest: "dist" }, + ], + }), ].concat(process.env.BUILD === "production" ? [terser()] : []), }, { @@ -34,4 +50,16 @@ export default [ process.env.BUILD === "production" ? [terser()] : [], ), }, + { + input: "src/libarchive-node.ts", + output: [ + { + file: "dist/libarchive-node.mjs", + format: "es", + }, + ], + plugins: [typescript(), nodeResolve()].concat( + process.env.BUILD === "production" ? [terser()] : [], + ), + }, ]; diff --git a/src/libarchive-node.ts b/src/libarchive-node.ts new file mode 100644 index 0000000..68bf978 --- /dev/null +++ b/src/libarchive-node.ts @@ -0,0 +1,27 @@ +import { Worker } from "worker_threads"; +import { URL } from "url"; +import * as Comlink from "comlink"; +import nodeEndpoint from "comlink/dist/esm/node-adapter"; +import { Archive } from "./libarchive"; +export * from "./libarchive"; + +// Polyfill for Promise.withResolvers on nodejs +(Promise as any).withResolvers || + ((Promise as any).withResolvers = function withResolvers() { + var a, + b, + c = new this(function (resolve: Function, reject: Function) { + a = resolve; + b = reject; + }); + return { resolve: a, reject: b, promise: c }; + }); + +const __dirname = new URL(".", import.meta.url).pathname; + +const worker = new Worker(`${__dirname}/worker-bundle-node.mjs`); + +Archive.init({ + worker: worker, + comlinkWrapper: Comlink.wrap(nodeEndpoint(worker)), +}); diff --git a/src/libarchive.ts b/src/libarchive.ts index 24da841..c811c66 100644 --- a/src/libarchive.ts +++ b/src/libarchive.ts @@ -9,7 +9,9 @@ import { ArchiveCompression, ArchiveFormat } from "./formats.js"; export { ArchiveCompression, ArchiveFormat } from "./formats.js"; export type ArchiveOptions = { - workerUrl: string | URL; + workerUrl?: string | URL; + worker?: any; + comlinkWrapper?: any; }; export type ArchiveEntry = { @@ -42,11 +44,7 @@ export class Archive { * @param {Object} options */ static init(options: ArchiveOptions | null = null) { - Archive._options = { - workerUrl: - options?.workerUrl || new URL("./worker-bundle.js", import.meta.url), - ...options, - }; + Archive._options = options || {}; return Archive._options; } @@ -56,6 +54,19 @@ export class Archive { private _file: File | null; private _client: any; + static getWorker(options: ArchiveOptions) { + if (options.worker) { + return options.worker; + } else { + return new Worker( + options?.workerUrl || new URL("./worker-bundle.js", import.meta.url), + { + type: "module", + }, + ); + } + } + static async write({ files, outputFileName, @@ -63,11 +74,10 @@ export class Archive { format, passphrase = null, }: ArchiveWriteOptions) { - const _worker = new Worker(Archive._options.workerUrl, { - type: "module", - }); + const _worker = Archive.getWorker(Archive._options); - const Client = Comlink.wrap(_worker as any) as any; + const Client = + Archive._options.comlinkWrapper || (Comlink.wrap(_worker as any) as any); // @ts-ignore - Promise.WithResolvers let { promise: clientReady, resolve } = Promise.withResolvers(); @@ -112,9 +122,7 @@ export class Archive { * @param {Object} options */ constructor(file: File, options: ArchiveOptions) { - this._worker = new Worker(options.workerUrl, { - type: "module", - }); + this._worker = Archive.getWorker(options); this._content = {}; this._processed = 0; @@ -123,7 +131,9 @@ export class Archive { private async getClient() { if (!this._client) { - const Client = Comlink.wrap(this._worker as any) as any; + const Client = + Archive._options.comlinkWrapper || + (Comlink.wrap(this._worker as any) as any); // @ts-ignore - Promise.WithResolvers let { promise, resolve } = Promise.withResolvers(); this._client = await new Client( diff --git a/src/webworker/archive-reader.js b/src/webworker/archive-reader.js index 989773c..8509a71 100644 --- a/src/webworker/archive-reader.js +++ b/src/webworker/archive-reader.js @@ -131,36 +131,14 @@ export class ArchiveReader { } } - _loadFile(fileBuffer, resolve, reject) { - try { - const array = new Uint8Array(fileBuffer); - this._fileLength = array.length; - this._filePtr = this._runCode.malloc(this._fileLength); - this._wasmModule.HEAPU8.set(array, this._filePtr); - resolve(); - } catch (error) { - reject(error); - } - } - - _loadFile(file) { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = () => { - try { - const array = new Uint8Array(reader.result); - const filePtr = this._runCode.malloc(array.length); - this._wasmModule.HEAPU8.set(array, filePtr); - resolve({ - ptr: filePtr, - length: array.length, - }); - } catch (error) { - reject(error); - } - }; - - reader.readAsArrayBuffer(file); - }); + async _loadFile(file) { + const arrayBuffer = await file.arrayBuffer(); + const array = new Uint8Array(arrayBuffer); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + return { + ptr: filePtr, + length: array.length, + }; } } diff --git a/src/webworker/archive-writer.js b/src/webworker/archive-writer.js index b1e7b8d..82e43e0 100644 --- a/src/webworker/archive-writer.js +++ b/src/webworker/archive-writer.js @@ -60,24 +60,14 @@ export class ArchiveWriter { return this._wasmModule.HEAPU8.slice(bufferPtr, bufferPtr + outputSize); } - _loadFile(file) { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = () => { - try { - const array = new Uint8Array(reader.result); - const filePtr = this._runCode.malloc(array.length); - this._wasmModule.HEAPU8.set(array, filePtr); - resolve({ - ptr: filePtr, - length: array.length, - }); - } catch (error) { - reject(error); - } - }; - - reader.readAsArrayBuffer(file); - }); + async _loadFile(file) { + const arrayBuffer = await file.arrayBuffer(); + const array = new Uint8Array(arrayBuffer); + const filePtr = this._runCode.malloc(array.length); + this._wasmModule.HEAPU8.set(array, filePtr); + return { + ptr: filePtr, + length: array.length, + }; } } diff --git a/src/webworker/browser-worker.js b/src/webworker/browser-worker.js new file mode 100644 index 0000000..72c69b8 --- /dev/null +++ b/src/webworker/browser-worker.js @@ -0,0 +1,4 @@ +import * as Comlink from "comlink/dist/esm/comlink.mjs"; +import { LibArchiveWorker } from "./worker"; + +Comlink.expose(LibArchiveWorker); diff --git a/src/webworker/node-worker.js b/src/webworker/node-worker.js new file mode 100644 index 0000000..0105120 --- /dev/null +++ b/src/webworker/node-worker.js @@ -0,0 +1,6 @@ +import * as Comlink from "comlink/dist/esm/comlink.mjs"; +import { LibArchiveWorker } from "./worker"; +import { parentPort } from "worker_threads"; +import nodeEndpoint from "comlink/dist/esm/node-adapter.mjs"; + +Comlink.expose(LibArchiveWorker, nodeEndpoint(parentPort)); diff --git a/src/webworker/wasm-module.js b/src/webworker/wasm-module.js index 473a66b..b0f9cd1 100644 --- a/src/webworker/wasm-module.js +++ b/src/webworker/wasm-module.js @@ -119,20 +119,14 @@ export class WasmModule { "number", "string", ]), - //this.stringToUTF(str), // string: (str) => this.allocate(this.intArrayFromString(str), "i8", 0), malloc: this.cwrap("malloc", "number", ["number"]), free: this.cwrap("free", null, ["number"]), sizeOfSizeT: this.cwrap("size_of_size_t", "number", []), }; - //console.log(this.runCode.getVersion()); } monitorRunDependencies() {} - - locateFile(path /* ,prefix */) { - return `${path}`; - } } export function getWasmModule(cb) { diff --git a/src/webworker/worker.js b/src/webworker/worker.js index 90f5484..833fb23 100644 --- a/src/webworker/worker.js +++ b/src/webworker/worker.js @@ -1,14 +1,17 @@ import { ArchiveReader } from "./archive-reader"; import { ArchiveWriter } from "./archive-writer"; import { getWasmModule } from "./wasm-module"; -import * as Comlink from "comlink/dist/esm/comlink.mjs"; let reader = null; let writer = null; +let ready = false; -class LibArchiveWorker { +export class LibArchiveWorker { constructor(readyCallback) { LibArchiveWorker.readyCallback = readyCallback; + if (ready) { + setTimeout(() => readyCallback(), 0); + } } open(file, cb) { @@ -63,7 +66,6 @@ class LibArchiveWorker { getWasmModule((wasmModule) => { reader = new ArchiveReader(wasmModule); writer = new ArchiveWriter(wasmModule); - LibArchiveWorker?.readyCallback(); + LibArchiveWorker?.readyCallback?.(); + ready = true; }); - -Comlink.expose(LibArchiveWorker); diff --git a/test/checksum-utils.mjs b/test/checksum-utils.mjs new file mode 100644 index 0000000..1c4da6b --- /dev/null +++ b/test/checksum-utils.mjs @@ -0,0 +1,24 @@ +function hex(buffer) { + const hexCodes = []; + const view = new DataView(buffer); + for (let i = 0; i < view.byteLength; i += 4) { + const value = view.getUint32(i); + const stringValue = value.toString(16); + const padding = "00000000"; + const paddedValue = (padding + stringValue).slice(-padding.length); + hexCodes.push(paddedValue); + } + return hexCodes.join(""); +} + +export async function getChecksum(file) { + return hex(await crypto.subtle.digest("SHA-256", await file.arrayBuffer())); +} + +export async function fileChecksums(obj) { + for (const [key, val] of Object.entries(obj)) { + obj[key] = + val instanceof File ? await getChecksum(val) : await fileChecksums(val); + } + return obj; +} diff --git a/test/files/encryption.html b/test/files/encryption.html index f179ac4..b328938 100644 --- a/test/files/encryption.html +++ b/test/files/encryption.html @@ -6,37 +6,6 @@

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 U7&_zD!S;jO98B8X>F)5q03dg1xBvhE literal 0 HcmV?d00001 diff --git a/dist/wasm-gen/libarchive.js b/dist/wasm-gen/libarchive.js deleted file mode 100644 index 6adea82..0000000 --- a/dist/wasm-gen/libarchive.js +++ /dev/null @@ -1,15 +0,0 @@ - -var libarchive = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - return ( -function(libarchive) { - libarchive = libarchive || {}; - -var Module=typeof libarchive!=="undefined"?libarchive:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{var success=_emscripten_resize_heap(end);if(!success)return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(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>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,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;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var DYNAMIC_BASE=5520464,DYNAMICTOP_PTR=277552;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=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 ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="libarchive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":507,"maximum":507,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.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};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}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(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-75}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall168(which,varargs){SYSCALLS.varargs=varargs;try{var fds=SYSCALLS.get(),nfds=SYSCALLS.get(),timeout=SYSCALLS.get();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)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,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 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall41(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD();return FS.open(old.path,old.flags,0).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[]};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:FS.modeStringToFlags("r"),seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:FS.modeStringToFlags("w"),seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return ERRNO_CODES.EINVAL},read:function(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:function(stream){var pipe=stream.node.pipe;pipe.buckets=null}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall42(which,varargs){SYSCALLS.varargs=varargs;try{var fdPtr=SYSCALLS.get();if(fdPtr==0){throw new FS.ErrnoError(14)}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 instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){var PAGE_MULTIPLE=65536;size=alignUp(size,PAGE_MULTIPLE);var oldSize=buffer.byteLength;try{var result=wasmMemory.grow((size-oldSize)/65536);if(result!==(-1|0)){buffer=wasmMemory.buffer;return true}else{return false}}catch(e){return false}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());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=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();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(2e3,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=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _posix_spawn_file_actions_addclose(){err("missing function: posix_spawn_file_actions_addclose");abort(-1)}function _posix_spawn_file_actions_adddup2(){err("missing function: posix_spawn_file_actions_adddup2");abort(-1)}function _posix_spawn_file_actions_destroy(){err("missing function: posix_spawn_file_actions_destroy");abort(-1)}function _posix_spawn_file_actions_init(){err("missing function: posix_spawn_file_actions_init");abort(-1)}function _fork(){___setErrNo(11);return-1}function _posix_spawnp(){return _fork.apply(null,arguments)}function _timegm(tmPtr){_tzset();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|0}function _wait(stat_loc){___setErrNo(10);return-1}function _waitpid(){return _wait.apply(null,arguments)}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}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 asmGlobalArg={};var asmLibraryArg={"b":abort,"q":setTempRet0,"G":___buildEnvironment,"l":___setErrNo,"s":___syscall140,"i":___syscall146,"p":___syscall168,"o":___syscall195,"n":___syscall196,"m":___syscall197,"c":___syscall221,"F":___syscall3,"E":___syscall4,"D":___syscall41,"C":___syscall42,"B":___syscall5,"h":___syscall6,"g":_abort,"A":_emscripten_get_heap_size,"z":_emscripten_memcpy_big,"y":_emscripten_resize_heap,"f":_exit,"x":_localtime,"d":_mktime,"e":_posix_spawn_file_actions_addclose,"k":_posix_spawn_file_actions_adddup2,"j":_posix_spawn_file_actions_destroy,"w":_posix_spawn_file_actions_init,"v":_posix_spawnp,"u":_timegm,"t":_waitpid,"r":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["H"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["I"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["J"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["K"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["L"].apply(null,arguments)};var _archive_close=Module["_archive_close"]=function(){return Module["asm"]["M"].apply(null,arguments)};var _archive_entry_filetype=Module["_archive_entry_filetype"]=function(){return Module["asm"]["N"].apply(null,arguments)};var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=function(){return Module["asm"]["O"].apply(null,arguments)};var _archive_entry_pathname=Module["_archive_entry_pathname"]=function(){return Module["asm"]["P"].apply(null,arguments)};var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=function(){return Module["asm"]["Q"].apply(null,arguments)};var _archive_entry_size=Module["_archive_entry_size"]=function(){return Module["asm"]["R"].apply(null,arguments)};var _archive_error_string=Module["_archive_error_string"]=function(){return Module["asm"]["S"].apply(null,arguments)};var _archive_open=Module["_archive_open"]=function(){return Module["asm"]["T"].apply(null,arguments)};var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=function(){return Module["asm"]["U"].apply(null,arguments)};var _archive_read_data_skip=Module["_archive_read_data_skip"]=function(){return Module["asm"]["V"].apply(null,arguments)};var _archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=function(){return Module["asm"]["W"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["X"].apply(null,arguments)};var _get_filedata=Module["_get_filedata"]=function(){return Module["asm"]["Y"].apply(null,arguments)};var _get_next_entry=Module["_get_next_entry"]=function(){return Module["asm"]["Z"].apply(null,arguments)};var _get_version=Module["_get_version"]=function(){return Module["asm"]["_"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["$"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["da"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ba"].apply(null,arguments)};Module["asm"]=asm;Module["intArrayFromString"]=intArrayFromString;Module["cwrap"]=cwrap;Module["allocate"]=allocate;Module["then"]=function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run(); - - - return libarchive -} -); -})(); -export default libarchive; \ No newline at end of file diff --git a/dist/wasm-gen/libarchive.wasm b/dist/wasm-gen/libarchive.wasm deleted file mode 100644 index aa189c5dcc54c563f78641d6fb746c184556180f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 896488 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