@webarkit/jsartoolkit-nft
Version:
Emscripten port of ARToolKit5 to JavaScript. It is a lighter version of Jsartoolkit5 with only NFT markerless support
2 lines • 757 kB
JavaScript
/*! For license information please see ARToolkitNFT_td.js.LICENSE.txt */
!function(A,I){if("object"==typeof exports&&"object"==typeof module)module.exports=I();else if("function"==typeof define&&define.amd)define([],I);else{var g=I();for(var B in g)("object"==typeof exports?exports:A)[B]=g[B]}}("undefined"!=typeof self?self:this,(()=>(()=>{var A={633:(A,I,g)=>{var B=g(738).default;function C(){"use strict";A.exports=C=function(){return g},A.exports.__esModule=!0,A.exports.default=A.exports;var I,g={},Q=Object.prototype,E=Q.hasOwnProperty,i=Object.defineProperty||function(A,I,g){A[I]=g.value},o="function"==typeof Symbol?Symbol:{},D=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",w=o.toStringTag||"@@toStringTag";function s(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{s({},"")}catch(I){s=function(A,I,g){return A[I]=g}}function G(A,I,g,B){var C=I&&I.prototype instanceof S?I:S,Q=Object.create(C.prototype),E=new H(B||[]);return i(Q,"_invoke",{value:K(A,g,E)}),Q}function t(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}g.wrap=G;var h="suspendedStart",F="suspendedYield",R="executing",r="completed",e={};function S(){}function y(){}function N(){}var c={};s(c,D,(function(){return this}));var k=Object.getPrototypeOf,n=k&&k(k(l([])));n&&n!==Q&&E.call(n,D)&&(c=n);var M=N.prototype=S.prototype=Object.create(c);function U(A){["next","throw","return"].forEach((function(I){s(A,I,(function(A){return this._invoke(I,A)}))}))}function J(A,I){function g(C,Q,i,o){var D=t(A[C],A,Q);if("throw"!==D.type){var a=D.arg,w=a.value;return w&&"object"==B(w)&&E.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,i,o)}),(function(A){g("throw",A,i,o)})):I.resolve(w).then((function(A){a.value=A,i(a)}),(function(A){return g("throw",A,i,o)}))}o(D.arg)}var C;i(this,"_invoke",{value:function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}})}function K(A,g,B){var C=h;return function(Q,E){if(C===R)throw Error("Generator is already running");if(C===r){if("throw"===Q)throw E;return{value:I,done:!0}}for(B.method=Q,B.arg=E;;){var i=B.delegate;if(i){var o=Y(i,B);if(o){if(o===e)continue;return o}}if("next"===B.method)B.sent=B._sent=B.arg;else if("throw"===B.method){if(C===h)throw C=r,B.arg;B.dispatchException(B.arg)}else"return"===B.method&&B.abrupt("return",B.arg);C=R;var D=t(A,g,B);if("normal"===D.type){if(C=B.done?r:F,D.arg===e)continue;return{value:D.arg,done:B.done}}"throw"===D.type&&(C=r,B.method="throw",B.arg=D.arg)}}}function Y(A,g){var B=g.method,C=A.iterator[B];if(C===I)return g.delegate=null,"throw"===B&&A.iterator.return&&(g.method="return",g.arg=I,Y(A,g),"throw"===g.method)||"return"!==B&&(g.method="throw",g.arg=new TypeError("The iterator does not provide a '"+B+"' method")),e;var Q=t(C,A.iterator,g.arg);if("throw"===Q.type)return g.method="throw",g.arg=Q.arg,g.delegate=null,e;var E=Q.arg;return E?E.done?(g[A.resultName]=E.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,e):E:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,e)}function L(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function d(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function H(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(L,this),this.reset(!0)}function l(A){if(A||""===A){var g=A[D];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,Q=function g(){for(;++C<A.length;)if(E.call(A,C))return g.value=A[C],g.done=!1,g;return g.value=I,g.done=!0,g};return Q.next=Q}}throw new TypeError(B(A)+" is not iterable")}return y.prototype=N,i(M,"constructor",{value:N,configurable:!0}),i(N,"constructor",{value:y,configurable:!0}),y.displayName=s(N,w,"GeneratorFunction"),g.isGeneratorFunction=function(A){var I="function"==typeof A&&A.constructor;return!!I&&(I===y||"GeneratorFunction"===(I.displayName||I.name))},g.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,N):(A.__proto__=N,s(A,w,"GeneratorFunction")),A.prototype=Object.create(M),A},g.awrap=function(A){return{__await:A}},U(J.prototype),s(J.prototype,a,(function(){return this})),g.AsyncIterator=J,g.async=function(A,I,B,C,Q){void 0===Q&&(Q=Promise);var E=new J(G(A,I,B,C),Q);return g.isGeneratorFunction(I)?E:E.next().then((function(A){return A.done?A.value:E.next()}))},U(M),s(M,w,"Generator"),s(M,D,(function(){return this})),s(M,"toString",(function(){return"[object Generator]"})),g.keys=function(A){var I=Object(A),g=[];for(var B in I)g.push(B);return g.reverse(),function A(){for(;g.length;){var B=g.pop();if(B in I)return A.value=B,A.done=!1,A}return A.done=!0,A}},g.values=l,H.prototype={constructor:H,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=I,this.done=!1,this.delegate=null,this.method="next",this.arg=I,this.tryEntries.forEach(d),!A)for(var g in this)"t"===g.charAt(0)&&E.call(this,g)&&!isNaN(+g.slice(1))&&(this[g]=I)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if("throw"===A.type)throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var g=this;function B(B,C){return i.type="throw",i.arg=A,g.next=B,C&&(g.method="next",g.arg=I),!!C}for(var C=this.tryEntries.length-1;C>=0;--C){var Q=this.tryEntries[C],i=Q.completion;if("root"===Q.tryLoc)return B("end");if(Q.tryLoc<=this.prev){var o=E.call(Q,"catchLoc"),D=E.call(Q,"finallyLoc");if(o&&D){if(this.prev<Q.catchLoc)return B(Q.catchLoc,!0);if(this.prev<Q.finallyLoc)return B(Q.finallyLoc)}else if(o){if(this.prev<Q.catchLoc)return B(Q.catchLoc,!0)}else{if(!D)throw Error("try statement without catch or finally");if(this.prev<Q.finallyLoc)return B(Q.finallyLoc)}}}},abrupt:function(A,I){for(var g=this.tryEntries.length-1;g>=0;--g){var B=this.tryEntries[g];if(B.tryLoc<=this.prev&&E.call(B,"finallyLoc")&&this.prev<B.finallyLoc){var C=B;break}}C&&("break"===A||"continue"===A)&&C.tryLoc<=I&&I<=C.finallyLoc&&(C=null);var Q=C?C.completion:{};return Q.type=A,Q.arg=I,C?(this.method="next",this.next=C.finallyLoc,e):this.complete(Q)},complete:function(A,I){if("throw"===A.type)throw A.arg;return"break"===A.type||"continue"===A.type?this.next=A.arg:"return"===A.type?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):"normal"===A.type&&I&&(this.next=I),e},finish:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),d(g),e}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;d(g)}return C}}throw Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:l(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),e}},g}A.exports=C,A.exports.__esModule=!0,A.exports.default=A.exports},738:A=>{function I(g){return A.exports=I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},A.exports.__esModule=!0,A.exports.default=A.exports,I(g)}A.exports=I,A.exports.__esModule=!0,A.exports.default=A.exports},756:(A,I,g)=>{var B=g(633)();A.exports=B;try{regeneratorRuntime=B}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=B:Function("r","regeneratorRuntime = r")(B)}}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),g.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var B={};return(()=>{"use strict";g.r(B),g.d(B,{ARControllerNFT:()=>lI,ARToolkitNFT:()=>HI});var A={};function I(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function C(A){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=A.apply(g,B);function i(A){I(E,C,Q,i,o,"next",A)}function o(A){I(E,C,Q,i,o,"throw",A)}i(void 0)}))}}function Q(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function E(A){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},E(A)}function i(A){var I=function(A){if("object"!=E(A)||!A)return A;var I=A[Symbol.toPrimitive];if(void 0!==I){var g=I.call(A,"string");if("object"!=E(g))return g;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(A)}(A);return"symbol"==E(I)?I:I+""}function o(A,I){for(var g=0;g<I.length;g++){var B=I[g];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(A,i(B.key),B)}}function D(A,I,g){return I&&o(A.prototype,I),g&&o(A,g),Object.defineProperty(A,"prototype",{writable:!1}),A}function a(A,I,g){return(I=i(I))in A?Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}):A[I]=g,A}g.r(A),g.d(A,{hasBrowserEnv:()=>nA,hasStandardBrowserEnv:()=>UA,hasStandardBrowserWebWorkerEnv:()=>JA,navigator:()=>MA,origin:()=>KA});var w,s=g(756),G=g.n(s),t=(w="undefined"!=typeof document?document.currentScript?.src:void 0,function(A={}){var I,g,B,C,Q=A,E=new Promise(((A,B)=>{I=A,g=B})),i="object"==typeof window,o="function"==typeof importScripts,D=("object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&process.type,o&&self.name?.startsWith("em-pthread")),a=Object.assign({},Q),s="./this.program",G=(A,I)=>{throw I},t="";(i||o)&&(o?t=self.location.href:"undefined"!=typeof document&&document.currentScript&&(t=document.currentScript.src),w&&(t=w),t=t.startsWith("blob:")?"":t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1),o&&(C=A=>{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}),B=A=>fetch(A,{credentials:"same-origin"}).then((A=>A.ok?A.arrayBuffer():Promise.reject(new Error(A.status+" : "+A.url)))));var h=Q.print||console.log.bind(console),F=Q.printErr||console.error.bind(console);Object.assign(Q,a),a=null,Q.arguments&&Q.arguments,Q.thisProgram&&(s=Q.thisProgram);var R,r,e=Q.wasmBinary;var S,y,N,c,k,n,M,U,J,K=!1;function Y(){var A=R.buffer;Q.HEAP8=y=new Int8Array(A),Q.HEAP16=c=new Int16Array(A),Q.HEAPU8=N=new Uint8Array(A),Q.HEAPU16=k=new Uint16Array(A),Q.HEAP32=n=new Int32Array(A),Q.HEAPU32=M=new Uint32Array(A),Q.HEAPF32=U=new Float32Array(A),Q.HEAPF64=J=new Float64Array(A)}if(D){var L,d=!1;function XB(...A){var I=A.join(" ");console.error(I)}function jB(...A){var I=A.join(" ");postMessage({cmd:"alert",text:I,threadId:kB()})}function OB(A){try{var I=A.data,g=I.cmd;if("load"===g){let A=[];self.onmessage=I=>A.push(I),self.startWorker=I=>{postMessage({cmd:"loaded"});for(let I of A)OB(I);self.onmessage=OB};for(const A of I.handlers)Q[A]&&!Q[A].proxy||(Q[A]=(...I)=>{postMessage({cmd:"callHandler",handler:A,args:I})},"print"==A&&(h=Q[A]),"printErr"==A&&(F=Q[A]));R=I.wasmMemory,Y(),L(I.wasmModule)}else if("run"===g){RA(I.pthread_ptr),UB(I.pthread_ptr,0,0,1,0,0),hA.receiveObjectTransfer(I),hA.threadInitTLS(),Sg(I.pthread_ptr),d||(MB(),d=!0);try{eA(I.start_routine,I.arg)}catch(A){if("unwind"!=A)throw A}}else"setimmediate"===I.target||("checkMailbox"===g?d&&yg():g&&(F(`worker: received unknown command ${g}`),F(I)))}catch(A){throw JB(),A}}Q.printErr||(F=XB),self.alert=jB,Q.instantiateWasm=(A,I)=>new Promise(((A,g)=>{L=g=>{var B=new WebAssembly.Instance(g,_());I(B),A()}})),self.onunhandledrejection=A=>{throw A.reason||A},self.onmessage=OB}if(!D){if(Q.wasmMemory)R=Q.wasmMemory;else{var H=Q.INITIAL_MEMORY||134217728;R=new WebAssembly.Memory({initial:H/65536,maximum:H/65536,shared:!0})}Y()}var l=[],q=[],f=[];function W(){D||(Q.noFSInit||xA.initialized||xA.init(),xA.ignorePermissions=!1,pA.init(),FA(q))}function p(A){l.unshift(A)}function b(A){f.unshift(A)}var m=0,u=null,Z=null;function x(A){m++,Q.monitorRunDependencies?.(m)}function V(A){if(m--,Q.monitorRunDependencies?.(m),0==m&&(null!==u&&(clearInterval(u),u=null),Z)){var I=Z;Z=null,I()}}function T(A){Q.onAbort?.(A),F(A="Aborted("+A+")"),K=!0,A+=". Build with -sASSERTIONS for more info.";var I=new WebAssembly.RuntimeError(A);throw g(I),I}var X,j,O,v="data:application/octet-stream;base64,",P=A=>A.startsWith(v);function z(A){return Promise.resolve().then((()=>function(A){if(A==X&&e)return new Uint8Array(e);var I=function(A){if(P(A))return function(A){for(var I=atob(A),g=new Uint8Array(I.length),B=0;B<I.length;++B)g[B]=I.charCodeAt(B);return g}(A.slice(v.length))}(A);if(I)return I;if(C)return C(A);throw"both async and sync fetching of the wasm failed"}(A)))}function _(){return{a:{na:kA,f:MA,P:JA,t:TA,Y:XA,Z:jA,L:OA,M:vA,aa:PA,ma:oI,F:DI,ca:tI,k:pI,j:xI,b:VI,y:TI,ba:zI,w:Ag,e:gg,c:Bg,p:Qg,v:ig,m:hg,ka:Fg,ja:Rg,da:rg,U:eg,I:Ng,R:kg,N:ng,T:Sg,$:Mg,G:Ug,ha:Yg,o:lg,oa:OI,n:qg,ia:fg,ea:Wg,pa:pg,ga:bg,qa:mg,fa:ug,q:Zg,g:xg,C:jg,S:Og,z:Pg,Q:zg,ra:_g,la:$g,u:AB,_:IB,J:gB,h:BB,K:CB,H:QB,V:oB,W:DB,d:tA,r:aB,X:sB,E:GB,s:RB,x:pB,B:xB,A:VB,i:bB,D:ZB,O:uB,l:mB,a:R}}}var $={75364:(A,I,g)=>{var B=cA(A),C=cA(I),Q=cA(g);console.log(C+B,Q)},75503:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.log(Q+C,E,i)},75681:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.log(Q+C,E,i)},75859:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.log(Q+C,E,i)},76037:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.log(Q+C,E,i)},76215:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g);console.log(Q+C,E,B)},76358:(A,I,g)=>{var B=cA(A),C=cA(I),Q=cA(g);console.error(C+B,Q)},76501:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.error(Q+C,E,i)},76683:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.error(Q+C,E,i)},76865:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.error(Q+C,E,i)},77047:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.error(Q+C,E,i)},77229:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g);console.error(Q+C,E,B)},77376:(A,I,g)=>{var B=cA(A),C=cA(I),Q=cA(g);console.warn(C+B,Q)},77516:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.warn(Q+C,E,i)},77697:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.warn(Q+C,E,i)},77878:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.warn(Q+C,E,i)},78059:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g),i=cA(B);console.warn(Q+C,E,i)},78240:(A,I,g,B)=>{var C=cA(A),Q=cA(I),E=cA(g);console.warn(Q+C,E,B)}};function AA(A){this.name="ExitStatus",this.message=`Program terminated with exit(${A})`,this.status=A}var IA=A=>{A.terminate(),A.onmessage=A=>{}},gA=A=>{var I=hA.pthreads[A];hA.returnWorkerToPool(I)},BA=A=>{var I=hA.getNewWorker();if(!I)return 6;hA.runningWorkers.push(I),hA.pthreads[A.pthread_ptr]=I,I.pthread_ptr=A.pthread_ptr;var g={cmd:"run",start_routine:A.startRoutine,arg:A.arg,pthread_ptr:A.pthread_ptr};return I.postMessage(g,A.transferList),0},CA=0,QA=()=>SA||CA>0,EA=()=>WB(),iA=A=>qB(A),oA=(A,I)=>I+2097152>>>0<4194305-!!A?(A>>>0)+4294967296*I:NaN,DA=(A,I,g,...B)=>{for(var C=B.length,Q=EA(),E=fB(8*C),i=E>>3,o=0;o<B.length;o++){var D=B[o];J[i+o]=D}var a=KB(A,I,C,E,g);return iA(Q),a};function aA(A){if(D)return DA(0,0,1,A);S=A,QA()||(hA.terminateAllThreads(),Q.onExit?.(A),K=!0),G(0,new AA(A))}var wA=A=>{if(A instanceof AA||"unwind"==A)return S;G(0,A)};function sA(A){if(D)return DA(1,0,0,A);tA(A)}var GA,tA=(A,I)=>{if(S=A,D)throw sA(A),"unwind";aA(A)},hA={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){D||hA.initMainThread()},initMainThread(){p((()=>{x(),hA.loadWasmModuleToAllWorkers((()=>V()))}))},terminateAllThreads:()=>{for(var A of hA.runningWorkers)IA(A);for(var A of hA.unusedWorkers)IA(A);hA.unusedWorkers=[],hA.runningWorkers=[],hA.pthreads=[]},returnWorkerToPool:A=>{var I=A.pthread_ptr;delete hA.pthreads[I],hA.unusedWorkers.push(A),hA.runningWorkers.splice(hA.runningWorkers.indexOf(A),1),A.pthread_ptr=0,YB(I)},receiveObjectTransfer(A){},threadInitTLS(){hA.tlsInitFunctions.forEach((A=>A()))},loadWasmModuleToWorker:A=>new Promise((I=>{A.onmessage=g=>{var B=g.data,C=B.cmd;if(B.targetThread&&B.targetThread!=kB()){var E=hA.pthreads[B.targetThread];E?E.postMessage(B,B.transferList):F(`Internal error! Worker sent a message "${C}" to target pthread ${B.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===C?yg():"spawnThread"===C?BA(B):"cleanupThread"===C?gA(B.thread):"loaded"===C?(A.loaded=!0,I(A)):"alert"===C?alert(`Thread ${B.threadId}: ${B.text}`):"setimmediate"===B.target?A.postMessage(B):"callHandler"===C?Q[B.handler](...B.args):C&&F(`worker sent an unknown command ${C}`)},A.onerror=A=>{throw F(`worker sent an error! ${A.filename}:${A.lineno}: ${A.message}`),A};var g=[];for(var B of["onExit","onAbort","print","printErr"])Q.propertyIsEnumerable(B)&&g.push(B);A.postMessage({cmd:"load",handlers:g,wasmMemory:R,wasmModule:r})})),loadWasmModuleToAllWorkers(A){A()},allocateUnusedWorker(){var A,I=w;Q.mainScriptUrlOrBlob&&"string"!=typeof(I=Q.mainScriptUrlOrBlob)&&(I=URL.createObjectURL(I)),A=new Worker(I,{type:"module",name:"em-pthread"}),hA.unusedWorkers.push(A)},getNewWorker:()=>(0==hA.unusedWorkers.length&&(hA.allocateUnusedWorker(),hA.loadWasmModuleToWorker(hA.unusedWorkers[0])),hA.unusedWorkers.pop())},FA=A=>{A.forEach((A=>A(Q)))},RA=A=>{var I=M[A+52>>2],g=M[A+56>>2];lB(I,I-g),iA(I)},rA=A=>GA.get(A),eA=(A,I)=>{var g;CA=0,SA=0,g=rA(A)(I),QA()?S=g:LB(g)},SA=Q.noExitRuntime||!0,yA="undefined"!=typeof TextDecoder?new TextDecoder:void 0,NA=(A,I=0,g=NaN)=>{for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.buffer&&yA)return yA.decode(A.slice(I,C));for(var Q="";I<C;){var E=A[I++];if(128&E){var i=63&A[I++];if(192!=(224&E)){var o=63&A[I++];if((E=224==(240&E)?(15&E)<<12|i<<6|o:(7&E)<<18|i<<12|o<<6|63&A[I++])<65536)Q+=String.fromCharCode(E);else{var D=E-65536;Q+=String.fromCharCode(55296|D>>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q},cA=(A,I)=>A?NA(N,A,I):"",kA=(A,I,g,B)=>{T(`Assertion failed: ${cA(A)}, at: `+[I?cA(I):"unknown filename",g,B?cA(B):"unknown function"])};class nA{constructor(A){this.excPtr=A,this.ptr=A-24}set_type(A){M[this.ptr+4>>2]=A}get_type(){return M[this.ptr+4>>2]}set_destructor(A){M[this.ptr+8>>2]=A}get_destructor(){return M[this.ptr+8>>2]}set_caught(A){A=A?1:0,y[this.ptr+12]=A}get_caught(){return 0!=y[this.ptr+12]}set_rethrown(A){A=A?1:0,y[this.ptr+13]=A}get_rethrown(){return 0!=y[this.ptr+13]}init(A,I){this.set_adjusted_ptr(0),this.set_type(A),this.set_destructor(I)}set_adjusted_ptr(A){M[this.ptr+16>>2]=A}get_adjusted_ptr(){return M[this.ptr+16>>2]}}var MA=(A,I,g)=>{throw new nA(A).init(I,g),A};function UA(A,I,g,B){return D?DA(2,0,1,A,I,g,B):JA(A,I,g,B)}var JA=(A,I,g,B)=>{if("undefined"==typeof SharedArrayBuffer)return 6;var C=[];if(D&&0===C.length)return UA(A,I,g,B);var Q={startRoutine:g,pthread_ptr:A,arg:B,transferList:C};return D?(Q.cmd="spawnThread",postMessage(Q,C),0):BA(Q)};function KA(){var A=n[+VA.varargs>>2];return VA.varargs+=4,A}var YA=KA,LA={isAbs:A=>"/"===A.charAt(0),splitPath:A=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1),normalizeArray:(A,I)=>{for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:A=>{var I=LA.isAbs(A),g="/"===A.substr(-1);return(A=LA.normalizeArray(A.split("/").filter((A=>!!A)),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:A=>{var I=LA.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:A=>{if("/"===A)return"/";var I=(A=(A=LA.normalize(A)).replace(/\/$/,"")).lastIndexOf("/");return-1===I?A:A.substr(I+1)},join:(...A)=>LA.normalize(A.join("/")),join2:(A,I)=>LA.normalize(A+"/"+I)},dA=A=>(dA=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return A=>(A.set(crypto.getRandomValues(new Uint8Array(A.byteLength))),A);T("initRandomDevice")})())(A),HA={resolve:(...A)=>{for(var I="",g=!1,B=A.length-1;B>=-1&&!g;B--){var C=B>=0?A[B]:xA.cwd();if("string"!=typeof C)throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";I=C+"/"+I,g=LA.isAbs(C)}return(g?"/":"")+(I=LA.normalizeArray(I.split("/").filter((A=>!!A)),!g).join("/"))||"."},relative:(A,I)=>{function g(A){for(var I=0;I<A.length&&""===A[I];I++);for(var g=A.length-1;g>=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=HA.resolve(A).substr(1),I=HA.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i<Q;i++)if(B[i]!==C[i]){E=i;break}var o=[];for(i=E;i<B.length;i++)o.push("..");return(o=o.concat(C.slice(E))).join("/")}},lA=[],qA=A=>{for(var I=0,g=0;g<A.length;++g){var B=A.charCodeAt(g);B<=127?I++:B<=2047?I+=2:B>=55296&&B<=57343?(I+=4,++g):I+=3}return I},fA=(A,I,g,B)=>{if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E<A.length;++E){var i=A.charCodeAt(E);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C};function WA(A,I,g){var B=g>0?g:qA(A)+1,C=new Array(B),Q=fA(A,C,0,C.length);return I&&(C.length=Q),C}var pA={ttys:[],init(){},shutdown(){},register(A,I){pA.ttys[A]={input:[],output:[],ops:I},xA.registerDevice(A,pA.stream_ops)},stream_ops:{open(A){var I=pA.ttys[A.node.rdev];if(!I)throw new xA.ErrnoError(43);A.tty=I,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,I,g,B,C){if(!A.tty||!A.tty.ops.get_char)throw new xA.ErrnoError(60);for(var Q=0,E=0;E<B;E++){var i;try{i=A.tty.ops.get_char(A.tty)}catch(A){throw new xA.ErrnoError(29)}if(void 0===i&&0===Q)throw new xA.ErrnoError(6);if(null==i)break;Q++,I[g+E]=i}return Q&&(A.node.timestamp=Date.now()),Q},write(A,I,g,B,C){if(!A.tty||!A.tty.ops.put_char)throw new xA.ErrnoError(60);try{for(var Q=0;Q<B;Q++)A.tty.ops.put_char(A.tty,I[g+Q])}catch(A){throw new xA.ErrnoError(29)}return B&&(A.node.timestamp=Date.now()),Q}},default_tty_ops:{get_char:A=>(()=>{if(!lA.length){var A=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(A=window.prompt("Input: "))&&(A+="\n"),!A)return null;lA=WA(A,!0)}return lA.shift()})(),put_char(A,I){null===I||10===I?(h(NA(A.output)),A.output=[]):0!=I&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(h(NA(A.output)),A.output=[])},ioctl_tcgets:A=>({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:(A,I,g)=>0,ioctl_tiocgwinsz:A=>[24,80]},default_tty1_ops:{put_char(A,I){null===I||10===I?(F(NA(A.output)),A.output=[]):0!=I&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(F(NA(A.output)),A.output=[])}}},bA=A=>{T()},mA={ops_table:null,mount:A=>mA.createNode(null,"/",16895,0),createNode(A,I,g,B){if(xA.isBlkdev(g)||xA.isFIFO(g))throw new xA.ErrnoError(63);mA.ops_table||={dir:{node:{getattr:mA.node_ops.getattr,setattr:mA.node_ops.setattr,lookup:mA.node_ops.lookup,mknod:mA.node_ops.mknod,rename:mA.node_ops.rename,unlink:mA.node_ops.unlink,rmdir:mA.node_ops.rmdir,readdir:mA.node_ops.readdir,symlink:mA.node_ops.symlink},stream:{llseek:mA.stream_ops.llseek}},file:{node:{getattr:mA.node_ops.getattr,setattr:mA.node_ops.setattr},stream:{llseek:mA.stream_ops.llseek,read:mA.stream_ops.read,write:mA.stream_ops.write,allocate:mA.stream_ops.allocate,mmap:mA.stream_ops.mmap,msync:mA.stream_ops.msync}},link:{node:{getattr:mA.node_ops.getattr,setattr:mA.node_ops.setattr,readlink:mA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:mA.node_ops.getattr,setattr:mA.node_ops.setattr},stream:xA.chrdev_stream_ops}};var C=xA.createNode(A,I,g,B);return xA.isDir(C.mode)?(C.node_ops=mA.ops_table.dir.node,C.stream_ops=mA.ops_table.dir.stream,C.contents={}):xA.isFile(C.mode)?(C.node_ops=mA.ops_table.file.node,C.stream_ops=mA.ops_table.file.stream,C.usedBytes=0,C.contents=null):xA.isLink(C.mode)?(C.node_ops=mA.ops_table.link.node,C.stream_ops=mA.ops_table.link.stream):xA.isChrdev(C.mode)&&(C.node_ops=mA.ops_table.chrdev.node,C.stream_ops=mA.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C,A.timestamp=C.timestamp),C},getFileDataAsTypedArray:A=>A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array(0),expandFileStorage(A,I){var g=A.contents?A.contents.length:0;if(!(g>=I)){I=Math.max(I,g*(g<1048576?2:1.125)>>>0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage(A,I){if(A.usedBytes!=I)if(0==I)A.contents=null,A.usedBytes=0;else{var g=A.contents;A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),A.usedBytes=I}},node_ops:{getattr(A){var I={};return I.dev=xA.isChrdev(A.mode)?A.id:1,I.ino=A.id,I.mode=A.mode,I.nlink=1,I.uid=0,I.gid=0,I.rdev=A.rdev,xA.isDir(A.mode)?I.size=4096:xA.isFile(A.mode)?I.size=A.usedBytes:xA.isLink(A.mode)?I.size=A.link.length:I.size=0,I.atime=new Date(A.timestamp),I.mtime=new Date(A.timestamp),I.ctime=new Date(A.timestamp),I.blksize=4096,I.blocks=Math.ceil(I.size/I.blksize),I},setattr(A,I){void 0!==I.mode&&(A.mode=I.mode),void 0!==I.timestamp&&(A.timestamp=I.timestamp),void 0!==I.size&&mA.resizeFileStorage(A,I.size)},lookup(A,I){throw xA.genericErrors[44]},mknod:(A,I,g,B)=>mA.createNode(A,I,g,B),rename(A,I,g){if(xA.isDir(A.mode)){var B;try{B=xA.lookupNode(I,g)}catch(A){}if(B)for(var C in B.contents)throw new xA.ErrnoError(55)}delete A.parent.contents[A.name],A.parent.timestamp=Date.now(),A.name=g,I.contents[g]=A,I.timestamp=A.parent.timestamp},unlink(A,I){delete A.contents[I],A.timestamp=Date.now()},rmdir(A,I){var g=xA.lookupNode(A,I);for(var B in g.contents)throw new xA.ErrnoError(55);delete A.contents[I],A.timestamp=Date.now()},readdir(A){var I=[".",".."];for(var g of Object.keys(A.contents))I.push(g);return I},symlink(A,I,g){var B=mA.createNode(A,I,41471,0);return B.link=g,B},readlink(A){if(!xA.isLink(A.mode))throw new xA.ErrnoError(28);return A.link}},stream_ops:{read(A,I,g,B,C){var Q=A.node.contents;if(C>=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i<E;i++)I[g+i]=Q[C+i];return E},write(A,I,g,B,C,Q){if(!B)return 0;var E=A.node;if(E.timestamp=Date.now(),I.subarray&&(!E.contents||E.contents.subarray)){if(Q)return E.contents=I.subarray(g,g+B),E.usedBytes=B,B;if(0===E.usedBytes&&0===C)return E.contents=I.slice(g,g+B),E.usedBytes=B,B;if(C+B<=E.usedBytes)return E.contents.set(I.subarray(g,g+B),C),B}if(mA.expandFileStorage(E,C+B),E.contents.subarray&&I.subarray)E.contents.set(I.subarray(g,g+B),C);else for(var i=0;i<B;i++)E.contents[C+i]=I[g+i];return E.usedBytes=Math.max(E.usedBytes,C+B),B},llseek(A,I,g){var B=I;if(1===g?B+=A.position:2===g&&xA.isFile(A.node.mode)&&(B+=A.node.usedBytes),B<0)throw new xA.ErrnoError(28);return B},allocate(A,I,g){mA.expandFileStorage(A.node,I+g),A.node.usedBytes=Math.max(A.node.usedBytes,I+g)},mmap(A,I,g,B,C){if(!xA.isFile(A.node.mode))throw new xA.ErrnoError(43);var Q,E,i=A.node.contents;if(2&C||!i||i.buffer!==y.buffer){if(E=!0,!(Q=bA()))throw new xA.ErrnoError(48);i&&((g>0||g+I<i.length)&&(i=i.subarray?i.subarray(g,g+I):Array.prototype.slice.call(i,g,g+I)),y.set(i,Q))}else E=!1,Q=i.byteOffset;return{ptr:Q,allocated:E}},msync:(A,I,g,B,C)=>(mA.stream_ops.write(A,I,0,B,g,!1),0)}},uA=Q.preloadPlugins||[],ZA=(A,I)=>{var g=0;return A&&(g|=365),I&&(g|=146),g},xA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(A){this.name="ErrnoError",this.errno=A}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(A){this.node=A}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{constructor(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=xA.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return xA.isDir(this.mode)}get isDevice(){return xA.isChrdev(this.mode)}},lookupPath(A,I={}){if(!(A=HA.resolve(A)))return{path:"",node:null};if((I=Object.assign({follow_mount:!0,recurse_count:0},I)).recurse_count>8)throw new xA.ErrnoError(32);for(var g=A.split("/").filter((A=>!!A)),B=xA.root,C="/",Q=0;Q<g.length;Q++){var E=Q===g.length-1;if(E&&I.parent)break;if(B=xA.lookupNode(B,g[Q]),C=LA.join2(C,g[Q]),xA.isMountpoint(B)&&(!E||E&&I.follow_mount)&&(B=B.mounted.root),!E||I.follow)for(var i=0;xA.isLink(B.mode);){var o=xA.readlink(C);if(C=HA.resolve(LA.dirname(C),o),B=xA.lookupPath(C,{recurse_count:I.recurse_count+1}).node,i++>40)throw new xA.ErrnoError(32)}}return{path:C,node:B}},getPath(A){for(var I;;){if(xA.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?`${g}/${I}`:g+I:g}I=I?`${A.name}/${I}`:A.name,A=A.parent}},hashName(A,I){for(var g=0,B=0;B<I.length;B++)g=(g<<5)-g+I.charCodeAt(B)|0;return(A+g>>>0)%xA.nameTable.length},hashAddNode(A){var I=xA.hashName(A.parent.id,A.name);A.name_next=xA.nameTable[I],xA.nameTable[I]=A},hashRemoveNode(A){var I=xA.hashName(A.parent.id,A.name);if(xA.nameTable[I]===A)xA.nameTable[I]=A.name_next;else for(var g=xA.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode(A,I){var g=xA.mayLookup(A);if(g)throw new xA.ErrnoError(g);for(var B=xA.hashName(A.id,I),C=xA.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return xA.lookup(A,I)},createNode(A,I,g,B){var C=new xA.FSNode(A,I,g,B);return xA.hashAddNode(C),C},destroyNode(A){xA.hashRemoveNode(A)},isRoot:A=>A===A.parent,isMountpoint:A=>!!A.mounted,isFile:A=>32768==(61440&A),isDir:A=>16384==(61440&A),isLink:A=>40960==(61440&A),isChrdev:A=>8192==(61440&A),isBlkdev:A=>24576==(61440&A),isFIFO:A=>4096==(61440&A),isSocket:A=>!(49152&~A),flagsToPermissionString(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:(A,I)=>xA.ignorePermissions||(!I.includes("r")||292&A.mode)&&(!I.includes("w")||146&A.mode)&&(!I.includes("x")||73&A.mode)?0:2,mayLookup:A=>xA.isDir(A.mode)?xA.nodePermissions(A,"x")||(A.node_ops.lookup?0:2):54,mayCreate(A,I){try{return xA.lookupNode(A,I),20}catch(A){}return xA.nodePermissions(A,"wx")},mayDelete(A,I,g){var B;try{B=xA.lookupNode(A,I)}catch(A){return A.errno}var C=xA.nodePermissions(A,"wx");if(C)return C;if(g){if(!xA.isDir(B.mode))return 54;if(xA.isRoot(B)||xA.getPath(B)===xA.cwd())return 10}else if(xA.isDir(B.mode))return 31;return 0},mayOpen:(A,I)=>A?xA.isLink(A.mode)?32:xA.isDir(A.mode)&&("r"!==xA.flagsToPermissionString(I)||512&I)?31:xA.nodePermissions(A,xA.flagsToPermissionString(I)):44,MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=xA.MAX_OPEN_FDS;A++)if(!xA.streams[A])return A;throw new xA.ErrnoError(33)},getStreamChecked(A){var I=xA.getStream(A);if(!I)throw new xA.ErrnoError(8);return I},getStream:A=>xA.streams[A],createStream:(A,I=-1)=>(A=Object.assign(new xA.FSStream,A),-1==I&&(I=xA.nextfd()),A.fd=I,xA.streams[I]=A,A),closeStream(A){xA.streams[A]=null},dupStream(A,I=-1){var g=xA.createStream(A,I);return g.stream_ops?.dup?.(g),g},chrdev_stream_ops:{open(A){var I=xA.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open?.(A)},llseek(){throw new xA.ErrnoError(70)}},major:A=>A>>8,minor:A=>255&A,makedev:(A,I)=>A<<8|I,registerDevice(A,I){xA.devices[A]={stream_ops:I}},getDevice:A=>xA.devices[A],getMounts(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push(...B.mounts)}return I},syncfs(A,I){"function"==typeof A&&(I=A,A=!1),xA.syncFSRequests++,xA.syncFSRequests>1&&F(`warning: ${xA.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var g=xA.getMounts(xA.root.mount),B=0;function C(A){return xA.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((I=>{if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount(A,I,g){var B,C="/"===g,Q=!g;if(C&&xA.root)throw new xA.ErrnoError(10);if(!C&&!Q){var E=xA.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,xA.isMountpoint(B))throw new xA.ErrnoError(10);if(!xA.isDir(B.mode))throw new xA.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?xA.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount(A){var I=xA.lookupPath(A,{follow_mount:!1});if(!xA.isMountpoint(I.node))throw new xA.ErrnoError(28);var g=I.node,B=g.mounted,C=xA.getMounts(B);Object.keys(xA.nameTable).forEach((A=>{for(var I=xA.nameTable[A];I;){var g=I.name_next;C.includes(I.mount)&&xA.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:(A,I)=>A.node_ops.lookup(A,I),mknod(A,I,g){var B=xA.lookupPath(A,{parent:!0}).node,C=LA.basename(A);if(!C||"."===C||".."===C)throw new xA.ErrnoError(28);var Q=xA.mayCreate(B,C);if(Q)throw new xA.ErrnoError(Q);if(!B.node_ops.mknod)throw new xA.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:(A,I)=>(I=void 0!==I?I:438,I&=4095,I|=32768,xA.mknod(A,I,0)),mkdir:(A,I)=>(I=void 0!==I?I:511,I&=1023,I|=16384,xA.mknod(A,I,0)),mkdirTree(A,I){for(var g=A.split("/"),B="",C=0;C<g.length;++C)if(g[C]){B+="/"+g[C];try{xA.mkdir(B,I)}catch(A){if(20!=A.errno)throw A}}},mkdev:(A,I,g)=>(void 0===g&&(g=I,I=438),I|=8192,xA.mknod(A,I,g)),symlink(A,I){if(!HA.resolve(A))throw new xA.ErrnoError(44);var g=xA.lookupPath(I,{parent:!0}).node;if(!g)throw new xA.ErrnoError(44);var B=LA.basename(I),C=xA.mayCreate(g,B);if(C)throw new xA.ErrnoError(C);if(!g.node_ops.symlink)throw new xA.ErrnoError(63);return g.node_ops.symlink(g,B,A)},rename(A,I){var g,B,C=LA.dirname(A),Q=LA.dirname(I),E=LA.basename(A),i=LA.basename(I);if(g=xA.lookupPath(A,{parent:!0}).node,B=xA.lookupPath(I,{parent:!0}).node,!g||!B)throw new xA.ErrnoError(44);if(g.mount!==B.mount)throw new xA.ErrnoError(75);var o,D=xA.lookupNode(g,E),a=HA.relative(A,Q);if("."!==a.charAt(0))throw new xA.ErrnoError(28);if("."!==(a=HA.relative(I,C)).charAt(0))throw new xA.ErrnoError(55);try{o=xA.lookupNode(B,i)}catch(A){}if(D!==o){var w=xA.isDir(D.mode),s=xA.mayDelete(g,E,w);if(s)throw new xA.ErrnoError(s);if(s=o?xA.mayDelete(B,i,w):xA.mayCreate(B,i))throw new xA.ErrnoError(s);if(!g.node_ops.rename)throw new xA.ErrnoError(63);if(xA.isMountpoint(D)||o&&xA.isMountpoint(o))throw new xA.ErrnoError(10);if(B!==g&&(s=xA.nodePermissions(g,"w")))throw new xA.ErrnoError(s);xA.hashRemoveNode(D);try{g.node_ops.rename(D,B,i),D.parent=B}catch(A){throw A}finally{xA.hashAddNode(D)}}},rmdir(A){var I=xA.lookupPath(A,{parent:!0}).node,g=LA.basename(A),B=xA.lookupNode(I,g),C=xA.mayDelete(I,g,!0);if(C)throw new xA.ErrnoError(C);if(!I.node_ops.rmdir)throw new xA.ErrnoError(63);if(xA.isMountpoint(B))throw new xA.ErrnoError(10);I.node_ops.rmdir(I,g),xA.destroyNode(B)},readdir(A){var I=xA.lookupPath(A,{follow:!0}).node;if(!I.node_ops.readdir)throw new xA.ErrnoError(54);return I.node_ops.readdir(I)},unlink(A){var I=xA.lookupPath(A,{parent:!0}).node;if(!I)throw new xA.ErrnoError(44);var g=LA.basename(A),B=xA.lookupNode(I,g),C=xA.mayDelete(I,g,!1);if(C)throw new xA.ErrnoError(C);if(!I.node_ops.unlink)throw new xA.ErrnoError(63);if(xA.isMountpoint(B))throw new xA.ErrnoError(10);I.node_ops.unlink(I,g),xA.destroyNode(B)},readlink(A){var I=xA.lookupPath(A).node;if(!I)throw new xA.ErrnoError(44);if(!I.node_ops.readlink)throw new xA.ErrnoError(28);return HA.resolve(xA.getPath(I.parent),I.node_ops.readlink(I))},stat(A,I){var g=xA.lookupPath(A,{follow:!I}).node;if(!g)throw new xA.ErrnoError(44);if(!g.node_ops.getattr)throw new xA.ErrnoError(63);return g.node_ops.getattr(g)},lstat:A=>xA.stat(A,!0),chmod(A,I,g){var B;if(!(B="string"==typeof A?xA.lookupPath(A,{follow:!g}).node:A).node_ops.setattr)throw new xA.ErrnoError(63);B.node_ops.setattr(B,{mode:4095&I|-4096&B.mode,timestamp:Date.now()})},lchmod(A,I){xA.chmod(A,I,!0)},fchmod(A,I){var g=xA.getStreamChecked(A);xA.chmod(g.node,I)},chown(A,I,g,B){var C;if(!(C="string"==typeof A?xA.lookupPath(A,{follow:!B}).node:A).node_ops.setattr)throw new xA.ErrnoError(63);C.node_ops.setattr(C,{timestamp:Date.now()})},lchown(A,I,g){xA.chown(A,I,g,!0)},fchown(A,I,g){var B=xA.getStreamChecked(A);xA.chown(B.node,I,g)},truncate(A,I){if(I<0)throw new xA.ErrnoError(28);var g;if(!(g="string"==typeof A?xA.lookupPath(A,{follow:!0}).node:A).node_ops.setattr)throw new xA.ErrnoError(63);if(xA.isDir(g.mode))throw new xA.ErrnoError(31);if(!xA.isFile(g.mode))throw new xA.ErrnoError(28);var B=xA.nodePermissions(g,"w");if(B)throw new xA.ErrnoError(B);g.node_ops.setattr(g,{size:I,timestamp:Date.now()})},ftruncate(A,I){var g=xA.getStreamChecked(A);if(!(2097155&g.flags))throw new xA.ErrnoError(28);xA.truncate(g.node,I)},utime(A,I,g){var B=xA.lookupPath(A,{follow:!0}).node;B.node_ops.setattr(B,{timestamp:Math.max(I,g)})},open(A,I,g){if(""===A)throw new xA.ErrnoError(44);var B;if(g=64&(I="string"==typeof I?(A=>{var I={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[A];if(void 0===I)throw new Error(`Unknown file open mode: ${A}`);return I})(I):I)?4095&(g=void 0===g?438:g)|32768:0,"object"==typeof A)B=A;else{A=LA.normalize(A);try{B=xA.lookupPath(A,{follow:!(131072&I)}).node}catch(A){}}var C=!1;if(64&I)if(B){if(128&I)throw new xA.ErrnoError(20)}else B=xA.mknod(A,g,0),C=!0;if(!B)throw new xA.ErrnoError(44);if(xA.isChrdev(B.mode)&&(I&=-513),65536&I&&!xA.isDir(B.mode))throw new xA.ErrnoError(54);if(!C){var E=xA.mayOpen(B,I);if(E)throw new xA.ErrnoError(E)}512&I&&!C&&xA.truncate(B,0),I&=-131713;var i=xA.createStream({node:B,path:xA.getPath(B),flags:I,seekable:!0,position:0,stream_ops:B.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!Q.logReadFiles||1&I||A in xA.readFiles||(xA.readFiles[A]=1),i},close(A){if(xA.isClosed(A))throw new xA.ErrnoError(8);A.getdents&&(A.getdents=null);try{A.stream_ops.close&&A.stream_ops.close(A)}catch(A){throw A}finally{xA.closeStream(A.fd)}A.fd=null},isClosed:A=>null===A.fd,llseek(A,I,g){if(xA.isClosed(A))throw new xA.ErrnoError(8);if(!A.seekable||!A.stream_ops.llseek)throw new xA.ErrnoError(70);if(0!=g&&1!=g&&2!=g)throw new xA.ErrnoError(28);return A.position=A.stream_ops.llseek(A,I,g),A.ungotten=[],A.position},read(A,I,g,B,C){if(B<0||C<0)throw new xA.ErrnoError(28);if(xA.isClosed(A))throw new xA.ErrnoError(8);if(1==(2097155&A.flags))throw new xA.ErrnoError(8);if(xA.isDir(A.node.mode))throw new xA.ErrnoError(31);if(!A.stream_ops.read)throw new xA.ErrnoError(28);var Q=void 0!==C;if(Q){if(!A.seekable)throw new xA.ErrnoError(70)}else C=A.position;var E=A.stream_ops.read(A,I,g,B,C);return Q||(A.position+=E),E},write(A,I,g,B,C,Q){if(B<0||C<0)throw new xA.ErrnoError(28);if(xA.isClosed(A))throw new xA.ErrnoError(8);if(!(2097155&A.flags))throw new xA.ErrnoError(8);if(xA.isDir(A.node.mode))throw new xA.ErrnoError(31);if(!A.stream_ops.write)throw new xA.ErrnoError(28);A.seekable&&1024&A.flags&&xA.llseek(A,0,2);var E=void 0!==C;if(E){if(!A.seekable)throw new xA.ErrnoError(70)}else C=A.position;var i=A.stream_ops.write(A,I,g,B,C,Q);return E||(A.position+=i),i},allocate(A,I,g){if(xA.isClosed(A))throw new xA.ErrnoError(8);if(I<0||g<=0)throw new xA.ErrnoError(28);if(!(2097155&A.flags))throw new xA.ErrnoError(8);if(!xA.isFile(A.node.mode)&&!xA.isDir(A.node.mode))throw new xA.ErrnoError(43);if(!A.stream_ops.allocate)throw new xA.ErrnoError(138);A.stream_ops.allocate(A,I,g)},mmap(A,I,g,B,C){if(2&B&&!(2&C)&&2!=(2097155&A.flags))throw new xA.ErrnoError(2);if(1==(2097155&A.flags))throw new xA.ErrnoError(2);if(!A.stream_ops.mmap)throw new xA.ErrnoError(43);if(!I)throw new xA.ErrnoError(28);return A.stream_ops.mmap(A,I,g,B,C)},msync:(A,I,g,B,C)=>A.stream_ops.msync?A.stream_ops.msync(A,I,g,B,C):0,ioctl(A,I,g){if(!A.stream_ops.ioctl)throw new xA.ErrnoError(59);return A.stream_ops.ioctl(A,I,g)},readFile(A,I={}){if(I.flags=I.flags||0,I.encoding=I.encoding||"binary","utf8"!==I.encoding&&"binary"!==I.encoding)throw new Error(`Invalid encoding type "${I.encoding}"`);var g,B=xA.open(A,I.flags),C=xA.stat(A).size,Q=new Uint8Array(C);return xA.read(B,Q,0,C,0),"utf8"===I.encoding?g=NA(Q):"binary"===I.encoding&&(g=Q),xA.close(B),g},writeFile(A,I,g={}){g.flags=g.flags||577;var B=xA.open(A,g.flags,g.mode);if("string"==typeof I){var C=new Uint8Array(qA(I)+1),Q=fA(I,C,0,C.length);xA.write(B,C,0,Q,void 0,g.canOwn)}else{if(!ArrayBuffer.isView(I))throw new Error("Unsupported data type");xA.write(B,I,0,I.byteLength,void 0,g.canOwn)}xA.close(B)},cwd:()=>xA.currentPath,chdir(A){var I=xA.lookupPath(A,{follow:!0});if(null===I.node)throw new xA.ErrnoError(44);if(!xA.isDir(I.node.mode))throw new xA.ErrnoError(54);var g=xA.nodePermissions(I.node,"x");if(g)throw new xA.ErrnoError(g);xA.currentPath=I.path},createDefaultDirectories(){xA.mkdir("/tmp"),xA.mkdir("/home"),xA.mkdir("/home/web_user")},createDefaultDevices(){xA.mkdir("/dev"),xA.registerDevice(xA.makedev(1,3),{read:()=>0,write:(A,I,g,B,C)=>B}),xA.mkdev("/dev/null",xA.makedev(1,3)),pA.register(xA.makedev(5,0),pA.default_tty_ops),pA.register(xA.makedev(6,0),pA.default_tty1_ops),xA.mkdev("/dev/tty",xA.makedev(5,0)),xA.mkdev("/dev/tty1",xA.makedev(6,0));var A=new Uint8Array(1024),I=0,g=()=>(0===I&&(I=dA(A).byteLength),A[--I]);xA.createDevice("/dev","random",g),xA.createDevice("/dev","urandom",g),xA.mkdir("/dev/shm"),xA.mkdir("/dev/shm/tmp")},createSpecialDirectories(){xA.mkdir("/proc");var A=xA.mkdir("/proc/self");xA.mkdir("/proc/self/fd"),xA.mount({mount(){var I=xA.createNode(A,"fd",16895,73);return I.node_ops={lookup(A,I){var g=+I,B=xA.getStreamChecked(g),C={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>B.path}};return C.parent=C,C}},I}},{},"/proc/self/fd")},createStandardStreams(A,I,g){A?xA.createDevice("/dev","stdin",A):xA.symlink("/dev/tty","/dev/stdin"),I?xA.createDevice("/dev","stdout",null,I):xA.symlink("/dev/tty","/dev/stdout"),g?xA.createDevice("/dev","stderr",null,g):xA.symlink("/dev/tty1","/dev/stderr"),xA.open("/dev/stdin",0),xA.open("/dev/stdout",1),xA.open("/dev/stderr",1)},staticInit(){[44].forEach((A=>{xA.genericErrors[A]=new xA.ErrnoError(A),xA.genericErrors[A].stack="<generic error, no stack>"})),xA.nameTable=new Array(4096),xA.mount(mA,{},"/"),xA.createDefaultDirectories(),xA.createDefaultDevices(),xA.createSpecialDirectories(),xA.filesystems={MEMFS:mA}},init(A,I,g){xA.initialized=!0,A??=Q.stdin,I??=Q.stdout,g??=Q.stderr,xA.createStandardStreams(A,I,g)},quit(){xA.initialized=!1;for(var A=0;A<xA.streams.length;A++){var I=xA.streams[A];I&&xA.close(I)}},findObject(A,I){var g=xA.analyzePath(A,I);return g.exists?g.object:null},analyzePath(A,I){try{A=(B=xA.lookupPath(A,{follow:!I})).path}catch(A){}var g={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var B=xA.lookupPath(A,{parent:!0});g.parentExists=!0,g.parentPath=B.path,g.parentObject=B.node,g.name=LA.basename(A),B=xA.lookupPath(A,{follow:!I}),g.exists=!0,g.path=B.path,g.object=B.node,g.name=B.node.name,g.isRoot="/"===B.path}catch(A){g.error=A.errno}return g},createPath(A,I,g,B){A="string"==typeof A?A:xA.getPath(A);for(var C=I.split("/").reverse();C.length;){var Q=C.pop();if(Q){var E=LA.join2(A,Q);try{xA.mkdir(E)}catch(A){}A=E}}return E},createFile(A,I,g,B,C){var Q=LA.join2("string"==typeof A?A:xA.getPath(A),I),E=ZA(B,C);return xA.create(Q,E)},createDataFile(A,I,g,B,C,Q){var E=I;A&&(A="string"==typeof A?A:xA.getPath(A),E=I?LA.join2(A,I):A);var i=ZA(B,C),o=xA.create(E,i);if(g){if("string"==typeof g){for(var D=new Array(g.length),a=0,w=g.length;a<w;++a)D[a]=g.charCodeAt(a);g=D}xA.chmod(o,146|i);var s=xA.open(o,577);xA.write(s,g,0,g.length,0,Q),xA.close(s),xA.chmod(o,i)}},createDevice(A,I,g,B){var C=LA.join2("string"==typeof A?A:xA.getPath(A),I),Q=ZA(!!g,!!B);xA.createDevice.major??=64;var E=xA.makedev(xA.createDevice.major++,0);return xA.registerDevice(E,{open(A){A.seekable=!1},close(A){B?.buffer?.length&&B(10)},read(A,I,B,C,Q){for(var E=0,i=0;i<C;i++){var o;try{o=g()}catch(A){throw new xA.ErrnoError(29)}if(void 0===o&&0===E)throw new xA.ErrnoError(6);if(null==o)break;E++,I[B+i]=o}return E&&(A.node.timestamp=Date.now()),E},write(A,I,g,C,Q){for(var E=0;E<C;E++)try{B(I[g+E])}catch(A){throw new xA.ErrnoError(29)}return C&&(A.node.timestamp=Date.now()),E}}),xA.mkdev(C,Q,E)},forceLoadFile(A){if(A.isDevice||A.isFolder||A.link||A.contents)return!0;if("undefined"!=typeof XMLHttpRequest)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.");try{A.contents=C(A.url),A.usedBytes=A.contents.length}catch(A){throw new xA.ErrnoError(29)}},createLazyFile(A,I,g,B,C){class Q{constructor(){this.lengthKnown=!1,this.chunks=[]}get(A){if(!(A>this.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}}setDataGetter(A){this.getter=A}cacheLength(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((A=>{var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=((A,I)=>{if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),C.responseType="arraybuffer",C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):WA(C.responseText||"",!0)})(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E={isDevice:!1,contents:new Q}}else E={isDevice:!1,url:g};var i=xA.createFile(A,I,E,B,C);E.contents?i.contents=E.contents:E.url&&(i.contents=null,i.url=E.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var D={};function a(A,I,g,B,C){var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i<E;i++)I[g+i]=Q[C+i];else for(i=0;i<E;i++)I[g+i]=Q.get(C+i);return E}return Object.keys(i.stream_ops).forEach((A=>{var I=i.stream_ops[A];D[A]=(...A)=>(xA.forceLoadFile(i),I(...A))})),D.read=(A,I,g,B,C)=>(xA.forceLoadFile(i),a(A,I,g,B,C)),D.mmap=(A,I,g,B,C)=>{xA.forceLoadFile(i);var Q=bA();if(!Q)throw new xA.ErrnoError(48);return a(A,y,Q,I,g),{ptr:Q,allocated:!0}},i.stream_ops=D,i}},VA={DEFAULT_POLLMASK:5,calculateAt(A,I,g){if(LA.isAbs(I))return I;var B;if(B=-100===A?xA.cwd():VA.getStreamFromFD(A).path,0==I.length){if(!g)throw new xA.ErrnoError(44);return B}return LA.join2(B,I)},doStat(A,I,g){var B=A(I);n[g>>2]=B.dev,n[g+4>>2]=B.mode,M[g+8>>2]=B.nlink,n[g+12>>2]=B.uid,n[g+16>>2]=B.gid,n[g+20>>2]=B.rdev,O=[B.size>>>0,(j=B.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],n[g+24>>2]=O[0],n[g+28>>2]=O[1],n[g+32>>2]=4096,n[g+36>>2]=B.blocks;var C=B.atime.getTime(),Q=B.mtime.getTime(),E=B.ctime.getTime();return O=[Math.floor(C/1e3)>>>0,(j=Math.floor(C/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],n[g+40>>2]=O[0],n[g+44>>2]=O[1],M[g+48>>2]=C%1e3*1e3*1e3,O=[Math.floor(Q/1e3)>>>0,(j=Math.floor(Q/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],n[g+56>>2]=O[0],n[g+60>>2]=O[1],M[g+64>>2]=Q%1e3*1e3*1e3,O=[Math.floor(E/1e3)>>>0,(j=Math.floor(E/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],n[g+72>>2]=O[0],n[g+76>>2]=O[1],M[g+80>>2]=E%1e3*1e3*1e3,O=[B.ino>>>0,(j=B.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],n[g+88>>2]=O[0],n[g+92>>2]=O[1],0},doMsync(A,I,g,B,C){if(!xA.isFile(I.node.mode))throw new xA.ErrnoError(43);if(2&B)return 0;var Q=N.slice(A,A+g);xA.msync(I,Q,C,g,B)},getStreamFromFD:A=>xA.getStreamChecked(A),varargs:void 0,getStr:A=>cA(A)};function TA(A,I,g){if