diff --git a/package.json b/package.json index fd6c02e6..fa2de125 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "@tiptap/starter-kit": "2.1.6", "@tiptap/vue-3": "2.0.3", "@types/figlet": "^1.5.8", + "@types/emscripten": "^1.39.10", "@vicons/material": "^0.12.0", "@vicons/tabler": "^0.12.0", "@vueuse/core": "^10.3.0", diff --git a/public/qpdf.wasm b/public/qpdf.wasm new file mode 100644 index 00000000..c8faf321 Binary files /dev/null and b/public/qpdf.wasm differ diff --git a/src/libs/qpdf/qpdf.d.ts b/src/libs/qpdf/qpdf.d.ts new file mode 100644 index 00000000..b48b080d --- /dev/null +++ b/src/libs/qpdf/qpdf.d.ts @@ -0,0 +1,2 @@ +const createModule: EmscriptenModuleFactory; +export default createModule; diff --git a/src/libs/qpdf/qpdf.js b/src/libs/qpdf/qpdf.js new file mode 100644 index 00000000..aae52fce --- /dev/null +++ b/src/libs/qpdf/qpdf.js @@ -0,0 +1,127 @@ + +var Module = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(Module) { + Module = Module || {}; + + +var d;d||(d=typeof Module !== 'undefined' ? Module : {});var aa,ba;d.ready=new Promise(function(a,b){aa=a;ba=b});d.noInitialRun=!0;var ca=Object.assign({},d),da=[],ea="./this.program",fa=(a,b)=>{throw b;},ha="object"==typeof window,m="function"==typeof importScripts,ia="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,q="",ja,ka,la,fs,t,ma; +if(ia)q=m?require("path").dirname(q)+"/":__dirname+"/",ma=()=>{t||(fs=require("fs"),t=require("path"))},ja=function(a,b){ma();a=t.normalize(a);return fs.readFileSync(a,b?void 0:"utf8")},la=a=>{a=ja(a,!0);a.buffer||(a=new Uint8Array(a));return a},ka=(a,b,c)=>{ma();a=t.normalize(a);fs.readFile(a,function(e,f){e?c(e):b(f.buffer)})},1{if(noExitRuntime)throw process.exitCode=a,b;b instanceof na||v("exiting due to exception: "+b);process.exit(a)},d.inspect=function(){return"[Emscripten Module object]"};else if(ha||m)m?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptDir&&(q=_scriptDir),0!==q.indexOf("blob:")?q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1):q="",ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText}, +m&&(la=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),ka=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var oa=console.log.bind(console),v=console.warn.bind(console);Object.assign(d,ca);ca=null;var z=0,noExitRuntime=!0;"object"!=typeof WebAssembly&&A("no native wasm support detected"); +var pa,qa=!1,ra,sa="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0; +function B(a,b){for(var c=b+NaN,e=b;a[e]&&!(e>=c);)++e;if(16f?c+=String.fromCharCode(f):(f-=65536,c+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else c+=String.fromCharCode(f)}return c}function C(a){return a?B(ta,a):""} +function ua(a,b,c,e){if(!(0=k){var l=a.charCodeAt(++g);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} +function va(a){for(var b=0,c=0;c=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:b+4}return b}function wa(a){var b=va(a)+1,c=xa(b);c&&ua(a,D,c,b);return c}function ya(a){var b=va(a)+1,c=za(b);ua(a,D,c,b);return c}var Aa,D,ta,Ba,E,G,Ca; +function Da(){var a=pa.buffer;Aa=a;d.HEAP8=D=new Int8Array(a);d.HEAP16=Ba=new Int16Array(a);d.HEAP32=E=new Int32Array(a);d.HEAPU8=ta=new Uint8Array(a);d.HEAPU16=new Uint16Array(a);d.HEAPU32=G=new Uint32Array(a);d.HEAPF32=new Float32Array(a);d.HEAPF64=new Float64Array(a);d.HEAP64=Ca=new BigInt64Array(a);d.HEAPU64=new BigUint64Array(a)}var Ea,Fa=[],Ga=[],Ha=[],Ia=[],H=0,Ja=null,Ka=null;function La(){H--;if(0==H&&(null!==Ja&&(clearInterval(Ja),Ja=null),Ka)){var a=Ka;Ka=null;a()}} +function A(a){a="Aborted("+a+")";v(a);qa=!0;ra=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Ma(){return K.startsWith("data:application/octet-stream;base64,")}var K;K="qpdf.wasm";if(!Ma()){var Na=K;K=d.locateFile?d.locateFile(Na,q):q+Na}function Oa(){var a=K;try{if(la)return la(a);throw"both async and sync fetching of the wasm failed";}catch(b){A(b)}} +function Pa(){if(ha||m){if("function"==typeof fetch&&!K.startsWith("file://"))return fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Oa()});if(ka)return new Promise(function(a,b){ka(K,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return Oa()})} +function Qa(a){for(;0>2]=b};this.Ia=function(){return G[this.ta+4>>2]};this.Yc=function(b){G[this.ta+8>>2]=b};this.Gc=function(){return G[this.ta+8>>2]};this.cd=function(){E[this.ta>>2]=0};this.Nb=function(b){D[this.ta+12>>0]=b?1:0};this.Tc=function(){return 0!=D[this.ta+12>>0]};this.Ob=function(b){D[this.ta+13>>0]=b?1:0};this.fc=function(){return 0!=D[this.ta+13>>0]};this.Ma=function(b,c){this.Ya(0);this.ed(b);this.Yc(c);this.cd();this.Nb(!1);this.Ob(!1)}; +this.Oc=function(){E[this.ta>>2]+=1};this.Uc=function(){var b=E[this.ta>>2];E[this.ta>>2]=b-1;return 1===b};this.Ya=function(b){G[this.ta+16>>2]=b};this.Sc=function(){return G[this.ta+16>>2]};this.Wc=function(){if(Ta(this.Ia()))return G[this.eb>>2];var b=this.Sc();return 0!==b?b:this.eb}}function Ua(a){return Va((new N(a)).ta)} +var Wa=(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},O=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Wa(a.split("/").filter(e=>!!e),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Xa=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},P=a=>{if("/"=== +a)return"/";a=O(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function Ya(){var a=Array.prototype.slice.call(arguments,0);return O(a.join("/"))}var Q=(a,b)=>O(a+"/"+b);function Za(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(ia)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){A("randomDevice")}} +function R(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:S.cwd();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Wa(a.split("/").filter(e=>!!e),!b).join("/");return(b?"/":"")+a||"."} +var $a=(a,b)=>{function c(k){for(var l=0;lp?[]:k.slice(l,p-l+1)}a=R(a).substr(1);b=R(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var e=Math.min(a.length,b.length),f=e,g=0;g=b||(b= +Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.pa,a.pa=new Uint8Array(b),0=a.node.ua)return 0;a=Math.min(a.node.ua-f,e);if(8b)throw new S.na(28);return b},cb:function(a,b,c){T.$b(a.node,b+c);a.node.ua=Math.max(a.node.ua,b+c)},Wa:function(a,b,c,e,f,g){if(0!==b)throw new S.na(28);if(!S.isFile(a.node.mode))throw new S.na(43);a=a.node.pa;if(g&2||a.buffer!==Aa){if(0{U.lb=!!process.platform.match(/^win/);var a=process.binding("constants");a.fs&&(a=a.fs);U.ac={1024:a.O_APPEND,64:a.O_CREAT,128:a.O_EXCL,256:a.O_NOCTTY,0:a.O_RDONLY,2:a.O_RDWR,4096:a.O_SYNC,512:a.O_TRUNC,1:a.O_WRONLY,131072:a.O_NOFOLLOW}},xa:a=>hb[a.code],ra:a=>U.createNode(null,"/",U.Ta(a.$a.root),0),createNode:(a,b,c)=>{if(!S.va(c)&&!S.isFile(c)&&!S.Va(c))throw new S.na(28);a=S.createNode(a,b,c);a.oa=U.oa;a.qa=U.qa;return a},Ta:a=>{try{var b=fs.lstatSync(a);U.lb&&(b.mode= +b.mode|(b.mode&292)>>2)}catch(c){if(!c.code)throw c;throw new S.na(U.xa(c));}return b.mode},Ba:a=>{for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.ra.$a.root);b.reverse();return Ya.apply(null,b)},Ec:a=>{a&=-2721793;var b=0,c;for(c in U.ac)a&c&&(b|=U.ac[c],a^=c);if(a)throw new S.na(28);return b},oa:{za:a=>{a=U.Ba(a);try{var b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new S.na(U.xa(c));}U.lb&&!b.Ja&&(b.Ja=4096);U.lb&&!b.blocks&&(b.blocks=(b.size+b.Ja-1)/b.Ja|0);return{dev:b.dev, +ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size,atime:b.atime,mtime:b.mtime,ctime:b.ctime,Ja:b.Ja,blocks:b.blocks}},wa:(a,b)=>{var c=U.Ba(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(e){if(!e.code)throw e;throw new S.na(U.xa(e));}},lookup:(a,b)=>{var c=Q(U.Ba(a),b);c=U.Ta(c);return U.createNode(a,b,c)},Ca:(a,b,c,e)=>{a=U.createNode(a,b,c,e);b=U.Ba(a);try{S.va(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b, +"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new S.na(U.xa(f));}return a},rename:(a,b,c)=>{var e=U.Ba(a);b=Q(U.Ba(b),c);try{fs.renameSync(e,b)}catch(f){if(!f.code)throw f;throw new S.na(U.xa(f));}a.name=c},unlink:(a,b)=>{a=Q(U.Ba(a),b);try{fs.unlinkSync(a)}catch(c){if(!c.code)throw c;throw new S.na(U.xa(c));}},rmdir:(a,b)=>{a=Q(U.Ba(a),b);try{fs.rmdirSync(a)}catch(c){if(!c.code)throw c;throw new S.na(U.xa(c));}},readdir:a=>{a=U.Ba(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b; +throw new S.na(U.xa(b));}},symlink:(a,b,c)=>{a=Q(U.Ba(a),b);try{fs.symlinkSync(c,a)}catch(e){if(!e.code)throw e;throw new S.na(U.xa(e));}},readlink:a=>{var b=U.Ba(a);try{return b=fs.readlinkSync(b),b=t.relative(t.resolve(a.ra.$a.root),b)}catch(c){if(!c.code)throw c;if("UNKNOWN"===c.code)throw new S.na(28);throw new S.na(U.xa(c));}}},qa:{open:a=>{var b=U.Ba(a.node);try{S.isFile(a.node.mode)&&(a.ib=fs.openSync(b,U.Ec(a.flags)))}catch(c){if(!c.code)throw c;throw new S.na(U.xa(c));}},close:a=>{try{S.isFile(a.node.mode)&& +a.ib&&fs.closeSync(a.ib)}catch(b){if(!b.code)throw b;throw new S.na(U.xa(b));}},read:(a,b,c,e,f)=>{if(0===e)return 0;try{return fs.readSync(a.ib,Buffer.from(b.buffer),c,e,f)}catch(g){throw new S.na(U.xa(g));}},write:(a,b,c,e,f)=>{try{return fs.writeSync(a.ib,Buffer.from(b.buffer),c,e,f)}catch(g){throw new S.na(U.xa(g));}},Aa:(a,b,c)=>{if(1===c)b+=a.position;else if(2===c&&S.isFile(a.node.mode))try{b+=fs.fstatSync(a.ib).size}catch(e){throw new S.na(U.xa(e));}if(0>b)throw new S.na(28);return b},Wa:(a, +b,c,e)=>{if(0!==b)throw new S.na(28);if(!S.isFile(a.node.mode))throw new S.na(43);A();U.qa.read(a,D,void 0,c,e);return{ta:void 0,qc:!0}},Xa:(a,b,c,e,f)=>{if(!S.isFile(a.node.mode))throw new S.na(43);if(f&2)return 0;U.qa.write(a,b,0,e,c,!1);return 0}}},V={sb:16895,bb:33279,Kb:null,ra:function(a){function b(g){g=g.split("/");for(var k=e,l=0;l=a.node.size)return 0;a=a.node.pa.slice(f,f+e);e=V.Kb.readAsArrayBuffer(a);b.set(new Uint8Array(e),c);return a.size},write:function(){throw new S.na(29); +},Aa:function(a,b,c){1===c?b+=a.position:2===c&&S.isFile(a.node.mode)&&(b+=a.node.size);if(0>b)throw new S.na(28);return b}}},S={root:null,hb:[],Yb:{},streams:[],Mc:1,Ea:null,Xb:"/",Cb:!1,Bb:!0,na:null,yb:{},Cc:null,pb:0,sa:(a,b={})=>{a=R(S.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({xb:!0,Lb:0},b);if(8!!k),!1);for(var c=S.root,e="/",f=0;f{for(var b;;){if(S.kb(a))return a=a.ra.kc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ab:(a,b)=>{for(var c=0,e=0;e>>0)%S.Ea.length},ic:a=>{var b=S.Ab(a.parent.id,a.name);a.Pa=S.Ea[b];S.Ea[b]=a},jc:a=>{var b=S.Ab(a.parent.id,a.name);if(S.Ea[b]=== +a)S.Ea[b]=a.Pa;else for(b=S.Ea[b];b;){if(b.Pa===a){b.Pa=a.Pa;break}b=b.Pa}},Ha:(a,b)=>{var c=S.Jc(a);if(c)throw new S.na(c,a);for(c=S.Ea[S.Ab(a.id,b)];c;c=c.Pa){var e=c.name;if(c.parent.id===a.id&&e===b)return c}return S.lookup(a,b)},createNode:(a,b,c,e)=>{a=new S.mc(a,b,c,e);S.ic(a);return a},wb:a=>{S.jc(a)},kb:a=>a===a.parent,Na:a=>!!a.gb,isFile:a=>32768===(a&61440),va:a=>16384===(a&61440),Va:a=>40960===(a&61440),jb:a=>8192===(a&61440),Hc:a=>24576===(a&61440),isFIFO:a=>4096===(a&61440),isSocket:a=> +49152===(a&49152),Dc:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Lc:a=>{var b=S.Dc[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+a);return b},bc:a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},Qa:(a,b)=>{if(S.Bb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},Jc:a=>{var b=S.Qa(a,"x");return b?b:a.oa.lookup?0:2},Hb:(a,b)=>{try{return S.Ha(a,b),20}catch(c){}return S.Qa(a,"wx")}, +mb:(a,b,c)=>{try{var e=S.Ha(a,b)}catch(f){return f.ya}if(a=S.Qa(a,"wx"))return a;if(c){if(!S.va(e.mode))return 54;if(S.kb(e)||S.La(e)===S.cwd())return 10}else if(S.va(e.mode))return 31;return 0},Kc:(a,b)=>a?S.Va(a.mode)?32:S.va(a.mode)&&("r"!==S.bc(b)||b&512)?31:S.Qa(a,S.bc(b)):44,nc:4096,Nc:(a=0,b=S.nc)=>{for(;a<=b;a++)if(!S.streams[a])return a;throw new S.na(33);},Ua:a=>S.streams[a],Wb:(a,b,c)=>{S.tb||(S.tb=function(){this.ob={}},S.tb.prototype={object:{get:function(){return this.node},set:function(e){this.node= +e}},flags:{get:function(){return this.ob.flags},set:function(e){this.ob.flags=e}},position:{get md(){return this.ob.position},set:function(e){this.ob.position=e}}});a=Object.assign(new S.tb,a);b=S.Nc(b,c);a.fd=b;return S.streams[b]=a},uc:a=>{S.streams[a]=null},tc:{open:a=>{a.qa=S.Fc(a.node.rdev).qa;a.qa.open&&a.qa.open(a)},Aa:()=>{throw new S.na(70);}},Gb:a=>a>>8,qd:a=>a&255,Oa:(a,b)=>a<<8|b,Mb:(a,b)=>{S.Yb[a]={qa:b}},Fc:a=>S.Yb[a],dc:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a, +c.hb)}return b},lc:(a,b)=>{function c(k){S.pb--;return b(k)}function e(k){if(k){if(!e.Bc)return e.Bc=!0,c(k)}else++g>=f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);S.pb++;1{if(!k.type.lc)return e(null);k.type.lc(k,a,e)})},ra:(a,b,c)=>{var e="/"===c,f=!c;if(e&&S.root)throw new S.na(10);if(!e&&!f){var g=S.sa(c,{xb:!1});c=g.path;g=g.node;if(S.Na(g))throw new S.na(10); +if(!S.va(g.mode))throw new S.na(54);}b={type:a,$a:b,kc:c,hb:[]};a=a.ra(b);a.ra=b;b.root=a;e?S.root=a:g&&(g.gb=b,g.ra&&g.ra.hb.push(b));return a},wd:a=>{a=S.sa(a,{xb:!1});if(!S.Na(a.node))throw new S.na(28);a=a.node;var b=a.gb,c=S.dc(b);Object.keys(S.Ea).forEach(e=>{for(e=S.Ea[e];e;){var f=e.Pa;c.includes(e.ra)&&S.wb(e);e=f}});a.gb=null;a.ra.hb.splice(a.ra.hb.indexOf(b),1)},lookup:(a,b)=>a.oa.lookup(a,b),Ca:(a,b,c)=>{var e=S.sa(a,{parent:!0}).node;a=P(a);if(!a||"."===a||".."===a)throw new S.na(28); +var f=S.Hb(e,a);if(f)throw new S.na(f);if(!e.oa.Ca)throw new S.na(63);return e.oa.Ca(e,a,b,c)},create:(a,b)=>S.Ca(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>S.Ca(a,(void 0!==b?b:511)&1023|16384,0),rd:(a,b)=>{a=a.split("/");for(var c="",e=0;e{"undefined"==typeof c&&(c=b,b=438);return S.Ca(a,b|8192,c)},symlink:(a,b)=>{if(!R(a))throw new S.na(44);var c=S.sa(b,{parent:!0}).node;if(!c)throw new S.na(44); +b=P(b);var e=S.Hb(c,b);if(e)throw new S.na(e);if(!c.oa.symlink)throw new S.na(63);return c.oa.symlink(c,b,a)},rename:(a,b)=>{var c=Xa(a),e=Xa(b),f=P(a),g=P(b);var k=S.sa(a,{parent:!0});var l=k.node;k=S.sa(b,{parent:!0});k=k.node;if(!l||!k)throw new S.na(44);if(l.ra!==k.ra)throw new S.na(75);var p=S.Ha(l,f);a=$a(a,e);if("."!==a.charAt(0))throw new S.na(28);a=$a(b,c);if("."!==a.charAt(0))throw new S.na(55);try{var n=S.Ha(k,g)}catch(r){}if(p!==n){b=S.va(p.mode);if(f=S.mb(l,f,b))throw new S.na(f);if(f= +n?S.mb(k,g,b):S.Hb(k,g))throw new S.na(f);if(!l.oa.rename)throw new S.na(63);if(S.Na(p)||n&&S.Na(n))throw new S.na(10);if(k!==l&&(f=S.Qa(l,"w")))throw new S.na(f);S.jc(p);try{l.oa.rename(p,k,g)}catch(r){throw r;}finally{S.ic(p)}}},rmdir:a=>{var b=S.sa(a,{parent:!0}).node;a=P(a);var c=S.Ha(b,a),e=S.mb(b,a,!0);if(e)throw new S.na(e);if(!b.oa.rmdir)throw new S.na(63);if(S.Na(c))throw new S.na(10);b.oa.rmdir(b,a);S.wb(c)},readdir:a=>{a=S.sa(a,{Da:!0}).node;if(!a.oa.readdir)throw new S.na(54);return a.oa.readdir(a)}, +unlink:a=>{var b=S.sa(a,{parent:!0}).node;if(!b)throw new S.na(44);a=P(a);var c=S.Ha(b,a),e=S.mb(b,a,!1);if(e)throw new S.na(e);if(!b.oa.unlink)throw new S.na(63);if(S.Na(c))throw new S.na(10);b.oa.unlink(b,a);S.wb(c)},readlink:a=>{a=S.sa(a).node;if(!a)throw new S.na(44);if(!a.oa.readlink)throw new S.na(28);return R(S.La(a.parent),a.oa.readlink(a))},stat:(a,b)=>{a=S.sa(a,{Da:!b}).node;if(!a)throw new S.na(44);if(!a.oa.za)throw new S.na(63);return a.oa.za(a)},lstat:a=>S.stat(a,!0),chmod:(a,b,c)=>{a= +"string"==typeof a?S.sa(a,{Da:!c}).node:a;if(!a.oa.wa)throw new S.na(63);a.oa.wa(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},lchmod:(a,b)=>{S.chmod(a,b,!0)},fchmod:(a,b)=>{a=S.Ua(a);if(!a)throw new S.na(8);S.chmod(a.node,b)},chown:(a,b,c,e)=>{a="string"==typeof a?S.sa(a,{Da:!e}).node:a;if(!a.oa.wa)throw new S.na(63);a.oa.wa(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{S.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=S.Ua(a);if(!a)throw new S.na(8);S.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new S.na(28); +a="string"==typeof a?S.sa(a,{Da:!0}).node:a;if(!a.oa.wa)throw new S.na(63);if(S.va(a.mode))throw new S.na(31);if(!S.isFile(a.mode))throw new S.na(28);var c=S.Qa(a,"w");if(c)throw new S.na(c);a.oa.wa(a,{size:b,timestamp:Date.now()})},kd:(a,b)=>{a=S.Ua(a);if(!a)throw new S.na(8);if(0===(a.flags&2097155))throw new S.na(28);S.truncate(a.node,b)},xd:(a,b,c)=>{a=S.sa(a,{Da:!0}).node;a.oa.wa(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new S.na(44);b="string"==typeof b?S.Lc(b):b;c=b&64?("undefined"== +typeof c?438:c)&4095|32768:0;if("object"==typeof a)var e=a;else{a=O(a);try{e=S.sa(a,{Da:!(b&131072)}).node}catch(g){}}var f=!1;if(b&64)if(e){if(b&128)throw new S.na(20);}else e=S.Ca(a,c,0),f=!0;if(!e)throw new S.na(44);S.jb(e.mode)&&(b&=-513);if(b&65536&&!S.va(e.mode))throw new S.na(54);if(!f&&(c=S.Kc(e,b)))throw new S.na(c);b&512&&!f&&S.truncate(e,0);b&=-131713;e=S.Wb({node:e,path:S.La(e),flags:b,seekable:!0,position:0,qa:e.qa,dd:[],error:!1});e.qa.open&&e.qa.open(e);!d.logReadFiles||b&1||(S.Jb|| +(S.Jb={}),a in S.Jb||(S.Jb[a]=1));return e},close:a=>{if(S.fb(a))throw new S.na(8);a.zb&&(a.zb=null);try{a.qa.close&&a.qa.close(a)}catch(b){throw b;}finally{S.uc(a.fd)}a.fd=null},fb:a=>null===a.fd,Aa:(a,b,c)=>{if(S.fb(a))throw new S.na(8);if(!a.seekable||!a.qa.Aa)throw new S.na(70);if(0!=c&&1!=c&&2!=c)throw new S.na(28);a.position=a.qa.Aa(a,b,c);a.dd=[];return a.position},read:(a,b,c,e,f)=>{if(0>e||0>f)throw new S.na(28);if(S.fb(a))throw new S.na(8);if(1===(a.flags&2097155))throw new S.na(8);if(S.va(a.node.mode))throw new S.na(31); +if(!a.qa.read)throw new S.na(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new S.na(70);b=a.qa.read(a,b,c,e,f);g||(a.position+=b);return b},write:(a,b,c,e,f,g)=>{if(0>e||0>f)throw new S.na(28);if(S.fb(a))throw new S.na(8);if(0===(a.flags&2097155))throw new S.na(8);if(S.va(a.node.mode))throw new S.na(31);if(!a.qa.write)throw new S.na(28);a.seekable&&a.flags&1024&&S.Aa(a,0,2);var k="undefined"!=typeof f;if(!k)f=a.position;else if(!a.seekable)throw new S.na(70);b=a.qa.write(a, +b,c,e,f,g);k||(a.position+=b);return b},cb:(a,b,c)=>{if(S.fb(a))throw new S.na(8);if(0>b||0>=c)throw new S.na(28);if(0===(a.flags&2097155))throw new S.na(8);if(!S.isFile(a.node.mode)&&!S.va(a.node.mode))throw new S.na(43);if(!a.qa.cb)throw new S.na(138);a.qa.cb(a,b,c)},Wa:(a,b,c,e,f,g)=>{if(0!==(f&2)&&0===(g&2)&&2!==(a.flags&2097155))throw new S.na(2);if(1===(a.flags&2097155))throw new S.na(2);if(!a.qa.Wa)throw new S.na(43);return a.qa.Wa(a,b,c,e,f,g)},Xa:(a,b,c,e,f)=>a&&a.qa.Xa?a.qa.Xa(a,b,c,e,f): +0,sd:()=>0,Db:(a,b,c)=>{if(!a.qa.Db)throw new S.na(59);return a.qa.Db(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c,e=S.open(a,b.flags);a=S.stat(a).size;var f=new Uint8Array(a);S.read(e,f,0,a,0);"utf8"===b.encoding?c=B(f,0):"binary"===b.encoding&&(c=f);S.close(e);return c},writeFile:(a,b,c={})=>{c.flags=c.flags||577;a=S.open(a,c.flags,c.mode);if("string"==typeof b){var e= +new Uint8Array(va(b)+1);b=ua(b,e,0,e.length);S.write(a,e,0,b,void 0,c.sc)}else if(ArrayBuffer.isView(b))S.write(a,b,0,b.byteLength,void 0,c.sc);else throw Error("Unsupported data type");S.close(a)},cwd:()=>S.Xb,chdir:a=>{a=S.sa(a,{Da:!0});if(null===a.node)throw new S.na(44);if(!S.va(a.node.mode))throw new S.na(54);var b=S.Qa(a.node,"x");if(b)throw new S.na(b);S.Xb=a.path},wc:()=>{S.mkdir("/tmp");S.mkdir("/home");S.mkdir("/home/web_user")},vc:()=>{S.mkdir("/dev");S.Mb(S.Oa(1,3),{read:()=>0,write:(b, +c,e,f)=>f});S.nb("/dev/null",S.Oa(1,3));bb(S.Oa(5,0),eb);bb(S.Oa(6,0),fb);S.nb("/dev/tty",S.Oa(5,0));S.nb("/dev/tty1",S.Oa(6,0));var a=Za();S.Ka("/dev","random",a);S.Ka("/dev","urandom",a);S.mkdir("/dev/shm");S.mkdir("/dev/shm/tmp")},zc:()=>{S.mkdir("/proc");var a=S.mkdir("/proc/self");S.mkdir("/proc/self/fd");S.ra({ra:()=>{var b=S.createNode(a,"fd",16895,73);b.oa={lookup:(c,e)=>{var f=S.Ua(+e);if(!f)throw new S.na(8);c={parent:null,ra:{kc:"fake"},oa:{readlink:()=>f.path}};return c.parent=c}};return b}}, +{},"/proc/self/fd")},Ac:()=>{d.stdin?S.Ka("/dev","stdin",d.stdin):S.symlink("/dev/tty","/dev/stdin");d.stdout?S.Ka("/dev","stdout",null,d.stdout):S.symlink("/dev/tty","/dev/stdout");d.stderr?S.Ka("/dev","stderr",null,d.stderr):S.symlink("/dev/tty1","/dev/stderr");S.open("/dev/stdin",0);S.open("/dev/stdout",1);S.open("/dev/stderr",1)},Zb:()=>{S.na||(S.na=function(a,b){this.node=b;this.Xc=function(c){this.ya=c};this.Xc(a);this.message="FS error"},S.na.prototype=Error(),S.na.prototype.constructor=S.na, +[44].forEach(a=>{S.yb[a]=new S.na(a);S.yb[a].stack=""}))},Pb:()=>{S.Zb();S.Ea=Array(4096);S.ra(T,{},"/");S.wc();S.vc();S.zc();S.Cc={MEMFS:T,NODEFS:U,WORKERFS:V}},Ma:(a,b,c)=>{S.Ma.Cb=!0;S.Zb();d.stdin=a||d.stdin;d.stdout=b||d.stdout;d.stderr=c||d.stderr;S.Ac()},td:()=>{S.Ma.Cb=!1;for(var a=0;a{var c=0;a&&(c|=365);b&&(c|=146);return c},jd:(a,b)=>{a=S.ub(a,b);return a.exists?a.object:null},ub:(a,b)=>{try{var c= +S.sa(a,{Da:!b});a=c.path}catch(f){}var e={kb:!1,exists:!1,error:0,name:null,path:null,object:null,Pc:!1,Rc:null,Qc:null};try{c=S.sa(a,{parent:!0}),e.Pc=!0,e.Rc=c.path,e.Qc=c.node,e.name=P(a),c=S.sa(a,{Da:!b}),e.exists=!0,e.path=c.path,e.object=c.node,e.name=c.node.name,e.kb="/"===c.path}catch(f){e.error=f.ya}return e},gd:(a,b)=>{a="string"==typeof a?a:S.La(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var e=O(a+"/"+c);try{S.mkdir(e)}catch(f){}a=e}}return e},xc:(a,b,c,e,f)=>{a=Q("string"== +typeof a?a:S.La(a),b);e=S.Ta(e,f);return S.create(a,e)},Vb:(a,b,c,e,f,g)=>{var k=b;a&&(a="string"==typeof a?a:S.La(a),k=b?O(a+"/"+b):a);a=S.Ta(e,f);k=S.create(k,a);if(c){if("string"==typeof c){b=Array(c.length);e=0;for(f=c.length;e{a=Q("string"==typeof a?a:S.La(a),b);b=S.Ta(!!c,!!e);S.Ka.Gb||(S.Ka.Gb=64);var f=S.Oa(S.Ka.Gb++,0);S.Mb(f,{open:g=>{g.seekable=!1}, +close:()=>{e&&e.buffer&&e.buffer.length&&e(10)},read:(g,k,l,p)=>{for(var n=0,r=0;r{for(var n=0;n{if(a.Eb||a.Ic||a.link||a.pa)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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."); +if(ja)try{a.pa=db(ja(a.url),!0),a.ua=a.pa.length}catch(b){throw new S.na(29);}else throw Error("Cannot load without read() or XMLHttpRequest.");},yc:(a,b,c,e,f)=>{function g(){this.Fb=!1;this.Ia=[]}g.prototype.get=function(n){if(!(n>this.length-1||0>n)){var r=n%this.chunkSize;return this.hc(n/this.chunkSize|0)[r]}};g.prototype.Ya=function(n){this.hc=n};g.prototype.Tb=function(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+ +c+". Status: "+n.status);var r=Number(n.getResponseHeader("Content-length")),w,y=(w=n.getResponseHeader("Accept-Ranges"))&&"bytes"===w;n=(w=n.getResponseHeader("Content-Encoding"))&&"gzip"===w;var h=1048576;y||(h=r);var u=this;u.Ya(x=>{var F=x*h,I=(x+1)*h-1;I=Math.min(I,r-1);if("undefined"==typeof u.Ia[x]){var Ab=u.Ia;if(F>I)throw Error("invalid range ("+F+", "+I+") or no bytes requested!");if(I>r-1)throw Error("only "+r+" bytes available! programmer error!");var J=new XMLHttpRequest;J.open("GET", +c,!1);r!==h&&J.setRequestHeader("Range","bytes="+F+"-"+I);J.responseType="arraybuffer";J.overrideMimeType&&J.overrideMimeType("text/plain; charset=x-user-defined");J.send(null);if(!(200<=J.status&&300>J.status||304===J.status))throw Error("Couldn't load "+c+". Status: "+J.status);F=void 0!==J.response?new Uint8Array(J.response||[]):db(J.responseText||"",!0);Ab[x]=F}if("undefined"==typeof u.Ia[x])throw Error("doXHR failed!");return u.Ia[x]});if(n||!r)h=r=1,h=r=this.hc(0).length,oa("LazyFiles on gzip forces download of the whole file when length is accessed"); +this.pc=r;this.oc=h;this.Fb=!0};if("undefined"!=typeof XMLHttpRequest){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var k=new g;Object.defineProperties(k,{length:{get:function(){this.Fb||this.Tb();return this.pc}},chunkSize:{get:function(){this.Fb||this.Tb();return this.oc}}});k={Eb:!1,pa:k}}else k={Eb:!1,url:c};var l=S.xc(a,b,k,e,f);k.pa?l.pa=k.pa:k.url&&(l.pa=null,l.url=k.url);Object.defineProperties(l,{ua:{get:function(){return this.pa.length}}}); +var p={};Object.keys(l.qa).forEach(n=>{var r=l.qa[n];p[n]=function(){S.cc(l);return r.apply(null,arguments)}});p.read=(n,r,w,y,h)=>{S.cc(l);n=n.node.pa;if(h>=n.length)return 0;y=Math.min(n.length-h,y);if(n.slice)for(var u=0;u{function r(y){function h(u){n&&n();l||S.Vb(a,b,u,e,f,p);g&&g();La()}ib.od(y,w,h,()=>{k&&k();La()})||h(y)}var w=b?R(O(a+"/"+b)):a;H++;"string"==typeof c?gb(c,y=>r(y), +k):r(c)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,Rb:()=>"EM_FS_"+window.location.pathname,Sb:20,ab:"FILE_DATA",ud:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var e=S.indexedDB();try{var f=e.open(S.Rb(),S.Sb)}catch(g){return c(g)}f.onupgradeneeded=()=>{oa("creating db");f.result.createObjectStore(S.ab)};f.onsuccess=()=>{var g=f.result.transaction([S.ab],"readwrite"),k=g.objectStore(S.ab),l=0,p=0,n=a.length;a.forEach(r=>{r=k.put(S.ub(r).object.pa,r); +r.onsuccess=()=>{l++;l+p==n&&(0==p?b():c())};r.onerror=()=>{p++;l+p==n&&(0==p?b():c())}});g.onerror=c};f.onerror=c},pd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var e=S.indexedDB();try{var f=e.open(S.Rb(),S.Sb)}catch(g){return c(g)}f.onupgradeneeded=c;f.onsuccess=()=>{var g=f.result;try{var k=g.transaction([S.ab],"readonly")}catch(w){c(w);return}var l=k.objectStore(S.ab),p=0,n=0,r=a.length;a.forEach(w=>{var y=l.get(w);y.onsuccess=()=>{S.ub(w).exists&&S.unlink(w);S.Vb(Xa(w),P(w),y.result,!0,!0,!0);p++; +p+n==r&&(0==n?b():c())};y.onerror=()=>{n++;p+n==r&&(0==n?b():c())}});k.onerror=c};f.onerror=c}};function jb(a,b){if("/"===b.charAt(0))return b;if(-100===a)a=S.cwd();else{a=S.Ua(a);if(!a)throw new S.na(8);a=a.path}if(0==b.length)throw new S.na(44);return O(a+"/"+b)}var kb=void 0;function W(){kb+=4;return E[kb-4>>2]}function lb(a){a=S.Ua(a);if(!a)throw new S.na(8);return a} +function mb(a,b,c){function e(p){return(p=p.toTimeString().match(/\(([A-Za-z ]+)\)$/))?p[1]:"GMT"}var f=(new Date).getFullYear(),g=new Date(f,0,1),k=new Date(f,6,1);f=g.getTimezoneOffset();var l=k.getTimezoneOffset();E[a>>2]=60*Math.max(f,l);E[b>>2]=Number(f!=l);a=e(g);b=e(k);a=wa(a);b=wa(b);l>2]=a,E[c+4>>2]=b):(E[c>>2]=b,E[c+4>>2]=a)}function nb(a,b,c){nb.rc||(nb.rc=!0,mb(a,b,c))}var ob={}; +function pb(){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",_:ea||"./this.program"},b;for(b in ob)void 0===ob[b]?delete a[b]:a[b]=ob[b];var c=[];for(b in a)c.push(b+"="+a[b]);qb=c}return qb}var qb;function rb(a){return 0===a%4&&(0!==a%100||0===a%400)}var sb=[31,29,31,30,31,30,31,31,30,31,30,31],tb=[31,28,31,30,31,30,31,31,30,31,30,31]; +function ub(a,b,c,e){function f(h,u,x){for(h="number"==typeof h?h.toString():h||"";h.lengthI?-1:0F-h.getDate())u-=F-h.getDate()+1,h.setDate(1),11>x?h.setMonth(x+1):(h.setMonth(0),h.setFullYear(h.getFullYear()+1));else{h.setDate(h.getDate()+u);break}}x=new Date(h.getFullYear()+1,0,4);u=l(new Date(h.getFullYear(), +0,4));x=l(x);return 0>=k(u,h)?0>=k(x,h)?h.getFullYear()+1:h.getFullYear():h.getFullYear()-1}var n=E[e+40>>2];e={ad:E[e>>2],$c:E[e+4>>2],qb:E[e+8>>2],Qb:E[e+12>>2],rb:E[e+16>>2],Sa:E[e+20>>2],Ga:E[e+24>>2],Ra:E[e+28>>2],vd:E[e+32>>2],Zc:E[e+36>>2],bd:n?C(n):""};c=C(c);n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d", +"%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var r in n)c=c.replace(new RegExp(r,"g"),n[r]);var w="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),y="January February March April May June July August September October November December".split(" ");n={"%a":function(h){return w[h.Ga].substring(0,3)},"%A":function(h){return w[h.Ga]},"%b":function(h){return y[h.rb].substring(0,3)},"%B":function(h){return y[h.rb]}, +"%C":function(h){return g((h.Sa+1900)/100|0,2)},"%d":function(h){return g(h.Qb,2)},"%e":function(h){return f(h.Qb,2," ")},"%g":function(h){return p(h).toString().substring(2)},"%G":function(h){return p(h)},"%H":function(h){return g(h.qb,2)},"%I":function(h){h=h.qb;0==h?h=12:12h.qb?"AM":"PM"},"%S":function(h){return g(h.ad,2)},"%t":function(){return"\t"},"%u":function(h){return h.Ga||7},"%U":function(h){return g(Math.floor((h.Ra+7-h.Ga)/7),2)},"%V":function(h){var u=Math.floor((h.Ra+7-(h.Ga+6)%7)/7);2>=(h.Ga+371-h.Ra-2)%7&&u++;if(u)53==u&&(x=(h.Ga+371-h.Ra)%7,4==x||3==x&&rb(h.Sa)||(u=1));else{u=52;var x=(h.Ga+7-h.Ra-1)%7;(4==x||5==x&&rb(h.Sa%400-1))&&u++}return g(u,2)},"%w":function(h){return h.Ga},"%W":function(h){return g(Math.floor((h.Ra+7-(h.Ga+6)%7)/7),2)}, +"%y":function(h){return(h.Sa+1900).toString().substring(2)},"%Y":function(h){return h.Sa+1900},"%z":function(h){h=h.Zc;var u=0<=h;h=Math.abs(h)/60;return(u?"+":"-")+String("0000"+(h/60*100+h%60)).slice(-4)},"%Z":function(h){return h.bd},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(r in n)c.includes(r)&&(c=c.replace(new RegExp(r,"g"),n[r](e)));c=c.replace(/\0\0/g,"%");r=db(c,!1);if(r.length>b)return 0;D.set(r,a);return r.length-1} +function vb(a,b,c,e){a||(a=this);this.parent=a;this.ra=a.ra;this.gb=null;this.id=S.Mc++;this.name=b;this.mode=c;this.oa={};this.qa={};this.rdev=e}Object.defineProperties(vb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Ic:{get:function(){return S.va(this.mode)}},Eb:{get:function(){return S.jb(this.mode)}}});S.mc=vb;S.Pb();var ib; +ia&&(ma(),U.Pb()); +hb={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,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,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};function db(a,b){var c=Array(va(a)+1);a=ua(a,c,0,c.length);b&&(c.length=a);return c} +var Tb={n:function(a,b,c,e){A("Assertion failed: "+C(a)+", at: "+[b?C(b):"unknown filename",c,e?C(e):"unknown function"])},a:function(a){return xa(a+24)+24},o:function(a){a=new N(a);a.Tc()||(a.Nb(!0),Sa--);a.Ob(!1);Ra.push(a);a.Oc();return a.Wc()},q:function(){X(0);var a=Ra.pop();if(a.Uc()&&!a.fc()){var b=a.Gc();b&&L(b)(a.eb);Ua(a.eb)}M=0},d:function(){var a=M;if(!a)return z=0;var b=new N(a);b.Ya(a);var c=b.Ia();if(!c)return z=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;ff?-28:S.Wb(e,f).fd;case 1:case 2:return 0;case 3:return e.flags;case 4:return f=W(),e.flags|=f,0;case 5:return f=W(),Ba[f+0>>1]=2,0;case 6:case 7:return 0; +case 16:case 8:return-28;case 9:return E[xb()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof S||!(g instanceof S.na))throw g;return-g.ya}},_:function(a,b,c){kb=c;try{var e=lb(a);switch(b){case 21509:case 21505:return e.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return e.tty?0:-59;case 21519:if(!e.tty)return-59;var f=W();return E[f>>2]=0;case 21520:return e.tty?-28:-59;case 21531:return f=W(),S.Db(e,b,f);case 21523:return e.tty?0:-59;case 21524:return e.tty? +0:-59;default:A("bad ioctl syscall "+b)}}catch(g){if("undefined"==typeof S||!(g instanceof S.na))throw g;return-g.ya}},$:function(a,b,c,e){kb=e;try{b=C(b);b=jb(a,b);var f=e?W():0;return S.open(b,c,f).fd}catch(g){if("undefined"==typeof S||!(g instanceof S.na))throw g;return-g.ya}},U:function(a,b,c,e){try{return b=C(b),e=C(e),b=jb(a,b),e=jb(c,e),S.rename(b,e),0}catch(f){if("undefined"==typeof S||!(f instanceof S.na))throw f;return-f.ya}},T:function(a,b){try{a=C(a);a:{var c=S.stat;try{var e=c(a)}catch(g){if(g&& +g.node&&O(a)!==O(S.La(g.node))){var f=-54;break a}throw g;}E[b>>2]=e.dev;E[b+4>>2]=0;E[b+8>>2]=e.ino;E[b+12>>2]=e.mode;E[b+16>>2]=e.nlink;E[b+20>>2]=e.uid;E[b+24>>2]=e.gid;E[b+28>>2]=e.rdev;E[b+32>>2]=0;Ca[b+40>>3]=BigInt(e.size);E[b+48>>2]=4096;E[b+52>>2]=e.blocks;E[b+56>>2]=e.atime.getTime()/1E3|0;E[b+60>>2]=0;E[b+64>>2]=e.mtime.getTime()/1E3|0;E[b+68>>2]=0;E[b+72>>2]=e.ctime.getTime()/1E3|0;E[b+76>>2]=0;Ca[b+80>>3]=BigInt(e.ino);f=0}return f}catch(g){if("undefined"==typeof S||!(g instanceof S.na))throw g; +return-g.ya}},S:function(a,b,c){try{return b=C(b),b=jb(a,b),0===c?S.unlink(b):512===c?S.rmdir(b):A("Invalid flags passed to unlinkat"),0}catch(e){if("undefined"==typeof S||!(e instanceof S.na))throw e;return-e.ya}},G:function(){return Date.now()},P:function(){throw Infinity;},H:function(a,b){a=new Date(1E3*E[a>>2]);E[b>>2]=a.getSeconds();E[b+4>>2]=a.getMinutes();E[b+8>>2]=a.getHours();E[b+12>>2]=a.getDate();E[b+16>>2]=a.getMonth();E[b+20>>2]=a.getFullYear()-1900;E[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(), +0,1);E[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;E[b+36>>2]=-(60*a.getTimezoneOffset());var e=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();E[b+32>>2]=(e!=c&&a.getTimezoneOffset()==Math.min(c,e))|0},I:nb,z:function(){A("")},A:function(a){var b=ta.length;a>>>=0;if(2147483648=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);f=f.min.call(f,2147483648,e+(65536-e%65536)%65536);a:{try{pa.grow(f-Aa.byteLength+65535>>>16); +Da();var g=1;break a}catch(k){}g=void 0}if(g)return!0}return!1},W:function(a,b){var c=0;pb().forEach(function(e,f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=e.charCodeAt(g);D[f>>0]=0;c+=e.length+1});return 0},X:function(a,b){var c=pb();E[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});E[b>>2]=e;return 0},v:function(a){ra=a;yb(a)},E:function(a){try{var b=lb(a);S.close(b);return 0}catch(c){if("undefined"==typeof S||!(c instanceof S.na))throw c;return c.ya}},Z:function(a, +b,c,e){try{a:{var f=lb(a);a=b;for(var g=b=0;g>2],l=G[a+4>>2];a+=8;var p=S.read(f,D,k,l,void 0);if(0>p){var n=-1;break a}b+=p;if(p>2]=n;return 0}catch(r){if("undefined"==typeof S||!(r instanceof S.na))throw r;return r.ya}},V:function(a,b,c,e){try{var f=Number(b&BigInt(4294967295))|0,g=Number(b>>BigInt(32))|0,k=lb(a);a=4294967296*g+(f>>>0);if(-9007199254740992>=a||9007199254740992<=a)return 61;S.Aa(k,a,c);Ca[e>>3]=BigInt(k.position);k.zb&&0===a&&0===c&&(k.zb=null); +return 0}catch(l){if("undefined"==typeof S||!(l instanceof S.na))throw l;return l.ya}},Y:function(a,b,c,e){try{a:{var f=lb(a);a=b;for(var g=b=0;g>2],l=G[a+4>>2];a+=8;var p=S.write(f,D,k,l,void 0);if(0>p){var n=-1;break a}b+=p}n=b}E[e>>2]=n;return 0}catch(r){if("undefined"==typeof S||!(r instanceof S.na))throw r;return r.ya}},c:function(){return z},J:zb,e:Bb,f:Cb,p:Db,L:Eb,N:Fb,s:Gb,B:Hb,x:Ib,M:Jb,K:Kb,k:Lb,i:Mb,h:Nb,r:Ob,m:Pb,t:Qb,u:Rb,w:Sb,C:function(a){return a},l:function(a){z= +a},Q:function(a,b,c,e){return ub(a,b,c,e)}}; +(function(){function a(f){d.asm=f.exports;pa=d.asm.aa;Da();Ea=d.asm.ga;Ga.unshift(d.asm.ba);La()}function b(f){a(f.instance)}function c(f){return Pa().then(function(g){return WebAssembly.instantiate(g,e)}).then(function(g){return g}).then(f,function(g){v("failed to asynchronously prepare wasm: "+g);A(g)})}var e={a:Tb};H++;if(d.instantiateWasm)try{return d.instantiateWasm(e,a)}catch(f){return v("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return"function"!=typeof WebAssembly.instantiateStreaming|| +Ma()||K.startsWith("file://")||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(g){v("wasm streaming compile failed: "+g);v("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})();d.___wasm_call_ctors=function(){return(d.___wasm_call_ctors=d.asm.ba).apply(null,arguments)}; +var xb=d.___errno_location=function(){return(xb=d.___errno_location=d.asm.ca).apply(null,arguments)},xa=d._malloc=function(){return(xa=d._malloc=d.asm.da).apply(null,arguments)};d._main=function(){return(d._main=d.asm.ea).apply(null,arguments)}; +var Va=d._free=function(){return(Va=d._free=d.asm.fa).apply(null,arguments)},X=d._setThrew=function(){return(X=d._setThrew=d.asm.ha).apply(null,arguments)},Y=d.stackSave=function(){return(Y=d.stackSave=d.asm.ia).apply(null,arguments)},Z=d.stackRestore=function(){return(Z=d.stackRestore=d.asm.ja).apply(null,arguments)},za=d.stackAlloc=function(){return(za=d.stackAlloc=d.asm.ka).apply(null,arguments)},wb=d.___cxa_can_catch=function(){return(wb=d.___cxa_can_catch=d.asm.la).apply(null,arguments)},Ta= +d.___cxa_is_pointer_type=function(){return(Ta=d.___cxa_is_pointer_type=d.asm.ma).apply(null,arguments)};function Mb(a,b){var c=Y();try{L(a)(b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}function Bb(a,b){var c=Y();try{return L(a)(b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}function Cb(a,b,c){var e=Y();try{return L(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function Ob(a,b,c,e){var f=Y();try{L(a)(b,c,e)}catch(g){Z(f);if(g!==g+0)throw g;X(1,0)}} +function Nb(a,b,c){var e=Y();try{L(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function Lb(a){var b=Y();try{L(a)()}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function Gb(a,b,c,e,f,g,k){var l=Y();try{return L(a)(b,c,e,f,g,k)}catch(p){Z(l);if(p!==p+0)throw p;X(1,0)}}function Db(a,b,c,e){var f=Y();try{return L(a)(b,c,e)}catch(g){Z(f);if(g!==g+0)throw g;X(1,0)}}function Fb(a,b,c,e,f,g){var k=Y();try{return L(a)(b,c,e,f,g)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}} +function Jb(a,b,c,e,f,g){var k=Y();try{return L(a)(b,c,e,f,g)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}function Eb(a,b,c,e,f,g){var k=Y();try{return L(a)(b,c,e,f,g)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}function Kb(a,b,c,e){var f=Y();try{return L(a)(b,c,e)}catch(g){Z(f);if(g!==g+0)throw g;X(1,0)}}function Hb(a,b,c,e,f,g,k,l){var p=Y();try{return L(a)(b,c,e,f,g,k,l)}catch(n){Z(p);if(n!==n+0)throw n;X(1,0)}} +function Pb(a,b,c,e,f){var g=Y();try{L(a)(b,c,e,f)}catch(k){Z(g);if(k!==k+0)throw k;X(1,0)}}function Qb(a,b,c,e,f,g,k,l){var p=Y();try{L(a)(b,c,e,f,g,k,l)}catch(n){Z(p);if(n!==n+0)throw n;X(1,0)}}function Ib(a,b,c,e,f,g,k,l,p,n,r,w){var y=Y();try{return L(a)(b,c,e,f,g,k,l,p,n,r,w)}catch(h){Z(y);if(h!==h+0)throw h;X(1,0)}}function Rb(a,b,c,e,f,g,k,l,p,n,r){var w=Y();try{L(a)(b,c,e,f,g,k,l,p,n,r)}catch(y){Z(w);if(y!==y+0)throw y;X(1,0)}} +function Sb(a,b,c,e,f,g,k,l,p,n,r,w,y,h,u,x){var F=Y();try{L(a)(b,c,e,f,g,k,l,p,n,r,w,y,h,u,x)}catch(I){Z(F);if(I!==I+0)throw I;X(1,0)}}function zb(a){var b=Y();try{return L(a)()}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}d.callMain=Ub;d.ENV=ob;d.FS=S;d.NODEFS=U;d.WORKERFS=V;var Vb;function na(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ka=function Wb(){Vb||Xb();Vb||(Ka=Wb)}; +function Ub(a){var b=d._main;a=a||[];var c=a.length+1,e=za(4*(c+1));E[e>>2]=ya(ea);for(var f=1;f>2)+f]=ya(a[f-1]);E[(e>>2)+c]=0;try{var g=b(c,e);ra=g;yb(g);return g}catch(l){if(l instanceof na||"unwind"==l)var k=ra;else fa(1,l),k=void 0;return k}finally{}} +function Xb(a){a=a||da;if(!(0