-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathpacman.js
More file actions
67 lines (67 loc) · 32.7 KB
/
pacman.js
File metadata and controls
67 lines (67 loc) · 32.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
var g;g||=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;
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=g);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)});
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);}}console.log.bind(console);var h=console.error.bind(console),m,p=!1,ma,la=a=>a.startsWith("file://");
function na(){var a=oa.buffer;r=new Int8Array(a);pa=new Int16Array(a);u=new Uint8Array(a);qa=new Uint16Array(a);v=new Int32Array(a);w=new Uint32Array(a);x=new Float32Array(a);y=new Float64Array(a);new BigInt64Array(a);new BigUint64Array(a)}function ra(a){g.onAbort?.(a);a=`Aborted(${a})`;h(a);p=!0;throw new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");}var sa;
async function ta(a){if(!m)try{var b=await ja(a);return new Uint8Array(b)}catch{}if(a==sa&&m)a=new Uint8Array(m);else if(ka)a=ka(a);else throw"both async and sync fetching of the wasm failed";return a}async function ua(a,b){try{var c=await ta(a);return await WebAssembly.instantiate(c,b)}catch(d){h(`failed to asynchronously prepare wasm: ${d}`),ra(d)}}
async function va(a){var b=sa;if(!m&&!la(b)&&!ca)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){h(`wasm streaming compile failed: ${d}`),h("falling back to ArrayBuffer instantiation")}return ua(b,a)}class wa{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
var pa,v,r,x,y,qa,w,u,xa=a=>{for(;0<a.length;)a.shift()(g)},ya=[],za=[],Aa=()=>{var a=g.preRun.shift();za.push(a)},z=0,A=null,Ba=!0,Ca=0,B={},Da=a=>{a instanceof wa||"unwind"==a||fa(1,a)},Ea=a=>{ma=a;Ba||0<Ca||(g.onExit?.(a),p=!0);fa(a,new wa(a))},Fa=()=>{if(!(Ba||0<Ca))try{var a=ma;ma=a;Ea(a)}catch(b){Da(b)}},Ga=a=>{if(!p)try{a()}catch(b){Da(b)}finally{Fa()}},Na=(a,b)=>{Ha=a;Ia=b;if(D)if(Ja||=!0,0==a)E=function(){setTimeout(F,Math.max(0,Ka+b-performance.now())|0)};else if(1==a)E=function(){La(F)};
else{if(!Ma)if(globalThis.setImmediate)Ma=setImmediate;else{var c=[];addEventListener("message",d=>{if("setimmediate"===d.data||"setimmediate"===d.data.target)d.stopPropagation(),c.shift()()},!0);Ma=d=>{c.push(d);if(ba){let e;(e=g).setImmediates??(e.setImmediates=[]);g.setImmediates.push(d);postMessage({target:"setimmediate"})}else postMessage("setimmediate","*")}}E=function(){Ma(F)}}},Wa=(a,b,c,d,e)=>{function k(){return f<Oa?(Fa(),!1):!0}D=a;Pa=d;var f=Oa;Ja=!1;F=function(){if(!p)if(0<Qa.length){var l=
Qa.shift();l.Hd(l.vd);if(Ra){var n=Ra,q=0==n%1?n-1:Math.floor(n);Ra=l.yd?q:(8*n+(q+.5))/9}g.setStatus&&(l=g.statusMessage||"Please wait...",n=Ra??0,q=Sa.Ed??0,n?n<q?g.setStatus("{message} ({expected - remaining}/{expected})"):g.setStatus(l):g.setStatus(""));k()&&setTimeout(F,0)}else if(k())if(Ta=Ta+1|0,1==Ha&&1<Ia&&0!=Ta%Ia)E();else{0==Ha&&(Ka=performance.now());a:if(!p){for(l of Ua)if(!1===l())break a;Ga(a);for(n of Va)n()}k()&&E()}};e||(0<b?Na(0,1E3/b):Na(1,1),E());if(c)throw"unwind";},Ja=!1,E=
null,Oa=0,D=null,Pa=0,Ha=0,Ia=0,Ta=0,Qa=[],Ua=[],Va=[];function Xa(){E=null;Oa++}var Ya=0;function La(a){if(globalThis.requestAnimationFrame)requestAnimationFrame(a);else{var b=Date.now();if(0===Ya)Ya=b+1E3/60;else for(;b+2>=Ya;)Ya+=1E3/60;setTimeout(a,Math.max(Ya-b,0))}}
var Sa={},Ka,F,Ma,Ra,Za=globalThis.TextDecoder&&new TextDecoder,G=(a=0,b)=>{var c=u;var d=a;for(b=d+b;c[d]&&!(d>=b);)++d;if(16<d-a&&c.buffer&&Za)return Za.decode(c.subarray(a,d));for(b="";a<d;){var e=c[a++];if(e&128){var k=c[a++]&63;if(192==(e&224))b+=String.fromCharCode((e&31)<<6|k);else{var f=c[a++]&63;e=224==(e&240)?(e&15)<<12|k<<6|f:(e&7)<<18|k<<12|f<<6|c[a++]&63;65536>e?b+=String.fromCharCode(e):(e-=65536,b+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else b+=String.fromCharCode(e)}return b},
$a=[0,globalThis.document??0,globalThis.window??0],H=a=>{a=2<a?a?G(a):"":a;return $a[a]||globalThis.document?.querySelector(a)},ab=a=>0>$a.indexOf(a)?a.getBoundingClientRect():{left:0,top:0},bb=[],I=a=>{var b=bb[a];b||(bb[a]=b=cb.get(a));return b};function db(a){var b=J.uc[a];b.target.removeEventListener(b.tc,b.$c,b.xc);J.uc.splice(a,1)}function eb(){if(navigator.userActivation?navigator.userActivation.isActive:J.Nc&&J.pd.Kc){var a=J.Cc;J.Cc=[];for(var b of a)b.Qc(...b.Wc)}}
function K(a){if(!a.target)return-4;if(a.vc)a.$c=function(c){++J.Nc;J.pd=a;eb();a.zc(c);eb();--J.Nc},a.target.addEventListener(a.tc,a.$c,a.xc),J.uc.push(a);else for(var b=0;b<J.uc.length;++b)J.uc[b].target==a.target&&J.uc[b].tc==a.tc&&db(b--);return 0}function fb(a){return a?a==window?"#window":a==screen?"#screen":a?.nodeName||"":""}
var J={wd:0,Id:0,Oc:0,Ic:0,Uc:0,Sc:0,Lc:0,Cd:0,Md:0,Bd:0,Mc:0,Pc:0,Wd:0,Rc:0,Od(){for(;J.uc.length;)db(J.uc.length-1);J.Cc=[]},Nc:0,Cc:[],Ad(a,b,c){function d(k,f){if(k.length!=f.length)return!1;for(var l in k)if(k[l]!=f[l])return!1;return!0}for(var e of J.Cc)if(e.Qc==a&&d(e.Wc,c))return;J.Cc.push({Qc:a,dd:b,Wc:c});J.Cc.sort((k,f)=>k.dd-f.dd)},Qd(a){J.Cc=J.Cc.filter(b=>b.Qc!=a)},uc:[],Pd:(a,b)=>{for(var c=0;c<J.uc.length;++c)J.uc[c].target!=a||b&&b!=J.uc[c].tc||db(c--)},Rd(a){let b=!1;for(let c=0;c<
J.uc.length;++c){const d=J.uc[c];d.target===a.target&&d.wc===a.wc&&d.vc===a.vc&&d.yc===a.yc&&(db(c--),b=!0)}return b?0:-5},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},L=(a,b,c)=>{var d=u;if(!(0<c))return 0;var e=b;c=b+c-1;for(var k=0;k<a.length;++k){var f=a.codePointAt(k);if(127>=f){if(b>=c)break;d[b++]=f}else if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6;d[b++]=128|f&63}else if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12;d[b++]=128|f>>6&63;d[b++]=128|f&
63}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63;d[b++]=128|f>>6&63;d[b++]=128|f&63;k++}}d[b]=0;return b-e},gb=(a,b,c,d,e,k)=>{J.Lc||(J.Lc=M(256));a={target:H(a),tc:k,wc:e,yc:b,vc:d,zc:f=>{var l=f.target.id?f.target.id:"",n=J.Lc;L(fb(f.target),n+0,128);L(l,n+128,128);I(d)(e,n,b)&&f.preventDefault()},xc:c};return K(a)},hb=(a,b,c,d,e)=>{J.Mc||(J.Mc=M(276));return K({target:a,tc:e,wc:19,yc:b,vc:d,zc:k=>{var f=J.Mc,l=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||
document.webkitCurrentFullScreenElement||document.msFullscreenElement,n=!!l;r[f]=n;r[f+1]=J.fullscreenEnabled();var q=n?l:J.td,t=q?.id||"";L(fb(q),f+2,128);L(t,f+130,128);v[f+260>>2]=q?q.clientWidth:0;v[f+264>>2]=q?q.clientHeight:0;v[f+268>>2]=screen.width;v[f+272>>2]=screen.height;n&&(J.td=l);I(d)(19,f,b)&&k.preventDefault()},xc:c})},ib=(a,b,c,d,e,k)=>{J.Oc||(J.Oc=M(160));a={target:H(a),tc:k,wc:e,yc:b,vc:d,zc:f=>{var l=J.Oc;y[l>>3]=f.timeStamp;var n=l>>2;v[n+2]=f.location;r[l+12]=f.ctrlKey;r[l+13]=
f.shiftKey;r[l+14]=f.altKey;r[l+15]=f.metaKey;r[l+16]=f.repeat;v[n+5]=f.charCode;v[n+6]=f.keyCode;v[n+7]=f.which;L(f.key||"",l+32,32);L(f.code||"",l+64,32);L(f.char||"",l+96,32);L(f.locale||"",l+128,32);I(d)(e,l,b)&&f.preventDefault()},xc:c};return K(a)},jb=(a,b,c)=>{y[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;r[a+24]=b.ctrlKey;r[a+25]=b.shiftKey;r[a+26]=b.altKey;r[a+27]=b.metaKey;pa[2*d+14]=b.button;pa[2*d+15]=b.buttons;v[d+8]=b.movementX;v[d+
9]=b.movementY;a=ab(c);v[d+10]=b.clientX-(a.left|0);v[d+11]=b.clientY-(a.top|0)},kb=(a,b,c,d,e,k)=>{J.Ic||(J.Ic=M(64));a=H(a);return K({target:a,Kc:"mousemove"!=k&&"mouseenter"!=k&&"mouseleave"!=k,tc:k,wc:e,yc:b,vc:d,zc:f=>{jb(J.Ic,f,a);I(d)(e,J.Ic,b)&&f.preventDefault()},xc:c})},lb=(a,b,c,d)=>{J.Pc||(J.Pc=M(257));return K({target:a,tc:"pointerlockchange",wc:20,yc:b,vc:d,zc:e=>{var k=J.Pc,f=document.pointerLockElement;r[k]=!!f;var l=f?.id||"";L(fb(f),k+1,128);L(l,k+129,128);I(d)(20,k,b)&&e.preventDefault()},
xc:c})},mb=(a,b,c,d)=>K({target:a,tc:"pointerlockerror",wc:38,yc:b,vc:d,zc:e=>{I(d)(38,0,b)&&e.preventDefault()},xc:c}),nb=(a,b,c,d)=>{J.Sc||(J.Sc=M(36));a=H(a);return K({target:a,tc:"resize",wc:10,yc:b,vc:d,zc:e=>{if(e.target==a){var k=document.body;if(k){var f=J.Sc;v[f>>2]=0;v[f+4>>2]=k.clientWidth;v[f+8>>2]=k.clientHeight;v[f+12>>2]=innerWidth;v[f+16>>2]=innerHeight;v[f+20>>2]=outerWidth;v[f+24>>2]=outerHeight;v[f+28>>2]=pageXOffset|0;v[f+32>>2]=pageYOffset|0;I(d)(10,f,b)&&e.preventDefault()}}},
xc:c})},ob=(a,b,c,d,e,k)=>{J.Rc||(J.Rc=M(1552));a=H(a);return K({target:a,Kc:"touchstart"==k||"touchend"==k,tc:k,wc:e,yc:b,vc:d,zc:f=>{var l={},n=f.touches;for(var q of n)q.ad=q.cd=0,l[q.identifier]=q;for(var t of f.changedTouches)t.ad=1,l[t.identifier]=t;for(var N of f.targetTouches)l[N.identifier].cd=1;n=J.Rc;y[n>>3]=f.timeStamp;r[n+12]=f.ctrlKey;r[n+13]=f.shiftKey;r[n+14]=f.altKey;r[n+15]=f.metaKey;q=n+16;t=ab(a);N=0;for(let C of Object.values(l))if(l=q>>2,v[l]=C.identifier,v[l+1]=C.screenX,v[l+
2]=C.screenY,v[l+3]=C.clientX,v[l+4]=C.clientY,v[l+5]=C.pageX,v[l+6]=C.pageY,r[q+28]=C.ad,r[q+29]=C.cd,v[l+8]=C.clientX-(t.left|0),v[l+9]=C.clientY-(t.top|0),q+=48,31<++N)break;v[n+8>>2]=N;I(d)(e,n,b)&&f.preventDefault()},xc:c})},O,pb=a=>{var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=(c,d)=>b.vertexAttribDivisorANGLE(c,d),a.drawArraysInstanced=(c,d,e,k)=>b.drawArraysInstancedANGLE(c,d,e,k),a.drawElementsInstanced=(c,d,e,k,f)=>b.drawElementsInstancedANGLE(c,d,e,k,f))},qb=
a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=c=>b.deleteVertexArrayOES(c),a.bindVertexArray=c=>b.bindVertexArrayOES(c),a.isVertexArray=c=>b.isVertexArrayOES(c))},rb=a=>{var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=(c,d)=>b.drawBuffersWEBGL(c,d))},sb=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers 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(" ");
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},tb=1,P=[],Q=[],ub=[],vb=[],R=[],S=[],wb=[],xb=[],T=[],yb={},zb=4,Ab=0,Bb=a=>{for(var b=tb++,c=a.length;c<b;c++)a[c]=null;return b},V=(a,b,c,d)=>{for(var e=0;e<a;e++){var k=O[c](),f=k&&Bb(d);k?(k.name=f,d[f]=k):U||=1282;v[b+4*e>>2]=f}},Db=(a,b)=>{a.ed||(a.ed=a.getContext,a.getContext=function(d,e){e=a.ed(d,e);return"webgl"==d==e instanceof WebGLRenderingContext?e:null});var c=1<b.bd?a.getContext("webgl2",b):a.getContext("webgl",b);return c?
Cb(c,b):0},Cb=(a,b)=>{var c=Bb(xb),d={handle:c,attributes:b,version:b.bd,Vc:a};a.canvas&&(a.canvas.ud=d);xb[c]=d;if("undefined"==typeof b.Zc||b.Zc)if((a=d)||(a=W),!a.sd){a.sd=!0;b=a.Vc;b.Ld=b.getExtension("WEBGL_multi_draw");b.Gd=b.getExtension("EXT_polygon_offset_clamp");b.Fd=b.getExtension("EXT_clip_control");b.Xd=b.getExtension("WEBGL_polygon_mode");pb(b);qb(b);rb(b);b.Dd=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Jd=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");
2<=a.version&&(b.Yc=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Yc)b.Yc=b.getExtension("EXT_disjoint_timer_query");for(var e of sb(b))e.includes("lose_context")||e.includes("debug")||b.getExtension(e)}return c},U,W,Eb=(a,b,c,d,e,k)=>{a={target:H(a),tc:k,wc:e,yc:b,vc:d,zc:f=>{I(d)(e,0,b)&&f.preventDefault()},xc:c};K(a)},Fb=(a,b,c,d)=>{J.Uc||(J.Uc=M(96));return K({target:a,Kc:!0,tc:"wheel",wc:9,yc:b,vc:d,zc:e=>{var k=J.Uc;jb(k,e,a);y[k+64>>3]=e.deltaX;y[k+72>>3]=e.deltaY;y[k+
80>>3]=e.deltaZ;v[k+88>>2]=e.deltaMode;I(d)(9,k,b)&&e.preventDefault()},xc:c})},Gb=["default","low-power","high-performance"],Hb=[],Ib=()=>{var a=sb(O);return a=a.concat(a.map(b=>"GL_"+b))},Jb=(a,b)=>{if(b){var c=void 0;switch(a){case 36346:c=1;break;case 36344:return;case 34814:case 36345:c=0;break;case 34466:var d=O.getParameter(34467);c=d?d.length:0;break;case 33309:if(2>W.version){U||=1282;return}c=Ib().length;break;case 33307:case 33308:if(2>W.version){U||=1280;return}c=33307==a?3:0}if(void 0===
c)switch(d=O.getParameter(a),typeof d){case "number":c=d;break;case "boolean":c=d?1:0;break;case "string":U||=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=0;break;default:U||=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){U||=1280;h(`GL_INVALID_ENUM in glGet${0}v: Unknown object returned from WebGL getParameter(${a})! (error: ${e})`);return}}break;default:U||=1280;h(`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 U||=1281},Kb=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},Lb=a=>{var b=Kb(a)+
1,c=M(b);c&&L(a,c,b);return c},Mb=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Nb=a=>{a-=5120;return 0==a?r:1==a?u:2==a?pa:4==a?v:6==a?x:5==a||28922==a||28520==a||30779==a||30782==a?w:qa},X=a=>{var b=O.qd;if(b){var c=b.Ec[a];"number"==typeof c&&(b.Ec[a]=c=O.getUniformLocation(b,b.nd[a]+(0<c?`[${c}]`:"")));return c}U||=1282},Y=[],Ob=[],Qb=a=>{var b=Kb(a)+1,c=Pb(b);L(a,c,b);return c},Tb=a=>{var b=Rb();a();Sb(b)};g.requestAnimationFrame=La;g.pauseMainLoop=Xa;
g.resumeMainLoop=function(){Oa++;var a=Ha,b=Ia,c=D;D=null;Wa(c,0,!1,Pa,!0);Na(a,b);E()};g.preMainLoop&&Ua.push(g.preMainLoop);g.postMainLoop&&Va.push(g.postMainLoop);for(let a=0;32>a;++a)Hb.push(Array(a));for(var Ub=new Float32Array(288),Z=0;288>=Z;++Z)Y[Z]=Ub.subarray(0,Z);var Vb=new Int32Array(288);for(Z=0;288>=Z;++Z)Ob[Z]=Vb.subarray(0,Z);g.noExitRuntime&&(Ba=g.noExitRuntime);g.printErr&&(h=g.printErr);g.wasmBinary&&(m=g.wasmBinary);g.arguments&&(da=g.arguments);g.thisProgram&&(ea=g.thisProgram);
if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.shift()();
var Wb,Xb,Yb,Zb,$b,ac,bc,cc,dc,ec,fc,gc,hc,M,ic,Sb,Pb,Rb,oa,cb,jc={gb:()=>ra(""),db:()=>{Ba=!1;Ca=0},eb:(a,b)=>{B[a]&&(clearTimeout(B[a].id),delete B[a]);if(!b)return 0;var c=setTimeout(()=>{delete B[a];Ga(()=>ic(a,performance.now()))},b);B[a]={id:c,Vd:b};return 0},Ra:()=>{Xa();D=null},ja:()=>globalThis.devicePixelRatio??1,la:(a,b,c)=>{a=H(a);if(!a)return-4;a=ab(a);y[b>>3]=a.width;y[c>>3]=a.height;return 0},A:()=>performance.now(),Sa:()=>performance.now(),Ya:(a,b)=>{function c(d){I(a)(d,b)&&requestAnimationFrame(c)}
return requestAnimationFrame(c)},fb:a=>{var b=u.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))-oa.buffer.byteLength+65535)/65536|0;try{oa.grow(d);na();var e=1;break a}catch(k){}e=void 0}if(e)return!0}return!1},T:(a,b,c,d)=>gb(a,b,c,d,12,"blur"),ia:(a,b,c)=>{a=H(a);if(!a)return-4;a.width=b;a.height=c;return 0},U:(a,b,c,d)=>gb(a,b,c,d,13,"focus"),S:(a,b,c,d)=>{if(!J.fullscreenEnabled())return-1;
a=H(a);if(!a)return-4;hb(a,b,c,d,"webkitfullscreenchange");return hb(a,b,c,d,"fullscreenchange")},ba:(a,b,c,d)=>ib(a,b,c,d,2,"keydown"),$:(a,b,c,d)=>ib(a,b,c,d,1,"keypress"),aa:(a,b,c,d)=>ib(a,b,c,d,3,"keyup"),Za:(a,b,c)=>{a=I(a);Wa(a,b,c)},ha:(a,b,c,d)=>kb(a,b,c,d,5,"mousedown"),ea:(a,b,c,d)=>kb(a,b,c,d,33,"mouseenter"),da:(a,b,c,d)=>kb(a,b,c,d,34,"mouseleave"),fa:(a,b,c,d)=>kb(a,b,c,d,8,"mousemove"),ga:(a,b,c,d)=>kb(a,b,c,d,6,"mouseup"),W:(a,b,c,d)=>document.body?.requestPointerLock?(a=H(a))?lb(a,
b,c,d):-4:-1,V:(a,b,c,d)=>document.body?.requestPointerLock?(a=H(a))?mb(a,b,c,d):-4:-1,ka:(a,b,c,d)=>nb(a,b,c,d),X:(a,b,c,d)=>ob(a,b,c,d,25,"touchcancel"),Y:(a,b,c,d)=>ob(a,b,c,d,23,"touchend"),Z:(a,b,c,d)=>ob(a,b,c,d,24,"touchmove"),_:(a,b,c,d)=>ob(a,b,c,d,22,"touchstart"),R:(a,b,c,d)=>{Eb(a,b,c,d,31,"webglcontextlost");return 0},Q:(a,b,c,d)=>{Eb(a,b,c,d,32,"webglcontextrestored");return 0},ca:(a,b,c,d)=>(a=H(a))?"undefined"!=typeof a.onwheel?Fb(a,b,c,d):-1:-4,Xa:(a,b)=>{var c=b>>2;b={alpha:!!r[b+
0],depth:!!r[b+1],stencil:!!r[b+2],antialias:!!r[b+3],premultipliedAlpha:!!r[b+4],preserveDrawingBuffer:!!r[b+5],powerPreference:Gb[v[c+2]],failIfMajorPerformanceCaveat:!!r[b+12],bd:v[c+4],Kd:v[c+5],Zc:r[b+24],rd:r[b+25],Nd:v[c+7],Sd:r[b+32]};a=H(a);return!a||b.rd?0:Db(a,b)},Wa:a=>{W=xb[a];g.ctx=O=W?.Vc;return!a||O?0:-5},n:a=>O.activeTexture(a),C:(a,b)=>{O.attachShader(Q[a],S[b])},a:(a,b)=>{35051==a?O.Xc=b:35052==a&&(O.Dc=b);O.bindBuffer(a,P[b])},v:(a,b,c)=>{O.bindBufferBase(a,b,P[c])},yb:(a,b,c,
d,e)=>{O.bindBufferRange(a,b,P[c],d,e)},h:(a,b)=>{O.bindFramebuffer(a,ub[b])},Ib:(a,b)=>{O.bindRenderbuffer(a,vb[b])},m:(a,b)=>{O.bindSampler(a,T[b])},c:(a,b)=>{O.bindTexture(a,R[b])},P:a=>{O.bindVertexArray(wb[a])},K:(a,b,c,d)=>O.blendColor(a,b,c,d),L:(a,b)=>O.blendEquationSeparate(a,b),M:(a,b,c,d)=>O.blendFuncSeparate(a,b,c,d),jb:(a,b,c,d,e,k,f,l,n,q)=>O.blitFramebuffer(a,b,c,d,e,k,f,l,n,q),Ga:(a,b,c,d)=>{2<=W.version?c&&b?O.bufferData(a,u,d,c,b):O.bufferData(a,b,d):O.bufferData(a,c?u.subarray(c,
c+b):b,d)},E:(a,b,c,d)=>{2<=W.version?c&&O.bufferSubData(a,b,u,d,c):O.bufferSubData(a,b,u.subarray(d,d+c))},Gb:a=>O.checkFramebufferStatus(a),Fb:(a,b,c,d)=>O.clearBufferfi(a,b,c,d),ra:(a,b,c)=>{O.clearBufferfv(a,b,x,c>>2)},Eb:(a,b,c)=>{O.clearBufferiv(a,b,v,c>>2)},o:(a,b,c,d)=>{O.colorMask(!!a,!!b,!!c,!!d)},Nb:a=>{O.compileShader(S[a])},t:(a,b,c,d,e,k,f,l,n)=>{2<=W.version?O.Dc||!l?O.compressedTexSubImage2D(a,b,c,d,e,k,f,l,n):O.compressedTexSubImage2D(a,b,c,d,e,k,f,u,n,l):O.compressedTexSubImage2D(a,
b,c,d,e,k,f,u.subarray(n,n+l))},Ba:(a,b,c,d,e,k,f,l,n,q,t)=>{O.Dc?O.compressedTexSubImage3D(a,b,c,d,e,k,f,l,n,q,t):O.compressedTexSubImage3D(a,b,c,d,e,k,f,l,n,u,t,q)},ya:()=>{var a=Bb(Q),b=O.createProgram();b.name=a;b.Hc=b.Fc=b.Gc=0;b.Tc=1;Q[a]=b;return a},Pb:a=>{var b=Bb(S);S[b]=O.createShader(a);return b},H:a=>O.cullFace(a),Ka:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=P[d];e&&(O.deleteBuffer(e),e.name=0,P[d]=null,d==O.Xc&&(O.Xc=0),d==O.Dc&&(O.Dc=0))}},u:(a,b)=>{for(var c=0;c<a;++c){var d=
v[b+4*c>>2],e=ub[d];e&&(O.deleteFramebuffer(e),e.name=0,ub[d]=null)}},l:a=>{if(a){var b=Q[a];b?(O.deleteProgram(b),b.name=0,Q[a]=null):U||=1281}},F:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=vb[d];e&&(O.deleteRenderbuffer(e),e.name=0,vb[d]=null)}},G:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=T[d];e&&(O.deleteSampler(e),e.name=0,T[d]=null)}},p:a=>{if(a){var b=S[a];b?(O.deleteShader(b),S[a]=null):U||=1281}},i:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=R[d];e&&(O.deleteTexture(e),e.name=
0,R[d]=null)}},Ia:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2];O.deleteVertexArray(wb[d]);wb[d]=null}},y:a=>O.depthFunc(a),x:a=>{O.depthMask(!!a)},d:a=>O.disable(a),N:a=>{O.disableVertexAttribArray(a)},lb:(a,b,c)=>{O.drawArrays(a,b,c)},mb:(a,b,c,d)=>{O.drawArraysInstanced(a,b,c,d)},ta:(a,b)=>{for(var c=Hb[a],d=0;d<a;d++)c[d]=v[b+4*d>>2];O.drawBuffers(c)},nb:(a,b,c,d)=>{O.drawElements(a,b,c,d)},ob:(a,b,c,d,e)=>{O.drawElementsInstanced(a,b,c,d,e)},g:a=>O.enable(a),zb:a=>{O.enableVertexAttribArray(a)},
j:(a,b,c,d)=>{O.framebufferRenderbuffer(a,b,c,vb[d])},e:(a,b,c,d,e)=>{O.framebufferTexture2D(a,b,c,R[d],e)},B:(a,b,c,d,e)=>{O.framebufferTextureLayer(a,b,R[c],d,e)},I:a=>O.frontFace(a),Ha:(a,b)=>{V(a,b,"createBuffer",P)},O:(a,b)=>{V(a,b,"createFramebuffer",ub)},Jb:(a,b)=>{V(a,b,"createRenderbuffer",vb)},za:(a,b)=>{V(a,b,"createSampler",T)},Fa:(a,b)=>{V(a,b,"createTexture",R)},Qa:(a,b)=>{V(a,b,"createVertexArray",wb)},Kb:(a,b)=>O.getAttribLocation(Q[a],b?G(b):""),b:(a,b)=>Jb(a,b),Rb:(a,b,c,d)=>{a=
O.getProgramInfoLog(Q[a]);null===a&&(a="(unknown error)");b=0<b&&d?L(a,d,b):0;c&&(v[c>>2]=b)},wa:(a,b,c)=>{if(c)if(a>=tb)U||=1281;else if(a=Q[a],35716==b)a=O.getProgramInfoLog(a),null===a&&(a="(unknown error)"),v[c>>2]=a.length+1;else if(35719==b){if(!a.Hc){var d=O.getProgramParameter(a,35718);for(b=0;b<d;++b)a.Hc=Math.max(a.Hc,O.getActiveUniform(a,b).name.length+1)}v[c>>2]=a.Hc}else if(35722==b){if(!a.Fc)for(d=O.getProgramParameter(a,35721),b=0;b<d;++b)a.Fc=Math.max(a.Fc,O.getActiveAttrib(a,b).name.length+
1);v[c>>2]=a.Fc}else if(35381==b){if(!a.Gc)for(d=O.getProgramParameter(a,35382),b=0;b<d;++b)a.Gc=Math.max(a.Gc,O.getActiveUniformBlockName(a,b).length+1);v[c>>2]=a.Gc}else v[c>>2]=O.getProgramParameter(a,b);else U||=1281},Lb:(a,b,c,d)=>{a=O.getShaderInfoLog(S[a]);null===a&&(a="(unknown error)");b=0<b&&d?L(a,d,b):0;c&&(v[c>>2]=b)},ua:(a,b,c)=>{c?35716==b?(a=O.getShaderInfoLog(S[a]),null===a&&(a="(unknown error)"),v[c>>2]=a?a.length+1:0):35720==b?(a=O.getShaderSource(S[a]),v[c>>2]=a?a.length+1:0):v[c>>
2]=O.getShaderParameter(S[a],b):U||=1281},Oa:(a,b)=>{if(2>W.version)return U||=1282,0;var c=yb[a];if(c)return 0>b||b>=c.length?(U||=1281,0):c[b];switch(a){case 7939:return c=Ib().map(Lb),c=yb[a]=c,0>b||b>=c.length?(U||=1281,0):c[b];default:return U||=1280,0}},va:(a,b)=>{b=b?G(b):"";if(a=Q[a]){var c=a,d=c.Ec,e=c.od,k;if(!d){c.Ec=d={};c.nd={};var f=O.getProgramParameter(c,35718);for(k=0;k<f;++k){var l=O.getActiveUniform(c,k);var n=l.name;l=l.size;var q=Mb(n);q=0<q?n.slice(0,q):n;var t=c.Tc;c.Tc+=l;
e[q]=[l,t];for(n=0;n<l;++n)d[t]=n,c.nd[t++]=q}}c=a.Ec;d=0;e=b;k=Mb(b);0<k&&(d=parseInt(b.slice(k+1))>>>0,e=b.slice(0,k));if((e=a.od[e])&&d<e[0]&&(d+=e[1],c[d]=c[d]||O.getUniformLocation(a,b)))return d}else U||=1281;return-1},ib:(a,b,c)=>{for(var d=Hb[b],e=0;e<b;e++)d[e]=v[c+4*e>>2];O.invalidateFramebuffer(a,d)},xa:a=>{a=Q[a];O.linkProgram(a);a.Ec=0;a.od={}},Pa:(a,b)=>{3317==a?zb=b:3314==a&&(Ab=b);O.pixelStorei(a,b)},J:(a,b)=>O.polygonOffset(a,b),kb:a=>O.readBuffer(a),Hb:(a,b,c,d,e)=>O.renderbufferStorageMultisample(a,
b,c,d,e),D:(a,b,c)=>{O.samplerParameterf(T[a],b,c)},f:(a,b,c)=>{O.samplerParameteri(T[a],b,c)},sa:(a,b,c,d)=>O.scissor(a,b,c,d),Ob:(a,b,c,d)=>{for(var e="",k=0;k<b;++k){var f=(f=w[c+4*k>>2])?G(f,d?w[d+4*k>>2]:void 0):"";e+=f}O.shaderSource(S[a],e)},Ma:(a,b,c)=>O.stencilFunc(a,b,c),qa:(a,b,c,d)=>O.stencilFuncSeparate(a,b,c,d),q:a=>O.stencilMask(a),La:(a,b,c)=>O.stencilOp(a,b,c),pa:(a,b,c,d)=>O.stencilOpSeparate(a,b,c,d),Da:(a,b,c,d,e)=>O.texStorage2D(a,b,c,d,e),Ca:(a,b,c,d,e,k)=>O.texStorage3D(a,b,
c,d,e,k),s:(a,b,c,d,e,k,f,l,n)=>{if(2<=W.version){if(O.Dc){O.texSubImage2D(a,b,c,d,e,k,f,l,n);return}if(n){var q=Nb(l);O.texSubImage2D(a,b,c,d,e,k,f,l,q,n>>>31-Math.clz32(q.BYTES_PER_ELEMENT));return}}if(n){q=Nb(l);var t=k*((Ab||e)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[f-6402]||1)*q.BYTES_PER_ELEMENT+zb-1&-zb);n=q.subarray(n>>>31-Math.clz32(q.BYTES_PER_ELEMENT),n+t>>>31-Math.clz32(q.BYTES_PER_ELEMENT))}else n=null;O.texSubImage2D(a,b,c,d,e,k,f,l,n)},Aa:(a,b,c,d,e,k,f,l,n,
q,t)=>{if(O.Dc)O.texSubImage3D(a,b,c,d,e,k,f,l,n,q,t);else if(t){var N=Nb(q);O.texSubImage3D(a,b,c,d,e,k,f,l,n,q,N,t>>>31-Math.clz32(N.BYTES_PER_ELEMENT))}else O.texSubImage3D(a,b,c,d,e,k,f,l,n,q,null)},xb:(a,b,c)=>{if(2<=W.version)b&&O.uniform1fv(X(a),x,c>>2,b);else{if(288>=b)for(var d=Y[b],e=0;e<b;++e)d[e]=x[c+4*e>>2];else d=x.subarray(c>>2,c+4*b>>2);O.uniform1fv(X(a),d)}},Qb:(a,b)=>{O.uniform1i(X(a),b)},tb:(a,b,c)=>{if(2<=W.version)b&&O.uniform1iv(X(a),v,c>>2,b);else{if(288>=b)for(var d=Ob[b],
e=0;e<b;++e)d[e]=v[c+4*e>>2];else d=v.subarray(c>>2,c+4*b>>2);O.uniform1iv(X(a),d)}},wb:(a,b,c)=>{if(2<=W.version)b&&O.uniform2fv(X(a),x,c>>2,2*b);else{if(144>=b){b*=2;for(var d=Y[b],e=0;e<b;e+=2)d[e]=x[c+4*e>>2],d[e+1]=x[c+(4*e+4)>>2]}else d=x.subarray(c>>2,c+8*b>>2);O.uniform2fv(X(a),d)}},sb:(a,b,c)=>{if(2<=W.version)b&&O.uniform2iv(X(a),v,c>>2,2*b);else{if(144>=b){b*=2;for(var d=Ob[b],e=0;e<b;e+=2)d[e]=v[c+4*e>>2],d[e+1]=v[c+(4*e+4)>>2]}else d=v.subarray(c>>2,c+8*b>>2);O.uniform2iv(X(a),d)}},vb:(a,
b,c)=>{if(2<=W.version)b&&O.uniform3fv(X(a),x,c>>2,3*b);else{if(96>=b){b*=3;for(var d=Y[b],e=0;e<b;e+=3)d[e]=x[c+4*e>>2],d[e+1]=x[c+(4*e+4)>>2],d[e+2]=x[c+(4*e+8)>>2]}else d=x.subarray(c>>2,c+12*b>>2);O.uniform3fv(X(a),d)}},rb:(a,b,c)=>{if(2<=W.version)b&&O.uniform3iv(X(a),v,c>>2,3*b);else{if(96>=b){b*=3;for(var d=Ob[b],e=0;e<b;e+=3)d[e]=v[c+4*e>>2],d[e+1]=v[c+(4*e+4)>>2],d[e+2]=v[c+(4*e+8)>>2]}else d=v.subarray(c>>2,c+12*b>>2);O.uniform3iv(X(a),d)}},ub:(a,b,c)=>{if(2<=W.version)b&&O.uniform4fv(X(a),
x,c>>2,4*b);else{if(72>=b){var d=Y[4*b],e=x;c>>=2;b*=4;for(var k=0;k<b;k+=4){var f=c+k;d[k]=e[f];d[k+1]=e[f+1];d[k+2]=e[f+2];d[k+3]=e[f+3]}}else d=x.subarray(c>>2,c+16*b>>2);O.uniform4fv(X(a),d)}},qb:(a,b,c)=>{if(2<=W.version)b&&O.uniform4iv(X(a),v,c>>2,4*b);else{if(72>=b){b*=4;for(var d=Ob[b],e=0;e<b;e+=4)d[e]=v[c+4*e>>2],d[e+1]=v[c+(4*e+4)>>2],d[e+2]=v[c+(4*e+8)>>2],d[e+3]=v[c+(4*e+12)>>2]}else d=v.subarray(c>>2,c+16*b>>2);O.uniform4iv(X(a),d)}},pb:(a,b,c,d)=>{if(2<=W.version)b&&O.uniformMatrix4fv(X(a),
!!c,x,d>>2,16*b);else{if(18>=b){var e=Y[16*b],k=x;d>>=2;b*=16;for(var f=0;f<b;f+=16){var l=d+f;e[f]=k[l];e[f+1]=k[l+1];e[f+2]=k[l+2];e[f+3]=k[l+3];e[f+4]=k[l+4];e[f+5]=k[l+5];e[f+6]=k[l+6];e[f+7]=k[l+7];e[f+8]=k[l+8];e[f+9]=k[l+9];e[f+10]=k[l+10];e[f+11]=k[l+11];e[f+12]=k[l+12];e[f+13]=k[l+13];e[f+14]=k[l+14];e[f+15]=k[l+15]}}else e=x.subarray(d>>2,d+64*b>>2);O.uniformMatrix4fv(X(a),!!c,e)}},k:a=>{a=Q[a];O.useProgram(a);O.qd=a},Ab:(a,b)=>{O.vertexAttribDivisor(a,b)},Bb:(a,b,c,d,e)=>{O.vertexAttribIPointer(a,
b,c,d,e)},Db:(a,b,c,d,e,k)=>{O.vertexAttribPointer(a,b,c,!!d,e,k)},r:(a,b,c,d)=>O.viewport(a,b,c,d),cb:Ea,Ub:function(){g.gd=a=>{0!=Xb()&&(a.preventDefault(),a.returnValue=" ")};window.addEventListener("beforeunload",g.gd)},_a:function(){g.md=a=>{const b=a.clipboardData.getData("text");Tb(()=>{const c=Qb(b);Wb(c)})};window.addEventListener("paste",g.md)},Ua:function(){g.Td=[];g.hd=b=>{b.stopPropagation();b.preventDefault()};g.jd=b=>{b.stopPropagation();b.preventDefault()};g.kd=b=>{b.stopPropagation();
b.preventDefault()};g.ld=b=>{b.stopPropagation();b.preventDefault();const c=b.dataTransfer.files;g.Ud=c;Yb(c.length);for(let e=0;e<c.length;e++)Tb(()=>{const k=Qb(c[e].name);Zb(e,k)});let d=0;b.shiftKey&&(d|=1);b.ctrlKey&&(d|=2);b.altKey&&(d|=4);b.metaKey&&(d|=8);$b(b.clientX,b.clientY,d)};const a=g.Ac;a.addEventListener("dragenter",g.hd,!1);a.addEventListener("dragleave",g.jd,!1);a.addEventListener("dragover",g.kd,!1);a.addEventListener("drop",g.ld,!1)},Sb:function(){const a=document.getElementById("sokol-app-favicon");
a&&document.head.removeChild(a)},Ea:function(a){g.Jc&&(URL.revokeObjectURL(g.Jc[a].xd),g.Jc[a]=null)},Na:function(a,b){0!==b&&(document.title=b?G(b):"");a=a?G(a):"";void 0!==g.canvas&&("object"===typeof g.canvas?$a[a]=g.canvas:console.warn("sokol_app.h: Module['canvas'] is set but is not an object"));g.Ac=H(a);g.Ac||console.warn("sokol_app.h: can't find html5_canvas_selector ",a);g.Ac.requestPointerLock||console.warn("sokol_app.h: target doesn't support requestPointerLock: ",a)},Tb:function(){window.removeEventListener("beforeunload",
g.gd)},Va:function(){window.removeEventListener("paste",g.md)},Ta:function(){const a=g.Ac;a.removeEventListener("dragenter",g.hd);a.removeEventListener("dragleave",g.jd);a.removeEventListener("dragover",g.kd);a.removeEventListener("drop",g.ld)},w:function(){g.Ac&&g.Ac.requestPointerLock&&g.Ac.requestPointerLock()},Ja:function(a,b,c){if(g.Ac){if(0===b)a="none";else if(0!=c)a=g.Jc[a].zd;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"}g.Ac.style.cursor=a}},Mb:function(a,b,c){const d=document.createElement("canvas");d.width=a;d.height=b;const e=d.getContext("2d"),k=e.createImageData(a,b);k.data.set(u.subarray(c,c+a*b*4));e.putImageData(k,0,0);a=document.createElement("link");a.id="sokol-app-favicon";a.rel="shortcut icon";a.href=
d.toDataURL();document.head.appendChild(a)},$a:function(){const a=(new URLSearchParams(window.location.search)).entries();for(let b=a.next();!b.done;b=a.next()){const c=b.value[0],d=b.value[1];Tb(()=>{const e=Qb(c),k=Qb(d);cc(e,k)})}},bb:function(){return g.Bc?g.Bc.bufferSize:0},Cb:function(a,b,c){g.sc=null;g.Bc=null;"undefined"!==typeof AudioContext?g.sc=new AudioContext({sampleRate:a,latencyHint:"interactive"}):(g.sc=null,console.log("sokol_audio.h: no WebAudio support"));if(g.sc){console.log("sokol_audio.h: sample rate ",
g.sc.sampleRate);g.Bc=g.sc.createScriptProcessor(c,0,b);g.Bc.onaudioprocess=e=>{const k=e.outputBuffer.length,f=bc(k);if(f){const l=e.outputBuffer.numberOfChannels;for(let n=0;n<l;n++){const q=e.outputBuffer.getChannelData(n);for(let t=0;t<k;t++)q[t]=x[(f>>2)+(l*t+n)]}}};g.Bc.connect(g.sc.destination);const d=()=>{if(g.sc){const e=g.sc.state;"suspended"!==e&&"interrupted"!==e||g.sc.resume().catch(()=>{console.warn("sokol_audio.h: webaudio resume failed")})}};g.sc.onstatechange=d;document.addEventListener("visibilitychange",
()=>{"visible"===document.visibilityState&&d()});document.addEventListener("click",d,{once:!0});document.addEventListener("touchend",d,{once:!0});document.addEventListener("keydown",d,{once:!0});return 1}return 0},hb:function(){return g.sc?g.sc.sampleRate:0},oa:function(){const a=g.sc;null!==a&&(g.Bc&&g.Bc.disconnect(),a.close(),g.sc=null,g.Bc=null)},ab:function(){if(g.sc){const a=g.sc.state;return"suspended"===a||"interrupted"===a?1:0}return 0},z:function(a,b,c,d,e,k){const f=b?G(b):"";b=new Headers;
0<d&&b.append("Range",`bytes=${c}-${c+d-1}`);fetch(f,{method:"GET",headers:b}).then(l=>{l.ok?l.arrayBuffer().then(n=>{n=new Uint8Array(n);n.length<=k?(u.set(n,e),ec(a,d,n.length)):gc(a)}).catch(n=>{console.error(`sokol_fetch.h: GET ${f} failed with: `,n);hc(a)}):fc(a,l.status)}).catch(l=>{console.error(`sokol_fetch.h: GET ${f} failed with: `,l);hc(a)})},na:function(a,b){const c=b?G(b):"";fetch(c,{method:"HEAD"}).then(d=>{d.ok?(d=d.headers.get("Content-Length"),null===d?(console.warn(`sokol_fetch.h: HEAD ${c} response has no Content-Length`),
hc(a)):dc(a,Number(d))):fc(a,d.status)}).catch(d=>{console.error(`sokol_fetch.h: HEAD ${c} failed with: `,d);hc(a)})},ma:function(a,b){b=b?G(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)}}};function kc(a=[]){var b=ac;a.unshift(ea);var c=a.length,d=Pb(4*(c+1)),e=d,k;for(k of a)w[e>>2]=Qb(k),e+=4;w[e>>2]=0;try{var f=b(c,d);ma=f;Ea(f)}catch(l){Da(l)}}
function lc(a=da){function b(){g.calledRun=!0;if(!p){mc.Wb();g.onRuntimeInitialized?.();g.noInitialRun||kc(a);if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var c=g.postRun.shift();ya.push(c)}xa(ya)}}if(0<z)A=lc;else{if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Aa();xa(za);0<z?A=lc:g.setStatus?(g.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>g.setStatus(""),1);b()},1)):b()}}var mc;
(async function(){function a(c){c=mc=c.exports;Wb=g.__sapp_emsc_onpaste=c.Xb;Xb=g.__sapp_html5_get_ask_leave_site=c.Yb;Yb=g.__sapp_emsc_begin_drop=c.Zb;Zb=g.__sapp_emsc_drop=c._b;$b=g.__sapp_emsc_end_drop=c.$b;g.__sapp_emsc_invoke_fetch_cb=c.ac;g.__sapp_emsc_set_fullscreen_flag=c.bc;ac=g._main=c.cc;bc=g.__saudio_emsc_pull=c.dc;cc=g.__sargs_add_kvp=c.ec;dc=g.__sfetch_emsc_head_response=c.fc;ec=g.__sfetch_emsc_get_response=c.gc;fc=g.__sfetch_emsc_failed_http_status=c.hc;gc=g.__sfetch_emsc_failed_buffer_too_small=
c.ic;hc=g.__sfetch_emsc_failed_other=c.jc;M=c.kc;g._fs_emsc_alloc=c.lc;g._fs_emsc_load_snapshot_callback=c.mc;ic=c.nc;Sb=c.pc;Pb=c.qc;Rb=c.rc;oa=c.Vb;cb=c.oc;na();z--;g.monitorRunDependencies?.(z);0==z&&A&&(c=A,A=null,c());return mc}z++;g.monitorRunDependencies?.(z);var b={a:jc};if(g.instantiateWasm)return new Promise(c=>{g.instantiateWasm(b,(d,e)=>{c(a(d,e))})});sa??=g.locateFile?g.locateFile("pacman.wasm",ia):ia+"pacman.wasm";return a((await va(b)).instance)})();lc();