@componentor/quickjs-wasmfs-release-sync 0.31.13 → 0.31.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,18 @@
1
- // Generated from ../../templates/emscripten-module.SYNC.d.ts - WasmFS variant with OPFS support
1
+ // Generated from ../../templates/emscripten-module.ASYNCIFY.d.ts - WasmFS variant with OPFS support
2
2
  import type {
3
3
  EmscriptenModuleLoader,
4
- QuickJSEmscriptenModule,
4
+ QuickJSAsyncEmscriptenModule,
5
5
  } from "@componentor/quickjs-ffi-types"
6
6
  /**
7
- * Emscripten module built from the unmodified [`quickjs/quickjs.h`](../quickjs/quickjs.h)
8
- * and our FFI support functions [c/interface.c](../c/interface.c).
7
+ * Emscripten module built from [`quickjs/quickjs.h`](../quickjs/quickjs.h) and
8
+ * our FFI support functions [c/interface.c](../c/interface.c), compiled with -s
9
+ * ASYNCIFY=1.
10
+ *
11
+ * Because this version is built with ASYNCIFY, the C code can call asynchronous
12
+ * Javascript functions as though they were synchronous.
9
13
  *
10
14
  * Note that emscripten modules returned by a `MODULARIZE=1` emscripten build
11
15
  * (like this one) load asynchronously.
12
16
  */
13
- declare const ModuleLoader: EmscriptenModuleLoader<QuickJSEmscriptenModule>
17
+ declare const ModuleLoader: EmscriptenModuleLoader<QuickJSAsyncEmscriptenModule>
14
18
  export default ModuleLoader
@@ -8,91 +8,83 @@ function(moduleArg = {}) {
8
8
 
9
9
  var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var ca=ba(this);
10
10
  function d(a,b){if(b)a:{var c=ca;a=a.split(".");for(var e=0;e<a.length-1;e++){var f=a[e];if(!(f in c))break a;c=c[f]}a=a[a.length-1];e=c[a];b=b(e);b!=e&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}function da(a){a=Math.trunc(a)||0;0>a&&(a+=this.length);if(!(0>a||a>=this.length))return this[a]}d("Array.prototype.at",function(a){return a?a:da});function g(a){return a?a:da}d("Int8Array.prototype.at",g);d("Uint8Array.prototype.at",g);d("Uint8ClampedArray.prototype.at",g);
11
- d("Int16Array.prototype.at",g);d("Uint16Array.prototype.at",g);d("Int32Array.prototype.at",g);d("Uint32Array.prototype.at",g);d("Float32Array.prototype.at",g);d("Float64Array.prototype.at",g);d("String.prototype.at",function(a){return a?a:da});var m=moduleArg,ea,fa,ha=new Promise((a,b)=>{ea=a;fa=b}),ia="object"==typeof window,ja="function"==typeof importScripts;function ka(a){a={log:a||function(){}};for(const b of ka.yc)b(a);return m.quickJSEmscriptenExtensions=a}ka.yc=[];
12
- m.quickjsEmscriptenInit=ka;ka.yc.push(a=>{a.getWasmMemory=function(){return p}});var ma=!1,na=!1,oa=[],pa=null,qa=[],ra=[],sa=null;
13
- "undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory&&(sa=async function(){try{var a=await navigator.storage.getDirectory();pa=a;console.log("[WasmFS] Got OPFS root handle");var b=[],c;for await(c of a.entries()){var e=c[0],f=c[1];"directory"===f.kind&&b.push({name:e,handle:f})}qa=b;console.log("[WasmFS] Discovered OPFS directories:",b.map(function(h){return h.name}));return!0}catch(h){return console.error("[WasmFS] OPFS discovery failed:",h),ra.push(h),!1}}());
14
- async function ta(a){if(ma)return console.log("[WasmFS "+a+"] Mount already attempted, skipping"),na;sa&&await sa;if(!pa)return console.log("[WasmFS "+a+"] No OPFS root, skipping mount"),!1;if(0===qa.length)return console.log("[WasmFS "+a+"] No OPFS directories found"),!1;ma=!0;console.log("[WasmFS "+a+"] Attempting OPFS mount...");var b="function"===typeof m.wasmfsOPFSGetOrCreateDir;console.log("[WasmFS "+a+"] Available:",{sc:b,wc:"undefined"!==typeof m.FS,"Module._qtsEarlyInitCalled":m.Fc,"Module._qtsLateInitCalled":m.Gc});
15
- if(!b)return console.warn("[WasmFS "+a+"] wasmfsOPFSGetOrCreateDir not available"),!1;b=["dev","tmp","proc","sys"];for(var c=[],e=0;e<qa.length;e++){var f=qa[e];if(-1!==b.indexOf(f.name))console.log("[WasmFS "+a+"] Skipping system dir:",f.name);else{var h="/"+f.name;try{console.log("[WasmFS "+a+"] Mounting",f.name,"at",h);var k=await m.wasmfsOPFSGetOrCreateDir(f.handle,h);0===k||void 0===k?(c.push(h),console.log("[WasmFS "+a+"] SUCCESS: Mounted",f.name,"at",h)):(console.warn("[WasmFS "+a+"] Mount returned error:",
16
- k,"for",f.name),ra.push({path:h,error:k}))}catch(l){console.error("[WasmFS "+a+"] Mount threw for",f.name,":",l),ra.push({path:h,error:l})}}}if(0<c.length)return na=!0,oa=c,m._opfsMounted=!0,m._opfsMountedPaths=c,console.log("[WasmFS "+a+"] Successfully mounted:",c),!0;console.warn("[WasmFS "+a+"] No directories mounted successfully");return!1}
17
- "undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory&&(m.preInit=m.preInit||[],m.preInit.push(function(){console.log("[WasmFS preInit] Hook called");console.log("[WasmFS preInit] Available functions:",{sc:typeof m.wasmfsOPFSGetOrCreateDir,wc:typeof m.FS,Sc:typeof m.addRunDependency});"function"===typeof m.wasmfsOPFSGetOrCreateDir?(console.log("[WasmFS preInit] wasmfsOPFSGetOrCreateDir IS available in preInit!"),"function"===typeof m.addRunDependency&&(m.addRunDependency("opfs-mount-preInit"),
18
- ta("preInit").then(function(){m.removeRunDependency("opfs-mount-preInit")}).catch(function(a){console.error("[WasmFS preInit] Mount failed:",a);m.removeRunDependency("opfs-mount-preInit")}))):console.log("[WasmFS preInit] wasmfsOPFSGetOrCreateDir not yet available (expected)")}));
19
- if("undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory){var ua=m.onRuntimeInitialized;m.onRuntimeInitialized=function(){console.log("[WasmFS onRuntimeInitialized] Hook called");console.log("[WasmFS onRuntimeInitialized] Available functions:",{sc:typeof m.wasmfsOPFSGetOrCreateDir,wc:typeof m.FS});"function"===typeof m.wasmfsOPFSGetOrCreateDir&&(console.log("[WasmFS onRuntimeInitialized] Attempting mount synchronously..."),ta("onRuntimeInitialized").then(function(a){console.log("[WasmFS onRuntimeInitialized] Mount result:",
20
- a)}));ua&&ua()}}
21
- "undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory&&(m.preRun=m.preRun||[],m.preRun.push(function(){console.log("[WasmFS preRun] Hook called");ma?console.log("[WasmFS preRun] Mount already attempted, result:",na):(console.log("[WasmFS preRun] Mount not attempted yet, trying now"),"function"===typeof m.addRunDependency?(m.addRunDependency("opfs-mount-preRun"),ta("preRun").finally(function(){console.log("[WasmFS preRun] Removing dependency");m.removeRunDependency("opfs-mount-preRun")})):ta("preRun"));
22
- console.log("[WasmFS preRun] Mount state:",{Vc:ma,Cd:na,wd:oa,errors:ra.length})}));
23
- m.mountOPFS=async function(a,b){async function c(k,l){if("function"===typeof m.wasmfsOPFSGetOrCreateDir){k=await m.wasmfsOPFSGetOrCreateDir(k,l);if(0!==k&&void 0!==k)throw Error("wasmfsOPFSGetOrCreateDir returned error: "+k);return!0}if(m.FS&&m.FS.filesystems&&m.FS.filesystems.Dc){try{m.mkdir(l)}catch(n){if("EEXIST"!==n.code&&20!==n.rc)throw n;}m.FS.mount(m.FS.filesystems.Dc,{root:k},l);return!0}return!1}"undefined"===typeof a&&(a="/opfs");"undefined"===typeof b&&(b=null);if(!navigator.storage||!navigator.storage.getDirectory)throw Error("OPFS is not supported in this browser");
24
- var e=await navigator.storage.getDirectory();if("/"===a&&(null===b||"/"===b||""===b)){a=[];for await(h of e.entries())if(b=h[0],e=h[1],"directory"===e.kind){var f="/"+b;try{try{m.FS.stat(f);console.log("[WasmFS] Skipping existing directory:",f);continue}catch(k){}await c(e,f);a.push(f);console.log("[WasmFS] Mounted OPFS",b,"at",f)}catch(k){console.warn("[WasmFS] Failed to mount",b,":",k.message)}}console.log("[WasmFS] OPFS mounted directories:",a);return 0<a.length?"/":null}var h=e;if(b&&"/"!==b&&
25
- ""!==b)for(e=b.split("/").filter(Boolean),f=0;f<e.length;f++)h=await h.getDirectoryHandle(e[f],{create:!0});if(!await c(h,a))throw Error("WasmFS OPFS backend not available");console.log("[WasmFS] OPFS mounted at",a,b?"(OPFS path: "+b+")":"");return a};
26
- m.watchFiles=function(a,b,c){"undefined"===typeof c&&(c=100);for(var e=new Map,f=0;f<a.length;f++)try{var h=m.FS.stat(a[f]);e.set(a[f],h.nc.getTime())}catch(l){e.set(a[f],0)}var k=setInterval(function(){for(var l=0;l<a.length;l++){var n=a[l];try{var q=m.FS.stat(n).nc.getTime(),u=e.get(n);q!==u&&(e.set(n,q),0!==u&&b(n,"change"))}catch(x){u=e.get(n),0!==u&&(e.set(n,0),b(n,"delete"))}}},c);return{close:function(){clearInterval(k)},addPath:function(l){if(-1===a.indexOf(l)){a.push(l);try{var n=m.FS.stat(l);
27
- e.set(l,n.nc.getTime())}catch(q){e.set(l,0)}}},Ad:function(l){var n=a.indexOf(l);-1!==n&&(a.splice(n,1),e.delete(l))}}};
28
- m.watchDirectory=function(a,b,c){function e(n){var q=[];try{for(var u=m.readdir(n),x=0;x<u.length;x++){var E=u[x];if("."!==E&&".."!==E){var C=n+"/"+E;try{var H=m.FS.stat(C);if(H.isDirectory()){var la=e(C);for(C=0;C<la.length;C++)q.push(la[C])}else q.push({path:C,nc:H.nc.getTime()})}catch(nc){}}}}catch(nc){}return q}"undefined"===typeof c&&(c=100);for(var f=new Map,h=e(a),k=0;k<h.length;k++)f.set(h[k].path,h[k].nc);var l=setInterval(function(){for(var n=e(a),q=new Set,u=0;u<n.length;u++){var x=n[u];
29
- q.add(x.path);var E=f.get(x.path);void 0===E?(f.set(x.path,x.nc),b(x.path,"add")):x.nc!==E&&(f.set(x.path,x.nc),b(x.path,"change"))}f.forEach(function(C,H){q.has(H)||(f.delete(H),b(H,"delete"))})},c);return{close:function(){clearInterval(l)}}};m.readFile=function(a){return m.FS.readFile(a)};m.readFileString=function(a){a=m.FS.readFile(a);return(new TextDecoder).decode(a)};m.writeFile=function(a,b){m.FS.writeFile(a,b)};
11
+ d("Int16Array.prototype.at",g);d("Uint16Array.prototype.at",g);d("Int32Array.prototype.at",g);d("Uint32Array.prototype.at",g);d("Float32Array.prototype.at",g);d("Float64Array.prototype.at",g);d("String.prototype.at",function(a){return a?a:da});var m=moduleArg,ea,fa,ha=new Promise((a,b)=>{ea=a;fa=b}),ia="object"==typeof window,ja="function"==typeof importScripts;function la(a){a={log:a||function(){}};for(const b of la.Fc)b(a);return m.quickJSEmscriptenExtensions=a}la.Fc=[];
12
+ m.quickjsEmscriptenInit=la;la.Fc.push(a=>{a.getWasmMemory=function(){return n}});
13
+ if("undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory){var ma=m.onRuntimeInitialized;m.onRuntimeInitialized=function(){m._wasmfsOPFSMounted?console.log("[WasmFS] OPFS mounted at",m._wasmfsOPFSMountPath||"/home","(via C)"):console.log("[WasmFS] OPFS mount status unknown - may have been done by C code");try{if("undefined"!==typeof m.FS){var a=m.FS.stat("/home");console.log("[WasmFS] /home directory exists, mode:",a.mode)}}catch(b){console.log("[WasmFS] Note: /home not yet accessible:",
14
+ b.message)}ma&&ma()}}
15
+ m.mountOPFS=async function(a,b){"undefined"===typeof a&&(a="/opfs");"undefined"===typeof b&&(b=null);if(!navigator.storage||!navigator.storage.getDirectory)throw Error("OPFS is not supported in this browser");var c=await navigator.storage.getDirectory();if(b&&"/"!==b&&""!==b)for(var e=b.split("/").filter(Boolean),f=0;f<e.length;f++)c=await c.getDirectoryHandle(e[f],{create:!0});if("function"===typeof m.wasmfsOPFSGetOrCreateDir){if(c=await m.wasmfsOPFSGetOrCreateDir(c,a),0!==c&&void 0!==c)throw Error("wasmfsOPFSGetOrCreateDir returned error: "+
16
+ c);}else throw Error("wasmfsOPFSGetOrCreateDir not available - module may not be initialized");console.log("[WasmFS] OPFS mounted at",a,b?"(OPFS path: "+b+")":"");return a};
17
+ m.watchFiles=function(a,b,c){"undefined"===typeof c&&(c=100);for(var e=new Map,f=0;f<a.length;f++)try{var h=m.FS.stat(a[f]);e.set(a[f],h.uc.getTime())}catch(l){e.set(a[f],0)}var k=setInterval(function(){for(var l=0;l<a.length;l++){var p=a[l];try{var t=m.FS.stat(p).uc.getTime(),v=e.get(p);t!==v&&(e.set(p,t),0!==v&&b(p,"change"))}catch(u){v=e.get(p),0!==v&&(e.set(p,0),b(p,"delete"))}}},c);return{close:function(){clearInterval(k)},addPath:function(l){if(-1===a.indexOf(l)){a.push(l);try{var p=m.FS.stat(l);
18
+ e.set(l,p.uc.getTime())}catch(t){e.set(l,0)}}},Cd:function(l){var p=a.indexOf(l);-1!==p&&(a.splice(p,1),e.delete(l))}}};
19
+ m.watchDirectory=function(a,b,c){function e(p){var t=[];try{for(var v=m.readdir(p),u=0;u<v.length;u++){var A=v[u];if("."!==A&&".."!==A){var D=p+"/"+A;try{var I=m.FS.stat(D);if(I.isDirectory()){var ka=e(D);for(D=0;D<ka.length;D++)t.push(ka[D])}else t.push({path:D,uc:I.uc.getTime()})}catch(uc){}}}}catch(uc){}return t}"undefined"===typeof c&&(c=100);for(var f=new Map,h=e(a),k=0;k<h.length;k++)f.set(h[k].path,h[k].uc);var l=setInterval(function(){for(var p=e(a),t=new Set,v=0;v<p.length;v++){var u=p[v];
20
+ t.add(u.path);var A=f.get(u.path);void 0===A?(f.set(u.path,u.uc),b(u.path,"add")):u.uc!==A&&(f.set(u.path,u.uc),b(u.path,"change"))}f.forEach(function(D,I){t.has(I)||(f.delete(I),b(I,"delete"))})},c);return{close:function(){clearInterval(l)}}};m.readFile=function(a){return m.FS.readFile(a)};m.readFileString=function(a){a=m.FS.readFile(a);return(new TextDecoder).decode(a)};m.writeFile=function(a,b){m.FS.writeFile(a,b)};
30
21
  m.writeFileString=function(a,b){b=(new TextEncoder).encode(b);m.FS.writeFile(a,b)};m.readdir=function(a){return m.FS.readdir(a)};m.stat=function(a){return m.FS.stat(a)};m.mkdir=function(a){return m.FS.mkdir(a)};m.unlink=function(a){return m.FS.unlink(a)};m.rmdir=function(a){return m.FS.rmdir(a)};m.rename=function(a,b){return m.FS.rename(a,b)};m.exists=function(a){try{return m.FS.stat(a),!0}catch(b){return!1}};
31
22
  m.syncOPFS=async function(){var a=m.FS;if(a&&"function"===typeof a.syncfs)return new Promise(function(b,c){a.syncfs(!1,function(e){e?c(e):b()})})};m.__wasmfs_exports__={mountOPFS:m.mountOPFS,readFile:m.readFile,readFileString:m.readFileString,writeFile:m.writeFile,writeFileString:m.writeFileString,readdir:m.readdir,stat:m.stat,mkdir:m.mkdir,unlink:m.unlink,rmdir:m.rmdir,rename:m.rename,exists:m.exists,syncOPFS:m.syncOPFS,watchFiles:m.watchFiles,watchDirectory:m.watchDirectory};
32
- var va=Object.assign({},m),wa="./this.program",r="",xa,ya;
33
- if(ia||ja)ja?r=self.location.href:"undefined"!=typeof document&&document.currentScript&&(r=document.currentScript.src),_scriptName&&(r=_scriptName),r.startsWith("blob:")?r="":r=r.substr(0,r.replace(/[?#].*/,"").lastIndexOf("/")+1),ja&&(ya=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),xa=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));
34
- var za=m.print||console.log.bind(console),t=m.printErr||console.error.bind(console);Object.assign(m,va);va=null;m.thisProgram&&(wa=m.thisProgram);var Aa=m.wasmBinary,p,Ba=!1,Ca,v,w,y,z,Da;function Ea(){var a=p.buffer;m.HEAP8=v=new Int8Array(a);m.HEAP16=new Int16Array(a);m.HEAPU8=w=new Uint8Array(a);m.HEAPU16=new Uint16Array(a);m.HEAP32=y=new Int32Array(a);m.HEAPU32=z=new Uint32Array(a);m.HEAPF32=new Float32Array(a);m.HEAPF64=Da=new Float64Array(a)}
35
- m.wasmMemory?p=m.wasmMemory:p=new WebAssembly.Memory({initial:(m.INITIAL_MEMORY||16777216)/65536,maximum:32768});Ea();var Fa=[],Ga=[],Ha=[];function Ia(){var a=m.preRun.shift();Fa.unshift(a)}var A=0,Ja=null,B=null;function Ka(){A++;m.monitorRunDependencies?.(A)}function D(){A--;m.monitorRunDependencies?.(A);if(0==A&&(null!==Ja&&(clearInterval(Ja),Ja=null),B)){var a=B;B=null;a()}}
36
- function F(a){m.onAbort?.(a);a="Aborted("+a+")";t(a);Ba=!0;Ca=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");fa(a);throw a;}var La=a=>a.startsWith("data:application/octet-stream;base64,"),Ma;function Na(a){if(a==Ma&&Aa)return new Uint8Array(Aa);if(ya)return ya(a);throw"both async and sync fetching of the wasm failed";}function Oa(a){return Aa?Promise.resolve().then(()=>Na(a)):xa(a).then(b=>new Uint8Array(b),()=>Na(a))}
37
- function Pa(a,b,c){return Oa(a).then(e=>WebAssembly.instantiate(e,b)).then(c,e=>{t(`failed to asynchronously prepare wasm: ${e}`);F(e)})}function Qa(a,b){var c=Ma;return Aa||"function"!=typeof WebAssembly.instantiateStreaming||La(c)||"function"!=typeof fetch?Pa(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){t(`wasm streaming compile failed: ${f}`);t("falling back to ArrayBuffer instantiation");return Pa(c,a,b)}))}
38
- var G,I,Ra={86286:()=>{"undefined"!==typeof m?(m.Fc=!0,console.log("[WasmFS C init] Early init called, Module exists"),"function"===typeof m.sc?(console.log("[WasmFS C init] wasmfsOPFSGetOrCreateDir is available!"),m.Ec=!0):console.log("[WasmFS C init] wasmfsOPFSGetOrCreateDir NOT available yet")):console.log("[WasmFS C init] Module not defined yet")},86750:()=>{"undefined"!==typeof m&&(m.Gc=!0,console.log("[WasmFS C init] Late init called"),"function"===typeof m.sc?(console.log("[WasmFS C init] wasmfsOPFSGetOrCreateDir is NOW available!"),
39
- m.Ec=!0):console.log("[WasmFS C init] wasmfsOPFSGetOrCreateDir still NOT available"))}};function Sa(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}
40
- var Ta=a=>{for(;0<a.length;)a.shift()(m)},Ua=m.noExitRuntime||!0,Va="undefined"!=typeof TextDecoder?new TextDecoder:void 0,J=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&Va)return Va.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|
41
- f&1023))}}else e+=String.fromCharCode(f)}return e},Wa=(a,b)=>a?J(w,a,b):"",Xa=[0,31,60,91,121,152,182,213,244,274,305,335],Ya=[0,31,59,90,120,151,181,212,243,273,304,334],Za=(a,b)=>b+2097152>>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN,$a={},ab=a=>{if(!(a instanceof Sa||"unwind"==a))throw a;},bb=0,cb=a=>{Ca=a;Ua||0<bb||(m.onExit?.(a),Ba=!0);throw new Sa(a);},db=a=>{if(!Ba)try{if(a(),!(Ua||0<bb))try{Ca=a=Ca,cb(a)}catch(b){ab(b)}}catch(b){ab(b)}},eb;eb=()=>performance.now();
42
- var K=(a,b,c,e)=>{if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++]=k}else{if(2047>=k){if(c+1>=e)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++]=224|k>>12}else{if(c+3>=e)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f},fb=[],L=[],gb=!1,M=a=>{for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);
43
- 127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b};function hb(a,b){a.oc[b]=void 0;a.Cc.push(b)}class ib{constructor(){this.oc=[void 0];this.Cc=[]}get(a){return this.oc[a]}has(a){return void 0!==this.oc[a]}qc(a){var b=this.Cc.pop()||this.oc.length;this.oc[b]=a;return b}}var N=new ib,jb=new ib,O=new ib,P=new ib;
44
- async function kb(a,b,c){a=O.get(a);let e;try{e=await a.getFileHandle(b,{create:c})}catch(f){return"NotFoundError"===f.name?-20:"TypeMismatchError"===f.name?-31:-29}return P.qc(e)}async function lb(a,b,c){a=O.get(a);let e;try{e=await a.getDirectoryHandle(b,{create:c})}catch(f){return"NotFoundError"===f.name?-20:"TypeMismatchError"===f.name?-54:-29}return O.qc(e)}
45
- class mb{constructor(a){this.handle=a}async close(){}async flush(){}async getSize(){return(await this.handle.getFile()).size}async read(a,b={at:0}){b=await (await (await this.handle.getFile()).slice(b.at,b.at+a.length)).arrayBuffer();b=new Uint8Array(b);a.set(b);return b.length}async write(a,b={at:0}){let c=await this.handle.createWritable({keepExistingData:!0});await c.write({type:"write",position:b.at,data:a});await c.close();return a.length}async truncate(a){let b=await this.handle.createWritable({keepExistingData:!0});
23
+ var na=Object.assign({},m),oa="./this.program",q="",pa,qa;
24
+ if(ia||ja)ja?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptName&&(q=_scriptName),q.startsWith("blob:")?q="":q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1),ja&&(qa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),pa=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));
25
+ var ra=m.print||console.log.bind(console),r=m.printErr||console.error.bind(console);Object.assign(m,na);na=null;m.thisProgram&&(oa=m.thisProgram);var sa=m.wasmBinary,n,w=!1,ta,x,y,z,B,ua;function va(){var a=n.buffer;m.HEAP8=x=new Int8Array(a);m.HEAP16=new Int16Array(a);m.HEAPU8=y=new Uint8Array(a);m.HEAPU16=new Uint16Array(a);m.HEAP32=z=new Int32Array(a);m.HEAPU32=B=new Uint32Array(a);m.HEAPF32=new Float32Array(a);m.HEAPF64=ua=new Float64Array(a)}
26
+ m.wasmMemory?n=m.wasmMemory:n=new WebAssembly.Memory({initial:(m.INITIAL_MEMORY||16777216)/65536,maximum:32768});va();var wa=[],xa=[],ya=[];function za(){var a=m.preRun.shift();wa.unshift(a)}var C=0,Aa=null,Ba=null;function Ca(){C++;m.monitorRunDependencies?.(C)}function Da(){C--;m.monitorRunDependencies?.(C);if(0==C&&(null!==Aa&&(clearInterval(Aa),Aa=null),Ba)){var a=Ba;Ba=null;a()}}
27
+ function E(a){m.onAbort?.(a);a="Aborted("+a+")";r(a);w=!0;ta=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");fa(a);throw a;}var Ea=a=>a.startsWith("data:application/octet-stream;base64,"),Fa;function Ga(a){if(a==Fa&&sa)return new Uint8Array(sa);if(qa)return qa(a);throw"both async and sync fetching of the wasm failed";}function Ha(a){return sa?Promise.resolve().then(()=>Ga(a)):pa(a).then(b=>new Uint8Array(b),()=>Ga(a))}
28
+ function Ia(a,b,c){return Ha(a).then(e=>WebAssembly.instantiate(e,b)).then(c,e=>{r(`failed to asynchronously prepare wasm: ${e}`);E(e)})}function Ja(a,b){var c=Fa;return sa||"function"!=typeof WebAssembly.instantiateStreaming||Ea(c)||"function"!=typeof fetch?Ia(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){r(`wasm streaming compile failed: ${f}`);r("falling back to ArrayBuffer instantiation");return Ia(c,a,b)}))}
29
+ var F,G,Ka={86744:()=>{"undefined"!==typeof m&&(m.Wc=!0,m.Vc="/home")}};function La(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}
30
+ var Ma=a=>{for(;0<a.length;)a.shift()(m)},Na=m.noExitRuntime||!0,Oa="undefined"!=typeof TextDecoder?new TextDecoder:void 0,H=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&Oa)return Oa.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|
31
+ f&1023))}}else e+=String.fromCharCode(f)}return e},Pa=(a,b)=>a?H(y,a,b):"",Qa=[0,31,60,91,121,152,182,213,244,274,305,335],Ra=[0,31,59,90,120,151,181,212,243,273,304,334],Sa=(a,b)=>b+2097152>>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN,Ta={},Ua=a=>{if(!(a instanceof La||"unwind"==a))throw a;},Va=0,Wa=a=>{ta=a;Na||0<Va||(m.onExit?.(a),w=!0);throw new La(a);},Xa=a=>{if(!w)try{if(a(),!(Na||0<Va))try{ta=a=ta,Wa(a)}catch(b){Ua(b)}}catch(b){Ua(b)}},Ya;Ya=()=>performance.now();
32
+ var J=(a,b,c,e)=>{if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++]=k}else{if(2047>=k){if(c+1>=e)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++]=224|k>>12}else{if(c+3>=e)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f},Za=[],K=[],$a=!1,L=a=>{for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);
33
+ 127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b};function ab(a,b){a.vc[b]=void 0;a.Dc.push(b)}class bb{constructor(){this.vc=[void 0];this.Dc=[]}get(a){return this.vc[a]}has(a){return void 0!==this.vc[a]}xc(a){var b=this.Dc.pop()||this.vc.length;this.vc[b]=a;return b}}var M=new bb,cb=new bb,N=new bb,O=new bb;
34
+ async function db(a,b,c){a=N.get(a);let e;try{e=await a.getFileHandle(b,{create:c})}catch(f){return"NotFoundError"===f.name?-20:"TypeMismatchError"===f.name?-31:-29}return O.xc(e)}async function eb(a,b,c){a=N.get(a);let e;try{e=await a.getDirectoryHandle(b,{create:c})}catch(f){return"NotFoundError"===f.name?-20:"TypeMismatchError"===f.name?-54:-29}return N.xc(e)}
35
+ class fb{constructor(a){this.handle=a}async close(){}async flush(){}async getSize(){return(await this.handle.getFile()).size}async read(a,b={at:0}){b=await (await (await this.handle.getFile()).slice(b.at,b.at+a.length)).arrayBuffer();b=new Uint8Array(b);a.set(b);return b.length}async write(a,b={at:0}){let c=await this.handle.createWritable({keepExistingData:!0});await c.write({type:"write",position:b.at,data:a});await c.close();return a.length}async truncate(a){let b=await this.handle.createWritable({keepExistingData:!0});
46
36
  await b.truncate(a);await b.close()}}
47
- var nb=[],ob=[],pb={},rb=()=>{if(!qb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:wa||"./this.program"},b;for(b in pb)void 0===pb[b]?delete a[b]:a[b]=pb[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);qb=c}return qb},qb,sb=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>crypto.getRandomValues(a);F("initRandomDevice")},
48
- tb=a=>(tb=sb())(a),Q={zc:a=>"/"===a.charAt(0),Pc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),Bc:(a,b)=>{for(var c=0,e=a.length-1;0<=e;e--){var f=a[e];"."===f?a.splice(e,1):".."===f?(a.splice(e,1),c++):c&&(a.splice(e,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=Q.zc(a),c="/"===a.substr(-1);(a=Q.Bc(a.split("/").filter(e=>!!e),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=Q.Pc(a);a=b[0];b=b[1];if(!a&&!b)return".";
49
- b&&=b.substr(0,b.length-1);return a+b},Wc:a=>{if("/"===a)return"/";a=Q.normalize(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:(...a)=>Q.normalize(a.join("/")),vc:(a,b)=>Q.normalize(a+"/"+b)},R=a=>{var b=M(a)+1,c=ub(b);K(a,w,c,b);return c},U=a=>{var b=S();a=a();T(b);return a},vb=a=>z[a>>2]+4294967296*y[a+4>>2],xb=(a,b,c)=>V.handleError(U(()=>{var e=R(a);return wb(e,b,c)})),yb=(a,b=438)=>xb(a,b&4095|32768,0),Ab=(a,b)=>{var c=S();a=R(a);if("string"==typeof b){var e=
50
- new Uint8Array(M(b)+1);b=K(b,e,0,e.length);b=e.slice(0,b)}e=W(b.length);for(var f=0;f<b.length;f++)v[e+f]=b[f];b=zb(a,e,b.length);X(e);T(c);return b},Cb=(a,b,c,e,f)=>{a=b?a+"/"+b:a;e=Bb(e,f);gb?(yb(a,e),Ab(a,c)):L.push({Oc:a,xc:c,mode:e})},Db=(a,b,c)=>{var e=`al ${a}`;xa(a).then(f=>{b(new Uint8Array(f));e&&D(e)},()=>{if(c)c();else throw`Loading data file "${a}" failed.`;});e&&Ka(e)},Eb=(...a)=>{for(var b="",c=!1,e=a.length-1;-1<=e&&!c;e--){c=0<=e?a[e]:V.Kc();if("string"!=typeof c)throw new TypeError("Arguments to path.resolve must be strings");
51
- if(!c)return"";b=c+"/"+b;c=Q.zc(c)}b=Q.Bc(b.split("/").filter(f=>!!f),!c).join("/");return(c?"/":"")+b||"."},Fb=m.preloadPlugins||[],Hb=(a,b,c,e)=>{"undefined"!=typeof Browser&&Gb();var f=!1;Fb.forEach(h=>{!f&&h.canHandle(b)&&(h.handle(a,b,c,e),f=!0)});return f},Ib=(a,b,c,e,f,h,k,l,n,q)=>{function u(C){function H(la){q?.();l||Cb(a,b,la,e,f,n);h?.();D(E)}Hb(C,x,H,()=>{k?.();D(E)})||H(C)}var x=b?Eb(Q.vc(a,b)):a,E=`cp ${x}`;Ka(E);"string"==typeof c?Db(c,u,k):u(c)},Bb=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=
52
- 146);return c},Kb=(a,b=511)=>V.handleError(U(()=>{var c=R(a);return Jb(c,b)})),Mb=a=>U(()=>{var b=R(a);return Lb(b)}),Y={},Nb={},Ob={};function Gb(){V.xb||(V.xb=function(a){this.rc=a;this.message="FS error";this.name="ErrnoError"},V.xb.prototype=Error(),V.xb.prototype.constructor=V.xb)}function Pb(a){var b=U(()=>Qb(R(a)));return 44==b?null:{md:31==b,ld:!1}}
53
- function Rb(a){var b=a+88;return{fd:z[a>>2],mode:z[a+4>>2],vd:z[a+8>>2],uid:z[a+12>>2],jd:z[a+16>>2],yd:z[a+20>>2],size:vb(a+24),Xc:z[a+32>>2],Yc:z[a+36>>2],Uc:vb(a+40),nc:vb(a+56),ed:vb(a+72),kd:z[b>>2]+4294967296*z[b+4>>2]}}
54
- function Sb(a,b){var c=Tb(),e={Qc:b.read,Rc:b.write,Hc:f=>{Ob[f]={}},Lc:f=>{Ob[f]=void 0},getSize:()=>{},Bd:()=>0,read:(f,h,k,l)=>{var n=m.tc.subarray(h,h+k);try{var q=e.Qc(Ob[f],n,0,k,l)}catch(u){return-u.rc}m.tc.set(n,h);return q},write:(f,h,k,l)=>{var n=m.tc.subarray(h,h+k);try{var q=e.Rc(Ob[f],n,0,k,l)}catch(u){return-u.rc}m.tc.set(n,h);return q}};Y[c]=e;Nb[a]=c}
55
- function Ub(a,b,c){"undefined"===typeof c&&(c=b,b=438);var e=Nb[c];if(!e)throw Error("Invalid device ID.");return V.handleError(U(()=>Vb(R(a),b,e)))}
56
- var V={xb:null,handleError(a){if(0>a)throw new V.xb(-a);return a},cd(a,b,c,e,f,h){Cb(a,b,c,e,f,h)},Jc(a,b){for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var e=Q.vc(a,c);gb?V.mkdir(e):fb.push({Nc:a,Ic:c});a=e}}return e},dd(a,b,c,e,f,h,k,l,n,q){return Ib(a,b,c,e,f,h,k,l,n,q)},readFile(a,b={}){b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c=S();a=Wb(R(a));T(c);c=new Uint8Array(w.subarray(a+8,a+8+vb(a)));
57
- "utf8"===b.encoding&&(c=J(c,0));return c},Kc:()=>Wa(Xb()),Tc(a){var b=!!Pb(a);return{exists:b,object:{ad:b?V.readFile(a):null}}},mkdir:(a,b)=>Kb(a,b),qd:(a,b)=>{a=a.split("/");for(var c="",e=0;e<a.length;++e)if(a[e]){c+="/"+a[e];try{Kb(c,b)}catch(f){if(20!=f.rc)throw f;}}},rmdir:a=>V.handleError(U(()=>Yb(R(a)))),open:(a,b,c)=>U(()=>{if("string"==typeof b){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof e)throw Error(`Unknown file open mode: ${b}`);}else e=b;b=e;c="undefined"==
58
- typeof c?438:c;e=R(a);return{pc:V.handleError(Zb(e,b,c))}}),create:(a,b)=>yb(a,b),close:a=>V.handleError(-$b(a.pc)),unlink:a=>Mb(a),Zc:a=>U(()=>{var b=R(a);return ac(b)}),read(a,b,c,e,f){var h="undefined"!=typeof f,k=W(e);a=h?bc(a.pc,k,e,f):cc(a.pc,k,e);a=V.handleError(a);for(f=0;f<e;f++)b[c+f]=v[k+f];X(k);return a},write(a,b,c,e,f){for(var h="undefined"!=typeof f,k=W(e),l=0;l<e;l++)v[k+l]=b[c+l];a=h?dc(a.pc,k,e,f):ec(a.pc,k,e);a=V.handleError(a);X(k);return a},qc(a,b,c){return V.handleError(fc(a.pc,
59
- b>>>0,(G=b,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0),c>>>0,(G=c,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)))},writeFile:(a,b)=>Ab(a,b),sd:(a,b,c,e,f)=>({xd:V.handleError(gc(b,e,f,a.pc,c>>>0,(G=c,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0))),oc:!0}),td:(a,b,c,e,f)=>{0===c||F();return V.handleError(hc(b,e,f))},ud:(a,b)=>V.handleError(ic(a,
60
- b)),Dd:(a,b)=>U(()=>jc(R(a),R(b))),zd(a){var b=V.handleError(U(()=>kc(R(a))));return b?J(w,b):""},stat(a){var b=W(96);V.handleError(U(()=>lc(R(a),b)));var c=Rb(b);X(b);return c},pd(a){var b=W(96);V.handleError(U(()=>mc(R(a),b)));var c=Rb(b);X(b);return c},$c(a,b){return V.handleError(U(()=>{var c=R(a);return oc(c,b)}))},nd(a,b){return V.handleError(U(()=>{var c=R(a);return pc(c,b)}))},gd(a,b){return V.handleError(qc(a,b))},Gd:(a,b,c)=>V.handleError(U(()=>rc(R(a),b,c))),truncate(a,b){return V.handleError(U(()=>
61
- sc(R(a),b>>>0,(G=b,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0))))},hd(a,b){return V.handleError(tc(a,b>>>0,(G=b,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)))},readdir:a=>U(()=>{var b=R(a),c=[];b=uc(b);if(!b)throw Error("No such directory");for(var e;e=vc(b);)c.push(e?J(w,e):"");wc(b);return c}),mount:(a,b,c)=>{var e=a.bd(b);return V.handleError(U(()=>xc(R(c),e)))},Fd:a=>V.handleError(U(()=>yc(R(a)))),
62
- rd:(a,b,c)=>xb(a,b,c),Mc:(a,b)=>a<<8|b,uc(a,b,c,e){if("string"!=typeof a)throw Error("Only string paths are accepted");a=Q.vc(a,b);b=Bb(!!c,!!e);V.uc.Ac||(V.uc.Ac=64);var f=V.Mc(V.uc.Ac++,0);Sb(f,{read(h,k,l,n){for(var q=h=0;q<n;q++){try{var u=c()}catch(x){throw new V.xb(29);}if(void 0===u&&0===h)throw new V.xb(6);if(null===u||void 0===u)break;h++;k[l+q]=u}return h},write(h,k,l,n){for(h=0;h<n;h++)try{e(k[l+h])}catch(q){throw new V.xb(29);}return h}});return Ub(a,b,f)},rename(a,b){return V.handleError(U(()=>
63
- {var c=R(a),e=R(b);return zc(c,e)}))},od(a,b,c){return V.handleError(Ac(a.pc,b>>>0,(G=b,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0),c))}},Bc=(a,b,c,e)=>{var f={string:q=>{var u=0;null!==q&&void 0!==q&&0!==q&&(u=R(q));return u},array:q=>{var u=ub(q.length);v.set(q,u);return u}};a=m["_"+a];var h=[],k=0;if(e)for(var l=0;l<e.length;l++){var n=f[c[l]];n?(0===k&&(k=S()),h[l]=n(e[l])):h[l]=e[l]}c=a(...h);return c=function(q){0!==k&&T(k);return"string"===
64
- b?q?J(w,q):"":"boolean"===b?!!q:q}(c)},Cc=V.Jc;Gb();
65
- var Fc={b:(a,b,c,e)=>{F(`Assertion failed: ${a?J(w,a):""}, at: `+[b?b?J(w,b):"":"unknown filename",c,e?e?J(w,e):"":"unknown function"])},l:()=>{F("")},$:()=>{Ua=!1;bb=0},u:function(a,b,c){a=new Date(1E3*Za(a,b));y[c>>2]=a.getSeconds();y[c+4>>2]=a.getMinutes();y[c+8>>2]=a.getHours();y[c+12>>2]=a.getDate();y[c+16>>2]=a.getMonth();y[c+20>>2]=a.getFullYear()-1900;y[c+24>>2]=a.getDay();b=a.getFullYear();y[c+28>>2]=(0!==b%4||0===b%100&&0!==b%400?Ya:Xa)[a.getMonth()]+a.getDate()-1|0;y[c+36>>2]=-(60*a.getTimezoneOffset());
66
- b=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var e=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();y[c+32>>2]=(b!=e&&a.getTimezoneOffset()==Math.min(e,b))|0},v:(a,b)=>{$a[a]&&(clearTimeout($a[a].id),delete $a[a]);if(!b)return 0;var c=setTimeout(()=>{delete $a[a];db(()=>Dc(a,eb()))},b);$a[a]={id:c,Ed:b};return 0},aa:(a,b,c,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();z[a>>2]=60*Math.max(h,f);y[b>>2]=Number(h!=f);b=
67
- k=>{var l=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(K(a,w,c,17),K(b,w,e,17)):(K(a,w,e,17),K(b,w,c,17))},V:(a,b)=>w.set(L[a].xc,b),S:()=>fb.length,T:()=>{gb=!0;return L.length},Q:(a,b)=>{a=fb[a].Ic;K(a,w,b,M(a)+1)},O:a=>L[a].mode,W:a=>L[a].xc.length,R:(a,b)=>{a=fb[a].Nc;K(a,w,b,M(a)+1)},P:(a,b)=>{a=L[a].Oc;K(a,w,b,M(a)+1)},N:(a,b)=>Y[a].Hc(b),k:(a,b)=>Y[a].Lc(b),M:(a,b)=>Y[a].getSize(b),t:function(a,b,c,e,f,
68
- h){return Y[a].read?Y[a].read(b,c,e,Za(f,h)):-28},r:()=>0,s:function(a,b,c,e,f,h){return Y[a].write?Y[a].write(b,c,e,Za(f,h)):-28},E:async function(a,b,c){a=N.get(b);try{await a.close()}catch{y[c>>2]=-29}hb(N,b)},i:a=>{hb(jb,a)},A:async function(a,b,c){a=N.get(b);try{await a.flush()}catch{y[c>>2]=-29}},e:a=>{hb(O,a)},g:a=>{hb(P,a)},J:async function(a,b,c,e,f){a=c?J(w,c):"";c=1;let h=await kb(b,a,!1);-31==h&&(c=2,h=await lb(b,a,!1));y[e>>2]=c;y[f>>2]=h},w:async function(a,b,c,e){a=O.get(b);try{let f=
69
- a.entries();for(let h;h=await f.next(),!h.done;){let [k,l]=h.value,n=S(),q=R(k);Ec(c,q,"file"==l.kind?1:2);T(n)}}catch{y[e>>2]=-29}},H:async function(a,b,c){a=N.get(b);let e;try{e=await a.getSize()}catch{e=-29}I=[e>>>0,(G=e,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];y[c>>2]=I[0];y[c+4>>2]=I[1]},G:a=>jb.get(a).size,I:async function(a,b,c){a=P.get(b);let e;try{e=(await a.getFile()).size}catch{e=-29}I=[e>>>0,(G=e,1<=+Math.abs(G)?0<G?+Math.floor(G/
70
- 4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];y[c>>2]=I[0];y[c+4>>2]=I[1]},L:async function(){if(1==O.oc.length){let a=await navigator.storage.getDirectory();O.oc.push(a)}},y:async function(a,b,c,e){a=c?J(w,c):"";b=await lb(b,a,!0);y[e>>2]=b},z:async function(a,b,c,e){a=c?J(w,c):"";b=await kb(b,a,!0);y[e>>2]=b},f:async function(a,b,c,e,f){a=e?J(w,e):"";b=P.get(b);c=O.get(c);try{await b.move(c,a)}catch{y[f>>2]=-29}},j:async function(a,b,c){a=P.get(b);let e;try{let f;f=await new mb(a);
71
- e=N.qc(f)}catch(f){e="InvalidStateError"===f.name||"NoModificationAllowedError"===f.name?-2:-29}y[c>>2]=e},F:async function(a,b,c){a=P.get(b);let e;try{let f=await a.getFile();e=jb.qc(f)}catch(f){e="NotAllowedError"===f.name?-2:-29}y[c>>2]=e},D:async function(a,b,c,e){a=N.get(a);b=w.subarray(b,b+c);try{return await a.read(b,{at:e})}catch(f){return"TypeError"==f.name?-28:-29}},C:async function(a,b,c,e,f,h){a=jb.get(b).slice(f,f+e);b=0;try{let k=await a.arrayBuffer(),l=new Uint8Array(k);w.set(l,c);
72
- b+=l.length}catch(k){b=k instanceof RangeError?-21:-29}y[h>>2]=b},x:async function(a,b,c,e){a=c?J(w,c):"";b=O.get(b);try{await b.removeEntry(a)}catch{y[e>>2]=-29}},q:async function(a,b,c,e,f){a=Za(c,e);b=N.get(b);try{await b.truncate(a)}catch{y[f>>2]=-29}},p:async function(a,b,c,e,f){a=Za(c,e);b=P.get(b);try{let h=await b.createWritable({keepExistingData:!0});await h.truncate(a);await h.close()}catch{y[f>>2]=-29}},B:async function(a,b,c,e){a=N.get(a);b=w.subarray(b,b+c);try{return await a.write(b,
73
- {at:e})}catch(f){return"TypeError"==f.name?-28:-29}},Z:()=>{a:{if(!nb.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(M(a)+1);a=K(a,b,0,b.length);b.length=a;nb=b}b=nb.shift()}return"number"===typeof b?b:-1},h:(a,b,c)=>{ob.length=0;for(var e;e=w[b++];){var f=105!=e;f&=112!=e;c+=f&&c%8?4:0;ob.push(112==e?z[c>>2]:105==e?y[c>>2]:Da[c>>3]);c+=f?8:4}return Ra[a](...ob)},c:()=>Date.now(),d:a=>
74
- t(a?J(w,a):""),Y:a=>za(a?J(w,a):""),_:a=>{var b=w.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-p.buffer.byteLength+65535)/65536;try{p.grow(e);Ea();var f=1;break a}catch(h){}f=void 0}if(f)return!0}return!1},n:(a,b)=>{var c=0;rb().forEach((e,f)=>{var h=b+c;f=z[a+4*f>>2]=h;for(h=0;h<e.length;++h)v[f++]=e.charCodeAt(h);v[f]=0;c+=e.length+1});return 0},o:(a,b)=>{var c=rb();z[a>>2]=
75
- c.length;var e=0;c.forEach(f=>e+=f.length+1);z[b>>2]=e;return 0},X:(a,b)=>{tb(w.subarray(a,a+b));return 0},a:p,m:cb,ca:function(a,b,c,e,f){return m.callbacks.callFunction(void 0,a,b,c,e,f)},ba:function(a){return m.callbacks.shouldInterrupt(void 0,a)},U:function(a,b,c){c=c?J(w,c):"";return m.callbacks.loadModuleSource(void 0,a,b,c)},K:function(a,b,c,e){c=c?J(w,c):"";e=e?J(w,e):"";return m.callbacks.normalizeModule(void 0,a,b,c,e)}},Z=function(){function a(c){Z=c.exports;Ga.unshift(Z.da);D("wasm-instantiate");
76
- return Z}var b={a:Fc};Ka("wasm-instantiate");if(m.instantiateWasm)try{return m.instantiateWasm(b,a)}catch(c){t(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Ma||=m.locateFile?La("emscripten-module.wasm")?"emscripten-module.wasm":m.locateFile?m.locateFile("emscripten-module.wasm",r):r+"emscripten-module.wasm":(new URL("emscripten-module.wasm",import.meta.url)).href;Qa(b,function(c){a(c.instance)}).catch(fa);return{}}(),W=m._malloc=a=>(W=m._malloc=Z.ea)(a);
77
- m._QTS_Throw=(a,b)=>(m._QTS_Throw=Z.fa)(a,b);m._QTS_NewError=a=>(m._QTS_NewError=Z.ga)(a);m._QTS_RuntimeSetMemoryLimit=(a,b)=>(m._QTS_RuntimeSetMemoryLimit=Z.ha)(a,b);m._QTS_RuntimeComputeMemoryUsage=(a,b)=>(m._QTS_RuntimeComputeMemoryUsage=Z.ia)(a,b);m._QTS_RuntimeDumpMemoryUsage=a=>(m._QTS_RuntimeDumpMemoryUsage=Z.ja)(a);m._QTS_RecoverableLeakCheck=()=>(m._QTS_RecoverableLeakCheck=Z.ka)();m._QTS_BuildIsSanitizeLeak=()=>(m._QTS_BuildIsSanitizeLeak=Z.la)();
78
- m._QTS_RuntimeSetMaxStackSize=(a,b)=>(m._QTS_RuntimeSetMaxStackSize=Z.ma)(a,b);m._QTS_GetUndefined=()=>(m._QTS_GetUndefined=Z.na)();m._QTS_GetNull=()=>(m._QTS_GetNull=Z.oa)();m._QTS_GetFalse=()=>(m._QTS_GetFalse=Z.pa)();m._QTS_GetTrue=()=>(m._QTS_GetTrue=Z.qa)();m._QTS_NewRuntime=()=>(m._QTS_NewRuntime=Z.ra)();m._QTS_FreeRuntime=a=>(m._QTS_FreeRuntime=Z.sa)(a);var X=m._free=a=>(X=m._free=Z.ta)(a);m._QTS_NewContext=(a,b)=>(m._QTS_NewContext=Z.ua)(a,b);m._QTS_FreeContext=a=>(m._QTS_FreeContext=Z.va)(a);
79
- m._QTS_FreeValuePointer=(a,b)=>(m._QTS_FreeValuePointer=Z.wa)(a,b);m._QTS_FreeValuePointerRuntime=(a,b)=>(m._QTS_FreeValuePointerRuntime=Z.xa)(a,b);m._QTS_FreeVoidPointer=(a,b)=>(m._QTS_FreeVoidPointer=Z.ya)(a,b);m._QTS_FreeCString=(a,b)=>(m._QTS_FreeCString=Z.za)(a,b);m._QTS_DupValuePointer=(a,b)=>(m._QTS_DupValuePointer=Z.Aa)(a,b);m._QTS_NewObject=a=>(m._QTS_NewObject=Z.Ba)(a);m._QTS_NewObjectProto=(a,b)=>(m._QTS_NewObjectProto=Z.Ca)(a,b);m._QTS_NewArray=a=>(m._QTS_NewArray=Z.Da)(a);
80
- m._QTS_NewArrayBuffer=(a,b,c)=>(m._QTS_NewArrayBuffer=Z.Ea)(a,b,c);m._QTS_NewFloat64=(a,b)=>(m._QTS_NewFloat64=Z.Fa)(a,b);m._QTS_GetFloat64=(a,b)=>(m._QTS_GetFloat64=Z.Ga)(a,b);m._QTS_NewString=(a,b)=>(m._QTS_NewString=Z.Ha)(a,b);m._QTS_GetString=(a,b)=>(m._QTS_GetString=Z.Ia)(a,b);m._QTS_GetArrayBuffer=(a,b)=>(m._QTS_GetArrayBuffer=Z.Ja)(a,b);m._QTS_GetArrayBufferLength=(a,b)=>(m._QTS_GetArrayBufferLength=Z.Ka)(a,b);m._QTS_NewSymbol=(a,b,c)=>(m._QTS_NewSymbol=Z.La)(a,b,c);
81
- m._QTS_GetSymbolDescriptionOrKey=(a,b)=>(m._QTS_GetSymbolDescriptionOrKey=Z.Ma)(a,b);m._QTS_IsGlobalSymbol=(a,b)=>(m._QTS_IsGlobalSymbol=Z.Na)(a,b);m._QTS_IsJobPending=a=>(m._QTS_IsJobPending=Z.Oa)(a);m._QTS_ExecutePendingJob=(a,b,c)=>(m._QTS_ExecutePendingJob=Z.Pa)(a,b,c);m._QTS_GetProp=(a,b,c)=>(m._QTS_GetProp=Z.Qa)(a,b,c);m._QTS_GetPropNumber=(a,b,c)=>(m._QTS_GetPropNumber=Z.Ra)(a,b,c);m._QTS_SetProp=(a,b,c,e)=>(m._QTS_SetProp=Z.Sa)(a,b,c,e);
82
- m._QTS_DefineProp=(a,b,c,e,f,h,k,l,n)=>(m._QTS_DefineProp=Z.Ta)(a,b,c,e,f,h,k,l,n);m._QTS_GetOwnPropertyNames=(a,b,c,e,f)=>(m._QTS_GetOwnPropertyNames=Z.Ua)(a,b,c,e,f);m._QTS_Call=(a,b,c,e,f)=>(m._QTS_Call=Z.Va)(a,b,c,e,f);m._QTS_ResolveException=(a,b)=>(m._QTS_ResolveException=Z.Wa)(a,b);m._QTS_GetException=a=>(m._QTS_GetException=Z.Xa)(a);m._QTS_Dump=(a,b)=>(m._QTS_Dump=Z.Ya)(a,b);m._QTS_Eval=(a,b,c,e,f,h)=>(m._QTS_Eval=Z.Za)(a,b,c,e,f,h);
83
- m._QTS_GetModuleNamespace=(a,b)=>(m._QTS_GetModuleNamespace=Z._a)(a,b);m._QTS_Typeof=(a,b)=>(m._QTS_Typeof=Z.$a)(a,b);m._QTS_GetLength=(a,b,c)=>(m._QTS_GetLength=Z.ab)(a,b,c);m._QTS_IsEqual=(a,b,c,e)=>(m._QTS_IsEqual=Z.bb)(a,b,c,e);m._QTS_GetGlobalObject=a=>(m._QTS_GetGlobalObject=Z.cb)(a);m._QTS_NewPromiseCapability=(a,b)=>(m._QTS_NewPromiseCapability=Z.db)(a,b);m._QTS_PromiseState=(a,b)=>(m._QTS_PromiseState=Z.eb)(a,b);m._QTS_PromiseResult=(a,b)=>(m._QTS_PromiseResult=Z.fb)(a,b);
84
- m._QTS_TestStringArg=a=>(m._QTS_TestStringArg=Z.gb)(a);m._QTS_GetDebugLogEnabled=a=>(m._QTS_GetDebugLogEnabled=Z.hb)(a);m._QTS_SetDebugLogEnabled=(a,b)=>(m._QTS_SetDebugLogEnabled=Z.ib)(a,b);m._QTS_BuildIsDebug=()=>(m._QTS_BuildIsDebug=Z.jb)();m._QTS_BuildIsAsyncify=()=>(m._QTS_BuildIsAsyncify=Z.kb)();m._QTS_NewFunction=(a,b,c)=>(m._QTS_NewFunction=Z.lb)(a,b,c);m._QTS_ArgvGetJSValueConstPointer=(a,b)=>(m._QTS_ArgvGetJSValueConstPointer=Z.mb)(a,b);
85
- m._QTS_RuntimeEnableInterruptHandler=a=>(m._QTS_RuntimeEnableInterruptHandler=Z.nb)(a);m._QTS_RuntimeDisableInterruptHandler=a=>(m._QTS_RuntimeDisableInterruptHandler=Z.ob)(a);m._QTS_RuntimeEnableModuleLoader=(a,b)=>(m._QTS_RuntimeEnableModuleLoader=Z.pb)(a,b);m._QTS_RuntimeDisableModuleLoader=a=>(m._QTS_RuntimeDisableModuleLoader=Z.qb)(a);m._QTS_bjson_encode=(a,b)=>(m._QTS_bjson_encode=Z.rb)(a,b);m._QTS_bjson_decode=(a,b)=>(m._QTS_bjson_decode=Z.sb)(a,b);
86
- m._QTS_EvalFunction=(a,b)=>(m._QTS_EvalFunction=Z.tb)(a,b);m._QTS_EncodeBytecode=(a,b)=>(m._QTS_EncodeBytecode=Z.ub)(a,b);m._QTS_DecodeBytecode=(a,b)=>(m._QTS_DecodeBytecode=Z.vb)(a,b);m._QTS_ResolveModule=(a,b)=>(m._QTS_ResolveModule=Z.wb)(a,b);
87
- var Dc=(a,b)=>(Dc=Z.yb)(a,b),T=a=>(T=Z.zb)(a),ub=a=>(ub=Z.Ab)(a),S=()=>(S=Z.Bb)(),Wb=a=>(Wb=Z.Cb)(a),zb=(a,b,c)=>(zb=Z.Db)(a,b,c),Jb=(a,b)=>(Jb=Z.Eb)(a,b),Yb=a=>(Yb=Z.Fb)(a),Zb=(a,b,c)=>(Zb=Z.Gb)(a,b,c),fc=(a,b,c,e,f)=>(fc=Z.Hb)(a,b,c,e,f),wb=(a,b,c)=>(wb=Z.Ib)(a,b,c),Lb=a=>(Lb=Z.Jb)(a),ac=a=>(ac=Z.Kb)(a),jc=(a,b)=>(jc=Z.Lb)(a,b),kc=a=>(kc=Z.Mb)(a),ec=(a,b,c)=>(ec=Z.Nb)(a,b,c),dc=(a,b,c,e,f)=>(dc=Z.Ob)(a,b,c,e,f),oc=(a,b)=>(oc=Z.Pb)(a,b),qc=(a,b)=>(qc=Z.Qb)(a,b),pc=(a,b)=>(pc=Z.Rb)(a,b),Ac=(a,b,c,
88
- e)=>(Ac=Z.Sb)(a,b,c,e),zc=(a,b)=>(zc=Z.Tb)(a,b),cc=(a,b,c)=>(cc=Z.Ub)(a,b,c),bc=(a,b,c,e,f)=>(bc=Z.Vb)(a,b,c,e,f),sc=(a,b,c)=>(sc=Z.Wb)(a,b,c),tc=(a,b,c)=>(tc=Z.Xb)(a,b,c),$b=a=>($b=Z.Yb)(a),gc=(a,b,c,e,f,h)=>(gc=Z.Zb)(a,b,c,e,f,h),hc=(a,b,c)=>(hc=Z._b)(a,b,c),ic=(a,b)=>(ic=Z.$b)(a,b),rc=(a,b,c)=>(rc=Z.ac)(a,b,c),lc=(a,b)=>(lc=Z.bc)(a,b),mc=(a,b)=>(mc=Z.cc)(a,b),xc=(a,b)=>(xc=Z.dc)(a,b),yc=a=>(yc=Z.ec)(a),Qb=a=>(Qb=Z.fc)(a),uc=a=>(uc=Z.gc)(a),vc=a=>(vc=Z.hc)(a),wc=a=>(wc=Z.ic)(a),Xb=()=>(Xb=Z.jc)(),
89
- Tb=()=>(Tb=Z.kc)(),Ec=(a,b,c)=>(Ec=Z.lc)(a,b,c),Vb=(a,b,c)=>(Vb=Z.mc)(a,b,c);m.addRunDependency=Ka;m.removeRunDependency=D;
37
+ var gb=[],hb=[],ib={},kb=()=>{if(!jb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:oa||"./this.program"},b;for(b in ib)void 0===ib[b]?delete a[b]:a[b]=ib[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);jb=c}return jb},jb,lb=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>crypto.getRandomValues(a);E("initRandomDevice")},
38
+ mb=a=>(mb=lb())(a),P={Gc:a=>"/"===a.charAt(0),Sc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),Ic:(a,b)=>{for(var c=0,e=a.length-1;0<=e;e--){var f=a[e];"."===f?a.splice(e,1):".."===f?(a.splice(e,1),c++):c&&(a.splice(e,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=P.Gc(a),c="/"===a.substr(-1);(a=P.Ic(a.split("/").filter(e=>!!e),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=P.Sc(a);a=b[0];b=b[1];if(!a&&!b)return".";
39
+ b&&=b.substr(0,b.length-1);return a+b},Zc:a=>{if("/"===a)return"/";a=P.normalize(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:(...a)=>P.normalize(a.join("/")),Bc:(a,b)=>P.normalize(a+"/"+b)},Q=a=>{var b=L(a)+1,c=nb(b);J(a,y,c,b);return c},S=a=>{var b=R();a=a();ob(b);return a},pb=a=>B[a>>2]+4294967296*z[a+4>>2],rb=(a,b,c)=>T.handleError(S(()=>{var e=Q(a);return qb(e,b,c)})),sb=(a,b=438)=>rb(a,b&4095|32768,0),ub=(a,b)=>{var c=R();a=Q(a);if("string"==typeof b){var e=
40
+ new Uint8Array(L(b)+1);b=J(b,e,0,e.length);b=e.slice(0,b)}e=U(b.length);for(var f=0;f<b.length;f++)x[e+f]=b[f];b=tb(a,e,b.length);V(e);ob(c);return b},wb=(a,b,c,e,f)=>{a=b?a+"/"+b:a;e=vb(e,f);$a?(sb(a,e),ub(a,c)):K.push({Rc:a,Ec:c,mode:e})},xb=(a,b,c)=>{var e=`al ${a}`;pa(a).then(f=>{b(new Uint8Array(f));e&&Da(e)},()=>{if(c)c();else throw`Loading data file "${a}" failed.`;});e&&Ca(e)},yb=(...a)=>{for(var b="",c=!1,e=a.length-1;-1<=e&&!c;e--){c=0<=e?a[e]:T.Mc();if("string"!=typeof c)throw new TypeError("Arguments to path.resolve must be strings");
41
+ if(!c)return"";b=c+"/"+b;c=P.Gc(c)}b=P.Ic(b.split("/").filter(f=>!!f),!c).join("/");return(c?"/":"")+b||"."},zb=m.preloadPlugins||[],Bb=(a,b,c,e)=>{"undefined"!=typeof Browser&&Ab();var f=!1;zb.forEach(h=>{!f&&h.canHandle(b)&&(h.handle(a,b,c,e),f=!0)});return f},Cb=(a,b,c,e,f,h,k,l,p,t)=>{function v(D){function I(ka){t?.();l||wb(a,b,ka,e,f,p);h?.();Da(A)}Bb(D,u,I,()=>{k?.();Da(A)})||I(D)}var u=b?yb(P.Bc(a,b)):a,A=`cp ${u}`;Ca(A);"string"==typeof c?xb(c,v,k):v(c)},vb=(a,b)=>{var c=0;a&&(c|=365);b&&
42
+ (c|=146);return c},Eb=(a,b=511)=>T.handleError(S(()=>{var c=Q(a);return Db(c,b)})),Gb=a=>S(()=>{var b=Q(a);return Fb(b)}),W={},Hb={},Ib={};function Ab(){T.Ab||(T.Ab=function(a){this.Ac=a;this.message="FS error";this.name="ErrnoError"},T.Ab.prototype=Error(),T.Ab.prototype.constructor=T.Ab)}function Jb(a){var b=S(()=>Kb(Q(a)));return 44==b?null:{pd:31==b,od:!1}}
43
+ function Lb(a){var b=a+88;return{jd:B[a>>2],mode:B[a+4>>2],yd:B[a+8>>2],uid:B[a+12>>2],md:B[a+16>>2],Ad:B[a+20>>2],size:pb(a+24),$c:B[a+32>>2],ad:B[a+36>>2],Yc:pb(a+40),uc:pb(a+56),hd:pb(a+72),nd:B[b>>2]+4294967296*B[b+4>>2]}}
44
+ function Mb(a,b){var c=Nb(),e={Tc:b.read,Uc:b.write,Jc:f=>{Ib[f]={}},Nc:f=>{Ib[f]=void 0},getSize:()=>{},Dd:()=>0,read:(f,h,k,l)=>{var p=m.yc.subarray(h,h+k);try{var t=e.Tc(Ib[f],p,0,k,l)}catch(v){return-v.Ac}m.yc.set(p,h);return t},write:(f,h,k,l)=>{var p=m.yc.subarray(h,h+k);try{var t=e.Uc(Ib[f],p,0,k,l)}catch(v){return-v.Ac}m.yc.set(p,h);return t}};W[c]=e;Hb[a]=c}
45
+ function Ob(a,b,c){"undefined"===typeof c&&(c=b,b=438);var e=Hb[c];if(!e)throw Error("Invalid device ID.");return T.handleError(S(()=>Pb(Q(a),b,e)))}
46
+ var T={Ab:null,handleError(a){if(0>a)throw new T.Ab(-a);return a},fd(a,b,c,e,f,h){wb(a,b,c,e,f,h)},Lc(a,b){for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var e=P.Bc(a,c);$a?T.mkdir(e):Za.push({Qc:a,Kc:c});a=e}}return e},gd(a,b,c,e,f,h,k,l,p,t){return Cb(a,b,c,e,f,h,k,l,p,t)},readFile(a,b={}){b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c=R();a=Qb(Q(a));ob(c);c=new Uint8Array(y.subarray(a+8,a+8+
47
+ pb(a)));"utf8"===b.encoding&&(c=H(c,0));return c},Mc:()=>Pa(Rb()),Xc(a){var b=!!Jb(a);return{exists:b,object:{dd:b?T.readFile(a):null}}},mkdir:(a,b)=>Eb(a,b),td:(a,b)=>{a=a.split("/");for(var c="",e=0;e<a.length;++e)if(a[e]){c+="/"+a[e];try{Eb(c,b)}catch(f){if(20!=f.Ac)throw f;}}},rmdir:a=>T.handleError(S(()=>Sb(Q(a)))),open:(a,b,c)=>S(()=>{if("string"==typeof b){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof e)throw Error(`Unknown file open mode: ${b}`);}else e=b;b=
48
+ e;c="undefined"==typeof c?438:c;e=Q(a);return{wc:T.handleError(Tb(e,b,c))}}),create:(a,b)=>sb(a,b),close:a=>T.handleError(-Ub(a.wc)),unlink:a=>Gb(a),bd:a=>S(()=>{var b=Q(a);return Vb(b)}),read(a,b,c,e,f){var h="undefined"!=typeof f,k=U(e);a=h?Wb(a.wc,k,e,f):Xb(a.wc,k,e);a=T.handleError(a);for(f=0;f<e;f++)b[c+f]=x[k+f];V(k);return a},write(a,b,c,e,f){for(var h="undefined"!=typeof f,k=U(e),l=0;l<e;l++)x[k+l]=b[c+l];a=h?Yb(a.wc,k,e,f):Zb(a.wc,k,e);a=T.handleError(a);V(k);return a},xc(a,b,c){return T.handleError($b(a.wc,
49
+ b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0),c>>>0,(F=c,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)))},writeFile:(a,b)=>ub(a,b),vd:(a,b,c,e,f)=>({zd:T.handleError(ac(b,e,f,a.wc,c>>>0,(F=c,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0))),vc:!0}),wd:(a,b,c,e,f)=>{0===c||E();return T.handleError(bc(b,e,f))},xd:(a,b)=>T.handleError(cc(a,
50
+ b)),Ed:(a,b)=>S(()=>dc(Q(a),Q(b))),Bd(a){var b=T.handleError(S(()=>ec(Q(a))));return b?H(y,b):""},stat(a){var b=U(96);T.handleError(S(()=>fc(Q(a),b)));var c=Lb(b);V(b);return c},sd(a){var b=U(96);T.handleError(S(()=>gc(Q(a),b)));var c=Lb(b);V(b);return c},cd(a,b){return T.handleError(S(()=>{var c=Q(a);return hc(c,b)}))},qd(a,b){return T.handleError(S(()=>{var c=Q(a);return ic(c,b)}))},kd(a,b){return T.handleError(jc(a,b))},Id:(a,b,c)=>T.handleError(S(()=>kc(Q(a),b,c))),truncate(a,b){return T.handleError(S(()=>
51
+ lc(Q(a),b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0))))},ld(a,b){return T.handleError(mc(a,b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)))},readdir:a=>S(()=>{var b=Q(a),c=[];b=nc(b);if(!b)throw Error("No such directory");for(var e;e=oc(b);)c.push(e?H(y,e):"");pc(b);return c}),mount:(a,b,c)=>{var e=a.ed(b);return T.handleError(S(()=>qc(Q(c),e)))},Hd:a=>T.handleError(S(()=>rc(Q(a)))),
52
+ ud:(a,b,c)=>rb(a,b,c),Pc:(a,b)=>a<<8|b,zc(a,b,c,e){if("string"!=typeof a)throw Error("Only string paths are accepted");a=P.Bc(a,b);b=vb(!!c,!!e);T.zc.Hc||(T.zc.Hc=64);var f=T.Pc(T.zc.Hc++,0);Mb(f,{read(h,k,l,p){for(var t=h=0;t<p;t++){try{var v=c()}catch(u){throw new T.Ab(29);}if(void 0===v&&0===h)throw new T.Ab(6);if(null===v||void 0===v)break;h++;k[l+t]=v}return h},write(h,k,l,p){for(h=0;h<p;h++)try{e(k[l+h])}catch(t){throw new T.Ab(29);}return h}});return Ob(a,b,f)},rename(a,b){return T.handleError(S(()=>
53
+ {var c=Q(a),e=Q(b);return sc(c,e)}))},rd(a,b,c){return T.handleError(tc(a.wc,b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0),c))}},vc=a=>{try{a()}catch(b){E(b)}};function wc(){var a=X,b={};for(let [c,e]of Object.entries(a))b[c]="function"==typeof e?(...f)=>{xc.push(c);try{return e(...f)}finally{w||(xc.pop(),Y&&1===Z&&0===xc.length&&(Z=0,vc(yc),"undefined"!=typeof Fibers&&Fibers.Gd()))}}:e;return b}
54
+ var Z=0,zc=81920,Y=null,Ac=0,xc=[],Bc={},Cc={},Dc=0,Ec=null,Fc=[];function Gc(){return new Promise((a,b)=>{Ec={resolve:a,reject:b}})}function Hc(){var a=U(12+zc),b=a+12,c=zc;B[a>>2]=b;B[a+4>>2]=b+c;b=xc[0];c=Bc[b];void 0===c&&(c=Dc++,Bc[b]=c,Cc[c]=b);z[a+8>>2]=c;return a}
55
+ function Ic(a){if(!w){if(0===Z){var b=!1,c=!1;a((e=0)=>{if(!w&&(Ac=e,b=!0,c)){Z=2;vc(()=>Jc(Y));"undefined"!=typeof Browser&&Browser.Cc.Oc&&Browser.Cc.resume();e=!1;try{var f=(0,X[Cc[z[Y+8>>2]]])()}catch(l){f=l,e=!0}var h=!1;if(!Y){var k=Ec;k&&(Ec=null,(e?k.reject:k.resolve)(f),h=!0)}if(e&&!h)throw f;}});c=!0;b||(Z=1,Y=Hc(),"undefined"!=typeof Browser&&Browser.Cc.Oc&&Browser.Cc.pause(),vc(()=>Kc(Y)))}else 2===Z?(Z=0,vc(Lc),V(Y),Y=null,Fc.forEach(Xa)):E(`invalid state: ${Z}`);return Ac}}
56
+ var Mc=(a,b,c,e,f)=>{function h(u){--Va;0!==p&&ob(p);return"string"===b?u?H(y,u):"":"boolean"===b?!!u:u}var k={string:u=>{var A=0;null!==u&&void 0!==u&&0!==u&&(A=Q(u));return A},array:u=>{var A=nb(u.length);x.set(u,A);return A}};a=m["_"+a];var l=[],p=0;if(e)for(var t=0;t<e.length;t++){var v=k[c[t]];v?(0===p&&(p=R()),l[t]=v(e[t])):l[t]=e[t]}c=Y;e=a(...l);f=f?.async;Va+=1;if(Y!=c)return Gc().then(h);e=h(e);return f?Promise.resolve(e):e},Nc=T.Lc;Ab();
57
+ var Qc={b:(a,b,c,e)=>{E(`Assertion failed: ${a?H(y,a):""}, at: `+[b?b?H(y,b):"":"unknown filename",c,e?e?H(y,e):"":"unknown function"])},ba:()=>{E("")},$:()=>{Na=!1;Va=0},t:function(a,b,c){a=new Date(1E3*Sa(a,b));z[c>>2]=a.getSeconds();z[c+4>>2]=a.getMinutes();z[c+8>>2]=a.getHours();z[c+12>>2]=a.getDate();z[c+16>>2]=a.getMonth();z[c+20>>2]=a.getFullYear()-1900;z[c+24>>2]=a.getDay();b=a.getFullYear();z[c+28>>2]=(0!==b%4||0===b%100&&0!==b%400?Ra:Qa)[a.getMonth()]+a.getDate()-1|0;z[c+36>>2]=-(60*a.getTimezoneOffset());
58
+ b=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var e=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();z[c+32>>2]=(b!=e&&a.getTimezoneOffset()==Math.min(e,b))|0},u:(a,b)=>{Ta[a]&&(clearTimeout(Ta[a].id),delete Ta[a]);if(!b)return 0;var c=setTimeout(()=>{delete Ta[a];Xa(()=>Oc(a,Ya()))},b);Ta[a]={id:c,Fd:b};return 0},aa:(a,b,c,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();B[a>>2]=60*Math.max(h,f);z[b>>2]=Number(h!=f);b=
59
+ k=>{var l=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(J(a,y,c,17),J(b,y,e,17)):(J(a,y,e,17),J(b,y,c,17))},D:(a,b)=>y.set(K[a].Ec,b),B:()=>Za.length,C:()=>{$a=!0;return K.length},z:(a,b)=>{a=Za[a].Kc;J(a,y,b,L(a)+1)},x:a=>K[a].mode,E:a=>K[a].Ec.length,A:(a,b)=>{a=Za[a].Qc;J(a,y,b,L(a)+1)},y:(a,b)=>{a=K[a].Rc;J(a,y,b,L(a)+1)},w:(a,b)=>W[a].Jc(b),g:(a,b)=>W[a].Nc(b),v:(a,b)=>W[a].getSize(b),q:function(a,b,c,e,f,
60
+ h){return W[a].read?W[a].read(b,c,e,Sa(f,h)):-28},o:()=>0,p:function(a,b,c,e,f,h){return W[a].write?W[a].write(b,c,e,Sa(f,h)):-28},S:async function(a,b,c){a=M.get(b);try{await a.close()}catch{z[c>>2]=-29}ab(M,b)},k:a=>{ab(cb,a)},O:async function(a,b,c){a=M.get(b);try{await a.flush()}catch{z[c>>2]=-29}},h:a=>{ab(N,a)},j:a=>{ab(O,a)},Y:async function(a,b,c,e,f){a=c?H(y,c):"";c=1;let h=await db(b,a,!1);-31==h&&(c=2,h=await eb(b,a,!1));z[e>>2]=c;z[f>>2]=h},J:async function(a,b,c,e){a=N.get(b);try{let f=
61
+ a.entries();for(let h;h=await f.next(),!h.done;){let [k,l]=h.value,p=R(),t=Q(k);Pc(c,t,"file"==l.kind?1:2);ob(p)}}catch{z[e>>2]=-29}},V:async function(a,b,c){a=M.get(b);let e;try{e=await a.getSize()}catch{e=-29}G=[e>>>0,(F=e,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)];z[c>>2]=G[0];z[c+4>>2]=G[1]},U:a=>cb.get(a).size,X:async function(a,b,c){a=O.get(b);let e;try{e=(await a.getFile()).size}catch{e=-29}G=[e>>>0,(F=e,1<=+Math.abs(F)?0<F?+Math.floor(F/
62
+ 4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)];z[c>>2]=G[0];z[c+4>>2]=G[1]},Z:async function(){if(1==N.vc.length){let a=await navigator.storage.getDirectory();N.vc.push(a)}},L:async function(a,b,c,e){a=c?H(y,c):"";b=await eb(b,a,!0);z[e>>2]=b},M:async function(a,b,c,e){a=c?H(y,c):"";b=await db(b,a,!0);z[e>>2]=b},i:async function(a,b,c,e,f){a=e?H(y,e):"";b=O.get(b);c=N.get(c);try{await b.move(c,a)}catch{z[f>>2]=-29}},l:async function(a,b,c){a=O.get(b);let e;try{let f;f=await new fb(a);
63
+ e=M.xc(f)}catch(f){e="InvalidStateError"===f.name||"NoModificationAllowedError"===f.name?-2:-29}z[c>>2]=e},T:async function(a,b,c){a=O.get(b);let e;try{let f=await a.getFile();e=cb.xc(f)}catch(f){e="NotAllowedError"===f.name?-2:-29}z[c>>2]=e},R:async function(a,b,c,e){a=M.get(a);b=y.subarray(b,b+c);try{return await a.read(b,{at:e})}catch(f){return"TypeError"==f.name?-28:-29}},Q:async function(a,b,c,e,f,h){a=cb.get(b).slice(f,f+e);b=0;try{let k=await a.arrayBuffer(),l=new Uint8Array(k);y.set(l,c);
64
+ b+=l.length}catch(k){b=k instanceof RangeError?-21:-29}z[h>>2]=b},K:async function(a,b,c,e){a=c?H(y,c):"";b=N.get(b);try{await b.removeEntry(a)}catch{z[e>>2]=-29}},s:async function(a,b,c,e,f){a=Sa(c,e);b=M.get(b);try{await b.truncate(a)}catch{z[f>>2]=-29}},r:async function(a,b,c,e,f){a=Sa(c,e);b=O.get(b);try{let h=await b.createWritable({keepExistingData:!0});await h.truncate(a);await h.close()}catch{z[f>>2]=-29}},P:async function(a,b,c,e){a=M.get(a);b=y.subarray(b,b+c);try{return await a.write(b,
65
+ {at:e})}catch(f){return"TypeError"==f.name?-28:-29}},I:()=>{a:{if(!gb.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(L(a)+1);a=J(a,b,0,b.length);b.length=a;gb=b}b=gb.shift()}return"number"===typeof b?b:-1},n:(a,b,c)=>{hb.length=0;for(var e;e=y[b++];){var f=105!=e;f&=112!=e;c+=f&&c%8?4:0;hb.push(112==e?B[c>>2]:105==e?z[c>>2]:ua[c>>3]);c+=f?8:4}return Ka[a](...hb)},f:a=>{console.error(a?
66
+ H(y,a):"")},e:a=>{console.log(a?H(y,a):"")},c:()=>Date.now(),d:a=>r(a?H(y,a):""),H:a=>ra(a?H(y,a):""),_:a=>{var b=y.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-n.buffer.byteLength+65535)/65536;try{n.grow(e);va();var f=1;break a}catch(h){}f=void 0}if(f)return!0}return!1},da:(a,b)=>{var c=0;kb().forEach((e,f)=>{var h=b+c;f=B[a+4*f>>2]=h;for(h=0;h<e.length;++h)x[f++]=e.charCodeAt(h);
67
+ x[f]=0;c+=e.length+1});return 0},m:(a,b)=>{var c=kb();B[a>>2]=c.length;var e=0;c.forEach(f=>e+=f.length+1);B[b>>2]=e;return 0},F:(a,b)=>{mb(y.subarray(a,a+b));return 0},a:n,ca:Wa,ea:function(a,b,c,e,f){return m.callbacks.callFunction({handleSleep:Ic},a,b,c,e,f)},W:function(a){return m.callbacks.shouldInterrupt(void 0,a)},N:function(a,b,c){const e={handleSleep:Ic};c=c?H(y,c):"";return m.callbacks.loadModuleSource(e,a,b,c)},G:function(a,b,c,e){const f={handleSleep:Ic};c=c?H(y,c):"";e=e?H(y,e):"";return m.callbacks.normalizeModule(f,
68
+ a,b,c,e)},fa:function(a,b){zc=a||b}},X=function(){function a(c){X=c.exports;X=wc();xa.unshift(X.ga);Da("wasm-instantiate");return X}var b={a:Qc};Ca("wasm-instantiate");if(m.instantiateWasm)try{return m.instantiateWasm(b,a)}catch(c){r(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Fa||=m.locateFile?Ea("emscripten-module.wasm")?"emscripten-module.wasm":m.locateFile?m.locateFile("emscripten-module.wasm",q):q+"emscripten-module.wasm":(new URL("emscripten-module.wasm",import.meta.url)).href;
69
+ Ja(b,function(c){a(c.instance)}).catch(fa);return{}}(),U=m._malloc=a=>(U=m._malloc=X.ha)(a);m._QTS_Throw=(a,b)=>(m._QTS_Throw=X.ia)(a,b);m._QTS_NewError=a=>(m._QTS_NewError=X.ja)(a);m._QTS_RuntimeSetMemoryLimit=(a,b)=>(m._QTS_RuntimeSetMemoryLimit=X.ka)(a,b);m._QTS_RuntimeComputeMemoryUsage=(a,b)=>(m._QTS_RuntimeComputeMemoryUsage=X.la)(a,b);m._QTS_RuntimeDumpMemoryUsage=a=>(m._QTS_RuntimeDumpMemoryUsage=X.ma)(a);m._QTS_RecoverableLeakCheck=()=>(m._QTS_RecoverableLeakCheck=X.na)();
70
+ m._QTS_BuildIsSanitizeLeak=()=>(m._QTS_BuildIsSanitizeLeak=X.oa)();m._QTS_RuntimeSetMaxStackSize=(a,b)=>(m._QTS_RuntimeSetMaxStackSize=X.pa)(a,b);m._QTS_GetUndefined=()=>(m._QTS_GetUndefined=X.qa)();m._QTS_GetNull=()=>(m._QTS_GetNull=X.ra)();m._QTS_GetFalse=()=>(m._QTS_GetFalse=X.sa)();m._QTS_GetTrue=()=>(m._QTS_GetTrue=X.ta)();m._QTS_NewRuntime=()=>(m._QTS_NewRuntime=X.ua)();m._QTS_FreeRuntime=a=>(m._QTS_FreeRuntime=X.va)(a);var V=m._free=a=>(V=m._free=X.wa)(a);
71
+ m._QTS_NewContext=(a,b)=>(m._QTS_NewContext=X.xa)(a,b);m._QTS_FreeContext=a=>(m._QTS_FreeContext=X.ya)(a);m._QTS_FreeValuePointer=(a,b)=>(m._QTS_FreeValuePointer=X.za)(a,b);m._QTS_FreeValuePointerRuntime=(a,b)=>(m._QTS_FreeValuePointerRuntime=X.Aa)(a,b);m._QTS_FreeVoidPointer=(a,b)=>(m._QTS_FreeVoidPointer=X.Ba)(a,b);m._QTS_FreeCString=(a,b)=>(m._QTS_FreeCString=X.Ca)(a,b);m._QTS_DupValuePointer=(a,b)=>(m._QTS_DupValuePointer=X.Da)(a,b);m._QTS_NewObject=a=>(m._QTS_NewObject=X.Ea)(a);
72
+ m._QTS_NewObjectProto=(a,b)=>(m._QTS_NewObjectProto=X.Fa)(a,b);m._QTS_NewArray=a=>(m._QTS_NewArray=X.Ga)(a);m._QTS_NewArrayBuffer=(a,b,c)=>(m._QTS_NewArrayBuffer=X.Ha)(a,b,c);m._QTS_NewFloat64=(a,b)=>(m._QTS_NewFloat64=X.Ia)(a,b);m._QTS_GetFloat64=(a,b)=>(m._QTS_GetFloat64=X.Ja)(a,b);m._QTS_NewString=(a,b)=>(m._QTS_NewString=X.Ka)(a,b);m._QTS_GetString=(a,b)=>(m._QTS_GetString=X.La)(a,b);m._QTS_GetArrayBuffer=(a,b)=>(m._QTS_GetArrayBuffer=X.Ma)(a,b);
73
+ m._QTS_GetArrayBufferLength=(a,b)=>(m._QTS_GetArrayBufferLength=X.Na)(a,b);m._QTS_NewSymbol=(a,b,c)=>(m._QTS_NewSymbol=X.Oa)(a,b,c);m._QTS_GetSymbolDescriptionOrKey=(a,b)=>(m._QTS_GetSymbolDescriptionOrKey=X.Pa)(a,b);m._QTS_IsGlobalSymbol=(a,b)=>(m._QTS_IsGlobalSymbol=X.Qa)(a,b);m._QTS_IsJobPending=a=>(m._QTS_IsJobPending=X.Ra)(a);m._QTS_ExecutePendingJob=(a,b,c)=>(m._QTS_ExecutePendingJob=X.Sa)(a,b,c);m._QTS_GetProp=(a,b,c)=>(m._QTS_GetProp=X.Ta)(a,b,c);
74
+ m._QTS_GetPropNumber=(a,b,c)=>(m._QTS_GetPropNumber=X.Ua)(a,b,c);m._QTS_SetProp=(a,b,c,e)=>(m._QTS_SetProp=X.Va)(a,b,c,e);m._QTS_DefineProp=(a,b,c,e,f,h,k,l,p)=>(m._QTS_DefineProp=X.Wa)(a,b,c,e,f,h,k,l,p);m._QTS_GetOwnPropertyNames=(a,b,c,e,f)=>(m._QTS_GetOwnPropertyNames=X.Xa)(a,b,c,e,f);m._QTS_Call=(a,b,c,e,f)=>(m._QTS_Call=X.Ya)(a,b,c,e,f);m._QTS_ResolveException=(a,b)=>(m._QTS_ResolveException=X.Za)(a,b);m._QTS_GetException=a=>(m._QTS_GetException=X._a)(a);
75
+ m._QTS_Dump=(a,b)=>(m._QTS_Dump=X.$a)(a,b);m._QTS_Eval=(a,b,c,e,f,h)=>(m._QTS_Eval=X.ab)(a,b,c,e,f,h);m._QTS_GetModuleNamespace=(a,b)=>(m._QTS_GetModuleNamespace=X.bb)(a,b);m._QTS_Typeof=(a,b)=>(m._QTS_Typeof=X.cb)(a,b);m._QTS_GetLength=(a,b,c)=>(m._QTS_GetLength=X.db)(a,b,c);m._QTS_IsEqual=(a,b,c,e)=>(m._QTS_IsEqual=X.eb)(a,b,c,e);m._QTS_GetGlobalObject=a=>(m._QTS_GetGlobalObject=X.fb)(a);m._QTS_NewPromiseCapability=(a,b)=>(m._QTS_NewPromiseCapability=X.gb)(a,b);
76
+ m._QTS_PromiseState=(a,b)=>(m._QTS_PromiseState=X.hb)(a,b);m._QTS_PromiseResult=(a,b)=>(m._QTS_PromiseResult=X.ib)(a,b);m._QTS_TestStringArg=a=>(m._QTS_TestStringArg=X.jb)(a);m._QTS_GetDebugLogEnabled=a=>(m._QTS_GetDebugLogEnabled=X.kb)(a);m._QTS_SetDebugLogEnabled=(a,b)=>(m._QTS_SetDebugLogEnabled=X.lb)(a,b);m._QTS_BuildIsDebug=()=>(m._QTS_BuildIsDebug=X.mb)();m._QTS_BuildIsAsyncify=()=>(m._QTS_BuildIsAsyncify=X.nb)();m._QTS_NewFunction=(a,b,c)=>(m._QTS_NewFunction=X.ob)(a,b,c);
77
+ m._QTS_ArgvGetJSValueConstPointer=(a,b)=>(m._QTS_ArgvGetJSValueConstPointer=X.pb)(a,b);m._QTS_RuntimeEnableInterruptHandler=a=>(m._QTS_RuntimeEnableInterruptHandler=X.qb)(a);m._QTS_RuntimeDisableInterruptHandler=a=>(m._QTS_RuntimeDisableInterruptHandler=X.rb)(a);m._QTS_RuntimeEnableModuleLoader=(a,b)=>(m._QTS_RuntimeEnableModuleLoader=X.sb)(a,b);m._QTS_RuntimeDisableModuleLoader=a=>(m._QTS_RuntimeDisableModuleLoader=X.tb)(a);m._QTS_bjson_encode=(a,b)=>(m._QTS_bjson_encode=X.ub)(a,b);
78
+ m._QTS_bjson_decode=(a,b)=>(m._QTS_bjson_decode=X.vb)(a,b);m._QTS_EvalFunction=(a,b)=>(m._QTS_EvalFunction=X.wb)(a,b);m._QTS_EncodeBytecode=(a,b)=>(m._QTS_EncodeBytecode=X.xb)(a,b);m._QTS_DecodeBytecode=(a,b)=>(m._QTS_DecodeBytecode=X.yb)(a,b);m._QTS_ResolveModule=(a,b)=>(m._QTS_ResolveModule=X.zb)(a,b);
79
+ var Oc=(a,b)=>(Oc=X.Bb)(a,b),ob=a=>(ob=X.Cb)(a),nb=a=>(nb=X.Db)(a),R=()=>(R=X.Eb)(),Qb=a=>(Qb=X.Fb)(a),tb=(a,b,c)=>(tb=X.Gb)(a,b,c),Db=(a,b)=>(Db=X.Hb)(a,b),Sb=a=>(Sb=X.Ib)(a),Tb=(a,b,c)=>(Tb=X.Jb)(a,b,c),$b=(a,b,c,e,f)=>($b=X.Kb)(a,b,c,e,f),qb=(a,b,c)=>(qb=X.Lb)(a,b,c),Fb=a=>(Fb=X.Mb)(a),Vb=a=>(Vb=X.Nb)(a),dc=(a,b)=>(dc=X.Ob)(a,b),ec=a=>(ec=X.Pb)(a),Zb=(a,b,c)=>(Zb=X.Qb)(a,b,c),Yb=(a,b,c,e,f)=>(Yb=X.Rb)(a,b,c,e,f),hc=(a,b)=>(hc=X.Sb)(a,b),jc=(a,b)=>(jc=X.Tb)(a,b),ic=(a,b)=>(ic=X.Ub)(a,b),tc=(a,b,
80
+ c,e)=>(tc=X.Vb)(a,b,c,e),sc=(a,b)=>(sc=X.Wb)(a,b),Xb=(a,b,c)=>(Xb=X.Xb)(a,b,c),Wb=(a,b,c,e,f)=>(Wb=X.Yb)(a,b,c,e,f),lc=(a,b,c)=>(lc=X.Zb)(a,b,c),mc=(a,b,c)=>(mc=X._b)(a,b,c),Ub=a=>(Ub=X.$b)(a),ac=(a,b,c,e,f,h)=>(ac=X.ac)(a,b,c,e,f,h),bc=(a,b,c)=>(bc=X.bc)(a,b,c),cc=(a,b)=>(cc=X.cc)(a,b),kc=(a,b,c)=>(kc=X.dc)(a,b,c),fc=(a,b)=>(fc=X.ec)(a,b),gc=(a,b)=>(gc=X.fc)(a,b),qc=(a,b)=>(qc=X.gc)(a,b),rc=a=>(rc=X.hc)(a),Kb=a=>(Kb=X.ic)(a),nc=a=>(nc=X.jc)(a),oc=a=>(oc=X.kc)(a),pc=a=>(pc=X.lc)(a),Rb=()=>(Rb=X.mc)(),
81
+ Nb=()=>(Nb=X.nc)(),Pc=(a,b,c)=>(Pc=X.oc)(a,b,c),Pb=(a,b,c)=>(Pb=X.pc)(a,b,c),Kc=a=>(Kc=X.qc)(a),yc=()=>(yc=X.rc)(),Jc=a=>(Jc=X.sc)(a),Lc=()=>(Lc=X.tc)();m.addRunDependency=Ca;m.removeRunDependency=Da;
90
82
  m.ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,
91
83
  EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,
92
84
  ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};
93
- m.cwrap=(a,b,c,e)=>{var f=!c||c.every(h=>"number"===h||"boolean"===h);return"string"!==b&&f&&!e?m["_"+a]:(...h)=>Bc(a,b,c,h)};m.PATH=Q;m.UTF8ToString=Wa;m.stringToUTF8=(a,b,c)=>K(a,w,b,c);m.lengthBytesUTF8=M;m.FS_createPreloadedFile=Ib;m.FS_unlink=Mb;m.FS_createPath=Cc;m.FS=V;m.FS_createDataFile=Cb;m.wasmfsOPFSGetOrCreateFile=kb;m.wasmfsOPFSGetOrCreateDir=lb;var Gc;B=function Hc(){Gc||Ic();Gc||(B=Hc)};
94
- function Ic(){function a(){if(!Gc&&(Gc=!0,m.calledRun=!0,!Ba)){Ta(Ga);ea(m);m.onRuntimeInitialized?.();if(m.postRun)for("function"==typeof m.postRun&&(m.postRun=[m.postRun]);m.postRun.length;){var b=m.postRun.shift();Ha.unshift(b)}Ta(Ha)}}if(!(0<A)){if(m.preRun)for("function"==typeof m.preRun&&(m.preRun=[m.preRun]);m.preRun.length;)Ia();Ta(Fa);0<A||(m.setStatus?(m.setStatus("Running..."),setTimeout(function(){setTimeout(function(){m.setStatus("")},1);a()},1)):a())}}
95
- if(m.preInit)for("function"==typeof m.preInit&&(m.preInit=[m.preInit]);0<m.preInit.length;)m.preInit.pop()();Ic();moduleRtn=ha;
85
+ m.cwrap=(a,b,c,e)=>{var f=!c||c.every(h=>"number"===h||"boolean"===h);return"string"!==b&&f&&!e?m["_"+a]:(...h)=>Mc(a,b,c,h,e)};m.PATH=P;m.UTF8ToString=Pa;m.stringToUTF8=(a,b,c)=>J(a,y,b,c);m.lengthBytesUTF8=L;m.FS_createPreloadedFile=Cb;m.FS_unlink=Gb;m.FS_createPath=Nc;m.FS=T;m.FS_createDataFile=wb;m.wasmfsOPFSGetOrCreateFile=db;m.wasmfsOPFSGetOrCreateDir=eb;var Rc;Ba=function Sc(){Rc||Tc();Rc||(Ba=Sc)};
86
+ function Tc(){function a(){if(!Rc&&(Rc=!0,m.calledRun=!0,!w)){Ma(xa);ea(m);m.onRuntimeInitialized?.();if(m.postRun)for("function"==typeof m.postRun&&(m.postRun=[m.postRun]);m.postRun.length;){var b=m.postRun.shift();ya.unshift(b)}Ma(ya)}}if(!(0<C)){if(m.preRun)for("function"==typeof m.preRun&&(m.preRun=[m.preRun]);m.preRun.length;)za();Ma(wa);0<C||(m.setStatus?(m.setStatus("Running..."),setTimeout(function(){setTimeout(function(){m.setStatus("")},1);a()},1)):a())}}
87
+ if(m.preInit)for("function"==typeof m.preInit&&(m.preInit=[m.preInit]);0<m.preInit.length;)m.preInit.pop()();Tc();moduleRtn=ha;
96
88
 
97
89
 
98
90
  return moduleRtn;
Binary file
package/dist/ffi.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { QuickJSEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConstPointer, JSRuntimePointer, OwnedHeapCharPointer, IntrinsicsFlags, JSVoidPointer, JSBorrowedCharPointer, BorrowedHeapCharPointer, JSContextPointerPointer, JSValuePointerPointerPointer, UInt32Pointer, JSValueConstPointerPointer, EvalDetectModule, EvalFlags, IsEqualOp, JSValuePointerPointer, JSPromiseStateEnum } from '@componentor/quickjs-ffi-types';
1
+ import { QuickJSAsyncEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConstPointer, JSRuntimePointer, OwnedHeapCharPointer, IntrinsicsFlags, JSVoidPointer, JSBorrowedCharPointer, BorrowedHeapCharPointer, JSContextPointerPointer, JSValuePointerPointerPointer, UInt32Pointer, JSValueConstPointerPointer, EvalDetectModule, EvalFlags, IsEqualOp, JSValuePointerPointer, JSPromiseStateEnum } from '@componentor/quickjs-ffi-types';
2
2
 
3
3
  /**
4
4
  * Low-level FFI bindings to QuickJS's Emscripten module.
@@ -7,9 +7,9 @@ import { QuickJSEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConst
7
7
  *
8
8
  * @unstable The FFI interface is considered private and may change.
9
9
  */
10
- declare class QuickJSFFI {
10
+ declare class QuickJSAsyncFFI {
11
11
  private module;
12
- constructor(module: QuickJSEmscriptenModule);
12
+ constructor(module: QuickJSAsyncEmscriptenModule);
13
13
  /** Set at compile time. */
14
14
  readonly DEBUG = false;
15
15
  QTS_Throw: (ctx: JSContextPointer, error: JSValuePointer | JSValueConstPointer) => JSValuePointer;
@@ -45,19 +45,28 @@ declare class QuickJSFFI {
45
45
  QTS_GetArrayBufferLength: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => number;
46
46
  QTS_NewSymbol: (ctx: JSContextPointer, description: BorrowedHeapCharPointer, isGlobal: number) => JSValuePointer;
47
47
  QTS_GetSymbolDescriptionOrKey: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
48
+ QTS_GetSymbolDescriptionOrKey_MaybeAsync: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
48
49
  QTS_IsGlobalSymbol: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number;
49
50
  QTS_IsJobPending: (rt: JSRuntimePointer) => number;
50
51
  QTS_ExecutePendingJob: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer;
52
+ QTS_ExecutePendingJob_MaybeAsync: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
51
53
  QTS_GetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer;
54
+ QTS_GetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
52
55
  QTS_GetPropNumber: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer;
56
+ QTS_GetPropNumber_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer | Promise<JSValuePointer>;
53
57
  QTS_SetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void;
58
+ QTS_SetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void | Promise<void>;
54
59
  QTS_DefineProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer, get: JSValuePointer | JSValueConstPointer, set: JSValuePointer | JSValueConstPointer, configurable: boolean, enumerable: boolean, has_value: boolean) => void;
55
60
  QTS_GetOwnPropertyNames: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer;
61
+ QTS_GetOwnPropertyNames_MaybeAsync: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer | Promise<JSValuePointer>;
56
62
  QTS_Call: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer;
63
+ QTS_Call_MaybeAsync: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
57
64
  QTS_ResolveException: (ctx: JSContextPointer, maybe_exception: JSValuePointer) => JSValuePointer;
58
65
  QTS_GetException: (ctx: JSContextPointer) => JSValuePointer;
59
66
  QTS_Dump: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
67
+ QTS_Dump_MaybeAsync: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
60
68
  QTS_Eval: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer;
69
+ QTS_Eval_MaybeAsync: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer | Promise<JSValuePointer>;
61
70
  QTS_GetModuleNamespace: (ctx: JSContextPointer, module_func_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
62
71
  QTS_Typeof: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => OwnedHeapCharPointer;
63
72
  QTS_GetLength: (ctx: JSContextPointer, out_len: UInt32Pointer, value: JSValuePointer | JSValueConstPointer) => number;
@@ -80,9 +89,10 @@ declare class QuickJSFFI {
80
89
  QTS_bjson_encode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
81
90
  QTS_bjson_decode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
82
91
  QTS_EvalFunction: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
92
+ QTS_EvalFunction_MaybeAsync: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
83
93
  QTS_EncodeBytecode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
84
94
  QTS_DecodeBytecode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
85
95
  QTS_ResolveModule: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => number;
86
96
  }
87
97
 
88
- export { QuickJSFFI };
98
+ export { QuickJSAsyncFFI };
package/dist/ffi.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { QuickJSEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConstPointer, JSRuntimePointer, OwnedHeapCharPointer, IntrinsicsFlags, JSVoidPointer, JSBorrowedCharPointer, BorrowedHeapCharPointer, JSContextPointerPointer, JSValuePointerPointerPointer, UInt32Pointer, JSValueConstPointerPointer, EvalDetectModule, EvalFlags, IsEqualOp, JSValuePointerPointer, JSPromiseStateEnum } from '@componentor/quickjs-ffi-types';
1
+ import { QuickJSAsyncEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConstPointer, JSRuntimePointer, OwnedHeapCharPointer, IntrinsicsFlags, JSVoidPointer, JSBorrowedCharPointer, BorrowedHeapCharPointer, JSContextPointerPointer, JSValuePointerPointerPointer, UInt32Pointer, JSValueConstPointerPointer, EvalDetectModule, EvalFlags, IsEqualOp, JSValuePointerPointer, JSPromiseStateEnum } from '@componentor/quickjs-ffi-types';
2
2
 
3
3
  /**
4
4
  * Low-level FFI bindings to QuickJS's Emscripten module.
@@ -7,9 +7,9 @@ import { QuickJSEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConst
7
7
  *
8
8
  * @unstable The FFI interface is considered private and may change.
9
9
  */
10
- declare class QuickJSFFI {
10
+ declare class QuickJSAsyncFFI {
11
11
  private module;
12
- constructor(module: QuickJSEmscriptenModule);
12
+ constructor(module: QuickJSAsyncEmscriptenModule);
13
13
  /** Set at compile time. */
14
14
  readonly DEBUG = false;
15
15
  QTS_Throw: (ctx: JSContextPointer, error: JSValuePointer | JSValueConstPointer) => JSValuePointer;
@@ -45,19 +45,28 @@ declare class QuickJSFFI {
45
45
  QTS_GetArrayBufferLength: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => number;
46
46
  QTS_NewSymbol: (ctx: JSContextPointer, description: BorrowedHeapCharPointer, isGlobal: number) => JSValuePointer;
47
47
  QTS_GetSymbolDescriptionOrKey: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
48
+ QTS_GetSymbolDescriptionOrKey_MaybeAsync: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
48
49
  QTS_IsGlobalSymbol: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number;
49
50
  QTS_IsJobPending: (rt: JSRuntimePointer) => number;
50
51
  QTS_ExecutePendingJob: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer;
52
+ QTS_ExecutePendingJob_MaybeAsync: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
51
53
  QTS_GetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer;
54
+ QTS_GetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
52
55
  QTS_GetPropNumber: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer;
56
+ QTS_GetPropNumber_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer | Promise<JSValuePointer>;
53
57
  QTS_SetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void;
58
+ QTS_SetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void | Promise<void>;
54
59
  QTS_DefineProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer, get: JSValuePointer | JSValueConstPointer, set: JSValuePointer | JSValueConstPointer, configurable: boolean, enumerable: boolean, has_value: boolean) => void;
55
60
  QTS_GetOwnPropertyNames: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer;
61
+ QTS_GetOwnPropertyNames_MaybeAsync: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer | Promise<JSValuePointer>;
56
62
  QTS_Call: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer;
63
+ QTS_Call_MaybeAsync: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
57
64
  QTS_ResolveException: (ctx: JSContextPointer, maybe_exception: JSValuePointer) => JSValuePointer;
58
65
  QTS_GetException: (ctx: JSContextPointer) => JSValuePointer;
59
66
  QTS_Dump: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
67
+ QTS_Dump_MaybeAsync: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
60
68
  QTS_Eval: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer;
69
+ QTS_Eval_MaybeAsync: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer | Promise<JSValuePointer>;
61
70
  QTS_GetModuleNamespace: (ctx: JSContextPointer, module_func_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
62
71
  QTS_Typeof: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => OwnedHeapCharPointer;
63
72
  QTS_GetLength: (ctx: JSContextPointer, out_len: UInt32Pointer, value: JSValuePointer | JSValueConstPointer) => number;
@@ -80,9 +89,10 @@ declare class QuickJSFFI {
80
89
  QTS_bjson_encode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
81
90
  QTS_bjson_decode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
82
91
  QTS_EvalFunction: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
92
+ QTS_EvalFunction_MaybeAsync: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
83
93
  QTS_EncodeBytecode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
84
94
  QTS_DecodeBytecode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
85
95
  QTS_ResolveModule: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => number;
86
96
  }
87
97
 
88
- export { QuickJSFFI };
98
+ export { QuickJSAsyncFFI };