nodehammer-web 0.2.0rc3__py3-none-any.whl
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.
- nodehammer_web/__init__.py +79 -0
- nodehammer_web/runtime/compute_worker.js +116 -0
- nodehammer_web/runtime/index.html +228 -0
- nodehammer_web/runtime/nh_runtime.json +4 -0
- nodehammer_web/runtime/nodehammer-compute.js +50 -0
- nodehammer_web/runtime/nodehammer-compute.wasm +0 -0
- nodehammer_web/runtime/nodehammer-gles3.js +146 -0
- nodehammer_web/runtime/nodehammer-gles3.wasm +0 -0
- nodehammer_web/runtime/nodehammer-wgpu.js +154 -0
- nodehammer_web/runtime/nodehammer-wgpu.wasm +0 -0
- nodehammer_web-0.2.0rc3.dist-info/METADATA +47 -0
- nodehammer_web-0.2.0rc3.dist-info/RECORD +15 -0
- nodehammer_web-0.2.0rc3.dist-info/WHEEL +5 -0
- nodehammer_web-0.2.0rc3.dist-info/licenses/LICENSE +21 -0
- nodehammer_web-0.2.0rc3.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
var h;h||=typeof Module != 'undefined' ? Module : {};var aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,ca=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,da=[],ea="./this.program",fa=(a,b)=>{throw b;},ha=globalThis.document?.currentScript?.src;"undefined"!=typeof __filename?ha=__filename:ba&&(ha=self.location.href);var ia="",ja,ka;
|
|
2
|
+
if(ca){var fs=require("node:fs");ia=__dirname+"/";ka=a=>{a=la(a)?new URL(a):a;return fs.readFileSync(a)};ja=async a=>{a=la(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ea=process.argv[1].replace(/\\/g,"/"));da=process.argv.slice(2);"undefined"!=typeof module&&(module.exports=h);fa=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ia=(new URL(".",ha)).href}catch{}ba&&(ka=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});
|
|
3
|
+
ja=async a=>{if(la(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);}}var ma=console.log.bind(console),na=console.error.bind(console),oa,qa=!1,ra,la=a=>a.startsWith("file://"),sa=!1;
|
|
4
|
+
function ta(){var a=ua.buffer;l=new Int8Array(a);q=new Int16Array(a);h.HEAPU8=t=new Uint8Array(a);va=new Uint16Array(a);v=new Int32Array(a);w=new Uint32Array(a);wa=new Float32Array(a);xa=new Float64Array(a);ya=new BigInt64Array(a);new BigUint64Array(a)}function x(a){h.onAbort?.(a);a=`Aborted(${a})`;na(a);qa=!0;a+=". Build with -sASSERTIONS for more info.";sa&&za();throw new WebAssembly.RuntimeError(a);}var Aa;
|
|
5
|
+
async function Ba(a){if(!oa)try{var b=await ja(a);return new Uint8Array(b)}catch{}if(a==Aa&&oa)a=new Uint8Array(oa);else if(ka)a=ka(a);else throw"both async and sync fetching of the wasm failed";return a}async function Ca(a,b){try{var c=await Ba(a);return await WebAssembly.instantiate(c,b)}catch(d){na(`failed to asynchronously prepare wasm: ${d}`),x(d)}}
|
|
6
|
+
async function Da(a){var b=Aa;if(!oa&&!la(b)&&!ca)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){na(`wasm streaming compile failed: ${d}`),na("falling back to ArrayBuffer instantiation")}return Ca(b,a)}class Ea{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
|
7
|
+
var q,v,ya,l,wa,xa,va,w,t,Fa=a=>{for(;0<a.length;)a.shift()(h)},Ga=[],Ha=[],Ia=()=>{var a=h.preRun.shift();Ha.push(a)},Ja=0,Ka=null,La=()=>{Ja--;h.monitorRunDependencies?.(Ja);if(0==Ja&&Ka){var a=Ka;Ka=null;a()}},Ma=()=>{Ja++;h.monitorRunDependencies?.(Ja)},Na=!0,Oa=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},Pa=a=>{var b="/"===a.charAt(0),c="/"===a.slice(-1);(a=Oa(a.split("/").filter(d=>
|
|
8
|
+
!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Sa=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&=b.slice(0,-1);return a+b},Ta=a=>a&&a.match(/([^\/]+|\/)\/*$/)[1],Ua=()=>{if(ca){var a=require("node:crypto");return b=>a.randomFillSync(b)}return b=>(crypto.getRandomValues(b),0)},Va=a=>(Va=Ua())(a),Wa=(...a)=>{for(var b="",c=!1,d=a.length-1;-1<=d&&!c;d--){c=0<=d?a[d]:"/";if("string"!=typeof c)throw new TypeError("Arguments to path.resolve must be strings");
|
|
9
|
+
if(!c)return"";b=c+"/"+b;c="/"===c.charAt(0)}b=Oa(b.split("/").filter(e=>!!e),!c).join("/");return(c?"/":"")+b||"."},Xa=(a,b)=>{function c(g){for(var k=0;k<g.length&&""===g[k];k++);for(var m=g.length-1;0<=m&&""===g[m];m--);return k>m?[]:g.slice(k,m-k+1)}a=Wa(a).slice(1);b=Wa(b).slice(1);a=c(a.split("/"));b=c(b.split("/"));for(var d=Math.min(a.length,b.length),e=d,f=0;f<d;f++)if(a[f]!==b[f]){e=f;break}d=[];for(f=e;f<a.length;f++)d.push("..");d=d.concat(b.slice(e));return d.join("/")},Ya=new TextDecoder,
|
|
10
|
+
Za=(a,b,c)=>{for(c=b+c;a[b]&&!(b>=c);)++b;return b},$a=a=>{var b=Za(a,0);return Ya.decode(a.buffer?a.subarray(0,b):new Uint8Array(a.slice(0,b)))},ab=[],bb=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},z=(a,b,c,d)=>{if(!(0<d))return 0;var e=c;d=c+d-1;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);if(127>=g){if(c>=d)break;b[c++]=g}else if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6;b[c++]=128|g&63}else if(65535>=g){if(c+
|
|
11
|
+
2>=d)break;b[c++]=224|g>>12;b[c++]=128|g>>6&63;b[c++]=128|g&63}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63;b[c++]=128|g>>6&63;b[c++]=128|g&63;f++}}b[c]=0;return c-e},cb=a=>{var b=Array(bb(a)+1);a=z(a,b,0,b.length);b.length=a;return b},db=[];function eb(a,b){db[a]={input:[],output:[],Id:b};fb(a,gb)}
|
|
12
|
+
var gb={open(a){var b=db[a.node.rdev];if(!b)throw new B(43);a.tty=b;a.seekable=!1},close(a){a.tty.Id.fsync(a.tty)},fsync(a){a.tty.Id.fsync(a.tty)},read(a,b,c,d){if(!a.tty||!a.tty.Id.Me)throw new B(60);for(var e=0,f=0;f<d;f++){try{var g=a.tty.Id.Me(a.tty)}catch(k){throw new B(29);}if(void 0===g&&0===e)throw new B(6);if(null===g||void 0===g)break;e++;b[c+f]=g}e&&(a.node.atime=Date.now());return e},write(a,b,c,d){if(!a.tty||!a.tty.Id.ze)throw new B(60);try{for(var e=0;e<d;e++)a.tty.Id.ze(a.tty,b[c+e])}catch(f){throw new B(29);
|
|
13
|
+
}d&&(a.node.mtime=a.node.ctime=Date.now());return e}},hb={Me(){a:{if(!ab.length){var a=null;if(ca){var b=Buffer.alloc(256),c=0,d=process.stdin.fd;try{c=fs.readSync(d,b,0,256)}catch(e){if(e.toString().includes("EOF"))c=0;else throw e;}0<c&&(a=b.slice(0,c).toString("utf-8"))}else globalThis.window?.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){a=null;break a}ab=cb(a)}a=ab.shift()}return a},ze(a,b){null===b||10===b?(ma($a(a.output)),a.output=[]):0!=b&&a.output.push(b)},fsync(a){0<a.output?.length&&
|
|
14
|
+
(ma($a(a.output)),a.output=[])},mf(){return{Ef:25856,Gf:5,Df:191,Ff:35387,Cf:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},nf(){return 0},pf(){return[24,80]}},ib={ze(a,b){null===b||10===b?(na($a(a.output)),a.output=[]):0!=b&&a.output.push(b)},fsync(a){0<a.output?.length&&(na($a(a.output)),a.output=[])}},C={Fd:null,Ad(){return C.createNode(null,"/",16895,0)},createNode(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new B(63);C.Fd||(C.Fd={dir:{node:{Hd:C.qd.Hd,
|
|
15
|
+
Gd:C.qd.Gd,lookup:C.qd.lookup,ce:C.qd.ce,rename:C.qd.rename,unlink:C.qd.unlink,rmdir:C.qd.rmdir,readdir:C.qd.readdir,symlink:C.qd.symlink},stream:{Ed:C.rd.Ed}},file:{node:{Hd:C.qd.Hd,Gd:C.qd.Gd},stream:{Ed:C.rd.Ed,read:C.rd.read,write:C.rd.write,ue:C.rd.ue,Qe:C.rd.Qe}},link:{node:{Hd:C.qd.Hd,Gd:C.qd.Gd,readlink:C.qd.readlink},stream:{}},Ie:{node:{Hd:C.qd.Hd,Gd:C.qd.Gd},stream:jb}});c=kb(a,b,c,d);E(c.mode)?(c.qd=C.Fd.dir.node,c.rd=C.Fd.dir.stream,c.sd={}):32768===(c.mode&61440)?(c.qd=C.Fd.file.node,
|
|
16
|
+
c.rd=C.Fd.file.stream,c.wd=0,c.sd=C.hf??(C.hf=new Uint8Array(0))):40960===(c.mode&61440)?(c.qd=C.Fd.link.node,c.rd=C.Fd.link.stream):8192===(c.mode&61440)&&(c.qd=C.Fd.Ie.node,c.rd=C.Fd.Ie.stream);c.atime=c.mtime=c.ctime=Date.now();a&&(a.sd[b]=c,a.atime=a.mtime=a.ctime=c.atime);return c},qd:{Hd(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;E(a.mode)?b.size=4096:32768===(a.mode&61440)?b.size=a.wd:40960===(a.mode&61440)?b.size=a.link.length:
|
|
17
|
+
b.size=0;b.atime=new Date(a.atime);b.mtime=new Date(a.mtime);b.ctime=new Date(a.ctime);b.blksize=4096;b.blocks=Math.ceil(b.size/b.blksize);return b},Gd(a,b){for(var c of["mode","atime","mtime","ctime"])null!=b[c]&&(a[c]=b[c]);void 0!==b.size&&(b=b.size,a.wd!=b&&(c=a.sd,a.sd=new Uint8Array(b),a.sd.set(c.subarray(0,Math.min(b,a.wd))),a.wd=b))},lookup(){C.me||(C.me=new B(44),C.me.stack="<generic error, no stack>");throw C.me;},ce(a,b,c,d){return C.createNode(a,b,c,d)},rename(a,b,c){try{var d=lb(b,c)}catch(f){}if(d){if(E(a.mode))for(var e in d.sd)throw new B(55);
|
|
18
|
+
mb(d)}delete a.parent.sd[a.name];b.sd[c]=a;a.name=c;b.ctime=b.mtime=a.parent.ctime=a.parent.mtime=Date.now()},unlink(a,b){delete a.sd[b];a.ctime=a.mtime=Date.now()},rmdir(a,b){var c=lb(a,b),d;for(d in c.sd)throw new B(55);delete a.sd[b];a.ctime=a.mtime=Date.now()},readdir(a){return[".","..",...Object.keys(a.sd)]},symlink(a,b,c){a=C.createNode(a,b,41471,0);a.link=c;return a},readlink(a){if(40960!==(a.mode&61440))throw new B(28);return a.link}},rd:{read(a,b,c,d,e){if(e>=a.node.wd)return 0;d=Math.min(a.node.wd-
|
|
19
|
+
e,d);b.set(a.node.sd.subarray(e,e+d),c);return d},write(a,b,c,d,e,f){b.buffer===l.buffer&&(f=!1);if(!d)return 0;a=a.node;a.mtime=a.ctime=Date.now();if(f)a.sd=b.subarray(c,c+d),a.wd=d;else if(0===a.wd&&0===e)a.sd=b.slice(c,c+d),a.wd=d;else{f=e+d;var g=a.sd.length;g>=f||(f=Math.max(f,g*(1048576>g?2:1.125)>>>0),g&&(f=Math.max(f,256)),g=a.sd.subarray(0,a.wd),a.sd=new Uint8Array(f),a.sd.set(g));a.sd.set(b.subarray(c,c+d),e);a.wd=Math.max(a.wd,e+d)}return d},Ed(a,b,c){1===c?b+=a.position:2===c&&32768===
|
|
20
|
+
(a.node.mode&61440)&&(b+=a.node.wd);if(0>b)throw new B(28);return b},ue(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new B(43);a=a.node.sd;if(e&2||a.buffer!==l.buffer){d=!0;x();e=void 0;if(!e)throw new B(48);if(a){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);l.set(a,e)}}else d=!1,e=a.byteOffset;return{Wd:e,Od:d}},Qe(a,b,c,d){C.rd.write(a,b,0,d,c,!1);return 0}}},nb=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},ob=async a=>{a=await ja(a);return new Uint8Array(a)},
|
|
21
|
+
pb=[],qb=async(a,b)=>{"undefined"!=typeof Browser&&Browser.Uf();for(var c of pb)if(c.canHandle(b))return c.handle(a,b);return a},rb=null,sb={},tb=[],ub=1,vb=null,wb=!1,xb=!0,B=class{name="ErrnoError";constructor(a){this.ud=a}},yb=class{td={};node=null;get flags(){return this.td.flags}set flags(a){this.td.flags=a}get position(){return this.td.position}set position(a){this.td.position=a}},zb=class{qd={};rd={};Ld=null;constructor(a,b,c,d){a||=this;this.parent=a;this.Ad=a.Ad;this.id=ub++;this.name=b;
|
|
22
|
+
this.mode=c;this.rdev=d;this.atime=this.mtime=this.ctime=Date.now()}get read(){return 365===(this.mode&365)}set read(a){a?this.mode|=365:this.mode&=-366}get write(){return 146===(this.mode&146)}set write(a){a?this.mode|=146:this.mode&=-147}get rf(){return E(this.mode)}get qf(){return 8192===(this.mode&61440)}};
|
|
23
|
+
function F(a,b={}){if(!a)throw new B(44);b.oe??(b.oe=!0);"/"===a.charAt(0)||(a="//"+a);var c=0;a:for(;40>c;c++){a=a.split("/").filter(k=>!!k);for(var d=rb,e="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;if("."!==a[f])if(".."===a[f])if(e=Sa(e),d===d.parent){a=e+"/"+a.slice(f+1).join("/");c--;continue a}else d=d.parent;else{e=Pa(e+"/"+a[f]);try{d=lb(d,a[f])}catch(k){if(44===k?.ud&&g&&b.uf)return{path:e};throw k;}!d.Ld||g&&!b.oe||(d=d.Ld.root);if(40960===(d.mode&61440)&&(!g||b.Zd)){if(!d.qd.readlink)throw new B(52);
|
|
24
|
+
d=d.qd.readlink(d);"/"===d.charAt(0)||(d=Sa(e)+"/"+d);a=d+"/"+a.slice(f+1).join("/");continue a}}}return{path:e,node:d}}throw new B(32);}function Ab(a){for(var b;;){if(a===a.parent)return a=a.Ad.Pe,b?"/"!==a[a.length-1]?`${a}/${b}`:a+b:a;b=b?`${a.name}/${b}`:a.name;a=a.parent}}function Bb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%vb.length}function Cb(a){var b=Bb(a.parent.id,a.name);a.Sd=vb[b];vb[b]=a}
|
|
25
|
+
function mb(a){var b=Bb(a.parent.id,a.name);if(vb[b]===a)vb[b]=a.Sd;else for(b=vb[b];b;){if(b.Sd===a){b.Sd=a.Sd;break}b=b.Sd}}function lb(a,b){var c=E(a.mode)?(c=Db(a,"x"))?c:a.qd.lookup?0:2:54;if(c)throw new B(c);for(c=vb[Bb(a.id,b)];c;c=c.Sd){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.qd.lookup(a,b)}function kb(a,b,c,d){a=new zb(a,b,c,d);Cb(a);return a}function E(a){return 16384===(a&61440)}
|
|
26
|
+
function Db(a,b){return xb?0:b.includes("r")&&!(a.mode&292)||b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73)?2:0}function Eb(a,b){if(!E(a.mode))return 54;try{return lb(a,b),20}catch(c){}return Db(a,"wx")}function Fb(a,b,c){try{var d=lb(a,b)}catch(e){return e.ud}if(a=Db(a,"wx"))return a;if(c){if(!E(d.mode))return 54;if(d===d.parent||"/"===Ab(d))return 10}else if(E(d.mode))return 31;return 0}function Gb(a){if(!a)throw new B(63);return a}
|
|
27
|
+
function Hb(a){a=tb[a];if(!a)throw new B(8);return a}function Ib(a,b=-1){a=Object.assign(new yb,a);if(-1==b)a:{for(b=0;4096>=b;b++)if(!tb[b])break a;throw new B(33);}a.fd=b;return tb[b]=a}function Jb(a,b=-1){a=Ib(a,b);a.rd?.Of?.(a);return a}function Kb(a,b){var c=null?.rd.Gd,d=c?null:a;c??=a.qd.Gd;Gb(c);c(d,b)}var jb={open(a){a.rd=sb[a.node.rdev].rd;a.rd.open?.(a)},Ed(){throw new B(70);}};function fb(a,b){sb[a]={rd:b}}
|
|
28
|
+
function Lb(a,b){var c="/"===b;if(c&&rb)throw new B(10);if(!c&&b){var d=F(b,{oe:!1});b=d.path;d=d.node;if(d.Ld)throw new B(10);if(!E(d.mode))throw new B(54);}b={type:a,Yf:{},Pe:b,tf:[]};a=a.Ad(b);a.Ad=b;b.root=a;c?rb=a:d&&(d.Ld=b,d.Ad&&d.Ad.tf.push(b))}function Mb(a,b,c){var d=F(a,{parent:!0}).node;a=Ta(a);if(!a)throw new B(28);if("."===a||".."===a)throw new B(20);var e=Eb(d,a);if(e)throw new B(e);if(!d.qd.ce)throw new B(63);return d.qd.ce(d,a,b,c)}
|
|
29
|
+
function Nb(a,b=438){return Mb(a,b&4095|32768,0)}function I(a){return Mb(a,16895,0)}function Ob(a,b,c){"undefined"==typeof c&&(c=b,b=438);return Mb(a,b|8192,c)}function Pb(a,b){if(!Wa(a))throw new B(44);var c=F(b,{parent:!0}).node;if(!c)throw new B(44);b=Ta(b);var d=Eb(c,b);if(d)throw new B(d);if(!c.qd.symlink)throw new B(63);c.qd.symlink(c,b,a)}
|
|
30
|
+
function Qb(a){var b=F(a,{parent:!0}).node;a=Ta(a);var c=lb(b,a),d=Fb(b,a,!0);if(d)throw new B(d);if(!b.qd.rmdir)throw new B(63);if(c.Ld)throw new B(10);b.qd.rmdir(b,a);mb(c)}function Rb(a){var b=F(a,{parent:!0}).node;if(!b)throw new B(44);a=Ta(a);var c=lb(b,a),d=Fb(b,a,!1);if(d)throw new B(d);if(!b.qd.unlink)throw new B(63);if(c.Ld)throw new B(10);b.qd.unlink(b,a);mb(c)}function Sb(a,b){a="string"==typeof a?F(a,{Zd:!0}).node:a;Kb(a,{mode:b&4095|a.mode&-4096,ctime:Date.now(),Nf:void 0})}
|
|
31
|
+
function Tb(a,b,c=438){if(""===a)throw new B(44);if("string"==typeof b){var d={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof d)throw Error(`Unknown file open mode: ${b}`);b=d}c=b&64?c&4095|32768:0;if("object"==typeof a)d=a;else{var e=a.endsWith("/");var f=F(a,{Zd:!(b&131072),uf:!0});d=f.node;a=f.path}f=!1;if(b&64)if(d){if(b&128)throw new B(20);}else{if(e)throw new B(31);d=Mb(a,c|511,0);f=!0}if(!d)throw new B(44);8192===(d.mode&61440)&&(b&=-513);if(b&65536&&!E(d.mode))throw new B(54);
|
|
32
|
+
if(!f&&(d?40960===(d.mode&61440)?e=32:(e=["r","w","rw"][b&3],b&512&&(e+="w"),e=E(d.mode)&&("r"!==e||b&576)?31:Db(d,e)):e=44,e))throw new B(e);if(b&512&&!f){e=d;e="string"==typeof e?F(e,{Zd:!0}).node:e;if(E(e.mode))throw new B(31);if(32768!==(e.mode&61440))throw new B(28);if(a=Db(e,"w"))throw new B(a);Kb(e,{size:0,timestamp:Date.now()})}b=Ib({node:d,path:Ab(d),flags:b&-131713,seekable:!0,position:0,rd:d.rd,wf:[],error:!1});b.rd.open&&b.rd.open(b);f&&Sb(d,c&511);return b}
|
|
33
|
+
function Ub(a){if(null===a.fd)throw new B(8);a.qe&&(a.qe=null);try{a.rd.close&&a.rd.close(a)}catch(b){throw b;}finally{tb[a.fd]=null}a.fd=null}function Vb(a,b,c){if(null===a.fd)throw new B(8);if(!a.seekable||!a.rd.Ed)throw new B(70);if(0!=c&&1!=c&&2!=c)throw new B(28);a.position=a.rd.Ed(a,b,c);a.wf=[]}
|
|
34
|
+
function Wb(a,b,c,d,e,f){if(0>d||0>e)throw new B(28);if(null===a.fd)throw new B(8);if(0===(a.flags&2097155))throw new B(8);if(E(a.node.mode))throw new B(31);if(!a.rd.write)throw new B(28);a.seekable&&a.flags&1024&&Vb(a,0,2);var g="undefined"!=typeof e;if(!g)e=a.position;else if(!a.seekable)throw new B(70);b=a.rd.write(a,b,c,d,e,f);g||(a.position+=b);return b}
|
|
35
|
+
function Xb(a,b){a="string"==typeof a?a:Ab(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=Pa(a+"/"+c);try{I(d)}catch(e){if(20!=e.ud)throw e;}a=d}}return d}function Yb(a,b,c,d){a=Pa(("string"==typeof a?a:Ab(a))+"/"+b);return Nb(a,nb(c,d))}function Zb(a,b,c,d,e,f){var g=b;a&&(a="string"==typeof a?a:Ab(a),g=b?Pa(a+"/"+b):a);a=nb(d,e);g=Nb(g,a);c&&("string"==typeof c&&(c=cb(c)),c.subarray||(c=new Uint8Array(c)),Sb(g,a|146),b=Tb(g,577),Wb(b,c,0,c.length,0,f),Ub(b),Sb(g,a))}
|
|
36
|
+
function $b(a,b,c,d){a=Pa(("string"==typeof a?a:Ab(a))+"/"+b);b=nb(!!c,!!d);$b.Oe??($b.Oe=64);var e=$b.Oe++<<8|0;fb(e,{open(f){f.seekable=!1},close(){d?.buffer?.length&&d(10)},read(f,g,k,m){for(var n=0,r=0;r<m;r++){try{var p=c()}catch(u){throw new B(29);}if(void 0===p&&0===n)throw new B(6);if(null===p||void 0===p)break;n++;g[k+r]=p}n&&(f.node.atime=Date.now());return n},write(f,g,k,m){for(var n=0;n<m;n++)try{d(g[k+n])}catch(r){throw new B(29);}m&&(f.node.mtime=f.node.ctime=Date.now());return n}});
|
|
37
|
+
return Ob(a,b,e)}function ac(a){if(!(a.qf||a.rf||a.link||a.sd))if(globalThis.XMLHttpRequest)x("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{a.sd=ka(a.url)}catch(b){throw new B(29);}}
|
|
38
|
+
function bc(a,b,c,d,e){class f{Ae=!1;td=[];ee=void 0;af=0;$e=0;get(n){if(!(n>this.length-1||0>n)){var r=n%this.chunkSize;return this.ee(n/this.chunkSize|0)[r]}}xf(n){this.ee=n}df(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);200<=n.status&&300>n.status||304===n.status||x("Couldn't load "+c+". Status: "+n.status);var r=Number(n.getResponseHeader("Content-length")),p,u=(p=n.getResponseHeader("Accept-Ranges"))&&"bytes"===p;n=(p=n.getResponseHeader("Content-Encoding"))&&"gzip"===p;var A=
|
|
39
|
+
1048576;u||(A=r);var G=this;G.xf(H=>{var J=H*A,L=(H+1)*A-1;L=Math.min(L,r-1);if("undefined"==typeof G.td[H]){var S=G.td;J>L&&x("invalid range ("+J+", "+L+") or no bytes requested!");L>r-1&&x("only "+r+" bytes available! programmer error!");var M=new XMLHttpRequest;M.open("GET",c,!1);r!==A&&M.setRequestHeader("Range","bytes="+J+"-"+L);M.responseType="arraybuffer";M.overrideMimeType&&M.overrideMimeType("text/plain; charset=x-user-defined");M.send(null);200<=M.status&&300>M.status||304===M.status||x("Couldn't load "+
|
|
40
|
+
c+". Status: "+M.status);J=void 0!==M.response?new Uint8Array(M.response||[]):cb(M.responseText||"");S[H]=J}"undefined"==typeof G.td[H]&&x("doXHR failed!");return G.td[H]});if(n||!r)A=r=1,A=r=this.ee(0).length,ma("LazyFiles on gzip forces download of the whole file when length is accessed");this.af=r;this.$e=A;this.Ae=!0}get length(){this.Ae||this.df();return this.af}get chunkSize(){this.Ae||this.df();return this.$e}}if(globalThis.XMLHttpRequest){ba||x("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");
|
|
41
|
+
var g=new f;var k=void 0}else k=c,g=void 0;var m=Yb(a,b,d,e);g?m.sd=g:k&&(m.sd=null,m.url=k);Object.defineProperties(m,{wd:{get:function(){return this.sd.length}}});a={};for(const [n,r]of Object.entries(m.rd))a[n]=(...p)=>{ac(m);return r(...p)};a.read=(n,r,p,u,A)=>{ac(m);n=n.node.sd;if(A>=n.length)r=0;else{u=Math.min(n.length-A,u);if(n.slice)for(var G=0;G<u;G++)r[p+G]=n[A+G];else for(G=0;G<u;G++)r[p+G]=n.get(A+G);r=u}return r};a.ue=()=>{ac(m);x();throw new B(48);};m.rd=a;return m}
|
|
42
|
+
var N={},O=(a,b)=>a?Ya.decode(t.subarray(a,Za(t,a,b))):"";function cc(a,b){if("/"===b.charAt(0))return b;a=-100===a?"/":Hb(a).path;if(0==b.length)throw new B(44);return a+"/"+b}
|
|
43
|
+
var dc=void 0,ec=()=>{var a=v[+dc>>2];dc+=4;return a},fc=0,gc=a=>0===a%4&&(0!==a%100||0===a%400),hc=[0,31,60,91,121,152,182,213,244,274,305,335],ic=[0,31,59,90,120,151,181,212,243,273,304,334],jc={},kc=a=>{a instanceof Ea||"unwind"==a||fa(1,a)},lc=a=>{ra=a;Na||0<fc||(h.onExit?.(a),qa=!0);fa(a,new Ea(a))},mc=()=>{if(!(Na||0<fc))try{var a=ra;ra=a;lc(a)}catch(b){kc(b)}},nc=a=>{if(!qa)try{a()}catch(b){kc(b)}finally{mc()}},xc=(a,b)=>{oc=a;pc=b;if(qc)if(rc||=!0,0==a)sc=function(){setTimeout(tc,Math.max(0,
|
|
44
|
+
uc+b-performance.now())|0)};else if(1==a)sc=function(){vc(tc)};else{if(!wc)if(globalThis.setImmediate)wc=setImmediate;else{var c=[];addEventListener("message",d=>{if("setimmediate"===d.data||"setimmediate"===d.data.target)d.stopPropagation(),c.shift()()},!0);wc=d=>{c.push(d);if(ba){let e;(e=h).setImmediates??(e.setImmediates=[]);h.setImmediates.push(d);postMessage({target:"setimmediate"})}else postMessage("setimmediate","*")}}sc=function(){wc(tc)}}},Gc=(a,b,c,d,e)=>{function f(){return g<yc?(mc(),
|
|
45
|
+
!1):!0}qc=a;zc=d;var g=yc;rc=!1;tc=function(){if(!qa)if(0<Ac.length){var k=Ac.shift();k.Sf(k.zf);if(Bc){var m=Bc,n=0==m%1?m-1:Math.floor(m);Bc=k.Hf?n:(8*m+(n+.5))/9}h.setStatus&&(k=h.statusMessage||"Please wait...",m=Bc??0,n=Cc.Pf??0,m?m<n?h.setStatus("{message} ({expected - remaining}/{expected})"):h.setStatus(k):h.setStatus(""));f()&&setTimeout(tc,0)}else if(f())if(Dc=Dc+1|0,1==oc&&1<pc&&0!=Dc%pc)sc();else{0==oc&&(uc=performance.now());a:if(!qa){for(k of Ec)if(!1===k())break a;nc(a);for(m of Fc)m()}f()&&
|
|
46
|
+
sc()}};e||(0<b?xc(0,1E3/b):xc(1,1),sc());if(c)throw"unwind";},rc=!1,sc=null,yc=0,qc=null,zc=0,oc=0,pc=0,Dc=0,Ac=[],Ec=[],Fc=[];function Hc(){sc=null;yc++}var Ic=0;function vc(a){if(globalThis.requestAnimationFrame)requestAnimationFrame(a);else{var b=Date.now();if(0===Ic)Ic=b+1E3/60;else for(;b+2>=Ic;)Ic+=1E3/60;setTimeout(a,Math.max(Ic-b,0))}}
|
|
47
|
+
var Cc={},uc,tc,wc,Bc,Jc=[0,globalThis.document??0,globalThis.window??0],P=a=>{a=2<a?O(a):a;return Jc[a]||globalThis.document?.querySelector(a)},Kc=a=>0>Jc.indexOf(a)?a.getBoundingClientRect():{left:0,top:0};function Lc(a){var b=Q.xd[a];b.target.removeEventListener(b.vd,b.Le,b.Bd);Q.xd.splice(a,1)}function Mc(){if(navigator.userActivation?navigator.userActivation.isActive:Q.re&&Q.ff.ke){var a=Q.Kd;Q.Kd=[];for(var b of a)b.Be(...b.He)}}
|
|
48
|
+
function Nc(a){if(!a.target)return-4;if(a.yd)a.Le=function(c){++Q.re;Q.ff=a;Mc();a.Dd(c);Mc();--Q.re},a.target.addEventListener(a.vd,a.Le,a.Bd),Q.xd.push(a);else for(var b=0;b<Q.xd.length;++b)Q.xd[b].target==a.target&&Q.xd[b].vd==a.vd&&Lc(b--);return 0}function Oc(a){return a?a==window?"#window":a==screen?"#screen":a?.nodeName||"":""}
|
|
49
|
+
var Q={Af:0,Tf:0,se:0,de:0,Ge:0,De:0,ne:0,Lf:0,Zf:0,Kf:0,pe:0,xe:0,jg:0,Ce:0,ag(){for(;Q.xd.length;)Lc(Q.xd.length-1);Q.Kd=[]},re:0,Kd:[],Jf(a,b,c){function d(f,g){if(f.length!=g.length)return!1;for(var k in f)if(f[k]!=g[k])return!1;return!0}for(var e of Q.Kd)if(e.Be==a&&d(e.He,c))return;Q.Kd.push({Be:a,Se:b,He:c});Q.Kd.sort((f,g)=>f.Se-g.Se)},cg(a){Q.Kd=Q.Kd.filter(b=>b.Be!=a)},xd:[],bg:(a,b)=>{for(var c=0;c<Q.xd.length;++c)Q.xd[c].target!=a||b&&b!=Q.xd[c].vd||Lc(c--)},dg(a){let b=!1;for(let c=0;c<
|
|
50
|
+
Q.xd.length;++c){const d=Q.xd[c];d.target===a.target&&d.zd===a.zd&&d.yd===a.yd&&d.Cd===a.Cd&&(Lc(c--),b=!0)}return b?0:-5},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},Pc=(a,b,c,d,e,f)=>{Q.ne||(Q.ne=R(256));a={target:P(a),vd:f,zd:e,Cd:b,yd:d,Dd:g=>{var k=g.target.id?g.target.id:"",m=Q.ne;z(Oc(g.target),t,m+0,128);z(k,t,m+128,128);T.get(d)(e,m,b)&&g.preventDefault()},Bd:c};return Nc(a)},Qc=(a,b,c,d,e)=>{Q.pe||(Q.pe=R(276));return Nc({target:a,vd:e,zd:19,
|
|
51
|
+
Cd:b,yd:d,Dd:f=>{var g=Q.pe,k=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement||document.msFullscreenElement,m=!!k;l[g]=m;l[g+1]=Q.fullscreenEnabled();var n=m?k:Q.vf,r=n?.id||"";z(Oc(n),t,g+2,128);z(r,t,g+130,128);v[g+260>>2]=n?n.clientWidth:0;v[g+264>>2]=n?n.clientHeight:0;v[g+268>>2]=screen.width;v[g+272>>2]=screen.height;m&&(Q.vf=k);T.get(d)(19,g,b)&&f.preventDefault()},Bd:c})},Rc=(a,b,c,d,e,f)=>{Q.se||(Q.se=R(160));
|
|
52
|
+
a={target:P(a),vd:f,zd:e,Cd:b,yd:d,Dd:g=>{var k=Q.se;xa[k>>3]=g.timeStamp;var m=k>>2;v[m+2]=g.location;l[k+12]=g.ctrlKey;l[k+13]=g.shiftKey;l[k+14]=g.altKey;l[k+15]=g.metaKey;l[k+16]=g.repeat;v[m+5]=g.charCode;v[m+6]=g.keyCode;v[m+7]=g.which;z(g.key||"",t,k+32,32);z(g.code||"",t,k+64,32);z(g.char||"",t,k+96,32);z(g.locale||"",t,k+128,32);T.get(d)(e,k,b)&&g.preventDefault()},Bd:c};return Nc(a)},Sc=(a,b,c)=>{xa[a>>3]=b.timeStamp;var d=a>>2;v[d+2]=b.screenX;v[d+3]=b.screenY;v[d+4]=b.clientX;v[d+5]=b.clientY;
|
|
53
|
+
l[a+24]=b.ctrlKey;l[a+25]=b.shiftKey;l[a+26]=b.altKey;l[a+27]=b.metaKey;q[2*d+14]=b.button;q[2*d+15]=b.buttons;v[d+8]=b.movementX;v[d+9]=b.movementY;a=Kc(c);v[d+10]=b.clientX-(a.left|0);v[d+11]=b.clientY-(a.top|0)},Tc=(a,b,c,d,e,f)=>{Q.de||(Q.de=R(64));a=P(a);return Nc({target:a,ke:"mousemove"!=f&&"mouseenter"!=f&&"mouseleave"!=f,vd:f,zd:e,Cd:b,yd:d,Dd:g=>{Sc(Q.de,g,a);T.get(d)(e,Q.de,b)&&g.preventDefault()},Bd:c})},Uc=(a,b,c,d)=>{Q.xe||(Q.xe=R(257));return Nc({target:a,vd:"pointerlockchange",zd:20,
|
|
54
|
+
Cd:b,yd:d,Dd:e=>{var f=Q.xe,g=document.pointerLockElement;l[f]=!!g;var k=g?.id||"";z(Oc(g),t,f+1,128);z(k,t,f+129,128);T.get(d)(20,f,b)&&e.preventDefault()},Bd:c})},Vc=(a,b,c,d)=>Nc({target:a,vd:"pointerlockerror",zd:38,Cd:b,yd:d,Dd:e=>{T.get(d)(38,0,b)&&e.preventDefault()},Bd:c}),Wc=(a,b,c,d)=>{Q.De||(Q.De=R(36));a=P(a);return Nc({target:a,vd:"resize",zd:10,Cd:b,yd:d,Dd:e=>{if(e.target==a){var f=document.body;if(f){var g=Q.De;v[g>>2]=0;v[g+4>>2]=f.clientWidth;v[g+8>>2]=f.clientHeight;v[g+12>>2]=
|
|
55
|
+
innerWidth;v[g+16>>2]=innerHeight;v[g+20>>2]=outerWidth;v[g+24>>2]=outerHeight;v[g+28>>2]=pageXOffset|0;v[g+32>>2]=pageYOffset|0;T.get(d)(10,g,b)&&e.preventDefault()}}},Bd:c})},Xc=(a,b,c,d,e,f)=>{Q.Ce||(Q.Ce=R(1552));a=P(a);return Nc({target:a,ke:"touchstart"==f||"touchend"==f,vd:f,zd:e,Cd:b,yd:d,Dd:g=>{var k={},m=g.touches;for(var n of m)n.Ne=n.Re=0,k[n.identifier]=n;for(var r of g.changedTouches)r.Ne=1,k[r.identifier]=r;for(var p of g.targetTouches)k[p.identifier].Re=1;m=Q.Ce;xa[m>>3]=g.timeStamp;
|
|
56
|
+
l[m+12]=g.ctrlKey;l[m+13]=g.shiftKey;l[m+14]=g.altKey;l[m+15]=g.metaKey;n=m+16;r=Kc(a);p=0;for(let u of Object.values(k))if(k=n>>2,v[k]=u.identifier,v[k+1]=u.screenX,v[k+2]=u.screenY,v[k+3]=u.clientX,v[k+4]=u.clientY,v[k+5]=u.pageX,v[k+6]=u.pageY,l[n+28]=u.Ne,l[n+29]=u.Re,v[k+8]=u.clientX-(r.left|0),v[k+9]=u.clientY-(r.top|0),n+=48,31<++p)break;v[m+8>>2]=p;T.get(d)(e,m,b)&&g.preventDefault()},Bd:c})},U,Yc=a=>{var b="EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
|
|
57
|
+
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},Zc=1,$c=[],V=[],ad=[],bd=[],cd=[],W=[],dd=[],ed=[],fd=[],gd=[1,1,2,2,4,4,4,2,3,4,8],hd={},jd=4,kd=0,ld=a=>{for(var b=Zc++,c=a.length;c<b;c++)a[c]=null;for(;a[b];)b=Zc++;return b},md=(a,b,c,d)=>{for(var e=0;e<a;e++){var f=U[c](),g=f&&ld(d);f?(f.name=g,d[g]=f):X||=1282;v[b+4*e>>2]=g}},nd=a=>{a=32-Math.clz32(0===a?0:a-1);var b=Y.Td[a];if(b)return b;b=U.getParameter(34965);Y.Td[a]=U.createBuffer();U.bindBuffer(34963,Y.Td[a]);U.bufferData(34963,
|
|
58
|
+
1<<a,35048);U.bindBuffer(34963,b);return Y.Td[a]},pd=a=>{od=!1;for(var b=0;b<Y.te;++b){var c=Y.Nd[b];if(c.Pd&&c.enabled){od=!0;var d=c.size;var e=c.type,f=c.stride;d=0<f?a*f:d*gd[e-5120]*a;e=32-Math.clz32(0===d?0:d-1);f=Y.Ud[e];var g=Y.Md[e];Y.Md[e]=Y.Md[e]+1&63;var k=f[g];k?e=k:(k=U.getParameter(34964),f[g]=U.createBuffer(),U.bindBuffer(34962,f[g]),U.bufferData(34962,1<<e,35048),U.bindBuffer(34962,k),e=f[g]);U.bindBuffer(34962,e);U.bufferSubData(34962,0,t.subarray(c.Wd,c.Wd+d));c.Fe.call(U,b,c.size,
|
|
59
|
+
c.type,c.ve,c.stride,0)}}},rd=(a,b)=>{a.td||(a.td=a.getContext,a.getContext=function(d,e){e=a.td(d,e);return"webgl"==d==e instanceof WebGLRenderingContext?e:null});var c=a.getContext("webgl2",b);return c?qd(c,b):0},qd=(a,b)=>{var c=ld(ed),d={handle:c,attributes:b,version:b.sf,ie:a};a.canvas&&(a.canvas.yf=d);ed[c]=d;if("undefined"==typeof b.Ke||b.Ke)if((a=d)||(a=Y),!a.kf){a.kf=!0;b=a.ie;b.Xf=b.getExtension("WEBGL_multi_draw");b.Rf=b.getExtension("EXT_polygon_offset_clamp");b.Qf=b.getExtension("EXT_clip_control");
|
|
60
|
+
b.kg=b.getExtension("WEBGL_polygon_mode");b.Mf=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Vf=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Je=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Je)b.Je=b.getExtension("EXT_disjoint_timer_query");for(var e of Yc(b))e.includes("lose_context")||e.includes("debug")||b.getExtension(e)}d.te=d.ie.getParameter(34921);d.Nd=[];for(e=0;e<d.te;e++)d.Nd[e]={enabled:!1,Pd:!1,size:0,
|
|
61
|
+
type:0,ve:0,stride:0,Wd:0,Fe:null};d.Md=[];d.he=[];d.Md.length=d.he.length=22;d.Ud=[];d.Xd=[];d.Ud.length=d.Xd.length=22;d.Td=[];d.Td.length=22;for(e=0;21>=e;++e){d.Td[e]=null;d.Md[e]=d.he[e]=0;d.Ud[e]=[];d.Xd[e]=[];a=d.Ud[e];b=d.Xd[e];a.length=b.length=64;for(var f=0;64>f;++f)a[f]=b[f]=null}return c},X,Y,od,sd=(a,b,c,d,e,f)=>{a={target:P(a),vd:f,zd:e,Cd:b,yd:d,Dd:g=>{T.get(d)(e,0,b)&&g.preventDefault()},Bd:c};Nc(a)},td=(a,b,c,d)=>{Q.Ge||(Q.Ge=R(96));return Nc({target:a,ke:!0,vd:"wheel",zd:9,Cd:b,
|
|
62
|
+
yd:d,Dd:e=>{var f=Q.Ge;Sc(f,e,a);xa[f+64>>3]=e.deltaX;xa[f+72>>3]=e.deltaY;xa[f+80>>3]=e.deltaZ;v[f+88>>2]=e.deltaMode;T.get(d)(9,f,b)&&e.preventDefault()},Bd:c})};function ud(a){var b=vd,c=b.td.pop()||b.Od.length;b.Od[c]=a;return c}class wd{Od=[void 0];td=[];get(a){return this.Od[a]}has(a){return void 0!==this.Od[a]}}
|
|
63
|
+
async function xd(){return new Promise((a,b)=>{try{var c=indexedDB.open("emscripten_filesystem",1)}catch(d){return b(d)}c.onupgradeneeded=d=>{d=d.target.result;d.objectStoreNames.contains("FILES")&&d.deleteObjectStore("FILES");d.createObjectStore("FILES")};c.onsuccess=d=>a(d.target.result);c.onerror=b})}var vd,yd;
|
|
64
|
+
function zd(a,b,c,d,e){function f(){var K=0,D=0;y.response&&L&&0===w[a+12>>2]&&(D=y.response.byteLength);0<D&&(K=Ad(w[a+12>>2],D),t.set(new Uint8Array(y.response),K));w[a+12>>2]=K;Z(a+16,D);Z(a+24,0);(K=y.response?y.response.byteLength:0)&&Z(a+32,K);q[a+40>>1]=y.readyState;q[a+42>>1]=y.status;y.statusText&&z(y.statusText,t,a+44,64);M&&(K=Bd(y.responseURL),w[a+200>>2]=K)}var g=w[a+8>>2];if(g){var k=O(g),m=a+108,n=O(m+0);n||="GET";var r=w[m+56>>2],p=w[m+68>>2],u=w[m+72>>2];g=w[m+76>>2];var A=w[m+80>>
|
|
65
|
+
2],G=w[m+84>>2],H=w[m+88>>2],J=w[m+52>>2],L=!!(J&1),S=!!(J&2),M=!!(J&64);p=p?O(p):void 0;u=u?O(u):void 0;var y=new XMLHttpRequest;y.withCredentials=!!t[m+60];y.td=S;y.open(n,k,!M,p,u);M||(y.timeout=r);y.ee=k;y.responseType="arraybuffer";A&&(k=O(A),y.overrideMimeType(k));if(g)for(;;){m=w[g>>2];if(!m)break;k=w[g+4>>2];if(!k)break;g+=8;m=O(m);k=O(k);y.setRequestHeader(m,k)}var pa=ud(y);w[a>>2]=pa;g=G&&H?t.slice(G,G+H):null;y.onload=K=>{vd.has(pa)&&(f(),200<=y.status&&300>y.status?b(a,y,K):c(a,K))};y.onerror=
|
|
66
|
+
K=>{vd.has(pa)&&(f(),c(a,K))};y.ontimeout=K=>{vd.has(pa)&&c(a,K)};y.onprogress=K=>{if(vd.has(pa)){var D=L&&S&&y.response?y.response.byteLength:0,Qa=0;0<D&&L&&S&&(Qa=Ad(w[a+12>>2],D),t.set(new Uint8Array(y.response),Qa));w[a+12>>2]=Qa;Z(a+16,D);Z(a+24,K.loaded-D);Z(a+32,K.total);q[a+40>>1]=y.readyState;D=y.status;3<=y.readyState&&0===y.status&&0<K.loaded&&(D=200);q[a+42>>1]=D;y.statusText&&z(y.statusText,t,a+44,64);d(a,K)}};y.onreadystatechange=K=>{if(vd.has(pa)){q[a+40>>1]=y.readyState;2<=y.readyState&&
|
|
67
|
+
(q[a+42>>1]=y.status);if(!M&&2===y.readyState&&0<y.responseURL.length){var D=Bd(y.responseURL);w[a+200>>2]=D}e(a,K)}};try{y.send(g)}catch(K){c(a,K)}}else c(a,"no url specified!")}var Z=(a,b)=>{w[a>>2]=b;w[a+4>>2]=(b-w[a>>2])/4294967296},Bd=a=>{var b=bb(a)+1,c=R(b);c&&z(a,t,c,b);return c};
|
|
68
|
+
function Cd(a,b,c,d){var e=yd;if(e){var f=w[a+108+64>>2];f||=w[a+8>>2];var g=O(f);try{var k=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(b,g);k.onsuccess=()=>{q[a+40>>1]=4;q[a+42>>1]=200;z("OK",t,a+44,64);c(a,0,g)};k.onerror=m=>{q[a+40>>1]=4;q[a+42>>1]=413;z("Payload Too Large",t,a+44,64);d(a,0,m)}}catch(m){d(a,0,m)}}else d(a,0,"IndexedDB not available!")}
|
|
69
|
+
function Dd(a,b,c){var d=yd;if(d){var e=w[a+108+64>>2];e||=w[a+8>>2];e=O(e);try{var f=d.transaction(["FILES"],"readonly").objectStore("FILES").get(e);f.onsuccess=g=>{if(g.target.result){g=g.target.result;var k=g.byteLength||g.length,m=R(k);t.set(new Uint8Array(g),m);w[a+12>>2]=m;Z(a+16,k);Z(a+24,0);Z(a+32,k);q[a+40>>1]=4;q[a+42>>1]=200;z("OK",t,a+44,64);b(a,0,g)}else q[a+40>>1]=4,q[a+42>>1]=404,z("Not Found",t,a+44,64),c(a,0,"no data")};f.onerror=g=>{q[a+40>>1]=4;q[a+42>>1]=404;z("Not Found",t,a+
|
|
70
|
+
44,64);c(a,0,g)}}catch(g){c(a,0,g)}}else c(a,0,"IndexedDB not available!")}function Ed(a,b,c){var d=yd;if(d){var e=w[a+108+64>>2];e||=w[a+8>>2];e=O(e);try{var f=d.transaction(["FILES"],"readwrite").objectStore("FILES").delete(e);f.onsuccess=g=>{g=g.target.result;w[a+12>>2]=0;Z(a+16,0);Z(a+24,0);Z(a+32,0);q[a+40>>1]=4;q[a+42>>1]=200;z("OK",t,a+44,64);b(a,0,g)};f.onerror=g=>{q[a+40>>1]=4;q[a+42>>1]=404;z("Not Found",t,a+44,64);c(a,0,g)}}catch(g){c(a,0,g)}}else c(a,0,"IndexedDB not available!")}
|
|
71
|
+
var Fd=["default","low-power","high-performance"],Gd={},Id=()=>{if(!Hd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ea||"./this.program"},b;for(b in Gd)void 0===Gd[b]?delete a[b]:a[b]=Gd[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Hd=c}return Hd},Hd,Jd=[],Kd=()=>{var a=Yc(U);return a=a.concat(a.map(b=>"GL_"+b))},Ld=(a,b)=>{if(b){var c=void 0;switch(a){case 36346:c=1;break;case 36344:return;
|
|
72
|
+
case 34814:case 36345:c=0;break;case 34466:var d=U.getParameter(34467);c=d?d.length:0;break;case 33309:if(2>Y.version){X||=1282;return}c=Kd().length;break;case 33307:case 33308:if(2>Y.version){X||=1280;return}c=33307==a?3:0}if(void 0===c)switch(d=U.getParameter(a),typeof d){case "number":c=d;break;case "boolean":c=d?1:0;break;case "string":X||=1280;return;case "object":if(null===d)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:c=
|
|
73
|
+
0;break;default:X||=1280;return}else{if(d instanceof Float32Array||d instanceof Uint32Array||d instanceof Int32Array||d instanceof Array){for(a=0;a<d.length;++a)v[b+4*a>>2]=d[a];return}try{c=d.name|0}catch(e){X||=1280;na(`GL_INVALID_ENUM in glGet${0}v: Unknown object returned from WebGL getParameter(${a})! (error: ${e})`);return}}break;default:X||=1280;na(`GL_INVALID_ENUM in glGet${0}v: Native code calling glGet${0}v(${a}) and it returns ${d} of type ${typeof d}!`);return}v[b>>2]=c}else X||=1281},
|
|
74
|
+
Md=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Nd=a=>{a-=5120;return 0==a?l:1==a?t:2==a?q:4==a?v:6==a?wa:5==a||28922==a||28520==a||30779==a||30782==a?w:va},Od=a=>{var b=U.gf;if(b){var c=b.Yd[a];"number"==typeof c&&(b.Yd[a]=c=U.getUniformLocation(b,b.bf[a]+(0<c?`[${c}]`:"")));return c}X||=1282},Qd=a=>{var b=bb(a)+1,c=Pd(b);z(a,t,c,b);return c},Td=a=>{var b=Rd();a();Sd(b)};vb=Array(4096);Lb(C,"/");I("/tmp");I("/home");I("/home/web_user");
|
|
75
|
+
(function(){I("/dev");fb(259,{read:()=>0,write:(d,e,f,g)=>g,Ed:()=>0});Ob("/dev/null",259);eb(1280,hb);eb(1536,ib);Ob("/dev/tty",1280);Ob("/dev/tty1",1536);var a=new Uint8Array(1024),b=0,c=()=>{0===b&&(Va(a),b=a.byteLength);return a[--b]};$b("/dev","random",c);$b("/dev","urandom",c);I("/dev/shm");I("/dev/shm/tmp")})();
|
|
76
|
+
(function(){I("/proc");var a=I("/proc/self");I("/proc/self/fd");Lb({Ad(){var b=kb(a,"fd",16895,73);b.rd={Ed:C.rd.Ed};b.qd={lookup(c,d){c=+d;var e=Hb(c);c={parent:null,Ad:{Pe:"fake"},qd:{readlink:()=>e.path},id:c+1};return c.parent=c},readdir(){return Array.from(tb.entries()).filter(([,c])=>c).map(([c])=>c.toString())}};return b}},"/proc/self/fd")})();h.requestAnimationFrame=vc;h.pauseMainLoop=Hc;h.resumeMainLoop=function(){yc++;var a=oc,b=pc,c=qc;qc=null;Gc(c,0,!1,zc,!0);xc(a,b);sc()};
|
|
77
|
+
h.preMainLoop&&Ec.push(h.preMainLoop);h.postMainLoop&&Fc.push(h.postMainLoop);var Ud=()=>{if(Y){var a=Y.Ud;Y.Ud=Y.Xd;Y.Xd=a;a=Y.Md;Y.Md=Y.he;Y.he=a;for(a=0;21>=a;++a)Y.Md[a]=0}};"undefined"!=typeof Cc&&Ec.push(Ud);(async function(){vd=new wd;Ma("library_fetch_init");try{yd=await xd()}catch(a){yd=!1}finally{La("library_fetch_init")}})();for(let a=0;32>a;++a)Jd.push(Array(a));h.noExitRuntime&&(Na=h.noExitRuntime);h.preloadPlugins&&(pb=h.preloadPlugins);h.print&&(ma=h.print);h.printErr&&(na=h.printErr);
|
|
78
|
+
h.wasmBinary&&(oa=h.wasmBinary);h.arguments&&(da=h.arguments);h.thisProgram&&(ea=h.thisProgram);if(h.preInit)for("function"==typeof h.preInit&&(h.preInit=[h.preInit]);0<h.preInit.length;)h.preInit.shift()();h.addRunDependency=Ma;h.removeRunDependency=La;
|
|
79
|
+
h.ccall=(a,b,c,d)=>{var e={string:n=>{var r=0;null!==n&&void 0!==n&&0!==n&&(r=Qd(n));return r},array:n=>{var r=Pd(n.length);l.set(n,r);return r}};a=h["_"+a];var f=[],g=0;if(d)for(var k=0;k<d.length;k++){var m=e[c[k]];m?(0===g&&(g=Rd()),f[k]=m(d[k])):f[k]=d[k]}c=a(...f);return c=function(n){0!==g&&Sd(g);return"string"===b?O(n):"boolean"===b?!!n:n}(c)};
|
|
80
|
+
h.FS_preloadFile=async(a,b,c,d,e,f,g,k)=>{var m=b?Wa(Pa(a+"/"+b)):a,n=`cp ${m}`;Ma(n);try{var r=c;"string"==typeof c&&(r=await ob(c));r=await qb(r,m);k?.();f||Zb(a,b,r,d,e,g)}finally{La(n)}};h.FS_unlink=(...a)=>Rb(...a);h.FS_createPath=(...a)=>Xb(...a);h.FS_createDevice=(...a)=>$b(...a);h.FS_createDataFile=(...a)=>Zb(...a);h.FS_createLazyFile=(...a)=>bc(...a);
|
|
81
|
+
function Vd(){h.__nhIdbOpen||(h.__nhIdbOpen=function(){return new Promise(function(a,b){var c=indexedDB.open("nodehammer",1);c.onupgradeneeded=function(){var d=c.result;d.objectStoreNames.contains("blobs")||d.createObjectStore("blobs")};c.onsuccess=function(){a(c.result)};c.onerror=function(){b(c.error)}})})}
|
|
82
|
+
var Wd,R,Ad,Xd,Yd,Zd,$d,ae,be,ce,za,Sd,Pd,Rd,ua,T,de={Gb:function(a,b){try{var c=Hb(a);if(c.fd===b)return-28;if(0>b||4096<=b)return-8;var d=tb[b];d&&Ub(d);return Jb(c,b).fd}catch(e){if("undefined"==typeof N||"ErrnoError"!==e.name)throw e;return-e.ud}},x:function(a,b,c){dc=c;try{var d=Hb(a);switch(b){case 0:var e=ec();if(0>e)break;for(;tb[e];)e++;return Jb(d,e).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=ec(),d.flags|=e,0;case 12:return e=ec(),q[e+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(f){if("undefined"==
|
|
83
|
+
typeof N||"ErrnoError"!==f.name)throw f;return-f.ud}},Jb:function(a,b,c){dc=c;try{var d=Hb(a);switch(b){case 21509:return d.tty?0:-59;case 21505:if(!d.tty)return-59;if(d.tty.Id.mf){a=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var e=ec();v[e>>2]=25856;v[e+4>>2]=5;v[e+8>>2]=191;v[e+12>>2]=35387;for(var f=0;32>f;f++)l[e+f+17]=a[f]||0}return 0;case 21510:case 21511:case 21512:return d.tty?0:-59;case 21506:case 21507:case 21508:if(!d.tty)return-59;if(d.tty.Id.nf)for(e=
|
|
84
|
+
ec(),a=[],f=0;32>f;f++)a.push(l[e+f+17]);return 0;case 21519:if(!d.tty)return-59;e=ec();return v[e>>2]=0;case 21520:return d.tty?-28:-59;case 21537:case 21531:e=ec();if(!d.rd.lf)throw new B(59);return d.rd.lf(d,b,e);case 21523:if(!d.tty)return-59;d.tty.Id.pf&&(f=[24,80],e=ec(),q[e>>1]=f[0],q[e+2>>1]=f[1]);return 0;case 21524:return d.tty?0:-59;case 21515:return d.tty?0:-59;default:return-28}}catch(g){if("undefined"==typeof N||"ErrnoError"!==g.name)throw g;return-g.ud}},y:function(a,b,c,d){dc=d;try{b=
|
|
85
|
+
O(b);b=cc(a,b);var e=d?ec():0;return Tb(b,c,e).fd}catch(f){if("undefined"==typeof N||"ErrnoError"!==f.name)throw f;return-f.ud}},wb:function(a,b,c,d){try{b=O(b);d=O(d);b=cc(a,b);d=cc(c,d);a=b;var e=Sa(a),f=Sa(d),g=Ta(a),k=Ta(d);var m=F(a,{parent:!0});var n=m.node;m=F(d,{parent:!0});var r=m.node;if(!n||!r)throw new B(44);if(n.Ad!==r.Ad)throw new B(75);var p=lb(n,g),u=Xa(a,f);if("."!==u.charAt(0))throw new B(28);u=Xa(d,e);if("."!==u.charAt(0))throw new B(55);try{var A=lb(r,k)}catch(J){}if(p!==A){var G=
|
|
86
|
+
E(p.mode),H=Fb(n,g,G);if(H)throw new B(H);if(H=A?Fb(r,k,G):Eb(r,k))throw new B(H);if(!n.qd.rename)throw new B(63);if(p.Ld||A&&A.Ld)throw new B(10);if(r!==n&&(H=Db(n,"w")))throw new B(H);mb(p);try{n.qd.rename(p,r,k),p.parent=r}catch(J){throw J;}finally{Cb(p)}}return 0}catch(J){if("undefined"==typeof N||"ErrnoError"!==J.name)throw J;return-J.ud}},xb:function(a){try{return a=O(a),Qb(a),0}catch(b){if("undefined"==typeof N||"ErrnoError"!==b.name)throw b;return-b.ud}},vb:function(a,b){try{a=O(a);var c=
|
|
87
|
+
F(a,{Zd:!0}).node;var d=Gb(c.qd.Hd)(c);w[b>>2]=d.dev;w[b+4>>2]=d.mode;w[b+8>>2]=d.nlink;w[b+12>>2]=d.uid;w[b+16>>2]=d.gid;w[b+20>>2]=d.rdev;ya[b+24>>3]=BigInt(d.size);v[b+32>>2]=4096;v[b+36>>2]=d.blocks;var e=d.atime.getTime(),f=d.mtime.getTime(),g=d.ctime.getTime();ya[b+40>>3]=BigInt(Math.floor(e/1E3));w[b+48>>2]=e%1E3*1E6;ya[b+56>>3]=BigInt(Math.floor(f/1E3));w[b+64>>2]=f%1E3*1E6;ya[b+72>>3]=BigInt(Math.floor(g/1E3));w[b+80>>2]=g%1E3*1E6;ya[b+88>>3]=BigInt(d.ino);return 0}catch(k){if("undefined"==
|
|
88
|
+
typeof N||"ErrnoError"!==k.name)throw k;return-k.ud}},qa:function(a,b,c){try{b=O(b);b=cc(a,b);if(c)if(512===c)Qb(b);else return-28;else Rb(b);return 0}catch(d){if("undefined"==typeof N||"ErrnoError"!==d.name)throw d;return-d.ud}},Pb:()=>x(""),zb:()=>{Na=!1;fc=0},ub:a=>{if(ca){if(!a)return 1;a=O(a);if(!a.length)return 0;a=require("node:child_process").hg(a,[],{fg:!0,stdio:"inherit"});var b=(c,d)=>c<<8|d;return null===a.status?b(0,(c=>{switch(c){case "SIGHUP":return 1;case "SIGQUIT":return 3;case "SIGFPE":return 8;
|
|
89
|
+
case "SIGKILL":return 9;case "SIGALRM":return 14;case "SIGTERM":return 15;default:return 2}})(a.signal)):a.status<<8|0}return a?-52:0},Ab:function(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);a=new Date(1E3*a);v[b>>2]=a.getUTCSeconds();v[b+4>>2]=a.getUTCMinutes();v[b+8>>2]=a.getUTCHours();v[b+12>>2]=a.getUTCDate();v[b+16>>2]=a.getUTCMonth();v[b+20>>2]=a.getUTCFullYear()-1900;v[b+24>>2]=a.getUTCDay();v[b+28>>2]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0},Bb:function(a,
|
|
90
|
+
b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);a=new Date(1E3*a);v[b>>2]=a.getSeconds();v[b+4>>2]=a.getMinutes();v[b+8>>2]=a.getHours();v[b+12>>2]=a.getDate();v[b+16>>2]=a.getMonth();v[b+20>>2]=a.getFullYear()-1900;v[b+24>>2]=a.getDay();v[b+28>>2]=(gc(a.getFullYear())?hc:ic)[a.getMonth()]+a.getDate()-1|0;v[b+36>>2]=-(60*a.getTimezoneOffset());var c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset(),d=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();v[b+32>>2]=(c!=d&&a.getTimezoneOffset()==
|
|
91
|
+
Math.min(d,c))|0},Cb:function(a){var b=new Date(v[a+20>>2]+1900,v[a+16>>2],v[a+12>>2],v[a+8>>2],v[a+4>>2],v[a>>2],0),c=v[a+32>>2],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),g=Math.min(f,e);0>c?v[a+32>>2]=Number(e!=f&&g==d):0<c!=(g==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<c?g:e)-d)));v[a+24>>2]=b.getDay();v[a+28>>2]=(gc(b.getFullYear())?hc:ic)[b.getMonth()]+b.getDate()-1|0;v[a>>2]=b.getSeconds();v[a+
|
|
92
|
+
4>>2]=b.getMinutes();v[a+8>>2]=b.getHours();v[a+12>>2]=b.getDate();v[a+16>>2]=b.getMonth();v[a+20>>2]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)},sb:(a,b)=>{jc[a]&&(clearTimeout(jc[a].id),delete jc[a]);if(!b)return 0;var c=setTimeout(()=>{delete jc[a];nc(()=>ce(a,performance.now()))},b);jc[a]={id:c,ig:b};return 0},Db:function(a){var b=new Date(Date.UTC(v[a+20>>2]+1900,v[a+16>>2],v[a+12>>2],v[a+8>>2],v[a+4>>2],v[a>>2],0));v[a+24>>2]=b.getUTCDay();v[a+28>>2]=(b.getTime()-Date.UTC(b.getUTCFullYear(),
|
|
93
|
+
0,1,0,0,0,0))/864E5|0;return BigInt(b.getTime()/1E3)},Eb:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();w[a>>2]=60*Math.max(f,e);v[b>>2]=Number(f!=e);b=g=>{var k=Math.abs(g);return`UTC${0<=g?"-":"+"}${String(Math.floor(k/60)).padStart(2,"0")}${String(k%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(z(a,t,c,17),z(b,t,d,17)):(z(a,t,d,17),z(b,t,c,17))},Ob:function(a,b,c){if(!(0<=a&&3>=a))return 28;ya[c>>3]=BigInt(Math.round(1E6*(0===
|
|
94
|
+
a?Date.now():performance.now())));return 0},hc:()=>{Hc();qc=null},Nb:()=>Date.now(),Qb:function(a){if(vd.has(a)){var b=vd.get(a),c=vd;c.Od[a]=void 0;c.td.push(a);0<b.readyState&&4>b.readyState&&b.abort()}},ka:()=>globalThis.devicePixelRatio??1,ma:(a,b,c)=>{a=P(a);if(!a)return-4;a=Kc(a);xa[b>>3]=a.width;xa[c>>3]=a.height;return 0},B:()=>performance.now(),Sb:()=>!ba,ic:()=>performance.now(),$a:(a,b)=>{function c(d){T.get(a)(d,b)&&requestAnimationFrame(c)}return requestAnimationFrame(c)},tb:a=>{var b=
|
|
95
|
+
t.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-ua.buffer.byteLength+65535)/65536|0;try{ua.grow(d);ta();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},T:(a,b,c,d)=>Pc(a,b,c,d,12,"blur"),ja:(a,b,c)=>{a=P(a);if(!a)return-4;a.width=b;a.height=c;return 0},U:(a,b,c,d)=>Pc(a,b,c,d,13,"focus"),S:(a,b,c,d)=>{if(!Q.fullscreenEnabled())return-1;a=P(a);if(!a)return-4;Qc(a,b,
|
|
96
|
+
c,d,"webkitfullscreenchange");return Qc(a,b,c,d,"fullscreenchange")},ca:(a,b,c,d)=>Rc(a,b,c,d,2,"keydown"),aa:(a,b,c,d)=>Rc(a,b,c,d,1,"keypress"),ba:(a,b,c,d)=>Rc(a,b,c,d,3,"keyup"),ab:(a,b,c)=>{a=T.get(a);Gc(a,b,c)},ia:(a,b,c,d)=>Tc(a,b,c,d,5,"mousedown"),fa:(a,b,c,d)=>Tc(a,b,c,d,33,"mouseenter"),ea:(a,b,c,d)=>Tc(a,b,c,d,34,"mouseleave"),ga:(a,b,c,d)=>Tc(a,b,c,d,8,"mousemove"),ha:(a,b,c,d)=>Tc(a,b,c,d,6,"mouseup"),W:(a,b,c,d)=>document.body?.requestPointerLock?(a=P(a))?Uc(a,b,c,d):-4:-1,V:(a,b,c,
|
|
97
|
+
d)=>document.body?.requestPointerLock?(a=P(a))?Vc(a,b,c,d):-4:-1,la:(a,b,c,d)=>Wc(a,b,c,d),X:(a,b,c,d)=>Xc(a,b,c,d,25,"touchcancel"),Y:(a,b,c,d)=>Xc(a,b,c,d,23,"touchend"),Z:(a,b,c,d)=>Xc(a,b,c,d,24,"touchmove"),_:(a,b,c,d)=>Xc(a,b,c,d,22,"touchstart"),Q:(a,b,c,d)=>{sd(a,b,c,d,31,"webglcontextlost");return 0},P:(a,b,c,d)=>{sd(a,b,c,d,32,"webglcontextrestored");return 0},da:(a,b,c,d)=>(a=P(a))?"undefined"!=typeof a.onwheel?td(a,b,c,d):-1:-4,Rb:function(a,b,c,d,e){function f(D){u?D():nc(D)}var g=a+
|
|
98
|
+
108,k=w[g+36>>2],m=w[g+40>>2],n=w[g+44>>2],r=w[g+48>>2],p=w[g+52>>2],u=!!(p&64),A=D=>{f(()=>{k?T.get(k)(D):b?.(D)})},G=D=>{f(()=>{n?T.get(n)(D):d?.(D)})},H=D=>{f(()=>{m?T.get(m)(D):c?.(D)})},J=D=>{f(()=>{r?T.get(r)(D):e?.(D)})},L=D=>{zd(D,A,H,G,J)},S=(D,Qa)=>{Cd(D,Qa.response,Ra=>{f(()=>{k?T.get(k)(Ra):b?.(Ra)})},Ra=>{f(()=>{k?T.get(k)(Ra):b?.(Ra)})})},M=D=>{zd(D,S,H,G,J)},y=O(g+0),pa=!!(p&16),K=!!(p&4);p=!!(p&32);if("EM_IDB_STORE"===y)L=w[g+84>>2],Cd(a,t.slice(L,L+w[g+88>>2]),A,H);else if("EM_IDB_DELETE"===
|
|
99
|
+
y)Ed(a,A,H);else if(pa){if(p)return 0;zd(a,K?S:A,H,G,J)}else Dd(a,A,p?H:K?M:L);return a},fb:(a,b)=>{var c=b>>2;b={alpha:!!l[b+0],depth:!!l[b+1],stencil:!!l[b+2],antialias:!!l[b+3],premultipliedAlpha:!!l[b+4],preserveDrawingBuffer:!!l[b+5],powerPreference:Fd[v[c+2]],failIfMajorPerformanceCaveat:!!l[b+12],sf:v[c+4],Wf:v[c+5],Ke:l[b+24],jf:l[b+25],$f:v[c+7],eg:l[b+32]};a=P(a);return!a||b.jf?0:rd(a,b)},eb:a=>{Y=ed[a];h.ctx=U=Y?.ie;return!a||U?0:-5},Kb:(a,b)=>{var c=0,d=0,e;for(e of Id()){var f=b+c;w[a+
|
|
100
|
+
d>>2]=f;c+=z(e,t,f,Infinity)+1;d+=4}return 0},Mb:(a,b)=>{var c=Id();w[a>>2]=c.length;a=0;for(var d of c)a+=bb(d)+1;w[b>>2]=a;return 0},Ka:a=>{ra=a;lc(a)},t:function(a){try{var b=Hb(a);Ub(b);return 0}catch(c){if("undefined"==typeof N||"ErrnoError"!==c.name)throw c;return c.ud}},Ib:function(a,b,c,d){try{a:{var e=Hb(a);a=b;for(var f,g=b=0;g<c;g++){var k=w[a>>2],m=w[a+4>>2];a+=8;var n=e,r=k,p=m,u=f,A=l;if(0>p||0>u)throw new B(28);if(null===n.fd)throw new B(8);if(1===(n.flags&2097155))throw new B(8);if(E(n.node.mode))throw new B(31);
|
|
101
|
+
if(!n.rd.read)throw new B(28);var G="undefined"!=typeof u;if(!G)u=n.position;else if(!n.seekable)throw new B(70);var H=n.rd.read(n,A,r,p,u);G||(n.position+=H);var J=H;if(0>J){var L=-1;break a}b+=J;if(J<m)break;"undefined"!=typeof f&&(f+=J)}L=b}w[d>>2]=L;return 0}catch(S){if("undefined"==typeof N||"ErrnoError"!==S.name)throw S;return S.ud}},Fb:function(a,b,c,d){b=-9007199254740992>b||9007199254740992<b?NaN:Number(b);try{if(isNaN(b))return 61;var e=Hb(a);Vb(e,b,c);ya[d>>3]=BigInt(e.position);e.qe&&
|
|
102
|
+
0===b&&0===c&&(e.qe=null);return 0}catch(f){if("undefined"==typeof N||"ErrnoError"!==f.name)throw f;return f.ud}},Hb:function(a,b,c,d){try{a:{var e=Hb(a);a=b;for(var f,g=b=0;g<c;g++){var k=w[a>>2],m=w[a+4>>2];a+=8;var n=Wb(e,l,k,m,f);if(0>n){var r=-1;break a}b+=n;if(n<m)break;"undefined"!=typeof f&&(f+=n)}r=b}w[d>>2]=r;return 0}catch(p){if("undefined"==typeof N||"ErrnoError"!==p.name)throw p;return p.ud}},o:a=>U.activeTexture(a),v:(a,b)=>{U.attachShader(V[a],W[b])},b:(a,b)=>{if(b&&!$c[b]){var c=U.createBuffer();
|
|
103
|
+
c.name=b;$c[b]=c}34962==a?U.Qd=b:34963==a&&(U.Vd=b);35051==a?U.le=b:35052==a&&(U.Rd=b);U.bindBuffer(a,$c[b])},z:(a,b,c)=>{U.bindBufferBase(a,b,$c[c])},Dc:(a,b,c,d,e)=>{U.bindBufferRange(a,b,$c[c],d,e)},g:(a,b)=>{U.bindFramebuffer(a,ad[b])},Ic:(a,b)=>{U.bindRenderbuffer(a,bd[b])},n:(a,b)=>{U.bindSampler(a,fd[b])},c:(a,b)=>{U.bindTexture(a,cd[b])},M:a=>{U.bindVertexArray(dd[a]);a=U.getParameter(34965);U.Vd=a?a.name|0:0},ya:(a,b,c,d)=>U.blendColor(a,b,c,d),za:(a,b)=>U.blendEquationSeparate(a,b),Aa:(a,
|
|
104
|
+
b,c,d)=>U.blendFuncSeparate(a,b,c,d),kc:(a,b,c,d,e,f,g,k,m,n)=>U.blitFramebuffer(a,b,c,d,e,f,g,k,m,n),Qa:(a,b,c,d)=>{c&&b?U.bufferData(a,t,d,c,b):U.bufferData(a,b,d)},J:(a,b,c,d)=>{c&&U.bufferSubData(a,b,t,d,c)},$:a=>U.checkFramebufferStatus(a),Fc:(a,b,c,d)=>U.clearBufferfi(a,b,c,d),Fa:(a,b,c)=>{U.clearBufferfv(a,b,wa,c>>2)},Ec:(a,b,c)=>{U.clearBufferiv(a,b,v,c>>2)},r:(a,b,c,d)=>{U.colorMask(!!a,!!b,!!c,!!d)},Vb:a=>{U.compileShader(W[a])},$b:(a,b,c,d,e,f,g,k,m)=>{U.Rd||!k?U.compressedTexSubImage2D(a,
|
|
105
|
+
b,c,d,e,f,g,k,m):U.compressedTexSubImage2D(a,b,c,d,e,f,g,t,m,k)},Zb:(a,b,c,d,e,f,g,k,m,n,r)=>{U.Rd?U.compressedTexSubImage3D(a,b,c,d,e,f,g,k,m,n,r):U.compressedTexSubImage3D(a,b,c,d,e,f,g,k,m,t,r,n)},La:()=>{var a=ld(V),b=U.createProgram();b.name=a;b.be=b.$d=b.ae=0;b.Ee=1;V[a]=b;return a},Xb:a=>{var b=ld(W);W[b]=U.createShader(a);return b},xa:a=>U.cullFace(a),ac:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=$c[d];e&&(U.deleteBuffer(e),e.name=0,$c[d]=null,d==U.Qd&&(U.Qd=0),d==U.Vd&&(U.Vd=0),d==
|
|
106
|
+
U.le&&(U.le=0),d==U.Rd&&(U.Rd=0))}},s:(a,b)=>{for(var c=0;c<a;++c){var d=v[b+4*c>>2],e=ad[d];e&&(U.deleteFramebuffer(e),e.name=0,ad[d]=null)}},l:a=>{if(a){var b=V[a];b?(U.deleteProgram(b),b.name=0,V[a]=null):X||=1281}},K:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=bd[d];e&&(U.deleteRenderbuffer(e),e.name=0,bd[d]=null)}},L:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=fd[d];e&&(U.deleteSampler(e),e.name=0,fd[d]=null)}},k:a=>{if(a){var b=W[a];b?(U.deleteShader(b),W[a]=null):X||=1281}},i:(a,
|
|
107
|
+
b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=cd[d];e&&(U.deleteTexture(e),e.name=0,cd[d]=null)}},Sa:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2];U.deleteVertexArray(dd[d]);dd[d]=null}},D:a=>U.depthFunc(a),E:a=>{U.depthMask(!!a)},e:a=>U.disable(a),va:a=>{Y.Nd[a].enabled=!1;U.disableVertexAttribArray(a)},lc:(a,b,c)=>{pd(b+c);U.drawArrays(a,b,c);od&&U.bindBuffer(34962,$c[U.Qd])},mc:(a,b,c,d)=>{U.drawArraysInstanced(a,b,c,d)},Ia:(a,b)=>{for(var c=Jd[a],d=0;d<a;d++)c[d]=v[b+4*d>>2];U.drawBuffers(c)},
|
|
108
|
+
nc:(a,b,c,d)=>{var e=0;if(!U.Vd){var f=1*gd[c-5120]*b;var g=nd(f);U.bindBuffer(34963,g);U.bufferSubData(34963,0,t.subarray(d,d+f));if(0<b)for(g=0;g<Y.te;++g)if(f=Y.Nd[g],f.Pd&&f.enabled){switch(c){case 5121:e=Uint8Array;break;case 5123:e=Uint16Array;break;case 5125:e=Uint32Array;break;default:X||=1282;return}e=(new e(t.buffer,d,b)).reduce((k,m)=>Math.max(k,m))+1;break}d=0}pd(e);U.drawElements(a,b,c,d);od&&U.bindBuffer(34962,$c[U.Qd]);U.Vd||U.bindBuffer(34963,null)},oc:(a,b,c,d,e)=>{U.drawElementsInstanced(a,
|
|
109
|
+
b,c,d,e)},h:a=>U.enable(a),yc:a=>{Y.Nd[a].enabled=!0;U.enableVertexAttribArray(a)},j:(a,b,c,d)=>{U.framebufferRenderbuffer(a,b,c,bd[d])},d:(a,b,c,d,e)=>{U.framebufferTexture2D(a,b,c,cd[d],e)},F:(a,b,c,d,e)=>{U.framebufferTextureLayer(a,b,cd[c],d,e)},wa:a=>U.frontFace(a),Ra:(a,b)=>{md(a,b,"createBuffer",$c)},w:(a,b)=>{md(a,b,"createFramebuffer",ad)},Jc:(a,b)=>{md(a,b,"createRenderbuffer",bd)},Ma:(a,b)=>{md(a,b,"createSampler",fd)},Pa:(a,b)=>{md(a,b,"createTexture",cd)},Ua:(a,b)=>{md(a,b,"createVertexArray",
|
|
110
|
+
dd)},Kc:(a,b)=>U.getAttribLocation(V[a],O(b)),a:(a,b)=>Ld(a,b),Mc:(a,b,c,d)=>{a=U.getProgramInfoLog(V[a]);null===a&&(a="(unknown error)");b=0<b&&d?z(a,t,d,b):0;c&&(v[c>>2]=b)},G:(a,b,c)=>{if(c)if(a>=Zc)X||=1281;else if(a=V[a],35716==b)a=U.getProgramInfoLog(a),null===a&&(a="(unknown error)"),v[c>>2]=a.length+1;else if(35719==b){if(!a.be){var d=U.getProgramParameter(a,35718);for(b=0;b<d;++b)a.be=Math.max(a.be,U.getActiveUniform(a,b).name.length+1)}v[c>>2]=a.be}else if(35722==b){if(!a.$d)for(d=U.getProgramParameter(a,
|
|
111
|
+
35721),b=0;b<d;++b)a.$d=Math.max(a.$d,U.getActiveAttrib(a,b).name.length+1);v[c>>2]=a.$d}else if(35381==b){if(!a.ae)for(d=U.getProgramParameter(a,35382),b=0;b<d;++b)a.ae=Math.max(a.ae,U.getActiveUniformBlockName(a,b).length+1);v[c>>2]=a.ae}else v[c>>2]=U.getProgramParameter(a,b);else X||=1281},Tb:(a,b,c,d)=>{a=U.getShaderInfoLog(W[a]);null===a&&(a="(unknown error)");b=0<b&&d?z(a,t,d,b):0;c&&(v[c>>2]=b)},sa:(a,b,c)=>{c?35716==b?(a=U.getShaderInfoLog(W[a]),null===a&&(a="(unknown error)"),v[c>>2]=a?
|
|
112
|
+
a.length+1:0):35720==b?(a=U.getShaderSource(W[a]),v[c>>2]=a?a.length+1:0):v[c>>2]=U.getShaderParameter(W[a],b):X||=1281},Va:(a,b)=>{if(2>Y.version)return X||=1282,0;var c=hd[a];if(c)return 0>b||b>=c.length?(X||=1281,0):c[b];switch(a){case 7939:return c=Kd().map(Bd),c=hd[a]=c,0>b||b>=c.length?(X||=1281,0):c[b];default:return X||=1280,0}},Ja:(a,b)=>{b=O(b);if(a=V[a]){var c=a,d=c.Yd,e=c.cf,f;if(!d){c.Yd=d={};c.bf={};var g=U.getProgramParameter(c,35718);for(f=0;f<g;++f){var k=U.getActiveUniform(c,f);
|
|
113
|
+
var m=k.name;k=k.size;var n=Md(m);n=0<n?m.slice(0,n):m;var r=c.Ee;c.Ee+=k;e[n]=[k,r];for(m=0;m<k;++m)d[r]=m,c.bf[r++]=n}}c=a.Yd;d=0;e=b;f=Md(b);0<f&&(d=parseInt(b.slice(f+1))>>>0,e=b.slice(0,f));if((e=a.cf[e])&&d<e[0]&&(d+=e[1],c[d]=c[d]||U.getUniformLocation(a,b)))return d}else X||=1281;return-1},jc:(a,b,c)=>{for(var d=Jd[b],e=0;e<b;e++)d[e]=v[c+4*e>>2];U.invalidateFramebuffer(a,d)},H:a=>{a=V[a];U.linkProgram(a);a.Yd=0;a.cf={}},p:(a,b)=>{3317==a?jd=b:3314==a&&(kd=b);U.pixelStorei(a,b)},Ea:(a,b)=>
|
|
114
|
+
U.polygonOffset(a,b),R:a=>U.readBuffer(a),Ta:(a,b,c,d,e,f,g)=>{if(U.le)U.readPixels(a,b,c,d,e,f,g);else{var k=Nd(f);g>>>=31-Math.clz32(k.BYTES_PER_ELEMENT);U.readPixels(a,b,c,d,e,f,k,g)}},Hc:(a,b,c,d,e)=>U.renderbufferStorageMultisample(a,b,c,d,e),I:(a,b,c)=>{U.samplerParameterf(fd[a],b,c)},f:(a,b,c)=>{U.samplerParameteri(fd[a],b,c)},Ga:(a,b,c,d)=>U.scissor(a,b,c,d),Wb:(a,b,c,d)=>{for(var e="",f=0;f<b;++f)e+=O(w[c+4*f>>2],d?w[d+4*f>>2]:void 0);U.shaderSource(W[a],e)},dc:(a,b,c)=>U.stencilFunc(a,b,
|
|
115
|
+
c),Ca:(a,b,c,d)=>U.stencilFuncSeparate(a,b,c,d),u:a=>U.stencilMask(a),cc:(a,b,c)=>U.stencilOp(a,b,c),Ba:(a,b,c,d)=>U.stencilOpSeparate(a,b,c,d),Oa:(a,b,c,d,e)=>U.texStorage2D(a,b,c,d,e),Na:(a,b,c,d,e,f)=>U.texStorage3D(a,b,c,d,e,f),_b:(a,b,c,d,e,f,g,k,m)=>{if(U.Rd)U.texSubImage2D(a,b,c,d,e,f,g,k,m);else if(m){var n=Nd(k);U.texSubImage2D(a,b,c,d,e,f,g,k,n,m>>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else{if(m){n=Nd(k);var r=f*((kd||e)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[g-6402]||
|
|
116
|
+
1)*n.BYTES_PER_ELEMENT+jd-1&-jd);m=n.subarray(m>>>31-Math.clz32(n.BYTES_PER_ELEMENT),m+r>>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else m=null;U.texSubImage2D(a,b,c,d,e,f,g,k,m)}},Yb:(a,b,c,d,e,f,g,k,m,n,r)=>{if(U.Rd)U.texSubImage3D(a,b,c,d,e,f,g,k,m,n,r);else if(r){var p=Nd(n);U.texSubImage3D(a,b,c,d,e,f,g,k,m,n,p,r>>>31-Math.clz32(p.BYTES_PER_ELEMENT))}else U.texSubImage3D(a,b,c,d,e,f,g,k,m,n,null)},xc:(a,b,c)=>{b&&U.uniform1fv(Od(a),wa,c>>2,b)},Lc:(a,b)=>{U.uniform1i(Od(a),b)},tc:(a,b,c)=>{b&&U.uniform1iv(Od(a),
|
|
117
|
+
v,c>>2,b)},wc:(a,b,c)=>{b&&U.uniform2fv(Od(a),wa,c>>2,2*b)},sc:(a,b,c)=>{b&&U.uniform2iv(Od(a),v,c>>2,2*b)},vc:(a,b,c)=>{b&&U.uniform3fv(Od(a),wa,c>>2,3*b)},rc:(a,b,c)=>{b&&U.uniform3iv(Od(a),v,c>>2,3*b)},uc:(a,b,c)=>{b&&U.uniform4fv(Od(a),wa,c>>2,4*b)},qc:(a,b,c)=>{b&&U.uniform4iv(Od(a),v,c>>2,4*b)},pc:(a,b,c,d)=>{b&&U.uniformMatrix4fv(Od(a),!!c,wa,d>>2,16*b)},m:a=>{a=V[a];U.useProgram(a);U.gf=a},zc:(a,b)=>{U.vertexAttribDivisor(a,b)},Ac:(a,b,c,d,e)=>{var f=Y.Nd[a];U.Qd?(f.Pd=!1,U.vertexAttribIPointer(a,
|
|
118
|
+
b,c,d,e)):(f.size=b,f.type=c,f.ve=!1,f.stride=d,f.Wd=e,f.Pd=!0,f.Fe=function(g,k,m,n,r,p){this.vertexAttribIPointer(g,k,m,r,p)})},Bc:(a,b,c,d,e,f)=>{var g=Y.Nd[a];U.Qd?(g.Pd=!1,U.vertexAttribPointer(a,b,c,!!d,e,f)):(g.size=b,g.type=c,g.ve=d,g.stride=e,g.Wd=f,g.Pd=!0,g.Fe=function(k,m,n,r,p,u){this.vertexAttribPointer(k,m,n,r,p,u)})},Ha:(a,b,c,d)=>U.viewport(a,b,c,d),ob:function(a,b){var c=new URL(window.location.href),d=c.searchParams;b=O(b).split(",");for(var e=0;e<b.length;++e)b[e]&&d.delete(b[e]);
|
|
119
|
+
(new URLSearchParams(O(a))).forEach(function(f,g){d.set(g,f)});history.replaceState(null,"",c)},na:function(a,b,c,d){a=O(a);c=new Uint8Array(t.subarray(c,c+d));b=new Blob([c],{type:O(b)});var e=URL.createObjectURL(b);b=document.createElement("a");b.href=e;b.download=a;b.style.display="none";document.body.appendChild(b);b.click();document.body.removeChild(b);setTimeout(function(){URL.revokeObjectURL(e)},1E3)},kb:function(a){var b=O(a);Vd();h.__nhIdbOpen().then(function(c){c.transaction("blobs","readwrite").objectStore("blobs").delete(b)}).catch(function(c){console.warn("nodehammer: IDB delete failed",
|
|
120
|
+
c)})},mb:function(a){var b=O(a);Vd();h.__nhIdbOpen().then(function(c){var d=c.transaction("blobs","readonly").objectStore("blobs").get(b);d.onsuccess=function(){var e=d.result;if(e){e=new Uint8Array(e);var f=h._malloc(e.length);h.HEAPU8.set(e,f);h._nh_viewer_project_blob_loaded(f,e.length);h._free(f)}else h._nh_viewer_project_blob_loaded(0,0)};d.onerror=function(){h._nh_viewer_project_blob_loaded(0,0)}}).catch(function(c){console.warn("nodehammer: IDB get failed",c);h._nh_viewer_project_blob_loaded(0,
|
|
121
|
+
0)})},lb:function(a,b,c){var d=O(a),e=new Uint8Array(t.subarray(b,b+c));Vd();h.__nhIdbOpen().then(function(f){f.transaction("blobs","readwrite").objectStore("blobs").put(e,d)}).catch(function(f){console.warn("nodehammer: IDB put failed",f)})},rb:function(a){function b(p){p=p.dataTransfer&&p.dataTransfer.types;if(!p)return!1;for(var u=0;u<p.length;++u)if("Files"===p[u])return!0;return!1}function c(p,u){var A=h,G=A._nh_viewer_platform_set_drag_hover,H=u?u.clientX:0,J=u?u.clientY:0;var L=u?(L=u.dataTransfer&&
|
|
122
|
+
u.dataTransfer.items)?L.length:0:0;G.call(A,a,p?1:0,H,J,L,u&&b(u)?1:0)}function d(){h._nh_viewer_save_persistent_state()}function e(p,u,A){h._nh_viewer_platform_push_pinch(a,p,u,A?A.clientX:0,A?A.clientY:0,A?(A.shiftKey?1:0)|(A.ctrlKey?2:0)|(A.altKey?4:0)|(A.metaKey?8:0):0)}function f(p){if(!p||2>p.length)return 0;var u=p[0].clientX-p[1].clientX;p=p[0].clientY-p[1].clientY;return Math.sqrt(u*u+p*p)}function g(p){return{clientX:.5*(p[0].clientX+p[1].clientX),clientY:.5*(p[0].clientY+p[1].clientY),
|
|
123
|
+
ctrlKey:!1,shiftKey:!1,altKey:!1,metaKey:!1}}if(!h.__nhWindowObserversInstalled){h.__nhWindowObserversInstalled=!0;var k=h.canvas||document.getElementById("canvas");if(k){var m=0;k.addEventListener("dragenter",function(p){++m;c(!0,p)});k.addEventListener("dragover",function(p){b(p)&&p.preventDefault();c(!0,p)});k.addEventListener("dragleave",function(p){m=Math.max(0,m-1);0===m&&c(!1,p)});k.addEventListener("drop",function(p){m=0;c(!1,p)});window.addEventListener("blur",function(p){m=0;c(!1,p)});window.addEventListener("beforeunload",
|
|
124
|
+
d);window.addEventListener("pagehide",d);document.addEventListener("visibilitychange",function(){"hidden"===document.visibilityState&&d()});var n=1;k.addEventListener("wheel",function(p){if(p.ctrlKey||p.metaKey)p.preventDefault(),e(1,Math.exp(.01*-p.deltaY),p)},{passive:!1});k.addEventListener("gesturestart",function(p){n=p.scale||1;p.preventDefault();e(0,1,p)},{passive:!1});k.addEventListener("gesturechange",function(p){var u=p.scale||n,A=0!==n?u/n:1;n=u;p.preventDefault();e(1,A,p)},{passive:!1});
|
|
125
|
+
k.addEventListener("gestureend",function(p){p.preventDefault();e(2,1,p)},{passive:!1});var r=0;k.addEventListener("touchstart",function(p){2===p.touches.length&&(r=f(p.touches),p.preventDefault(),e(0,1,g(p.touches)))},{passive:!1});k.addEventListener("touchmove",function(p){if(2===p.touches.length&&0<r){var u=f(p.touches);p.preventDefault();e(1,u/r,g(p.touches));r=u}},{passive:!1});k.addEventListener("touchend",function(p){0<r&&2>p.touches.length&&(r=0,e(2,1,p.changedTouches&&p.changedTouches[0]?
|
|
126
|
+
p.changedTouches[0]:p))},{passive:!1});k.addEventListener("touchcancel",function(p){0<r&&(r=0,e(3,1,p.changedTouches&&p.changedTouches[0]?p.changedTouches[0]:p))},{passive:!1})}}},qb:function(a){try{var b="nodehammer.viewer."+O(a),c=window.localStorage.getItem(b);if(null===c)return 0;var d=bb(c)+1,e=R(d);z(c,t,e,d);return e}catch(f){return console.warn("nodehammer: failed to load persistent text",f),0}},hb:function(){var a=document.createElement("input");a.type="file";a.accept=".nhproj";a.style.display=
|
|
127
|
+
"none";a.addEventListener("change",async function(b){b=Array.from(b.target.files);document.body.removeChild(a);if(0!==b.length){b=await b[0].arrayBuffer();b=new Uint8Array(b);var c=h._malloc(b.length);h.HEAPU8.set(b,c);h._nh_viewer_open_archive(c,b.length);h._free(c)}});document.body.appendChild(a);a.click()},ib:function(){var a=document.createElement("input");a.type="file";a.multiple=!0;a.accept=".nhproj,.toml,.lua,.nhb,.zst,.gltf,.glb,.gdml,.root,.fb,.json,.xml";a.style.display="none";a.addEventListener("change",
|
|
128
|
+
async function(b){b=Array.from(b.target.files);document.body.removeChild(a);if(0!==b.length){for(var c=await Promise.all(b.map(function(r){return r.arrayBuffer()})),d=h._nh_viewer_begin_upload_batch(),e=new TextEncoder,f=0;f<b.length;++f){var g=new Uint8Array(c[f]),k=g.length,m=h._malloc(k);h.HEAPU8.set(g,m);g=e.encode(b[f].name);var n=h._malloc(g.length+1);h.HEAPU8.set(g,n);h.HEAPU8[n+g.length]=0;h._nh_viewer_add_upload(d,n,m,k);h._free(n);h._free(m)}h._nh_viewer_end_upload_batch(d)}});document.body.appendChild(a);
|
|
129
|
+
a.click()},nb:function(a){(a=O(a))&&window.open(a,"_blank","noopener,noreferrer")},jb:function(){var a=window.location.pathname,b=a.slice(0,a.lastIndexOf("/")+1),c=new TextEncoder;Promise.all("index.html nodehammer-gles3.js nodehammer-gles3.wasm nodehammer-wgpu.js nodehammer-wgpu.wasm nodehammer-compute.js nodehammer-compute.wasm".split(" ").map(function(d){return fetch(b+d,{cache:"no-store"}).then(function(e){return e.ok?e.arrayBuffer().then(function(f){return{name:d,ef:f}}):null}).catch(function(){return null})})).then(function(d){for(var e=
|
|
130
|
+
0;e<d.length;++e){var f=d[e];if(f){var g=new Uint8Array(f.ef),k=h._malloc(g.length);h.HEAPU8.set(g,k);f=c.encode(f.name);var m=h._malloc(f.length+1);h.HEAPU8.set(f,m);h.HEAPU8[m+f.length]=0;h._nh_viewer_publish_add_file(m,k,g.length);h._free(m);h._free(k)}}h._nh_viewer_publish_finalize()})},pb:function(a,b){try{var c="nodehammer.viewer."+O(a);window.localStorage.setItem(c,O(b))}catch(d){console.warn("nodehammer: failed to save persistent text",d)}},Gc:function(){try{if(h.__nhWorker&&h.__nhWorker.worker)return 1;
|
|
131
|
+
var a={worker:null,status:0,ge:0,fe:0,error:"",fatal:0,we:0,ye:0,total:0},b=new Worker("compute_worker.js");b.onmessage=function(c){c=c.data||{};if("progress"===c.nh)a.we=c.phase,a.ye=c.processed,a.total=c.total;else if("error"===c.nh)a.error=c.message||"compute worker error",c.fatal&&(a.fatal=1),a.status=3;else if("result"===c.nh){c=new Uint8Array(c.buffer);var d=R(c.length);t.set(c,d);a.ge=d;a.fe=c.length;a.status=2}};b.onerror=function(c){a.error="compute worker error: "+(c&&c.message?c.message:
|
|
132
|
+
c);a.fatal=1;a.status=3};a.worker=b;h.__nhWorker=a;return 1}catch(c){return 0}},Cc:function(){var a=h.__nhWorker;return a&&a.fatal?1:0},q:function(){var a=h.__nhWorker;return a?a.we:0},Da:function(a,b,c,d,e,f,g,k){var m=h.__nhWorker;m.status=1;m.error="";m.ge=0;m.fe=0;m.we=1;m.ye=0;m.total=0;a={nh:"build",epoch:a>>>0,wedge:e?{startDeg:f,endDeg:g,margin:k}:null};e=[];b&&(b=t.slice(b,b+c).buffer,a.sceneBytes=b,a.configToml=d?O(d):"",e.push(b));m.worker.postMessage(a,e)},Nc:function(){var a="";try{a=
|
|
133
|
+
((new URLSearchParams(self.location.search)).get("compute")||"").toLowerCase()}catch(b){}return"main"===a||"cooperative"===a?0:"function"===typeof Worker?1:0},oa:function(){var a=h.__nhWorker;return a?a.ye:0},C:function(){var a=h.__nhWorker;a&&(a.status=0,a.ge=0,a.fe=0,a.error="")},Lb:function(){var a=h.__nhWorker;return a?a.fe:0},Ub:function(){var a=h.__nhWorker;return a?a.ge:0},bc:function(){var a=h.__nhWorker;return a?a.status:0},ua:function(){var a=h.__nhWorker;a=a&&a.error?a.error:"";var b=bb(a)+
|
|
134
|
+
1,c=R(b);z(a,t,c,b);return c},pa:function(){var a=h.__nhWorker;return a?a.total:0},yb:lc,db:function(){h.Te=a=>{0!=Yd()&&(a.preventDefault(),a.returnValue=" ")};window.addEventListener("beforeunload",h.Te)},cb:function(){h.Ze=a=>{const b=a.clipboardData.getData("text");Td(()=>{const c=Qd(b);Xd(c)})};window.addEventListener("paste",h.Ze)},bb:function(){h.gg=[];h.Ue=b=>{b.stopPropagation();b.preventDefault()};h.Ve=b=>{b.stopPropagation();b.preventDefault()};h.We=b=>{b.stopPropagation();b.preventDefault()};
|
|
135
|
+
h.Xe=b=>{b.stopPropagation();b.preventDefault();const c=b.dataTransfer.files;h.Ye=c;Zd(c.length);for(let e=0;e<c.length;e++)Td(()=>{const f=Qd(c[e].name);$d(e,f)});let d=0;b.shiftKey&&(d|=1);b.ctrlKey&&(d|=2);b.altKey&&(d|=4);b.metaKey&&(d|=8);ae(b.clientX,b.clientY,d)};const a=h.Jd;a.addEventListener("dragenter",h.Ue,!1);a.addEventListener("dragleave",h.Ve,!1);a.addEventListener("dragover",h.We,!1);a.addEventListener("drop",h.Xe,!1)},Ya:function(){const a=document.getElementById("sokol-app-favicon");
|
|
136
|
+
a&&document.head.removeChild(a)},_a:function(a){h.je&&(URL.revokeObjectURL(h.je[a].Bf),h.je[a]=null)},N:function(a){const b=h.Ye;return 0>a||a>=b.length?0:b[a].size},Wa:function(a,b,c,d,e){const f=new FileReader;f.onload=g=>{g=g.target.result;g.byteLength>d?be(a,0,1,b,0,c,d,e):(t.set(new Uint8Array(g),c),be(a,1,0,b,g.byteLength,c,d,e))};f.onerror=()=>{be(a,0,2,b,0,c,d,e)};f.readAsArrayBuffer(h.Ye[a])},gb:function(a,b){0!==b&&(document.title=O(b));a=O(a);void 0!==h.canvas&&("object"===typeof h.canvas?
|
|
137
|
+
Jc[a]=h.canvas:console.warn("sokol_app.h: Module['canvas'] is set but is not an object"));h.Jd=P(a);h.Jd||console.warn("sokol_app.h: can't find html5_canvas_selector ",a);h.Jd.requestPointerLock||console.warn("sokol_app.h: target doesn't support requestPointerLock: ",a)},gc:function(){window.removeEventListener("beforeunload",h.Te)},fc:function(){window.removeEventListener("paste",h.Ze)},ec:function(){const a=h.Jd;a.removeEventListener("dragenter",h.Ue);a.removeEventListener("dragleave",h.Ve);a.removeEventListener("dragover",
|
|
138
|
+
h.We);a.removeEventListener("drop",h.Xe)},A:function(){h.Jd&&h.Jd.requestPointerLock&&h.Jd.requestPointerLock()},O:function(a,b,c){if(h.Jd){if(0===b)a="none";else if(0!=c)a=h.je[a].If;else switch(a){case 0:a="auto";break;case 1:a="default";break;case 2:a="text";break;case 3:a="crosshair";break;case 4:a="pointer";break;case 5:a="ew-resize";break;case 6:a="ns-resize";break;case 7:a="nwse-resize";break;case 8:a="nesw-resize";break;case 9:a="all-scroll";break;case 10:a="not-allowed";break;default:a="auto"}h.Jd.style.cursor=
|
|
139
|
+
a}},Xa:function(a,b,c){const d=document.createElement("canvas");d.width=a;d.height=b;const e=d.getContext("2d"),f=e.createImageData(a,b);f.data.set(t.subarray(c,c+a*b*4));e.putImageData(f,0,0);a=document.createElement("link");a.id="sokol-app-favicon";a.rel="shortcut icon";a.href=d.toDataURL();document.head.appendChild(a)},Za:function(a){a=O(a);const b=document.createElement("textarea");b.setAttribute("autocomplete","off");b.setAttribute("autocorrect","off");b.setAttribute("autocapitalize","off");
|
|
140
|
+
b.setAttribute("spellcheck","false");b.style.left="-100px";b.style.top="-100px";b.style.height=1;b.style.width=1;b.value=a;document.body.appendChild(b);b.select();document.execCommand("copy");document.body.removeChild(b)},ra:function(){return navigator.userAgent.includes("Macintosh")?1:0},ta:function(a,b){b=O(b);switch(a){case 0:console.error(b);break;case 1:console.error(b);break;case 2:console.warn(b);break;default:console.info(b)}}};
|
|
141
|
+
function ee(a=[]){var b=Wd;a.unshift(ea);var c=a.length,d=Pd(4*(c+1)),e=d,f;for(f of a)w[e>>2]=Qd(f),e+=4;w[e>>2]=0;try{var g=b(c,d);ra=g;lc(g)}catch(k){kc(k)}}
|
|
142
|
+
function fe(a=da){function b(){h.calledRun=!0;if(!qa){sa=!0;if(!h.noFSInit&&!wb){var c,d;wb=!0;c??=h.stdin;d??=h.stdout;e??=h.stderr;c?$b("/dev","stdin",c):Pb("/dev/tty","/dev/stdin");d?$b("/dev","stdout",null,d):Pb("/dev/tty","/dev/stdout");e?$b("/dev","stderr",null,e):Pb("/dev/tty1","/dev/stderr");Tb("/dev/stdin",0);Tb("/dev/stdout",1);Tb("/dev/stderr",1)}ge.Pc();xb=!1;h.onRuntimeInitialized?.();h.noInitialRun||ee(a);if(h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;){var e=
|
|
143
|
+
h.postRun.shift();Ga.push(e)}Fa(Ga)}}if(0<Ja)Ka=fe;else{if(h.preRun)for("function"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)Ia();Fa(Ha);0<Ja?Ka=fe:h.setStatus?(h.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>h.setStatus(""),1);b()},1)):b()}}var ge;
|
|
144
|
+
(async function(){function a(c){c=ge=c.exports;h._nh_viewer_start=c.Qc;Wd=h._main=c.Rc;R=h._malloc=c.Tc;Ad=c.Uc;h._free=c.Vc;h._nh_viewer_begin_upload_batch=c.Wc;h._nh_viewer_add_upload=c.Xc;h._nh_viewer_end_upload_batch=c.Yc;h._nh_viewer_open_archive=c.Zc;h._nh_viewer_publish_add_file=c._c;h._nh_viewer_publish_finalize=c.$c;h._nh_viewer_platform_set_drag_hover=c.ad;h._nh_viewer_platform_push_pinch=c.bd;h._nh_viewer_save_persistent_state=c.cd;h._nh_viewer_project_blob_loaded=c.dd;Xd=h.__sapp_emsc_onpaste=
|
|
145
|
+
c.ed;Yd=h.__sapp_html5_get_ask_leave_site=c.fd;Zd=h.__sapp_emsc_begin_drop=c.gd;$d=h.__sapp_emsc_drop=c.hd;ae=h.__sapp_emsc_end_drop=c.id;be=h.__sapp_emsc_invoke_fetch_cb=c.jd;h.__sapp_emsc_set_fullscreen_flag=c.kd;ce=c.ld;za=c.md;Sd=c.nd;Pd=c.od;Rd=c.pd;ua=c.Oc;T=c.Sc;ta();La("wasm-instantiate");return ge}Ma("wasm-instantiate");var b={a:de};if(h.instantiateWasm)return new Promise(c=>{h.instantiateWasm(b,(d,e)=>{c(a(d,e))})});Aa??=h.locateFile?h.locateFile("nodehammer-gles3.wasm",ia):ia+"nodehammer-gles3.wasm";
|
|
146
|
+
return a((await Da(b)).instance)})();fe();
|
|
Binary file
|