UNPKG

@mizarjp/yaneuraou.material

Version:
118 lines (115 loc) 51.3 kB
var YaneuraOu_Material = (() => { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; return ( function(YaneuraOu_Material) { YaneuraOu_Material = YaneuraOu_Material || {}; function d(){g.buffer!=r&&u(g.buffer);return aa}function x(){g.buffer!=r&&u(g.buffer);return ba}function z(){g.buffer!=r&&u(g.buffer);return ca}function A(){g.buffer!=r&&u(g.buffer);return da}function ea(){g.buffer!=r&&u(g.buffer);return fa}"use strict";var B;B||(B=typeof YaneuraOu_Material !== 'undefined' ? YaneuraOu_Material : {});var ha,ia;B.ready=new Promise(function(a,b){ha=a;ia=b}); (function(){function a(){var h=e.shift();if(!b&&void 0!==h){if("quit"===h)return B.terminate();var l=B.ccall("usi_command","number",["string"],[h]);l&&e.unshift(h);f=l?2*f:1;setTimeout(a,f)}}var b=!1,c=[];B.print=function(h){0===c.length?console.log(h):setTimeout(function(){for(var l=0;l<c.length;l++)c[l](h)})};B.addMessageListener=function(h){c.push(h)};B.removeMessageListener=function(h){h=c.indexOf(h);0<=h&&c.splice(h,1)};B.terminate=function(){b=!0;C.lb()};var e=[],f=1;B.postMessage=function(h){e.push(h)}; B.postRun=function(){B.postMessage=function(h){e.push(h);1===e.length&&a()};a()}})();var ja=Object.assign({},B),ka=[],la="./this.program",ma=(a,b)=>{throw b;},na="object"==typeof window,F="function"==typeof importScripts,G="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,H=B.ENVIRONMENT_IS_PTHREAD||!1,I="";function oa(a){return B.locateFile?B.locateFile(a,I):I+a}var pa,qa,ra,fs,sa,ta; if(G){I=F?require("path").dirname(I)+"/":__dirname+"/";ta=()=>{sa||(fs=require("fs"),sa=require("path"))};pa=function(b,c){ta();b=sa.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};ra=b=>{b=pa(b,!0);b.buffer||(b=new Uint8Array(b));return b};qa=(b,c,e)=>{ta();b=sa.normalize(b);fs.readFile(b,function(f,h){f?e(f):c(h.buffer)})};1<process.argv.length&&(la=process.argv[1].replace(/\\/g,"/"));ka=process.argv.slice(2);process.on("uncaughtException",function(b){if(!(b instanceof ua))throw b;});process.on("unhandledRejection", function(b){throw b;});ma=(b,c)=>{if(noExitRuntime)throw process.exitCode=b,c;c instanceof ua||J("exiting due to exception: "+c);process.exit(b)};B.inspect=function(){return"[Emscripten Module object]"};let a;try{a=require("worker_threads")}catch(b){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),b;}global.Worker=a.Worker}else if(na||F)F?I=self.location.href:"undefined"!=typeof document&&document.currentScript&&(I=document.currentScript.src), _scriptDir&&(I=_scriptDir),0!==I.indexOf("blob:")?I=I.substr(0,I.replace(/[?#].*/,"").lastIndexOf("/")+1):I="",G||(pa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},F&&(ra=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),qa=(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)});G&&"undefined"==typeof performance&&(global.performance=require("perf_hooks").performance);var va=console.log.bind(console),wa=console.warn.bind(console);G&&(ta(),va=a=>fs.writeSync(1,a+"\n"),wa=a=>fs.writeSync(2,a+"\n"));var xa=B.print||va,J=B.printErr||wa;Object.assign(B,ja);ja=null;B.arguments&&(ka=B.arguments);B.thisProgram&&(la=B.thisProgram);B.quit&&(ma=B.quit);var ya,za;B.wasmBinary&&(za=B.wasmBinary);var noExitRuntime=B.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected"); var g,Aa,Ba=!1,Ca="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0; function L(a,b){b>>>=0;for(var c=b+NaN,e=b;a[e]&&!(e>=c);)++e;if(16<e-b&&a.buffer&&Ca)return Ca.decode(a.buffer instanceof SharedArrayBuffer?a.slice(b,e):a.subarray(b,e));for(c="";b<e;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))c+=String.fromCharCode((f&31)<<6|h);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|l:(f&7)<<18|h<<12|l<<6|a[b++]&63;65536>f?c+=String.fromCharCode(f):(f-=65536,c+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else c+=String.fromCharCode(f)}return c} function Da(a){return(a>>>=0)?L(x(),a):""} function Ea(a,b,c,e){c>>>=0;if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var l=a.charCodeAt(h);if(55296<=l&&57343>=l){var n=a.charCodeAt(++h);l=65536+((l&1023)<<10)|n&1023}if(127>=l){if(c>=e)break;b[c++>>>0]=l}else{if(2047>=l){if(c+1>=e)break;b[c++>>>0]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++>>>0]=224|l>>12}else{if(c+3>=e)break;b[c++>>>0]=240|l>>18;b[c++>>>0]=128|l>>12&63}b[c++>>>0]=128|l>>6&63}b[c++>>>0]=128|l&63}}b[c>>>0]=0;return c-f} function Fa(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=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}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");function Ga(a,b){d().set(a,b>>>0)}var r,aa,ba,Ha,ca,da,fa;H&&(r=B.buffer); function u(a){r=a;B.HEAP8=aa=new Int8Array(a);B.HEAP16=Ha=new Int16Array(a);B.HEAP32=ca=new Int32Array(a);B.HEAPU8=ba=new Uint8Array(a);B.HEAPU16=new Uint16Array(a);B.HEAPU32=da=new Uint32Array(a);B.HEAPF32=new Float32Array(a);B.HEAPF64=fa=new Float64Array(a)}var Ia=B.INITIAL_MEMORY||92274688; if(H)g=B.wasmMemory,r=B.buffer;else if(B.wasmMemory)g=B.wasmMemory;else if(g=new WebAssembly.Memory({initial:Ia/65536,maximum:65536,shared:!0}),!(g.buffer instanceof SharedArrayBuffer))throw J("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),G&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"), Error("bad memory");g&&(r=g.buffer);Ia=r.byteLength;u(r);var Ja,Ka=[],La=[],Ma=[],Na=[];function Oa(){H||(B.noFSInit||M.V.Ca||M.V(),M.fb=!1,Pa(La))}function Qa(){var a=B.preRun.shift();Ka.unshift(a)}var N=0,Ra=null,Sa=null;function Ta(){N++;B.monitorRunDependencies&&B.monitorRunDependencies(N)}function Ua(){N--;B.monitorRunDependencies&&B.monitorRunDependencies(N);if(0==N&&(null!==Ra&&(clearInterval(Ra),Ra=null),Sa)){var a=Sa;Sa=null;a()}} function K(a){if(H)postMessage({cmd:"onAbort",arg:a});else if(B.onAbort)B.onAbort(a);a="Aborted("+a+")";J(a);Ba=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ia(a);throw a;}function Va(){return O.startsWith("data:application/octet-stream;base64,")}var O;O="yaneuraou.material.wasm";Va()||(O=oa(O));function Wa(){var a=O;try{if(a==O&&za)return new Uint8Array(za);if(ra)return ra(a);throw"both async and sync fetching of the wasm failed";}catch(b){K(b)}} function Xa(){return za||!na&&!F||"function"!=typeof fetch?Promise.resolve().then(function(){return Wa()}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return Wa()})}var P,Ya,Za={};function $a(a){(a=C.G[a])||K();C.ib(a.worker)} function ab(a){var b=C.Hb();if(!b)return 6;C.ia.push(b);var c=C.G[a.Ia]={worker:b,mb:a.Ia};b.ga=c;var e={cmd:"run",start_routine:a.Zb,arg:a.$,threadInfoStruct:a.Ia};b.ha=()=>{e.time=performance.now();b.postMessage(e,a.ec)};b.loaded&&(b.ha(),delete b.ha);return 0}function bb(a){a instanceof ua||"unwind"==a||ma(1,a)} var C={I:[],ia:[],qa:[],V:function(){H?C.Kb():C.Jb()},Jb:function(){for(var a=0;32>a;++a)C.Qa()},Kb:function(){C.receiveObjectTransfer=C.Wb;C.threadInitTLS=C.nb;C.setExitStatus=C.jb;noExitRuntime=!1},G:{},jb:function(){},lb:function(){for(var a in C.G){var b=C.G[a];b&&b.worker&&C.ib(b.worker)}for(a=0;a<C.I.length;++a)C.I[a].terminate();C.I=[]},ib:function(a){var b=a.ga.mb;delete C.G[b];C.I.push(a);C.ia.splice(C.ia.indexOf(a),1);a.ga=void 0;cb(b)},Wb:function(){},nb:function(){for(var a in C.qa)if(C.qa.hasOwnProperty(a))C.qa[a]()}, gb:function(a,b){a.onmessage=c=>{c=c.data;var e=c.cmd;a.ga&&(C.Cb=a.ga.mb);if(c.targetThread&&c.targetThread!=db()){var f=C.G[c.yc];f?f.worker.postMessage(c,c.transferList):J('Internal error! Worker sent a message "'+e+'" to target pthread '+c.targetThread+", but that thread no longer exists!")}else if("processProxyingQueue"===e)eb(c.queue);else if("spawnThread"===e)ab(c);else if("cleanupThread"===e)$a(c.thread);else if("killThread"===e)c=c.thread,e=C.G[c],delete C.G[c],e.worker.terminate(),cb(c), C.ia.splice(C.ia.indexOf(e.worker),1),e.worker.ga=void 0;else if("cancelThread"===e)C.G[c.thread].worker.postMessage({cmd:"cancel"});else if("loaded"===e)a.loaded=!0,b&&b(a),a.ha&&(a.ha(),delete a.ha);else if("print"===e)xa("Thread "+c.threadId+": "+c.text);else if("printErr"===e)J("Thread "+c.threadId+": "+c.text);else if("alert"===e)alert("Thread "+c.threadId+": "+c.text);else if("setimmediate"===c.target)a.postMessage(c);else if("onAbort"===e){if(B.onAbort)B.onAbort(c.arg)}else e&&J("worker sent an unknown command "+ e);C.Cb=void 0};a.onerror=c=>{J("worker sent an error! "+c.filename+":"+c.lineno+": "+c.message);throw c;};G&&(a.on("message",function(c){a.onmessage({data:c})}),a.on("error",function(c){a.onerror(c)}),a.on("detachedExit",function(){}));a.postMessage({cmd:"load",urlOrBlob:B.mainScriptUrlOrBlob||_scriptDir,wasmMemory:g,wasmModule:Aa})},Qa:function(){var a=oa("yaneuraou.material.worker.js");C.I.push(new Worker(a))},Hb:function(){0==C.I.length&&(C.Qa(),C.gb(C.I[0]));return C.I.pop()}};B.PThread=C; function Pa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(B);else{var c=b.nc;"number"==typeof c?void 0===b.$?fb(c)():fb(c)(b.$):c(void 0===b.$?null:b.$)}}}function gb(a){var b=hb();a=a();ib(b);return a}B.establishStackSpace=function(){var a=db(),b=z()[a+44>>2>>>0];a=z()[a+48>>2>>>0];jb(b,b-a);ib(b)};function kb(a){if(H)return R(1,0,a);try{lb(a)}catch(b){bb(b)}}var mb=[];function fb(a){var b=mb[a];b||(a>=mb.length&&(mb.length=a+1),mb[a]=b=Ja.get(a));return b} B.invokeEntryPoint=function(a,b){a=fb(a)(b);noExitRuntime?C.jb(a):nb(a)};function ob(a,b,c,e){return H?R(2,1,a,b,c,e):pb(a,b,c,e)}function pb(a,b,c,e){if("undefined"==typeof SharedArrayBuffer)return J("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var f=[];if(H&&0===f.length)return ob(a,b,c,e);a={Zb:c,Ia:a,$:e,ec:f};return H?(a.hc="spawnThread",postMessage(a,f),0):ab(a)} var qb=(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},S=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=qb(a.split("/").filter(e=>!!e),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},rb=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},T=a=>{if("/"=== a)return"/";a=S(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},sb=(a,b)=>S(a+"/"+b);function tb(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(G)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){K("randomDevice")}} function U(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:M.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=qb(a.split("/").filter(e=>!!e),!b).join("/");return(b?"/":"")+a||"."} var ub=(a,b)=>{function c(l){for(var n=0;n<l.length&&""===l[n];n++);for(var q=l.length-1;0<=q&&""===l[q];q--);return n>q?[]:l.slice(n,q-n+1)}a=U(a).substr(1);b=U(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var e=Math.min(a.length,b.length),f=e,h=0;h<e;h++)if(a[h]!==b[h]){f=h;break}e=[];for(h=f;h<a.length;h++)e.push("..");e=e.concat(b.slice(f));return e.join("/")},vb=[];function wb(a,b){vb[a]={input:[],output:[],X:b};M.Ma(a,xb)} var xb={open:function(a){var b=vb[a.node.rdev];if(!b)throw new M.g(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.X.flush(a.tty)},flush:function(a){a.tty.X.flush(a.tty)},read:function(a,b,c,e){if(!a.tty||!a.tty.X.ab)throw new M.g(60);for(var f=0,h=0;h<e;h++){try{var l=a.tty.X.ab(a.tty)}catch(n){throw new M.g(29);}if(void 0===l&&0===f)throw new M.g(6);if(null===l||void 0===l)break;f++;b[c+h]=l}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,e){if(!a.tty||!a.tty.X.Ja)throw new M.g(60); try{for(var f=0;f<e;f++)a.tty.X.Ja(a.tty,b[c+f])}catch(h){throw new M.g(29);}e&&(a.node.timestamp=Date.now());return f}},zb={ab:function(a){if(!a.input.length){var b=null;if(G){var c=Buffer.alloc(256),e=0;try{e=fs.readSync(process.stdin.fd,c,0,256,-1)}catch(f){if(f.toString().includes("EOF"))e=0;else throw f;}0<e?b=c.slice(0,e).toString("utf-8"):b=null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b= readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=yb(b,!0)}return a.input.shift()},Ja:function(a,b){null===b||10===b?(xa(L(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(xa(L(a.output,0)),a.output=[])}},Ab={Ja:function(a,b){null===b||10===b?(J(L(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(J(L(a.output,0)),a.output=[])}}; function Bb(a){a=65536*Math.ceil(a/65536);var b=Cb(65536,a);if(!b)return 0;x().fill(0,b,b+a);return b} var V={F:null,o:function(){return V.createNode(null,"/",16895,0)},createNode:function(a,b,c,e){if(M.Lb(c)||M.isFIFO(c))throw new M.g(63);V.F||(V.F={dir:{node:{B:V.h.B,u:V.h.u,lookup:V.h.lookup,K:V.h.K,rename:V.h.rename,unlink:V.h.unlink,rmdir:V.h.rmdir,readdir:V.h.readdir,symlink:V.h.symlink},stream:{C:V.j.C}},file:{node:{B:V.h.B,u:V.h.u},stream:{C:V.j.C,read:V.j.read,write:V.j.write,Z:V.j.Z,W:V.j.W,fa:V.j.fa}},link:{node:{B:V.h.B,u:V.h.u,readlink:V.h.readlink},stream:{}},Sa:{node:{B:V.h.B,u:V.h.u}, stream:M.vb}});c=M.createNode(a,b,c,e);M.s(c.mode)?(c.h=V.F.dir.node,c.j=V.F.dir.stream,c.i={}):M.isFile(c.mode)?(c.h=V.F.file.node,c.j=V.F.file.stream,c.m=0,c.i=null):M.ba(c.mode)?(c.h=V.F.link.node,c.j=V.F.link.stream):M.ka(c.mode)&&(c.h=V.F.Sa.node,c.j=V.F.Sa.stream);c.timestamp=Date.now();a&&(a.i[b]=c,a.timestamp=c.timestamp);return c},pc:function(a){return a.i?a.i.subarray?a.i.subarray(0,a.m):new Uint8Array(a.i):new Uint8Array(0)},Ya:function(a,b){b>>>=0;var c=a.i?a.i.length:0;c>=b||(b=Math.max(b, c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.i,a.i=new Uint8Array(b),0<a.m&&a.i.set(c.subarray(0,a.m),0))},Xb:function(a,b){b>>>=0;if(a.m!=b)if(0==b)a.i=null,a.m=0;else{var c=a.i;a.i=new Uint8Array(b);c&&a.i.set(c.subarray(0,Math.min(b,a.m)));a.m=b}},h:{B:function(a){var b={};b.dev=M.ka(a.mode)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;M.s(a.mode)?b.size=4096:M.isFile(a.mode)?b.size=a.m:M.ba(a.mode)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp); b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.tb=4096;b.blocks=Math.ceil(b.size/b.tb);return b},u:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&V.Xb(a,b.size)},lookup:function(){throw M.ya[44];},K:function(a,b,c,e){return V.createNode(a,b,c,e)},rename:function(a,b,c){if(M.s(a.mode)){try{var e=M.J(b,c)}catch(h){}if(e)for(var f in e.i)throw new M.g(55);}delete a.parent.i[a.name];a.parent.timestamp=Date.now();a.name=c; b.i[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},unlink:function(a,b){delete a.i[b];a.timestamp=Date.now()},rmdir:function(a,b){var c=M.J(a,b),e;for(e in c.i)throw new M.g(55);delete a.i[b];a.timestamp=Date.now()},readdir:function(a){var b=[".",".."],c;for(c in a.i)a.i.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,b,c){a=V.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(!M.ba(a.mode))throw new M.g(28);return a.link}},j:{read:function(a,b,c,e,f){var h=a.node.i;if(f>= a.node.m)return 0;a=Math.min(a.node.m-f,e);if(8<a&&h.subarray)b.set(h.subarray(f,f+a),c);else for(e=0;e<a;e++)b[c+e]=h[f+e];return a},write:function(a,b,c,e,f,h){b.buffer===d().buffer&&(h=!1);if(!e)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.i||a.i.subarray)){if(h)return a.i=b.subarray(c,c+e),a.m=e;if(0===a.m&&0===f)return a.i=b.slice(c,c+e),a.m=e;if(f+e<=a.m)return a.i.set(b.subarray(c,c+e),f),e}V.Ya(a,f+e);if(a.i.subarray&&b.subarray)a.i.set(b.subarray(c,c+e),f);else for(h=0;h<e;h++)a.i[f+ h]=b[c+h];a.m=Math.max(a.m,f+e);return e},C:function(a,b,c){1===c?b+=a.position:2===c&&M.isFile(a.node.mode)&&(b+=a.node.m);if(0>b)throw new M.g(28);return b},Z:function(a,b,c){V.Ya(a.node,b+c);a.node.m=Math.max(a.node.m,b+c)},W:function(a,b,c,e,f){if(!M.isFile(a.node.mode))throw new M.g(43);a=a.node.i;if(f&2||a.buffer!==r){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);c=!0;b=Bb(b);if(!b)throw new M.g(48);b>>>=0;d().set(a,b>>>0)}else c=!1,b=a.byteOffset; return{Vb:b,sb:c}},fa:function(a,b,c,e,f){if(!M.isFile(a.node.mode))throw new M.g(43);if(f&2)return 0;V.j.write(a,b,0,e,c,!1);return 0}}};function Db(a,b,c){var e="al "+a;qa(a,function(f){f||K('Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(f));e&&Ua()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});e&&Ta()} var M={root:null,ea:[],Wa:{},streams:[],Qb:1,D:null,Va:"/",Ca:!1,fb:!0,g:null,ya:{},Eb:null,pa:0,l:(a,b={})=>{a=U(M.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({wa:!0,La:0},b);if(8<b.La)throw new M.g(32);a=qb(a.split("/").filter(l=>!!l),!1);for(var c=M.root,e="/",f=0;f<a.length;f++){var h=f===a.length-1;if(h&&b.parent)break;c=M.J(c,a[f]);e=S(e+"/"+a[f]);M.N(c)&&(!h||h&&b.wa)&&(c=c.da.root);if(!h||b.A)for(h=0;M.ba(c.mode);)if(c=M.readlink(e),e=U(rb(e),c),c=M.l(e,{La:b.La+1}).node,40<h++)throw new M.g(32); }return{path:e,node:c}},M:a=>{for(var b;;){if(M.la(a))return a=a.o.hb,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ba:(a,b)=>{for(var c=0,e=0;e<b.length;e++)c=(c<<5)-c+b.charCodeAt(e)|0;return(a+c>>>0)%M.D.length},cb:a=>{var b=M.Ba(a.parent.id,a.name);a.P=M.D[b];M.D[b]=a},eb:a=>{var b=M.Ba(a.parent.id,a.name);if(M.D[b]===a)M.D[b]=a.P;else for(b=M.D[b];b;){if(b.P===a){b.P=a.P;break}b=b.P}},J:(a,b)=>{var c=M.Nb(a);if(c)throw new M.g(c,a);for(c=M.D[M.Ba(a.id,b)];c;c=c.P){var e= c.name;if(c.parent.id===a.id&&e===b)return c}return M.lookup(a,b)},createNode:(a,b,c,e)=>{a=new M.ob(a,b,c,e);M.cb(a);return a},va:a=>{M.eb(a)},la:a=>a===a.parent,N:a=>!!a.da,isFile:a=>32768===(a&61440),s:a=>16384===(a&61440),ba:a=>40960===(a&61440),ka:a=>8192===(a&61440),Lb:a=>24576===(a&61440),isFIFO:a=>4096===(a&61440),isSocket:a=>49152===(a&49152),Fb:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Pb:a=>{var b=M.Fb[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+a);return b},Za:a=> {var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},R:(a,b)=>{if(M.fb)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},Nb:a=>{var b=M.R(a,"x");return b?b:a.h.lookup?0:2},Ha:(a,b)=>{try{return M.J(a,b),20}catch(c){}return M.R(a,"wx")},ma:(a,b,c)=>{try{var e=M.J(a,b)}catch(f){return f.v}if(a=M.R(a,"wx"))return a;if(c){if(!M.s(e.mode))return 54;if(M.la(e)||M.M(e)===M.cwd())return 10}else if(M.s(e.mode))return 31; return 0},Ob:(a,b)=>a?M.ba(a.mode)?32:M.s(a.mode)&&("r"!==M.Za(b)||b&512)?31:M.R(a,M.Za(b)):44,pb:4096,Rb:(a=0,b=M.pb)=>{for(;a<=b;a++)if(!M.streams[a])return a;throw new M.g(33);},U:a=>M.streams[a],Ua:(a,b,c)=>{M.ta||(M.ta=function(){this.oa={}},M.ta.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},flags:{get:function(){return this.oa.flags},set:function(e){this.oa.flags=e}},position:{get oc(){return this.oa.position},set:function(e){this.oa.position=e}}});a=Object.assign(new M.ta, a);b=M.Rb(b,c);a.fd=b;return M.streams[b]=a},wb:a=>{M.streams[a]=null},vb:{open:a=>{a.j=M.Gb(a.node.rdev).j;a.j.open&&a.j.open(a)},C:()=>{throw new M.g(70);}},Ga:a=>a>>8,sc:a=>a&255,O:(a,b)=>a<<8|b,Ma:(a,b)=>{M.Wa[a]={j:b}},Gb:a=>M.Wa[a],$a:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.ea)}return b},kb:(a,b)=>{function c(l){M.pa--;return b(l)}function e(l){if(l){if(!e.Db)return e.Db=!0,c(l)}else++h>=f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);M.pa++;1<M.pa&&J("warning: "+ M.pa+" FS.syncfs operations in flight at once, probably just doing extra work");var f=M.$a(M.root.o),h=0;f.forEach(l=>{if(!l.type.kb)return e(null);l.type.kb(l,a,e)})},o:(a,b,c)=>{var e="/"===c,f=!c;if(e&&M.root)throw new M.g(10);if(!e&&!f){var h=M.l(c,{wa:!1});c=h.path;h=h.node;if(M.N(h))throw new M.g(10);if(!M.s(h.mode))throw new M.g(54);}b={type:a,vc:b,hb:c,ea:[]};a=a.o(b);a.o=b;b.root=a;e?M.root=a:h&&(h.da=b,h.o&&h.o.ea.push(b));return a},Ac:a=>{a=M.l(a,{wa:!1});if(!M.N(a.node))throw new M.g(28); a=a.node;var b=a.da,c=M.$a(b);Object.keys(M.D).forEach(e=>{for(e=M.D[e];e;){var f=e.P;c.includes(e.o)&&M.va(e);e=f}});a.da=null;a.o.ea.splice(a.o.ea.indexOf(b),1)},lookup:(a,b)=>a.h.lookup(a,b),K:(a,b,c)=>{var e=M.l(a,{parent:!0}).node;a=T(a);if(!a||"."===a||".."===a)throw new M.g(28);var f=M.Ha(e,a);if(f)throw new M.g(f);if(!e.h.K)throw new M.g(63);return e.h.K(e,a,b,c)},create:(a,b)=>M.K(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>M.K(a,(void 0!==b?b:511)&1023|16384,0),tc:(a,b)=>{a=a.split("/"); for(var c="",e=0;e<a.length;++e)if(a[e]){c+="/"+a[e];try{M.mkdir(c,b)}catch(f){if(20!=f.v)throw f;}}},na:(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);return M.K(a,b|8192,c)},symlink:(a,b)=>{if(!U(a))throw new M.g(44);var c=M.l(b,{parent:!0}).node;if(!c)throw new M.g(44);b=T(b);var e=M.Ha(c,b);if(e)throw new M.g(e);if(!c.h.symlink)throw new M.g(63);return c.h.symlink(c,b,a)},rename:(a,b)=>{var c=rb(a),e=rb(b),f=T(a),h=T(b);var l=M.l(a,{parent:!0});var n=l.node;l=M.l(b,{parent:!0});l=l.node;if(!n|| !l)throw new M.g(44);if(n.o!==l.o)throw new M.g(75);var q=M.J(n,f);a=ub(a,e);if("."!==a.charAt(0))throw new M.g(28);a=ub(b,c);if("."!==a.charAt(0))throw new M.g(55);try{var p=M.J(l,h)}catch(m){}if(q!==p){b=M.s(q.mode);if(f=M.ma(n,f,b))throw new M.g(f);if(f=p?M.ma(l,h,b):M.Ha(l,h))throw new M.g(f);if(!n.h.rename)throw new M.g(63);if(M.N(q)||p&&M.N(p))throw new M.g(10);if(l!==n&&(f=M.R(n,"w")))throw new M.g(f);M.eb(q);try{n.h.rename(q,l,h)}catch(m){throw m;}finally{M.cb(q)}}},rmdir:a=>{var b=M.l(a, {parent:!0}).node;a=T(a);var c=M.J(b,a),e=M.ma(b,a,!0);if(e)throw new M.g(e);if(!b.h.rmdir)throw new M.g(63);if(M.N(c))throw new M.g(10);b.h.rmdir(b,a);M.va(c)},readdir:a=>{a=M.l(a,{A:!0}).node;if(!a.h.readdir)throw new M.g(54);return a.h.readdir(a)},unlink:a=>{var b=M.l(a,{parent:!0}).node;if(!b)throw new M.g(44);a=T(a);var c=M.J(b,a),e=M.ma(b,a,!1);if(e)throw new M.g(e);if(!b.h.unlink)throw new M.g(63);if(M.N(c))throw new M.g(10);b.h.unlink(b,a);M.va(c)},readlink:a=>{a=M.l(a).node;if(!a)throw new M.g(44); if(!a.h.readlink)throw new M.g(28);return U(M.M(a.parent),a.h.readlink(a))},stat:(a,b)=>{a=M.l(a,{A:!b}).node;if(!a)throw new M.g(44);if(!a.h.B)throw new M.g(63);return a.h.B(a)},lstat:a=>M.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?M.l(a,{A:!c}).node:a;if(!a.h.u)throw new M.g(63);a.h.u(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},lchmod:(a,b)=>{M.chmod(a,b,!0)},fchmod:(a,b)=>{a=M.U(a);if(!a)throw new M.g(8);M.chmod(a.node,b)},chown:(a,b,c,e)=>{a="string"==typeof a?M.l(a,{A:!e}).node: a;if(!a.h.u)throw new M.g(63);a.h.u(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{M.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=M.U(a);if(!a)throw new M.g(8);M.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new M.g(28);a="string"==typeof a?M.l(a,{A:!0}).node:a;if(!a.h.u)throw new M.g(63);if(M.s(a.mode))throw new M.g(31);if(!M.isFile(a.mode))throw new M.g(28);var c=M.R(a,"w");if(c)throw new M.g(c);a.h.u(a,{size:b,timestamp:Date.now()})},mc:(a,b)=>{a=M.U(a);if(!a)throw new M.g(8);if(0===(a.flags&2097155))throw new M.g(28); M.truncate(a.node,b)},Bc:(a,b,c)=>{a=M.l(a,{A:!0}).node;a.h.u(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new M.g(44);b="string"==typeof b?M.Pb(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var e=a;else{a=S(a);try{e=M.l(a,{A:!(b&131072)}).node}catch(h){}}var f=!1;if(b&64)if(e){if(b&128)throw new M.g(20);}else e=M.K(a,c,0),f=!0;if(!e)throw new M.g(44);M.ka(e.mode)&&(b&=-513);if(b&65536&&!M.s(e.mode))throw new M.g(54);if(!f&&(c=M.Ob(e,b)))throw new M.g(c); b&512&&!f&&M.truncate(e,0);b&=-131713;e=M.Ua({node:e,path:M.M(e),flags:b,seekable:!0,position:0,j:e.j,fc:[],error:!1});e.j.open&&e.j.open(e);!B.logReadFiles||b&1||(M.Ka||(M.Ka={}),a in M.Ka||(M.Ka[a]=1));return e},close:a=>{if(M.aa(a))throw new M.g(8);a.Aa&&(a.Aa=null);try{a.j.close&&a.j.close(a)}catch(b){throw b;}finally{M.wb(a.fd)}a.fd=null},aa:a=>null===a.fd,C:(a,b,c)=>{if(M.aa(a))throw new M.g(8);if(!a.seekable||!a.j.C)throw new M.g(70);if(0!=c&&1!=c&&2!=c)throw new M.g(28);a.position=a.j.C(a, b,c);a.fc=[];return a.position},read:(a,b,c,e,f)=>{c>>>=0;if(0>e||0>f)throw new M.g(28);if(M.aa(a))throw new M.g(8);if(1===(a.flags&2097155))throw new M.g(8);if(M.s(a.node.mode))throw new M.g(31);if(!a.j.read)throw new M.g(28);var h="undefined"!=typeof f;if(!h)f=a.position;else if(!a.seekable)throw new M.g(70);b=a.j.read(a,b,c,e,f);h||(a.position+=b);return b},write:(a,b,c,e,f,h)=>{c>>>=0;if(0>e||0>f)throw new M.g(28);if(M.aa(a))throw new M.g(8);if(0===(a.flags&2097155))throw new M.g(8);if(M.s(a.node.mode))throw new M.g(31); if(!a.j.write)throw new M.g(28);a.seekable&&a.flags&1024&&M.C(a,0,2);var l="undefined"!=typeof f;if(!l)f=a.position;else if(!a.seekable)throw new M.g(70);b=a.j.write(a,b,c,e,f,h);l||(a.position+=b);return b},Z:(a,b,c)=>{if(M.aa(a))throw new M.g(8);if(0>b||0>=c)throw new M.g(28);if(0===(a.flags&2097155))throw new M.g(8);if(!M.isFile(a.node.mode)&&!M.s(a.node.mode))throw new M.g(43);if(!a.j.Z)throw new M.g(138);a.j.Z(a,b,c)},W:(a,b,c,e,f)=>{if(0!==(e&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new M.g(2); if(1===(a.flags&2097155))throw new M.g(2);if(!a.j.W)throw new M.g(43);return a.j.W(a,b,c,e,f)},fa:(a,b,c,e,f)=>a&&a.j.fa?a.j.fa(a,b,c>>>0,e,f):0,uc:()=>0,Da:(a,b,c)=>{if(!a.j.Da)throw new M.g(59);return a.j.Da(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=M.open(a,b.flags);a=M.stat(a).size;var f=new Uint8Array(a);M.read(e,f,0,a,0);"utf8"===b.encoding?c=L(f,0): "binary"===b.encoding&&(c=f);M.close(e);return c},writeFile:(a,b,c={})=>{c.flags=c.flags||577;a=M.open(a,c.flags,c.mode);if("string"==typeof b){var e=new Uint8Array(Fa(b)+1);b=Ea(b,e,0,e.length);M.write(a,e,0,b,void 0,c.ub)}else if(ArrayBuffer.isView(b))M.write(a,b,0,b.byteLength,void 0,c.ub);else throw Error("Unsupported data type");M.close(a)},cwd:()=>M.Va,chdir:a=>{a=M.l(a,{A:!0});if(null===a.node)throw new M.g(44);if(!M.s(a.node.mode))throw new M.g(54);var b=M.R(a.node,"x");if(b)throw new M.g(b); M.Va=a.path},yb:()=>{M.mkdir("/tmp");M.mkdir("/home");M.mkdir("/home/web_user")},xb:()=>{M.mkdir("/dev");M.Ma(M.O(1,3),{read:()=>0,write:(b,c,e,f)=>f});M.na("/dev/null",M.O(1,3));wb(M.O(5,0),zb);wb(M.O(6,0),Ab);M.na("/dev/tty",M.O(5,0));M.na("/dev/tty1",M.O(6,0));var a=tb();M.L("/dev","random",a);M.L("/dev","urandom",a);M.mkdir("/dev/shm");M.mkdir("/dev/shm/tmp")},Ab:()=>{M.mkdir("/proc");var a=M.mkdir("/proc/self");M.mkdir("/proc/self/fd");M.o({o:()=>{var b=M.createNode(a,"fd",16895,73);b.h={lookup:(c, e)=>{var f=M.U(+e);if(!f)throw new M.g(8);c={parent:null,o:{hb:"fake"},h:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},Bb:()=>{B.stdin?M.L("/dev","stdin",B.stdin):M.symlink("/dev/tty","/dev/stdin");B.stdout?M.L("/dev","stdout",null,B.stdout):M.symlink("/dev/tty","/dev/stdout");B.stderr?M.L("/dev","stderr",null,B.stderr):M.symlink("/dev/tty1","/dev/stderr");M.open("/dev/stdin",0);M.open("/dev/stdout",1);M.open("/dev/stderr",1)},Xa:()=>{M.g||(M.g=function(a,b){this.node= b;this.Yb=function(c){this.v=c};this.Yb(a);this.message="FS error"},M.g.prototype=Error(),M.g.prototype.constructor=M.g,[44].forEach(a=>{M.ya[a]=new M.g(a);M.ya[a].stack="<generic error, no stack>"}))},$b:()=>{M.Xa();M.D=Array(4096);M.o(V,{},"/");M.yb();M.xb();M.Ab();M.Eb={MEMFS:V}},V:(a,b,c)=>{M.V.Ca=!0;M.Xa();B.stdin=a||B.stdin;B.stdout=b||B.stdout;B.stderr=c||B.stderr;M.Bb()},wc:()=>{M.V.Ca=!1;for(var a=0;a<M.streams.length;a++){var b=M.streams[a];b&&M.close(b)}},za:(a,b)=>{var c=0;a&&(c|=365); b&&(c|=146);return c},lc:(a,b)=>{a=M.ua(a,b);return a.exists?a.object:null},ua:(a,b)=>{try{var c=M.l(a,{A:!b});a=c.path}catch(f){}var e={la:!1,exists:!1,error:0,name:null,path:null,object:null,Sb:!1,Ub:null,Tb:null};try{c=M.l(a,{parent:!0}),e.Sb=!0,e.Ub=c.path,e.Tb=c.node,e.name=T(a),c=M.l(a,{A:!b}),e.exists=!0,e.path=c.path,e.object=c.node,e.name=c.node.name,e.la="/"===c.path}catch(f){e.error=f.v}return e},jc:(a,b)=>{a="string"==typeof a?a:M.M(a);for(b=b.split("/").reverse();b.length;){var c=b.pop(); if(c){var e=S(a+"/"+c);try{M.mkdir(e)}catch(f){}a=e}}return e},zb:(a,b,c,e,f)=>{a="string"==typeof a?a:M.M(a);b=S(a+"/"+b);return M.create(b,M.za(e,f))},Ta:(a,b,c,e,f,h)=>{var l=b;a&&(a="string"==typeof a?a:M.M(a),l=b?S(a+"/"+b):a);a=M.za(e,f);l=M.create(l,a);if(c){if("string"==typeof c){b=Array(c.length);e=0;for(f=c.length;e<f;++e)b[e]=c.charCodeAt(e);c=b}M.chmod(l,a|146);b=M.open(l,577);M.write(b,c,0,c.length,0,h);M.close(b);M.chmod(l,a)}return l},L:(a,b,c,e)=>{a=sb("string"==typeof a?a:M.M(a), b);b=M.za(!!c,!!e);M.L.Ga||(M.L.Ga=64);var f=M.O(M.L.Ga++,0);M.Ma(f,{open:h=>{h.seekable=!1},close:()=>{e&&e.buffer&&e.buffer.length&&e(10)},read:(h,l,n,q)=>{for(var p=0,m=0;m<q;m++){try{var v=c()}catch(y){throw new M.g(29);}if(void 0===v&&0===p)throw new M.g(6);if(null===v||void 0===v)break;p++;l[n+m]=v}p&&(h.node.timestamp=Date.now());return p},write:(h,l,n,q)=>{for(var p=0;p<q;p++)try{e(l[n+p])}catch(m){throw new M.g(29);}q&&(h.node.timestamp=Date.now());return p}});return M.na(a,b,f)},xa:a=>{if(a.Ea|| a.Mb||a.link||a.i)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(pa)try{a.i=yb(pa(a.url),!0),a.m=a.i.length}catch(b){throw new M.g(29);}else throw Error("Cannot load without read() or XMLHttpRequest.");},ic:(a,b,c,e,f)=>{function h(){this.Fa=!1;this.ja=[]}function l(m,v,y,k,t){m=m.node.i;if(t>= m.length)return 0;k=Math.min(m.length-t,k);if(m.slice)for(var w=0;w<k;w++)v[y+w]=m[t+w];else for(w=0;w<k;w++)v[y+w]=m.get(t+w);return k}h.prototype.get=function(m){if(!(m>this.length-1||0>m)){var v=m%this.chunkSize;return this.bb(m/this.chunkSize|0)[v]}};h.prototype.Ib=function(m){this.bb=m};h.prototype.Ra=function(){var m=new XMLHttpRequest;m.open("HEAD",c,!1);m.send(null);if(!(200<=m.status&&300>m.status||304===m.status))throw Error("Couldn't load "+c+". Status: "+m.status);var v=Number(m.getResponseHeader("Content-length")), y,k=(y=m.getResponseHeader("Accept-Ranges"))&&"bytes"===y;m=(y=m.getResponseHeader("Content-Encoding"))&&"gzip"===y;var t=1048576;k||(t=v);var w=this;w.Ib(D=>{var Q=D*t,W=(D+1)*t-1;W=Math.min(W,v-1);if("undefined"==typeof w.ja[D]){var fc=w.ja;if(Q>W)throw Error("invalid range ("+Q+", "+W+") or no bytes requested!");if(W>v-1)throw Error("only "+v+" bytes available! programmer error!");var E=new XMLHttpRequest;E.open("GET",c,!1);v!==t&&E.setRequestHeader("Range","bytes="+Q+"-"+W);E.responseType="arraybuffer"; E.overrideMimeType&&E.overrideMimeType("text/plain; charset=x-user-defined");E.send(null);if(!(200<=E.status&&300>E.status||304===E.status))throw Error("Couldn't load "+c+". Status: "+E.status);Q=void 0!==E.response?new Uint8Array(E.response||[]):yb(E.responseText||"",!0);fc[D]=Q}if("undefined"==typeof w.ja[D])throw Error("doXHR failed!");return w.ja[D]});if(m||!v)t=v=1,t=v=this.bb(0).length,xa("LazyFiles on gzip forces download of the whole file when length is accessed");this.rb=v;this.qb=t;this.Fa= !0};if("undefined"!=typeof XMLHttpRequest){if(!F)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n=new h;Object.defineProperties(n,{length:{get:function(){this.Fa||this.Ra();return this.rb}},chunkSize:{get:function(){this.Fa||this.Ra();return this.qb}}});n={Ea:!1,i:n}}else n={Ea:!1,url:c};var q=M.zb(a,b,n,e,f);n.i?q.i=n.i:n.url&&(q.i=null,q.url=n.url);Object.defineProperties(q,{m:{get:function(){return this.i.length}}}); var p={};Object.keys(q.j).forEach(m=>{var v=q.j[m];p[m]=function(){M.xa(q);return v.apply(null,arguments)}});p.read=(m,v,y,k,t)=>{M.xa(q);return l(m,v,y,k,t)};p.W=(m,v,y)=>{M.xa(q);var k=Bb(v);if(!k)throw new M.g(48);l(m,d(),k,v,y);return{Vb:k,sb:!0}};q.j=p;return q},kc:(a,b,c,e,f,h,l,n,q,p)=>{function m(y){function k(t){p&&p();n||M.Ta(a,b,t,e,f,q);h&&h();Ua()}Eb.qc(y,v,k,()=>{l&&l();Ua()})||k(y)}var v=b?U(S(a+"/"+b)):a;Ta();"string"==typeof c?Db(c,y=>m(y),l):m(c)},indexedDB:()=>window.indexedDB|| window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,Oa:()=>"EM_FS_"+window.location.pathname,Pa:20,Y:"FILE_DATA",xc:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var e=M.indexedDB();try{var f=e.open(M.Oa(),M.Pa)}catch(h){return c(h)}f.onupgradeneeded=()=>{xa("creating db");f.result.createObjectStore(M.Y)};f.onsuccess=()=>{var h=f.result.transaction([M.Y],"readwrite"),l=h.objectStore(M.Y),n=0,q=0,p=a.length;a.forEach(m=>{m=l.put(M.ua(m).object.i,m);m.onsuccess=()=>{n++;n+q==p&&(0==q?b():c())}; m.onerror=()=>{q++;n+q==p&&(0==q?b():c())}});h.onerror=c};f.onerror=c},rc:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var e=M.indexedDB();try{var f=e.open(M.Oa(),M.Pa)}catch(h){return c(h)}f.onupgradeneeded=c;f.onsuccess=()=>{var h=f.result;try{var l=h.transaction([M.Y],"readonly")}catch(v){c(v);return}var n=l.objectStore(M.Y),q=0,p=0,m=a.length;a.forEach(v=>{var y=n.get(v);y.onsuccess=()=>{M.ua(v).exists&&M.unlink(v);M.Ta(rb(v),T(v),y.result,!0,!0,!0);q++;q+p==m&&(0==p?b():c())};y.onerror=()=>{p++;q+p== m&&(0==p?b():c())}});l.onerror=c};f.onerror=c}},Fb=void 0;function X(){Fb+=4;return z()[Fb-4>>2>>>0]}function Y(a){a=M.U(a);if(!a)throw new M.g(8);return a} function Gb(a,b,c){if(H)return R(3,1,a,b,c);Fb=c;try{var e=Y(a);switch(b){case 0:var f=X();return 0>f?-28:M.Ua(e,f).fd;case 1:case 2:return 0;case 3:return e.flags;case 4:return f=X(),e.flags|=f,0;case 5:return f=X(),g.buffer!=r&&u(g.buffer),Ha[f+0>>1>>>0]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return z()[Hb()>>2>>>0]=28,-1;default:return-28}}catch(h){if("undefined"==typeof M||!(h instanceof M.g))throw h;return-h.v}} function Ib(a,b){if(H)return R(4,1,a,b);try{if(0===b)return-28;var c=M.cwd(),e=Fa(c)+1;if(b<e)return-68;Ea(c,x(),a,b);return e}catch(f){if("undefined"==typeof M||!(f instanceof M.g))throw f;return-f.v}} function Jb(a,b,c){if(H)return R(5,1,a,b,c);Fb=c;try{var e=Y(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=X();return z()[f>>2>>>0]=0;case 21520:return e.tty?-28:-59;case 21531:return f=X(),M.Da(e,b,f);case 21523:return e.tty?0:-59;case 21524:return e.tty?0:-59;default:K("bad ioctl syscall "+b)}}catch(h){if("undefined"==typeof M||!(h instanceof M.g))throw h;return-h.v}} function Kb(a,b,c,e){if(H)return R(6,1,a,b,c,e);Fb=e;try{b=Da(b);var f=b;if("/"===f.charAt(0))b=f;else{if(-100===a)var h=M.cwd();else{var l=M.U(a);if(!l)throw new M.g(8);h=l.path}if(0==f.length)throw new M.g(44);b=S(h+"/"+f)}var n=e?X():0;return M.open(b,c,n).fd}catch(q){if("undefined"==typeof M||!(q instanceof M.g))throw q;return-q.v}}function eb(a){Atomics.store(z(),a>>2,1);db()&&Lb(a);Atomics.compareExchange(z(),a>>2,1,0)}B.executeNotifiedProxyingQueue=eb;var Mb; Mb=G?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:H?()=>performance.now()-B.__performance_now_clock_drift:()=>performance.now();function R(a,b){var c=arguments.length-2,e=arguments;return gb(function(){for(var f=Z(8*c),h=f>>3,l=0;l<c;l++){var n=e[2+l];ea()[h+l>>>0]=n}return Nb(a,c,f,b)})}var Ob=[],Pb={}; function Qb(){if(!Rb){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",_:la||"./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]);Rb=c}return Rb}var Rb; function Sb(a,b){if(H)return R(7,1,a,b);var c=0;Qb().forEach(function(e,f){var h=b+c;f=A()[a+4*f>>2>>>0]=h;for(h=0;h<e.length;++h)d()[f++>>0>>>0]=e.charCodeAt(h);d()[f>>0>>>0]=0;c+=e.length+1});return 0}function Tb(a,b){if(H)return R(8,1,a,b);var c=Qb();A()[a>>2>>>0]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});A()[b>>2>>>0]=e;return 0}function Ub(a){if(H)return R(9,1,a);try{var b=Y(a);M.close(b);return 0}catch(c){if("undefined"==typeof M||!(c instanceof M.g))throw c;return c.v}} function Vb(a,b,c,e){if(H)return R(10,1,a,b,c,e);try{a:{var f=Y(a);a=b;for(var h=b=0;h<c;h++){var l=A()[a>>2>>>0],n=A()[a+4>>2>>>0];a+=8;var q=M.read(f,d(),l,n,void 0);if(0>q){var p=-1;break a}b+=q;if(q<n)break}p=b}z()[e>>2>>>0]=p;return 0}catch(m){if("undefined"==typeof M||!(m instanceof M.g))throw m;return m.v}} function Wb(a,b,c,e,f){if(H)return R(11,1,a,b,c,e,f);try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var h=Y(a);M.C(h,b,e);Ya=[h.position>>>0,(P=h.position,1<=+Math.abs(P)?0<P?(Math.min(+Math.floor(P/4294967296),4294967295)|0)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)];z()[f>>2>>>0]=Ya[0];z()[f+4>>2>>>0]=Ya[1];h.Aa&&0===b&&0===e&&(h.Aa=null);return 0}catch(l){if("undefined"==typeof M||!(l instanceof M.g))throw l;return l.v}} function Xb(a,b,c,e){if(H)return R(12,1,a,b,c,e);try{a:{var f=Y(a);a=b;for(var h=b=0;h<c;h++){var l=A()[a>>2>>>0],n=A()[a+4>>2>>>0];a+=8;var q=M.write(f,d(),l,n,void 0);if(0>q){var p=-1;break a}b+=q}p=b}A()[e>>2>>>0]=p;return 0}catch(m){if("undefined"==typeof M||!(m instanceof M.g))throw m;return m.v}}function Yb(a){return 0===a%4&&(0!==a%100||0===a%400)}var Zb=[31,29,31,30,31,30,31,31,30,31,30,31],$b=[31,28,31,30,31,30,31,31,30,31,30,31]; function ac(a,b,c,e){function f(k,t,w){for(k="number"==typeof k?k.toString():k||"";k.length<t;)k=w[0]+k;return k}function h(k,t){return f(k,t,"0")}function l(k,t){function w(Q){return 0>Q?-1:0<Q?1:0}var D;0===(D=w(k.getFullYear()-t.getFullYear()))&&0===(D=w(k.getMonth()-t.getMonth()))&&(D=w(k.getDate()-t.getDate()));return D}function n(k){switch(k.getDay()){case 0:return new Date(k.getFullYear()-1,11,29);case 1:return k;case 2:return new Date(k.getFullYear(),0,3);case 3:return new Date(k.getFullYear(), 0,2);case 4:return new Date(k.getFullYear(),0,1);case 5:return new Date(k.getFullYear()-1,11,31);case 6:return new Date(k.getFullYear()-1,11,30)}}function q(k){var t=k.S;for(k=new Date((new Date(k.T+1900,0,1)).getTime());0<t;){var w=k.getMonth(),D=(Yb(k.getFullYear())?Zb:$b)[w];if(t>D-k.getDate())t-=D-k.getDate()+1,k.setDate(1),11>w?k.setMonth(w+1):(k.setMonth(0),k.setFullYear(k.getFullYear()+1));else{k.setDate(k.getDate()+t);break}}w=new Date(k.getFullYear()+1,0,4);t=n(new Date(k.getFullYear(),0, 4));w=n(w);return 0>=l(t,k)?0>=l(w,k)?k.getFullYear()+1:k.getFullYear():k.getFullYear()-1}var p=z()[e+40>>2>>>0];e={cc:z()[e>>2>>>0],bc:z()[e+4>>2>>>0],ra:z()[e+8>>2>>>0],Na:z()[e+12>>2>>>0],sa:z()[e+16>>2>>>0],T:z()[e+20>>2>>>0],H:z()[e+24>>2>>>0],S:z()[e+28>>2>>>0],zc:z()[e+32>>2>>>0],ac:z()[e+36>>2>>>0],dc:p?Da(p):""};c=Da(c);p={"%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 m in p)c=c.replace(new RegExp(m,"g"),p[m]);var v="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),y="January February March April May June July August September October November December".split(" ");p={"%a":function(k){return v[k.H].substring(0,3)},"%A":function(k){return v[k.H]}, "%b":function(k){return y[k.sa].substring(0,3)},"%B":function(k){return y[k.sa]},"%C":function(k){return h((k.T+1900)/100|0,2)},"%d":function(k){return h(k.Na,2)},"%e":function(k){return f(k.Na,2," ")},"%g":function(k){return q(k).toString().substring(2)},"%G":function(k){return q(k)},"%H":function(k){return h(k.ra,2)},"%I":function(k){k=k.ra;0==k?k=12:12<k&&(k-=12);return h(k,2)},"%j":function(k){for(var t=0,w=0;w<=k.sa-1;t+=(Yb(k.T+1900)?Zb:$b)[w++]);return h(k.Na+t,3)},"%m":function(k){return h(k.sa+ 1,2)},"%M":function(k){return h(k.bc,2)},"%n":function(){return"\n"},"%p":function(k){return 0<=k.ra&&12>k.ra?"AM":"PM"},"%S":function(k){return h(k.cc,2)},"%t":function(){return"\t"},"%u":function(k){return k.H||7},"%U":function(k){return h(Math.floor((k.S+7-k.H)/7),2)},"%V":function(k){var t=Math.floor((k.S+7-(k.H+6)%7)/7);2>=(k.H+371-k.S-2)%7&&t++;if(t)53==t&&(w=(k.H+371-k.S)%7,4==w||3==w&&Yb(k.T)||(t=1));else{t=52;var w=(k.H+7-k.S-1)%7;(4==w||5==w&&Yb(k.T%400-1))&&t++}return h(t,2)},"%w":function(k){return k.H}, "%W":function(k){return h(Math.floor((k.S+7-(k.H+6)%7)/7),2)},"%y":function(k){return(k.T+1900).toString().substring(2)},"%Y":function(k){return k.T+1900},"%z":function(k){k=k.ac;var t=0<=k;k=Math.abs(k)/60;return(t?"+":"-")+String("0000"+(k/60*100+k%60)).slice(-4)},"%Z":function(k){return k.dc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(m in p)c.includes(m)&&(c=c.replace(new RegExp(m,"g"),p[m](e)));c=c.replace(/\0\0/g,"%");m=yb(c,!1);if(m.length>b)return 0;Ga(m,a);return m.length- 1}C.V();function bc(a,b,c,e){a||(a=this);this.parent=a;this.o=a.o;this.da=null;this.id=M.Qb++;this.name=b;this.mode=c;this.h={};this.j={};this.rdev=e}Object.defineProperties(bc.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}},Mb:{get:function(){return M.s(this.mode)}},Ea:{get:function(){return M.ka(this.mode)}}});M.ob=bc;M.$b(); var Eb,cc=[null,kb,ob,Gb,Ib,Jb,Kb,Sb,Tb,Ub,Vb,Wb,Xb];function yb(a,b){var c=Array(Fa(a)+1);a=Ea(a,c,0,c.length);b&&(c.length=a);return c} var ec={__emscripten_init_main_thread_js:function(a){dc(a,!F,1,!na);C.nb()},__emscripten_thread_cleanup:function(a){H?postMessage({cmd:"cleanupThread",thread:a}):$a(a)},__pthread_create_js:pb,__syscall_fcntl64:Gb,__syscall_getcwd:Ib,__syscall_ioctl:Jb,__syscall_openat:Kb,_emscripten_date_now:function(){return Date.now()},_emscripten_default_pthread_stack_size:function(){return 2097152},_emscripten_get_now_is_monotonic:function(){return!0},_emscripten_notify_task_queue:function(a,b,c,e){if(a==b)setTimeout(()=> eb(e));else if(H)postMessage({targetThread:a,cmd:"processProxyingQueue",queue:e});else{a=(a=C.G[a])&&a.worker;if(!a)return;a.postMessage({cmd:"processProxyingQueue",queue:e})}return 1},_emscripten_set_offscreencanvas_size:function(){return-1},abort:function(){K("")},emscripten_check_blocking_allowed:function(){G||F||(ya||(ya={}),ya["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]||(ya["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]= 1,J("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")))},emscripten_get_now:Mb,emscripten_memcpy_big:function(a,b,c){x().copyWithin(a>>>0,b>>>0,b+c>>>0)},emscripten_receive_on_main_thread_js:function(a,b,c){Ob.length=b;c>>=3;for(var e=0;e<b;e++)Ob[e]=ea()[c+e>>>0];return(0>a?Za[-a-1]:cc[a]).apply(null,Ob)},emscripten_resize_heap:function(a){var b=x().length;a>>>=0;if(a<=b||4294901760<a)return!1;for(var c=1;4>= 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,4294901760,e+(65536-e%65536)%65536);a:{try{g.grow(f-r.byteLength+65535>>>16);u(g.buffer);var h=1;break a}catch(l){}h=void 0}if(h)return!0}return!1},emscripten_unwind_to_js_event_loop:function(){throw"unwind";},environ_get:Sb,environ_sizes_get:Tb,exit:function(a){lb(a)},fd_close:Ub,fd_read:Vb,fd_seek:Wb,fd_write:Xb,memory:g||B.wasmMemory,setTempRet0:function(){},strftime_l:function(a,b,c,e){return ac(a,b,c, e)}}; (function(){function a(f,h){B.asm=f.exports;C.qa.push(B.asm._emscripten_tls_init);Ja=B.asm.__indirect_function_table;La.unshift(B.asm.__wasm_call_ctors);Aa=h;if(!H){var l=C.I.length;C.I.forEach(function(n){C.gb(n,function(){--l||Ua()})})}}function b(f){a(f.instance,f.module)}function c(f){return Xa().then(function(h){return WebAssembly.instantiate(h,e)}).then(function(h){return h}).then(f,function(h){J("failed to asynchronously prepare wasm: "+h);K(h)})}var e={env:ec,wasi_snapshot_preview1:ec};H|| Ta();if(B.instantiateWasm)try{return B.instantiateWasm(e,a)}catch(f){return J("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return za||"function"!=typeof WebAssembly.instantiateStreaming||Va()||G||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(h){J("wasm streaming compile failed: "+h);J("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ia);return{}})(); B.___wasm_call_ctors=function(){return(B.___wasm_call_ctors=B.asm.__wasm_call_ctors).apply(null,arguments)};B._main=function(){return(B._main=B.asm.main).apply(null,arguments)};B._free=function(){return(B._free=B.asm.free).apply(null,arguments)};B._usi_command=function(){return(B._usi_command=B.asm.usi_command).apply(null,arguments)};B.__emscripten_tls_init=function(){return(B.__emscripten_tls_init=B.asm._emscripten_tls_init).apply(null,arguments)}; var Cb=B._emscripten_builtin_memalign=function(){return(Cb=B._emscripten_builtin_memalign=B.asm.emscripten_builtin_memalign).apply(null,arguments)},Hb=B.___errno_location=function(){return(Hb=B.___errno_location=B.asm.__errno_location).apply(null,arguments)},dc=B.__emscripten_thread_init=function(){return(dc=B.__emscripten_thread_init=B.asm._emscripten_thread_init).apply(null,arguments)}; B.__emscripten_thread_crashed=function(){return(B.__emscripten_thread_crashed=B.asm._emscripten_thread_crashed).apply(null,arguments)};var db=B._pthread_self=function(){return(db=B._pthread_self=B.asm.pthread_self).apply(null,arguments)};B._emscripten_main_thread_process_queued_calls=function(){return(B._emscripten_main_thread_process_queued_calls=B.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)};B._malloc=function(){return(B._malloc=B.asm.malloc).apply(null,arguments)}; B._emscripten_main_browser_thread_id=function(){return(B._emscripten_main_browser_thread_id=B.asm.emscripten_main_browser_thread_id).apply(null,arguments)};var Nb=B._emscripten_run_in_main_runtime_thread_js=function(){return(Nb=B._emscripten_run_in_main_runtime_thread_js=B.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)};B._emscripten_dispatch_to_thread_=function(){return(B._emscripten_dispatch_to_thread_=B.asm.emscripten_dispatch_to_thread_).apply(null,arguments)}; var Lb=B.__emscripten_proxy_execute_task_queue=function(){return(Lb=B.__emscripten_proxy_execute_task_queue=B.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},cb=B.__emscripten_thread_free_data=function(){return(cb=B.__emscripten_thread_free_data=B.asm._emscripten_thread_free_data).apply(null,arguments)},nb=B.__emscripten_thread_exit=function(){return(nb=B.__emscripten_thread_exit=B.asm._emscripten_thread_exit).apply(null,arguments)},jb=B._emscripten_stack_set_limits=function(){return(jb= B._emscripten_stack_set_limits=B.asm.emscripten_stack_set_limits).apply(null,arguments)},hb=B.stackSave=function(){return(hb=B.stackSave=B.asm.stackSave).apply(null,arguments)},ib=B.stackRestore=function(){return(ib=B.stackRestore=B.asm.stackRestore).apply(null,arguments)},Z=B.stackAlloc=function(){return(Z=B.stackAlloc=B.asm.stackAlloc).apply(null,arguments)};B.dynCall_jiji=function(){return(B.dynCall_jiji=B.asm.dynCall_jiji).apply(null,arguments)}; B.dynCall_viijii=function(){return(B.dynCall_viijii=B.asm.dynCall_viijii).apply(null,arguments)};B.dynCall_iiiiij=function(){return(B.dynCall_iiiiij=B.asm.dynCall_iiiiij).apply(null,arguments)};B.dynCall_iiiiijj=function(){return(B.dynCall_iiiiijj=B.asm.dynCall_iiiiijj).apply(null,arguments)};B.dynCall_iiiiiijj=function(){return(B.dynCall_iiiiiijj=B.asm.dynCall_iiiiiijj).apply(null,arguments)}; B.ccall=function(a,b,c,e){var f={string:function(p){var m=0;if(null!==p&&void 0!==p&&0!==p){var v=(p.length<<2)+1,y=m=Z(v);Ea(p,x(),y,v)}return m},array:function(p){var m=Z(p.length);Ga(p,m);return m}};a=B["_"+a];var h=[],l=0;if(e)for(var n=0;n<e.length;n++){var q=f[c[n]];q?(0===l&&(l=hb()),h[n]=q(e[n])):h[n]=e[n]}c=a.apply(null,h);return c=function(p){0!==l&&ib(l);return"string"===b?Da(p):"boolean"===b?!!p:p}(c)};B.keepRuntimeAlive=function(){return noExitRuntime};B.wasmMemory=g;B.ExitStatus=ua; B.FS=M;B.PThread=C;var gc;function ua(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Sa=function hc(){gc||ic();gc||(Sa=hc)};function jc(a){var b=B._main;a=a||[];a.unshift(la);var c=a.length,e=Z(4*(c+1)),f=e>>2;a.forEach(l=>{var n=z(),q=f++>>>0,p=Fa(l)+1