@prisma/cli-dev 0.8.2 → 0.9.0

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.
@@ -0,0 +1,24 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a as Ee,b as It,c as Z,d as h,e as G,f as k,g as x,h as et,i as U,j as Ht,k as Bt,l as tt,m as _e,n as rt}from"./chunk-7LVVKN3Q.js";import"./chunk-J2EYU3K5.js";var er={};Ee(er,{ABSTIME:()=>_a,ACLITEM:()=>va,BIT:()=>Aa,BOOL:()=>st,BPCHAR:()=>sr,BYTEA:()=>ot,CHAR:()=>$r,CID:()=>ra,CIDR:()=>la,CIRCLE:()=>pa,DATE:()=>lr,FLOAT4:()=>ir,FLOAT8:()=>nr,GTSVECTOR:()=>Ba,INET:()=>fa,INT2:()=>tr,INT4:()=>rr,INT8:()=>lt,INTERVAL:()=>Sa,JSON:()=>_t,JSONB:()=>cr,MACADDR:()=>da,MACADDR8:()=>ma,MONEY:()=>ga,NUMERIC:()=>ba,OID:()=>ar,PATH:()=>sa,PG_DEPENDENCIES:()=>Ma,PG_LSN:()=>Ca,PG_NDISTINCT:()=>Ga,PG_NODE_TREE:()=>ia,POLYGON:()=>oa,REFCURSOR:()=>ya,REGCLASS:()=>Fa,REGCONFIG:()=>Ra,REGDICTIONARY:()=>Ua,REGNAMESPACE:()=>Oa,REGOPER:()=>Da,REGOPERATOR:()=>xa,REGPROC:()=>Zr,REGPROCEDURE:()=>wa,REGROLE:()=>Na,REGTYPE:()=>Ta,RELTIME:()=>ca,SMGR:()=>na,TEXT:()=>Ce,TID:()=>ea,TIME:()=>ha,TIMESTAMP:()=>_r,TIMESTAMPTZ:()=>ct,TIMETZ:()=>Ea,TINTERVAL:()=>ua,TSQUERY:()=>Ha,TSVECTOR:()=>Ia,TXID_SNAPSHOT:()=>Pa,UUID:()=>ka,VARBIT:()=>La,VARCHAR:()=>or,XID:()=>ta,XML:()=>aa,arrayParser:()=>St,arraySerializer:()=>Me,parseType:()=>ut,parsers:()=>vt,serializers:()=>ht,types:()=>ur});U();var Jr=globalThis.JSON.parse,Kr=globalThis.JSON.stringify,st=16,ot=17,$r=18,lt=20,tr=21,rr=23,Zr=24,Ce=25,ar=26,ea=27,ta=28,ra=29,_t=114,aa=142,ia=194,na=210,sa=602,oa=604,la=650,ir=700,nr=701,_a=702,ca=703,ua=704,pa=718,ma=774,ga=790,da=829,fa=869,va=1033,sr=1042,or=1043,lr=1082,ha=1083,_r=1114,ct=1184,Sa=1186,Ea=1266,Aa=1560,La=1562,ba=1700,ya=1790,wa=2202,Da=2203,xa=2204,Fa=2205,Ta=2206,ka=2950,Pa=2970,Ca=3220,Ga=3361,Ma=3402,Ia=3614,Ha=3615,Ba=3642,Ra=3734,Ua=3769,cr=3802,Oa=4089,Na=4096,ur={string:{to:Ce,from:[Ce,or,sr],serialize:e=>{if(typeof e=="string")return e;if(typeof e=="number")return e.toString();throw new Error("Invalid input for string type")},parse:e=>e},number:{to:0,from:[tr,rr,ar,ir,nr],serialize:e=>e.toString(),parse:e=>+e},bigint:{to:lt,from:[lt],serialize:e=>e.toString(),parse:e=>{let t=BigInt(e);return t<Number.MIN_SAFE_INTEGER||t>Number.MAX_SAFE_INTEGER?t:Number(t)}},json:{to:_t,from:[_t,cr],serialize:e=>typeof e=="string"?e:Kr(e),parse:e=>Jr(e)},boolean:{to:st,from:[st],serialize:e=>{if(typeof e!="boolean")throw new Error("Invalid input for boolean type");return e?"t":"f"},parse:e=>e==="t"},date:{to:ct,from:[lr,_r,ct],serialize:e=>{if(typeof e=="string")return e;if(typeof e=="number")return new Date(e).toISOString();if(e instanceof Date)return e.toISOString();throw new Error("Invalid input for date type")},parse:e=>new Date(e)},bytea:{to:ot,from:[ot],serialize:e=>{if(!(e instanceof Uint8Array))throw new Error("Invalid input for bytea type");return"\\x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},parse:e=>{let t=e.slice(2);return Uint8Array.from({length:t.length/2},(r,a)=>parseInt(t.substring(a*2,(a+1)*2),16))}}},ft=qa(ur),vt=ft.parsers,ht=ft.serializers;function ut(e,t,r){if(e===null)return null;let a=r?.[t]??ft.parsers[t];return a?a(e,t):e}function qa(e){return Object.keys(e).reduce(({parsers:t,serializers:r},a)=>{let{to:n,from:o,serialize:l,parse:_}=e[a];return r[n]=l,r[a]=l,t[a]=_,Array.isArray(o)?o.forEach(c=>{t[c]=_,r[c]=l}):(t[o]=_,r[o]=l),{parsers:t,serializers:r}},{parsers:{},serializers:{}})}var za=/\\/g,Wa=/"/g;function Va(e){return e.replace(za,"\\\\").replace(Wa,'\\"')}function Me(e,t,r){if(Array.isArray(e)===!1)return e;if(!e.length)return"{}";let a=e[0],n=r===1020?";":",";return Array.isArray(a)?`{${e.map(o=>Me(o,t,r)).join(n)}}`:`{${e.map(o=>(o===void 0&&(o=null),o===null?"null":'"'+Va(t?t(o):o.toString())+'"')).join(n)}}`}var at={i:0,char:null,str:"",quoted:!1,last:0,p:null};function St(e,t,r){return at.i=at.last=0,pr(at,e,t,r)[0]}function pr(e,t,r,a){let n=[],o=a===1020?";":",";for(;e.i<t.length;e.i++){if(e.char=t[e.i],e.quoted)e.char==="\\"?e.str+=t[++e.i]:e.char==='"'?(n.push(r?r(e.str):e.str),e.str="",e.quoted=t[e.i+1]==='"',e.last=e.i+2):e.str+=e.char;else if(e.char==='"')e.quoted=!0;else if(e.char==="{")e.last=++e.i,n.push(pr(e,t,r,a));else if(e.char==="}"){e.quoted=!1,e.last<e.i&&n.push(r?r(t.slice(e.last,e.i)):t.slice(e.last,e.i)),e.last=e.i+1;break}else e.char===o&&e.p!=="}"&&e.p!=='"'&&(n.push(r?r(t.slice(e.last,e.i)):t.slice(e.last,e.i)),e.last=e.i+1);e.p=e.char}return e.last<e.i&&n.push(r?r(t.slice(e.last,e.i+1)):t.slice(e.last,e.i+1)),n}var mr={};Ee(mr,{parseDescribeStatementResults:()=>He,parseResults:()=>Ie});U();function Ie(e,t,r,a){let n=[],o={rows:[],fields:[]},l=0,_={...t,...r?.parsers};return e.forEach(c=>{switch(c.name){case"rowDescription":{let u=c;o.fields=u.fields.map(p=>({name:p.name,dataTypeID:p.dataTypeID}));break}case"dataRow":{if(!o)break;let u=c;r?.rowMode==="array"?o.rows.push(u.fields.map((p,m)=>ut(p,o.fields[m].dataTypeID,_))):o.rows.push(Object.fromEntries(u.fields.map((p,m)=>[o.fields[m].name,ut(p,o.fields[m].dataTypeID,_)])));break}case"commandComplete":{l+=ja(c),n.push({...o,affectedRows:l,...a?{blob:a}:{}}),o={rows:[],fields:[]};break}}}),n.length===0&&n.push({affectedRows:0,rows:[],fields:[]}),n}function ja(e){let t=e.text.split(" ");switch(t[0]){case"INSERT":return parseInt(t[2],10);case"UPDATE":case"DELETE":case"COPY":return parseInt(t[1],10);default:return 0}}function He(e){let t=e.find(r=>r.name==="parameterDescription");return t?t.dataTypeIDs:[]}var Et={};Ee(Et,{AuthenticationCleartextPassword:()=>br,AuthenticationMD5Password:()=>yr,AuthenticationOk:()=>Lr,AuthenticationSASL:()=>wr,AuthenticationSASLContinue:()=>Dr,AuthenticationSASLFinal:()=>xr,BackendKeyDataMessage:()=>Mr,CommandCompleteMessage:()=>Re,CopyDataMessage:()=>Fr,CopyResponse:()=>Tr,DataRowMessage:()=>Hr,DatabaseError:()=>ye,Field:()=>kr,NoticeMessage:()=>Ue,NotificationResponseMessage:()=>Be,ParameterDescriptionMessage:()=>Cr,ParameterStatusMessage:()=>Gr,ReadyForQueryMessage:()=>Ir,RowDescriptionMessage:()=>Pr,bindComplete:()=>dr,closeComplete:()=>fr,copyDone:()=>Ar,emptyQuery:()=>Er,noData:()=>vr,parseComplete:()=>gr,portalSuspended:()=>hr,replicationStart:()=>Sr});U();var gr={name:"parseComplete",length:5},dr={name:"bindComplete",length:5},fr={name:"closeComplete",length:5},vr={name:"noData",length:5},hr={name:"portalSuspended",length:5},Sr={name:"replicationStart",length:4},Er={name:"emptyQuery",length:4},Ar={name:"copyDone",length:4},Lr=class{constructor(e){this.length=e,this.name="authenticationOk"}},br=class{constructor(e){this.length=e,this.name="authenticationCleartextPassword"}},yr=class{constructor(e,t){this.length=e,this.salt=t,this.name="authenticationMD5Password"}},wr=class{constructor(e,t){this.length=e,this.mechanisms=t,this.name="authenticationSASL"}},Dr=class{constructor(e,t){this.length=e,this.data=t,this.name="authenticationSASLContinue"}},xr=class{constructor(e,t){this.length=e,this.data=t,this.name="authenticationSASLFinal"}},ye=class extends Error{constructor(e,t,r){super(e),this.length=t,this.name=r}},Fr=class{constructor(e,t){this.length=e,this.chunk=t,this.name="copyData"}},Tr=class{constructor(e,t,r,a){this.length=e,this.name=t,this.binary=r,this.columnTypes=new Array(a)}},kr=class{constructor(e,t,r,a,n,o,l){this.name=e,this.tableID=t,this.columnID=r,this.dataTypeID=a,this.dataTypeSize=n,this.dataTypeModifier=o,this.format=l}},Pr=class{constructor(e,t){this.length=e,this.fieldCount=t,this.name="rowDescription",this.fields=new Array(this.fieldCount)}},Cr=class{constructor(e,t){this.length=e,this.parameterCount=t,this.name="parameterDescription",this.dataTypeIDs=new Array(this.parameterCount)}},Gr=class{constructor(e,t,r){this.length=e,this.parameterName=t,this.parameterValue=r,this.name="parameterStatus"}},Mr=class{constructor(e,t,r){this.length=e,this.processID=t,this.secretKey=r,this.name="backendKeyData"}},Be=class{constructor(e,t,r,a){this.length=e,this.processId=t,this.channel=r,this.payload=a,this.name="notification"}},Ir=class{constructor(e,t){this.length=e,this.status=t,this.name="readyForQuery"}},Re=class{constructor(e,t){this.length=e,this.text=t,this.name="commandComplete"}},Hr=class{constructor(e,t){this.length=e,this.fields=t,this.name="dataRow",this.fieldCount=t.length}},Ue=class{constructor(e,t){this.length=e,this.message=t,this.name="notice"}},Br={};Ee(Br,{Parser:()=>ze,messages:()=>Et,serialize:()=>Q});U();U();U();U();function Oe(e){let t=e.length;for(let r=e.length-1;r>=0;r--){let a=e.charCodeAt(r);a>127&&a<=2047?t++:a>2047&&a<=65535&&(t+=2),a>=56320&&a<=57343&&r--}return t}var Y,V,Le,pt,Ae,ie,Ge,ge,Rr,Ne=class{constructor(e=256){this.size=e,G(this,ie),G(this,Y),G(this,V,5),G(this,Le,!1),G(this,pt,new TextEncoder),G(this,Ae,0),k(this,Y,x(this,ie,Ge).call(this,e))}addInt32(e){return x(this,ie,ge).call(this,4),h(this,Y).setInt32(h(this,V),e,h(this,Le)),k(this,V,h(this,V)+4),this}addInt16(e){return x(this,ie,ge).call(this,2),h(this,Y).setInt16(h(this,V),e,h(this,Le)),k(this,V,h(this,V)+2),this}addCString(e){return e&&this.addString(e),x(this,ie,ge).call(this,1),h(this,Y).setUint8(h(this,V),0),et(this,V)._++,this}addString(e=""){let t=Oe(e);return x(this,ie,ge).call(this,t),h(this,pt).encodeInto(e,new Uint8Array(h(this,Y).buffer,h(this,V))),k(this,V,h(this,V)+t),this}add(e){return x(this,ie,ge).call(this,e.byteLength),new Uint8Array(h(this,Y).buffer).set(new Uint8Array(e),h(this,V)),k(this,V,h(this,V)+e.byteLength),this}flush(e){let t=x(this,ie,Rr).call(this,e);return k(this,V,5),k(this,Y,x(this,ie,Ge).call(this,this.size)),new Uint8Array(t)}};Y=new WeakMap,V=new WeakMap,Le=new WeakMap,pt=new WeakMap,Ae=new WeakMap,ie=new WeakSet,Ge=function(e){return new DataView(new ArrayBuffer(e))},ge=function(e){if(h(this,Y).byteLength-h(this,V)<e){let t=h(this,Y).buffer,r=t.byteLength+(t.byteLength>>1)+e;k(this,Y,x(this,ie,Ge).call(this,r)),new Uint8Array(h(this,Y).buffer).set(new Uint8Array(t))}},Rr=function(e){if(e){h(this,Y).setUint8(h(this,Ae),e);let t=h(this,V)-(h(this,Ae)+1);h(this,Y).setInt32(h(this,Ae)+1,t,h(this,Le))}return h(this,Y).buffer.slice(e?0:5,h(this,V))};var z=new Ne,Xa=e=>{z.addInt16(3).addInt16(0);for(let a of Object.keys(e))z.addCString(a).addCString(e[a]);z.addCString("client_encoding").addCString("UTF8");let t=z.addCString("").flush(),r=t.byteLength+4;return new Ne().addInt32(r).add(t).flush()},Qa=()=>{let e=new DataView(new ArrayBuffer(8));return e.setInt32(0,8,!1),e.setInt32(4,80877103,!1),new Uint8Array(e.buffer)},Ya=e=>z.addCString(e).flush(112),Ja=(e,t)=>(z.addCString(e).addInt32(Oe(t)).addString(t),z.flush(112)),Ka=e=>z.addString(e).flush(112),$a=e=>z.addCString(e).flush(81),Za=[],ei=e=>{let t=e.name??"";t.length>63&&(console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",t,t.length),console.error("This can cause conflicts and silent errors executing queries"));let r=z.addCString(t).addCString(e.text).addInt16(e.types?.length??0);return e.types?.forEach(a=>r.addInt32(a)),z.flush(80)},de=new Ne,ti=(e,t)=>{for(let r=0;r<e.length;r++){let a=t?t(e[r],r):e[r];if(a===null)z.addInt16(0),de.addInt32(-1);else if(a instanceof ArrayBuffer||ArrayBuffer.isView(a)){let n=ArrayBuffer.isView(a)?a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength):a;z.addInt16(1),de.addInt32(n.byteLength),de.add(n)}else z.addInt16(0),de.addInt32(Oe(a)),de.addString(a)}},ri=(e={})=>{let t=e.portal??"",r=e.statement??"",a=e.binary??!1,n=e.values??Za,o=n.length;return z.addCString(t).addCString(r),z.addInt16(o),ti(n,e.valueMapper),z.addInt16(o),z.add(de.flush()),z.addInt16(a?1:0),z.flush(66)},ai=new Uint8Array([69,0,0,0,9,0,0,0,0,0]),ii=e=>{if(!e||!e.portal&&!e.rows)return ai;let t=e.portal??"",r=e.rows??0,a=Oe(t),n=4+a+1+4,o=new DataView(new ArrayBuffer(1+n));return o.setUint8(0,69),o.setInt32(1,n,!1),new TextEncoder().encodeInto(t,new Uint8Array(o.buffer,5)),o.setUint8(a+5,0),o.setUint32(o.byteLength-4,r,!1),new Uint8Array(o.buffer)},ni=(e,t)=>{let r=new DataView(new ArrayBuffer(16));return r.setInt32(0,16,!1),r.setInt16(4,1234,!1),r.setInt16(6,5678,!1),r.setInt32(8,e,!1),r.setInt32(12,t,!1),new Uint8Array(r.buffer)},At=(e,t)=>{let r=new Ne;return r.addCString(t),r.flush(e)},si=z.addCString("P").flush(68),oi=z.addCString("S").flush(68),li=e=>e.name?At(68,`${e.type}${e.name??""}`):e.type==="P"?si:oi,_i=e=>{let t=`${e.type}${e.name??""}`;return At(67,t)},ci=e=>z.add(e).flush(100),ui=e=>At(102,e),qe=e=>new Uint8Array([e,0,0,0,4]),pi=qe(72),mi=qe(83),gi=qe(88),di=qe(99),Q={startup:Xa,password:Ya,requestSsl:Qa,sendSASLInitialResponseMessage:Ja,sendSCRAMClientFinalMessage:Ka,query:$a,parse:ei,bind:ri,execute:ii,describe:li,close:_i,flush:()=>pi,sync:()=>mi,end:()=>gi,copyData:ci,copyDone:()=>di,copyFail:ui,cancel:ni};U();U();var Rt={text:0,binary:1};U();var fi=new ArrayBuffer(0),oe,X,mt,gt,Pe,vi=class{constructor(e=0){G(this,oe,new DataView(fi)),G(this,X),G(this,mt,"utf-8"),G(this,gt,new TextDecoder(h(this,mt))),G(this,Pe,!1),k(this,X,e)}setBuffer(e,t){k(this,X,e),k(this,oe,new DataView(t))}int16(){let e=h(this,oe).getInt16(h(this,X),h(this,Pe));return k(this,X,h(this,X)+2),e}byte(){let e=h(this,oe).getUint8(h(this,X));return et(this,X)._++,e}int32(){let e=h(this,oe).getInt32(h(this,X),h(this,Pe));return k(this,X,h(this,X)+4),e}string(e){return h(this,gt).decode(this.bytes(e))}cstring(){let e=h(this,X),t=e;for(;h(this,oe).getUint8(t++)!==0;);let r=this.string(t-e-1);return k(this,X,t),r}bytes(e){let t=h(this,oe).buffer.slice(h(this,X),h(this,X)+e);return k(this,X,h(this,X)+e),new Uint8Array(t)}};oe=new WeakMap,X=new WeakMap,mt=new WeakMap,gt=new WeakMap,Pe=new WeakMap;var dt=1,hi=4,Ut=dt+hi,Ot=new ArrayBuffer(0),$,te,re,C,W,Ur,Or,Nt,qt,zt,Wt,Vt,it,jt,Xt,Qt,Yt,Jt,Kt,$t,Zt,nt,ze=class{constructor(){G(this,W),G(this,$,new DataView(Ot)),G(this,te,0),G(this,re,0),G(this,C,new vi)}parse(e,t){x(this,W,Ur).call(this,ArrayBuffer.isView(e)?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):e);let r=h(this,re)+h(this,te),a=h(this,re);for(;a+Ut<=r;){let n=h(this,$).getUint8(a),o=h(this,$).getUint32(a+dt,!1),l=dt+o;if(l+a<=r){let _=x(this,W,Or).call(this,a+Ut,n,o,h(this,$).buffer);t(_),a+=l}else break}a===r?(k(this,$,new DataView(Ot)),k(this,te,0),k(this,re,0)):(k(this,te,r-a),k(this,re,a))}};$=new WeakMap,te=new WeakMap,re=new WeakMap,C=new WeakMap,W=new WeakSet,Ur=function(e){if(h(this,te)>0){let t=h(this,te)+e.byteLength;if(t+h(this,re)>h(this,$).byteLength){let r;if(t<=h(this,$).byteLength&&h(this,re)>=h(this,te))r=h(this,$).buffer;else{let a=h(this,$).byteLength*2;for(;t>=a;)a*=2;r=new ArrayBuffer(a)}new Uint8Array(r).set(new Uint8Array(h(this,$).buffer,h(this,re),h(this,te))),k(this,$,new DataView(r)),k(this,re,0)}new Uint8Array(h(this,$).buffer).set(new Uint8Array(e),h(this,re)+h(this,te)),k(this,te,t)}else k(this,$,new DataView(e)),k(this,re,0),k(this,te,e.byteLength)},Or=function(e,t,r,a){switch(t){case 50:return dr;case 49:return gr;case 51:return fr;case 110:return vr;case 115:return hr;case 99:return Ar;case 87:return Sr;case 73:return Er;case 68:return x(this,W,Jt).call(this,e,r,a);case 67:return x(this,W,qt).call(this,e,r,a);case 90:return x(this,W,Nt).call(this,e,r,a);case 65:return x(this,W,jt).call(this,e,r,a);case 82:return x(this,W,Zt).call(this,e,r,a);case 83:return x(this,W,Kt).call(this,e,r,a);case 75:return x(this,W,$t).call(this,e,r,a);case 69:return x(this,W,nt).call(this,e,r,a,"error");case 78:return x(this,W,nt).call(this,e,r,a,"notice");case 84:return x(this,W,Xt).call(this,e,r,a);case 116:return x(this,W,Yt).call(this,e,r,a);case 71:return x(this,W,Wt).call(this,e,r,a);case 72:return x(this,W,Vt).call(this,e,r,a);case 100:return x(this,W,zt).call(this,e,r,a);default:return new ye("received invalid response: "+t.toString(16),r,"error")}},Nt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).string(1);return new Ir(t,a)},qt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).cstring();return new Re(t,a)},zt=function(e,t,r){let a=r.slice(e,e+(t-4));return new Fr(t,new Uint8Array(a))},Wt=function(e,t,r){return x(this,W,it).call(this,e,t,r,"copyInResponse")},Vt=function(e,t,r){return x(this,W,it).call(this,e,t,r,"copyOutResponse")},it=function(e,t,r,a){h(this,C).setBuffer(e,r);let n=h(this,C).byte()!==0,o=h(this,C).int16(),l=new Tr(t,a,n,o);for(let _=0;_<o;_++)l.columnTypes[_]=h(this,C).int16();return l},jt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).int32(),n=h(this,C).cstring(),o=h(this,C).cstring();return new Be(t,a,n,o)},Xt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).int16(),n=new Pr(t,a);for(let o=0;o<a;o++)n.fields[o]=x(this,W,Qt).call(this);return n},Qt=function(){let e=h(this,C).cstring(),t=h(this,C).int32(),r=h(this,C).int16(),a=h(this,C).int32(),n=h(this,C).int16(),o=h(this,C).int32(),l=h(this,C).int16()===0?Rt.text:Rt.binary;return new kr(e,t,r,a,n,o,l)},Yt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).int16(),n=new Cr(t,a);for(let o=0;o<a;o++)n.dataTypeIDs[o]=h(this,C).int32();return n},Jt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).int16(),n=new Array(a);for(let o=0;o<a;o++){let l=h(this,C).int32();n[o]=l===-1?null:h(this,C).string(l)}return new Hr(t,n)},Kt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).cstring(),n=h(this,C).cstring();return new Gr(t,a,n)},$t=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).int32(),n=h(this,C).int32();return new Mr(t,a,n)},Zt=function(e,t,r){h(this,C).setBuffer(e,r);let a=h(this,C).int32();switch(a){case 0:return new Lr(t);case 3:return new br(t);case 5:return new yr(t,h(this,C).bytes(4));case 10:{let n=[];for(;;){let o=h(this,C).cstring();if(o.length===0)return new wr(t,n);n.push(o)}}case 11:return new Dr(t,h(this,C).string(t-8));case 12:return new xr(t,h(this,C).string(t-8));default:throw new Error("Unknown authenticationOk message type "+a)}},nt=function(e,t,r,a){h(this,C).setBuffer(e,r);let n={},o=h(this,C).string(1);for(;o!=="\0";)n[o]=h(this,C).cstring(),o=h(this,C).string(1);let l=n.M,_=a==="notice"?new Ue(t,l):new ye(l,t,a);return _.severity=n.S,_.code=n.C,_.detail=n.D,_.hint=n.H,_.position=n.P,_.internalPosition=n.p,_.internalQuery=n.q,_.where=n.W,_.schema=n.s,_.table=n.t,_.column=n.c,_.dataType=n.d,_.constraint=n.n,_.file=n.F,_.line=n.L,_.routine=n.R,_};U();var we=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",be;async function Nr(){if(we||be)return;let e=new URL("./pglite.wasm",import.meta.url);be=fetch(e)}var pe;async function qr(e,t){if(t||pe)return WebAssembly.instantiate(t||pe,e),{instance:await WebAssembly.instantiate(t||pe,e),module:t||pe};let r=new URL("./pglite.wasm",import.meta.url);if(we){let a=await(await import("fs/promises")).readFile(r),{module:n,instance:o}=await WebAssembly.instantiate(a,e);return pe=n,{instance:o,module:n}}else{be||(be=fetch(r));let a=await be,{module:n,instance:o}=await WebAssembly.instantiateStreaming(a,e);return pe=n,{instance:o,module:n}}}async function zr(){let e=new URL("./pglite.data",import.meta.url);return we?(await(await import("fs/promises")).readFile(e)).buffer:(await fetch(e)).arrayBuffer()}var Si=()=>{if(globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID();let e=new Uint8Array(16);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(e);else for(let r=0;r<e.length;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[];return e.forEach(r=>{t.push(r.toString(16).padStart(2,"0"))}),t.slice(0,4).join("")+"-"+t.slice(4,6).join("")+"-"+t.slice(6,8).join("")+"-"+t.slice(8,10).join("")+"-"+t.slice(10).join("")};async function Ei(e,t,r,a){if(!r||r.length===0)return t;a=a??e;let n;try{await e.execProtocol(Q.parse({text:t}),{syncToFs:!1}),n=He((await e.execProtocol(Q.describe({type:"S"}),{syncToFs:!1})).messages)}finally{await e.execProtocol(Q.sync(),{syncToFs:!1})}let o=t.replace(/\$([0-9]+)/g,(l,_)=>"%"+_+"L");return(await a.query(`SELECT format($1, ${r.map((l,_)=>`$${_+2}`).join(", ")}) as query`,[o,...r],{paramTypes:[Ce,...n]})).rows[0].query}function Lt(e){let t;return e.startsWith('"')&&e.endsWith('"')?t=e.substring(1,e.length-1):t=e.toLowerCase(),t}U();var Wr={part:"part",container:"container"};function We(e,t,...r){let a=e.length-1,n=r.length-1;if(n!==-1){if(n===0){e[a]=e[a]+r[0]+t;return}e[a]=e[a]+r[0],e.push(...r.slice(1,n)),e.push(r[n]+t)}}function Ai(e,...t){let r=[e[0]];r.raw=[e.raw[0]];let a=[];for(let n=0;n<t.length;n++){let o=t[n],l=n+1;if(o?._templateType===Wr.part){We(r,e[l],o.str),We(r.raw,e.raw[l],o.str);continue}if(o?._templateType===Wr.container){We(r,e[l],...o.strings),We(r.raw,e.raw[l],...o.strings.raw),a.push(...o.values);continue}r.push(e[l]),r.raw.push(e.raw[l]),a.push(o)}return{_templateType:"container",strings:r,values:a}}function bt(e,...t){let{strings:r,values:a}=Ai(e,...t);return{query:[r[0],...a.flatMap((n,o)=>[`$${o+1}`,r[o+1]])].join(""),params:a}}U();var Ve,ue,q,ae,je,ce,yt,Vr=class{constructor(){G(this,q),this.serializers={...ht},this.parsers={...vt},G(this,Ve,!1),G(this,ue,!1)}async _initArrayTypes({force:e=!1}={}){if(h(this,Ve)&&!e)return;k(this,Ve,!0);let t=await this.query(`
3
+ SELECT b.oid, b.typarray
4
+ FROM pg_catalog.pg_type a
5
+ LEFT JOIN pg_catalog.pg_type b ON b.oid = a.typelem
6
+ WHERE a.typcategory = 'A'
7
+ GROUP BY b.oid, b.typarray
8
+ ORDER BY b.oid
9
+ `);for(let r of t.rows)this.serializers[r.typarray]=a=>Me(a,this.serializers[r.oid],r.typarray),this.parsers[r.typarray]=a=>St(a,this.parsers[r.oid],r.typarray)}async refreshArrayTypes(){await this._initArrayTypes({force:!0})}async query(e,t,r){return await this._checkReady(),await this._runExclusiveTransaction(async()=>await x(this,q,je).call(this,e,t,r))}async sql(e,...t){let{query:r,params:a}=bt(e,...t);return await this.query(r,a)}async exec(e,t){return await this._checkReady(),await this._runExclusiveTransaction(async()=>await x(this,q,ce).call(this,e,t))}async describeQuery(e,t){try{await x(this,q,ae).call(this,Q.parse({text:e,types:t?.paramTypes}),t);let r=await x(this,q,ae).call(this,Q.describe({type:"S"}),t),a=r.messages.find(_=>_.name==="parameterDescription"),n=r.messages.find(_=>_.name==="rowDescription"),o=a?.dataTypeIDs.map(_=>({dataTypeID:_,serializer:this.serializers[_]}))??[],l=n?.fields.map(_=>({name:_.name,dataTypeID:_.dataTypeID,parser:this.parsers[_.dataTypeID]}))??[];return{queryParams:o,resultFields:l}}finally{await x(this,q,ae).call(this,Q.sync(),t)}}async transaction(e){return await this._checkReady(),await this._runExclusiveTransaction(async()=>{await x(this,q,ce).call(this,"BEGIN"),k(this,ue,!0);let t=!1,r=()=>{if(t)throw new Error("Transaction is closed")},a={query:async(n,o,l)=>(r(),await x(this,q,je).call(this,n,o,l)),sql:async(n,...o)=>{let{query:l,params:_}=bt(n,...o);return await x(this,q,je).call(this,l,_)},exec:async(n,o)=>(r(),await x(this,q,ce).call(this,n,o)),rollback:async()=>{r(),await x(this,q,ce).call(this,"ROLLBACK"),t=!0},get closed(){return t}};try{let n=await e(a);return t||(t=!0,await x(this,q,ce).call(this,"COMMIT")),k(this,ue,!1),n}catch(n){throw t||await x(this,q,ce).call(this,"ROLLBACK"),k(this,ue,!1),n}})}async runExclusive(e){return await this._runExclusiveQuery(e)}};Ve=new WeakMap,ue=new WeakMap,q=new WeakSet,ae=async function(e,t={}){return await this.execProtocol(e,{...t,syncToFs:!1})},je=async function(e,t=[],r){return await this._runExclusiveQuery(async()=>{x(this,q,yt).call(this,"runQuery",e,t,r),await this._handleBlob(r?.blob);let a;try{let{messages:o}=await x(this,q,ae).call(this,Q.parse({text:e,types:r?.paramTypes}),r),l=He((await x(this,q,ae).call(this,Q.describe({type:"S"}),r)).messages),_=t.map((c,u)=>{let p=l[u];if(c==null)return null;let m=r?.serializers?.[p]??this.serializers[p];return m?m(c):c.toString()});a=[...o,...(await x(this,q,ae).call(this,Q.bind({values:_}),r)).messages,...(await x(this,q,ae).call(this,Q.describe({type:"P"}),r)).messages,...(await x(this,q,ae).call(this,Q.execute({}),r)).messages]}finally{await x(this,q,ae).call(this,Q.sync(),r)}await this._cleanupBlob(),h(this,ue)||await this.syncToFs();let n=await this._getWrittenBlob();return Ie(a,this.parsers,r,n)[0]})},ce=async function(e,t){return await this._runExclusiveQuery(async()=>{x(this,q,yt).call(this,"runExec",e,t),await this._handleBlob(t?.blob);let r;try{r=(await x(this,q,ae).call(this,Q.query(e),t)).messages}finally{await x(this,q,ae).call(this,Q.sync(),t)}this._cleanupBlob(),h(this,ue)||await this.syncToFs();let a=await this._getWrittenBlob();return Ie(r,this.parsers,t,a)})},yt=function(...e){this.debug>0&&console.log(...e)};U();U();U();var An=new Error("timeout while waiting for mutex to become available"),Ln=new Error("mutex already locked"),Li=new Error("request for lock canceled"),bi=function(e,t,r,a){function n(o){return o instanceof r?o:new r(function(l){l(o)})}return new(r||(r=Promise))(function(o,l){function _(p){try{u(a.next(p))}catch(m){l(m)}}function c(p){try{u(a.throw(p))}catch(m){l(m)}}function u(p){p.done?o(p.value):n(p.value).then(_,c)}u((a=a.apply(e,t||[])).next())})},yi=class{constructor(e,t=Li){this._value=e,this._cancelError=t,this._weightedQueues=[],this._weightedWaiters=[]}acquire(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((t,r)=>{this._weightedQueues[e-1]||(this._weightedQueues[e-1]=[]),this._weightedQueues[e-1].push({resolve:t,reject:r}),this._dispatch()})}runExclusive(e,t=1){return bi(this,void 0,void 0,function*(){let[r,a]=yield this.acquire(t);try{return yield e(r)}finally{a()}})}waitForUnlock(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise(t=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),this._weightedWaiters[e-1].push(t),this._dispatch()})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatch()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatch()}cancel(){this._weightedQueues.forEach(e=>e.forEach(t=>t.reject(this._cancelError))),this._weightedQueues=[]}_dispatch(){var e;for(let t=this._value;t>0;t--){let r=(e=this._weightedQueues[t-1])===null||e===void 0?void 0:e.shift();if(!r)continue;let a=this._value,n=t;this._value-=t,t=this._value+1,r.resolve([a,this._newReleaser(n)])}this._drainUnlockWaiters()}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){for(let e=this._value;e>0;e--)this._weightedWaiters[e-1]&&(this._weightedWaiters[e-1].forEach(t=>t()),this._weightedWaiters[e-1]=[])}},wi=function(e,t,r,a){function n(o){return o instanceof r?o:new r(function(l){l(o)})}return new(r||(r=Promise))(function(o,l){function _(p){try{u(a.next(p))}catch(m){l(m)}}function c(p){try{u(a.throw(p))}catch(m){l(m)}}function u(p){p.done?o(p.value):n(p.value).then(_,c)}u((a=a.apply(e,t||[])).next())})},Xe=class{constructor(e){this._semaphore=new yi(1,e)}acquire(){return wi(this,void 0,void 0,function*(){let[,e]=yield this._semaphore.acquire();return e})}runExclusive(e){return this._semaphore.runExclusive(()=>e())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}};U();var Di=It(Ht(),1);async function jr(e){if(we){let t=await import("fs"),r=await import("zlib"),{Writable:a}=await import("stream"),{pipeline:n}=await import("stream/promises");if(!t.existsSync(e))throw new Error(`Extension bundle not found: ${e}`);let o=r.createGunzip(),l=[];return await n(t.createReadStream(e),o,new a({write(_,c,u){l.push(_),u()}})),new Blob(l)}else{let t=await fetch(e.toString());if(!t.ok||!t.body)return null;if(t.headers.get("Content-Encoding")==="gzip")return t.blob();{let r=new DecompressionStream("gzip");return new Response(t.body.pipeThrough(r)).blob()}}}async function xi(e,t){for(let r in e.pg_extensions){let a;try{a=await e.pg_extensions[r]}catch(n){console.error("Failed to fetch extension:",r,n);continue}if(a){let n=new Uint8Array(await a.arrayBuffer());Fi(e,r,n,t)}else console.error("Could not get binary data for extension:",r)}}function Fi(e,t,r,a){Di.default.untar(r).forEach(n=>{if(!n.name.startsWith(".")){let o=e.WASM_PREFIX+"/"+n.name;if(n.name.endsWith(".so")){let l=(...c)=>{a("pgfs:ext OK",o,c)},_=(...c)=>{a("pgfs:ext FAIL",o,c)};e.FS.createPreloadedFile(Ti(o),n.name.split("/").pop().slice(0,-3),n.data,!0,!0,l,_,!1)}else e.FS.writeFile(o,n.data)}})}function Ti(e){let t=e.lastIndexOf("/");return t>0?e.slice(0,t):e}U();U();var ki=class extends rt{async init(e,t){return this.pg=e,{emscriptenOpts:{...t,preRun:[...t.preRun||[],r=>{let a=r.FS.filesystems.IDBFS;r.FS.mkdir("/pglite"),r.FS.mkdir(`/pglite/${this.dataDir}`),r.FS.mount(a,{},`/pglite/${this.dataDir}`),r.FS.symlink(`/pglite/${this.dataDir}`,_e)}]}}}initialSyncFs(){return new Promise((e,t)=>{this.pg.Module.FS.syncfs(!0,r=>{r?t(r):e()})})}syncToFs(e){return new Promise((t,r)=>{this.pg.Module.FS.syncfs(!1,a=>{a?r(a):t()})})}async closeFs(){let e=this.pg.Module.FS.filesystems.IDBFS.dbs[this.dataDir];e&&e.close(),this.pg.Module.FS.quit()}};U();var Pi=class extends rt{async closeFs(){this.pg.Module.FS.quit()}};function Ci(e){let t;if(e?.startsWith("file://")){if(e=e.slice(7),!e)throw new Error("Invalid dataDir, must be a valid path");t="nodefs"}else e?.startsWith("idb://")?(e=e.slice(6),t="idbfs"):e?.startsWith("opfs-ahp://")?(e=e.slice(11),t="opfs-ahp"):!e||e?.startsWith("memory://")?t="memoryfs":t="nodefs";return{dataDir:e,fsType:t}}async function Gi(e,t){let r;if(e&&t==="nodefs"){let{NodeFS:a}=await import("./nodefs-MQZB2OFY.js");r=new a(e)}else if(e&&t==="idbfs")r=new ki(e);else if(e&&t==="opfs-ahp"){let{OpfsAhpFS:a}=await import("./opfs-ahp-W7WVBYAH.js");r=new a(e)}else r=new Pi;return r}U();U();var Mi=(()=>{var _scriptName=import.meta.url;return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await import("module"),t=import.meta.url;t.startsWith("data:")&&(t="/");var require=e(t)}Module.expectedDataFileDownloads??(Module.expectedDataFileDownloads=0),Module.expectedDataFileDownloads++,(()=>{var e=typeof ENVIRONMENT_IS_PTHREAD<"u"&&ENVIRONMENT_IS_PTHREAD,t=typeof ENVIRONMENT_IS_WASM_WORKER<"u"&&ENVIRONMENT_IS_WASM_WORKER;if(e||t)return;var r=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";function a(n){var o="";typeof window=="object"?o=window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):typeof process>"u"&&typeof location<"u"&&(o=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/"));var l="/tmp/sdk/dist/pglite-web/pglite.data",_="pglite.data",c=Module.locateFile?Module.locateFile(_,""):_,u=n.remote_package_size;function p(g,S,A,b){if(r){require("fs").readFile(g,(L,y)=>{L?b(L):A(y.buffer)});return}Module.dataFileDownloads??(Module.dataFileDownloads={}),fetch(g).catch(L=>Promise.reject(new Error(`Network Error: ${g}`,{cause:L}))).then(L=>{if(!L.ok)return Promise.reject(new Error(`${L.status}: ${L.url}`));if(!L.body&&L.arrayBuffer)return L.arrayBuffer().then(A);let y=L.body.getReader(),w=()=>y.read().then(D).catch(I=>Promise.reject(new Error(`Unexpected error while handling : ${L.url} ${I}`,{cause:I}))),F=[],E=L.headers,T=Number(E.get("Content-Length")??S),P=0,D=({done:I,value:M})=>{if(I){let B=new Uint8Array(F.map(H=>H.length).reduce((H,R)=>H+R,0)),O=0;for(let H of F)B.set(H,O),O+=H.length;A(B.buffer)}else{F.push(M),P+=M.length,Module.dataFileDownloads[g]={loaded:P,total:T};let B=0,O=0;for(let H of Object.values(Module.dataFileDownloads))B+=H.loaded,O+=H.total;return Module.setStatus?.(`Downloading data... (${B}/${O})`),w()}};return Module.setStatus?.("Downloading data..."),w()})}function m(g){console.error("package error:",g)}var f=null,d=Module.getPreloadedPackage?Module.getPreloadedPackage(c,u):null;d||p(c,u,g=>{f?(f(g),f=null):d=g},m);function v(g){function S(w,F){if(!w)throw F+new Error().stack}g.FS_createPath("/","home",!0,!0),g.FS_createPath("/home","web_user",!0,!0),g.FS_createPath("/","tmp",!0,!0),g.FS_createPath("/tmp","pglite",!0,!0),g.FS_createPath("/tmp/pglite","bin",!0,!0),g.FS_createPath("/tmp/pglite","lib",!0,!0),g.FS_createPath("/tmp/pglite/lib","postgresql",!0,!0),g.FS_createPath("/tmp/pglite/lib/postgresql","pgxs",!0,!0),g.FS_createPath("/tmp/pglite/lib/postgresql/pgxs","config",!0,!0),g.FS_createPath("/tmp/pglite/lib/postgresql/pgxs","src",!0,!0),g.FS_createPath("/tmp/pglite/lib/postgresql/pgxs/src","makefiles",!0,!0),g.FS_createPath("/tmp/pglite","share",!0,!0),g.FS_createPath("/tmp/pglite/share","postgresql",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql","extension",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql","timezone",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Africa",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","America",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Argentina",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Indiana",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Kentucky",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","North_Dakota",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Antarctica",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Arctic",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Asia",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Atlantic",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Australia",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Brazil",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Canada",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Chile",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Etc",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Europe",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Indian",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Mexico",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","Pacific",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql/timezone","US",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql","timezonesets",!0,!0),g.FS_createPath("/tmp/pglite/share/postgresql","tsearch_data",!0,!0);function A(w,F,E){this.start=w,this.end=F,this.audio=E}A.prototype={requests:{},open:function(w,F){this.name=F,this.requests[F]=this,g.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var w=this.byteArray.subarray(this.start,this.end);this.finish(w)},finish:function(w){var F=this;g.FS_createDataFile(this.name,null,w,!0,!0,!0),g.removeRunDependency(`fp ${F.name}`),this.requests[this.name]=null}};for(var b=n.files,L=0;L<b.length;++L)new A(b[L].start,b[L].end,b[L].audio||0).open("GET",b[L].filename);function y(w){S(w,"Loading data file failed."),S(w.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var F=new Uint8Array(w),E;A.prototype.byteArray=F;for(var T=n.files,P=0;P<T.length;++P)A.prototype.requests[T[P].filename].onload();g.removeRunDependency("datafile_/tmp/sdk/dist/pglite-web/pglite.data")}g.addRunDependency("datafile_/tmp/sdk/dist/pglite-web/pglite.data"),g.preloadResults??(g.preloadResults={}),g.preloadResults[l]={fromCache:!1},d?(y(d),d=null):f=y}Module.calledRun?v(Module):(Module.preRun??(Module.preRun=[])).push(v)}a({files:[{filename:"/home/web_user/.pgpass",start:0,end:204},{filename:"/tmp/pglite/bin/initdb",start:204,end:204},{filename:"/tmp/pglite/bin/postgres",start:204,end:204},{filename:"/tmp/pglite/lib/postgresql/cyrillic_and_mic.so",start:204,end:3870},{filename:"/tmp/pglite/lib/postgresql/dict_snowball.so",start:3870,end:575315},{filename:"/tmp/pglite/lib/postgresql/euc2004_sjis2004.so",start:575315,end:577312},{filename:"/tmp/pglite/lib/postgresql/euc_cn_and_mic.so",start:577312,end:578250},{filename:"/tmp/pglite/lib/postgresql/euc_jp_and_sjis.so",start:578250,end:585507},{filename:"/tmp/pglite/lib/postgresql/euc_kr_and_mic.so",start:585507,end:586459},{filename:"/tmp/pglite/lib/postgresql/euc_tw_and_big5.so",start:586459,end:591033},{filename:"/tmp/pglite/lib/postgresql/latin2_and_win1250.so",start:591033,end:592404},{filename:"/tmp/pglite/lib/postgresql/latin_and_mic.so",start:592404,end:593237},{filename:"/tmp/pglite/lib/postgresql/libpqwalreceiver.so",start:593237,end:713391},{filename:"/tmp/pglite/lib/postgresql/pgoutput.so",start:713391,end:726732},{filename:"/tmp/pglite/lib/postgresql/pgxs/config/install-sh",start:726732,end:740729},{filename:"/tmp/pglite/lib/postgresql/pgxs/config/missing",start:740729,end:742077},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.global",start:742077,end:778334},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.port",start:778334,end:778886},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.shlib",start:778886,end:794188},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/makefiles/pgxs.mk",start:794188,end:809099},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/nls-global.mk",start:809099,end:815967},{filename:"/tmp/pglite/lib/postgresql/plpgsql.so",start:815967,end:965794},{filename:"/tmp/pglite/lib/postgresql/utf8_and_big5.so",start:965794,end:1080543},{filename:"/tmp/pglite/lib/postgresql/utf8_and_cyrillic.so",start:1080543,end:1086421},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc2004.so",start:1086421,end:1291354},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_cn.so",start:1291354,end:1366535},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_jp.so",start:1366535,end:1517764},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_kr.so",start:1517764,end:1620621},{filename:"/tmp/pglite/lib/postgresql/utf8_and_euc_tw.so",start:1620621,end:1820178},{filename:"/tmp/pglite/lib/postgresql/utf8_and_gb18030.so",start:1820178,end:2082556},{filename:"/tmp/pglite/lib/postgresql/utf8_and_gbk.so",start:2082556,end:2229089},{filename:"/tmp/pglite/lib/postgresql/utf8_and_iso8859.so",start:2229089,end:2252674},{filename:"/tmp/pglite/lib/postgresql/utf8_and_iso8859_1.so",start:2252674,end:2253644},{filename:"/tmp/pglite/lib/postgresql/utf8_and_johab.so",start:2253644,end:2415349},{filename:"/tmp/pglite/lib/postgresql/utf8_and_sjis.so",start:2415349,end:2497010},{filename:"/tmp/pglite/lib/postgresql/utf8_and_sjis2004.so",start:2497010,end:2623643},{filename:"/tmp/pglite/lib/postgresql/utf8_and_uhc.so",start:2623643,end:2790916},{filename:"/tmp/pglite/lib/postgresql/utf8_and_win.so",start:2790916,end:2817460},{filename:"/tmp/pglite/password",start:2817460,end:2817469},{filename:"/tmp/pglite/share/postgresql/errcodes.txt",start:2817469,end:2850861},{filename:"/tmp/pglite/share/postgresql/extension/plpgsql--1.0.sql",start:2850861,end:2851519},{filename:"/tmp/pglite/share/postgresql/extension/plpgsql.control",start:2851519,end:2851712},{filename:"/tmp/pglite/share/postgresql/information_schema.sql",start:2851712,end:2967235},{filename:"/tmp/pglite/share/postgresql/pg_hba.conf.sample",start:2967235,end:2972860},{filename:"/tmp/pglite/share/postgresql/pg_ident.conf.sample",start:2972860,end:2975500},{filename:"/tmp/pglite/share/postgresql/pg_service.conf.sample",start:2975500,end:2976104},{filename:"/tmp/pglite/share/postgresql/postgres.bki",start:2976104,end:3929372},{filename:"/tmp/pglite/share/postgresql/postgresql.conf.sample",start:3929372,end:3960034},{filename:"/tmp/pglite/share/postgresql/psqlrc.sample",start:3960034,end:3960312},{filename:"/tmp/pglite/share/postgresql/snowball_create.sql",start:3960312,end:4004488},{filename:"/tmp/pglite/share/postgresql/sql_features.txt",start:4004488,end:4040221},{filename:"/tmp/pglite/share/postgresql/system_constraints.sql",start:4040221,end:4049116},{filename:"/tmp/pglite/share/postgresql/system_functions.sql",start:4049116,end:4073419},{filename:"/tmp/pglite/share/postgresql/system_views.sql",start:4073419,end:4125113},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Abidjan",start:4125113,end:4125261},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Accra",start:4125261,end:4125409},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Addis_Ababa",start:4125409,end:4125674},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Algiers",start:4125674,end:4126409},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Asmara",start:4126409,end:4126674},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Asmera",start:4126674,end:4126939},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bamako",start:4126939,end:4127087},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bangui",start:4127087,end:4127322},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Banjul",start:4127322,end:4127470},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bissau",start:4127470,end:4127664},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Blantyre",start:4127664,end:4127813},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Brazzaville",start:4127813,end:4128048},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bujumbura",start:4128048,end:4128197},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Cairo",start:4128197,end:4130596},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Casablanca",start:4130596,end:4133025},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ceuta",start:4133025,end:4135077},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Conakry",start:4135077,end:4135225},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Dakar",start:4135225,end:4135373},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Dar_es_Salaam",start:4135373,end:4135638},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Djibouti",start:4135638,end:4135903},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Douala",start:4135903,end:4136138},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/El_Aaiun",start:4136138,end:4138433},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Freetown",start:4138433,end:4138581},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Gaborone",start:4138581,end:4138730},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Harare",start:4138730,end:4138879},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Johannesburg",start:4138879,end:4139125},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Juba",start:4139125,end:4139804},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kampala",start:4139804,end:4140069},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Khartoum",start:4140069,end:4140748},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kigali",start:4140748,end:4140897},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kinshasa",start:4140897,end:4141132},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lagos",start:4141132,end:4141367},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Libreville",start:4141367,end:4141602},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lome",start:4141602,end:4141750},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Luanda",start:4141750,end:4141985},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lubumbashi",start:4141985,end:4142134},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lusaka",start:4142134,end:4142283},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Malabo",start:4142283,end:4142518},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Maputo",start:4142518,end:4142667},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Maseru",start:4142667,end:4142913},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Mbabane",start:4142913,end:4143159},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Mogadishu",start:4143159,end:4143424},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Monrovia",start:4143424,end:4143632},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Nairobi",start:4143632,end:4143897},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ndjamena",start:4143897,end:4144096},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Niamey",start:4144096,end:4144331},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Nouakchott",start:4144331,end:4144479},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ouagadougou",start:4144479,end:4144627},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Porto-Novo",start:4144627,end:4144862},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Sao_Tome",start:4144862,end:4145116},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Timbuktu",start:4145116,end:4145264},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Tripoli",start:4145264,end:4145889},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Tunis",start:4145889,end:4146578},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Windhoek",start:4146578,end:4147533},{filename:"/tmp/pglite/share/postgresql/timezone/America/Adak",start:4147533,end:4149889},{filename:"/tmp/pglite/share/postgresql/timezone/America/Anchorage",start:4149889,end:4152260},{filename:"/tmp/pglite/share/postgresql/timezone/America/Anguilla",start:4152260,end:4152506},{filename:"/tmp/pglite/share/postgresql/timezone/America/Antigua",start:4152506,end:4152752},{filename:"/tmp/pglite/share/postgresql/timezone/America/Araguaina",start:4152752,end:4153636},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Buenos_Aires",start:4153636,end:4154712},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Catamarca",start:4154712,end:4155788},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/ComodRivadavia",start:4155788,end:4156864},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Cordoba",start:4156864,end:4157940},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Jujuy",start:4157940,end:4158988},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/La_Rioja",start:4158988,end:4160078},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Mendoza",start:4160078,end:4161154},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Rio_Gallegos",start:4161154,end:4162230},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Salta",start:4162230,end:4163278},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/San_Juan",start:4163278,end:4164368},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/San_Luis",start:4164368,end:4165470},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Tucuman",start:4165470,end:4166574},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Ushuaia",start:4166574,end:4167650},{filename:"/tmp/pglite/share/postgresql/timezone/America/Aruba",start:4167650,end:4167896},{filename:"/tmp/pglite/share/postgresql/timezone/America/Asuncion",start:4167896,end:4169554},{filename:"/tmp/pglite/share/postgresql/timezone/America/Atikokan",start:4169554,end:4169736},{filename:"/tmp/pglite/share/postgresql/timezone/America/Atka",start:4169736,end:4172092},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bahia",start:4172092,end:4173116},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bahia_Banderas",start:4173116,end:4174216},{filename:"/tmp/pglite/share/postgresql/timezone/America/Barbados",start:4174216,end:4174652},{filename:"/tmp/pglite/share/postgresql/timezone/America/Belem",start:4174652,end:4175228},{filename:"/tmp/pglite/share/postgresql/timezone/America/Belize",start:4175228,end:4176842},{filename:"/tmp/pglite/share/postgresql/timezone/America/Blanc-Sablon",start:4176842,end:4177088},{filename:"/tmp/pglite/share/postgresql/timezone/America/Boa_Vista",start:4177088,end:4177720},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bogota",start:4177720,end:4177966},{filename:"/tmp/pglite/share/postgresql/timezone/America/Boise",start:4177966,end:4180376},{filename:"/tmp/pglite/share/postgresql/timezone/America/Buenos_Aires",start:4180376,end:4181452},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cambridge_Bay",start:4181452,end:4183706},{filename:"/tmp/pglite/share/postgresql/timezone/America/Campo_Grande",start:4183706,end:4185150},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cancun",start:4185150,end:4186014},{filename:"/tmp/pglite/share/postgresql/timezone/America/Caracas",start:4186014,end:4186278},{filename:"/tmp/pglite/share/postgresql/timezone/America/Catamarca",start:4186278,end:4187354},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cayenne",start:4187354,end:4187552},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cayman",start:4187552,end:4187734},{filename:"/tmp/pglite/share/postgresql/timezone/America/Chicago",start:4187734,end:4191326},{filename:"/tmp/pglite/share/postgresql/timezone/America/Chihuahua",start:4191326,end:4192428},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ciudad_Juarez",start:4192428,end:4193966},{filename:"/tmp/pglite/share/postgresql/timezone/America/Coral_Harbour",start:4193966,end:4194148},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cordoba",start:4194148,end:4195224},{filename:"/tmp/pglite/share/postgresql/timezone/America/Costa_Rica",start:4195224,end:4195540},{filename:"/tmp/pglite/share/postgresql/timezone/America/Creston",start:4195540,end:4195900},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cuiaba",start:4195900,end:4197316},{filename:"/tmp/pglite/share/postgresql/timezone/America/Curacao",start:4197316,end:4197562},{filename:"/tmp/pglite/share/postgresql/timezone/America/Danmarkshavn",start:4197562,end:4198260},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dawson",start:4198260,end:4199874},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dawson_Creek",start:4199874,end:4200924},{filename:"/tmp/pglite/share/postgresql/timezone/America/Denver",start:4200924,end:4203384},{filename:"/tmp/pglite/share/postgresql/timezone/America/Detroit",start:4203384,end:4205614},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dominica",start:4205614,end:4205860},{filename:"/tmp/pglite/share/postgresql/timezone/America/Edmonton",start:4205860,end:4208192},{filename:"/tmp/pglite/share/postgresql/timezone/America/Eirunepe",start:4208192,end:4208848},{filename:"/tmp/pglite/share/postgresql/timezone/America/El_Salvador",start:4208848,end:4209072},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ensenada",start:4209072,end:4211530},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fort_Nelson",start:4211530,end:4213770},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fort_Wayne",start:4213770,end:4215452},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fortaleza",start:4215452,end:4216168},{filename:"/tmp/pglite/share/postgresql/timezone/America/Glace_Bay",start:4216168,end:4218360},{filename:"/tmp/pglite/share/postgresql/timezone/America/Godthab",start:4218360,end:4220263},{filename:"/tmp/pglite/share/postgresql/timezone/America/Goose_Bay",start:4220263,end:4223473},{filename:"/tmp/pglite/share/postgresql/timezone/America/Grand_Turk",start:4223473,end:4225307},{filename:"/tmp/pglite/share/postgresql/timezone/America/Grenada",start:4225307,end:4225553},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guadeloupe",start:4225553,end:4225799},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guatemala",start:4225799,end:4226079},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guayaquil",start:4226079,end:4226325},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guyana",start:4226325,end:4226587},{filename:"/tmp/pglite/share/postgresql/timezone/America/Halifax",start:4226587,end:4230011},{filename:"/tmp/pglite/share/postgresql/timezone/America/Havana",start:4230011,end:4232427},{filename:"/tmp/pglite/share/postgresql/timezone/America/Hermosillo",start:4232427,end:4232815},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Indianapolis",start:4232815,end:4234497},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Knox",start:4234497,end:4236941},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Marengo",start:4236941,end:4238679},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Petersburg",start:4238679,end:4240599},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Tell_City",start:4240599,end:4242299},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Vevay",start:4242299,end:4243729},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Vincennes",start:4243729,end:4245439},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Winamac",start:4245439,end:4247233},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indianapolis",start:4247233,end:4248915},{filename:"/tmp/pglite/share/postgresql/timezone/America/Inuvik",start:4248915,end:4250989},{filename:"/tmp/pglite/share/postgresql/timezone/America/Iqaluit",start:4250989,end:4253191},{filename:"/tmp/pglite/share/postgresql/timezone/America/Jamaica",start:4253191,end:4253673},{filename:"/tmp/pglite/share/postgresql/timezone/America/Jujuy",start:4253673,end:4254721},{filename:"/tmp/pglite/share/postgresql/timezone/America/Juneau",start:4254721,end:4257074},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kentucky/Louisville",start:4257074,end:4259862},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kentucky/Monticello",start:4259862,end:4262230},{filename:"/tmp/pglite/share/postgresql/timezone/America/Knox_IN",start:4262230,end:4264674},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kralendijk",start:4264674,end:4264920},{filename:"/tmp/pglite/share/postgresql/timezone/America/La_Paz",start:4264920,end:4265152},{filename:"/tmp/pglite/share/postgresql/timezone/America/Lima",start:4265152,end:4265558},{filename:"/tmp/pglite/share/postgresql/timezone/America/Los_Angeles",start:4265558,end:4268410},{filename:"/tmp/pglite/share/postgresql/timezone/America/Louisville",start:4268410,end:4271198},{filename:"/tmp/pglite/share/postgresql/timezone/America/Lower_Princes",start:4271198,end:4271444},{filename:"/tmp/pglite/share/postgresql/timezone/America/Maceio",start:4271444,end:4272188},{filename:"/tmp/pglite/share/postgresql/timezone/America/Managua",start:4272188,end:4272618},{filename:"/tmp/pglite/share/postgresql/timezone/America/Manaus",start:4272618,end:4273222},{filename:"/tmp/pglite/share/postgresql/timezone/America/Marigot",start:4273222,end:4273468},{filename:"/tmp/pglite/share/postgresql/timezone/America/Martinique",start:4273468,end:4273700},{filename:"/tmp/pglite/share/postgresql/timezone/America/Matamoros",start:4273700,end:4275118},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mazatlan",start:4275118,end:4276178},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mendoza",start:4276178,end:4277254},{filename:"/tmp/pglite/share/postgresql/timezone/America/Menominee",start:4277254,end:4279528},{filename:"/tmp/pglite/share/postgresql/timezone/America/Merida",start:4279528,end:4280532},{filename:"/tmp/pglite/share/postgresql/timezone/America/Metlakatla",start:4280532,end:4281955},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mexico_City",start:4281955,end:4283177},{filename:"/tmp/pglite/share/postgresql/timezone/America/Miquelon",start:4283177,end:4284843},{filename:"/tmp/pglite/share/postgresql/timezone/America/Moncton",start:4284843,end:4287997},{filename:"/tmp/pglite/share/postgresql/timezone/America/Monterrey",start:4287997,end:4289111},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montevideo",start:4289111,end:4290621},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montreal",start:4290621,end:4294115},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montserrat",start:4294115,end:4294361},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nassau",start:4294361,end:4297855},{filename:"/tmp/pglite/share/postgresql/timezone/America/New_York",start:4297855,end:4301407},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nipigon",start:4301407,end:4304901},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nome",start:4304901,end:4307268},{filename:"/tmp/pglite/share/postgresql/timezone/America/Noronha",start:4307268,end:4307984},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/Beulah",start:4307984,end:4310380},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/Center",start:4310380,end:4312776},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/New_Salem",start:4312776,end:4315172},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nuuk",start:4315172,end:4317075},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ojinaga",start:4317075,end:4318599},{filename:"/tmp/pglite/share/postgresql/timezone/America/Panama",start:4318599,end:4318781},{filename:"/tmp/pglite/share/postgresql/timezone/America/Pangnirtung",start:4318781,end:4320983},{filename:"/tmp/pglite/share/postgresql/timezone/America/Paramaribo",start:4320983,end:4321245},{filename:"/tmp/pglite/share/postgresql/timezone/America/Phoenix",start:4321245,end:4321605},{filename:"/tmp/pglite/share/postgresql/timezone/America/Port-au-Prince",start:4321605,end:4323039},{filename:"/tmp/pglite/share/postgresql/timezone/America/Port_of_Spain",start:4323039,end:4323285},{filename:"/tmp/pglite/share/postgresql/timezone/America/Porto_Acre",start:4323285,end:4323913},{filename:"/tmp/pglite/share/postgresql/timezone/America/Porto_Velho",start:4323913,end:4324489},{filename:"/tmp/pglite/share/postgresql/timezone/America/Puerto_Rico",start:4324489,end:4324735},{filename:"/tmp/pglite/share/postgresql/timezone/America/Punta_Arenas",start:4324735,end:4326651},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rainy_River",start:4326651,end:4329519},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rankin_Inlet",start:4329519,end:4331585},{filename:"/tmp/pglite/share/postgresql/timezone/America/Recife",start:4331585,end:4332301},{filename:"/tmp/pglite/share/postgresql/timezone/America/Regina",start:4332301,end:4333281},{filename:"/tmp/pglite/share/postgresql/timezone/America/Resolute",start:4333281,end:4335347},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rio_Branco",start:4335347,end:4335975},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rosario",start:4335975,end:4337051},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santa_Isabel",start:4337051,end:4339509},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santarem",start:4339509,end:4340111},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santiago",start:4340111,end:4342640},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santo_Domingo",start:4342640,end:4343098},{filename:"/tmp/pglite/share/postgresql/timezone/America/Sao_Paulo",start:4343098,end:4344542},{filename:"/tmp/pglite/share/postgresql/timezone/America/Scoresbysund",start:4344542,end:4346491},{filename:"/tmp/pglite/share/postgresql/timezone/America/Shiprock",start:4346491,end:4348951},{filename:"/tmp/pglite/share/postgresql/timezone/America/Sitka",start:4348951,end:4351280},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Barthelemy",start:4351280,end:4351526},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Johns",start:4351526,end:4355181},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Kitts",start:4355181,end:4355427},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Lucia",start:4355427,end:4355673},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Thomas",start:4355673,end:4355919},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Vincent",start:4355919,end:4356165},{filename:"/tmp/pglite/share/postgresql/timezone/America/Swift_Current",start:4356165,end:4356725},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tegucigalpa",start:4356725,end:4356977},{filename:"/tmp/pglite/share/postgresql/timezone/America/Thule",start:4356977,end:4358479},{filename:"/tmp/pglite/share/postgresql/timezone/America/Thunder_Bay",start:4358479,end:4361973},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tijuana",start:4361973,end:4364431},{filename:"/tmp/pglite/share/postgresql/timezone/America/Toronto",start:4364431,end:4367925},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tortola",start:4367925,end:4368171},{filename:"/tmp/pglite/share/postgresql/timezone/America/Vancouver",start:4368171,end:4371063},{filename:"/tmp/pglite/share/postgresql/timezone/America/Virgin",start:4371063,end:4371309},{filename:"/tmp/pglite/share/postgresql/timezone/America/Whitehorse",start:4371309,end:4372923},{filename:"/tmp/pglite/share/postgresql/timezone/America/Winnipeg",start:4372923,end:4375791},{filename:"/tmp/pglite/share/postgresql/timezone/America/Yakutat",start:4375791,end:4378096},{filename:"/tmp/pglite/share/postgresql/timezone/America/Yellowknife",start:4378096,end:4380428},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Casey",start:4380428,end:4380865},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Davis",start:4380865,end:4381162},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/DumontDUrville",start:4381162,end:4381348},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Macquarie",start:4381348,end:4383608},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Mawson",start:4383608,end:4383807},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/McMurdo",start:4383807,end:4386244},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Palmer",start:4386244,end:4387662},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Rothera",start:4387662,end:4387826},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/South_Pole",start:4387826,end:4390263},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Syowa",start:4390263,end:4390428},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Troll",start:4390428,end:4391590},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Vostok",start:4391590,end:4391817},{filename:"/tmp/pglite/share/postgresql/timezone/Arctic/Longyearbyen",start:4391817,end:4394115},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aden",start:4394115,end:4394280},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Almaty",start:4394280,end:4395277},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Amman",start:4395277,end:4396724},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Anadyr",start:4396724,end:4397912},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aqtau",start:4397912,end:4398895},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aqtobe",start:4398895,end:4399906},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ashgabat",start:4399906,end:4400525},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ashkhabad",start:4400525,end:4401144},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Atyrau",start:4401144,end:4402135},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Baghdad",start:4402135,end:4403118},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bahrain",start:4403118,end:4403317},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Baku",start:4403317,end:4404544},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bangkok",start:4404544,end:4404743},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Barnaul",start:4404743,end:4405964},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Beirut",start:4405964,end:4408118},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bishkek",start:4408118,end:4409101},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Brunei",start:4409101,end:4409584},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Calcutta",start:4409584,end:4409869},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chita",start:4409869,end:4411090},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Choibalsan",start:4411090,end:4411981},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chongqing",start:4411981,end:4412542},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chungking",start:4412542,end:4413103},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Colombo",start:4413103,end:4413475},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dacca",start:4413475,end:4413812},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Damascus",start:4413812,end:4415699},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dhaka",start:4415699,end:4416036},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dili",start:4416036,end:4416307},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dubai",start:4416307,end:4416472},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dushanbe",start:4416472,end:4417063},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Famagusta",start:4417063,end:4419091},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Gaza",start:4419091,end:4422935},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Harbin",start:4422935,end:4423496},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hebron",start:4423496,end:4427368},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ho_Chi_Minh",start:4427368,end:4427719},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hong_Kong",start:4427719,end:4428952},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hovd",start:4428952,end:4429843},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Irkutsk",start:4429843,end:4431086},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Istanbul",start:4431086,end:4433033},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jakarta",start:4433033,end:4433416},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jayapura",start:4433416,end:4433637},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jerusalem",start:4433637,end:4436025},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kabul",start:4436025,end:4436233},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kamchatka",start:4436233,end:4437399},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Karachi",start:4437399,end:4437778},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kashgar",start:4437778,end:4437943},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kathmandu",start:4437943,end:4438155},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Katmandu",start:4438155,end:4438367},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Khandyga",start:4438367,end:4439638},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kolkata",start:4439638,end:4439923},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Krasnoyarsk",start:4439923,end:4441130},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuala_Lumpur",start:4441130,end:4441545},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuching",start:4441545,end:4442028},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuwait",start:4442028,end:4442193},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Macao",start:4442193,end:4443420},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Macau",start:4443420,end:4444647},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Magadan",start:4444647,end:4445869},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Makassar",start:4445869,end:4446123},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Manila",start:4446123,end:4446545},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Muscat",start:4446545,end:4446710},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Nicosia",start:4446710,end:4448712},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Novokuznetsk",start:4448712,end:4449877},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Novosibirsk",start:4449877,end:4451098},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Omsk",start:4451098,end:4452305},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Oral",start:4452305,end:4453310},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Phnom_Penh",start:4453310,end:4453509},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Pontianak",start:4453509,end:4453862},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Pyongyang",start:4453862,end:4454099},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qatar",start:4454099,end:4454298},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qostanay",start:4454298,end:4455337},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qyzylorda",start:4455337,end:4456362},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Rangoon",start:4456362,end:4456630},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Riyadh",start:4456630,end:4456795},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Saigon",start:4456795,end:4457146},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Sakhalin",start:4457146,end:4458348},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Samarkand",start:4458348,end:4458925},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Seoul",start:4458925,end:4459542},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Shanghai",start:4459542,end:4460103},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Singapore",start:4460103,end:4460518},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Srednekolymsk",start:4460518,end:4461726},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Taipei",start:4461726,end:4462487},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tashkent",start:4462487,end:4463078},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tbilisi",start:4463078,end:4464113},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tehran",start:4464113,end:4465375},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tel_Aviv",start:4465375,end:4467763},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Thimbu",start:4467763,end:4467966},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Thimphu",start:4467966,end:4468169},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tokyo",start:4468169,end:4468478},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tomsk",start:4468478,end:4469699},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ujung_Pandang",start:4469699,end:4469953},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ulaanbaatar",start:4469953,end:4470844},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ulan_Bator",start:4470844,end:4471735},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Urumqi",start:4471735,end:4471900},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ust-Nera",start:4471900,end:4473152},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Vientiane",start:4473152,end:4473351},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Vladivostok",start:4473351,end:4474559},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yakutsk",start:4474559,end:4475766},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yangon",start:4475766,end:4476034},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yekaterinburg",start:4476034,end:4477277},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yerevan",start:4477277,end:4478428},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Azores",start:4478428,end:4481884},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Bermuda",start:4481884,end:4484280},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Canary",start:4484280,end:4486177},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Cape_Verde",start:4486177,end:4486447},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Faeroe",start:4486447,end:4488262},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Faroe",start:4488262,end:4490077},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Jan_Mayen",start:4490077,end:4492375},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Madeira",start:4492375,end:4495752},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Reykjavik",start:4495752,end:4495900},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/South_Georgia",start:4495900,end:4496064},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/St_Helena",start:4496064,end:4496212},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Stanley",start:4496212,end:4497426},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/ACT",start:4497426,end:4499616},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Adelaide",start:4499616,end:4501824},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Brisbane",start:4501824,end:4502243},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Broken_Hill",start:4502243,end:4504472},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Canberra",start:4504472,end:4506662},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Currie",start:4506662,end:4509020},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Darwin",start:4509020,end:4509345},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Eucla",start:4509345,end:4509815},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Hobart",start:4509815,end:4512173},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/LHI",start:4512173,end:4514033},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Lindeman",start:4514033,end:4514508},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Lord_Howe",start:4514508,end:4516368},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Melbourne",start:4516368,end:4518558},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/NSW",start:4518558,end:4520748},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/North",start:4520748,end:4521073},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Perth",start:4521073,end:4521519},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Queensland",start:4521519,end:4521938},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/South",start:4521938,end:4524146},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Sydney",start:4524146,end:4526336},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Tasmania",start:4526336,end:4528694},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Victoria",start:4528694,end:4530884},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/West",start:4530884,end:4531330},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Yancowinna",start:4531330,end:4533559},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/Acre",start:4533559,end:4534187},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/DeNoronha",start:4534187,end:4534903},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/East",start:4534903,end:4536347},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/West",start:4536347,end:4536951},{filename:"/tmp/pglite/share/postgresql/timezone/CET",start:4536951,end:4539884},{filename:"/tmp/pglite/share/postgresql/timezone/CST6CDT",start:4539884,end:4543476},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Atlantic",start:4543476,end:4546900},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Central",start:4546900,end:4549768},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Eastern",start:4549768,end:4553262},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Mountain",start:4553262,end:4555594},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Newfoundland",start:4555594,end:4559249},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Pacific",start:4559249,end:4562141},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Saskatchewan",start:4562141,end:4563121},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Yukon",start:4563121,end:4564735},{filename:"/tmp/pglite/share/postgresql/timezone/Chile/Continental",start:4564735,end:4567264},{filename:"/tmp/pglite/share/postgresql/timezone/Chile/EasterIsland",start:4567264,end:4569497},{filename:"/tmp/pglite/share/postgresql/timezone/Cuba",start:4569497,end:4571913},{filename:"/tmp/pglite/share/postgresql/timezone/EET",start:4571913,end:4574175},{filename:"/tmp/pglite/share/postgresql/timezone/EST",start:4574175,end:4574357},{filename:"/tmp/pglite/share/postgresql/timezone/EST5EDT",start:4574357,end:4577909},{filename:"/tmp/pglite/share/postgresql/timezone/Egypt",start:4577909,end:4580308},{filename:"/tmp/pglite/share/postgresql/timezone/Eire",start:4580308,end:4583800},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT",start:4583800,end:4583914},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+0",start:4583914,end:4584028},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+1",start:4584028,end:4584144},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+10",start:4584144,end:4584261},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+11",start:4584261,end:4584378},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+12",start:4584378,end:4584495},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+2",start:4584495,end:4584611},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+3",start:4584611,end:4584727},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+4",start:4584727,end:4584843},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+5",start:4584843,end:4584959},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+6",start:4584959,end:4585075},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+7",start:4585075,end:4585191},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+8",start:4585191,end:4585307},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+9",start:4585307,end:4585423},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-0",start:4585423,end:4585537},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-1",start:4585537,end:4585654},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-10",start:4585654,end:4585772},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-11",start:4585772,end:4585890},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-12",start:4585890,end:4586008},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-13",start:4586008,end:4586126},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-14",start:4586126,end:4586244},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-2",start:4586244,end:4586361},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-3",start:4586361,end:4586478},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-4",start:4586478,end:4586595},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-5",start:4586595,end:4586712},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-6",start:4586712,end:4586829},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-7",start:4586829,end:4586946},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-8",start:4586946,end:4587063},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-9",start:4587063,end:4587180},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT0",start:4587180,end:4587294},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Greenwich",start:4587294,end:4587408},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/UCT",start:4587408,end:4587522},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/UTC",start:4587522,end:4587636},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Universal",start:4587636,end:4587750},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Zulu",start:4587750,end:4587864},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Amsterdam",start:4587864,end:4590797},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Andorra",start:4590797,end:4592539},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Astrakhan",start:4592539,end:4593704},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Athens",start:4593704,end:4595966},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Belfast",start:4595966,end:4599630},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Belgrade",start:4599630,end:4601550},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Berlin",start:4601550,end:4603848},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Bratislava",start:4603848,end:4606149},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Brussels",start:4606149,end:4609082},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Bucharest",start:4609082,end:4611266},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Budapest",start:4611266,end:4613634},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Busingen",start:4613634,end:4615543},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Chisinau",start:4615543,end:4617933},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Copenhagen",start:4617933,end:4620231},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Dublin",start:4620231,end:4623723},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Gibraltar",start:4623723,end:4626791},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Guernsey",start:4626791,end:4630455},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Helsinki",start:4630455,end:4632355},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Isle_of_Man",start:4632355,end:4636019},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Istanbul",start:4636019,end:4637966},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Jersey",start:4637966,end:4641630},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kaliningrad",start:4641630,end:4643123},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kiev",start:4643123,end:4645243},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kirov",start:4645243,end:4646428},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kyiv",start:4646428,end:4648548},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Lisbon",start:4648548,end:4652075},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Ljubljana",start:4652075,end:4653995},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/London",start:4653995,end:4657659},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Luxembourg",start:4657659,end:4660592},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Madrid",start:4660592,end:4663206},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Malta",start:4663206,end:4665826},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Mariehamn",start:4665826,end:4667726},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Minsk",start:4667726,end:4669047},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Monaco",start:4669047,end:4672009},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Moscow",start:4672009,end:4673544},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Nicosia",start:4673544,end:4675546},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Oslo",start:4675546,end:4677844},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Paris",start:4677844,end:4680806},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Podgorica",start:4680806,end:4682726},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Prague",start:4682726,end:4685027},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Riga",start:4685027,end:4687225},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Rome",start:4687225,end:4689866},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Samara",start:4689866,end:4691081},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/San_Marino",start:4691081,end:4693722},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Sarajevo",start:4693722,end:4695642},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Saratov",start:4695642,end:4696825},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Simferopol",start:4696825,end:4698294},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Skopje",start:4698294,end:4700214},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Sofia",start:4700214,end:4702291},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Stockholm",start:4702291,end:4704589},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tallinn",start:4704589,end:4706737},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tirane",start:4706737,end:4708821},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tiraspol",start:4708821,end:4711211},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Ulyanovsk",start:4711211,end:4712478},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Uzhgorod",start:4712478,end:4714598},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vaduz",start:4714598,end:4716507},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vatican",start:4716507,end:4719148},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vienna",start:4719148,end:4721348},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vilnius",start:4721348,end:4723510},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Volgograd",start:4723510,end:4724703},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Warsaw",start:4724703,end:4727357},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zagreb",start:4727357,end:4729277},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zaporozhye",start:4729277,end:4731397},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zurich",start:4731397,end:4733306},{filename:"/tmp/pglite/share/postgresql/timezone/Factory",start:4733306,end:4733422},{filename:"/tmp/pglite/share/postgresql/timezone/GB",start:4733422,end:4737086},{filename:"/tmp/pglite/share/postgresql/timezone/GB-Eire",start:4737086,end:4740750},{filename:"/tmp/pglite/share/postgresql/timezone/GMT",start:4740750,end:4740864},{filename:"/tmp/pglite/share/postgresql/timezone/GMT+0",start:4740864,end:4740978},{filename:"/tmp/pglite/share/postgresql/timezone/GMT-0",start:4740978,end:4741092},{filename:"/tmp/pglite/share/postgresql/timezone/GMT0",start:4741092,end:4741206},{filename:"/tmp/pglite/share/postgresql/timezone/Greenwich",start:4741206,end:4741320},{filename:"/tmp/pglite/share/postgresql/timezone/HST",start:4741320,end:4741649},{filename:"/tmp/pglite/share/postgresql/timezone/Hongkong",start:4741649,end:4742882},{filename:"/tmp/pglite/share/postgresql/timezone/Iceland",start:4742882,end:4743030},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Antananarivo",start:4743030,end:4743295},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Chagos",start:4743295,end:4743494},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Christmas",start:4743494,end:4743693},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Cocos",start:4743693,end:4743961},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Comoro",start:4743961,end:4744226},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Kerguelen",start:4744226,end:4744425},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mahe",start:4744425,end:4744590},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Maldives",start:4744590,end:4744789},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mauritius",start:4744789,end:4745030},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mayotte",start:4745030,end:4745295},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Reunion",start:4745295,end:4745460},{filename:"/tmp/pglite/share/postgresql/timezone/Iran",start:4745460,end:4746722},{filename:"/tmp/pglite/share/postgresql/timezone/Israel",start:4746722,end:4749110},{filename:"/tmp/pglite/share/postgresql/timezone/Jamaica",start:4749110,end:4749592},{filename:"/tmp/pglite/share/postgresql/timezone/Japan",start:4749592,end:4749901},{filename:"/tmp/pglite/share/postgresql/timezone/Kwajalein",start:4749901,end:4750217},{filename:"/tmp/pglite/share/postgresql/timezone/Libya",start:4750217,end:4750842},{filename:"/tmp/pglite/share/postgresql/timezone/MET",start:4750842,end:4753775},{filename:"/tmp/pglite/share/postgresql/timezone/MST",start:4753775,end:4754135},{filename:"/tmp/pglite/share/postgresql/timezone/MST7MDT",start:4754135,end:4756595},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/BajaNorte",start:4756595,end:4759053},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/BajaSur",start:4759053,end:4760113},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/General",start:4760113,end:4761335},{filename:"/tmp/pglite/share/postgresql/timezone/NZ",start:4761335,end:4763772},{filename:"/tmp/pglite/share/postgresql/timezone/NZ-CHAT",start:4763772,end:4765840},{filename:"/tmp/pglite/share/postgresql/timezone/Navajo",start:4765840,end:4768300},{filename:"/tmp/pglite/share/postgresql/timezone/PRC",start:4768300,end:4768861},{filename:"/tmp/pglite/share/postgresql/timezone/PST8PDT",start:4768861,end:4771713},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Apia",start:4771713,end:4772325},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Auckland",start:4772325,end:4774762},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Bougainville",start:4774762,end:4775030},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Chatham",start:4775030,end:4777098},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Chuuk",start:4777098,end:4777284},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Easter",start:4777284,end:4779517},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Efate",start:4779517,end:4780055},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Enderbury",start:4780055,end:4780289},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Fakaofo",start:4780289,end:4780489},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Fiji",start:4780489,end:4781067},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Funafuti",start:4781067,end:4781233},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Galapagos",start:4781233,end:4781471},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Gambier",start:4781471,end:4781635},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Guadalcanal",start:4781635,end:4781801},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Guam",start:4781801,end:4782295},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Honolulu",start:4782295,end:4782624},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Johnston",start:4782624,end:4782953},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kanton",start:4782953,end:4783187},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kiritimati",start:4783187,end:4783425},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kosrae",start:4783425,end:4783776},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kwajalein",start:4783776,end:4784092},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Majuro",start:4784092,end:4784258},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Marquesas",start:4784258,end:4784431},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Midway",start:4784431,end:4784606},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Nauru",start:4784606,end:4784858},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Niue",start:4784858,end:4785061},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Norfolk",start:4785061,end:4785941},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Noumea",start:4785941,end:4786245},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pago_Pago",start:4786245,end:4786420},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Palau",start:4786420,end:4786600},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pitcairn",start:4786600,end:4786802},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pohnpei",start:4786802,end:4786968},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Ponape",start:4786968,end:4787134},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Port_Moresby",start:4787134,end:4787320},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Rarotonga",start:4787320,end:4787923},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Saipan",start:4787923,end:4788417},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Samoa",start:4788417,end:4788592},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tahiti",start:4788592,end:4788757},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tarawa",start:4788757,end:4788923},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tongatapu",start:4788923,end:4789295},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Truk",start:4789295,end:4789481},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Wake",start:4789481,end:4789647},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Wallis",start:4789647,end:4789813},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Yap",start:4789813,end:4789999},{filename:"/tmp/pglite/share/postgresql/timezone/Poland",start:4789999,end:4792653},{filename:"/tmp/pglite/share/postgresql/timezone/Portugal",start:4792653,end:4796180},{filename:"/tmp/pglite/share/postgresql/timezone/ROC",start:4796180,end:4796941},{filename:"/tmp/pglite/share/postgresql/timezone/ROK",start:4796941,end:4797558},{filename:"/tmp/pglite/share/postgresql/timezone/Singapore",start:4797558,end:4797973},{filename:"/tmp/pglite/share/postgresql/timezone/Turkey",start:4797973,end:4799920},{filename:"/tmp/pglite/share/postgresql/timezone/UCT",start:4799920,end:4800034},{filename:"/tmp/pglite/share/postgresql/timezone/US/Alaska",start:4800034,end:4802405},{filename:"/tmp/pglite/share/postgresql/timezone/US/Aleutian",start:4802405,end:4804761},{filename:"/tmp/pglite/share/postgresql/timezone/US/Arizona",start:4804761,end:4805121},{filename:"/tmp/pglite/share/postgresql/timezone/US/Central",start:4805121,end:4808713},{filename:"/tmp/pglite/share/postgresql/timezone/US/East-Indiana",start:4808713,end:4810395},{filename:"/tmp/pglite/share/postgresql/timezone/US/Eastern",start:4810395,end:4813947},{filename:"/tmp/pglite/share/postgresql/timezone/US/Hawaii",start:4813947,end:4814276},{filename:"/tmp/pglite/share/postgresql/timezone/US/Indiana-Starke",start:4814276,end:4816720},{filename:"/tmp/pglite/share/postgresql/timezone/US/Michigan",start:4816720,end:4818950},{filename:"/tmp/pglite/share/postgresql/timezone/US/Mountain",start:4818950,end:4821410},{filename:"/tmp/pglite/share/postgresql/timezone/US/Pacific",start:4821410,end:4824262},{filename:"/tmp/pglite/share/postgresql/timezone/US/Samoa",start:4824262,end:4824437},{filename:"/tmp/pglite/share/postgresql/timezone/UTC",start:4824437,end:4824551},{filename:"/tmp/pglite/share/postgresql/timezone/Universal",start:4824551,end:4824665},{filename:"/tmp/pglite/share/postgresql/timezone/W-SU",start:4824665,end:4826200},{filename:"/tmp/pglite/share/postgresql/timezone/WET",start:4826200,end:4829727},{filename:"/tmp/pglite/share/postgresql/timezone/Zulu",start:4829727,end:4829841},{filename:"/tmp/pglite/share/postgresql/timezonesets/Africa.txt",start:4829841,end:4836814},{filename:"/tmp/pglite/share/postgresql/timezonesets/America.txt",start:4836814,end:4847821},{filename:"/tmp/pglite/share/postgresql/timezonesets/Antarctica.txt",start:4847821,end:4848955},{filename:"/tmp/pglite/share/postgresql/timezonesets/Asia.txt",start:4848955,end:4857266},{filename:"/tmp/pglite/share/postgresql/timezonesets/Atlantic.txt",start:4857266,end:4860799},{filename:"/tmp/pglite/share/postgresql/timezonesets/Australia",start:4860799,end:4861934},{filename:"/tmp/pglite/share/postgresql/timezonesets/Australia.txt",start:4861934,end:4865318},{filename:"/tmp/pglite/share/postgresql/timezonesets/Default",start:4865318,end:4892532},{filename:"/tmp/pglite/share/postgresql/timezonesets/Etc.txt",start:4892532,end:4893782},{filename:"/tmp/pglite/share/postgresql/timezonesets/Europe.txt",start:4893782,end:4902528},{filename:"/tmp/pglite/share/postgresql/timezonesets/India",start:4902528,end:4903121},{filename:"/tmp/pglite/share/postgresql/timezonesets/Indian.txt",start:4903121,end:4904382},{filename:"/tmp/pglite/share/postgresql/timezonesets/Pacific.txt",start:4904382,end:4908150},{filename:"/tmp/pglite/share/postgresql/tsearch_data/danish.stop",start:4908150,end:4908574},{filename:"/tmp/pglite/share/postgresql/tsearch_data/dutch.stop",start:4908574,end:4909027},{filename:"/tmp/pglite/share/postgresql/tsearch_data/english.stop",start:4909027,end:4909649},{filename:"/tmp/pglite/share/postgresql/tsearch_data/finnish.stop",start:4909649,end:4911228},{filename:"/tmp/pglite/share/postgresql/tsearch_data/french.stop",start:4911228,end:4912033},{filename:"/tmp/pglite/share/postgresql/tsearch_data/german.stop",start:4912033,end:4913382},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hungarian.stop",start:4913382,end:4914609},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample.affix",start:4914609,end:4914852},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_long.affix",start:4914852,end:4915485},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_long.dict",start:4915485,end:4915583},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_num.affix",start:4915583,end:4916045},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_num.dict",start:4916045,end:4916174},{filename:"/tmp/pglite/share/postgresql/tsearch_data/ispell_sample.affix",start:4916174,end:4916639},{filename:"/tmp/pglite/share/postgresql/tsearch_data/ispell_sample.dict",start:4916639,end:4916720},{filename:"/tmp/pglite/share/postgresql/tsearch_data/italian.stop",start:4916720,end:4918374},{filename:"/tmp/pglite/share/postgresql/tsearch_data/nepali.stop",start:4918374,end:4922635},{filename:"/tmp/pglite/share/postgresql/tsearch_data/norwegian.stop",start:4922635,end:4923486},{filename:"/tmp/pglite/share/postgresql/tsearch_data/portuguese.stop",start:4923486,end:4924753},{filename:"/tmp/pglite/share/postgresql/tsearch_data/russian.stop",start:4924753,end:4925988},{filename:"/tmp/pglite/share/postgresql/tsearch_data/spanish.stop",start:4925988,end:4928166},{filename:"/tmp/pglite/share/postgresql/tsearch_data/swedish.stop",start:4928166,end:4928725},{filename:"/tmp/pglite/share/postgresql/tsearch_data/synonym_sample.syn",start:4928725,end:4928798},{filename:"/tmp/pglite/share/postgresql/tsearch_data/thesaurus_sample.ths",start:4928798,end:4929271},{filename:"/tmp/pglite/share/postgresql/tsearch_data/turkish.stop",start:4929271,end:4929531},{filename:"/tmp/pglite/share/postgresql/tsearch_data/unaccent.rules",start:4929531,end:4939534},{filename:"/tmp/pglite/share/postgresql/tsearch_data/xsyn_sample.rules",start:4939534,end:4939673}],remote_package_size:4939673})})();var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,t)=>{throw t},scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");import.meta.url.startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath(import.meta.url))+"/"),readBinary=e=>{e=isFileURI(e)?new URL(e):e;var t=fs.readFileSync(e);return t},readAsync=async(e,t=!0)=>{e=isFileURI(e)?new URL(e):e;var r=fs.readFileSync(e,t?void 0:"utf8");return r},!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=(e,t)=>{throw process.exitCode=e,t}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),readAsync=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)});var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary;function intArrayFromBase64(e){if(typeof ENVIRONMENT_IS_NODE<"u"&&ENVIRONMENT_IS_NODE){var t=Buffer.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.length)}for(var r=atob(e),a=new Uint8Array(r.length),n=0;n<r.length;++n)a[n]=r.charCodeAt(n);return a}function tryParseAsDataURI(e){if(isDataURI(e))return intArrayFromBase64(e.slice(dataURIPrefix.length))}var wasmMemory,ABORT=!1,EXITSTATUS;function assert(e,t){e||abort(t)}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){Module.onAbort?.(e),e="Aborted("+e+")",err(e),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject(t),t}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://");function findWasmBinary(){if(Module.locateFile){var e="pglite.wasm";return isDataURI(e)?e:locateFile(e)}return new URL("pglite.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,t){try{var r=await getWasmBinary(e),a=await WebAssembly.instantiate(r,t);return a}catch(n){err(`failed to asynchronously prepare wasm: ${n}`),abort(n)}}async function instantiateAsync(e,t,r){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(t)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function")try{var a=fetch(t,{credentials:"same-origin"}),n=await WebAssembly.instantiateStreaming(a,r);return n}catch(o){err(`wasm streaming compile failed: ${o}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(t,r)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function e(n,o){wasmExports=n.exports,wasmExports=relocateExports(wasmExports,12582912);var l=getDylinkMetadata(o);return l.neededDynlibs&&(dynamicLibraries=l.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}addRunDependency("wasm-instantiate");function t(n){e(n.instance,n.module)}var r=getWasmImports();if(Module.instantiateWasm)try{return Module.instantiateWasm(r,e)}catch(n){err(`Module.instantiateWasm callback failed with error: ${n}`),readyPromiseReject(n)}wasmBinaryFile??(wasmBinaryFile=findWasmBinary());try{var a=await instantiateAsync(wasmBinary,wasmBinaryFile,r);return t(a),a}catch(n){readyPromiseReject(n);return}}var ASM_CONSTS={15428744:e=>{Module.is_worker=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Module.FD_BUFFER_MAX=e,Module.emscripten_copy_to=console.warn},15428916:()=>{Module.postMessage=function(e){console.log("# pg_main_emsdk.c:544: onCustomMessage:",e)}},15429045:()=>{if(Module.is_worker){let t=function(r){console.log("onCustomMessage:",r)};var e=t;Module.onCustomMessage=t}else Module.postMessage=function(t){switch(t.type){case"raw":break;case"stdin":{stringToUTF8(t.data,1,Module.FD_BUFFER_MAX);break}case"rcon":break;default:console.warn("custom_postMessage?",t)}}},15429476:e=>{if(!e)return AL.alcErr=40964,1},15429524:e=>{if(!AL.currentCtx)return err("alGetProcAddress() called without a valid context"),1;if(!e)return AL.currentCtx.err=40963,1}};class ExitStatus{constructor(t){Z(this,"name","ExitStatus"),this.message=`Program terminated with exit(${t})`,this.status=t}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var r=GOT[t];return r||(r=GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(t)||(r.required=!0),r}},callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(e,t=0,r=NaN)=>{for(var a=t+r,n=t;e[n]&&!(n>=a);)++n;if(n-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,n));for(var o="";t<n;){var l=e[t++];if(!(l&128)){o+=String.fromCharCode(l);continue}var _=e[t++]&63;if((l&224)==192){o+=String.fromCharCode((l&31)<<6|_);continue}var c=e[t++]&63;if((l&240)==224?l=(l&15)<<12|_<<6|c:l=(l&7)<<18|_<<12|c<<6|e[t++]&63,l<65536)o+=String.fromCharCode(l);else{var u=l-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},getDylinkMetadata=e=>{var t=0,r=0;function a(){return e[t++]}function n(){for(var B=0,O=1;;){var H=e[t++];if(B+=(H&127)*O,O*=128,!(H&128))break}return B}function o(){var B=n();return t+=B,UTF8ArrayToString(e,t-B,B)}function l(B,O){if(B)throw new Error(O)}var _="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,_);c.length===0&&(_="dylink",c=WebAssembly.Module.customSections(e,_)),l(c.length===0,"need dylink section"),e=new Uint8Array(c[0]),r=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),p=u[0]==1836278016;l(!p,"need to see wasm magic number"),l(e[8]!==0,"need the dylink section to be first"),t=9;var m=n();r=t+m,_=o()}var f={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(_=="dylink"){f.memorySize=n(),f.memoryAlign=n(),f.tableSize=n(),f.tableAlign=n();for(var d=n(),v=0;v<d;++v){var g=o();f.neededDynlibs.push(g)}}else{l(_!=="dylink.0");for(var S=1,A=2,b=3,L=4,y=256,w=3,F=1;t<r;){var E=a(),T=n();if(E===S)f.memorySize=n(),f.memoryAlign=n(),f.tableSize=n(),f.tableAlign=n();else if(E===A)for(var d=n(),v=0;v<d;++v)g=o(),f.neededDynlibs.push(g);else if(E===b)for(var P=n();P--;){var D=o(),I=n();I&y&&f.tlsExports.add(D)}else if(E===L)for(var P=n();P--;){var M=o(),D=o(),I=n();(I&w)==F&&f.weakImports.add(D)}else t+=T}}return f};function getValue(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":return HEAP8[e];case"i8":return HEAP8[e];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP64[e>>3];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];case"*":return HEAPU32[e>>2];default:abort(`invalid type for getValue: ${t}`)}}var newDSO=(e,t,r)=>{var a={refcount:1/0,name:e,exports:r,global:!0};return LDSO.loadedLibsByName[e]=a,t!=null&&(LDSO.loadedLibsByHandle[t]=a),a},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=15692832,alignMemory=(e,t)=>Math.ceil(e/t)*t,getMemory=e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,r=t+alignMemory(e,16);return ___heap_base=r,GOT.__heap_base.value=r,t},isInternalSym=e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),uleb128Encode=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:e[0]=="v"?[]:[t[e[0]]]},a=1;a<e.length;++a)r.parameters.push(t[e[a]]);return r},generateFuncType=(e,t)=>{var r=e.slice(0,1),a=e.slice(1),n={i:127,p:127,j:126,f:125,d:124,e:111};t.push(96),uleb128Encode(a.length,t);for(var o=0;o<a.length;++o)t.push(n[a[o]]);r=="v"?t.push(0):t.push(1,n[r])},convertJsFunctionToWasm=(e,t)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(t),e);var r=[1];generateFuncType(t,r);var a=[0,97,115,109,1,0,0,0,1];uleb128Encode(r.length,a),a.push(...r),a.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var n=new WebAssembly.Module(new Uint8Array(a)),o=new WebAssembly.Instance(n,{e:{f:e}}),l=o.exports.f;return l},wasmTable=new WebAssembly.Table({initial:6968,element:"anyfunc"}),getWasmTableEntry=e=>wasmTable.get(e),updateTableMap=(e,t)=>{if(functionsInTableMap)for(var r=e;r<e+t;r++){var a=getWasmTableEntry(r);a&&functionsInTableMap.set(a,r)}},functionsInTableMap,getFunctionAddress=e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){throw e instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":e}return wasmTable.length-1},setWasmTableEntry=(e,t)=>wasmTable.set(e,t),addFunction=(e,t)=>{var r=getFunctionAddress(e);if(r)return r;var a=getEmptyTableSlot();try{setWasmTableEntry(a,e)}catch(o){if(!(o instanceof TypeError))throw o;var n=convertJsFunctionToWasm(e,t);setWasmTableEntry(a,n)}return functionsInTableMap.set(e,a),a},updateGOT=(e,t)=>{for(var r in e)if(!isInternalSym(r)){var a=e[r];GOT[r]||(GOT[r]=new WebAssembly.Global({value:"i32",mutable:!0})),(t||GOT[r].value==0)&&(typeof a=="function"?GOT[r].value=addFunction(a):typeof a=="number"?GOT[r].value=a:err(`unhandled export type for '${r}': ${typeof a}`))}},relocateExports=(e,t,r)=>{var a={};for(var n in e){var o=e[n];typeof o=="object"&&(o=o.value),typeof o=="number"&&(o+=t),a[n]=o}return updateGOT(a,r),a},isSymbolDefined=e=>{var t=wasmImports[e];return!(!t||t.stub)},dynCall=(e,t,r=[])=>{var a=getWasmTableEntry(t)(...r);return a},stackSave=()=>_emscripten_stack_get_current(),stackRestore=e=>__emscripten_stack_restore(e),createInvokeFunction=e=>(t,...r)=>{var a=stackSave();try{return dynCall(e,t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;if(_setThrew(1,0),e[0]=="j")return 0n}},resolveGlobalSymbol=(e,t=!1)=>{var r;return isSymbolDefined(e)?r=wasmImports[e]:e.startsWith("invoke_")&&(r=wasmImports[e]=createInvokeFunction(e.split("_")[1])),{sym:r,name:e}},UTF8ToString=(e,t)=>e?UTF8ArrayToString(HEAPU8,e,t):"",loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,HEAPU32[handle+12>>2]=memoryBase,HEAP32[handle+16>>2]=metadata.memorySize,HEAPU32[handle+20>>2]=tableBase,HEAP32[handle+24>>2]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>2],tableBase=HEAPU32[handle+20>>2];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||(t=moduleExports[e]),t}var proxyHandler={get(e,t){switch(t){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];if(!(t in e)){var r;e[t]=(...a)=>{if(r||(r=resolveSymbol(t)),!r)throw new Error(`Dynamic linking error: cannot resolve symbol ${t}`);return r(...a)}}return e[t]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replaceAll("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},mergeLibSymbols=(e,t)=>{for(var[r,a]of Object.entries(e)){let n=l=>{isSymbolDefined(l)||(wasmImports[l]=a)};n(r);let o="__main_argc_argv";r=="main"&&n(o),r==o&&n("main")}},asyncLoad=async e=>{var t=await readAsync(e);return new Uint8Array(t)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var e={promiseChainEnd:Promise.resolve(),canHandle:t=>!Module.noWasmDecoding&&t.endsWith(".so"),handle:(t,r,a,n)=>{e.promiseChainEnd=e.promiseChainEnd.then(()=>loadWebAssemblyModule(t,{loadAsync:!0,nodelete:!0},r,{})).then(o=>{preloadedWasm[r]=o,a(t)},o=>{err(`failed to instantiate wasm: ${r}: ${o}`),n()})}};preloadPlugins.push(e)},preloadedWasm={};function loadDynamicLibrary(e,t={global:!0,nodelete:!0},r,a){var n=LDSO.loadedLibsByName[e];if(n)return t.global?n.global||(n.global=!0,mergeLibSymbols(n.exports,e)):r&&Object.assign(r,n.exports),t.nodelete&&n.refcount!==1/0&&(n.refcount=1/0),n.refcount++,a&&(LDSO.loadedLibsByHandle[a]=n),t.loadAsync?Promise.resolve(!0):!0;n=newDSO(e,a,"loading"),n.refcount=t.nodelete?1/0:1,n.global=t.global;function o(){if(a){var c=HEAPU32[a+28>>2],u=HEAPU32[a+32>>2];if(c&&u){var p=HEAP8.slice(c,c+u);return t.loadAsync?Promise.resolve(p):p}}var m=locateFile(e);if(t.loadAsync)return asyncLoad(m);if(!readBinary)throw new Error(`${m}: file not found, and synchronous loading of external files is not available`);return readBinary(m)}function l(){var c=preloadedWasm[e];return c?t.loadAsync?Promise.resolve(c):c:t.loadAsync?o().then(u=>loadWebAssemblyModule(u,t,e,r,a)):loadWebAssemblyModule(o(),t,e,r,a)}function _(c){n.global?mergeLibSymbols(c,e):r&&Object.assign(r,c),n.exports=c}return t.loadAsync?l().then(c=>(_(c),!0)):(_(l()),!0)}var reportUndefinedSymbols=()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var r=resolveGlobalSymbol(e,!0).sym;if(!r&&!t.required)continue;if(typeof r=="function")t.value=addFunction(r,r.sig);else if(typeof r=="number")t.value=r;else throw new Error(`bad export type for '${e}': ${typeof r}`)}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})},noExitRuntime=Module.noExitRuntime||!0;function setValue(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":HEAP8[e]=t;break;case"i8":HEAP8[e]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":HEAP64[e>>3]=BigInt(t);break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;case"*":HEAPU32[e>>2]=t;break;default:abort(`invalid type for setValue: ${r}`)}}var ___assert_fail=(e,t,r,a)=>abort(`Assertion failed: ${UTF8ToString(e)}, at: `+[t?UTF8ToString(t):"unknown filename",r,a?UTF8ToString(a):"unknown function"]);___assert_fail.sig="vppip";var ___call_sighandler=(e,t)=>getWasmTableEntry(e)(t);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},12582912),___stack_high=15692832,___stack_low=15627296,___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},15692832),PATH={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return t.exec(e).slice(1)},normalizeArray:(e,t)=>{for(var r=0,a=e.length-1;a>=0;a--){var n=e[a];n==="."?e.splice(a,1):n===".."?(e.splice(a,1),r++):r&&(e.splice(a,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=PATH.isAbs(e),r=e.substr(-1)==="/";return e=PATH.normalizeArray(e.split("/").filter(a=>!!a),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=PATH.splitPath(e),r=t[0],a=t[1];return!r&&!a?".":(a&&(a=a.substr(0,a.length-1)),r+a)},basename:e=>{if(e==="/")return"/";e=PATH.normalize(e),e=e.replace(/\/$/,"");var t=e.lastIndexOf("/");return t===-1?e:e.substr(t+1)},join:(...e)=>PATH.normalize(e.join("/")),join2:(e,t)=>PATH.normalize(e+"/"+t)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return a=>crypto.getRandomValues(a);if(ENVIRONMENT_IS_NODE)try{var e=require("crypto"),t=e.randomFillSync;if(t)return a=>e.randomFillSync(a);var r=e.randomBytes;return a=>(a.set(r(a.byteLength)),a)}catch{}abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:(...e)=>{for(var t="",r=!1,a=e.length-1;a>=-1&&!r;a--){var n=a>=0?e[a]:FS.cwd();if(typeof n!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=PATH.isAbs(n)}return t=PATH.normalizeArray(t.split("/").filter(o=>!!o),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{e=PATH_FS.resolve(e).substr(1),t=PATH_FS.resolve(t).substr(1);function r(u){for(var p=0;p<u.length&&u[p]==="";p++);for(var m=u.length-1;m>=0&&u[m]==="";m--);return p>m?[]:u.slice(p,m-p+1)}for(var a=r(e.split("/")),n=r(t.split("/")),o=Math.min(a.length,n.length),l=o,_=0;_<o;_++)if(a[_]!==n[_]){l=_;break}for(var c=[],_=l;_<a.length;_++)c.push("..");return c=c.concat(n.slice(l)),c.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=e=>{for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);a<=127?t++:a<=2047?t+=2:a>=55296&&a<=57343?(t+=4,++r):t+=3}return t},stringToUTF8Array=(e,t,r,a)=>{if(!(a>0))return 0;for(var n=r,o=r+a-1,l=0;l<e.length;++l){var _=e.charCodeAt(l);if(_>=55296&&_<=57343){var c=e.charCodeAt(++l);_=65536+((_&1023)<<10)|c&1023}if(_<=127){if(r>=o)break;t[r++]=_}else if(_<=2047){if(r+1>=o)break;t[r++]=192|_>>6,t[r++]=128|_&63}else if(_<=65535){if(r+2>=o)break;t[r++]=224|_>>12,t[r++]=128|_>>6&63,t[r++]=128|_&63}else{if(r+3>=o)break;t[r++]=240|_>>18,t[r++]=128|_>>12&63,t[r++]=128|_>>6&63,t[r++]=128|_&63}}return t[r]=0,r-n};function intArrayFromString(e,t,r){var a=r>0?r:lengthBytesUTF8(e)+1,n=new Array(a),o=stringToUTF8Array(e,n,0,n.length);return t&&(n.length=o),n}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if(ENVIRONMENT_IS_NODE){var t=256,r=Buffer.alloc(t),a=0,n=process.stdin.fd;try{a=fs.readSync(n,r,0,t)}catch(o){if(o.toString().includes("EOF"))a=0;else throw o}a>0&&(e=r.slice(0,a).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
10
+ `));if(!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,t){TTY.ttys[e]={input:[],output:[],ops:t},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var t=TTY.ttys[e.node.rdev];if(!t)throw new FS.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,a,n){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var o=0,l=0;l<a;l++){var _;try{_=e.tty.ops.get_char(e.tty)}catch{throw new FS.ErrnoError(29)}if(_===void 0&&o===0)throw new FS.ErrnoError(6);if(_==null)break;o++,t[r+l]=_}return o&&(e.node.atime=Date.now()),o},write(e,t,r,a,n){if(!e.tty||!e.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var o=0;o<a;o++)e.tty.ops.put_char(e.tty,t[r+o])}catch{throw new FS.ErrnoError(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),o}},default_tty_ops:{get_char(e){return FS_stdin_getChar()},put_char(e,t){t===null||t===10?(out(UTF8ArrayToString(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[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]}},ioctl_tcsets(e,t,r){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(err(UTF8ArrayToString(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output)),e.output=[])}}},zeroMemory=(e,t)=>{HEAPU8.fill(0,e,e+t)},mmapAlloc=e=>{e=alignMemory(e,65536);var t=_emscripten_builtin_memalign(65536,e);return t&&zeroMemory(t,e),t},MEMFS={ops_table:null,mount(e){return MEMFS.createNode(null,"/",16895,0)},createNode(e,t,r,a){if(FS.isBlkdev(r)||FS.isFIFO(r))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var n=FS.createNode(e,t,r,a);return FS.isDir(n.mode)?(n.node_ops=MEMFS.ops_table.dir.node,n.stream_ops=MEMFS.ops_table.dir.stream,n.contents={}):FS.isFile(n.mode)?(n.node_ops=MEMFS.ops_table.file.node,n.stream_ops=MEMFS.ops_table.file.stream,n.usedBytes=0,n.contents=null):FS.isLink(n.mode)?(n.node_ops=MEMFS.ops_table.link.node,n.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(n.mode)&&(n.node_ops=MEMFS.ops_table.chrdev.node,n.stream_ops=MEMFS.ops_table.chrdev.stream),n.atime=n.mtime=n.ctime=Date.now(),e&&(e.contents[t]=n,e.atime=e.mtime=e.ctime=n.atime),n},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){var a=1048576;t=Math.max(t,r*(r<a?2:1.125)>>>0),r!=0&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(t==0)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=FS.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,FS.isDir(e.mode)?t.size=4096:FS.isFile(e.mode)?t.size=e.usedBytes:FS.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(let r of["mode","atime","mtime","ctime"])t[r]&&(e[r]=t[r]);t.size!==void 0&&MEMFS.resizeFileStorage(e,t.size)},lookup(e,t){throw MEMFS.doesNotExistError},mknod(e,t,r,a){return MEMFS.createNode(e,t,r,a)},rename(e,t,r){var a;try{a=FS.lookupNode(t,r)}catch{}if(a){if(FS.isDir(e.mode))for(var n in a.contents)throw new FS.ErrnoError(55);FS.hashRemoveNode(a)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=FS.lookupNode(e,t);for(var a in r.contents)throw new FS.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,t,r){var a=MEMFS.createNode(e,t,41471,0);return a.link=r,a},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,a,n){var o=e.node.contents;if(n>=e.node.usedBytes)return 0;var l=Math.min(e.node.usedBytes-n,a);if(l>8&&o.subarray)t.set(o.subarray(n,n+l),r);else for(var _=0;_<l;_++)t[r+_]=o[n+_];return l},write(e,t,r,a,n,o){if(t.buffer===HEAP8.buffer&&(o=!1),!a)return 0;var l=e.node;if(l.mtime=l.ctime=Date.now(),t.subarray&&(!l.contents||l.contents.subarray)){if(o)return l.contents=t.subarray(r,r+a),l.usedBytes=a,a;if(l.usedBytes===0&&n===0)return l.contents=t.slice(r,r+a),l.usedBytes=a,a;if(n+a<=l.usedBytes)return l.contents.set(t.subarray(r,r+a),n),a}if(MEMFS.expandFileStorage(l,n+a),l.contents.subarray&&t.subarray)l.contents.set(t.subarray(r,r+a),n);else for(var _=0;_<a;_++)l.contents[n+_]=t[r+_];return l.usedBytes=Math.max(l.usedBytes,n+a),a},llseek(e,t,r){var a=t;if(r===1?a+=e.position:r===2&&FS.isFile(e.node.mode)&&(a+=e.node.usedBytes),a<0)throw new FS.ErrnoError(28);return a},allocate(e,t,r){MEMFS.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,a,n){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);var o,l,_=e.node.contents;if(!(n&2)&&_&&_.buffer===HEAP8.buffer)l=!1,o=_.byteOffset;else{if(l=!0,o=mmapAlloc(t),!o)throw new FS.ErrnoError(48);_&&((r>0||r+t<_.length)&&(_.subarray?_=_.subarray(r,r+t):_=Array.prototype.slice.call(_,r,r+t)),HEAP8.set(_,o))}return{ptr:o,allocated:l}},msync(e,t,r,a,n){return MEMFS.stream_ops.write(e,t,0,a,r,!1),0}}},FS_createDataFile=(e,t,r,a,n,o)=>{FS.createDataFile(e,t,r,a,n,o)},FS_handledByPreloadPlugin=(e,t,r,a)=>{typeof Browser<"u"&&Browser.init();var n=!1;return preloadPlugins.forEach(o=>{n||o.canHandle(t)&&(o.handle(e,t,r,a),n=!0)}),n},FS_createPreloadedFile=(e,t,r,a,n,o,l,_,c,u)=>{var p=t?PATH_FS.resolve(PATH.join2(e,t)):e,m=`cp ${p}`;function f(d){function v(g){u?.(),_||FS_createDataFile(e,t,g,a,n,c),o?.(),removeRunDependency(m)}FS_handledByPreloadPlugin(d,p,v,()=>{l?.(),removeRunDependency(m)})||v(d)}addRunDependency(m),typeof r=="string"?asyncLoad(r).then(f,l):f(r)},FS_modeStringToFlags=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},r=t[e];if(typeof r>"u")throw new Error(`Unknown file open mode: ${e}`);return r},FS_getMode=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB<"u")return indexedDB;var e=null;return typeof window=="object"&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:e=>{function t(){e.idbPersistState==="again"?r():e.idbPersistState=0}function r(){e.idbPersistState="idb",IDBFS.syncfs(e,!1,t)}e.idbPersistState?e.idbPersistState==="idb"&&(e.idbPersistState="again"):e.idbPersistState=setTimeout(r,0)},mount:e=>{var t=MEMFS.mount(e);if(e?.opts?.autoPersist){t.idbPersistState=0;var r=t.node_ops;t.node_ops=Object.assign({},t.node_ops),t.node_ops.mknod=(a,n,o,l)=>{var _=r.mknod(a,n,o,l);return _.node_ops=t.node_ops,_.idbfs_mount=t.mount,_.memfs_stream_ops=_.stream_ops,_.stream_ops=Object.assign({},_.stream_ops),_.stream_ops.write=(c,u,p,m,f,d)=>(c.node.isModified=!0,_.memfs_stream_ops.write(c,u,p,m,f,d)),_.stream_ops.close=c=>{var u=c.node;if(u.isModified&&(IDBFS.queuePersist(u.idbfs_mount),u.isModified=!1),u.memfs_stream_ops.close)return u.memfs_stream_ops.close(c)},_},t.node_ops.mkdir=(...a)=>(IDBFS.queuePersist(t.mount),r.mkdir(...a)),t.node_ops.rmdir=(...a)=>(IDBFS.queuePersist(t.mount),r.rmdir(...a)),t.node_ops.symlink=(...a)=>(IDBFS.queuePersist(t.mount),r.symlink(...a)),t.node_ops.unlink=(...a)=>(IDBFS.queuePersist(t.mount),r.unlink(...a)),t.node_ops.rename=(...a)=>(IDBFS.queuePersist(t.mount),r.rename(...a))}return t},syncfs:(e,t,r)=>{IDBFS.getLocalSet(e,(a,n)=>{if(a)return r(a);IDBFS.getRemoteSet(e,(o,l)=>{if(o)return r(o);var _=t?l:n,c=t?n:l;IDBFS.reconcile(_,c,r)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(e=>e.close()),IDBFS.dbs={}},getDB:(e,t)=>{var r=IDBFS.dbs[e];if(r)return t(null,r);var a;try{a=IDBFS.indexedDB().open(e,IDBFS.DB_VERSION)}catch(n){return t(n)}if(!a)return t("Unable to connect to IndexedDB");a.onupgradeneeded=n=>{var o=n.target.result,l=n.target.transaction,_;o.objectStoreNames.contains(IDBFS.DB_STORE_NAME)?_=l.objectStore(IDBFS.DB_STORE_NAME):_=o.createObjectStore(IDBFS.DB_STORE_NAME),_.indexNames.contains("timestamp")||_.createIndex("timestamp","timestamp",{unique:!1})},a.onsuccess=()=>{r=a.result,IDBFS.dbs[e]=r,t(null,r)},a.onerror=n=>{t(n.target.error),n.preventDefault()}},getLocalSet:(e,t)=>{var r={};function a(c){return c!=="."&&c!==".."}function n(c){return u=>PATH.join2(c,u)}for(var o=FS.readdir(e.mountpoint).filter(a).map(n(e.mountpoint));o.length;){var l=o.pop(),_;try{_=FS.stat(l)}catch(c){return t(c)}FS.isDir(_.mode)&&o.push(...FS.readdir(l).filter(a).map(n(l))),r[l]={timestamp:_.mtime}}return t(null,{type:"local",entries:r})},getRemoteSet:(e,t)=>{var r={};IDBFS.getDB(e.mountpoint,(a,n)=>{if(a)return t(a);try{var o=n.transaction([IDBFS.DB_STORE_NAME],"readonly");o.onerror=c=>{t(c.target.error),c.preventDefault()};var l=o.objectStore(IDBFS.DB_STORE_NAME),_=l.index("timestamp");_.openKeyCursor().onsuccess=c=>{var u=c.target.result;if(!u)return t(null,{type:"remote",db:n,entries:r});r[u.primaryKey]={timestamp:u.key},u.continue()}}catch(c){return t(c)}})},loadLocalEntry:(e,t)=>{var r,a;try{var n=FS.lookupPath(e);a=n.node,r=FS.stat(e)}catch(o){return t(o)}return FS.isDir(r.mode)?t(null,{timestamp:r.mtime,mode:r.mode}):FS.isFile(r.mode)?(a.contents=MEMFS.getFileDataAsTypedArray(a),t(null,{timestamp:r.mtime,mode:r.mode,contents:a.contents})):t(new Error("node type not supported"))},storeLocalEntry:(e,t,r)=>{try{if(FS.isDir(t.mode))FS.mkdirTree(e,t.mode);else if(FS.isFile(t.mode))FS.writeFile(e,t.contents,{canOwn:!0});else return r(new Error("node type not supported"));FS.chmod(e,t.mode),FS.utime(e,t.timestamp,t.timestamp)}catch(a){return r(a)}r(null)},removeLocalEntry:(e,t)=>{try{var r=FS.stat(e);FS.isDir(r.mode)?FS.rmdir(e):FS.isFile(r.mode)&&FS.unlink(e)}catch(a){return t(a)}t(null)},loadRemoteEntry:(e,t,r)=>{var a=e.get(t);a.onsuccess=n=>r(null,n.target.result),a.onerror=n=>{r(n.target.error),n.preventDefault()}},storeRemoteEntry:(e,t,r,a)=>{try{var n=e.put(r,t)}catch(o){a(o);return}n.onsuccess=o=>a(),n.onerror=o=>{a(o.target.error),o.preventDefault()}},removeRemoteEntry:(e,t,r)=>{var a=e.delete(t);a.onsuccess=n=>r(),a.onerror=n=>{r(n.target.error),n.preventDefault()}},reconcile:(e,t,r)=>{var a=0,n=[];Object.keys(e.entries).forEach(m=>{var f=e.entries[m],d=t.entries[m];(!d||f.timestamp.getTime()!=d.timestamp.getTime())&&(n.push(m),a++)});var o=[];if(Object.keys(t.entries).forEach(m=>{e.entries[m]||(o.push(m),a++)}),!a)return r(null);var l=!1,_=e.type==="remote"?e.db:t.db,c=_.transaction([IDBFS.DB_STORE_NAME],"readwrite"),u=c.objectStore(IDBFS.DB_STORE_NAME);function p(m){if(m&&!l)return l=!0,r(m)}c.onerror=c.onabort=m=>{p(m.target.error),m.preventDefault()},c.oncomplete=m=>{l||r(null)},n.sort().forEach(m=>{t.type==="local"?IDBFS.loadRemoteEntry(u,m,(f,d)=>{if(f)return p(f);IDBFS.storeLocalEntry(m,d,p)}):IDBFS.loadLocalEntry(m,(f,d)=>{if(f)return p(f);IDBFS.storeRemoteEntry(u,m,d,p)})}),o.sort().reverse().forEach(m=>{t.type==="local"?IDBFS.removeLocalEntry(m,p):IDBFS.removeRemoteEntry(u,m,p)})}},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},NODEFS={isWindows:!1,staticInit(){NODEFS.isWindows=!!process.platform.match(/^win/);var e=process.binding("constants");e.fs&&(e=e.fs),NODEFS.flagsForNodeMap={1024:e.O_APPEND,64:e.O_CREAT,128:e.O_EXCL,256:e.O_NOCTTY,0:e.O_RDONLY,2:e.O_RDWR,4096:e.O_SYNC,512:e.O_TRUNC,1:e.O_WRONLY,131072:e.O_NOFOLLOW}},convertNodeCode(e){var t=e.code;return ERRNO_CODES[t]},tryFSOperation(e){try{return e()}catch(t){throw t.code?t.code==="UNKNOWN"?new FS.ErrnoError(28):new FS.ErrnoError(NODEFS.convertNodeCode(t)):t}},mount(e){return NODEFS.createNode(null,"/",NODEFS.getMode(e.opts.root),0)},createNode(e,t,r,a){if(!FS.isDir(r)&&!FS.isFile(r)&&!FS.isLink(r))throw new FS.ErrnoError(28);var n=FS.createNode(e,t,r);return n.node_ops=NODEFS.node_ops,n.stream_ops=NODEFS.stream_ops,n},getMode(e){return NODEFS.tryFSOperation(()=>{var t=fs.lstatSync(e).mode;return NODEFS.isWindows&&(t|=(t&292)>>2),t})},realPath(e){for(var t=[];e.parent!==e;)t.push(e.name),e=e.parent;return t.push(e.mount.opts.root),t.reverse(),PATH.join(...t)},flagsForNode(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289,e&=-65537;var t=0;for(var r in NODEFS.flagsForNodeMap)e&r&&(t|=NODEFS.flagsForNodeMap[r],e^=r);if(e)throw new FS.ErrnoError(28);return t},node_ops:{getattr(e){var t=NODEFS.realPath(e),r;return NODEFS.tryFSOperation(()=>r=fs.lstatSync(t)),NODEFS.isWindows&&(r.blksize||(r.blksize=4096),r.blocks||(r.blocks=(r.size+r.blksize-1)/r.blksize|0),r.mode|=(r.mode&292)>>2),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr(e,t){var r=NODEFS.realPath(e);NODEFS.tryFSOperation(()=>{if(t.mode!==void 0){var a=t.mode;NODEFS.isWindows&&(a&=384),fs.chmodSync(r,a),e.mode=t.mode}if(t.atime||t.mtime){var n=t.atime&&new Date(t.atime),o=t.mtime&&new Date(t.mtime);fs.utimesSync(r,n,o)}t.size!==void 0&&fs.truncateSync(r,t.size)})},lookup(e,t){var r=PATH.join2(NODEFS.realPath(e),t),a=NODEFS.getMode(r);return NODEFS.createNode(e,t,a)},mknod(e,t,r,a){var n=NODEFS.createNode(e,t,r,a),o=NODEFS.realPath(n);return NODEFS.tryFSOperation(()=>{FS.isDir(n.mode)?fs.mkdirSync(o,n.mode):fs.writeFileSync(o,"",{mode:n.mode})}),n},rename(e,t,r){var a=NODEFS.realPath(e),n=PATH.join2(NODEFS.realPath(t),r);try{FS.unlink(n)}catch{}NODEFS.tryFSOperation(()=>fs.renameSync(a,n)),e.name=r},unlink(e,t){var r=PATH.join2(NODEFS.realPath(e),t);NODEFS.tryFSOperation(()=>fs.unlinkSync(r))},rmdir(e,t){var r=PATH.join2(NODEFS.realPath(e),t);NODEFS.tryFSOperation(()=>fs.rmdirSync(r))},readdir(e){var t=NODEFS.realPath(e);return NODEFS.tryFSOperation(()=>fs.readdirSync(t))},symlink(e,t,r){var a=PATH.join2(NODEFS.realPath(e),t);NODEFS.tryFSOperation(()=>fs.symlinkSync(r,a))},readlink(e){var t=NODEFS.realPath(e);return NODEFS.tryFSOperation(()=>fs.readlinkSync(t))},statfs(e){var t=NODEFS.tryFSOperation(()=>fs.statfsSync(e));return t.frsize=t.bsize,t}},stream_ops:{open(e){var t=NODEFS.realPath(e.node);NODEFS.tryFSOperation(()=>{FS.isFile(e.node.mode)&&(e.shared.refcount=1,e.nfd=fs.openSync(t,NODEFS.flagsForNode(e.flags)))})},close(e){NODEFS.tryFSOperation(()=>{FS.isFile(e.node.mode)&&e.nfd&&--e.shared.refcount===0&&fs.closeSync(e.nfd)})},dup(e){e.shared.refcount++},read(e,t,r,a,n){return a===0?0:NODEFS.tryFSOperation(()=>fs.readSync(e.nfd,new Int8Array(t.buffer,r,a),0,a,n))},write(e,t,r,a,n){return NODEFS.tryFSOperation(()=>fs.writeSync(e.nfd,new Int8Array(t.buffer,r,a),0,a,n))},llseek(e,t,r){var a=t;if(r===1?a+=e.position:r===2&&FS.isFile(e.node.mode)&&NODEFS.tryFSOperation(()=>{var n=fs.fstatSync(e.nfd);a+=n.size}),a<0)throw new FS.ErrnoError(28);return a},mmap(e,t,r,a,n){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);var o=mmapAlloc(t);return NODEFS.stream_ops.read(e,HEAP8,o,t,r),{ptr:o,allocated:!0}},msync(e,t,r,a,n){return NODEFS.stream_ops.write(e,t,0,a,r,!1),0}}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){Z(this,"name","ErrnoError"),this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){Z(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,t,r,a){Z(this,"node_ops",{}),Z(this,"stream_ops",{}),Z(this,"readMode",365),Z(this,"writeMode",146),Z(this,"mounted",null),e||(e=this),this.parent=e,this.mount=e.mount,this.id=FS.nextInode++,this.name=t,this.mode=r,this.rdev=a,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)return{path:"",node:null};t.follow_mount??(t.follow_mount=!0),PATH.isAbs(e)||(e=FS.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var a=e.split("/").filter(u=>!!u&&u!=="."),n=FS.root,o="/",l=0;l<a.length;l++){var _=l===a.length-1;if(_&&t.parent)break;if(a[l]===".."){o=PATH.dirname(o),n=n.parent;continue}o=PATH.join2(o,a[l]);try{n=FS.lookupNode(n,a[l])}catch(u){if(u?.errno===44&&_&&t.noent_okay)return{path:o};throw u}if(FS.isMountpoint(n)&&(!_||t.follow_mount)&&(n=n.mounted.root),FS.isLink(n.mode)&&(!_||t.follow)){if(!n.node_ops.readlink)throw new FS.ErrnoError(52);var c=n.node_ops.readlink(n);PATH.isAbs(c)||(c=PATH.dirname(o)+"/"+c),e=c+"/"+a.slice(l+1).join("/");continue e}}return{path:o,node:n}}throw new FS.ErrnoError(32)},getPath(e){for(var t;;){if(FS.isRoot(e)){var r=e.mount.mountpoint;return t?r[r.length-1]!=="/"?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,a=0;a<t.length;a++)r=(r<<5)-r+t.charCodeAt(a)|0;return(e+r>>>0)%FS.nameTable.length},hashAddNode(e){var t=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[t],FS.nameTable[t]=e},hashRemoveNode(e){var t=FS.hashName(e.parent.id,e.name);if(FS.nameTable[t]===e)FS.nameTable[t]=e.name_next;else for(var r=FS.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=FS.mayLookup(e);if(r)throw new FS.ErrnoError(r);for(var a=FS.hashName(e.id,t),n=FS.nameTable[a];n;n=n.name_next){var o=n.name;if(n.parent.id===e.id&&o===t)return n}return FS.lookup(e,t)},createNode(e,t,r,a){var n=new FS.FSNode(e,t,r,a);return FS.hashAddNode(n),n},destroyNode(e){FS.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var t=["r","w","rw"][e&3];return e&512&&(t+="w"),t},nodePermissions(e,t){return FS.ignorePermissions?0:t.includes("r")&&!(e.mode&292)||t.includes("w")&&!(e.mode&146)||t.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!FS.isDir(e.mode))return 54;var t=FS.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!FS.isDir(e.mode))return 54;try{var r=FS.lookupNode(e,t);return 20}catch{}return FS.nodePermissions(e,"wx")},mayDelete(e,t,r){var a;try{a=FS.lookupNode(e,t)}catch(o){return o.errno}var n=FS.nodePermissions(e,"wx");if(n)return n;if(r){if(!FS.isDir(a.mode))return 54;if(FS.isRoot(a)||FS.getPath(a)===FS.cwd())return 10}else if(FS.isDir(a.mode))return 31;return 0},mayOpen(e,t){return e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&(FS.flagsToPermissionString(t)!=="r"||t&512)?31:FS.nodePermissions(e,FS.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var t=FS.getStream(e);if(!t)throw new FS.ErrnoError(8);return t},getStream:e=>FS.streams[e],createStream(e,t=-1){return e=Object.assign(new FS.FSStream,e),t==-1&&(t=FS.nextfd()),e.fd=t,FS.streams[t]=e,e},closeStream(e){FS.streams[e]=null},dupStream(e,t=-1){var r=FS.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=FS.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){FS.devices[e]={stream_ops:t}},getDevice:e=>FS.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var a=r.pop();t.push(a),r.push(...a.mounts)}return t},syncfs(e,t){typeof e=="function"&&(t=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=FS.getMounts(FS.root.mount),a=0;function n(l){return FS.syncFSRequests--,t(l)}function o(l){if(l)return o.errored?void 0:(o.errored=!0,n(l));++a>=r.length&&n(null)}r.forEach(l=>{if(!l.type.syncfs)return o(null);l.type.syncfs(l,e,o)})},mount(e,t,r){var a=r==="/",n=!r,o;if(a&&FS.root)throw new FS.ErrnoError(10);if(!a&&!n){var l=FS.lookupPath(r,{follow_mount:!1});if(r=l.path,o=l.node,FS.isMountpoint(o))throw new FS.ErrnoError(10);if(!FS.isDir(o.mode))throw new FS.ErrnoError(54)}var _={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(_);return c.mount=_,_.root=c,a?FS.root=c:o&&(o.mounted=_,o.mount&&o.mount.mounts.push(_)),c},unmount(e){var t=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(t.node))throw new FS.ErrnoError(28);var r=t.node,a=r.mounted,n=FS.getMounts(a);Object.keys(FS.nameTable).forEach(l=>{for(var _=FS.nameTable[l];_;){var c=_.name_next;n.includes(_.mount)&&FS.destroyNode(_),_=c}}),r.mounted=null;var o=r.mount.mounts.indexOf(a);r.mount.mounts.splice(o,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,r){var a=FS.lookupPath(e,{parent:!0}),n=a.node,o=PATH.basename(e);if(!o||o==="."||o==="..")throw new FS.ErrnoError(28);var l=FS.mayCreate(n,o);if(l)throw new FS.ErrnoError(l);if(!n.node_ops.mknod)throw new FS.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},statfs(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255},r=FS.lookupPath(e,{follow:!0}).node;return r?.node_ops.statfs&&Object.assign(t,r.node_ops.statfs(r.mount.opts.root)),t},create(e,t=438){return t&=4095,t|=32768,FS.mknod(e,t,0)},mkdir(e,t=511){return t&=1023,t|=16384,FS.mknod(e,t,0)},mkdirTree(e,t){for(var r=e.split("/"),a="",n=0;n<r.length;++n)if(r[n]){a+="/"+r[n];try{FS.mkdir(a,t)}catch(o){if(o.errno!=20)throw o}}},mkdev(e,t,r){return typeof r>"u"&&(r=t,t=438),t|=8192,FS.mknod(e,t,r)},symlink(e,t){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var r=FS.lookupPath(t,{parent:!0}),a=r.node;if(!a)throw new FS.ErrnoError(44);var n=PATH.basename(t),o=FS.mayCreate(a,n);if(o)throw new FS.ErrnoError(o);if(!a.node_ops.symlink)throw new FS.ErrnoError(63);return a.node_ops.symlink(a,n,e)},rename(e,t){var r=PATH.dirname(e),a=PATH.dirname(t),n=PATH.basename(e),o=PATH.basename(t),l,_,c;if(l=FS.lookupPath(e,{parent:!0}),_=l.node,l=FS.lookupPath(t,{parent:!0}),c=l.node,!_||!c)throw new FS.ErrnoError(44);if(_.mount!==c.mount)throw new FS.ErrnoError(75);var u=FS.lookupNode(_,n),p=PATH_FS.relative(e,a);if(p.charAt(0)!==".")throw new FS.ErrnoError(28);if(p=PATH_FS.relative(t,r),p.charAt(0)!==".")throw new FS.ErrnoError(55);var m;try{m=FS.lookupNode(c,o)}catch{}if(u!==m){var f=FS.isDir(u.mode),d=FS.mayDelete(_,n,f);if(d)throw new FS.ErrnoError(d);if(d=m?FS.mayDelete(c,o,f):FS.mayCreate(c,o),d)throw new FS.ErrnoError(d);if(!_.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(u)||m&&FS.isMountpoint(m))throw new FS.ErrnoError(10);if(c!==_&&(d=FS.nodePermissions(_,"w"),d))throw new FS.ErrnoError(d);FS.hashRemoveNode(u);try{_.node_ops.rename(u,c,o),u.parent=c}catch(v){throw v}finally{FS.hashAddNode(u)}}},rmdir(e){var t=FS.lookupPath(e,{parent:!0}),r=t.node,a=PATH.basename(e),n=FS.lookupNode(r,a),o=FS.mayDelete(r,a,!0);if(o)throw new FS.ErrnoError(o);if(!r.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);r.node_ops.rmdir(r,a),FS.destroyNode(n)},readdir(e){var t=FS.lookupPath(e,{follow:!0}),r=t.node;if(!r.node_ops.readdir)throw new FS.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var t=FS.lookupPath(e,{parent:!0}),r=t.node;if(!r)throw new FS.ErrnoError(44);var a=PATH.basename(e),n=FS.lookupNode(r,a),o=FS.mayDelete(r,a,!1);if(o)throw new FS.ErrnoError(o);if(!r.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);r.node_ops.unlink(r,a),FS.destroyNode(n)},readlink(e){var t=FS.lookupPath(e),r=t.node;if(!r)throw new FS.ErrnoError(44);if(!r.node_ops.readlink)throw new FS.ErrnoError(28);return r.node_ops.readlink(r)},stat(e,t){var r=FS.lookupPath(e,{follow:!t}),a=r.node;if(!a)throw new FS.ErrnoError(44);if(!a.node_ops.getattr)throw new FS.ErrnoError(63);return a.node_ops.getattr(a)},lstat(e){return FS.stat(e,!0)},chmod(e,t,r){var a;if(typeof e=="string"){var n=FS.lookupPath(e,{follow:!r});a=n.node}else a=e;if(!a.node_ops.setattr)throw new FS.ErrnoError(63);a.node_ops.setattr(a,{mode:t&4095|a.mode&-4096,ctime:Date.now()})},lchmod(e,t){FS.chmod(e,t,!0)},fchmod(e,t){var r=FS.getStreamChecked(e);FS.chmod(r.node,t)},chown(e,t,r,a){var n;if(typeof e=="string"){var o=FS.lookupPath(e,{follow:!a});n=o.node}else n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){FS.chown(e,t,r,!0)},fchown(e,t,r){var a=FS.getStreamChecked(e);FS.chown(a.node,t,r)},truncate(e,t){if(t<0)throw new FS.ErrnoError(28);var r;if(typeof e=="string"){var a=FS.lookupPath(e,{follow:!0});r=a.node}else r=e;if(!r.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(r.mode))throw new FS.ErrnoError(31);if(!FS.isFile(r.mode))throw new FS.ErrnoError(28);var n=FS.nodePermissions(r,"w");if(n)throw new FS.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=FS.getStreamChecked(e);if(!(r.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(r.node,t)},utime(e,t,r){var a=FS.lookupPath(e,{follow:!0}),n=a.node;n.node_ops.setattr(n,{atime:t,mtime:r})},open(e,t,r=438){if(e==="")throw new FS.ErrnoError(44);t=typeof t=="string"?FS_modeStringToFlags(t):t,t&64?r=r&4095|32768:r=0;var a;if(typeof e=="object")a=e;else{var n=FS.lookupPath(e,{follow:!(t&131072),noent_okay:!0});a=n.node,e=n.path}var o=!1;if(t&64)if(a){if(t&128)throw new FS.ErrnoError(20)}else a=FS.mknod(e,r,0),o=!0;if(!a)throw new FS.ErrnoError(44);if(FS.isChrdev(a.mode)&&(t&=-513),t&65536&&!FS.isDir(a.mode))throw new FS.ErrnoError(54);if(!o){var l=FS.mayOpen(a,t);if(l)throw new FS.ErrnoError(l)}t&512&&!o&&FS.truncate(a,0),t&=-131713;var _=FS.createStream({node:a,path:FS.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1});return _.stream_ops.open&&_.stream_ops.open(_),Module.logReadFiles&&!(t&1)&&(e in FS.readFiles||(FS.readFiles[e]=1)),_},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{FS.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(r!=0&&r!=1&&r!=2)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,a,n){if(a<0||n<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if((e.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var o=typeof n<"u";if(!o)n=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var l=e.stream_ops.read(e,t,r,a,n);return o||(e.position+=l),l},write(e,t,r,a,n,o){if(a<0||n<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&e.flags&1024&&FS.llseek(e,0,2);var l=typeof n<"u";if(!l)n=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var _=e.stream_ops.write(e,t,r,a,n,o);return l||(e.position+=_),_},allocate(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(t<0||r<=0)throw new FS.ErrnoError(28);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,a,n){if(a&2&&!(n&2)&&(e.flags&2097155)!==2)throw new FS.ErrnoError(2);if((e.flags&2097155)===1)throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);if(!t)throw new FS.ErrnoError(28);return e.stream_ops.mmap(e,t,r,a,n)},msync(e,t,r,a,n){return e.stream_ops.msync?e.stream_ops.msync(e,t,r,a,n):0},ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary",t.encoding!=="utf8"&&t.encoding!=="binary")throw new Error(`Invalid encoding type "${t.encoding}"`);var r,a=FS.open(e,t.flags),n=FS.stat(e),o=n.size,l=new Uint8Array(o);return FS.read(a,l,0,o,0),t.encoding==="utf8"?r=UTF8ArrayToString(l):t.encoding==="binary"&&(r=l),FS.close(a),r},writeFile(e,t,r={}){r.flags=r.flags||577;var a=FS.open(e,r.flags,r.mode);if(typeof t=="string"){var n=new Uint8Array(lengthBytesUTF8(t)+1),o=stringToUTF8Array(t,n,0,n.length);FS.write(a,n,0,o,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))FS.write(a,t,0,t.byteLength,void 0,r.canOwn);else throw new Error("Unsupported data type");FS.close(a)},cwd:()=>FS.currentPath,chdir(e){var t=FS.lookupPath(e,{follow:!0});if(t.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(t.node.mode))throw new FS.ErrnoError(54);var r=FS.nodePermissions(t.node,"x");if(r)throw new FS.ErrnoError(r);FS.currentPath=t.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(a,n,o,l,_)=>l,llseek:()=>0}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(t===0&&(t=randomFill(e).byteLength),e[--t]);FS.createDevice("/dev","random",r),FS.createDevice("/dev","urandom",r),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var t=FS.createNode(e,"fd",16895,73);return t.stream_ops={llseek:MEMFS.stream_ops.llseek},t.node_ops={lookup(r,a){var n=+a,o=FS.getStreamChecked(n),l={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path},id:n+1};return l.parent=l,l},readdir(){return Array.from(FS.streams.entries()).filter(([r,a])=>a).map(([r,a])=>r.toString())}},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?FS.createDevice("/dev","stdin",e):FS.symlink("/dev/tty","/dev/stdin"),t?FS.createDevice("/dev","stdout",null,t):FS.symlink("/dev/tty","/dev/stdout"),r?FS.createDevice("/dev","stderr",null,r):FS.symlink("/dev/tty1","/dev/stderr");var a=FS.open("/dev/stdin",0),n=FS.open("/dev/stdout",1),o=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS,IDBFS,NODEFS}},init(e,t,r){FS.initialized=!0,e??(e=Module.stdin),t??(t=Module.stdout),r??(r=Module.stderr),FS.createStandardStreams(e,t,r)},quit(){FS.initialized=!1;for(var e=0;e<FS.streams.length;e++){var t=FS.streams[e];t&&FS.close(t)}},findObject(e,t){var r=FS.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=FS.lookupPath(e,{follow:!t});e=r.path}catch{}var a={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=FS.lookupPath(e,{parent:!0});a.parentExists=!0,a.parentPath=r.path,a.parentObject=r.node,a.name=PATH.basename(e),r=FS.lookupPath(e,{follow:!t}),a.exists=!0,a.path=r.path,a.object=r.node,a.name=r.node.name,a.isRoot=r.path==="/"}catch(n){a.error=n.errno}return a},createPath(e,t,r,a){e=typeof e=="string"?e:FS.getPath(e);for(var n=t.split("/").reverse();n.length;){var o=n.pop();if(o){var l=PATH.join2(e,o);try{FS.mkdir(l)}catch{}e=l}}return l},createFile(e,t,r,a,n){var o=PATH.join2(typeof e=="string"?e:FS.getPath(e),t),l=FS_getMode(a,n);return FS.create(o,l)},createDataFile(e,t,r,a,n,o){var l=t;e&&(e=typeof e=="string"?e:FS.getPath(e),l=t?PATH.join2(e,t):e);var _=FS_getMode(a,n),c=FS.create(l,_);if(r){if(typeof r=="string"){for(var u=new Array(r.length),p=0,m=r.length;p<m;++p)u[p]=r.charCodeAt(p);r=u}FS.chmod(c,_|146);var f=FS.open(c,577);FS.write(f,r,0,r.length,0,o),FS.close(f),FS.chmod(c,_)}},createDevice(e,t,r,a){var n,o=PATH.join2(typeof e=="string"?e:FS.getPath(e),t),l=FS_getMode(!!r,!!a);(n=FS.createDevice).major??(n.major=64);var _=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(_,{open(c){c.seekable=!1},close(c){a?.buffer?.length&&a(10)},read(c,u,p,m,f){for(var d=0,v=0;v<m;v++){var g;try{g=r()}catch{throw new FS.ErrnoError(29)}if(g===void 0&&d===0)throw new FS.ErrnoError(6);if(g==null)break;d++,u[p+v]=g}return d&&(c.node.atime=Date.now()),d},write(c,u,p,m,f){for(var d=0;d<m;d++)try{a(u[p+d])}catch{throw new FS.ErrnoError(29)}return m&&(c.node.mtime=c.node.ctime=Date.now()),d}}),FS.mkdev(o,l,_)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=readBinary(e.url),e.usedBytes=e.contents.length}catch{throw new FS.ErrnoError(29)}},createLazyFile(e,t,r,a,n){class o{constructor(){Z(this,"lengthKnown",!1),Z(this,"chunks",[])}get(d){if(!(d>this.length-1||d<0)){var v=d%this.chunkSize,g=d/this.chunkSize|0;return this.getter(g)[v]}}setDataGetter(d){this.getter=d}cacheLength(){var d=new XMLHttpRequest;if(d.open("HEAD",r,!1),d.send(null),!(d.status>=200&&d.status<300||d.status===304))throw new Error("Couldn't load "+r+". Status: "+d.status);var v=Number(d.getResponseHeader("Content-length")),g,S=(g=d.getResponseHeader("Accept-Ranges"))&&g==="bytes",A=(g=d.getResponseHeader("Content-Encoding"))&&g==="gzip",b=1024*1024;S||(b=v);var L=(w,F)=>{if(w>F)throw new Error("invalid range ("+w+", "+F+") or no bytes requested!");if(F>v-1)throw new Error("only "+v+" bytes available! programmer error!");var E=new XMLHttpRequest;if(E.open("GET",r,!1),v!==b&&E.setRequestHeader("Range","bytes="+w+"-"+F),E.responseType="arraybuffer",E.overrideMimeType&&E.overrideMimeType("text/plain; charset=x-user-defined"),E.send(null),!(E.status>=200&&E.status<300||E.status===304))throw new Error("Couldn't load "+r+". Status: "+E.status);return E.response!==void 0?new Uint8Array(E.response||[]):intArrayFromString(E.responseText||"",!0)},y=this;y.setDataGetter(w=>{var F=w*b,E=(w+1)*b-1;if(E=Math.min(E,v-1),typeof y.chunks[w]>"u"&&(y.chunks[w]=L(F,E)),typeof y.chunks[w]>"u")throw new Error("doXHR failed!");return y.chunks[w]}),(A||!v)&&(b=v=1,v=this.getter(0).length,b=v,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=v,this._chunkSize=b,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var l=new o,_={isDevice:!1,contents:l}}else var _={isDevice:!1,url:r};var c=FS.createFile(e,t,_,a,n);_.contents?c.contents=_.contents:_.url&&(c.contents=null,c.url=_.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={},p=Object.keys(c.stream_ops);p.forEach(f=>{var d=c.stream_ops[f];u[f]=(...v)=>(FS.forceLoadFile(c),d(...v))});function m(f,d,v,g,S){var A=f.node.contents;if(S>=A.length)return 0;var b=Math.min(A.length-S,g);if(A.slice)for(var L=0;L<b;L++)d[v+L]=A[S+L];else for(var L=0;L<b;L++)d[v+L]=A.get(S+L);return b}return u.read=(f,d,v,g,S)=>(FS.forceLoadFile(c),m(f,d,v,g,S)),u.mmap=(f,d,v,g,S)=>{FS.forceLoadFile(c);var A=mmapAlloc(d);if(!A)throw new FS.ErrnoError(48);return m(f,HEAP8,A,d,v),{ptr:A,allocated:!0}},c.stream_ops=u,c}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(PATH.isAbs(t))return t;var a;if(e===-100)a=FS.cwd();else{var n=SYSCALLS.getStreamFromFD(e);a=n.path}if(t.length==0){if(!r)throw new FS.ErrnoError(44);return a}return a+"/"+t},doStat(e,t,r){var a=e(t);HEAP32[r>>2]=a.dev,HEAP32[r+4>>2]=a.mode,HEAPU32[r+8>>2]=a.nlink,HEAP32[r+12>>2]=a.uid,HEAP32[r+16>>2]=a.gid,HEAP32[r+20>>2]=a.rdev,HEAP64[r+24>>3]=BigInt(a.size),HEAP32[r+32>>2]=4096,HEAP32[r+36>>2]=a.blocks;var n=a.atime.getTime(),o=a.mtime.getTime(),l=a.ctime.getTime();return HEAP64[r+40>>3]=BigInt(Math.floor(n/1e3)),HEAPU32[r+48>>2]=n%1e3*1e3*1e3,HEAP64[r+56>>3]=BigInt(Math.floor(o/1e3)),HEAPU32[r+64>>2]=o%1e3*1e3*1e3,HEAP64[r+72>>3]=BigInt(Math.floor(l/1e3)),HEAPU32[r+80>>2]=l%1e3*1e3*1e3,HEAP64[r+88>>3]=BigInt(a.ino),0},doMsync(e,t,r,a,n){if(!FS.isFile(t.node.mode))throw new FS.ErrnoError(43);if(a&2)return 0;var o=HEAPU8.slice(e,e+r);FS.msync(t,o,n,r,a)},getStreamFromFD(e){var t=FS.getStreamChecked(e);return t},varargs:void 0,getStr(e){var t=UTF8ToString(e);return t}},___syscall__newselect=function(e,t,r,a,n){try{for(var o=0,l=t?HEAP32[t>>2]:0,_=t?HEAP32[t+4>>2]:0,c=r?HEAP32[r>>2]:0,u=r?HEAP32[r+4>>2]:0,p=a?HEAP32[a>>2]:0,m=a?HEAP32[a+4>>2]:0,f=0,d=0,v=0,g=0,S=0,A=0,b=(t?HEAP32[t>>2]:0)|(r?HEAP32[r>>2]:0)|(a?HEAP32[a>>2]:0),L=(t?HEAP32[t+4>>2]:0)|(r?HEAP32[r+4>>2]:0)|(a?HEAP32[a+4>>2]:0),y=(M,B,O,H)=>M<32?B&H:O&H,w=0;w<e;w++){var F=1<<w%32;if(y(w,b,L,F)){var E=SYSCALLS.getStreamFromFD(w),T=SYSCALLS.DEFAULT_POLLMASK;if(E.stream_ops.poll){var P=-1;if(n){var D=t?HEAP32[n>>2]:0,I=t?HEAP32[n+4>>2]:0;P=(D+I/1e6)*1e3}T=E.stream_ops.poll(E,P)}T&1&&y(w,l,_,F)&&(w<32?f=f|F:d=d|F,o++),T&4&&y(w,c,u,F)&&(w<32?v=v|F:g=g|F,o++),T&2&&y(w,p,m,F)&&(w<32?S=S|F:A=A|F,o++)}}return t&&(HEAP32[t>>2]=f,HEAP32[t+4>>2]=d),r&&(HEAP32[r>>2]=v,HEAP32[r+4>>2]=g),a&&(HEAP32[a>>2]=S,HEAP32[a+4>>2]=A),o}catch(M){if(typeof FS>"u"||M.name!=="ErrnoError")throw M;return-M.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(e,t){SOCKFS.callbacks[e]=t},emit(e,t){SOCKFS.callbacks[e]?.(t)},mount(e){return SOCKFS.websocketArgs=Module.websocket||{},(Module.websocket??(Module.websocket={})).on=SOCKFS.on,FS.createNode(null,"/",16895,0)},createSocket(e,t,r){t&=-526337;var a=t==1;if(a&&r&&r!=6)throw new FS.ErrnoError(66);var n={family:e,type:t,protocol:r,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},o=SOCKFS.nextname(),l=FS.createNode(SOCKFS.root,o,49152,0);l.sock=n;var _=FS.createStream({path:o,node:l,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return n.stream=_,n},getSocket(e){var t=FS.getStream(e);return!t||!FS.isSocket(t.node.mode)?null:t.node.sock},stream_ops:{poll(e){var t=e.node.sock;return t.sock_ops.poll(t)},ioctl(e,t,r){var a=e.node.sock;return a.sock_ops.ioctl(a,t,r)},read(e,t,r,a,n){var o=e.node.sock,l=o.sock_ops.recvmsg(o,a);return l?(t.set(l.buffer,r),l.buffer.length):0},write(e,t,r,a,n){var o=e.node.sock;return o.sock_ops.sendmsg(o,t,r,a)},close(e){var t=e.node.sock;t.sock_ops.close(t)}},nextname(){return SOCKFS.nextname.current||(SOCKFS.nextname.current=0),`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(e,t,r){var a;if(typeof t=="object"&&(a=t,t=null,r=null),a)if(a._socket)t=a._socket.remoteAddress,r=a._socket.remotePort;else{var n=/ws[s]?:\/\/([^:]+):(\d+)/.exec(a.url);if(!n)throw new Error("WebSocket URL must be in the format ws(s)://address:port");t=n[1],r=parseInt(n[2],10)}else try{var o="ws:#".replace("#","//"),l="binary",_=void 0;if(SOCKFS.websocketArgs.url&&(o=SOCKFS.websocketArgs.url),SOCKFS.websocketArgs.subprotocol?l=SOCKFS.websocketArgs.subprotocol:SOCKFS.websocketArgs.subprotocol===null&&(l="null"),o==="ws://"||o==="wss://"){var c=t.split("/");o=o+c[0]+":"+r+"/"+c.slice(1).join("/")}l!=="null"&&(l=l.replace(/^ +| +$/g,"").split(/ *, */),_=l);var u;ENVIRONMENT_IS_NODE?u=require("ws"):u=WebSocket,a=new u(o,_),a.binaryType="arraybuffer"}catch{throw new FS.ErrnoError(23)}var p={addr:t,port:r,socket:a,msg_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,p),SOCKFS.websocket_sock_ops.handlePeerEvents(e,p),e.type===2&&typeof e.sport<"u"&&p.msg_send_queue.push(new Uint8Array([255,255,255,255,112,111,114,116,(e.sport&65280)>>8,e.sport&255])),p},getPeer(e,t,r){return e.peers[t+":"+r]},addPeer(e,t){e.peers[t.addr+":"+t.port]=t},removePeer(e,t){delete e.peers[t.addr+":"+t.port]},handlePeerEvents(e,t){var r=!0,a=function(){e.connecting=!1,SOCKFS.emit("open",e.stream.fd);try{for(var o=t.msg_send_queue.shift();o;)t.socket.send(o),o=t.msg_send_queue.shift()}catch{t.socket.close()}};function n(o){if(typeof o=="string"){var l=new TextEncoder;o=l.encode(o)}else{if(assert(o.byteLength!==void 0),o.byteLength==0)return;o=new Uint8Array(o)}var _=r;if(r=!1,_&&o.length===10&&o[0]===255&&o[1]===255&&o[2]===255&&o[3]===255&&o[4]===112&&o[5]===111&&o[6]===114&&o[7]===116){var c=o[8]<<8|o[9];SOCKFS.websocket_sock_ops.removePeer(e,t),t.port=c,SOCKFS.websocket_sock_ops.addPeer(e,t);return}e.recv_queue.push({addr:t.addr,port:t.port,data:o}),SOCKFS.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(t.socket.on("open",a),t.socket.on("message",function(o,l){l&&n(new Uint8Array(o).buffer)}),t.socket.on("close",function(){SOCKFS.emit("close",e.stream.fd)}),t.socket.on("error",function(o){e.error=14,SOCKFS.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(t.socket.onopen=a,t.socket.onclose=function(){SOCKFS.emit("close",e.stream.fd)},t.socket.onmessage=function(o){n(o.data)},t.socket.onerror=function(o){e.error=14,SOCKFS.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(e.type===1&&e.server)return e.pending.length?65:0;var t=0,r=e.type===1?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!r||r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=65),(!r||r&&r.socket.readyState===r.socket.OPEN)&&(t|=4),(r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(e.connecting?t|=4:t|=16),t},ioctl(e,t,r){switch(t){case 21531:var a=0;return e.recv_queue.length&&(a=e.recv_queue[0].data.length),HEAP32[r>>2]=a,0;default:return 28}},close(e){if(e.server){try{e.server.close()}catch{}e.server=null}for(var t=Object.keys(e.peers),r=0;r<t.length;r++){var a=e.peers[t[r]];try{a.socket.close()}catch{}SOCKFS.websocket_sock_ops.removePeer(e,a)}return 0},bind(e,t,r){if(typeof e.saddr<"u"||typeof e.sport<"u")throw new FS.ErrnoError(28);if(e.saddr=t,e.sport=r,e.type===2){e.server&&(e.server.close(),e.server=null);try{e.sock_ops.listen(e,0)}catch(a){if(a.name!=="ErrnoError"||a.errno!==138)throw a}}},connect(e,t,r){if(e.server)throw new FS.ErrnoError(138);if(typeof e.daddr<"u"&&typeof e.dport<"u"){var a=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(a)throw a.socket.readyState===a.socket.CONNECTING?new FS.ErrnoError(7):new FS.ErrnoError(30)}var n=SOCKFS.websocket_sock_ops.createPeer(e,t,r);e.daddr=n.addr,e.dport=n.port,e.connecting=!0},listen(e,t){if(!ENVIRONMENT_IS_NODE)throw new FS.ErrnoError(138);if(e.server)throw new FS.ErrnoError(28);var r=require("ws").Server,a=e.saddr;e.server=new r({host:a,port:e.sport}),SOCKFS.emit("listen",e.stream.fd),e.server.on("connection",function(n){if(e.type===1){var o=SOCKFS.createSocket(e.family,e.type,e.protocol),l=SOCKFS.websocket_sock_ops.createPeer(o,n);o.daddr=l.addr,o.dport=l.port,e.pending.push(o),SOCKFS.emit("connection",o.stream.fd)}else SOCKFS.websocket_sock_ops.createPeer(e,n),SOCKFS.emit("connection",e.stream.fd)}),e.server.on("close",function(){SOCKFS.emit("close",e.stream.fd),e.server=null}),e.server.on("error",function(n){e.error=23,SOCKFS.emit("error",[e.stream.fd,e.error,"EHOSTUNREACH: Host is unreachable"])})},accept(e){if(!e.server||!e.pending.length)throw new FS.ErrnoError(28);var t=e.pending.shift();return t.stream.flags=e.stream.flags,t},getname(e,t){var r,a;if(t){if(e.daddr===void 0||e.dport===void 0)throw new FS.ErrnoError(53);r=e.daddr,a=e.dport}else r=e.saddr||0,a=e.sport||0;return{addr:r,port:a}},sendmsg(e,t,r,a,n,o){if(e.type===2){if((n===void 0||o===void 0)&&(n=e.daddr,o=e.dport),n===void 0||o===void 0)throw new FS.ErrnoError(17)}else n=e.daddr,o=e.dport;var l=SOCKFS.websocket_sock_ops.getPeer(e,n,o);if(e.type===1&&(!l||l.socket.readyState===l.socket.CLOSING||l.socket.readyState===l.socket.CLOSED))throw new FS.ErrnoError(53);ArrayBuffer.isView(t)&&(r+=t.byteOffset,t=t.buffer);var _=t.slice(r,r+a);if(!l||l.socket.readyState!==l.socket.OPEN)return e.type===2&&(!l||l.socket.readyState===l.socket.CLOSING||l.socket.readyState===l.socket.CLOSED)&&(l=SOCKFS.websocket_sock_ops.createPeer(e,n,o)),l.msg_send_queue.push(_),a;try{return l.socket.send(_),a}catch{throw new FS.ErrnoError(28)}},recvmsg(e,t){if(e.type===1&&e.server)throw new FS.ErrnoError(53);var r=e.recv_queue.shift();if(!r){if(e.type===1){var a=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(!a)throw new FS.ErrnoError(53);if(a.socket.readyState===a.socket.CLOSING||a.socket.readyState===a.socket.CLOSED)return null;throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var n=r.data.byteLength||r.data.length,o=r.data.byteOffset||0,l=r.data.buffer||r.data,_=Math.min(t,n),c={buffer:new Uint8Array(l,o,_),addr:r.addr,port:r.port};if(e.type===1&&_<n){var u=n-_;r.data=new Uint8Array(l,o+_,u),e.recv_queue.unshift(r)}return c}}},getSocketFromFD=e=>{var t=SOCKFS.getSocket(e);if(!t)throw new FS.ErrnoError(8);return t},Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]},inetPton4=e=>{for(var t=e.split("."),r=0;r<4;r++){var a=Number(t[r]);if(isNaN(a))return null;t[r]=a}return(t[0]|t[1]<<8|t[2]<<16|t[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var t,r,a,n,o,l=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,_=[];if(!l.test(e))return null;if(e==="::")return[0,0,0,0,0,0,0,0];for(e.startsWith("::")?e=e.replace("::","Z:"):e=e.replace("::",":Z:"),e.indexOf(".")>0?(e=e.replace(new RegExp("[.]","g"),":"),t=e.split(":"),t[t.length-4]=jstoi_q(t[t.length-4])+jstoi_q(t[t.length-3])*256,t[t.length-3]=jstoi_q(t[t.length-2])+jstoi_q(t[t.length-1])*256,t=t.slice(0,t.length-2)):t=e.split(":"),a=0,n=0,r=0;r<t.length;r++)if(typeof t[r]=="string")if(t[r]==="Z"){for(n=0;n<8-t.length+1;n++)_[r+n]=0;a=n-1}else _[r+a]=_htons(parseInt(t[r],16));else _[r+a]=t[r];return[_[1]<<16|_[0],_[3]<<16|_[2],_[5]<<16|_[4],_[7]<<16|_[6]]},writeSockaddr=(e,t,r,a,n)=>{switch(t){case 2:r=inetPton4(r),zeroMemory(e,16),n&&(HEAP32[n>>2]=16),HEAP16[e>>1]=t,HEAP32[e+4>>2]=r,HEAP16[e+2>>1]=_htons(a);break;case 10:r=inetPton6(r),zeroMemory(e,28),n&&(HEAP32[n>>2]=28),HEAP32[e>>2]=t,HEAP32[e+8>>2]=r[0],HEAP32[e+12>>2]=r[1],HEAP32[e+16>>2]=r[2],HEAP32[e+20>>2]=r[3],HEAP16[e+2>>1]=_htons(a);break;default:return 5}return 0},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(e){var t=inetPton4(e);if(t!==null||(t=inetPton6(e),t!==null))return e;var r;if(DNS.address_map.addrs[e])r=DNS.address_map.addrs[e];else{var a=DNS.address_map.id++;assert(a<65535,"exceeded max address mappings of 65535"),r="172.29."+(a&255)+"."+(a&65280),DNS.address_map.names[r]=e,DNS.address_map.addrs[e]=r}return r},lookup_addr(e){return DNS.address_map.names[e]?DNS.address_map.names[e]:null}};function ___syscall_accept4(e,t,r,a,n,o){try{var l=getSocketFromFD(e),_=l.sock_ops.accept(l);if(t)var c=writeSockaddr(t,_.family,DNS.lookup_name(_.daddr),_.dport,r);return _.stream.fd}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=e=>(e&255)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var t="",r=0,a=0,n=0,o=0,l=0,_=0,c=[e[0]&65535,e[0]>>16,e[1]&65535,e[1]>>16,e[2]&65535,e[2]>>16,e[3]&65535,e[3]>>16],u=!0,p="";for(_=0;_<5;_++)if(c[_]!==0){u=!1;break}if(u){if(p=inetNtop4(c[6]|c[7]<<16),c[5]===-1)return t="::ffff:",t+=p,t;if(c[5]===0)return t="::",p==="0.0.0.0"&&(p=""),p==="0.0.0.1"&&(p="1"),t+=p,t}for(r=0;r<8;r++)c[r]===0&&(r-n>1&&(l=0),n=r,l++),l>a&&(a=l,o=r-a+1);for(r=0;r<8;r++){if(a>1&&c[r]===0&&r>=o&&r<o+a){r===o&&(t+=":",o===0&&(t+=":"));continue}t+=Number(_ntohs(c[r]&65535)).toString(16),t+=r<7?":":""}return t},readSockaddr=(e,t)=>{var r=HEAP16[e>>1],a=_ntohs(HEAPU16[e+2>>1]),n;switch(r){case 2:if(t!==16)return{errno:28};n=HEAP32[e+4>>2],n=inetNtop4(n);break;case 10:if(t!==28)return{errno:28};n=[HEAP32[e+8>>2],HEAP32[e+12>>2],HEAP32[e+16>>2],HEAP32[e+20>>2]],n=inetNtop6(n);break;default:return{errno:5}}return{family:r,addr:n,port:a}},getSocketAddress=(e,t)=>{var r=readSockaddr(e,t);if(r.errno)throw new FS.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r};function ___syscall_bind(e,t,r,a,n,o){try{var l=getSocketFromFD(e),_=getSocketAddress(t,r);return l.sock_ops.bind(l,_.addr,_.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(e){try{return e=SYSCALLS.getStr(e),FS.chdir(e),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(e,t){try{return e=SYSCALLS.getStr(e),FS.chmod(e,t),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(e,t,r,a,n,o){try{var l=getSocketFromFD(e),_=getSocketAddress(t,r);return l.sock_ops.connect(l,_.addr,_.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(e){try{var t=SYSCALLS.getStreamFromFD(e);return FS.dupStream(t).fd}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(e,t,r){try{var a=SYSCALLS.getStreamFromFD(e);if(a.fd===t)return-28;if(t<0||t>=FS.MAX_OPEN_FDS)return-8;var n=FS.getStream(t);return n&&FS.close(n),FS.dupStream(a,t).fd}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(e,t,r,a){try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),r&-8)return-28;var n=FS.lookupPath(t,{follow:!0}),o=n.node;if(!o)return-44;var l="";return r&4&&(l+="r"),r&2&&(l+="w"),r&1&&(l+="x"),l&&FS.nodePermissions(o,l)?-2:0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(e,t,r,a)=>0;___syscall_fadvise64.sig="iijji";var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e);function ___syscall_fallocate(e,t,r,a){r=bigintToI53Checked(r),a=bigintToI53Checked(a);try{if(isNaN(r))return 61;var n=SYSCALLS.getStreamFromFD(e);return FS.allocate(n,r,a),0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_fallocate.sig="iiijj";function ___syscall_fchdir(e){try{var t=SYSCALLS.getStreamFromFD(e);return FS.chdir(t.path),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(e,t){try{return FS.fchmod(e,t),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(e,t,r,a){try{var n=a&256;return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),FS.chmod(t,r,n),0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(e,t,r){try{return FS.fchown(e,t,r),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(e,t,r,a,n){try{t=SYSCALLS.getStr(t);var o=n&256;return n=n&-257,t=SYSCALLS.calculateAt(e,t),(o?FS.lchown:FS.chown)(t,r,a),0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var e=HEAP32[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,e},syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(e,t,r){SYSCALLS.varargs=r;try{var a=SYSCALLS.getStreamFromFD(e);switch(t){case 0:{var n=syscallGetVarargI();if(n<0)return-28;for(;FS.streams[n];)n++;var o;return o=FS.dupStream(a,n),o.fd}case 1:case 2:return 0;case 3:return a.flags;case 4:{var n=syscallGetVarargI();return a.flags|=n,0}case 12:{var n=syscallGetVarargP(),l=0;return HEAP16[n+l>>1]=2,0}case 13:case 14:return 0}return-28}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(e){try{var t=SYSCALLS.getStreamFromFD(e);return 0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(e,t){try{var r=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,r.path,t)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_fstat64.sig="iip";function ___syscall_statfs64(e,t,r){try{var a=FS.statfs(SYSCALLS.getStr(e));return HEAP32[r+4>>2]=a.bsize,HEAP32[r+40>>2]=a.bsize,HEAP32[r+8>>2]=a.blocks,HEAP32[r+12>>2]=a.bfree,HEAP32[r+16>>2]=a.bavail,HEAP32[r+20>>2]=a.files,HEAP32[r+24>>2]=a.ffree,HEAP32[r+28>>2]=a.fsid,HEAP32[r+44>>2]=a.flags,HEAP32[r+36>>2]=a.namelen,0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_statfs64.sig="ippp";function ___syscall_fstatfs64(e,t,r){try{var a=SYSCALLS.getStreamFromFD(e);return ___syscall_statfs64(0,t,r)}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(e,t){t=bigintToI53Checked(t);try{return isNaN(t)?61:(FS.ftruncate(e,t),0)}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_ftruncate64.sig="iij";var stringToUTF8=(e,t,r)=>stringToUTF8Array(e,HEAPU8,t,r);function ___syscall_getcwd(e,t){try{if(t===0)return-28;var r=FS.cwd(),a=lengthBytesUTF8(r)+1;return t<a?-68:(stringToUTF8(r,e,t),a)}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(e,t,r){try{var a=SYSCALLS.getStreamFromFD(e);a.getdents||(a.getdents=FS.readdir(a.path));for(var n=280,o=0,l=FS.llseek(a,0,1),_=Math.floor(l/n),c=Math.min(a.getdents.length,_+Math.floor(r/n)),u=_;u<c;u++){var p,m,f=a.getdents[u];if(f===".")p=a.node.id,m=4;else if(f===".."){var d=FS.lookupPath(a.path,{parent:!0});p=d.node.id,m=4}else{var v;try{v=FS.lookupNode(a.node,f)}catch(g){if(g?.errno===28)continue;throw g}p=v.id,m=FS.isChrdev(v.mode)?2:FS.isDir(v.mode)?4:FS.isLink(v.mode)?10:8}HEAP64[t+o>>3]=BigInt(p),HEAP64[t+o+8>>3]=BigInt((u+1)*n),HEAP16[t+o+16>>1]=280,HEAP8[t+o+18]=m,stringToUTF8(f,t+o+19,256),o+=n}return FS.llseek(a,u*n,0),o}catch(g){if(typeof FS>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(e,t,r,a,n,o){try{var l=getSocketFromFD(e);if(!l.daddr)return-53;var _=writeSockaddr(t,l.family,DNS.lookup_name(l.daddr),l.dport,r);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(e,t,r,a,n,o){try{var l=getSocketFromFD(e),_=writeSockaddr(t,l.family,DNS.lookup_name(l.saddr||"0.0.0.0"),l.sport,r);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(e,t,r,a,n,o){try{var l=getSocketFromFD(e);return t===1&&r===4?(HEAP32[a>>2]=l.error,HEAP32[n>>2]=4,l.error=null,0):-50}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(e,t,r){SYSCALLS.varargs=r;try{var a=SYSCALLS.getStreamFromFD(e);switch(t){case 21509:return a.tty?0:-59;case 21505:{if(!a.tty)return-59;if(a.tty.ops.ioctl_tcgets){var n=a.tty.ops.ioctl_tcgets(a),o=syscallGetVarargP();HEAP32[o>>2]=n.c_iflag||0,HEAP32[o+4>>2]=n.c_oflag||0,HEAP32[o+8>>2]=n.c_cflag||0,HEAP32[o+12>>2]=n.c_lflag||0;for(var l=0;l<32;l++)HEAP8[o+l+17]=n.c_cc[l]||0;return 0}return 0}case 21510:case 21511:case 21512:return a.tty?0:-59;case 21506:case 21507:case 21508:{if(!a.tty)return-59;if(a.tty.ops.ioctl_tcsets){for(var o=syscallGetVarargP(),_=HEAP32[o>>2],c=HEAP32[o+4>>2],u=HEAP32[o+8>>2],p=HEAP32[o+12>>2],m=[],l=0;l<32;l++)m.push(HEAP8[o+l+17]);return a.tty.ops.ioctl_tcsets(a.tty,t,{c_iflag:_,c_oflag:c,c_cflag:u,c_lflag:p,c_cc:m})}return 0}case 21519:{if(!a.tty)return-59;var o=syscallGetVarargP();return HEAP32[o>>2]=0,0}case 21520:return a.tty?-28:-59;case 21531:{var o=syscallGetVarargP();return FS.ioctl(a,t,o)}case 21523:{if(!a.tty)return-59;if(a.tty.ops&&a.tty.ops.ioctl_tiocgwinsz){var f=a.tty.ops.ioctl_tiocgwinsz(a.tty),o=syscallGetVarargP();HEAP16[o>>1]=f[0],HEAP16[o+2>>1]=f[1]}return 0}case 21524:return a.tty?0:-59;case 21515:return a.tty?0:-59;default:return-28}}catch(d){if(typeof FS>"u"||d.name!=="ErrnoError")throw d;return-d.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(e,t){try{var r=getSocketFromFD(e);return r.sock_ops.listen(r,t),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(e,t){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,t)}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(e,t,r){try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),FS.mkdir(t,r,0),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(e,t,r,a){try{switch(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),r&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return FS.mknod(t,r,a),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(e,t,r,a){try{t=SYSCALLS.getStr(t);var n=a&256,o=a&4096;return a=a&-6401,t=SYSCALLS.calculateAt(e,t,o),SYSCALLS.doStat(n?FS.lstat:FS.stat,t,r)}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(e,t,r,a){SYSCALLS.varargs=a;try{t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t);var n=a?syscallGetVarargI():0;return FS.open(t,r,n).fd}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(e){return FS.createNode(null,"/",16895,0)},createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var t=PIPEFS.nextname(),r=PIPEFS.nextname(),a=FS.createNode(PIPEFS.root,t,4096,0),n=FS.createNode(PIPEFS.root,r,4096,0);a.pipe=e,n.pipe=e;var o=FS.createStream({path:t,node:a,flags:0,seekable:!1,stream_ops:PIPEFS.stream_ops});a.stream=o;var l=FS.createStream({path:r,node:n,flags:1,seekable:!1,stream_ops:PIPEFS.stream_ops});return n.stream=l,{readable_fd:o.fd,writable_fd:l.fd}},stream_ops:{poll(e){var t=e.node.pipe;if((e.flags&2097155)===1)return 260;if(t.buckets.length>0)for(var r=0;r<t.buckets.length;r++){var a=t.buckets[r];if(a.offset-a.roffset>0)return 65}return 0},ioctl(e,t,r){return 28},fsync(e){return 28},read(e,t,r,a,n){for(var o=e.node.pipe,l=0,_=0;_<o.buckets.length;_++){var c=o.buckets[_];l+=c.offset-c.roffset}var u=t.subarray(r,r+a);if(a<=0)return 0;if(l==0)throw new FS.ErrnoError(6);for(var p=Math.min(l,a),m=p,f=0,_=0;_<o.buckets.length;_++){var d=o.buckets[_],v=d.offset-d.roffset;if(p<=v){var g=d.buffer.subarray(d.roffset,d.offset);p<v?(g=g.subarray(0,p),d.roffset+=p):f++,u.set(g);break}else{var g=d.buffer.subarray(d.roffset,d.offset);u.set(g),u=u.subarray(g.byteLength),p-=g.byteLength,f++}}return f&&f==o.buckets.length&&(f--,o.buckets[f].offset=0,o.buckets[f].roffset=0),o.buckets.splice(0,f),m},write(e,t,r,a,n){var o=e.node.pipe,l=t.subarray(r,r+a),_=l.byteLength;if(_<=0)return 0;var c=null;o.buckets.length==0?(c={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0},o.buckets.push(c)):c=o.buckets[o.buckets.length-1],assert(c.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var u=PIPEFS.BUCKET_BUFFER_SIZE-c.offset;if(u>=_)return c.buffer.set(l,c.offset),c.offset+=_,_;u>0&&(c.buffer.set(l.subarray(0,u),c.offset),c.offset+=u,l=l.subarray(u,l.byteLength));for(var p=l.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0,m=l.byteLength%PIPEFS.BUCKET_BUFFER_SIZE,f=0;f<p;f++){var d={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};o.buckets.push(d),d.buffer.set(l.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE)),l=l.subarray(PIPEFS.BUCKET_BUFFER_SIZE,l.byteLength)}if(m>0){var d={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:l.byteLength,roffset:0};o.buckets.push(d),d.buffer.set(l)}return _},close(e){var t=e.node.pipe;t.refcnt--,t.refcnt===0&&(t.buckets=null)}},nextname(){return PIPEFS.nextname.current||(PIPEFS.nextname.current=0),"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(e){try{if(e==0)throw new FS.ErrnoError(21);var t=PIPEFS.createPipe();return HEAP32[e>>2]=t.readable_fd,HEAP32[e+4>>2]=t.writable_fd,0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(e,t,r){try{for(var a=0,n=0;n<t;n++){var o=e+8*n,l=HEAP32[o>>2],_=HEAP16[o+4>>1],c=32,u=FS.getStream(l);u&&(c=SYSCALLS.DEFAULT_POLLMASK,u.stream_ops.poll&&(c=u.stream_ops.poll(u,-1))),c&=_|8|16,c&&a++,HEAP16[o+6>>1]=c}return a}catch(p){if(typeof FS>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(e,t,r,a){try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),a<=0)return-28;var n=FS.readlink(t),o=Math.min(a,lengthBytesUTF8(n)),l=HEAP8[r+o];return stringToUTF8(n,r,a+1),HEAP8[r+o]=l,o}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(e,t,r,a,n,o){try{var l=getSocketFromFD(e),_=l.sock_ops.recvmsg(l,r);if(!_)return 0;if(n)var c=writeSockaddr(n,l.family,DNS.lookup_name(_.addr),_.port,o);return HEAPU8.set(_.buffer,t),_.buffer.byteLength}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(e,t,r,a,n,o){try{for(var l=getSocketFromFD(e),_=HEAPU32[t+8>>2],c=HEAP32[t+12>>2],u=0,p=0;p<c;p++)u+=HEAP32[_+(8*p+4)>>2];var m=l.sock_ops.recvmsg(l,u);if(!m)return 0;var f=HEAPU32[t>>2];if(f)var d=writeSockaddr(f,l.family,DNS.lookup_name(m.addr),m.port);for(var v=0,g=m.buffer.byteLength,p=0;g>0&&p<c;p++){var S=HEAPU32[_+(8*p+0)>>2],A=HEAP32[_+(8*p+4)>>2];if(A){var b=Math.min(A,g),L=m.buffer.subarray(v,v+b);HEAPU8.set(L,S+v),v+=b,g-=b}}return v}catch(y){if(typeof FS>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(e,t,r,a){try{return t=SYSCALLS.getStr(t),a=SYSCALLS.getStr(a),t=SYSCALLS.calculateAt(e,t),a=SYSCALLS.calculateAt(r,a),FS.rename(t,a),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(e){try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(e,t,r,a,n,o){try{var l=getSocketFromFD(e),_=HEAPU32[t+8>>2],c=HEAP32[t+12>>2],u,p,m=HEAPU32[t>>2],f=HEAP32[t+4>>2];if(m){var d=getSocketAddress(m,f);p=d.port,u=d.addr}for(var v=0,g=0;g<c;g++)v+=HEAP32[_+(8*g+4)>>2];for(var S=new Uint8Array(v),A=0,g=0;g<c;g++)for(var b=HEAPU32[_+(8*g+0)>>2],L=HEAP32[_+(8*g+4)>>2],y=0;y<L;y++)S[A++]=HEAP8[b+y];return l.sock_ops.sendmsg(l,S,0,v,u,p)}catch(w){if(typeof FS>"u"||w.name!=="ErrnoError")throw w;return-w.errno}}___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(e,t,r,a,n,o){try{var l=getSocketFromFD(e);if(!n)return FS.write(l.stream,HEAP8,t,r);var _=getSocketAddress(n,o);return l.sock_ops.sendmsg(l,HEAP8,t,r,_.addr,_.port)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(e,t,r){try{var a=SOCKFS.createSocket(e,t,r);return a.stream.fd}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(e,t){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,t)}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlinkat(e,t,r){try{return e=SYSCALLS.getStr(e),r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(t,r),FS.symlink(e,r),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(e,t){t=bigintToI53Checked(t);try{return isNaN(t)?61:(e=SYSCALLS.getStr(e),FS.truncate(e,t),0)}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_truncate64.sig="ipj";function ___syscall_unlinkat(e,t,r){try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),r===0?FS.unlink(t):r===512?FS.rmdir(t):abort("Invalid flags passed to unlinkat"),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_unlinkat.sig="iipi";var readI53FromI64=e=>HEAPU32[e>>2]+HEAP32[e+4>>2]*4294967296;function ___syscall_utimensat(e,t,r,a){try{t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t,!0);var n=Date.now(),o,l;if(!r)o=n,l=n;else{var _=readI53FromI64(r),c=HEAP32[r+8>>2];c==1073741823?o=n:c==1073741822?o=null:o=_*1e3+c/1e6,r+=16,_=readI53FromI64(r),c=HEAP32[r+8>>2],c==1073741823?l=n:c==1073741822?l=null:l=_*1e3+c/1e6}return(l??o)!==null&&FS.utime(t,o,l),0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=()=>abort("");__abort_js.sig="v";var ENV={},stackAlloc=e=>__emscripten_stack_alloc(e),stringToUTF8OnStack=e=>{var t=lengthBytesUTF8(e)+1,r=stackAlloc(t);return stringToUTF8(e,r,t),r},dlSetError=e=>{var t=stackSave(),r=stringToUTF8OnStack(e);___dl_seterr(r,0),stackRestore(t)},dlopenInternal=(e,t)=>{var r=UTF8ToString(e+36),a=HEAP32[e+4>>2];r=PATH.normalize(r);var n=[],o=!!(a&256),l=o?null:{},_={global:o,nodelete:!!(a&4096),loadAsync:t.loadAsync};if(t.loadAsync)return loadDynamicLibrary(r,_,l,e);try{return loadDynamicLibrary(r,_,l,e)}catch(c){return dlSetError(`Could not load dynamic lib: ${r}
11
+ ${c}`),0}},__dlopen_js=e=>dlopenInternal(e,{loadAsync:!1});__dlopen_js.sig="pp";var __dlsym_js=(e,t,r)=>{t=UTF8ToString(t);var a,n,o=LDSO.loadedLibsByHandle[e];if(!o.exports.hasOwnProperty(t)||o.exports[t].stub)return dlSetError(`Tried to lookup unknown symbol "${t}" in dynamic lib: ${o.name}`),0;if(n=Object.keys(o.exports).indexOf(t),a=o.exports[t],typeof a=="function"){var l=getFunctionAddress(a);l?a=l:(a=addFunction(a,a.sig),HEAPU32[r>>2]=n)}return a};__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind")return EXITSTATUS;quit_(1,e)},runtimeKeepaliveCounter=0,keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,_proc_exit=e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))};_proc_exit.sig="vi";var exitJS=(e,t)=>{EXITSTATUS=e,_proc_exit(e)},_exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive())try{_exit(EXITSTATUS)}catch(e){handleException(e)}},callUserCallback=e=>{if(!ABORT)try{e(),maybeExit()}catch(t){handleException(t)}},__emscripten_dlopen_js=(e,t,r,a)=>{function n(_){var c=UTF8ToString(e+36);dlSetError(`'Could not load dynamic lib: ${c}
12
+ ${_}`),callUserCallback(()=>getWasmTableEntry(r)(e,a))}function o(){callUserCallback(()=>getWasmTableEntry(t)(e,a))}var l=dlopenInternal(e,{loadAsync:!0});l?l.then(o,n):n()};__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program",__emscripten_get_progname=(e,t)=>stringToUTF8(getExecutableName(),e,t);__emscripten_get_progname.sig="vpi";var __emscripten_lookup_name=e=>{var t=UTF8ToString(e);return inetPton4(DNS.lookup_name(t))};__emscripten_lookup_name.sig="ip";var __emscripten_memcpy_js=(e,t,r)=>HEAPU8.copyWithin(e,t,t+r);__emscripten_memcpy_js.sig="vppp";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=!1,runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_set_offscreencanvas_size=(e,t,r)=>-1;__emscripten_set_offscreencanvas_size.sig="ipii";var __emscripten_system=e=>{if(ENVIRONMENT_IS_NODE){if(!e)return 1;var t=UTF8ToString(e);if(!t.length)return 0;var r=require("child_process"),a=r.spawnSync(t,[],{shell:!0,stdio:"inherit"}),n=(l,_)=>l<<8|_;if(a.status===null){var o=l=>{switch(l){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return n(0,o(a.signal))}return n(a.status,0)}return e?-52:0};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw 1/0};__emscripten_throw_longjmp.sig="v";function __gmtime_js(e,t){e=bigintToI53Checked(e);var r=new Date(e*1e3);HEAP32[t>>2]=r.getUTCSeconds(),HEAP32[t+4>>2]=r.getUTCMinutes(),HEAP32[t+8>>2]=r.getUTCHours(),HEAP32[t+12>>2]=r.getUTCDate(),HEAP32[t+16>>2]=r.getUTCMonth(),HEAP32[t+20>>2]=r.getUTCFullYear()-1900,HEAP32[t+24>>2]=r.getUTCDay();var a=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-a)/(1e3*60*60*24)|0;HEAP32[t+28>>2]=n}__gmtime_js.sig="vjp";var isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>{var t=isLeapYear(e.getFullYear()),r=t?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,a=r[e.getMonth()]+e.getDate()-1;return a};function __localtime_js(e,t){e=bigintToI53Checked(e);var r=new Date(e*1e3);HEAP32[t>>2]=r.getSeconds(),HEAP32[t+4>>2]=r.getMinutes(),HEAP32[t+8>>2]=r.getHours(),HEAP32[t+12>>2]=r.getDate(),HEAP32[t+16>>2]=r.getMonth(),HEAP32[t+20>>2]=r.getFullYear()-1900,HEAP32[t+24>>2]=r.getDay();var a=ydayFromDate(r)|0;HEAP32[t+28>>2]=a,HEAP32[t+36>>2]=-(r.getTimezoneOffset()*60);var n=new Date(r.getFullYear(),0,1),o=new Date(r.getFullYear(),6,1).getTimezoneOffset(),l=n.getTimezoneOffset(),_=(o!=l&&r.getTimezoneOffset()==Math.min(l,o))|0;HEAP32[t+32>>2]=_}__localtime_js.sig="vjp";var __mktime_js=function(e){var t=(()=>{var r=new Date(HEAP32[e+20>>2]+1900,HEAP32[e+16>>2],HEAP32[e+12>>2],HEAP32[e+8>>2],HEAP32[e+4>>2],HEAP32[e>>2],0),a=HEAP32[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),l=new Date(r.getFullYear(),6,1).getTimezoneOffset(),_=o.getTimezoneOffset(),c=Math.min(_,l);if(a<0)HEAP32[e+32>>2]=+(l!=_&&c==n);else if(a>0!=(c==n)){var u=Math.max(_,l),p=a>0?c:u;r.setTime(r.getTime()+(p-n)*6e4)}HEAP32[e+24>>2]=r.getDay();var m=ydayFromDate(r)|0;HEAP32[e+28>>2]=m,HEAP32[e>>2]=r.getSeconds(),HEAP32[e+4>>2]=r.getMinutes(),HEAP32[e+8>>2]=r.getHours(),HEAP32[e+12>>2]=r.getDate(),HEAP32[e+16>>2]=r.getMonth(),HEAP32[e+20>>2]=r.getYear();var f=r.getTime();return isNaN(f)?-1:f/1e3})();return BigInt(t)};__mktime_js.sig="jp";function __mmap_js(e,t,r,a,n,o,l){n=bigintToI53Checked(n);try{if(isNaN(n))return 61;var _=SYSCALLS.getStreamFromFD(a),c=FS.mmap(_,e,n,t,r),u=c.ptr;return HEAP32[o>>2]=c.allocated,HEAPU32[l>>2]=u,0}catch(p){if(typeof FS>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}__mmap_js.sig="ipiiijpp";function __msync_js(e,t,r,a,n,o){o=bigintToI53Checked(o);try{return isNaN(o)?61:(SYSCALLS.doMsync(e,SYSCALLS.getStreamFromFD(n),t,a,o),0)}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}__msync_js.sig="ippiiij";function __munmap_js(e,t,r,a,n,o){o=bigintToI53Checked(o);try{var l=SYSCALLS.getStreamFromFD(n);r&2&&SYSCALLS.doMsync(e,l,t,a,o)}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}__munmap_js.sig="ippiiij";var timers={},_emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(e,t)=>{if(timers[e]&&(clearTimeout(timers[e].id),delete timers[e]),!t)return 0;var r=setTimeout(()=>{delete timers[e],callUserCallback(()=>__emscripten_timeout(e,_emscripten_get_now()))},t);return timers[e]={id:r,timeout_ms:t},0};__setitimer_js.sig="iid";var __timegm_js=function(e){var t=(()=>{var r=Date.UTC(HEAP32[e+20>>2]+1900,HEAP32[e+16>>2],HEAP32[e+12>>2],HEAP32[e+8>>2],HEAP32[e+4>>2],HEAP32[e>>2],0),a=new Date(r);HEAP32[e+24>>2]=a.getUTCDay();var n=Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0),o=(a.getTime()-n)/(1e3*60*60*24)|0;return HEAP32[e+28>>2]=o,a.getTime()/1e3})();return BigInt(t)};__timegm_js.sig="jp";var __tzset_js=(e,t,r,a)=>{var n=new Date().getFullYear(),o=new Date(n,0,1),l=new Date(n,6,1),_=o.getTimezoneOffset(),c=l.getTimezoneOffset(),u=Math.max(_,c);HEAPU32[e>>2]=u*60,HEAP32[t>>2]=+(_!=c);var p=d=>{var v=d>=0?"-":"+",g=Math.abs(d),S=String(Math.floor(g/60)).padStart(2,"0"),A=String(g%60).padStart(2,"0");return`UTC${v}${S}${A}`},m=p(_),f=p(c);c<_?(stringToUTF8(m,r,17),stringToUTF8(f,a,17)):(stringToUTF8(m,a,17),stringToUTF8(f,r,17))};__tzset_js.sig="vpppp";var _emscripten_set_main_loop_timing=(e,t)=>{if(MainLoop.timingMode=e,MainLoop.timingValue=t,!MainLoop.func)return 1;if(MainLoop.running||(MainLoop.running=!0),e==0)MainLoop.scheduler=function(){var o=Math.max(0,MainLoop.tickStartTime+t-_emscripten_get_now())|0;setTimeout(MainLoop.runner,o)},MainLoop.method="timeout";else if(e==1)MainLoop.scheduler=function(){MainLoop.requestAnimationFrame(MainLoop.runner)},MainLoop.method="rAF";else if(e==2){if(typeof MainLoop.setImmediate>"u")if(typeof setImmediate>"u"){var r=[],a="setimmediate",n=o=>{(o.data===a||o.data.target===a)&&(o.stopPropagation(),r.shift()())};addEventListener("message",n,!0),MainLoop.setImmediate=o=>{r.push(o),ENVIRONMENT_IS_WORKER?(Module.setImmediates??(Module.setImmediates=[]),Module.setImmediates.push(o),postMessage({target:a})):postMessage(a,"*")}}else MainLoop.setImmediate=setImmediate;MainLoop.scheduler=function(){MainLoop.setImmediate(MainLoop.runner)},MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(e,t,r,a,n)=>{MainLoop.func=e,MainLoop.arg=a;var o=MainLoop.currentlyRunningMainloop;function l(){return o<MainLoop.currentlyRunningMainloop?(maybeExit(),!1):!0}if(MainLoop.running=!1,MainLoop.runner=function(){if(!ABORT){if(MainLoop.queue.length>0){var _=Date.now(),c=MainLoop.queue.shift();if(c.func(c.arg),MainLoop.remainingBlockers){var u=MainLoop.remainingBlockers,p=u%1==0?u-1:Math.floor(u);c.counted?MainLoop.remainingBlockers=p:(p=p+.5,MainLoop.remainingBlockers=(8*u+p)/9)}if(MainLoop.updateStatus(),!l())return;setTimeout(MainLoop.runner,0);return}if(l()){if(MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0,MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else MainLoop.timingMode==0&&(MainLoop.tickStartTime=_emscripten_get_now());MainLoop.runIter(e),l()&&MainLoop.scheduler()}}},n||(t&&t>0?_emscripten_set_main_loop_timing(0,1e3/t):_emscripten_set_main_loop_timing(1,1),MainLoop.scheduler()),r)throw"unwind"},MainLoop={running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null,MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var e=MainLoop.timingMode,t=MainLoop.timingValue,r=MainLoop.func;MainLoop.func=null,setMainLoop(r,0,!1,MainLoop.arg,!0),_emscripten_set_main_loop_timing(e,t),MainLoop.scheduler()},updateStatus(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",t=MainLoop.remainingBlockers??0,r=MainLoop.expectedBlockers??0;t?t<r?Module.setStatus("{message} ({expected - remaining}/{expected})"):Module.setStatus(e):Module.setStatus("")}},init(){Module.preMainLoop&&MainLoop.preMainLoop.push(Module.preMainLoop),Module.postMainLoop&&MainLoop.postMainLoop.push(Module.postMainLoop)},runIter(e){if(!ABORT){for(var t of MainLoop.preMainLoop)if(t()===!1)return;callUserCallback(e);for(var r of MainLoop.postMainLoop)r()}},nextRAF:0,fakeRequestAnimationFrame(e){var t=Date.now();if(MainLoop.nextRAF===0)MainLoop.nextRAF=t+1e3/60;else for(;t+2>=MainLoop.nextRAF;)MainLoop.nextRAF+=1e3/60;var r=Math.max(MainLoop.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame(e){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(e);return}var t=MainLoop.fakeRequestAnimationFrame;t(e)}},AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:!0,ALC_SOFT_HRTF:!0},AL_EXTENSIONS:{AL_EXT_float32:!0,AL_SOFT_loop_points:!0,AL_SOFT_source_length:!0,AL_EXT_source_distance_model:!0,AL_SOFT_source_spatialize:!0},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:!1,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:e=>{if(!(MainLoop.timingMode===1&&document.visibilityState!="visible"))for(var t in e.sources)AL.scheduleSourceAudio(e.sources[t])},scheduleSourceAudio:(e,t)=>{if(!(MainLoop.timingMode===1&&document.visibilityState!="visible")&&e.state===4114){for(var r=AL.updateSourceTime(e),a=e.bufStartTime,n=e.bufOffset,o=e.bufsProcessed,l=0;l<e.audioQueue.length;l++){var _=e.audioQueue[l];a=_._startTime+_._duration,n=0,o+=_._skipCount+1}t||(t=AL.QUEUE_LOOKAHEAD);for(var c=r+t,u=0;a<c;){if(o>=e.bufQueue.length)if(e.looping)o%=e.bufQueue.length;else break;var p=e.bufQueue[o%e.bufQueue.length];if(p.length===0){if(u++,u===e.bufQueue.length)break}else{var _=e.context.audioCtx.createBufferSource();_.buffer=p.audioBuf,_.playbackRate.value=e.playbackRate,(p.audioBuf._loopStart||p.audioBuf._loopEnd)&&(_.loopStart=p.audioBuf._loopStart,_.loopEnd=p.audioBuf._loopEnd);var m=0;e.type===4136&&e.looping?(m=Number.POSITIVE_INFINITY,_.loop=!0,p.audioBuf._loopStart&&(_.loopStart=p.audioBuf._loopStart),p.audioBuf._loopEnd&&(_.loopEnd=p.audioBuf._loopEnd)):m=(p.audioBuf.duration-n)/e.playbackRate,_._startOffset=n,_._duration=m,_._skipCount=u,u=0,_.connect(e.gain),typeof _.start<"u"?(a=Math.max(a,e.context.audioCtx.currentTime),_.start(a,n)):typeof _.noteOn<"u"&&(a=Math.max(a,e.context.audioCtx.currentTime),_.noteOn(a)),_._startTime=a,e.audioQueue.push(_),a+=m}n=0,o++}}},updateSourceTime:e=>{var t=e.context.audioCtx.currentTime;if(e.state!==4114)return t;isFinite(e.bufStartTime)||(e.bufStartTime=t-e.bufOffset/e.playbackRate,e.bufOffset=0);for(var r=0;e.audioQueue.length;){var a=e.audioQueue[0];if(e.bufsProcessed+=a._skipCount,r=a._startTime+a._duration,t<r)break;e.audioQueue.shift(),e.bufStartTime=r,e.bufOffset=0,e.bufsProcessed++}if(e.bufsProcessed>=e.bufQueue.length&&!e.looping)AL.setSourceState(e,4116);else if(e.type===4136&&e.looping){var n=e.bufQueue[0];if(n.length===0)e.bufOffset=0;else{var o=(t-e.bufStartTime)*e.playbackRate,l=n.audioBuf._loopStart||0,_=n.audioBuf._loopEnd||n.audioBuf.duration;_<=l&&(_=n.audioBuf.duration),o<_?e.bufOffset=o:e.bufOffset=l+(o-l)%(_-l)}}else if(e.audioQueue[0])e.bufOffset=(t-e.audioQueue[0]._startTime)*e.playbackRate;else{if(e.type!==4136&&e.looping){var c=AL.sourceDuration(e)/e.playbackRate;c>0&&(e.bufStartTime+=Math.floor((t-e.bufStartTime)/c)*c)}for(var u=0;u<e.bufQueue.length;u++){if(e.bufsProcessed>=e.bufQueue.length)if(e.looping)e.bufsProcessed%=e.bufQueue.length;else{AL.setSourceState(e,4116);break}var n=e.bufQueue[e.bufsProcessed];if(n.length>0){if(r=e.bufStartTime+n.audioBuf.duration/e.playbackRate,t<r){e.bufOffset=(t-e.bufStartTime)*e.playbackRate;break}e.bufStartTime=r}e.bufOffset=0,e.bufsProcessed++}}return t},cancelPendingSourceAudio:e=>{AL.updateSourceTime(e);for(var t=1;t<e.audioQueue.length;t++){var r=e.audioQueue[t];r.stop()}e.audioQueue.length>1&&(e.audioQueue.length=1)},stopSourceAudio:e=>{for(var t=0;t<e.audioQueue.length;t++)e.audioQueue[t].stop();e.audioQueue.length=0},setSourceState:(e,t)=>{t===4114?((e.state===4114||e.state==4116)&&(e.bufsProcessed=0,e.bufOffset=0),AL.stopSourceAudio(e),e.state=4114,e.bufStartTime=Number.NEGATIVE_INFINITY,AL.scheduleSourceAudio(e)):t===4115?e.state===4114&&(AL.updateSourceTime(e),AL.stopSourceAudio(e),e.state=4115):t===4116?e.state!==4113&&(e.state=4116,e.bufsProcessed=e.bufQueue.length,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e)):t===4113&&e.state!==4113&&(e.state=4113,e.bufsProcessed=0,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e))},initSourcePanner:e=>{if(e.type!==4144){for(var t=AL.buffers[0],r=0;r<e.bufQueue.length;r++)if(e.bufQueue[r].id!==0){t=e.bufQueue[r];break}if(e.spatialize===1||e.spatialize===2&&t.channels===1){if(e.panner)return;e.panner=e.context.audioCtx.createPanner(),AL.updateSourceGlobal(e),AL.updateSourceSpace(e),e.panner.connect(e.context.gain),e.gain.disconnect(),e.gain.connect(e.panner)}else{if(!e.panner)return;e.panner.disconnect(),e.gain.disconnect(),e.gain.connect(e.context.gain),e.panner=null}}},updateContextGlobal:e=>{for(var t in e.sources)AL.updateSourceGlobal(e.sources[t])},updateSourceGlobal:e=>{var t=e.panner;if(t){t.refDistance=e.refDistance,t.maxDistance=e.maxDistance,t.rolloffFactor=e.rolloffFactor,t.panningModel=e.context.hrtf?"HRTF":"equalpower";var r=e.context.sourceDistanceModel?e.distanceModel:e.context.distanceModel;switch(r){case 0:t.distanceModel="inverse",t.refDistance=340282e33;break;case 53249:case 53250:t.distanceModel="inverse";break;case 53251:case 53252:t.distanceModel="linear";break;case 53253:case 53254:t.distanceModel="exponential";break}}},updateListenerSpace:e=>{var t=e.audioCtx.listener;t.positionX?(t.positionX.value=e.listener.position[0],t.positionY.value=e.listener.position[1],t.positionZ.value=e.listener.position[2]):t.setPosition(e.listener.position[0],e.listener.position[1],e.listener.position[2]),t.forwardX?(t.forwardX.value=e.listener.direction[0],t.forwardY.value=e.listener.direction[1],t.forwardZ.value=e.listener.direction[2],t.upX.value=e.listener.up[0],t.upY.value=e.listener.up[1],t.upZ.value=e.listener.up[2]):t.setOrientation(e.listener.direction[0],e.listener.direction[1],e.listener.direction[2],e.listener.up[0],e.listener.up[1],e.listener.up[2]);for(var r in e.sources)AL.updateSourceSpace(e.sources[r])},updateSourceSpace:e=>{if(e.panner){var t=e.panner,r=e.position[0],a=e.position[1],n=e.position[2],o=e.direction[0],l=e.direction[1],_=e.direction[2],c=e.context.listener,u=c.position[0],p=c.position[1],m=c.position[2];if(e.relative){var f=-c.direction[0],d=-c.direction[1],v=-c.direction[2],g=c.up[0],S=c.up[1],A=c.up[2],b=(Pt,Ct,Gt)=>{var Mt=Math.sqrt(Pt*Pt+Ct*Ct+Gt*Gt);return Mt<Number.EPSILON?0:1/Mt},L=b(f,d,v);f*=L,d*=L,v*=L,L=b(g,S,A),g*=L,S*=L,A*=L;var y=S*v-A*d,w=A*f-g*v,F=g*d-S*f;L=b(y,w,F),y*=L,w*=L,F*=L,g=d*F-v*w,S=v*y-f*F,A=f*w-d*y;var E=o,T=l,P=_;o=E*y+T*g+P*f,l=E*w+T*S+P*d,_=E*F+T*A+P*v,E=r,T=a,P=n,r=E*y+T*g+P*f,a=E*w+T*S+P*d,n=E*F+T*A+P*v,r+=u,a+=p,n+=m}t.positionX?(r!=t.positionX.value&&(t.positionX.value=r),a!=t.positionY.value&&(t.positionY.value=a),n!=t.positionZ.value&&(t.positionZ.value=n)):t.setPosition(r,a,n),t.orientationX?(o!=t.orientationX.value&&(t.orientationX.value=o),l!=t.orientationY.value&&(t.orientationY.value=l),_!=t.orientationZ.value&&(t.orientationZ.value=_)):t.setOrientation(o,l,_);var D=e.dopplerShift,I=e.velocity[0],M=e.velocity[1],B=e.velocity[2],O=c.velocity[0],H=c.velocity[1],R=c.velocity[2];if(r===u&&a===p&&n===m||I===O&&M===H&&B===R)e.dopplerShift=1;else{var N=e.context.speedOfSound,j=e.context.dopplerFactor,ne=u-r,J=p-a,K=m-n,kt=Math.sqrt(ne*ne+J*J+K*K),$e=(ne*O+J*H+K*R)/kt,Ze=(ne*I+J*M+K*B)/kt;$e=Math.min($e,N/j),Ze=Math.min(Ze,N/j),e.dopplerShift=(N-j*$e)/(N-j*Ze)}e.dopplerShift!==D&&AL.updateSourceRate(e)}},updateSourceRate:e=>{if(e.state===4114){AL.cancelPendingSourceAudio(e);var t=e.audioQueue[0];if(!t)return;var r;e.type===4136&&e.looping?r=Number.POSITIVE_INFINITY:r=(t.buffer.duration-t._startOffset)/e.playbackRate,t._duration=r,t.playbackRate.value=e.playbackRate,AL.scheduleSourceAudio(e)}},sourceDuration:e=>{for(var t=0,r=0;r<e.bufQueue.length;r++){var a=e.bufQueue[r].audioBuf;t+=a?a.duration:0}return t},sourceTell:e=>{AL.updateSourceTime(e);for(var t=0,r=0;r<e.bufsProcessed;r++)e.bufQueue[r].audioBuf&&(t+=e.bufQueue[r].audioBuf.duration);return t+=e.bufOffset,t},sourceSeek:(e,t)=>{var r=e.state==4114;if(r&&AL.setSourceState(e,4113),e.bufQueue[e.bufsProcessed].audioBuf!==null){for(e.bufsProcessed=0;t>e.bufQueue[e.bufsProcessed].audioBuf.duration;)t-=e.bufQueue[e.bufsProcessed].audioBuf.duration,e.bufsProcessed++;e.bufOffset=t}r&&AL.setSourceState(e,4114)},getGlobalParam:(e,t)=>{if(!AL.currentCtx)return null;switch(t){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:return AL.currentCtx.err=40962,null}},setGlobalParam:(e,t,r)=>{if(AL.currentCtx)switch(t){case 49152:if(!Number.isFinite(r)||r<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=r,AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(r)||r<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=r,AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(r){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=r,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(e,t)=>{if(!AL.currentCtx)return null;switch(t){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:return AL.currentCtx.err=40962,null}},setListenerParam:(e,t,r)=>{if(AL.currentCtx){if(r===null){AL.currentCtx.err=40962;return}var a=AL.currentCtx.listener;switch(t){case 4100:if(!Number.isFinite(r[0])||!Number.isFinite(r[1])||!Number.isFinite(r[2])){AL.currentCtx.err=40963;return}a.position[0]=r[0],a.position[1]=r[1],a.position[2]=r[2],AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(r[0])||!Number.isFinite(r[1])||!Number.isFinite(r[2])){AL.currentCtx.err=40963;return}a.velocity[0]=r[0],a.velocity[1]=r[1],a.velocity[2]=r[2],AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(r)||r<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=r;break;case 4111:if(!Number.isFinite(r[0])||!Number.isFinite(r[1])||!Number.isFinite(r[2])||!Number.isFinite(r[3])||!Number.isFinite(r[4])||!Number.isFinite(r[5])){AL.currentCtx.err=40963;return}a.direction[0]=r[0],a.direction[1]=r[1],a.direction[2]=r[2],a.up[0]=r[3],a.up[1]=r[4],a.up[2]=r[5],AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}},getBufferParam:(e,t,r)=>{if(AL.currentCtx){var a=AL.buffers[t];if(!a||t===0){AL.currentCtx.err=40961;return}switch(r){case 8193:return a.frequency;case 8194:return a.bytesPerSample*8;case 8195:return a.channels;case 8196:return a.length*a.bytesPerSample*a.channels;case 8213:return a.length===0?[0,0]:[(a.audioBuf._loopStart||0)*a.frequency,(a.audioBuf._loopEnd||a.length)*a.frequency];default:return AL.currentCtx.err=40962,null}}},setBufferParam:(e,t,r,a)=>{if(AL.currentCtx){var n=AL.buffers[t];if(!n||t===0){AL.currentCtx.err=40961;return}if(a===null){AL.currentCtx.err=40962;return}switch(r){case 8196:if(a!==0){AL.currentCtx.err=40963;return}break;case 8213:if(a[0]<0||a[0]>n.length||a[1]<0||a[1]>n.Length||a[0]>=a[1]){AL.currentCtx.err=40963;return}if(n.refCount>0){AL.currentCtx.err=40964;return}n.audioBuf&&(n.audioBuf._loopStart=a[0]/n.frequency,n.audioBuf._loopEnd=a[1]/n.frequency);break;default:AL.currentCtx.err=40962;return}}},getSourceParam:(e,t,r)=>{if(!AL.currentCtx)return null;var a=AL.currentCtx.sources[t];if(!a)return AL.currentCtx.err=40961,null;switch(r){case 514:return a.relative;case 4097:return a.coneInnerAngle;case 4098:return a.coneOuterAngle;case 4099:return a.pitch;case 4100:return a.position;case 4101:return a.direction;case 4102:return a.velocity;case 4103:return a.looping;case 4105:return a.type===4136?a.bufQueue[0].id:0;case 4106:return a.gain.gain.value;case 4109:return a.minGain;case 4110:return a.maxGain;case 4112:return a.state;case 4117:return a.bufQueue.length===1&&a.bufQueue[0].id===0?0:a.bufQueue.length;case 4118:return a.bufQueue.length===1&&a.bufQueue[0].id===0||a.looping?0:a.bufsProcessed;case 4128:return a.refDistance;case 4129:return a.rolloffFactor;case 4130:return a.coneOuterGain;case 4131:return a.maxDistance;case 4132:return AL.sourceTell(a);case 4133:var n=AL.sourceTell(a);return n>0&&(n*=a.bufQueue[0].frequency),n;case 4134:var n=AL.sourceTell(a);return n>0&&(n*=a.bufQueue[0].frequency*a.bufQueue[0].bytesPerSample),n;case 4135:return a.type;case 4628:return a.spatialize;case 8201:for(var o=0,l=0,_=0;_<a.bufQueue.length;_++)o+=a.bufQueue[_].length,a.bufQueue[_].id!==0&&(l=a.bufQueue[_].bytesPerSample*a.bufQueue[_].channels);return o*l;case 8202:for(var o=0,_=0;_<a.bufQueue.length;_++)o+=a.bufQueue[_].length;return o;case 8203:return AL.sourceDuration(a);case 53248:return a.distanceModel;default:return AL.currentCtx.err=40962,null}},setSourceParam:(e,t,r,a)=>{if(AL.currentCtx){var n=AL.currentCtx.sources[t];if(!n){AL.currentCtx.err=40961;return}if(a===null){AL.currentCtx.err=40962;return}switch(r){case 514:if(a===1)n.relative=!0,AL.updateSourceSpace(n);else if(a===0)n.relative=!1,AL.updateSourceSpace(n);else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(a)){AL.currentCtx.err=40963;return}n.coneInnerAngle=a,n.panner&&(n.panner.coneInnerAngle=a%360);break;case 4098:if(!Number.isFinite(a)){AL.currentCtx.err=40963;return}n.coneOuterAngle=a,n.panner&&(n.panner.coneOuterAngle=a%360);break;case 4099:if(!Number.isFinite(a)||a<=0){AL.currentCtx.err=40963;return}if(n.pitch===a)break;n.pitch=a,AL.updateSourceRate(n);break;case 4100:if(!Number.isFinite(a[0])||!Number.isFinite(a[1])||!Number.isFinite(a[2])){AL.currentCtx.err=40963;return}n.position[0]=a[0],n.position[1]=a[1],n.position[2]=a[2],AL.updateSourceSpace(n);break;case 4101:if(!Number.isFinite(a[0])||!Number.isFinite(a[1])||!Number.isFinite(a[2])){AL.currentCtx.err=40963;return}n.direction[0]=a[0],n.direction[1]=a[1],n.direction[2]=a[2],AL.updateSourceSpace(n);break;case 4102:if(!Number.isFinite(a[0])||!Number.isFinite(a[1])||!Number.isFinite(a[2])){AL.currentCtx.err=40963;return}n.velocity[0]=a[0],n.velocity[1]=a[1],n.velocity[2]=a[2],AL.updateSourceSpace(n);break;case 4103:if(a===1){if(n.looping=!0,AL.updateSourceTime(n),n.type===4136&&n.audioQueue.length>0){var o=n.audioQueue[0];o.loop=!0,o._duration=Number.POSITIVE_INFINITY}}else if(a===0){n.looping=!1;var l=AL.updateSourceTime(n);if(n.type===4136&&n.audioQueue.length>0){var o=n.audioQueue[0];o.loop=!1,o._duration=n.bufQueue[0].audioBuf.duration/n.playbackRate,o._startTime=l-n.bufOffset/n.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(n.state===4114||n.state===4115){AL.currentCtx.err=40964;return}if(a===0){for(var _ in n.bufQueue)n.bufQueue[_].refCount--;n.bufQueue.length=1,n.bufQueue[0]=AL.buffers[0],n.bufsProcessed=0,n.type=4144}else{var c=AL.buffers[a];if(!c){AL.currentCtx.err=40963;return}for(var _ in n.bufQueue)n.bufQueue[_].refCount--;n.bufQueue.length=0,c.refCount++,n.bufQueue=[c],n.bufsProcessed=0,n.type=4136}AL.initSourcePanner(n),AL.scheduleSourceAudio(n);break;case 4106:if(!Number.isFinite(a)||a<0){AL.currentCtx.err=40963;return}n.gain.gain.value=a;break;case 4109:if(!Number.isFinite(a)||a<0||a>Math.min(n.maxGain,1)){AL.currentCtx.err=40963;return}n.minGain=a;break;case 4110:if(!Number.isFinite(a)||a<Math.max(0,n.minGain)||a>1){AL.currentCtx.err=40963;return}n.maxGain=a;break;case 4128:if(!Number.isFinite(a)||a<0){AL.currentCtx.err=40963;return}n.refDistance=a,n.panner&&(n.panner.refDistance=a);break;case 4129:if(!Number.isFinite(a)||a<0){AL.currentCtx.err=40963;return}n.rolloffFactor=a,n.panner&&(n.panner.rolloffFactor=a);break;case 4130:if(!Number.isFinite(a)||a<0||a>1){AL.currentCtx.err=40963;return}n.coneOuterGain=a,n.panner&&(n.panner.coneOuterGain=a);break;case 4131:if(!Number.isFinite(a)||a<0){AL.currentCtx.err=40963;return}n.maxDistance=a,n.panner&&(n.panner.maxDistance=a);break;case 4132:if(a<0||a>AL.sourceDuration(n)){AL.currentCtx.err=40963;return}AL.sourceSeek(n,a);break;case 4133:var m=AL.sourceDuration(n);if(m>0){var u;for(var p in n.bufQueue)if(p){u=n.bufQueue[p].frequency;break}a/=u}if(a<0||a>m){AL.currentCtx.err=40963;return}AL.sourceSeek(n,a);break;case 4134:var m=AL.sourceDuration(n);if(m>0){var f;for(var p in n.bufQueue)if(p){var c=n.bufQueue[p];f=c.frequency*c.bytesPerSample*c.channels;break}a/=f}if(a<0||a>m){AL.currentCtx.err=40963;return}AL.sourceSeek(n,a);break;case 4628:if(a!==0&&a!==1&&a!==2){AL.currentCtx.err=40963;return}n.spatialize=a,AL.initSourcePanner(n);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(a){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:n.distanceModel=a,AL.currentCtx.sourceDistanceModel&&AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(e,t)=>{if(e===0)return AL.alcErr=40961,null;var r=AL.captures[e];if(!r)return AL.alcErr=40961,null;var a=r.mediaStreamError;return a?(AL.alcErr=40961,null):r}},_alBuffer3f=(e,t,r,a,n)=>{AL.setBufferParam("alBuffer3f",e,t,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(e,t,r,a,n)=>{AL.setBufferParam("alBuffer3i",e,t,null)};_alBuffer3i.sig="viiiii";var _alBufferData=(e,t,r,a,n)=>{if(AL.currentCtx){var o=AL.buffers[e];if(!o){AL.currentCtx.err=40963;return}if(n<=0){AL.currentCtx.err=40963;return}var l=null;try{switch(t){case 4352:if(a>0){l=AL.currentCtx.audioCtx.createBuffer(1,a,n);for(var _=l.getChannelData(0),c=0;c<a;++c)_[c]=HEAPU8[r++]*.0078125-1}o.bytesPerSample=1,o.channels=1,o.length=a;break;case 4353:if(a>0){l=AL.currentCtx.audioCtx.createBuffer(1,a>>1,n);var _=l.getChannelData(0);r>>=1;for(var c=0;c<a>>1;++c)_[c]=HEAP16[r++]*30517578125e-15}o.bytesPerSample=2,o.channels=1,o.length=a>>1;break;case 4354:if(a>0){l=AL.currentCtx.audioCtx.createBuffer(2,a>>1,n);for(var _=l.getChannelData(0),u=l.getChannelData(1),c=0;c<a>>1;++c)_[c]=HEAPU8[r++]*.0078125-1,u[c]=HEAPU8[r++]*.0078125-1}o.bytesPerSample=1,o.channels=2,o.length=a>>1;break;case 4355:if(a>0){l=AL.currentCtx.audioCtx.createBuffer(2,a>>2,n);var _=l.getChannelData(0),u=l.getChannelData(1);r>>=1;for(var c=0;c<a>>2;++c)_[c]=HEAP16[r++]*30517578125e-15,u[c]=HEAP16[r++]*30517578125e-15}o.bytesPerSample=2,o.channels=2,o.length=a>>2;break;case 65552:if(a>0){l=AL.currentCtx.audioCtx.createBuffer(1,a>>2,n);var _=l.getChannelData(0);r>>=2;for(var c=0;c<a>>2;++c)_[c]=HEAPF32[r++]}o.bytesPerSample=4,o.channels=1,o.length=a>>2;break;case 65553:if(a>0){l=AL.currentCtx.audioCtx.createBuffer(2,a>>3,n);var _=l.getChannelData(0),u=l.getChannelData(1);r>>=2;for(var c=0;c<a>>3;++c)_[c]=HEAPF32[r++],u[c]=HEAPF32[r++]}o.bytesPerSample=4,o.channels=2,o.length=a>>3;break;default:AL.currentCtx.err=40963;return}o.frequency=n,o.audioBuf=l}catch{AL.currentCtx.err=40963;return}}};_alBufferData.sig="viipii";var _alBufferf=(e,t,r)=>{AL.setBufferParam("alBufferf",e,t,null)};_alBufferf.sig="viif";var _alBufferfv=(e,t,r)=>{if(AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",e,t,null)}};_alBufferfv.sig="viip";var _alBufferi=(e,t,r)=>{AL.setBufferParam("alBufferi",e,t,null)};_alBufferi.sig="viii";var _alBufferiv=(e,t,r)=>{if(AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(t){case 8213:AL.paramArray[0]=HEAP32[r>>2],AL.paramArray[1]=HEAP32[r+4>>2],AL.setBufferParam("alBufferiv",e,t,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",e,t,null);break}}};_alBufferiv.sig="viip";var _alDeleteBuffers=(e,t)=>{if(AL.currentCtx){for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];if(a!==0){if(!AL.buffers[a]){AL.currentCtx.err=40961;return}if(AL.buffers[a].refCount){AL.currentCtx.err=40964;return}}}for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];a!==0&&(AL.deviceRefCounts[AL.buffers[a].deviceId]--,delete AL.buffers[a],AL.freeIds.push(a))}}};_alDeleteBuffers.sig="vip";var _alSourcei=(e,t,r)=>{switch(t){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",e,t,r);break;default:AL.setSourceParam("alSourcei",e,t,null);break}};_alSourcei.sig="viii";var _alDeleteSources=(e,t)=>{if(AL.currentCtx){for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];if(!AL.currentCtx.sources[a]){AL.currentCtx.err=40961;return}}for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];AL.setSourceState(AL.currentCtx.sources[a],4116),_alSourcei(a,4105,0),delete AL.currentCtx.sources[a],AL.freeIds.push(a)}}};_alDeleteSources.sig="vip";var _alDisable=e=>{if(AL.currentCtx)switch(e){case 512:AL.currentCtx.sourceDistanceModel=!1,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=e=>{AL.setGlobalParam("alDistanceModel",53248,e)};_alDistanceModel.sig="vi";var _alDopplerFactor=e=>{AL.setGlobalParam("alDopplerFactor",49152,e)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=e=>{if(warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead."),!!AL.currentCtx&&e<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=e=>{if(AL.currentCtx)switch(e){case 512:AL.currentCtx.sourceDistanceModel=!0,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";var _alGenBuffers=(e,t)=>{if(AL.currentCtx)for(var r=0;r<e;++r){var a={deviceId:AL.currentCtx.deviceId,id:AL.newId(),refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0};AL.deviceRefCounts[a.deviceId]++,AL.buffers[a.id]=a,HEAP32[t+r*4>>2]=a.id}};_alGenBuffers.sig="vip";var _alGenSources=(e,t)=>{if(AL.currentCtx)for(var r=0;r<e;++r){var a=AL.currentCtx.audioCtx.createGain();a.connect(AL.currentCtx.gain);var n={context:AL.currentCtx,id:AL.newId(),type:4144,state:4113,bufQueue:[AL.buffers[0]],audioQueue:[],looping:!1,pitch:1,dopplerShift:1,gain:a,minGain:0,maxGain:1,panner:null,bufsProcessed:0,bufStartTime:Number.NEGATIVE_INFINITY,bufOffset:0,relative:!1,refDistance:1,maxDistance:340282e33,rolloffFactor:1,position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],coneOuterGain:0,coneInnerAngle:360,coneOuterAngle:360,distanceModel:53250,spatialize:2,get playbackRate(){return this.pitch*this.dopplerShift}};AL.currentCtx.sources[n.id]=n,HEAP32[t+r*4>>2]=n.id}};_alGenSources.sig="vip";var _alGetBoolean=e=>{var t=AL.getGlobalParam("alGetBoolean",e);if(t===null)return 0;switch(e){case 49152:case 49155:case 53248:return t!==0?1:0;default:return AL.currentCtx.err=40962,0}};_alGetBoolean.sig="ii";var _alGetBooleanv=(e,t)=>{var r=AL.getGlobalParam("alGetBooleanv",e);if(!(r===null||!t))switch(e){case 49152:case 49155:case 53248:HEAP8[t]=r;break;default:AL.currentCtx.err=40962;return}};_alGetBooleanv.sig="vip";var _alGetBuffer3f=(e,t,r,a,n)=>{var o=AL.getBufferParam("alGetBuffer3f",e,t);if(o!==null){if(!r||!a||!n){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}};_alGetBuffer3f.sig="viippp";var _alGetBuffer3i=(e,t,r,a,n)=>{var o=AL.getBufferParam("alGetBuffer3i",e,t);if(o!==null){if(!r||!a||!n){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}};_alGetBuffer3i.sig="viippp";var _alGetBufferf=(e,t,r)=>{var a=AL.getBufferParam("alGetBufferf",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}};_alGetBufferf.sig="viip";var _alGetBufferfv=(e,t,r)=>{var a=AL.getBufferParam("alGetBufferfv",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}};_alGetBufferfv.sig="viip";var _alGetBufferi=(e,t,r)=>{var a=AL.getBufferParam("alGetBufferi",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}switch(t){case 8193:case 8194:case 8195:case 8196:HEAP32[r>>2]=a;break;default:AL.currentCtx.err=40962;return}}};_alGetBufferi.sig="viip";var _alGetBufferiv=(e,t,r)=>{var a=AL.getBufferParam("alGetBufferiv",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}switch(t){case 8193:case 8194:case 8195:case 8196:HEAP32[r>>2]=a;break;case 8213:HEAP32[r>>2]=a[0],HEAP32[r+4>>2]=a[1];break;default:AL.currentCtx.err=40962;return}}};_alGetBufferiv.sig="viip";var _alGetDouble=e=>{var t=AL.getGlobalParam("alGetDouble",e);if(t===null)return 0;switch(e){case 49152:case 49155:case 53248:return t;default:return AL.currentCtx.err=40962,0}};_alGetDouble.sig="di";var _alGetDoublev=(e,t)=>{var r=AL.getGlobalParam("alGetDoublev",e);if(!(r===null||!t))switch(e){case 49152:case 49155:case 53248:HEAPF64[t>>3]=r;break;default:AL.currentCtx.err=40962;return}};_alGetDoublev.sig="vip";var _alGetEnumValue=e=>{if(!AL.currentCtx)return 0;if(!e)return AL.currentCtx.err=40963,0;var t=UTF8ToString(e);switch(t){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:return AL.currentCtx.err=40963,0}};_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx)return 40964;var e=AL.currentCtx.err;return AL.currentCtx.err=0,e};_alGetError.sig="i";var _alGetFloat=e=>{var t=AL.getGlobalParam("alGetFloat",e);if(t===null)return 0;switch(e){case 49152:case 49155:case 53248:return t;default:return 0}};_alGetFloat.sig="fi";var _alGetFloatv=(e,t)=>{var r=AL.getGlobalParam("alGetFloatv",e);if(!(r===null||!t))switch(e){case 49152:case 49155:case 53248:HEAPF32[t>>2]=r;break;default:AL.currentCtx.err=40962;return}};_alGetFloatv.sig="vip";var _alGetInteger=e=>{var t=AL.getGlobalParam("alGetInteger",e);if(t===null)return 0;switch(e){case 49152:case 49155:case 53248:return t;default:return AL.currentCtx.err=40962,0}};_alGetInteger.sig="ii";var _alGetIntegerv=(e,t)=>{var r=AL.getGlobalParam("alGetIntegerv",e);if(!(r===null||!t))switch(e){case 49152:case 49155:case 53248:HEAP32[t>>2]=r;break;default:AL.currentCtx.err=40962;return}};_alGetIntegerv.sig="vip";var _alGetListener3f=(e,t,r,a)=>{var n=AL.getListenerParam("alGetListener3f",e);if(n!==null){if(!t||!r||!a){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAPF32[t>>2]=n[0],HEAPF32[r>>2]=n[1],HEAPF32[a>>2]=n[2];break;default:AL.currentCtx.err=40962;return}}};_alGetListener3f.sig="vippp";var _alGetListener3i=(e,t,r,a)=>{var n=AL.getListenerParam("alGetListener3i",e);if(n!==null){if(!t||!r||!a){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAP32[t>>2]=n[0],HEAP32[r>>2]=n[1],HEAP32[a>>2]=n[2];break;default:AL.currentCtx.err=40962;return}}};_alGetListener3i.sig="vippp";var _alGetListenerf=(e,t)=>{var r=AL.getListenerParam("alGetListenerf",e);if(r!==null){if(!t){AL.currentCtx.err=40963;return}switch(e){case 4106:HEAPF32[t>>2]=r;break;default:AL.currentCtx.err=40962;return}}};_alGetListenerf.sig="vip";var _alGetListenerfv=(e,t)=>{var r=AL.getListenerParam("alGetListenerfv",e);if(r!==null){if(!t){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAPF32[t>>2]=r[0],HEAPF32[t+4>>2]=r[1],HEAPF32[t+8>>2]=r[2];break;case 4111:HEAPF32[t>>2]=r[0],HEAPF32[t+4>>2]=r[1],HEAPF32[t+8>>2]=r[2],HEAPF32[t+12>>2]=r[3],HEAPF32[t+16>>2]=r[4],HEAPF32[t+20>>2]=r[5];break;default:AL.currentCtx.err=40962;return}}};_alGetListenerfv.sig="vip";var _alGetListeneri=(e,t)=>{var r=AL.getListenerParam("alGetListeneri",e);if(r!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}};_alGetListeneri.sig="vip";var _alGetListeneriv=(e,t)=>{var r=AL.getListenerParam("alGetListeneriv",e);if(r!==null){if(!t){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAP32[t>>2]=r[0],HEAP32[t+4>>2]=r[1],HEAP32[t+8>>2]=r[2];break;case 4111:HEAP32[t>>2]=r[0],HEAP32[t+4>>2]=r[1],HEAP32[t+8>>2]=r[2],HEAP32[t+12>>2]=r[3],HEAP32[t+16>>2]=r[4],HEAP32[t+20>>2]=r[5];break;default:AL.currentCtx.err=40962;return}}};_alGetListeneriv.sig="vip";var _alGetSource3f=(e,t,r,a,n)=>{var o=AL.getSourceParam("alGetSource3f",e,t);if(o!==null){if(!r||!a||!n){AL.currentCtx.err=40963;return}switch(t){case 4100:case 4101:case 4102:HEAPF32[r>>2]=o[0],HEAPF32[a>>2]=o[1],HEAPF32[n>>2]=o[2];break;default:AL.currentCtx.err=40962;return}}};_alGetSource3f.sig="viippp";var _alGetSource3i=(e,t,r,a,n)=>{var o=AL.getSourceParam("alGetSource3i",e,t);if(o!==null){if(!r||!a||!n){AL.currentCtx.err=40963;return}switch(t){case 4100:case 4101:case 4102:HEAP32[r>>2]=o[0],HEAP32[a>>2]=o[1],HEAP32[n>>2]=o[2];break;default:AL.currentCtx.err=40962;return}}};_alGetSource3i.sig="viippp";var _alGetSourcef=(e,t,r)=>{var a=AL.getSourceParam("alGetSourcef",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}switch(t){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[r>>2]=a;break;default:AL.currentCtx.err=40962;return}}};_alGetSourcef.sig="viip";var _alGetSourcefv=(e,t,r)=>{var a=AL.getSourceParam("alGetSourcefv",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}switch(t){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[r>>2]=a[0];break;case 4100:case 4101:case 4102:HEAPF32[r>>2]=a[0],HEAPF32[r+4>>2]=a[1],HEAPF32[r+8>>2]=a[2];break;default:AL.currentCtx.err=40962;return}}};_alGetSourcefv.sig="viip";var _alGetSourcei=(e,t,r)=>{var a=AL.getSourceParam("alGetSourcei",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}switch(t){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[r>>2]=a;break;default:AL.currentCtx.err=40962;return}}};_alGetSourcei.sig="viip";var _alGetSourceiv=(e,t,r)=>{var a=AL.getSourceParam("alGetSourceiv",e,t);if(a!==null){if(!r){AL.currentCtx.err=40963;return}switch(t){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[r>>2]=a;break;case 4100:case 4101:case 4102:HEAP32[r>>2]=a[0],HEAP32[r+4>>2]=a[1],HEAP32[r+8>>2]=a[2];break;default:AL.currentCtx.err=40962;return}}};_alGetSourceiv.sig="viip";var stringToNewUTF8=e=>{var t=lengthBytesUTF8(e)+1,r=_malloc(t);return r&&stringToUTF8(e,r,t),r},_alGetString=e=>{if(AL.stringCache[e])return AL.stringCache[e];var t;switch(e){case 0:t="No Error";break;case 40961:t="Invalid Name";break;case 40962:t="Invalid Enum";break;case 40963:t="Invalid Value";break;case 40964:t="Invalid Operation";break;case 40965:t="Out of Memory";break;case 45057:t="Emscripten";break;case 45058:t="1.1";break;case 45059:t="WebAudio";break;case 45060:t=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:return AL.currentCtx&&(AL.currentCtx.err=40962),0}return t=stringToNewUTF8(t),AL.stringCache[e]=t,t};_alGetString.sig="pi";var _alIsBuffer=e=>!(!AL.currentCtx||e>AL.buffers.length||!AL.buffers[e]);_alIsBuffer.sig="ii";var _alIsEnabled=e=>{if(!AL.currentCtx)return 0;switch(e){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:return AL.currentCtx.err=40962,0}};_alIsEnabled.sig="ii";var _alIsExtensionPresent=e=>{var t=UTF8ToString(e);return AL.AL_EXTENSIONS[t]?1:0};_alIsExtensionPresent.sig="ip";var _alIsSource=e=>!(!AL.currentCtx||!AL.currentCtx.sources[e]);_alIsSource.sig="ii";var _alListener3f=(e,t,r,a)=>{switch(e){case 4100:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=r,AL.paramArray[2]=a,AL.setListenerParam("alListener3f",e,AL.paramArray);break;default:AL.setListenerParam("alListener3f",e,null);break}};_alListener3f.sig="vifff";var _alListener3i=(e,t,r,a)=>{switch(e){case 4100:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=r,AL.paramArray[2]=a,AL.setListenerParam("alListener3i",e,AL.paramArray);break;default:AL.setListenerParam("alListener3i",e,null);break}};_alListener3i.sig="viiii";var _alListenerf=(e,t)=>{switch(e){case 4106:AL.setListenerParam("alListenerf",e,t);break;default:AL.setListenerParam("alListenerf",e,null);break}};_alListenerf.sig="vif";var _alListenerfv=(e,t)=>{if(AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=HEAPF32[t>>2],AL.paramArray[1]=HEAPF32[t+4>>2],AL.paramArray[2]=HEAPF32[t+8>>2],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[t>>2],AL.paramArray[1]=HEAPF32[t+4>>2],AL.paramArray[2]=HEAPF32[t+8>>2],AL.paramArray[3]=HEAPF32[t+12>>2],AL.paramArray[4]=HEAPF32[t+16>>2],AL.paramArray[5]=HEAPF32[t+20>>2],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",e,null);break}}};_alListenerfv.sig="vip";var _alListeneri=(e,t)=>{AL.setListenerParam("alListeneri",e,null)};_alListeneri.sig="vii";var _alListeneriv=(e,t)=>{if(AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=HEAP32[t>>2],AL.paramArray[1]=HEAP32[t+4>>2],AL.paramArray[2]=HEAP32[t+8>>2],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[t>>2],AL.paramArray[1]=HEAP32[t+4>>2],AL.paramArray[2]=HEAP32[t+8>>2],AL.paramArray[3]=HEAP32[t+12>>2],AL.paramArray[4]=HEAP32[t+16>>2],AL.paramArray[5]=HEAP32[t+20>>2],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",e,null);break}}};_alListeneriv.sig="vip";var _alSource3f=(e,t,r,a,n)=>{switch(t){case 4100:case 4101:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=a,AL.paramArray[2]=n,AL.setSourceParam("alSource3f",e,t,AL.paramArray);break;default:AL.setSourceParam("alSource3f",e,t,null);break}};_alSource3f.sig="viifff";var _alSource3i=(e,t,r,a,n)=>{switch(t){case 4100:case 4101:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=a,AL.paramArray[2]=n,AL.setSourceParam("alSource3i",e,t,AL.paramArray);break;default:AL.setSourceParam("alSource3i",e,t,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=e=>{if(AL.currentCtx){var t=AL.currentCtx.sources[e];if(!t){AL.currentCtx.err=40961;return}AL.setSourceState(t,4115)}};_alSourcePause.sig="vi";var _alSourcePausev=(e,t)=>{if(AL.currentCtx){t||(AL.currentCtx.err=40963);for(var r=0;r<e;++r)if(!AL.currentCtx.sources[HEAP32[t+r*4>>2]]){AL.currentCtx.err=40961;return}for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];AL.setSourceState(AL.currentCtx.sources[a],4115)}}};_alSourcePausev.sig="vip";var _alSourcePlay=e=>{if(AL.currentCtx){var t=AL.currentCtx.sources[e];if(!t){AL.currentCtx.err=40961;return}AL.setSourceState(t,4114)}};_alSourcePlay.sig="vi";var _alSourcePlayv=(e,t)=>{if(AL.currentCtx){t||(AL.currentCtx.err=40963);for(var r=0;r<e;++r)if(!AL.currentCtx.sources[HEAP32[t+r*4>>2]]){AL.currentCtx.err=40961;return}for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];AL.setSourceState(AL.currentCtx.sources[a],4114)}}};_alSourcePlayv.sig="vip";var _alSourceQueueBuffers=(e,t,r)=>{if(AL.currentCtx){var a=AL.currentCtx.sources[e];if(!a){AL.currentCtx.err=40961;return}if(a.type===4136){AL.currentCtx.err=40964;return}if(t!==0){for(var n=AL.buffers[0],o=0;o<a.bufQueue.length;o++)if(a.bufQueue[o].id!==0){n=a.bufQueue[o];break}for(var o=0;o<t;++o){var l=HEAP32[r+o*4>>2],_=AL.buffers[l];if(!_){AL.currentCtx.err=40961;return}n.id!==0&&(_.frequency!==n.frequency||_.bytesPerSample!==n.bytesPerSample||_.channels!==n.channels)&&(AL.currentCtx.err=40964)}a.bufQueue.length===1&&a.bufQueue[0].id===0&&(a.bufQueue.length=0),a.type=4137;for(var o=0;o<t;++o){var l=HEAP32[r+o*4>>2],_=AL.buffers[l];_.refCount++,a.bufQueue.push(_)}a.looping&&AL.cancelPendingSourceAudio(a),AL.initSourcePanner(a),AL.scheduleSourceAudio(a)}}};_alSourceQueueBuffers.sig="viip";var _alSourceRewind=e=>{if(AL.currentCtx){var t=AL.currentCtx.sources[e];if(!t){AL.currentCtx.err=40961;return}AL.setSourceState(t,4116),AL.setSourceState(t,4113)}};_alSourceRewind.sig="vi";var _alSourceRewindv=(e,t)=>{if(AL.currentCtx){t||(AL.currentCtx.err=40963);for(var r=0;r<e;++r)if(!AL.currentCtx.sources[HEAP32[t+r*4>>2]]){AL.currentCtx.err=40961;return}for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];AL.setSourceState(AL.currentCtx.sources[a],4113)}}};_alSourceRewindv.sig="vip";var _alSourceStop=e=>{if(AL.currentCtx){var t=AL.currentCtx.sources[e];if(!t){AL.currentCtx.err=40961;return}AL.setSourceState(t,4116)}};_alSourceStop.sig="vi";var _alSourceStopv=(e,t)=>{if(AL.currentCtx){t||(AL.currentCtx.err=40963);for(var r=0;r<e;++r)if(!AL.currentCtx.sources[HEAP32[t+r*4>>2]]){AL.currentCtx.err=40961;return}for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2];AL.setSourceState(AL.currentCtx.sources[a],4116)}}};_alSourceStopv.sig="vip";var _alSourceUnqueueBuffers=(e,t,r)=>{if(AL.currentCtx){var a=AL.currentCtx.sources[e];if(!a){AL.currentCtx.err=40961;return}if(t>(a.bufQueue.length===1&&a.bufQueue[0].id===0?0:a.bufsProcessed)){AL.currentCtx.err=40963;return}if(t!==0){for(var n=0;n<t;n++){var o=a.bufQueue.shift();o.refCount--,HEAP32[r+n*4>>2]=o.id,a.bufsProcessed--}a.bufQueue.length===0&&a.bufQueue.push(AL.buffers[0]),AL.initSourcePanner(a),AL.scheduleSourceAudio(a)}}};_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(e,t,r)=>{switch(t){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",e,t,r);break;default:AL.setSourceParam("alSourcef",e,t,null);break}};_alSourcef.sig="viif";var _alSourcefv=(e,t,r)=>{if(AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(t){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var a=HEAPF32[r>>2];AL.setSourceParam("alSourcefv",e,t,a);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[r>>2],AL.paramArray[1]=HEAPF32[r+4>>2],AL.paramArray[2]=HEAPF32[r+8>>2],AL.setSourceParam("alSourcefv",e,t,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",e,t,null);break}}};_alSourcefv.sig="viip";var _alSourceiv=(e,t,r)=>{if(AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(t){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var a=HEAP32[r>>2];AL.setSourceParam("alSourceiv",e,t,a);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[r>>2],AL.paramArray[1]=HEAP32[r+4>>2],AL.paramArray[2]=HEAP32[r+8>>2],AL.setSourceParam("alSourceiv",e,t,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",e,t,null);break}}};_alSourceiv.sig="viip";var _alSpeedOfSound=e=>{AL.setGlobalParam("alSpeedOfSound",49155,e)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=e=>{var t=AL.requireValidCaptureDevice(e,"alcCaptureCloseDevice");return t?(delete AL.captures[e],AL.freeIds.push(e),t.mediaStreamSourceNode?.disconnect(),t.mergerNode?.disconnect(),t.splitterNode?.disconnect(),t.scriptProcessorNode?.disconnect(),t.mediaStream&&t.mediaStream.getTracks().forEach(r=>r.stop()),delete t.buffers,t.capturedFrameCount=0,t.isCapturing=!1,!0):!1};_alcCaptureCloseDevice.sig="ip";var listenOnce=(e,t,r)=>e.addEventListener(t,r,{once:!0}),autoResumeAudioContext=(e,t)=>{t||(t=[document,document.getElementById("canvas")]),["keydown","mousedown","touchstart"].forEach(r=>{t.forEach(a=>{a&&listenOnce(a,r,()=>{e.state==="suspended"&&e.resume()})})})},_alcCaptureOpenDevice=(e,t,r,a)=>{var n=AL.CAPTURE_DEVICE_NAME;if(e!==0&&(n=UTF8ToString(e),n!==AL.CAPTURE_DEVICE_NAME))return AL.alcErr=40965,0;if(a<0)return AL.alcErr=40964,0;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var o=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!o)return AL.alcErr=40965,0;var l=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx)try{AL.sharedCaptureAudioCtx=new l}catch{return AL.alcErr=40965,0}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var _;switch(r){case 65552:case 4353:case 4352:_=1;break;case 65553:case 4355:case 4354:_=2;break;default:return AL.alcErr=40964,0}function c(L){return new Float32Array(L)}function u(L){return new Int16Array(L)}function p(L){return new Uint8Array(L)}var m,f;switch(r){case 65552:case 65553:m="f32",f=c;break;case 4353:case 4355:m="i16",f=u;break;case 4352:case 4354:m="u8",f=p;break}var d=[];try{for(var v=0;v<_;++v)d[v]=f(a)}catch{return AL.alcErr=40965,0}var g={audioCtx:AL.sharedCaptureAudioCtx,deviceName:n,requestedSampleRate:t,requestedSampleType:m,outputChannelCount:_,inputChannelCount:null,mediaStreamError:null,mediaStreamSourceNode:null,mediaStream:null,mergerNode:null,splitterNode:null,scriptProcessorNode:null,isCapturing:!1,buffers:d,get bufferFrameCapacity(){return d[0].length},capturePlayhead:0,captureReadhead:0,capturedFrameCount:0},S=L=>{g.mediaStreamError=L},A=L=>{g.mediaStreamSourceNode=g.audioCtx.createMediaStreamSource(L),g.mediaStream=L;var y=1;switch(g.mediaStreamSourceNode.channelCountMode){case"max":y=_;break;case"clamped-max":y=Math.min(_,g.mediaStreamSourceNode.channelCount);break;case"explicit":y=g.mediaStreamSourceNode.channelCount;break}g.inputChannelCount=y;var w=512;g.scriptProcessorNode=g.audioCtx.createScriptProcessor(w,y,_),y>_?(g.mergerNode=g.audioCtx.createChannelMerger(y),g.mediaStreamSourceNode.connect(g.mergerNode),g.mergerNode.connect(g.scriptProcessorNode)):y<_?(g.splitterNode=g.audioCtx.createChannelSplitter(_),g.mediaStreamSourceNode.connect(g.splitterNode),g.splitterNode.connect(g.scriptProcessorNode)):g.mediaStreamSourceNode.connect(g.scriptProcessorNode),g.scriptProcessorNode.connect(g.audioCtx.destination),g.scriptProcessorNode.onaudioprocess=F=>{if(g.isCapturing){var E=g,T=F.inputBuffer;switch(r){case 65552:for(var P=T.getChannelData(0),D=0;D<T.length;++D){var I=(E.capturePlayhead+D)%E.bufferFrameCapacity;E.buffers[0][I]=P[D]}break;case 65553:for(var P=T.getChannelData(0),M=T.getChannelData(1),D=0;D<T.length;++D){var I=(E.capturePlayhead+D)%E.bufferFrameCapacity;E.buffers[0][I]=P[D],E.buffers[1][I]=M[D]}break;case 4353:for(var P=T.getChannelData(0),D=0;D<T.length;++D){var I=(E.capturePlayhead+D)%E.bufferFrameCapacity;E.buffers[0][I]=P[D]*32767}break;case 4355:for(var P=T.getChannelData(0),M=T.getChannelData(1),D=0;D<T.length;++D){var I=(E.capturePlayhead+D)%E.bufferFrameCapacity;E.buffers[0][I]=P[D]*32767,E.buffers[1][I]=M[D]*32767}break;case 4352:for(var P=T.getChannelData(0),D=0;D<T.length;++D){var I=(E.capturePlayhead+D)%E.bufferFrameCapacity;E.buffers[0][I]=(P[D]+1)*127}break;case 4354:for(var P=T.getChannelData(0),M=T.getChannelData(1),D=0;D<T.length;++D){var I=(E.capturePlayhead+D)%E.bufferFrameCapacity;E.buffers[0][I]=(P[D]+1)*127,E.buffers[1][I]=(M[D]+1)*127}break}E.capturePlayhead+=T.length,E.capturePlayhead%=E.bufferFrameCapacity,E.capturedFrameCount+=T.length,E.capturedFrameCount=Math.min(E.capturedFrameCount,E.bufferFrameCapacity)}}};navigator.mediaDevices?.getUserMedia?navigator.mediaDevices.getUserMedia({audio:!0}).then(A).catch(S):navigator.getUserMedia({audio:!0},A,S);var b=AL.newId();return AL.captures[b]=g,b};_alcCaptureOpenDevice.sig="ppiii";var _alcCaptureSamples=(e,t,r)=>{var a=AL.requireValidCaptureDevice(e,"alcCaptureSamples");if(!a)return;var n=a.requestedSampleRate,o=a.audioCtx.sampleRate,l=o/n;if(r<0||r>a.capturedFrameCount/l){AL.alcErr=40964;return}function _(L,y){HEAPF32[t+4*L>>2]=y}function c(L,y){HEAP16[t+2*L>>1]=y}function u(L,y){HEAP8[t+L]=y}var p;switch(a.requestedSampleType){case"f32":p=_;break;case"i16":p=c;break;case"u8":p=u;break;default:return}if(Math.floor(l)==l)for(var m=0,f=0;f<r;++f){for(var d=0;d<a.buffers.length;++d,++m)p(m,a.buffers[d][a.captureReadhead]);a.captureReadhead=(l+a.captureReadhead)%a.bufferFrameCapacity}else for(var m=0,f=0;f<r;++f){for(var v=Math.floor(a.captureReadhead),g=Math.ceil(a.captureReadhead),S=a.captureReadhead-v,d=0;d<a.buffers.length;++d,++m){var A=a.buffers[d][v],b=a.buffers[d][g];p(m,(1-S)*A+S*b)}a.captureReadhead=(a.captureReadhead+l)%a.bufferFrameCapacity}a.capturedFrameCount=0};_alcCaptureSamples.sig="vppi";var _alcCaptureStart=e=>{var t=AL.requireValidCaptureDevice(e,"alcCaptureStart");t&&(t.isCapturing||(t.isCapturing=!0,t.capturedFrameCount=0,t.capturePlayhead=0))};_alcCaptureStart.sig="vp";var _alcCaptureStop=e=>{var t=AL.requireValidCaptureDevice(e,"alcCaptureStop");t&&(t.isCapturing=!1)};_alcCaptureStop.sig="vp";var _alcCloseDevice=e=>!(e in AL.deviceRefCounts)||AL.deviceRefCounts[e]>0?0:(delete AL.deviceRefCounts[e],AL.freeIds.push(e),1);_alcCloseDevice.sig="ip";var _alcCreateContext=(e,t)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var r=null,a=[],n=null;if(t>>=2,t)for(var o=0,l=0;o=HEAP32[t++],a.push(o),o!==0;)switch(l=HEAP32[t++],a.push(l),o){case 4103:r||(r={}),r.sampleRate=l;break;case 4112:case 4113:break;case 6546:switch(l){case 0:n=!1;break;case 1:n=!0;break;case 2:break;default:return AL.alcErr=40964,0}break;case 6550:if(l!==0)return AL.alcErr=40964,0;break;default:return AL.alcErr=40964,0}var _=window.AudioContext||window.webkitAudioContext,c=null;try{r?c=new _(r):c=new _}catch(d){return d.name==="NotSupportedError"?AL.alcErr=40964:AL.alcErr=40961,0}autoResumeAudioContext(c),typeof c.createGain>"u"&&(c.createGain=c.createGainNode);var u=c.createGain();u.connect(c.destination);var p={deviceId:e,id:AL.newId(),attrs:a,audioCtx:c,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(p),AL.QUEUE_INTERVAL),gain:u,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:!1,hrtf:n||!1,_err:0,get err(){return this._err},set err(d){(this._err===0||d===0)&&(this._err=d)}};if(AL.deviceRefCounts[e]++,AL.contexts[p.id]=p,n!==null)for(var m in AL.contexts){var f=AL.contexts[m];f.deviceId===e&&(f.hrtf=n,AL.updateContextGlobal(f))}return p.id};_alcCreateContext.sig="ppp";var _alcDestroyContext=e=>{var t=AL.contexts[e];if(AL.currentCtx===t){AL.alcErr=40962;return}AL.contexts[e].interval&&clearInterval(AL.contexts[e].interval),AL.deviceRefCounts[t.deviceId]--,delete AL.contexts[e],AL.freeIds.push(e)};_alcDestroyContext.sig="vp";var _alcGetContextsDevice=e=>e in AL.contexts?AL.contexts[e].deviceId:0;_alcGetContextsDevice.sig="pp";var _alcGetCurrentContext=()=>AL.currentCtx!==null?AL.currentCtx.id:0;_alcGetCurrentContext.sig="p";var _alcGetEnumValue=(e,t)=>{if(e!==0&&!(e in AL.deviceRefCounts))return 0;if(!t)return AL.alcErr=40964,0;var r=UTF8ToString(t);switch(r){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:return AL.alcErr=40964,0}};_alcGetEnumValue.sig="ipp";var _alcGetError=e=>{var t=AL.alcErr;return AL.alcErr=0,t};_alcGetError.sig="ip";var _alcGetIntegerv=(e,t,r,a)=>{if(!(r===0||!a))switch(t){case 4096:HEAP32[a>>2]=1;break;case 4097:HEAP32[a>>2]=1;break;case 4098:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[a>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var n=0;n<AL.currentCtx.attrs.length;n++)HEAP32[a+n*4>>2]=AL.currentCtx.attrs[n];break;case 4103:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[a>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[a>>2]=2147483647;break;case 6546:case 6547:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}var o=0;for(var l in AL.contexts){var _=AL.contexts[l];_.deviceId===e&&(o=_.hrtf?1:0)}HEAP32[a>>2]=o;break;case 6548:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[a>>2]=1;break;case 131075:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[a>>2]=1;case 786:var c=AL.requireValidCaptureDevice(e,"alcGetIntegerv");if(!c)return;var u=c.capturedFrameCount,p=c.requestedSampleRate,m=c.audioCtx.sampleRate,f=Math.floor(u*(p/m));HEAP32[a>>2]=f;break;default:AL.alcErr=40963;return}};_alcGetIntegerv.sig="vpiip";var _alcGetString=(e,t)=>{if(AL.alcStringCache[t])return AL.alcStringCache[t];var r;switch(t){case 0:r="No Error";break;case 40961:r="Invalid Device";break;case 40962:r="Invalid Context";break;case 40963:r="Invalid Enum";break;case 40964:r="Invalid Value";break;case 40965:r="Out of Memory";break;case 4100:if(typeof AudioContext<"u"||typeof webkitAudioContext<"u")r=AL.DEVICE_NAME;else return 0;break;case 4101:typeof AudioContext<"u"||typeof webkitAudioContext<"u"?r=AL.DEVICE_NAME+"\0":r="\0";break;case 785:r=AL.CAPTURE_DEVICE_NAME;break;case 784:if(e===0)r=AL.CAPTURE_DEVICE_NAME+"\0";else{var a=AL.requireValidCaptureDevice(e,"alcGetString");if(!a)return 0;r=a.deviceName}break;case 4102:if(!e)return AL.alcErr=40961,0;r=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:return AL.alcErr=40963,0}return r=stringToNewUTF8(r),AL.alcStringCache[t]=r,r};_alcGetString.sig="ppi";var _alcIsExtensionPresent=(e,t)=>{var r=UTF8ToString(t);return AL.ALC_EXTENSIONS[r]?1:0};_alcIsExtensionPresent.sig="ipp";var _alcMakeContextCurrent=e=>(e===0?AL.currentCtx=null:AL.currentCtx=AL.contexts[e],1);_alcMakeContextCurrent.sig="ip";var _alcOpenDevice=e=>{if(e){var t=UTF8ToString(e);if(t!==AL.DEVICE_NAME)return 0}if(typeof AudioContext<"u"||typeof webkitAudioContext<"u"){var r=AL.newId();return AL.deviceRefCounts[r]=0,r}return 0};_alcOpenDevice.sig="pp";var _alcProcessContext=e=>{};_alcProcessContext.sig="vp";var _alcSuspendContext=e=>{};_alcSuspendContext.sig="vp";var _emscripten_get_now_res=()=>ENVIRONMENT_IS_NODE?1:1e3;_emscripten_get_now_res.sig="d";var nowIsMonotonic=1,checkWasiClock=e=>e>=0&&e<=3,_clock_res_get=(e,t)=>{if(!checkWasiClock(e))return 28;var r;if(e===0)r=1e3*1e3;else if(nowIsMonotonic)r=_emscripten_get_now_res();else return 52;return HEAP64[t>>3]=BigInt(r),0};_clock_res_get.sig="iip";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _clock_time_get(e,t,r){if(t=bigintToI53Checked(t),!checkWasiClock(e))return 28;var a;if(e===0)a=_emscripten_date_now();else if(nowIsMonotonic)a=_emscripten_get_now();else return 52;var n=Math.round(a*1e3*1e3);return HEAP64[r>>3]=BigInt(n),0}_clock_time_get.sig="iijp";var _emscripten_alcDevicePauseSOFT=e=>{if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){AL.paused=!0;for(var t in AL.contexts){var r=AL.contexts[t];r.deviceId===e&&(r.audioCtx.suspend(),clearInterval(r.interval),r.interval=null)}}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=e=>{if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){AL.paused=!1;for(var t in AL.contexts){var r=AL.contexts[t];r.deviceId===e&&(r.interval=setInterval(()=>AL.scheduleContextAudio(r),AL.QUEUE_INTERVAL),r.audioCtx.resume())}}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(e,t,r)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;if(AL.alcStringCache[t])return AL.alcStringCache[t];var a;switch(t){case 6549:if(r===0)a="Web Audio HRTF";else return AL.alcErr=40964,0;break;default:return r!==0?(AL.alcErr=40963,0):_alcGetString(e,t)}return a=stringToNewUTF8(a),AL.alcStringCache[t]=a,a};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(e,t)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var r=null;if(t>>=2,t)for(var a=0,n=0;a=HEAP32[t++],a!==0;)switch(n=HEAP32[t++],a){case 6546:n===1?r=!0:n===0&&(r=!1);break}if(r!==null)for(var o in AL.contexts){var l=AL.contexts[o];l.deviceId===e&&(l.hrtf=r,AL.updateContextGlobal(l))}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[],readEmAsmArgs=(e,t)=>{readEmAsmArgsArray.length=0;for(var r;r=HEAPU8[e++];){var a=r!=105;a&=r!=112,t+=a&&t%8?4:0,readEmAsmArgsArray.push(r==112?HEAPU32[t>>2]:r==106?HEAP64[t>>3]:r==105?HEAP32[t>>2]:HEAPF64[t>>3]),t+=a?8:4}return readEmAsmArgsArray},runEmAsmFunction=(e,t,r)=>{var a=readEmAsmArgs(t,r);return ASM_CONSTS[e](...a)},_emscripten_asm_const_int=(e,t,r)=>runEmAsmFunction(e,t,r);_emscripten_asm_const_int.sig="ippp";var _emscripten_console_error=e=>{console.error(UTF8ToString(e))};_emscripten_console_error.sig="vp";var _emscripten_console_log=e=>{console.log(UTF8ToString(e))};_emscripten_console_log.sig="vp";var _emscripten_console_trace=e=>{console.trace(UTF8ToString(e))};_emscripten_console_trace.sig="vp";var _emscripten_console_warn=e=>{console.warn(UTF8ToString(e))};_emscripten_console_warn.sig="vp";var _emscripten_err=e=>err(UTF8ToString(e));_emscripten_err.sig="vp";var _emscripten_force_exit=e=>{__emscripten_runtime_keepalive_clear(),_exit(e)};_emscripten_force_exit.sig="vi";var getHeapMax=()=>2147483648,_emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_heap_max.sig="p";var GLctx,webgl_enable_ANGLE_instanced_arrays=e=>{var t=e.getExtension("ANGLE_instanced_arrays");if(t)return e.vertexAttribDivisor=(r,a)=>t.vertexAttribDivisorANGLE(r,a),e.drawArraysInstanced=(r,a,n,o)=>t.drawArraysInstancedANGLE(r,a,n,o),e.drawElementsInstanced=(r,a,n,o,l)=>t.drawElementsInstancedANGLE(r,a,n,o,l),1},webgl_enable_OES_vertex_array_object=e=>{var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=r=>t.deleteVertexArrayOES(r),e.bindVertexArray=r=>t.bindVertexArrayOES(r),e.isVertexArray=r=>t.isVertexArrayOES(r),1},webgl_enable_WEBGL_draw_buffers=e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=(r,a)=>t.drawBuffersWEBGL(r,a),1},webgl_enable_EXT_polygon_offset_clamp=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),webgl_enable_EXT_clip_control=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),webgl_enable_WEBGL_polygon_mode=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),webgl_enable_WEBGL_multi_draw=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),getEmscriptenSupportedExtensions=e=>{var t=["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_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"];return(e.getSupportedExtensions()||[]).filter(r=>t.includes(r))},GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{GL.lastError||(GL.lastError=e)},getNewId:e=>{for(var t=GL.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,a)=>{for(var n=0;n<e;n++){var o=GLctx[r](),l=o&&GL.getNewId(a);o?(o.name=l,a[l]=o):GL.recordError(1282),HEAP32[t+n*4>>2]=l}},getSource:(e,t,r,a)=>{for(var n="",o=0;o<t;++o){var l=a?HEAPU32[a+o*4>>2]:void 0;n+=UTF8ToString(HEAPU32[r+o*4>>2],l)}return n},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let o=function(l,_){var c=e.getContextSafariWebGL2Fixed(l,_);return l=="webgl"==c instanceof WebGLRenderingContext?c:null};var r=o;e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=o}var a=e.getContext("webgl",t);if(!a)return 0;var n=GL.registerContext(a,t);return n},registerContext:(e,t)=>{var r=GL.getNewId(GL.contexts),a={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=a),GL.contexts[r]=a,(typeof t.enableExtensionsByDefault>"u"||t.enableExtensionsByDefault)&&GL.initExtensions(a),r},makeContextCurrent:e=>(GL.currentContext=GL.contexts[e],Module.ctx=GLctx=GL.currentContext?.GLctx,!(e&&!GLctx)),getContext:e=>GL.contexts[e],deleteContext:e=>{GL.currentContext===GL.contexts[e]&&(GL.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(GL.contexts[e].GLctx.canvas),GL.contexts[e]&&GL.contexts[e].GLctx.canvas&&(GL.contexts[e].GLctx.canvas.GLctxObject=void 0),GL.contexts[e]=null},initExtensions:e=>{if(e||(e=GL.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;webgl_enable_WEBGL_multi_draw(t),webgl_enable_EXT_polygon_offset_clamp(t),webgl_enable_EXT_clip_control(t),webgl_enable_WEBGL_polygon_mode(t),webgl_enable_ANGLE_instanced_arrays(t),webgl_enable_OES_vertex_array_object(t),webgl_enable_WEBGL_draw_buffers(t),t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query"),getEmscriptenSupportedExtensions(t).forEach(r=>{!r.includes("lose_context")&&!r.includes("debug")&&t.getExtension(r)})}}},_glActiveTexture=e=>GLctx.activeTexture(e);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(e,t)=>{GLctx.attachShader(GL.programs[e],GL.shaders[t])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(e,t)=>{GLctx.disjointTimerQueryExt.beginQueryEXT(e,GL.queries[t])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT,_glBindAttribLocation=(e,t,r)=>{GLctx.bindAttribLocation(GL.programs[e],t,UTF8ToString(r))};_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(e,t)=>{GLctx.bindBuffer(e,GL.buffers[t])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(e,t)=>{GLctx.bindFramebuffer(e,GL.framebuffers[t])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(e,t)=>{GLctx.bindRenderbuffer(e,GL.renderbuffers[t])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(e,t)=>{GLctx.bindTexture(e,GL.textures[t])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=e=>{GLctx.bindVertexArray(GL.vaos[e])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(e,t,r,a)=>GLctx.blendColor(e,t,r,a);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=e=>GLctx.blendEquation(e);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(e,t)=>GLctx.blendEquationSeparate(e,t);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(e,t)=>GLctx.blendFunc(e,t);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(e,t,r,a)=>GLctx.blendFuncSeparate(e,t,r,a);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";var _glBufferData=(e,t,r,a)=>{GLctx.bufferData(e,r?HEAPU8.subarray(r,r+t):t,a)};_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";var _glBufferSubData=(e,t,r,a)=>{GLctx.bufferSubData(e,t,HEAPU8.subarray(a,a+r))};_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=e=>GLctx.checkFramebufferStatus(e);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=e=>GLctx.clear(e);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(e,t,r,a)=>GLctx.clearColor(e,t,r,a);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=e=>GLctx.clearDepth(e);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=e=>GLctx.clearStencil(e);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(e,t)=>{GLctx.extClipControl.clipControlEXT(e,t)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT,_glColorMask=(e,t,r,a)=>{GLctx.colorMask(!!e,!!t,!!r,!!a)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=e=>{GLctx.compileShader(GL.shaders[e])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";var _glCompressedTexImage2D=(e,t,r,a,n,o,l,_)=>{GLctx.compressedTexImage2D(e,t,r,a,n,o,HEAPU8.subarray(_,_+l))};_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";var _glCompressedTexSubImage2D=(e,t,r,a,n,o,l,_,c)=>{GLctx.compressedTexSubImage2D(e,t,r,a,n,o,l,HEAPU8.subarray(c,c+_))};_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(e,t,r,a,n,o,l,_)=>GLctx.copyTexImage2D(e,t,r,a,n,o,l,_);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(e,t,r,a,n,o,l,_)=>GLctx.copyTexSubImage2D(e,t,r,a,n,o,l,_);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var e=GL.getNewId(GL.programs),t=GLctx.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,GL.programs[e]=t,e};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=e=>{var t=GL.getNewId(GL.shaders);return GL.shaders[t]=GLctx.createShader(e),t};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=e=>GLctx.cullFace(e);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";var _glDeleteBuffers=(e,t)=>{for(var r=0;r<e;r++){var a=HEAP32[t+r*4>>2],n=GL.buffers[a];n&&(GLctx.deleteBuffer(n),n.name=0,GL.buffers[a]=null)}};_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";var _glDeleteFramebuffers=(e,t)=>{for(var r=0;r<e;++r){var a=HEAP32[t+r*4>>2],n=GL.framebuffers[a];n&&(GLctx.deleteFramebuffer(n),n.name=0,GL.framebuffers[a]=null)}};_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=e=>{if(e){var t=GL.programs[e];if(!t){GL.recordError(1281);return}GLctx.deleteProgram(t),t.name=0,GL.programs[e]=null}};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";var _glDeleteQueriesEXT=(e,t)=>{for(var r=0;r<e;r++){var a=HEAP32[t+r*4>>2],n=GL.queries[a];n&&(GLctx.disjointTimerQueryExt.deleteQueryEXT(n),GL.queries[a]=null)}};_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT,_glDeleteRenderbuffers=(e,t)=>{for(var r=0;r<e;r++){var a=HEAP32[t+r*4>>2],n=GL.renderbuffers[a];n&&(GLctx.deleteRenderbuffer(n),n.name=0,GL.renderbuffers[a]=null)}};_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=e=>{if(e){var t=GL.shaders[e];if(!t){GL.recordError(1281);return}GLctx.deleteShader(t),GL.shaders[e]=null}};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";var _glDeleteTextures=(e,t)=>{for(var r=0;r<e;r++){var a=HEAP32[t+r*4>>2],n=GL.textures[a];n&&(GLctx.deleteTexture(n),n.name=0,GL.textures[a]=null)}};_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";var _glDeleteVertexArrays=(e,t)=>{for(var r=0;r<e;r++){var a=HEAP32[t+r*4>>2];GLctx.deleteVertexArray(GL.vaos[a]),GL.vaos[a]=null}};_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=e=>GLctx.depthFunc(e);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=e=>{GLctx.depthMask(!!e)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(e,t)=>GLctx.depthRange(e,t);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(e,t)=>{GLctx.detachShader(GL.programs[e],GL.shaders[t])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=e=>GLctx.disable(e);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=e=>{GLctx.disableVertexAttribArray(e)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(e,t,r)=>{GLctx.drawArrays(e,t,r)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(e,t,r,a)=>{GLctx.drawArraysInstanced(e,t,r,a)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced,_emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE,tempFixedLengthArray=[],_glDrawBuffers=(e,t)=>{for(var r=tempFixedLengthArray[e],a=0;a<e;a++)r[a]=HEAP32[t+a*4>>2];GLctx.drawBuffers(r)};_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers,_emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL,_glDrawElements=(e,t,r,a)=>{GLctx.drawElements(e,t,r,a)};_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";var _glDrawElementsInstanced=(e,t,r,a,n)=>{GLctx.drawElementsInstanced(e,t,r,a,n)};_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced,_emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE,_glEnable=e=>GLctx.enable(e);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=e=>{GLctx.enableVertexAttribArray(e)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=e=>{GLctx.disjointTimerQueryExt.endQueryEXT(e)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT,_glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(e,t,r,a)=>{GLctx.framebufferRenderbuffer(e,t,r,GL.renderbuffers[a])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(e,t,r,a,n)=>{GLctx.framebufferTexture2D(e,t,r,GL.textures[a],n)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=e=>GLctx.frontFace(e);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";var _glGenBuffers=(e,t)=>{GL.genObject(e,t,"createBuffer",GL.buffers)};_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";var _glGenFramebuffers=(e,t)=>{GL.genObject(e,t,"createFramebuffer",GL.framebuffers)};_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";var _glGenQueriesEXT=(e,t)=>{for(var r=0;r<e;r++){var a=GLctx.disjointTimerQueryExt.createQueryEXT();if(!a){for(GL.recordError(1282);r<e;)HEAP32[t+r++*4>>2]=0;return}var n=GL.getNewId(GL.queries);a.name=n,GL.queries[n]=a,HEAP32[t+r*4>>2]=n}};_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT,_glGenRenderbuffers=(e,t)=>{GL.genObject(e,t,"createRenderbuffer",GL.renderbuffers)};_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";var _glGenTextures=(e,t)=>{GL.genObject(e,t,"createTexture",GL.textures)};_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";var _glGenVertexArrays=(e,t)=>{GL.genObject(e,t,"createVertexArray",GL.vaos)};_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=e=>GLctx.generateMipmap(e);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(e,t,r,a,n,o,l,_)=>{t=GL.programs[t];var c=GLctx[e](t,r);if(c){var u=_&&stringToUTF8(c.name,_,a);n&&(HEAP32[n>>2]=u),o&&(HEAP32[o>>2]=c.size),l&&(HEAP32[l>>2]=c.type)}},_glGetActiveAttrib=(e,t,r,a,n,o,l)=>__glGetActiveAttribOrUniform("getActiveAttrib",e,t,r,a,n,o,l);_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";var _glGetActiveUniform=(e,t,r,a,n,o,l)=>__glGetActiveAttribOrUniform("getActiveUniform",e,t,r,a,n,o,l);_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";var _glGetAttachedShaders=(e,t,r,a)=>{var n=GLctx.getAttachedShaders(GL.programs[e]),o=n.length;o>t&&(o=t),HEAP32[r>>2]=o;for(var l=0;l<o;++l){var _=GL.shaders.indexOf(n[l]);HEAP32[a+l*4>>2]=_}};_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";var _glGetAttribLocation=(e,t)=>GLctx.getAttribLocation(GL.programs[e],UTF8ToString(t));_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(e,t)=>{HEAPU32[e>>2]=t;var r=HEAPU32[e>>2];HEAPU32[e+4>>2]=(t-r)/4294967296},emscriptenWebGLGet=(e,t,r)=>{if(!t){GL.recordError(1281);return}var a=void 0;switch(e){case 36346:a=1;break;case 36344:r!=0&&r!=1&&GL.recordError(1280);return;case 36345:a=0;break;case 34466:var n=GLctx.getParameter(34467);a=n?n.length:0;break}if(a===void 0){var o=GLctx.getParameter(e);switch(typeof o){case"number":a=o;break;case"boolean":a=o?1:0;break;case"string":GL.recordError(1280);return;case"object":if(o===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{a=0;break}default:{GL.recordError(1280);return}}else if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var l=0;l<o.length;++l)switch(r){case 0:HEAP32[t+l*4>>2]=o[l];break;case 2:HEAPF32[t+l*4>>2]=o[l];break;case 4:HEAP8[t+l]=o[l]?1:0;break}return}else try{a=o.name|0}catch(_){GL.recordError(1280),err(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${_})`);return}break;default:GL.recordError(1280),err(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${o} of type ${typeof o}!`);return}}switch(r){case 1:writeI53ToI64(t,a);break;case 0:HEAP32[t>>2]=a;break;case 2:HEAPF32[t>>2]=a;break;case 4:HEAP8[t]=a?1:0;break}},_glGetBooleanv=(e,t)=>emscriptenWebGLGet(e,t,4);_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";var _glGetBufferParameteriv=(e,t,r)=>{if(!r){GL.recordError(1281);return}HEAP32[r>>2]=GLctx.getBufferParameter(e,t)};_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var e=GLctx.getError()||GL.lastError;return GL.lastError=0,e};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";var _glGetFloatv=(e,t)=>emscriptenWebGLGet(e,t,2);_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";var _glGetFramebufferAttachmentParameteriv=(e,t,r,a)=>{var n=GLctx.getFramebufferAttachmentParameter(e,t,r);(n instanceof WebGLRenderbuffer||n instanceof WebGLTexture)&&(n=n.name|0),HEAP32[a>>2]=n};_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var _glGetIntegerv=(e,t)=>emscriptenWebGLGet(e,t,0);_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";var _glGetProgramInfoLog=(e,t,r,a)=>{var n=GLctx.getProgramInfoLog(GL.programs[e]);n===null&&(n="(unknown error)");var o=t>0&&a?stringToUTF8(n,a,t):0;r&&(HEAP32[r>>2]=o)};_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";var _glGetProgramiv=(e,t,r)=>{if(!r){GL.recordError(1281);return}if(e>=GL.counter){GL.recordError(1281);return}if(e=GL.programs[e],t==35716){var a=GLctx.getProgramInfoLog(e);a===null&&(a="(unknown error)"),HEAP32[r>>2]=a.length+1}else if(t==35719){if(!e.maxUniformLength)for(var n=GLctx.getProgramParameter(e,35718),o=0;o<n;++o)e.maxUniformLength=Math.max(e.maxUniformLength,GLctx.getActiveUniform(e,o).name.length+1);HEAP32[r>>2]=e.maxUniformLength}else if(t==35722){if(!e.maxAttributeLength)for(var l=GLctx.getProgramParameter(e,35721),o=0;o<l;++o)e.maxAttributeLength=Math.max(e.maxAttributeLength,GLctx.getActiveAttrib(e,o).name.length+1);HEAP32[r>>2]=e.maxAttributeLength}else if(t==35381){if(!e.maxUniformBlockNameLength)for(var _=GLctx.getProgramParameter(e,35382),o=0;o<_;++o)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,GLctx.getActiveUniformBlockName(e,o).length+1);HEAP32[r>>2]=e.maxUniformBlockNameLength}else HEAP32[r>>2]=GLctx.getProgramParameter(e,t)};_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";var _glGetQueryObjecti64vEXT=(e,t,r)=>{if(!r){GL.recordError(1281);return}var a=GL.queries[e],n;n=GLctx.disjointTimerQueryExt.getQueryObjectEXT(a,t);var o;typeof n=="boolean"?o=n?1:0:o=n,writeI53ToI64(r,o)};_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT,_glGetQueryObjectivEXT=(e,t,r)=>{if(!r){GL.recordError(1281);return}var a=GL.queries[e],n=GLctx.disjointTimerQueryExt.getQueryObjectEXT(a,t),o;typeof n=="boolean"?o=n?1:0:o=n,HEAP32[r>>2]=o};_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT,_glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT,_emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT,_glGetQueryObjectuivEXT=_glGetQueryObjectivEXT,_emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT,_glGetQueryivEXT=(e,t,r)=>{if(!r){GL.recordError(1281);return}HEAP32[r>>2]=GLctx.disjointTimerQueryExt.getQueryEXT(e,t)};_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT,_glGetRenderbufferParameteriv=(e,t,r)=>{if(!r){GL.recordError(1281);return}HEAP32[r>>2]=GLctx.getRenderbufferParameter(e,t)};_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";var _glGetShaderInfoLog=(e,t,r,a)=>{var n=GLctx.getShaderInfoLog(GL.shaders[e]);n===null&&(n="(unknown error)");var o=t>0&&a?stringToUTF8(n,a,t):0;r&&(HEAP32[r>>2]=o)};_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";var _glGetShaderPrecisionFormat=(e,t,r,a)=>{var n=GLctx.getShaderPrecisionFormat(e,t);HEAP32[r>>2]=n.rangeMin,HEAP32[r+4>>2]=n.rangeMax,HEAP32[a>>2]=n.precision};_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";var _glGetShaderSource=(e,t,r,a)=>{var n=GLctx.getShaderSource(GL.shaders[e]);if(n){var o=t>0&&a?stringToUTF8(n,a,t):0;r&&(HEAP32[r>>2]=o)}};_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";var _glGetShaderiv=(e,t,r)=>{if(!r){GL.recordError(1281);return}if(t==35716){var a=GLctx.getShaderInfoLog(GL.shaders[e]);a===null&&(a="(unknown error)");var n=a?a.length+1:0;HEAP32[r>>2]=n}else if(t==35720){var o=GLctx.getShaderSource(GL.shaders[e]),l=o?o.length+1:0;HEAP32[r>>2]=l}else HEAP32[r>>2]=GLctx.getShaderParameter(GL.shaders[e],t)};_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=()=>{var e=getEmscriptenSupportedExtensions(GLctx);return e=e.concat(e.map(t=>"GL_"+t)),e},_glGetString=e=>{var t=GL.stringCache[e];if(!t){switch(e){case 7939:t=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=GLctx.getParameter(e);r||GL.recordError(1280),t=r?stringToNewUTF8(r):0;break;case 7938:var a=GLctx.getParameter(7938),n=`OpenGL ES 2.0 (${a})`;t=stringToNewUTF8(n);break;case 35724:var o=GLctx.getParameter(35724),l=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,_=o.match(l);_!==null&&(_[1].length==3&&(_[1]=_[1]+"0"),o=`OpenGL ES GLSL ES ${_[1]} (${o})`),t=stringToNewUTF8(o);break;default:GL.recordError(1280)}GL.stringCache[e]=t}return t};_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";var _glGetTexParameterfv=(e,t,r)=>{if(!r){GL.recordError(1281);return}HEAPF32[r>>2]=GLctx.getTexParameter(e,t)};_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";var _glGetTexParameteriv=(e,t,r)=>{if(!r){GL.recordError(1281);return}HEAP32[r>>2]=GLctx.getTexParameter(e,t)};_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var webglGetLeftBracePos=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),webglPrepareUniformLocationsBeforeFirstUse=e=>{var t=e.uniformLocsById,r=e.uniformSizeAndIdsByName,a,n;if(!t){e.uniformLocsById=t={},e.uniformArrayNamesById={};var o=GLctx.getProgramParameter(e,35718);for(a=0;a<o;++a){var l=GLctx.getActiveUniform(e,a),_=l.name,c=l.size,u=webglGetLeftBracePos(_),p=u>0?_.slice(0,u):_,m=e.uniformIdCounter;for(e.uniformIdCounter+=c,r[p]=[c,m],n=0;n<c;++n)t[m]=n,e.uniformArrayNamesById[m++]=p}}},_glGetUniformLocation=(e,t)=>{if(t=UTF8ToString(t),e=GL.programs[e]){webglPrepareUniformLocationsBeforeFirstUse(e);var r=e.uniformLocsById,a=0,n=t,o=webglGetLeftBracePos(t);o>0&&(a=jstoi_q(t.slice(o+1))>>>0,n=t.slice(0,o));var l=e.uniformSizeAndIdsByName[n];if(l&&a<l[0]&&(a+=l[1],r[a]=r[a]||GLctx.getUniformLocation(e,t)))return a}else GL.recordError(1281);return-1};_glGetUniformLocation.sig="iip";var _emscripten_glGetUniformLocation=_glGetUniformLocation;_emscripten_glGetUniformLocation.sig="iip";var webglGetUniformLocation=e=>{var t=GLctx.currentProgram;if(t){var r=t.uniformLocsById[e];return typeof r=="number"&&(t.uniformLocsById[e]=r=GLctx.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}else GL.recordError(1282)},emscriptenWebGLGetUniform=(e,t,r,a)=>{if(!r){GL.recordError(1281);return}e=GL.programs[e],webglPrepareUniformLocationsBeforeFirstUse(e);var n=GLctx.getUniform(e,webglGetUniformLocation(t));if(typeof n=="number"||typeof n=="boolean")switch(a){case 0:HEAP32[r>>2]=n;break;case 2:HEAPF32[r>>2]=n;break}else for(var o=0;o<n.length;o++)switch(a){case 0:HEAP32[r+o*4>>2]=n[o];break;case 2:HEAPF32[r+o*4>>2]=n[o];break}},_glGetUniformfv=(e,t,r)=>{emscriptenWebGLGetUniform(e,t,r,2)};_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";var _glGetUniformiv=(e,t,r)=>{emscriptenWebGLGetUniform(e,t,r,0)};_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";var _glGetVertexAttribPointerv=(e,t,r)=>{if(!r){GL.recordError(1281);return}HEAP32[r>>2]=GLctx.getVertexAttribOffset(e,t)};_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(e,t,r,a)=>{if(!r){GL.recordError(1281);return}var n=GLctx.getVertexAttrib(e,t);if(t==34975)HEAP32[r>>2]=n&&n.name;else if(typeof n=="number"||typeof n=="boolean")switch(a){case 0:HEAP32[r>>2]=n;break;case 2:HEAPF32[r>>2]=n;break;case 5:HEAP32[r>>2]=Math.fround(n);break}else for(var o=0;o<n.length;o++)switch(a){case 0:HEAP32[r+o*4>>2]=n[o];break;case 2:HEAPF32[r+o*4>>2]=n[o];break;case 5:HEAP32[r+o*4>>2]=Math.fround(n[o]);break}},_glGetVertexAttribfv=(e,t,r)=>{emscriptenWebGLGetVertexAttrib(e,t,r,2)};_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";var _glGetVertexAttribiv=(e,t,r)=>{emscriptenWebGLGetVertexAttrib(e,t,r,5)};_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(e,t)=>GLctx.hint(e,t);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=e=>{var t=GL.buffers[e];return t?GLctx.isBuffer(t):0};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=e=>GLctx.isEnabled(e);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=e=>{var t=GL.framebuffers[e];return t?GLctx.isFramebuffer(t):0};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=e=>(e=GL.programs[e],e?GLctx.isProgram(e):0);_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=e=>{var t=GL.queries[e];return t?GLctx.disjointTimerQueryExt.isQueryEXT(t):0};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT,_glIsRenderbuffer=e=>{var t=GL.renderbuffers[e];return t?GLctx.isRenderbuffer(t):0};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=e=>{var t=GL.shaders[e];return t?GLctx.isShader(t):0};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=e=>{var t=GL.textures[e];return t?GLctx.isTexture(t):0};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=e=>{var t=GL.vaos[e];return t?GLctx.isVertexArray(t):0};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=e=>GLctx.lineWidth(e);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=e=>{e=GL.programs[e],GLctx.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(e,t)=>{e==3317?GL.unpackAlignment=t:e==3314&&(GL.unpackRowLength=t),GLctx.pixelStorei(e,t)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(e,t)=>{GLctx.webglPolygonMode.polygonModeWEBGL(e,t)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL,_glPolygonOffset=(e,t)=>GLctx.polygonOffset(e,t);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(e,t,r)=>{GLctx.extPolygonOffsetClamp.polygonOffsetClampEXT(e,t,r)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT,_glQueryCounterEXT=(e,t)=>{GLctx.disjointTimerQueryExt.queryCounterEXT(GL.queries[e],t)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT,computeUnpackAlignedImageSize=(e,t,r)=>{function a(l,_){return l+_-1&-_}var n=(GL.unpackRowLength||e)*r,o=a(n,GL.unpackAlignment);return t*o},colorChannelsInGlTextureFormat=e=>{var t={5:3,6:4,8:2,29502:3,29504:4};return t[e-6402]||1},heapObjectForWebGLType=e=>(e-=5120,e==1?HEAPU8:e==4?HEAP32:e==6?HEAPF32:e==5||e==28922?HEAPU32:HEAPU16),toTypedArrayIndex=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),emscriptenWebGLGetTexPixelData=(e,t,r,a,n,o)=>{var l=heapObjectForWebGLType(e),_=colorChannelsInGlTextureFormat(t)*l.BYTES_PER_ELEMENT,c=computeUnpackAlignedImageSize(r,a,_);return l.subarray(toTypedArrayIndex(n,l),toTypedArrayIndex(n+c,l))},_glReadPixels=(e,t,r,a,n,o,l)=>{var _=emscriptenWebGLGetTexPixelData(o,n,r,a,l,n);if(!_){GL.recordError(1280);return}GLctx.readPixels(e,t,r,a,n,o,_)};_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(e,t,r,a)=>GLctx.renderbufferStorage(e,t,r,a);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(e,t)=>{GLctx.sampleCoverage(e,!!t)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(e,t,r,a)=>GLctx.scissor(e,t,r,a);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";var _glShaderBinary=(e,t,r,a,n)=>{GL.recordError(1280)};_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";var _glShaderSource=(e,t,r,a)=>{var n=GL.getSource(e,t,r,a);GLctx.shaderSource(GL.shaders[e],n)};_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(e,t,r)=>GLctx.stencilFunc(e,t,r);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(e,t,r,a)=>GLctx.stencilFuncSeparate(e,t,r,a);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=e=>GLctx.stencilMask(e);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(e,t)=>GLctx.stencilMaskSeparate(e,t);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(e,t,r)=>GLctx.stencilOp(e,t,r);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(e,t,r,a)=>GLctx.stencilOpSeparate(e,t,r,a);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";var _glTexImage2D=(e,t,r,a,n,o,l,_,c)=>{var u=c?emscriptenWebGLGetTexPixelData(_,l,a,n,c,r):null;GLctx.texImage2D(e,t,r,a,n,o,l,_,u)};_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(e,t,r)=>GLctx.texParameterf(e,t,r);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";var _glTexParameterfv=(e,t,r)=>{var a=HEAPF32[r>>2];GLctx.texParameterf(e,t,a)};_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(e,t,r)=>GLctx.texParameteri(e,t,r);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";var _glTexParameteriv=(e,t,r)=>{var a=HEAP32[r>>2];GLctx.texParameteri(e,t,a)};_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";var _glTexSubImage2D=(e,t,r,a,n,o,l,_,c)=>{var u=c?emscriptenWebGLGetTexPixelData(_,l,n,o,c,0):null;GLctx.texSubImage2D(e,t,r,a,n,o,l,_,u)};_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(e,t)=>{GLctx.uniform1f(webglGetUniformLocation(e),t)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[],_glUniform1fv=(e,t,r)=>{if(t<=288)for(var n=miniTempWebGLFloatBuffers[t],a=0;a<t;++a)n[a]=HEAPF32[r+4*a>>2];else var n=HEAPF32.subarray(r>>2,r+t*4>>2);GLctx.uniform1fv(webglGetUniformLocation(e),n)};_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(e,t)=>{GLctx.uniform1i(webglGetUniformLocation(e),t)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[],_glUniform1iv=(e,t,r)=>{if(t<=288)for(var n=miniTempWebGLIntBuffers[t],a=0;a<t;++a)n[a]=HEAP32[r+4*a>>2];else var n=HEAP32.subarray(r>>2,r+t*4>>2);GLctx.uniform1iv(webglGetUniformLocation(e),n)};_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(e,t,r)=>{GLctx.uniform2f(webglGetUniformLocation(e),t,r)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";var _glUniform2fv=(e,t,r)=>{if(t<=144){t*=2;for(var n=miniTempWebGLFloatBuffers[t],a=0;a<t;a+=2)n[a]=HEAPF32[r+4*a>>2],n[a+1]=HEAPF32[r+(4*a+4)>>2]}else var n=HEAPF32.subarray(r>>2,r+t*8>>2);GLctx.uniform2fv(webglGetUniformLocation(e),n)};_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(e,t,r)=>{GLctx.uniform2i(webglGetUniformLocation(e),t,r)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";var _glUniform2iv=(e,t,r)=>{if(t<=144){t*=2;for(var n=miniTempWebGLIntBuffers[t],a=0;a<t;a+=2)n[a]=HEAP32[r+4*a>>2],n[a+1]=HEAP32[r+(4*a+4)>>2]}else var n=HEAP32.subarray(r>>2,r+t*8>>2);GLctx.uniform2iv(webglGetUniformLocation(e),n)};_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(e,t,r,a)=>{GLctx.uniform3f(webglGetUniformLocation(e),t,r,a)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";var _glUniform3fv=(e,t,r)=>{if(t<=96){t*=3;for(var n=miniTempWebGLFloatBuffers[t],a=0;a<t;a+=3)n[a]=HEAPF32[r+4*a>>2],n[a+1]=HEAPF32[r+(4*a+4)>>2],n[a+2]=HEAPF32[r+(4*a+8)>>2]}else var n=HEAPF32.subarray(r>>2,r+t*12>>2);GLctx.uniform3fv(webglGetUniformLocation(e),n)};_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(e,t,r,a)=>{GLctx.uniform3i(webglGetUniformLocation(e),t,r,a)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";var _glUniform3iv=(e,t,r)=>{if(t<=96){t*=3;for(var n=miniTempWebGLIntBuffers[t],a=0;a<t;a+=3)n[a]=HEAP32[r+4*a>>2],n[a+1]=HEAP32[r+(4*a+4)>>2],n[a+2]=HEAP32[r+(4*a+8)>>2]}else var n=HEAP32.subarray(r>>2,r+t*12>>2);GLctx.uniform3iv(webglGetUniformLocation(e),n)};_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(e,t,r,a,n)=>{GLctx.uniform4f(webglGetUniformLocation(e),t,r,a,n)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";var _glUniform4fv=(e,t,r)=>{if(t<=72){var l=miniTempWebGLFloatBuffers[4*t],a=HEAPF32;r=r>>2,t*=4;for(var n=0;n<t;n+=4){var o=r+n;l[n]=a[o],l[n+1]=a[o+1],l[n+2]=a[o+2],l[n+3]=a[o+3]}}else var l=HEAPF32.subarray(r>>2,r+t*16>>2);GLctx.uniform4fv(webglGetUniformLocation(e),l)};_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(e,t,r,a,n)=>{GLctx.uniform4i(webglGetUniformLocation(e),t,r,a,n)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";var _glUniform4iv=(e,t,r)=>{if(t<=72){t*=4;for(var n=miniTempWebGLIntBuffers[t],a=0;a<t;a+=4)n[a]=HEAP32[r+4*a>>2],n[a+1]=HEAP32[r+(4*a+4)>>2],n[a+2]=HEAP32[r+(4*a+8)>>2],n[a+3]=HEAP32[r+(4*a+12)>>2]}else var n=HEAP32.subarray(r>>2,r+t*16>>2);GLctx.uniform4iv(webglGetUniformLocation(e),n)};_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";var _glUniformMatrix2fv=(e,t,r,a)=>{if(t<=72){t*=4;for(var o=miniTempWebGLFloatBuffers[t],n=0;n<t;n+=4)o[n]=HEAPF32[a+4*n>>2],o[n+1]=HEAPF32[a+(4*n+4)>>2],o[n+2]=HEAPF32[a+(4*n+8)>>2],o[n+3]=HEAPF32[a+(4*n+12)>>2]}else var o=HEAPF32.subarray(a>>2,a+t*16>>2);GLctx.uniformMatrix2fv(webglGetUniformLocation(e),!!r,o)};_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";var _glUniformMatrix3fv=(e,t,r,a)=>{if(t<=32){t*=9;for(var o=miniTempWebGLFloatBuffers[t],n=0;n<t;n+=9)o[n]=HEAPF32[a+4*n>>2],o[n+1]=HEAPF32[a+(4*n+4)>>2],o[n+2]=HEAPF32[a+(4*n+8)>>2],o[n+3]=HEAPF32[a+(4*n+12)>>2],o[n+4]=HEAPF32[a+(4*n+16)>>2],o[n+5]=HEAPF32[a+(4*n+20)>>2],o[n+6]=HEAPF32[a+(4*n+24)>>2],o[n+7]=HEAPF32[a+(4*n+28)>>2],o[n+8]=HEAPF32[a+(4*n+32)>>2]}else var o=HEAPF32.subarray(a>>2,a+t*36>>2);GLctx.uniformMatrix3fv(webglGetUniformLocation(e),!!r,o)};_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";var _glUniformMatrix4fv=(e,t,r,a)=>{if(t<=18){var _=miniTempWebGLFloatBuffers[16*t],n=HEAPF32;a=a>>2,t*=16;for(var o=0;o<t;o+=16){var l=a+o;_[o]=n[l],_[o+1]=n[l+1],_[o+2]=n[l+2],_[o+3]=n[l+3],_[o+4]=n[l+4],_[o+5]=n[l+5],_[o+6]=n[l+6],_[o+7]=n[l+7],_[o+8]=n[l+8],_[o+9]=n[l+9],_[o+10]=n[l+10],_[o+11]=n[l+11],_[o+12]=n[l+12],_[o+13]=n[l+13],_[o+14]=n[l+14],_[o+15]=n[l+15]}}else var _=HEAPF32.subarray(a>>2,a+t*64>>2);GLctx.uniformMatrix4fv(webglGetUniformLocation(e),!!r,_)};_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=e=>{e=GL.programs[e],GLctx.useProgram(e),GLctx.currentProgram=e};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=e=>{GLctx.validateProgram(GL.programs[e])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(e,t)=>GLctx.vertexAttrib1f(e,t);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";var _glVertexAttrib1fv=(e,t)=>{GLctx.vertexAttrib1f(e,HEAPF32[t>>2])};_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(e,t,r)=>GLctx.vertexAttrib2f(e,t,r);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";var _glVertexAttrib2fv=(e,t)=>{GLctx.vertexAttrib2f(e,HEAPF32[t>>2],HEAPF32[t+4>>2])};_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(e,t,r,a)=>GLctx.vertexAttrib3f(e,t,r,a);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";var _glVertexAttrib3fv=(e,t)=>{GLctx.vertexAttrib3f(e,HEAPF32[t>>2],HEAPF32[t+4>>2],HEAPF32[t+8>>2])};_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(e,t,r,a,n)=>GLctx.vertexAttrib4f(e,t,r,a,n);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";var _glVertexAttrib4fv=(e,t)=>{GLctx.vertexAttrib4f(e,HEAPF32[t>>2],HEAPF32[t+4>>2],HEAPF32[t+8>>2],HEAPF32[t+12>>2])};_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(e,t)=>{GLctx.vertexAttribDivisor(e,t)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor,_emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE,_glVertexAttribPointer=(e,t,r,a,n,o)=>{GLctx.vertexAttribPointer(e,t,r,!!a,n,o)};_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(e,t,r,a)=>GLctx.viewport(e,t,r,a);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";var _emscripten_out=e=>out(UTF8ToString(e));_emscripten_out.sig="vp";class HandleAllocator{constructor(){Z(this,"allocated",[void 0]),Z(this,"freelist",[])}get(t){return this.allocated[t]}has(t){return this.allocated[t]!==void 0}allocate(t){var r=this.freelist.pop()||this.allocated.length;return this.allocated[r]=t,r}free(t){this.allocated[t]=void 0,this.freelist.push(t)}}var promiseMap=new HandleAllocator,makePromise=()=>{var e={};return e.promise=new Promise((t,r)=>{e.reject=r,e.resolve=t}),e.id=promiseMap.allocate(e),e},_emscripten_promise_create=()=>makePromise().id;_emscripten_promise_create.sig="p";var _emscripten_promise_destroy=e=>{promiseMap.free(e)};_emscripten_promise_destroy.sig="vp";var getPromise=e=>promiseMap.get(e).promise,_emscripten_promise_resolve=(e,t,r)=>{var a=promiseMap.get(e);switch(t){case 0:a.resolve(r);return;case 1:a.resolve(getPromise(r));return;case 2:a.resolve(getPromise(r)),_emscripten_promise_destroy(r);return;case 3:a.reject(r);return}};_emscripten_promise_resolve.sig="vpip";var growMemory=e=>{var t=wasmMemory.buffer,r=(e-t.byteLength+65535)/65536|0;try{return wasmMemory.grow(r),updateMemoryViews(),1}catch{}},_emscripten_resize_heap=e=>{var t=HEAPU8.length;e>>>=0;var r=getHeapMax();if(e>r)return!1;for(var a=1;a<=4;a*=2){var n=t*(1+.2/a);n=Math.min(n,e+100663296);var o=Math.min(r,alignMemory(Math.max(e,n),65536)),l=growMemory(o);if(l)return!0}return!1};_emscripten_resize_heap.sig="ip";var _emscripten_wget_data=(e,t,r,a)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"};_emscripten_wget_data.sig="vpppp";var getEnvStrings=()=>{if(!getEnvStrings.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:getExecutableName()};for(var r in ENV)ENV[r]===void 0?delete t[r]:t[r]=ENV[r];var a=[];for(var r in t)a.push(`${r}=${t[r]}`);getEnvStrings.strings=a}return getEnvStrings.strings},stringToAscii=(e,t)=>{for(var r=0;r<e.length;++r)HEAP8[t++]=e.charCodeAt(r);HEAP8[t]=0},_environ_get=(e,t)=>{var r=0;return getEnvStrings().forEach((a,n)=>{var o=t+r;HEAPU32[e+n*4>>2]=o,stringToAscii(a,o),r+=a.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=(e,t)=>{var r=getEnvStrings();HEAPU32[e>>2]=r.length;var a=0;return r.forEach(n=>a+=n.length+1),HEAPU32[t>>2]=a,0};_environ_sizes_get.sig="ipp";function _fd_close(e){try{var t=SYSCALLS.getStreamFromFD(e);return FS.close(t),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return r.errno}}_fd_close.sig="ii";function _fd_fdstat_get(e,t){try{var r=0,a=0,n=0,o=SYSCALLS.getStreamFromFD(e),l=o.tty?2:FS.isDir(o.mode)?3:FS.isLink(o.mode)?7:4;return HEAP8[t]=l,HEAP16[t+2>>1]=n,HEAP64[t+8>>3]=BigInt(r),HEAP64[t+16>>3]=BigInt(a),0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_fdstat_get.sig="iip";var doReadv=(e,t,r,a)=>{for(var n=0,o=0;o<r;o++){var l=HEAPU32[t>>2],_=HEAPU32[t+4>>2];t+=8;var c=FS.read(e,HEAP8,l,_,a);if(c<0)return-1;if(n+=c,c<_)break;typeof a<"u"&&(a+=c)}return n};function _fd_pread(e,t,r,a,n){a=bigintToI53Checked(a);try{if(isNaN(a))return 61;var o=SYSCALLS.getStreamFromFD(e),l=doReadv(o,t,r,a);return HEAPU32[n>>2]=l,0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_pread.sig="iippjp";var doWritev=(e,t,r,a)=>{for(var n=0,o=0;o<r;o++){var l=HEAPU32[t>>2],_=HEAPU32[t+4>>2];t+=8;var c=FS.write(e,HEAP8,l,_,a);if(c<0)return-1;if(n+=c,c<_)break;typeof a<"u"&&(a+=c)}return n};function _fd_pwrite(e,t,r,a,n){a=bigintToI53Checked(a);try{if(isNaN(a))return 61;var o=SYSCALLS.getStreamFromFD(e),l=doWritev(o,t,r,a);return HEAPU32[n>>2]=l,0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_pwrite.sig="iippjp";function _fd_read(e,t,r,a){try{var n=SYSCALLS.getStreamFromFD(e),o=doReadv(n,t,r);return HEAPU32[a>>2]=o,0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_read.sig="iippp";function _fd_seek(e,t,r,a){t=bigintToI53Checked(t);try{if(isNaN(t))return 61;var n=SYSCALLS.getStreamFromFD(e);return FS.llseek(n,t,r),HEAP64[a>>3]=BigInt(n.position),n.getdents&&t===0&&r===0&&(n.getdents=null),0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return o.errno}}_fd_seek.sig="iijip";function _fd_sync(e){try{var t=SYSCALLS.getStreamFromFD(e);return t.stream_ops?.fsync?t.stream_ops.fsync(t):0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return r.errno}}_fd_sync.sig="ii";function _fd_write(e,t,r,a){try{var n=SYSCALLS.getStreamFromFD(e),o=doWritev(n,t,r);return HEAPU32[a>>2]=o,0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_write.sig="iippp";var _getaddrinfo=(e,t,r,a)=>{var n=[],o=null,l=0,_=0,c=0,u=0,p=0,m=0,f,d;function v(g,S,A,b,L,y){var w,F,E,T;return F=g===10?28:16,L=g===10?inetNtop6(L):inetNtop4(L),w=_malloc(F),T=writeSockaddr(w,g,L,y),assert(!T),E=_malloc(32),HEAP32[E+4>>2]=g,HEAP32[E+8>>2]=S,HEAP32[E+12>>2]=A,HEAPU32[E+24>>2]=b,HEAPU32[E+20>>2]=w,g===10?HEAP32[E+16>>2]=28:HEAP32[E+16>>2]=16,HEAP32[E+28>>2]=0,E}if(r&&(c=HEAP32[r>>2],u=HEAP32[r+4>>2],p=HEAP32[r+8>>2],m=HEAP32[r+12>>2]),p&&!m&&(m=p===2?17:6),!p&&m&&(p=m===17?2:1),m===0&&(m=6),p===0&&(p=1),!e&&!t)return-2;if(c&-1088||r!==0&&HEAP32[r>>2]&2&&!e)return-1;if(c&32)return-2;if(p!==0&&p!==1&&p!==2)return-7;if(u!==0&&u!==2&&u!==10)return-6;if(t&&(t=UTF8ToString(t),_=parseInt(t,10),isNaN(_)))return c&1024?-2:-8;if(!e)return u===0&&(u=2),c&1||(u===2?l=_htonl(2130706433):l=[0,0,0,_htonl(1)]),f=v(u,p,m,null,l,_),HEAPU32[a>>2]=f,0;if(e=UTF8ToString(e),l=inetPton4(e),l!==null)if(u===0||u===2)u=2;else if(u===10&&c&8)l=[0,0,_htonl(65535),l],u=10;else return-2;else if(l=inetPton6(e),l!==null)if(u===0||u===10)u=10;else return-2;return l!=null?(f=v(u,p,m,e,l,_),HEAPU32[a>>2]=f,0):c&4?-2:(e=DNS.lookup_name(e),l=inetPton4(e),u===0?u=2:u===10&&(l=[0,0,_htonl(65535),l]),f=v(u,p,m,null,l,_),HEAPU32[a>>2]=f,0)};_getaddrinfo.sig="ipppp";var _getnameinfo=(e,t,r,a,n,o,l)=>{var _=readSockaddr(e,t);if(_.errno)return-6;var c=_.port,u=_.addr,p=!1;if(r&&a){var m;if(l&1||!(m=DNS.lookup_addr(u))){if(l&8)return-2}else u=m;var f=stringToUTF8(u,r,a);f+1>=a&&(p=!0)}if(n&&o){c=""+c;var f=stringToUTF8(c,n,o);f+1>=o&&(p=!0)}return p?-12:0};_getnameinfo.sig="ipipipii";function _random_get(e,t){try{return randomFill(HEAPU8.subarray(e,e+t)),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return r.errno}}_random_get.sig="ipp";var FS_createPath=FS.createPath,FS_unlink=e=>FS.unlink(e),FS_createLazyFile=FS.createLazyFile,FS_createDevice=FS.createDevice,writeI53ToI64Clamped=(e,t)=>{t>9223372036854776e3?(HEAPU32[e>>2]=4294967295,HEAPU32[e+4>>2]=2147483647):t<-9223372036854776e3?(HEAPU32[e>>2]=0,HEAPU32[e+4>>2]=2147483648):writeI53ToI64(e,t)},writeI53ToI64Signaling=(e,t)=>{if(t>9223372036854776e3||t<-9223372036854776e3)throw`RangeError: ${t}`;writeI53ToI64(e,t)},writeI53ToU64Clamped=(e,t)=>{t>18446744073709552e3?(HEAPU32[e>>2]=4294967295,HEAPU32[e+4>>2]=4294967295):t<0?(HEAPU32[e>>2]=0,HEAPU32[e+4>>2]=0):writeI53ToI64(e,t)},writeI53ToU64Signaling=(e,t)=>{if(t<0||t>18446744073709552e3)throw`RangeError: ${t}`;writeI53ToI64(e,t)},readI53FromU64=e=>HEAPU32[e>>2]+HEAPU32[e+4>>2]*4294967296,convertI32PairToI53=(e,t)=>(e>>>0)+t*4294967296,convertI32PairToI53Checked=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+t*4294967296:NaN,convertU32PairToI53=(e,t)=>(e>>>0)+(t>>>0)*4294967296,getTempRet0=e=>__emscripten_tempret_get(),setTempRet0=e=>__emscripten_tempret_set(e),_stackAlloc=stackAlloc,_stackSave=stackSave,_stackRestore=stackSave,_setTempRet0=setTempRet0;Module._setTempRet0=_setTempRet0;var _getTempRet0=getTempRet0;Module._getTempRet0=_getTempRet0;var ptrToString=e=>(e>>>=0,"0x"+e.toString(16).padStart(8,"0")),_emscripten_notify_memory_growth=e=>{updateMemoryViews()};_emscripten_notify_memory_growth.sig="vp";var withStackSave=e=>{var t=stackSave(),r=e();return stackRestore(t),r},strError=e=>UTF8ToString(_strerror(e)),Protocols={list:[],map:{}},_setprotoent=e=>{function t(o,l,_){var c=_malloc(o.length+1);stringToAscii(o,c);for(var u=0,p=_.length,m=_malloc((p+1)*4),f=0;f<p;f++,u+=4){var d=_[f],v=_malloc(d.length+1);stringToAscii(d,v),HEAPU32[m+u>>2]=v}HEAPU32[m+u>>2]=0;var g=_malloc(12);return HEAPU32[g>>2]=c,HEAPU32[g+4>>2]=m,HEAP32[g+8>>2]=l,g}var r=Protocols.list,a=Protocols.map;if(r.length===0){var n=t("tcp",6,["TCP"]);r.push(n),a.tcp=a[6]=n,n=t("udp",17,["UDP"]),r.push(n),a.udp=a[17]=n}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";var _getprotoent=e=>{if(_setprotoent.index===Protocols.list.length)return 0;var t=Protocols.list[_setprotoent.index++];return t};_getprotoent.sig="p";var _getprotobyname=e=>{e=UTF8ToString(e),_setprotoent(!0);var t=Protocols.map[e];return t};_getprotobyname.sig="pp";var _getprotobynumber=e=>{_setprotoent(!0);var t=Protocols.map[e];return t};_getprotobynumber.sig="pi";var _emscripten_run_script=ptr=>{eval(UTF8ToString(ptr))};_emscripten_run_script.sig="vp";var _emscripten_run_script_int=ptr=>eval(UTF8ToString(ptr))|0;_emscripten_run_script_int.sig="ip";var _emscripten_run_script_string=ptr=>{var s=eval(UTF8ToString(ptr));if(s==null)return 0;s+="";var me=_emscripten_run_script_string,len=lengthBytesUTF8(s);return(!me.bufferSize||me.bufferSize<len+1)&&(me.bufferSize&&_free(me.buffer),me.bufferSize=len+1,me.buffer=_malloc(me.bufferSize)),stringToUTF8(s,me.buffer,me.bufferSize),me.buffer};_emscripten_run_script_string.sig="pp";var _emscripten_random=()=>Math.random();_emscripten_random.sig="f";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var warnOnce=e=>{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,ENVIRONMENT_IS_NODE&&(e="warning: "+e),err(e))},jsStackTrace=()=>new Error().stack.toString(),getCallstack=e=>{var t=jsStackTrace(),r=t.lastIndexOf("_emscripten_log"),a=t.lastIndexOf("_emscripten_get_callstack"),n=t.indexOf(`
13
+ `,Math.max(r,a))+1;t=t.slice(n),e&8&&typeof emscripten_source_map>"u"&&(warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var o=t.split(`
14
+ `);t="";var l=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),_=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var u in o){var p=o[u],m="",f="",d=0,v=0,g=c.exec(p);if(g&&g.length==5)m=g[1],f=g[2],d=g[3],v=g[4];else if(g=l.exec(p)||_.exec(p),g&&g.length>=4)m=g[1],f=g[2],d=g[3],v=g[4]|0;else{t+=p+`
15
+ `;continue}var S=!1;if(e&8){var A=emscripten_source_map.originalPositionFor({line:d,column:v});S=A?.source,S&&(e&64&&(A.source=A.source.substring(A.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=` at ${m} (${A.source}:${A.line}:${A.column})
16
+ `)}(e&16||!S)&&(e&64&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(S?` = ${m}`:` at ${m}`)+` (${f}:${d}:${v})
17
+ `)}return t=t.replace(/\s+$/,""),t},emscriptenLog=(e,t)=>{e&24&&(t=t.replace(/\s+$/,""),t+=(t.length>0?`
18
+ `:"")+getCallstack(e)),e&1?e&4?console.error(t):e&2?console.warn(t):e&512?console.info(t):e&256?console.debug(t):console.log(t):e&6?err(t):out(t)},reallyNegative=e=>e<0||e===0&&1/e===-1/0,reSign=(e,t)=>{if(e<=0)return e;var r=t<=32?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=r&&(t<=32||e>r)&&(e=-2*r+e),e},unSign=(e,t)=>e>=0?e:t<=32?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e,strLen=e=>{for(var t=e;HEAPU8[t];)++t;return t-e},formatString=(e,t)=>{var r=e,a=t;function n(J,K){return(K==="double"||K==="i64")&&J&7&&(J+=4),J}function o(J){var K;return a=n(a,J),J==="double"?(K=HEAPF64[a>>3],a+=8):J=="i64"?(K=[HEAP32[a>>2],HEAP32[a+4>>2]],a+=8):(J="i32",K=HEAP32[a>>2],a+=4),K}for(var l=[],_,c,u;;){var p=r;if(_=HEAP8[r],_===0)break;if(c=HEAP8[r+1],_==37){var m=!1,f=!1,d=!1,v=!1,g=!1;e:for(;;){switch(c){case 43:m=!0;break;case 45:f=!0;break;case 35:d=!0;break;case 48:if(v)break e;v=!0;break;case 32:g=!0;break;default:break e}r++,c=HEAP8[r+1]}var S=0;if(c==42)S=o("i32"),r++,c=HEAP8[r+1];else for(;c>=48&&c<=57;)S=S*10+(c-48),r++,c=HEAP8[r+1];var A=!1,b=-1;if(c==46){if(b=0,A=!0,r++,c=HEAP8[r+1],c==42)b=o("i32"),r++;else for(;;){var L=HEAP8[r+1];if(L<48||L>57)break;b=b*10+(L-48),r++}c=HEAP8[r+1]}b<0&&(b=6,A=!1);var y;switch(String.fromCharCode(c)){case"h":var w=HEAP8[r+2];w==104?(r++,y=1):y=2;break;case"l":var w=HEAP8[r+2];w==108?(r++,y=8):y=4;break;case"L":case"q":case"j":y=8;break;case"z":case"t":case"I":y=4;break;default:y=null}switch(y&&r++,c=HEAP8[r+1],String.fromCharCode(c)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var F=c==100||c==105;y=y||4,u=o("i"+y*8);var E;if(y==8&&(u=c==117?convertU32PairToI53(u[0],u[1]):convertI32PairToI53(u[0],u[1])),y<=4){var T=Math.pow(256,y)-1;u=(F?reSign:unSign)(u&T,y*8)}var P=Math.abs(u),D="";if(c==100||c==105)E=reSign(u,8*y).toString(10);else if(c==117)E=unSign(u,8*y).toString(10),u=Math.abs(u);else if(c==111)E=(d?"0":"")+P.toString(8);else if(c==120||c==88){if(D=d&&u!=0?"0x":"",u<0){u=-u,E=(P-1).toString(16);for(var I=[],M=0;M<E.length;M++)I.push((15-parseInt(E[M],16)).toString(16));for(E=I.join("");E.length<y*2;)E="f"+E}else E=P.toString(16);c==88&&(D=D.toUpperCase(),E=E.toUpperCase())}else c==112&&(P===0?E="(nil)":(D="0x",E=P.toString(16)));if(A)for(;E.length<b;)E="0"+E;for(u>=0&&(m?D="+"+D:g&&(D=" "+D)),E.charAt(0)=="-"&&(D="-"+D,E=E.substr(1));D.length+E.length<S;)f?E+=" ":v?E="0"+E:D=" "+D;E=D+E,E.split("").forEach(J=>l.push(J.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{u=o("double");var E;if(isNaN(u))E="nan",v=!1;else if(!isFinite(u))E=(u<0?"-":"")+"inf",v=!1;else{var B=!1,O=Math.min(b,20);if(c==103||c==71){B=!0,b=b||1;var H=parseInt(u.toExponential(O).split("e")[1],10);b>H&&H>=-4?(c=(c==103?"f":"F").charCodeAt(0),b-=H+1):(c=(c==103?"e":"E").charCodeAt(0),b--),O=Math.min(b,20)}c==101||c==69?(E=u.toExponential(O),/[eE][-+]\d$/.test(E)&&(E=E.slice(0,-1)+"0"+E.slice(-1))):(c==102||c==70)&&(E=u.toFixed(O),u===0&&reallyNegative(u)&&(E="-"+E));var R=E.split("e");if(B&&!d)for(;R[0].length>1&&R[0].includes(".")&&(R[0].slice(-1)=="0"||R[0].slice(-1)==".");)R[0]=R[0].slice(0,-1);else for(d&&E.indexOf(".")==-1&&(R[0]+=".");b>O++;)R[0]+="0";E=R[0]+(R.length>1?"e"+R[1]:""),c==69&&(E=E.toUpperCase()),u>=0&&(m?E="+"+E:g&&(E=" "+E))}for(;E.length<S;)f?E+=" ":v&&(E[0]=="-"||E[0]=="+")?E=E[0]+"0"+E.slice(1):E=(v?"0":" ")+E;c<97&&(E=E.toUpperCase()),E.split("").forEach(K=>l.push(K.charCodeAt(0)));break}case"s":{var N=o("i8*"),j=N?strLen(N):6;if(A&&(j=Math.min(j,b)),!f)for(;j<S--;)l.push(32);if(N)for(var M=0;M<j;M++)l.push(HEAPU8[N++]);else l=l.concat(intArrayFromString("(null)".substr(0,j),!0));if(f)for(;j<S--;)l.push(32);break}case"c":{for(f&&l.push(o("i8"));--S>0;)l.push(32);f||l.push(o("i8"));break}case"n":{var ne=o("i32*");HEAP32[ne>>2]=l.length;break}case"%":{l.push(_);break}default:for(var M=p;M<r+2;M++)l.push(HEAP8[M])}r+=2}else l.push(_),r+=1}return l},_emscripten_log=(e,t,r)=>{var a=formatString(t,r),n=UTF8ArrayToString(a);emscriptenLog(e,n)};_emscripten_log.sig="vipp";var _emscripten_get_compiler_setting=e=>{throw"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"};_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";var _emscripten_print_double=(e,t,r)=>{var a=e+"";return t?stringToUTF8(a,t,r):lengthBytesUTF8(a)};_emscripten_print_double.sig="idpi";var _emscripten_asm_const_double=(e,t,r)=>runEmAsmFunction(e,t,r);_emscripten_asm_const_double.sig="dppp";var _emscripten_asm_const_ptr=(e,t,r)=>runEmAsmFunction(e,t,r);_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(e,t,r,a)=>{var n=readEmAsmArgs(t,r);return ASM_CONSTS[e](...n)},_emscripten_asm_const_int_sync_on_main_thread=(e,t,r)=>runMainThreadEmAsm(e,t,r,1);_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";var _emscripten_asm_const_ptr_sync_on_main_thread=(e,t,r)=>runMainThreadEmAsm(e,t,r,1);_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";var _emscripten_asm_const_async_on_main_thread=(e,t,r)=>runMainThreadEmAsm(e,t,r,0);_emscripten_asm_const_async_on_main_thread.sig="vppp";var jstoi_s=Number,__Unwind_Backtrace=(e,t)=>{for(var r=getCallstack(),a=r.split(`
19
+ `),n=0;n<a.length;n++){var o=getWasmTableEntry(e)(0,t);if(o!==0)return}};__Unwind_Backtrace.sig="ipp";var __Unwind_GetIPInfo=(e,t)=>abort("Unwind_GetIPInfo");__Unwind_GetIPInfo.sig="ppp";var __Unwind_FindEnclosingFunction=e=>0;__Unwind_FindEnclosingFunction.sig="pp";class ExceptionInfo{constructor(t){this.excPtr=t,this.ptr=t-24}set_type(t){HEAPU32[this.ptr+4>>2]=t}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(t){HEAPU32[this.ptr+8>>2]=t}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(t){t=t?1:0,HEAP8[this.ptr+12]=t}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(t){t=t?1:0,HEAP8[this.ptr+13]=t}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(t,r){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(r)}set_adjusted_ptr(t){HEAPU32[this.ptr+16>>2]=t}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0,uncaughtExceptionCount=0,___cxa_throw=(e,t,r)=>{var a=new ExceptionInfo(e);throw a.init(t,r),exceptionLast=e,uncaughtExceptionCount++,exceptionLast};___cxa_throw.sig="vppp";var __Unwind_RaiseException=e=>(err("Warning: _Unwind_RaiseException is not correctly implemented"),___cxa_throw(e,0,0));__Unwind_RaiseException.sig="ip";var __Unwind_DeleteException=e=>err("TODO: Unwind_DeleteException");__Unwind_DeleteException.sig="vp";var getDynCaller=(e,t)=>(...r)=>dynCall(e,t,r),_emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_outn=(e,t)=>out(UTF8ToString(e,t));_emscripten_outn.sig="vpp";var _emscripten_errn=(e,t)=>err(UTF8ToString(e,t));_emscripten_errn.sig="vpp";var _emscripten_throw_number=e=>{throw e};_emscripten_throw_number.sig="vd";var _emscripten_throw_string=e=>{throw UTF8ToString(e)};_emscripten_throw_string.sig="vp";var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=e=>(e=="__main_argc_argv"&&(e="main"),e.startsWith("dynCall_")?e:"_"+e),___global_base=12582912,__emscripten_fs_load_embedded_files=e=>{do{var t=HEAPU32[e>>2];e+=4;var r=HEAPU32[e>>2];e+=4;var a=HEAPU32[e>>2];e+=4;var n=UTF8ToString(t);FS.createPath("/",PATH.dirname(n),!0,!0),FS.createDataFile(n,null,HEAP8.subarray(a,a+r),!0,!0,!0)}while(HEAPU32[e>>2])};__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(e){switch(e){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*")return POINTER_SIZE;if(e[0]==="i"){let t=Number(e.substr(1));return assert(t%8===0,`getNativeTypeSize invalid bits ${t}, ${e} type`),t/8}return 0}}}var STACK_SIZE=65536,STACK_ALIGN=16,ASSERTIONS=0,getCFunc=e=>{var t=Module["_"+e];return t},writeArrayToMemory=(e,t)=>{HEAP8.set(e,t)},ccall=(e,t,r,a,n)=>{var o={string:v=>{var g=0;return v!=null&&v!==0&&(g=stringToUTF8OnStack(v)),g},array:v=>{var g=stackAlloc(v.length);return writeArrayToMemory(v,g),g}};function l(v){return t==="string"?UTF8ToString(v):t==="boolean"?!!v:v}var _=getCFunc(e),c=[],u=0;if(a)for(var p=0;p<a.length;p++){var m=o[r[p]];m?(u===0&&(u=stackSave()),c[p]=m(a[p])):c[p]=a[p]}var f=_(...c);function d(v){return u!==0&&stackRestore(u),l(v)}return f=d(f),f},cwrap=(e,t,r,a)=>{var n=!r||r.every(l=>l==="number"||l==="boolean"),o=t!=="string";return o&&n&&!a?getCFunc(e):(...l)=>ccall(e,t,r,l,a)},removeFunction=e=>{functionsInTableMap.delete(getWasmTableEntry(e)),setWasmTableEntry(e,null),freeTableIndexes.push(e)},_emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(e,t)=>e%t;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";var _emscripten_math_hypot=(e,t)=>{for(var r=[],a=0;a<e;++a)r.push(HEAPF64[t+a*8>>3]);return Math.hypot(...r)};_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";function intArrayToString(e){for(var t=[],r=0;r<e.length;r++){var a=e[r];a>255&&(a&=255),t.push(String.fromCharCode(a))}return t.join("")}var AsciiToString=e=>{for(var t="";;){var r=HEAPU8[e++];if(!r)return t;t+=String.fromCharCode(r)}},UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,UTF16ToString=(e,t)=>{for(var r=e,a=r>>1,n=a+t/2;!(a>=n)&&HEAPU16[a];)++a;if(r=a<<1,r-e>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(e,r));for(var o="",l=0;!(l>=t/2);++l){var _=HEAP16[e+l*2>>1];if(_==0)break;o+=String.fromCharCode(_)}return o},stringToUTF16=(e,t,r)=>{if(r??(r=2147483647),r<2)return 0;r-=2;for(var a=t,n=r<e.length*2?r/2:e.length,o=0;o<n;++o){var l=e.charCodeAt(o);HEAP16[t>>1]=l,t+=2}return HEAP16[t>>1]=0,t-a},lengthBytesUTF16=e=>e.length*2,UTF32ToString=(e,t)=>{for(var r=0,a="";!(r>=t/4);){var n=HEAP32[e+r*4>>2];if(n==0)break;if(++r,n>=65536){var o=n-65536;a+=String.fromCharCode(55296|o>>10,56320|o&1023)}else a+=String.fromCharCode(n)}return a},stringToUTF32=(e,t,r)=>{if(r??(r=2147483647),r<4)return 0;for(var a=t,n=a+r-4,o=0;o<e.length;++o){var l=e.charCodeAt(o);if(l>=55296&&l<=57343){var _=e.charCodeAt(++o);l=65536+((l&1023)<<10)|_&1023}if(HEAP32[t>>2]=l,t+=4,t+4>n)break}return HEAP32[t>>2]=0,t-a},lengthBytesUTF32=e=>{for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);a>=55296&&a<=57343&&++r,t+=4}return t},JSEvents={memcpy(e,t,r){HEAP8.set(HEAP8.subarray(t,t+r),e)},removeAllEventListeners(){for(;JSEvents.eventHandlers.length;)JSEvents._removeHandler(JSEvents.eventHandlers.length-1);JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,t,r){function a(o,l){if(o.length!=l.length)return!1;for(var _ in o)if(o[_]!=l[_])return!1;return!0}for(var n of JSEvents.deferredCalls)if(n.targetFunction==e&&a(n.argsList,r))return;JSEvents.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),JSEvents.deferredCalls.sort((o,l)=>o.precedence<l.precedence)},removeDeferredCalls(e){JSEvents.deferredCalls=JSEvents.deferredCalls.filter(t=>t.targetFunction!=e)},canPerformEventHandlerRequests(){return navigator.userActivation?navigator.userActivation.isActive:JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(JSEvents.canPerformEventHandlerRequests()){var e=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var t of e)t.targetFunction(...t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<JSEvents.eventHandlers.length;++r)JSEvents.eventHandlers[r].target==e&&(!t||t==JSEvents.eventHandlers[r].eventTypeString)&&JSEvents._removeHandler(r--)},_removeHandler(e){var t=JSEvents.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),JSEvents.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(r){++JSEvents.inEventHandler,JSEvents.currentEventHandler=e,JSEvents.runDeferredCalls(),e.handlerFunc(r),JSEvents.runDeferredCalls(),--JSEvents.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),JSEvents.eventHandlers.push(e);else for(var t=0;t<JSEvents.eventHandlers.length;++t)JSEvents.eventHandlers[t].target==e.target&&JSEvents.eventHandlers[t].eventTypeString==e.eventTypeString&&JSEvents._removeHandler(t--);return 0},getNodeNameForTarget(e){return e?e==window?"#window":e==screen?"#screen":e?.nodeName||"":""},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},maybeCStringToJsString=e=>e>2?UTF8ToString(e):e,specialHTMLTargets=[0,typeof document<"u"?document:0,typeof window<"u"?window:0],findEventTarget=e=>{e=maybeCStringToJsString(e);var t=specialHTMLTargets[e]||(typeof document<"u"?document.querySelector(e):null);return t},registerKeyEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.keyEvent||(JSEvents.keyEvent=_malloc(160));var _=u=>{var p=JSEvents.keyEvent;HEAPF64[p>>3]=u.timeStamp;var m=p>>2;HEAP32[m+2]=u.location,HEAP8[p+12]=u.ctrlKey,HEAP8[p+13]=u.shiftKey,HEAP8[p+14]=u.altKey,HEAP8[p+15]=u.metaKey,HEAP8[p+16]=u.repeat,HEAP32[m+5]=u.charCode,HEAP32[m+6]=u.keyCode,HEAP32[m+7]=u.which,stringToUTF8(u.key||"",p+32,32),stringToUTF8(u.code||"",p+64,32),stringToUTF8(u.char||"",p+96,32),stringToUTF8(u.locale||"",p+128,32),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},findCanvasEventTarget=findEventTarget,_emscripten_set_keypress_callback_on_thread=(e,t,r,a,n)=>registerKeyEventCallback(e,t,r,a,1,"keypress",n);_emscripten_set_keypress_callback_on_thread.sig="ippipp";var _emscripten_set_keydown_callback_on_thread=(e,t,r,a,n)=>registerKeyEventCallback(e,t,r,a,2,"keydown",n);_emscripten_set_keydown_callback_on_thread.sig="ippipp";var _emscripten_set_keyup_callback_on_thread=(e,t,r,a,n)=>registerKeyEventCallback(e,t,r,a,3,"keyup",n);_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0},fillMouseEventData=(e,t,r)=>{HEAPF64[e>>3]=t.timeStamp;var a=e>>2;HEAP32[a+2]=t.screenX,HEAP32[a+3]=t.screenY,HEAP32[a+4]=t.clientX,HEAP32[a+5]=t.clientY,HEAP8[e+24]=t.ctrlKey,HEAP8[e+25]=t.shiftKey,HEAP8[e+26]=t.altKey,HEAP8[e+27]=t.metaKey,HEAP16[a*2+14]=t.button,HEAP16[a*2+15]=t.buttons,HEAP32[a+8]=t.movementX,HEAP32[a+9]=t.movementY;var n=1,o=1,l=getBoundingClientRect(r);r.getContext&&!r.getContext("2d")&&(n=r.width/l.width,o=r.height/l.height),HEAP32[a+10]=(t.clientX-l.left)*n,HEAP32[a+11]=(t.clientY-l.top)*o},registerMouseEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.mouseEvent||(JSEvents.mouseEvent=_malloc(64)),e=findEventTarget(e);var _=(u=event)=>{fillMouseEventData(JSEvents.mouseEvent,u,e),getWasmTableEntry(a)(n,JSEvents.mouseEvent,t)&&u.preventDefault()},c={target:e,allowsDeferredCalls:o!="mousemove"&&o!="mouseenter"&&o!="mouseleave",eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_click_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,4,"click",n);_emscripten_set_click_callback_on_thread.sig="ippipp";var _emscripten_set_mousedown_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,5,"mousedown",n);_emscripten_set_mousedown_callback_on_thread.sig="ippipp";var _emscripten_set_mouseup_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,6,"mouseup",n);_emscripten_set_mouseup_callback_on_thread.sig="ippipp";var _emscripten_set_dblclick_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,7,"dblclick",n);_emscripten_set_dblclick_callback_on_thread.sig="ippipp";var _emscripten_set_mousemove_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,8,"mousemove",n);_emscripten_set_mousemove_callback_on_thread.sig="ippipp";var _emscripten_set_mouseenter_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,33,"mouseenter",n);_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";var _emscripten_set_mouseleave_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,34,"mouseleave",n);_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";var _emscripten_set_mouseover_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,35,"mouseover",n);_emscripten_set_mouseover_callback_on_thread.sig="ippipp";var _emscripten_set_mouseout_callback_on_thread=(e,t,r,a,n)=>registerMouseEventCallback(e,t,r,a,36,"mouseout",n);_emscripten_set_mouseout_callback_on_thread.sig="ippipp";var _emscripten_get_mouse_status=e=>JSEvents.mouseEvent?(JSEvents.memcpy(e,JSEvents.mouseEvent,64),0):-7;_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.wheelEvent||(JSEvents.wheelEvent=_malloc(96));var _=(u=event)=>{var p=JSEvents.wheelEvent;fillMouseEventData(p,u,e),HEAPF64[p+64>>3]=u.deltaX,HEAPF64[p+72>>3]=u.deltaY,HEAPF64[p+80>>3]=u.deltaZ,HEAP32[p+88>>2]=u.deltaMode,getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:e,allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_wheel_callback_on_thread=(e,t,r,a,n)=>(e=findEventTarget(e),e?typeof e.onwheel<"u"?registerWheelEventCallback(e,t,r,a,9,"wheel",n):-1:-4);_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.uiEvent||(JSEvents.uiEvent=_malloc(36)),e=findEventTarget(e);var _=(u=event)=>{if(u.target==e){var p=document.body;if(p){var m=JSEvents.uiEvent;HEAP32[m>>2]=0,HEAP32[m+4>>2]=p.clientWidth,HEAP32[m+8>>2]=p.clientHeight,HEAP32[m+12>>2]=innerWidth,HEAP32[m+16>>2]=innerHeight,HEAP32[m+20>>2]=outerWidth,HEAP32[m+24>>2]=outerHeight,HEAP32[m+28>>2]=pageXOffset|0,HEAP32[m+32>>2]=pageYOffset|0,getWasmTableEntry(a)(n,m,t)&&u.preventDefault()}}},c={target:e,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_resize_callback_on_thread=(e,t,r,a,n)=>registerUiEventCallback(e,t,r,a,10,"resize",n);_emscripten_set_resize_callback_on_thread.sig="ippipp";var _emscripten_set_scroll_callback_on_thread=(e,t,r,a,n)=>registerUiEventCallback(e,t,r,a,11,"scroll",n);_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.focusEvent||(JSEvents.focusEvent=_malloc(256));var _=(u=event)=>{var p=JSEvents.getNodeNameForTarget(u.target),m=u.target.id?u.target.id:"",f=JSEvents.focusEvent;stringToUTF8(p,f+0,128),stringToUTF8(m,f+128,128),getWasmTableEntry(a)(n,f,t)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_blur_callback_on_thread=(e,t,r,a,n)=>registerFocusEventCallback(e,t,r,a,12,"blur",n);_emscripten_set_blur_callback_on_thread.sig="ippipp";var _emscripten_set_focus_callback_on_thread=(e,t,r,a,n)=>registerFocusEventCallback(e,t,r,a,13,"focus",n);_emscripten_set_focus_callback_on_thread.sig="ippipp";var _emscripten_set_focusin_callback_on_thread=(e,t,r,a,n)=>registerFocusEventCallback(e,t,r,a,14,"focusin",n);_emscripten_set_focusin_callback_on_thread.sig="ippipp";var _emscripten_set_focusout_callback_on_thread=(e,t,r,a,n)=>registerFocusEventCallback(e,t,r,a,15,"focusout",n);_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(e,t,r)=>{HEAPF64[e>>3]=t.alpha,HEAPF64[e+8>>3]=t.beta,HEAPF64[e+16>>3]=t.gamma,HEAP8[e+24]=t.absolute},registerDeviceOrientationEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.deviceOrientationEvent||(JSEvents.deviceOrientationEvent=_malloc(32));var _=(u=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,u,e),getWasmTableEntry(a)(n,JSEvents.deviceOrientationEvent,t)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_deviceorientation_callback_on_thread=(e,t,r,a)=>registerDeviceOrientationEventCallback(2,e,t,r,16,"deviceorientation",a);_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";var _emscripten_get_deviceorientation_status=e=>JSEvents.deviceOrientationEvent?(JSEvents.memcpy(e,JSEvents.deviceOrientationEvent,32),0):-7;_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(e,t,r)=>{var a=0,n=t.acceleration;a|=n&&1;var o=t.accelerationIncludingGravity;a|=o&&2;var l=t.rotationRate;a|=l&&4,n=n||{},o=o||{},l=l||{},HEAPF64[e>>3]=n.x,HEAPF64[e+8>>3]=n.y,HEAPF64[e+16>>3]=n.z,HEAPF64[e+24>>3]=o.x,HEAPF64[e+32>>3]=o.y,HEAPF64[e+40>>3]=o.z,HEAPF64[e+48>>3]=l.alpha,HEAPF64[e+56>>3]=l.beta,HEAPF64[e+64>>3]=l.gamma},registerDeviceMotionEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.deviceMotionEvent||(JSEvents.deviceMotionEvent=_malloc(80));var _=(u=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,u,e),getWasmTableEntry(a)(n,JSEvents.deviceMotionEvent,t)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_devicemotion_callback_on_thread=(e,t,r,a)=>registerDeviceMotionEventCallback(2,e,t,r,17,"devicemotion",a);_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";var _emscripten_get_devicemotion_status=e=>JSEvents.deviceMotionEvent?(JSEvents.memcpy(e,JSEvents.deviceMotionEvent,80),0):-7;_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(window.screen)return screen.orientation||screen.mozOrientation||screen.webkitOrientation},fillOrientationChangeEventData=e=>{var t=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"],r=["portrait","portrait","landscape","landscape"],a=0,n=0,o=screenOrientation();typeof o=="object"?(a=t.indexOf(o.type),a<0&&(a=r.indexOf(o.type)),a>=0&&(a=1<<a),n=o.angle):n=window.orientation,HEAP32[e>>2]=a,HEAP32[e+4>>2]=n},registerOrientationChangeEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.orientationChangeEvent||(JSEvents.orientationChangeEvent=_malloc(8));var _=(u=event)=>{var p=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(p),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_orientationchange_callback_on_thread=(e,t,r,a)=>!window.screen||!screen.orientation?-1:registerOrientationChangeEventCallback(screen.orientation,e,t,r,18,"change",a);_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";var _emscripten_get_orientation_status=e=>!screenOrientation()&&typeof orientation>"u"?-1:(fillOrientationChangeEventData(e),0);_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=e=>{var t=[];e&1&&t.push("portrait-primary"),e&2&&t.push("portrait-secondary"),e&4&&t.push("landscape-primary"),e&8&&t.push("landscape-secondary");var r;if(screen.lockOrientation)r=screen.lockOrientation(t);else if(screen.mozLockOrientation)r=screen.mozLockOrientation(t);else if(screen.webkitLockOrientation)r=screen.webkitLockOrientation(t);else return-1;return r?0:-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation)screen.unlockOrientation();else if(screen.mozUnlockOrientation)screen.mozUnlockOrientation();else if(screen.webkitUnlockOrientation)screen.webkitUnlockOrientation();else return-1;return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=e=>{var t=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement,r=!!t;HEAP8[e]=r,HEAP8[e+1]=JSEvents.fullscreenEnabled();var a=r?t:JSEvents.previousFullscreenElement,n=JSEvents.getNodeNameForTarget(a),o=a?.id||"";stringToUTF8(n,e+2,128),stringToUTF8(o,e+130,128),HEAP32[e+260>>2]=a?a.clientWidth:0,HEAP32[e+264>>2]=a?a.clientHeight:0,HEAP32[e+268>>2]=screen.width,HEAP32[e+272>>2]=screen.height,r&&(JSEvents.previousFullscreenElement=t)},registerFullscreenChangeEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.fullscreenChangeEvent||(JSEvents.fullscreenChangeEvent=_malloc(276));var _=(u=event)=>{var p=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(p),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_fullscreenchange_callback_on_thread=(e,t,r,a,n)=>JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?(registerFullscreenChangeEventCallback(e,t,r,a,19,"webkitfullscreenchange",n),registerFullscreenChangeEventCallback(e,t,r,a,19,"fullscreenchange",n)):-4):-1;_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";var _emscripten_get_fullscreen_status=e=>JSEvents.fullscreenEnabled()?(fillFullscreenChangeEventData(e),0):-1;_emscripten_get_fullscreen_status.sig="ip";var _emscripten_get_canvas_element_size=(e,t,r)=>{var a=findCanvasEventTarget(e);if(!a)return-4;HEAP32[t>>2]=a.width,HEAP32[r>>2]=a.height};_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=e=>{var t=stackSave(),r=stackAlloc(8),a=r+4,n=stringToUTF8OnStack(e.id),o=_emscripten_get_canvas_element_size(n,r,a),l=[HEAP32[r>>2],HEAP32[a>>2]];return stackRestore(t),l},_emscripten_set_canvas_element_size=(e,t,r)=>{var a=findCanvasEventTarget(e);return a?(a.width=t,a.height=r,0):-4};_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(e,t,r)=>{if(!e.controlTransferredOffscreen)e.width=t,e.height=r;else{var a=stackSave(),n=stringToUTF8OnStack(e.id);_emscripten_set_canvas_element_size(n,t,r),stackRestore(a)}},registerRestoreOldStyle=e=>{var t=getCanvasElementSize(e),r=t[0],a=t[1],n=e.style.width,o=e.style.height,l=e.style.backgroundColor,_=document.body.style.backgroundColor,c=e.style.paddingLeft,u=e.style.paddingRight,p=e.style.paddingTop,m=e.style.paddingBottom,f=e.style.marginLeft,d=e.style.marginRight,v=e.style.marginTop,g=e.style.marginBottom,S=document.body.style.margin,A=document.documentElement.style.overflow,b=document.body.scroll,L=e.style.imageRendering;function y(){var w=document.fullscreenElement||document.webkitFullscreenElement;w||(document.removeEventListener("fullscreenchange",y),document.removeEventListener("webkitfullscreenchange",y),setCanvasElementSize(e,r,a),e.style.width=n,e.style.height=o,e.style.backgroundColor=l,_||(document.body.style.backgroundColor="white"),document.body.style.backgroundColor=_,e.style.paddingLeft=c,e.style.paddingRight=u,e.style.paddingTop=p,e.style.paddingBottom=m,e.style.marginLeft=f,e.style.marginRight=d,e.style.marginTop=v,e.style.marginBottom=g,document.body.style.margin=S,document.documentElement.style.overflow=A,document.body.scroll=b,e.style.imageRendering=L,e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,r,a),currentFullscreenStrategy.canvasResizedCallback&&getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData))}return document.addEventListener("fullscreenchange",y),document.addEventListener("webkitfullscreenchange",y),y},setLetterbox=(e,t,r)=>{e.style.paddingLeft=e.style.paddingRight=r+"px",e.style.paddingTop=e.style.paddingBottom=t+"px"},JSEvents_resizeCanvasForFullscreen=(e,t)=>{var r,a,n=registerRestoreOldStyle(e),o=t.softFullscreen?innerWidth:screen.width,l=t.softFullscreen?innerHeight:screen.height,_=getBoundingClientRect(e),c=_.width,u=_.height,p=getCanvasElementSize(e),m=p[0],f=p[1];if(t.scaleMode==3)setLetterbox(e,(l-u)/2,(o-c)/2),o=c,l=u;else if(t.scaleMode==2)if(o*f<m*l){var d=f*o/m;setLetterbox(e,(l-d)/2,0),l=d}else{var v=m*l/f;setLetterbox(e,0,(o-v)/2),o=v}(r=e.style).backgroundColor||(r.backgroundColor="black"),(a=document.body.style).backgroundColor||(a.backgroundColor="black"),e.style.width=o+"px",e.style.height=l+"px",t.filteringMode==1&&(e.style.imageRendering="optimizeSpeed",e.style.imageRendering="-moz-crisp-edges",e.style.imageRendering="-o-crisp-edges",e.style.imageRendering="-webkit-optimize-contrast",e.style.imageRendering="optimize-contrast",e.style.imageRendering="crisp-edges",e.style.imageRendering="pixelated");var g=t.canvasResolutionScaleMode==2?devicePixelRatio:1;if(t.canvasResolutionScaleMode!=0){var S=o*g|0,A=l*g|0;setCanvasElementSize(e,S,A),e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,S,A)}return n},JSEvents_requestFullscreen=(e,t)=>{if((t.scaleMode!=0||t.canvasResolutionScaleMode!=0)&&JSEvents_resizeCanvasForFullscreen(e,t),e.requestFullscreen)e.requestFullscreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);else return JSEvents.fullscreenEnabled()?-3:-1;return currentFullscreenStrategy=t,t.canvasResizedCallback&&getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData),0},hideEverythingExceptGivenElement=e=>{for(var t=e,r=t.parentNode,a=[];t!=document.body;){for(var n=r.children,o=0;o<n.length;++o)n[o]!=t&&(a.push({node:n[o],displayState:n[o].style.display}),n[o].style.display="none");t=r,r=r.parentNode}return a},restoreHiddenElements=e=>{for(var t of e)t.node.style.display=t.displayState},currentFullscreenStrategy={},restoreOldWindowedStyle=null,softFullscreenResizeWebGLRenderTarget=()=>{var e=devicePixelRatio,t=currentFullscreenStrategy.canvasResolutionScaleMode==2,r=currentFullscreenStrategy.scaleMode==2,a=currentFullscreenStrategy.canvasResolutionScaleMode!=0,n=currentFullscreenStrategy.scaleMode==3,o=t?Math.round(innerWidth*e):innerWidth,l=t?Math.round(innerHeight*e):innerHeight,_=o,c=l,u=currentFullscreenStrategy.target,p=getCanvasElementSize(u),m=p[0],f=p[1],d;if(r&&(_*f<m*c?c=_*f/m|0:_*f>m*c&&(_=c*m/f|0),d=(l-c)/2|0),a&&(setCanvasElementSize(u,_,c),u.GLctxObject&&u.GLctxObject.GLctx.viewport(0,0,_,c)),t&&(d/=e,_/=e,c/=e,_=Math.round(_*1e4)/1e4,c=Math.round(c*1e4)/1e4,d=Math.round(d*1e4)/1e4),n){var v=(innerHeight-jstoi_q(u.style.height))/2,g=(innerWidth-jstoi_q(u.style.width))/2;setLetterbox(u,v,g)}else{u.style.width=_+"px",u.style.height=c+"px";var g=(innerWidth-_)/2;setLetterbox(u,d,g)}!n&&currentFullscreenStrategy.canvasResizedCallback&&getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)},doRequestFullscreen=(e,t)=>JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?!e.requestFullscreen&&!e.webkitRequestFullscreen?-3:JSEvents.canPerformEventHandlerRequests()?JSEvents_requestFullscreen(e,t):t.deferUntilInEventHandler?(JSEvents.deferCall(JSEvents_requestFullscreen,1,[e,t]),1):-2:-4):-1,_emscripten_request_fullscreen=(e,t)=>{var r={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:t,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(e,r)};_emscripten_request_fullscreen.sig="ipi";var _emscripten_request_fullscreen_strategy=(e,t,r)=>{var a={scaleMode:HEAP32[r>>2],canvasResolutionScaleMode:HEAP32[r+4>>2],filteringMode:HEAP32[r+8>>2],deferUntilInEventHandler:t,canvasResizedCallback:HEAP32[r+12>>2],canvasResizedCallbackUserData:HEAP32[r+16>>2]};return doRequestFullscreen(e,a)};_emscripten_request_fullscreen_strategy.sig="ipip";var _emscripten_enter_soft_fullscreen=(e,t)=>{if(e=findEventTarget(e),!e)return-4;var r={scaleMode:HEAP32[t>>2],canvasResolutionScaleMode:HEAP32[t+4>>2],filteringMode:HEAP32[t+8>>2],canvasResizedCallback:HEAP32[t+12>>2],canvasResizedCallbackUserData:HEAP32[t+16>>2],target:e,softFullscreen:!0},a=JSEvents_resizeCanvasForFullscreen(e,r);document.documentElement.style.overflow="hidden",document.body.scroll="no",document.body.style.margin="0px";var n=hideEverythingExceptGivenElement(e);function o(){a(),restoreHiddenElements(n),removeEventListener("resize",softFullscreenResizeWebGLRenderTarget),r.canvasResizedCallback&&getWasmTableEntry(r.canvasResizedCallback)(37,0,r.canvasResizedCallbackUserData),currentFullscreenStrategy=0}return restoreOldWindowedStyle=o,currentFullscreenStrategy=r,addEventListener("resize",softFullscreenResizeWebGLRenderTarget),r.canvasResizedCallback&&getWasmTableEntry(r.canvasResizedCallback)(37,0,r.canvasResizedCallbackUserData),0};_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>(restoreOldWindowedStyle?.(),restoreOldWindowedStyle=null,0);_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var e=specialHTMLTargets[1];if(e.exitFullscreen)e.fullscreenElement&&e.exitFullscreen();else if(e.webkitExitFullscreen)e.webkitFullscreenElement&&e.webkitExitFullscreen();else return-1;return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=e=>{var t=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement,r=!!t;HEAP8[e]=r;var a=JSEvents.getNodeNameForTarget(t),n=t?.id||"";stringToUTF8(a,e+1,128),stringToUTF8(n,e+129,128)},registerPointerlockChangeEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.pointerlockChangeEvent||(JSEvents.pointerlockChangeEvent=_malloc(257));var _=(u=event)=>{var p=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(p),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_pointerlockchange_callback_on_thread=(e,t,r,a,n)=>!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockChangeEventCallback(e,t,r,a,20,"mozpointerlockchange",n),registerPointerlockChangeEventCallback(e,t,r,a,20,"webkitpointerlockchange",n),registerPointerlockChangeEventCallback(e,t,r,a,20,"mspointerlockchange",n),registerPointerlockChangeEventCallback(e,t,r,a,20,"pointerlockchange",n)):-4);_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(e,t,r,a,n,o,l)=>{var _=(u=event)=>{getWasmTableEntry(a)(n,0,t)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_pointerlockerror_callback_on_thread=(e,t,r,a,n)=>!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockErrorEventCallback(e,t,r,a,38,"mozpointerlockerror",n),registerPointerlockErrorEventCallback(e,t,r,a,38,"webkitpointerlockerror",n),registerPointerlockErrorEventCallback(e,t,r,a,38,"mspointerlockerror",n),registerPointerlockErrorEventCallback(e,t,r,a,38,"pointerlockerror",n)):-4);_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";var _emscripten_get_pointerlock_status=e=>(e&&fillPointerlockChangeEventData(e),!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:0);_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=e=>{if(e.requestPointerLock)e.requestPointerLock();else return document.body.requestPointerLock?-3:-1;return 0},_emscripten_request_pointerlock=(e,t)=>(e=findEventTarget(e),e?e.requestPointerLock?JSEvents.canPerformEventHandlerRequests()?requestPointerLock(e):t?(JSEvents.deferCall(requestPointerLock,2,[e]),1):-2:-1:-4);_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{if(JSEvents.removeDeferredCalls(requestPointerLock),document.exitPointerLock)document.exitPointerLock();else return-1;return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=e=>navigator.vibrate?(navigator.vibrate(e),0):-1;_emscripten_vibrate.sig="ii";var _emscripten_vibrate_pattern=(e,t)=>{if(!navigator.vibrate)return-1;for(var r=[],a=0;a<t;++a){var n=HEAP32[e+a*4>>2];r.push(n)}return navigator.vibrate(r),0};_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=e=>{var t=["hidden","visible","prerender","unloaded"],r=t.indexOf(document.visibilityState);HEAP8[e]=document.hidden,HEAP32[e+4>>2]=r},registerVisibilityChangeEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.visibilityChangeEvent||(JSEvents.visibilityChangeEvent=_malloc(8));var _=(u=event)=>{var p=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(p),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_visibilitychange_callback_on_thread=(e,t,r,a)=>specialHTMLTargets[1]?registerVisibilityChangeEventCallback(specialHTMLTargets[1],e,t,r,21,"visibilitychange",a):-4;_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";var _emscripten_get_visibility_status=e=>typeof document.visibilityState>"u"&&typeof document.hidden>"u"?-1:(fillVisibilityChangeEventData(e),0);_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.touchEvent||(JSEvents.touchEvent=_malloc(1552)),e=findEventTarget(e);var _=u=>{var p,m={},f=u.touches;for(let b of f)b.isChanged=b.onTarget=0,m[b.identifier]=b;for(let b of u.changedTouches)b.isChanged=1,m[b.identifier]=b;for(let b of u.targetTouches)m[b.identifier].onTarget=1;var d=JSEvents.touchEvent;HEAPF64[d>>3]=u.timeStamp,HEAP8[d+12]=u.ctrlKey,HEAP8[d+13]=u.shiftKey,HEAP8[d+14]=u.altKey,HEAP8[d+15]=u.metaKey;var v=d+16,g=getBoundingClientRect(e),S=0;for(let b of Object.values(m)){var A=v>>2;if(HEAP32[A+0]=b.identifier,HEAP32[A+1]=b.screenX,HEAP32[A+2]=b.screenY,HEAP32[A+3]=b.clientX,HEAP32[A+4]=b.clientY,HEAP32[A+5]=b.pageX,HEAP32[A+6]=b.pageY,HEAP8[v+28]=b.isChanged,HEAP8[v+29]=b.onTarget,HEAP32[A+8]=b.clientX-(g.left|0),HEAP32[A+9]=b.clientY-(g.top|0),v+=48,++S>31)break}HEAP32[d+8>>2]=S,getWasmTableEntry(a)(n,d,t)&&u.preventDefault()},c={target:e,allowsDeferredCalls:o=="touchstart"||o=="touchend",eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_touchstart_callback_on_thread=(e,t,r,a,n)=>registerTouchEventCallback(e,t,r,a,22,"touchstart",n);_emscripten_set_touchstart_callback_on_thread.sig="ippipp";var _emscripten_set_touchend_callback_on_thread=(e,t,r,a,n)=>registerTouchEventCallback(e,t,r,a,23,"touchend",n);_emscripten_set_touchend_callback_on_thread.sig="ippipp";var _emscripten_set_touchmove_callback_on_thread=(e,t,r,a,n)=>registerTouchEventCallback(e,t,r,a,24,"touchmove",n);_emscripten_set_touchmove_callback_on_thread.sig="ippipp";var _emscripten_set_touchcancel_callback_on_thread=(e,t,r,a,n)=>registerTouchEventCallback(e,t,r,a,25,"touchcancel",n);_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(e,t)=>{HEAPF64[e>>3]=t.timestamp;for(var r=0;r<t.axes.length;++r)HEAPF64[e+r*8+16>>3]=t.axes[r];for(var r=0;r<t.buttons.length;++r)typeof t.buttons[r]=="object"?HEAPF64[e+r*8+528>>3]=t.buttons[r].value:HEAPF64[e+r*8+528>>3]=t.buttons[r];for(var r=0;r<t.buttons.length;++r)typeof t.buttons[r]=="object"?HEAP8[e+r+1040]=t.buttons[r].pressed:HEAP8[e+r+1040]=t.buttons[r]==1;HEAP8[e+1104]=t.connected,HEAP32[e+1108>>2]=t.index,HEAP32[e+8>>2]=t.axes.length,HEAP32[e+12>>2]=t.buttons.length,stringToUTF8(t.id,e+1112,64),stringToUTF8(t.mapping,e+1176,64)},registerGamepadEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.gamepadEvent||(JSEvents.gamepadEvent=_malloc(1240));var _=(u=event)=>{var p=JSEvents.gamepadEvent;fillGamepadEventData(p,u.gamepad),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:findEventTarget(e),allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch{navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";var _emscripten_set_gamepadconnected_callback_on_thread=(e,t,r,a)=>_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,t,r,26,"gamepadconnected",a);_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";var _emscripten_set_gamepaddisconnected_callback_on_thread=(e,t,r,a)=>_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,t,r,27,"gamepaddisconnected",a);_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";var _emscripten_get_gamepad_status=(e,t)=>e<0||e>=JSEvents.lastGamepadState.length?-5:JSEvents.lastGamepadState[e]?(fillGamepadEventData(t,JSEvents.lastGamepadState[e]),0):-7;_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(e,t,r,a,n,o)=>{var l=(c=event)=>{var u=getWasmTableEntry(a)(n,0,t);if(u&&(u=UTF8ToString(u)),u)return c.preventDefault(),c.returnValue=u,u},_={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:l,useCapture:r};return JSEvents.registerOrRemoveHandler(_)},_emscripten_set_beforeunload_callback_on_thread=(e,t,r)=>typeof onbeforeunload>"u"?-1:r!==1?-5:registerBeforeUnloadEventCallback(2,e,!0,t,28,"beforeunload");_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(e,t)=>{HEAPF64[e>>3]=t.chargingTime,HEAPF64[e+8>>3]=t.dischargingTime,HEAPF64[e+16>>3]=t.level,HEAP8[e+24]=t.charging},battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery,registerBatteryEventCallback=(e,t,r,a,n,o,l)=>{JSEvents.batteryEvent||(JSEvents.batteryEvent=_malloc(32));var _=(u=event)=>{var p=JSEvents.batteryEvent;fillBatteryEventData(p,battery()),getWasmTableEntry(a)(n,p,t)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};return JSEvents.registerOrRemoveHandler(c)},_emscripten_set_batterychargingchange_callback_on_thread=(e,t,r)=>battery()?registerBatteryEventCallback(battery(),e,!0,t,29,"chargingchange",r):-1;_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=(e,t,r)=>battery()?registerBatteryEventCallback(battery(),e,!0,t,30,"levelchange",r):-1;_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var _emscripten_get_battery_status=e=>battery()?(fillBatteryEventData(e,battery()),0):-1;_emscripten_get_battery_status.sig="ip";var _emscripten_set_element_css_size=(e,t,r)=>(e=findEventTarget(e),e?(e.style.width=t+"px",e.style.height=r+"px",0):-4);_emscripten_set_element_css_size.sig="ipdd";var _emscripten_get_element_css_size=(e,t,r)=>{if(e=findEventTarget(e),!e)return-4;var a=getBoundingClientRect(e);return HEAPF64[t>>3]=a.width,HEAPF64[r>>3]=a.height,0};_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=(e,t)=>requestAnimationFrame(r=>getWasmTableEntry(e)(r,t));_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=e=>cancelAnimationFrame(e);_emscripten_cancel_animation_frame.sig="vi";var _emscripten_request_animation_frame_loop=(e,t)=>{function r(a){getWasmTableEntry(e)(a,t)&&requestAnimationFrame(r)}return requestAnimationFrame(r)};_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;_emscripten_get_device_pixel_ratio.sig="d";var _emscripten_get_callstack=(e,t,r)=>{var a=getCallstack(e);if(!t||r<=0)return lengthBytesUTF8(a)+1;var n=stringToUTF8(a,t,r);return n+1};_emscripten_get_callstack.sig="iipi";var convertFrameToPC=e=>(abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0),_emscripten_return_address=e=>{var t=jsStackTrace().split(`
20
+ `);t[0]=="Error"&&t.shift();var r=t[e+3];return convertFrameToPC(r)};_emscripten_return_address.sig="pi";var UNWIND_CACHE={},saveInUnwindCache=e=>{e.forEach(t=>{var r=convertFrameToPC(t);r&&(UNWIND_CACHE[r]=t)})},_emscripten_stack_snapshot=()=>{var e=jsStackTrace().split(`
21
+ `);return e[0]=="Error"&&e.shift(),saveInUnwindCache(e),UNWIND_CACHE.last_addr=convertFrameToPC(e[3]),UNWIND_CACHE.last_stack=e,UNWIND_CACHE.last_addr};_emscripten_stack_snapshot.sig="p";var _emscripten_stack_unwind_buffer=(e,t,r)=>{var a;UNWIND_CACHE.last_addr==e?a=UNWIND_CACHE.last_stack:(a=jsStackTrace().split(`
22
+ `),a[0]=="Error"&&a.shift(),saveInUnwindCache(a));for(var n=3;a[n]&&convertFrameToPC(a[n])!=e;)++n;for(var o=0;o<r&&a[o+n];++o)HEAP32[t+o*4>>2]=convertFrameToPC(a[o+n]);return o};_emscripten_stack_unwind_buffer.sig="ippi";var _emscripten_pc_get_function=e=>(abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0);_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=e=>{if(UNWIND_CACHE.last_get_source_pc==e)return UNWIND_CACHE.last_source;var t,r;if(!r){var a=UNWIND_CACHE[e];if(!a)return null;(t=/\((.*):(\d+):(\d+)\)$/.exec(a))?r={file:t[1],line:t[2],column:t[3]}:(t=/@(.*):(\d+):(\d+)/.exec(a))&&(r={file:t[1],line:t[2],column:t[3]})}return UNWIND_CACHE.last_get_source_pc=e,UNWIND_CACHE.last_source=r,r},_emscripten_pc_get_file=e=>{var t=convertPCtoSourceLocation(e);return t?(_emscripten_pc_get_file.ret&&_free(_emscripten_pc_get_file.ret),_emscripten_pc_get_file.ret=stringToNewUTF8(t.file),_emscripten_pc_get_file.ret):0};_emscripten_pc_get_file.sig="pp";var _emscripten_pc_get_line=e=>{var t=convertPCtoSourceLocation(e);return t?t.line:0};_emscripten_pc_get_line.sig="ip";var _emscripten_pc_get_column=e=>{var t=convertPCtoSourceLocation(e);return t&&t.column||0};_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;Module._sched_yield=_sched_yield,_sched_yield.sig="i";var wasiRightsToMuslOFlags=e=>{if(e&2&&e&64)return 2;if(e&2)return 0;if(e&64)return 1;throw new FS.ErrnoError(28)},wasiOFlagsToMuslOFlags=e=>{var t=0;return e&1&&(t|=64),e&8&&(t|=512),e&2&&(t|=65536),e&4&&(t|=128),t},_emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(e,t)=>setTimeout(()=>{callUserCallback(e)},t),setImmediateWrapped=e=>{setImmediateWrapped.mapping||(setImmediateWrapped.mapping=[]);var t=setImmediateWrapped.mapping.length;return setImmediateWrapped.mapping[t]=setImmediate(()=>{setImmediateWrapped.mapping[t]=void 0,e()}),t},safeRequestAnimationFrame=e=>MainLoop.requestAnimationFrame(()=>{callUserCallback(e)}),clearImmediateWrapped=e=>{clearImmediate(setImmediateWrapped.mapping[e]),setImmediateWrapped.mapping[e]=void 0},polyfillSetImmediate=()=>{},_emscripten_set_immediate=(e,t)=>emSetImmediate(()=>{callUserCallback(()=>getWasmTableEntry(e)(t))});_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=e=>{emClearImmediate(e)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=(e,t)=>{function r(){callUserCallback(()=>{getWasmTableEntry(e)(t)&&emSetImmediate(r)})}emSetImmediate(r)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=(e,t,r)=>safeSetTimeout(()=>getWasmTableEntry(e)(r),t);_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=(e,t,r)=>{function a(){var n=_emscripten_get_now(),o=n+t;callUserCallback(()=>{getWasmTableEntry(e)(n,r)&&setTimeout(a,o-_emscripten_get_now())})}return setTimeout(a,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=(e,t,r)=>setInterval(()=>{callUserCallback(()=>getWasmTableEntry(e)(r))},t);_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=e=>{clearInterval(e)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=(e,t,r)=>{var a=()=>getWasmTableEntry(e)(t);r>=0||ENVIRONMENT_IS_NODE?safeSetTimeout(a,r):safeRequestAnimationFrame(a)};_emscripten_async_call.sig="vppi";var registerPostMainLoop=e=>{typeof MainLoop<"u"&&MainLoop.postMainLoop.push(e)},registerPreMainLoop=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},_emscripten_get_main_loop_timing=(e,t)=>{e&&(HEAP32[e>>2]=MainLoop.timingMode),t&&(HEAP32[t>>2]=MainLoop.timingValue)};_emscripten_get_main_loop_timing.sig="vpp";var _emscripten_set_main_loop=(e,t,r)=>{var a=getWasmTableEntry(e);setMainLoop(a,t,r)};_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=(e,t,r,a)=>{var n=()=>getWasmTableEntry(e)(t);setMainLoop(n,r,a,t)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause(),MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>MainLoop.pause();_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>MainLoop.resume();_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=(e,t,r)=>{MainLoop.queue.push({func:()=>{getWasmTableEntry(e)(t)},name:UTF8ToString(r),counted:!0}),MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=(e,t,r)=>{MainLoop.queue.push({func:()=>{getWasmTableEntry(e)(t)},name:UTF8ToString(r),counted:!1}),MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=e=>{MainLoop.expectedBlockers=e,MainLoop.remainingBlockers=e,MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(e,t)=>{for(var r=[],a=0;a<t;a++){var n=HEAP32[e+a*4>>2];r[a]=getPromise(n)}return r},makePromiseCallback=(e,t)=>r=>{var a=stackSave(),n=stackAlloc(POINTER_SIZE);HEAPU32[n>>2]=0;try{var o=getWasmTableEntry(e)(n,t,r),l=HEAPU32[n>>2]}catch(c){throw typeof c!="number"?0:c}finally{stackRestore(a)}switch(o){case 0:return l;case 1:return getPromise(l);case 2:var _=getPromise(l);return _emscripten_promise_destroy(l),_;case 3:throw l}},_emscripten_promise_then=(e,t,r,a)=>{var n=getPromise(e),o=promiseMap.allocate({promise:n.then(makePromiseCallback(t,a),makePromiseCallback(r,a))});return o};_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=(e,t,r)=>{var a=idsToPromises(e,r),n=promiseMap.allocate({promise:Promise.all(a).then(o=>{if(t)for(var l=0;l<r;l++){var _=o[l];HEAPU32[t+l*4>>2]=_}return t})});return n};_emscripten_promise_all.sig="pppp";var setPromiseResult=(e,t,r)=>{var a=t?0:3;HEAP32[e>>2]=a,HEAPU32[e+4>>2]=r},_emscripten_promise_all_settled=(e,t,r)=>{var a=idsToPromises(e,r),n=promiseMap.allocate({promise:Promise.allSettled(a).then(o=>{if(t)for(var l=t,_=0;_<r;_++,l+=8)o[_].status==="fulfilled"?setPromiseResult(l,!0,o[_].value):setPromiseResult(l,!1,o[_].reason);return t})});return n};_emscripten_promise_all_settled.sig="pppp";var _emscripten_promise_any=(e,t,r)=>{var a=idsToPromises(e,r),n=promiseMap.allocate({promise:Promise.any(a).catch(o=>{if(t)for(var l=0;l<r;l++)HEAPU32[t+l*4>>2]=o.errors[l];throw t})});return n};_emscripten_promise_any.sig="pppp";var _emscripten_promise_race=(e,t)=>{var r=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.race(r)});return a};_emscripten_promise_race.sig="ppp";var _emscripten_promise_await=(e,t)=>{abort("emscripten_promise_await is only available with ASYNCIFY")};_emscripten_promise_await.sig="vpp";var ___resumeException=e=>{throw exceptionLast||(exceptionLast=e),exceptionLast};___resumeException.sig="vp";var findMatchingCatch=e=>{var t=exceptionLast;if(!t)return setTempRet0(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var a=r.get_type();if(!a)return setTempRet0(0),t;for(var n of e){if(n===0||n===a)break;var o=r.ptr+16;if(___cxa_can_catch(n,a,o))return setTempRet0(n),t}return setTempRet0(a),t},___cxa_find_matching_catch_2=()=>findMatchingCatch([]);___cxa_find_matching_catch_2.sig="p";var ___cxa_find_matching_catch_3=e=>findMatchingCatch([e]);___cxa_find_matching_catch_3.sig="pp";var ___cxa_find_matching_catch_4=(e,t)=>findMatchingCatch([e,t]);___cxa_find_matching_catch_4.sig="ppp";var exceptionCaught=[],___cxa_rethrow=()=>{var e=exceptionCaught.pop();e||abort("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(exceptionCaught.push(e),e.set_rethrown(!0),e.set_caught(!1),uncaughtExceptionCount++),exceptionLast=t,exceptionLast};___cxa_rethrow.sig="v";var _llvm_eh_typeid_for=e=>e;_llvm_eh_typeid_for.sig="vp";var ___cxa_begin_catch=e=>{var t=new ExceptionInfo(e);return t.get_caught()||(t.set_caught(!0),uncaughtExceptionCount--),t.set_rethrown(!1),exceptionCaught.push(t),___cxa_increment_exception_refcount(e),___cxa_get_exception_ptr(e)};___cxa_begin_catch.sig="pp";var ___cxa_end_catch=()=>{_setThrew(0,0);var e=exceptionCaught.pop();___cxa_decrement_exception_refcount(e.excPtr),exceptionLast=0};___cxa_end_catch.sig="v";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;Module.___cxa_uncaught_exceptions=___cxa_uncaught_exceptions,___cxa_uncaught_exceptions.sig="i";var ___cxa_call_unexpected=e=>abort("Unexpected exception thrown, this is not properly supported - aborting");___cxa_call_unexpected.sig="vp";var ___cxa_current_primary_exception=()=>{if(!exceptionCaught.length)return 0;var e=exceptionCaught[exceptionCaught.length-1];return ___cxa_increment_exception_refcount(e.excPtr),e.excPtr};Module.___cxa_current_primary_exception=___cxa_current_primary_exception,___cxa_current_primary_exception.sig="p";var ___cxa_rethrow_primary_exception=e=>{if(e){var t=new ExceptionInfo(e);exceptionCaught.push(t),t.set_rethrown(!0),___cxa_rethrow()}};Module.___cxa_rethrow_primary_exception=___cxa_rethrow_primary_exception,___cxa_rethrow_primary_exception.sig="vp";var Browser={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},init(){if(Browser.initted)return;Browser.initted=!0;var e={};e.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(n)},e.handle=function(n,o,l,_){var c=new Blob([n],{type:Browser.getMimetype(o)});c.size!==n.length&&(c=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(o)}));var u=URL.createObjectURL(c),p=new Image;p.onload=()=>{var m=document.createElement("canvas");m.width=p.width,m.height=p.height;var f=m.getContext("2d");f.drawImage(p,0,0),Browser.preloadedImages[o]=m,URL.revokeObjectURL(u),l?.(n)},p.onerror=m=>{err(`Image ${u} could not be decoded`),_?.()},p.src=u},preloadPlugins.push(e);var t={};t.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},t.handle=function(n,o,l,_){var c=!1;function u(v){c||(c=!0,Browser.preloadedAudios[o]=v,l?.(n))}function p(){c||(c=!0,Browser.preloadedAudios[o]=new Audio,_?.())}var m=new Blob([n],{type:Browser.getMimetype(o)}),f=URL.createObjectURL(m),d=new Audio;d.addEventListener("canplaythrough",()=>u(d),!1),d.onerror=function(v){if(c)return;err(`warning: browser could not fully decode audio ${o}, trying slower base64 approach`);function g(S){for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b="=",L="",y=0,w=0,F=0;F<S.length;F++)for(y=y<<8|S[F],w+=8;w>=6;){var E=y>>w-6&63;w-=6,L+=A[E]}return w==2?(L+=A[(y&3)<<4],L+=b+b):w==4&&(L+=A[(y&15)<<2],L+=b),L}d.src="data:audio/x-"+o.substr(-3)+";base64,"+g(n),u(d)},d.src=f,safeSetTimeout(()=>{u(d)},1e4)},preloadPlugins.push(t);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var a=Module.canvas;a&&(a.requestPointerLock=a.requestPointerLock||a.mozRequestPointerLock||a.webkitRequestPointerLock||a.msRequestPointerLock||(()=>{}),a.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),a.exitPointerLock=a.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&a.addEventListener("click",n=>{!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),n.preventDefault())},!1))},createContext(e,t,r,a){if(t&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,o;if(t){var l={antialias:!1,alpha:!1,majorVersion:1};if(a)for(var _ in a)l[_]=a[_];typeof GL<"u"&&(o=GL.createContext(e,l),o&&(n=GL.getContext(o).GLctx))}else n=e.getContext("2d");return n?(r&&(Module.ctx=n,t&&GL.makeContextCurrent(o),Browser.useWebGL=t,Browser.moduleContextCreatedCallbacks.forEach(c=>c()),Browser.init()),n):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){Browser.lockPointer=e,Browser.resizeCanvas=t,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1);var r=Module.canvas;function a(){Browser.isFullscreen=!1;var o=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===o?(r.exitFullscreen=Browser.exitFullscreen,Browser.lockPointer&&r.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas?Browser.setFullscreenCanvasSize():Browser.updateCanvasDimensions(r)):(o.parentNode.insertBefore(r,o),o.parentNode.removeChild(o),Browser.resizeCanvas?Browser.setWindowedCanvasSize():Browser.updateCanvasDimensions(r)),Module.onFullScreen?.(Browser.isFullscreen),Module.onFullscreen?.(Browser.isFullscreen)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");r.parentNode.insertBefore(n,r),n.appendChild(r),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?()=>n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(n.webkitRequestFullScreen?()=>n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),n.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen)return!1;var e=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{});return e.apply(document,[]),!0},safeSetTimeout(e,t){return safeSetTimeout(e,t)},getMimetype(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=Module.canvas.getBoundingClientRect(),a=Module.canvas.width,n=Module.canvas.height,o=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,l=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset,_=e-(o+r.left),c=t-(l+r.top);return _=_*(a/r.width),c=c*(n/r.height),{x:_,y:c}},setMouseCoords(e,t){let{x:r,y:a}=Browser.calculateMouseCoords(e,t);Browser.mouseMovementX=r-Browser.mouseX,Browser.mouseMovementY=a-Browser.mouseY,Browser.mouseX=r,Browser.mouseY=a},calculateMouseEvent(e){if(Browser.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY;else{if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var t=e.touch;if(t===void 0)return;var r=Browser.calculateMouseCoords(t.pageX,t.pageY);if(e.type==="touchstart")Browser.lastTouches[t.identifier]=r,Browser.touches[t.identifier]=r;else if(e.type==="touchend"||e.type==="touchmove"){var a=Browser.touches[t.identifier];a||(a=r),Browser.lastTouches[t.identifier]=a,Browser.touches[t.identifier]=r}return}Browser.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=Module.canvas;Browser.resizeListeners.forEach(t=>t(e.width,e.height))},setCanvasSize(e,t,r){var a=Module.canvas;Browser.updateCanvasDimensions(a,e,t),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen>>2];e=e|8388608,HEAP32[SDL.screen>>2]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen>>2];e=e&-8388609,HEAP32[SDL.screen>>2]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var a=t,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(a/n<Module.forcedAspectRatio?a=Math.round(n*Module.forcedAspectRatio):n=Math.round(a/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&typeof screen<"u"){var o=Math.min(screen.width/a,screen.height/n);a=Math.round(a*o),n=Math.round(n*o)}Browser.resizeCanvas?(e.width!=a&&(e.width=a),e.height!=n&&(e.height=n),typeof e.style<"u"&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),typeof e.style<"u"&&(a!=t||n!=r?(e.style.setProperty("width",a+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},_emscripten_run_preload_plugins=(e,t,r)=>{var a=UTF8ToString(e),n=FS.analyzePath(a);return n.exists?(FS.createPreloadedFile(PATH.dirname(a),PATH.basename(a),FS.readFile(a),!0,!0,()=>{t&&getWasmTableEntry(t)(e)},()=>{r&&getWasmTableEntry(r)(e)},!0),0):-1};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0,_emscripten_run_preload_plugins_data=(e,t,r,a,n,o)=>{var l=UTF8ToString(r),_="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+l,c=stringToNewUTF8(_);FS.createPreloadedFile("/",_,HEAPU8.subarray(e,e+t),!0,!0,()=>{n&&getWasmTableEntry(n)(a,c)},()=>{o&&getWasmTableEntry(o)(a)},!0)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=(e,t)=>{safeSetTimeout(()=>_emscripten_run_script(e),t)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=(url,onload,onerror)=>{url=UTF8ToString(url);var loadDone=()=>{if(onload){var e=()=>callUserCallback(getWasmTableEntry(onload));runDependencies>0?dependenciesFulfilled=e:e()}},loadError=()=>{onerror&&callUserCallback(getWasmTableEntry(onerror))};if(ENVIRONMENT_IS_NODE){readAsync(url,!1).then(data=>{eval(data),loadDone()},loadError);return}var script=document.createElement("script");script.onload=loadDone,script.onerror=loadError,script.src=url,document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";var _emscripten_get_window_title=()=>{var e=256;return _emscripten_get_window_title.buffer||(_emscripten_get_window_title.buffer=_malloc(e)),stringToUTF8(document.title,_emscripten_get_window_title.buffer,e),_emscripten_get_window_title.buffer};_emscripten_get_window_title.sig="p";var _emscripten_set_window_title=e=>document.title=UTF8ToString(e);_emscripten_set_window_title.sig="vp";var _emscripten_get_screen_size=(e,t)=>{HEAP32[e>>2]=screen.width,HEAP32[t>>2]=screen.height};_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{for(var e=document.styleSheets[0],t=e.cssRules,r=0;r<t.length;r++)t[r].cssText.substr(0,6)=="canvas"&&(e.deleteRule(r),r--);e.insertRule("canvas.emscripten { border: 1px solid black; cursor: none; }",0)};_emscripten_hide_mouse.sig="v";var _emscripten_set_canvas_size=(e,t)=>Browser.setCanvasSize(e,t);_emscripten_set_canvas_size.sig="vii";var _emscripten_get_canvas_size=(e,t,r)=>{var a=Module.canvas;HEAP32[e>>2]=a.width,HEAP32[t>>2]=a.height,HEAP32[r>>2]=Browser.isFullscreen?1:0};_emscripten_get_canvas_size.sig="vppp";var _emscripten_create_worker=e=>{e=UTF8ToString(e);var t=Browser.workers.length,r={worker:new Worker(e),callbacks:[],awaited:0,buffer:0,bufferSize:0};return r.worker.onmessage=function(a){if(!ABORT){var n=Browser.workers[t];if(n){var o=a.data.callbackId,l=n.callbacks[o];if(l){a.data.finalResponse&&(n.awaited--,n.callbacks[o]=null);var _=a.data.data;_?(_.byteLength||(_=new Uint8Array(_)),(!n.buffer||n.bufferSize<_.length)&&(n.buffer&&_free(n.buffer),n.bufferSize=_.length,n.buffer=_malloc(_.length)),HEAPU8.set(_,n.buffer),l.func(n.buffer,_.length,l.arg)):l.func(0,0,l.arg)}}}},Browser.workers.push(r),t};_emscripten_create_worker.sig="ip";var _emscripten_destroy_worker=e=>{var t=Browser.workers[e];t.worker.terminate(),t.buffer&&_free(t.buffer),Browser.workers[e]=null};_emscripten_destroy_worker.sig="vi";var _emscripten_call_worker=(e,t,r,a,n,o)=>{t=UTF8ToString(t);var l=Browser.workers[e],_=-1;n&&(_=l.callbacks.length,l.callbacks.push({func:getWasmTableEntry(n),arg:o}),l.awaited++);var c={funcName:t,callbackId:_,data:r?new Uint8Array(HEAPU8.subarray(r,r+a)):0};r?l.worker.postMessage(c,[c.data.buffer]):l.worker.postMessage(c)};_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=e=>{var t=Browser.workers[e];return t?t.awaited:-1};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(e,t,r)=>{e=PATH_FS.resolve(e);var a=Browser.preloadedImages[e];if(!a)return 0;var n=a.getContext("2d"),o=n.getImageData(0,0,a.width,a.height),l=_malloc(a.width*a.height*4);return HEAPU8.set(o.data,l),HEAP32[t>>2]=a.width,HEAP32[r>>2]=a.height,l},_emscripten_get_preloaded_image_data=(e,t,r)=>getPreloadedImageData(UTF8ToString(e),t,r);_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"],_emscripten_get_preloaded_image_data_from_FILE=(e,t,r)=>{var a=_fileno(e),n=FS.getStream(a);return n?getPreloadedImageData(n.path,t,r):0};_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var e=wget.nextWgetRequestHandle;return wget.nextWgetRequestHandle++,e}},FS_mkdirTree=(e,t)=>FS.mkdirTree(e,t),_emscripten_async_wget=(e,t,r,a)=>{var n=UTF8ToString(e),o=UTF8ToString(t);o=PATH_FS.resolve(o);function l(c){c&&callUserCallback(()=>{var u=stackSave();getWasmTableEntry(c)(stringToUTF8OnStack(o)),stackRestore(u)})}var _=PATH.dirname(o);FS_createPreloadedFile(_,PATH.basename(o),n,!0,!0,()=>l(r),()=>l(a),!1,!1,()=>{try{FS_unlink(o)}catch{}FS_mkdirTree(_)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=(e,t,r,a)=>{asyncLoad(UTF8ToString(e)).then(n=>{callUserCallback(()=>{var o=_malloc(n.length);HEAPU8.set(n,o),getWasmTableEntry(r)(t,o,n.length),_free(o)})},()=>{a&&callUserCallback(()=>{getWasmTableEntry(a)(t)})})};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=(e,t,r,a,n,o,l,_)=>{var c=UTF8ToString(e),u=UTF8ToString(t);u=PATH_FS.resolve(u);var p=UTF8ToString(r),m=UTF8ToString(a),f=u.lastIndexOf("/"),d=new XMLHttpRequest;d.open(p,c,!0),d.responseType="arraybuffer";var v=wget.getNextWgetRequestHandle(),g=PATH.dirname(u);return d.onload=S=>{if(d.status>=200&&d.status<300){try{FS.unlink(u)}catch{}if(FS.mkdirTree(g),FS.createDataFile(u.substr(0,f),u.substr(f+1),new Uint8Array(d.response),!0,!0,!1),o){var A=stackSave();getWasmTableEntry(o)(v,n,stringToUTF8OnStack(u)),stackRestore(A)}}else l&&getWasmTableEntry(l)(v,n,d.status);delete wget.wgetRequests[v]},d.onerror=S=>{l&&getWasmTableEntry(l)(v,n,d.status),delete wget.wgetRequests[v]},d.onprogress=S=>{if(S.lengthComputable||S.lengthComputable===void 0&&S.total!=0){var A=S.loaded/S.total*100;_&&getWasmTableEntry(_)(v,n,A)}},d.onabort=S=>{delete wget.wgetRequests[v]},p=="POST"?(d.setRequestHeader("Content-type","application/x-www-form-urlencoded"),d.send(m)):d.send(null),wget.wgetRequests[v]=d,v};_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=(e,t,r,a,n,o,l,_)=>{var c=UTF8ToString(e),u=UTF8ToString(t),p=UTF8ToString(r),m=new XMLHttpRequest;m.open(u,c,!0),m.responseType="arraybuffer";var f=wget.getNextWgetRequestHandle();function d(){if(l){var v=stackSave(),g=0;m.statusText&&(g=stringToUTF8OnStack(m.statusText)),getWasmTableEntry(l)(f,a,m.status,g),stackRestore(v)}}return m.onload=v=>{if(m.status>=200&&m.status<300||m.status===0&&c.substr(0,4).toLowerCase()!="http"){var g=new Uint8Array(m.response),S=_malloc(g.length);HEAPU8.set(g,S),o&&getWasmTableEntry(o)(f,a,S,g.length),n&&_free(S)}else d();delete wget.wgetRequests[f]},m.onerror=v=>{d(),delete wget.wgetRequests[f]},m.onprogress=v=>{_&&getWasmTableEntry(_)(f,a,v.loaded,v.lengthComputable||v.lengthComputable===void 0?v.total:0)},m.onabort=v=>{delete wget.wgetRequests[f]},u=="POST"?(m.setRequestHeader("Content-type","application/x-www-form-urlencoded"),m.send(p)):m.send(null),wget.wgetRequests[f]=m,f};_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=e=>{var t=wget.wgetRequests[e];t?.abort()};_emscripten_async_wget2_abort.sig="vi";var ___asctime_r=(e,t)=>{var r={tm_sec:HEAP32[e>>2],tm_min:HEAP32[e+4>>2],tm_hour:HEAP32[e+8>>2],tm_mday:HEAP32[e+12>>2],tm_mon:HEAP32[e+16>>2],tm_year:HEAP32[e+20>>2],tm_wday:HEAP32[e+24>>2]},a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=a[r.tm_wday]+" "+n[r.tm_mon]+(r.tm_mday<10?" ":" ")+r.tm_mday+(r.tm_hour<10?" 0":" ")+r.tm_hour+(r.tm_min<10?":0":":")+r.tm_min+(r.tm_sec<10?":0":":")+r.tm_sec+" "+(1900+r.tm_year)+`
23
+ `;return stringToUTF8(o,t,26),t};___asctime_r.sig="ppp";var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],arraySum=(e,t)=>{for(var r=0,a=0;a<=t;r+=e[a++]);return r},addDays=(e,t)=>{for(var r=new Date(e.getTime());t>0;){var a=isLeapYear(r.getFullYear()),n=r.getMonth(),o=(a?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[n];if(t>o-r.getDate())t-=o-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1));else return r.setDate(r.getDate()+t),r}return r},_strptime=(e,t,r)=>{for(var a=UTF8ToString(t),n="\\!@#$^&*()+=-[]/{}|:<>?,.",o=0,l=n.length;o<l;++o)a=a.replace(new RegExp("\\"+n[o],"g"),"\\"+n[o]);var _={A:"%a",B:"%b",c:"%a %b %d %H:%M:%S %Y",D:"%m\\/%d\\/%y",e:"%d",F:"%Y-%m-%d",h:"%b",R:"%H\\:%M",r:"%I\\:%M\\:%S\\s%p",T:"%H\\:%M\\:%S",x:"%m\\/%d\\/(?:%y|%Y)",X:"%H\\:%M\\:%S"},c={a:"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)",b:"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)",C:"\\d\\d",d:"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31",H:"\\d(?!\\d)|[0,1]\\d|20|21|22|23",I:"\\d(?!\\d)|0\\d|10|11|12",j:"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d",m:"0[1-9]|[1-9](?!\\d)|10|11|12",M:"0\\d|\\d(?!\\d)|[1-5]\\d",n:" ",p:"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.",S:"0\\d|\\d(?!\\d)|[1-5]\\d|60",U:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",W:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",w:"[0-6]",y:"\\d\\d",Y:"\\d\\d\\d\\d",t:" ",z:"Z|(?:[\\+\\-]\\d\\d:?(?:\\d\\d)?)"},u={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11},p={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6},m={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6},f=[],d=a.replace(/%(.)/g,(R,N)=>_[N]||R).replace(/%(.)/g,(R,N)=>{let j=c[N];return j?(f.push(N),`(${j})`):N}).replace(/\s+/g,"\\s*"),v=new RegExp("^"+d,"i").exec(UTF8ToString(e));function g(){function R(N,j,ne){return typeof N!="number"||isNaN(N)?j:N>=j?N<=ne?N:ne:j}return{year:R(HEAP32[r+20>>2]+1900,1970,9999),month:R(HEAP32[r+16>>2],0,11),day:R(HEAP32[r+12>>2],1,31),hour:R(HEAP32[r+8>>2],0,23),min:R(HEAP32[r+4>>2],0,59),sec:R(HEAP32[r>>2],0,59),gmtoff:0}}if(v){var S=g(),A,b=R=>{var N=f.indexOf(R);if(N>=0)return v[N+1]};if((A=b("S"))&&(S.sec=jstoi_q(A)),(A=b("M"))&&(S.min=jstoi_q(A)),A=b("H"))S.hour=jstoi_q(A);else if(A=b("I")){var L=jstoi_q(A);(A=b("p"))&&(L+=A.toUpperCase()[0]==="P"?12:0),S.hour=L}if(A=b("Y"))S.year=jstoi_q(A);else if(A=b("y")){var y=jstoi_q(A);(A=b("C"))?y+=jstoi_q(A)*100:y+=y<69?2e3:1900,S.year=y}if((A=b("m"))?S.month=jstoi_q(A)-1:(A=b("b"))&&(S.month=u[A.substring(0,3).toUpperCase()]||0),A=b("d"))S.day=jstoi_q(A);else if(A=b("j"))for(var w=jstoi_q(A),F=isLeapYear(S.year),E=0;E<12;++E){var T=arraySum(F?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,E-1);w<=T+(F?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[E]&&(S.day=w-T)}else if(A=b("a")){var P=A.substring(0,3).toUpperCase();if(A=b("U")){var D=p[P],I=jstoi_q(A),M=new Date(S.year,0,1),B;M.getDay()===0?B=addDays(M,D+7*(I-1)):B=addDays(M,7-M.getDay()+D+7*(I-1)),S.day=B.getDate(),S.month=B.getMonth()}else if(A=b("W")){var D=m[P],I=jstoi_q(A),M=new Date(S.year,0,1),B;M.getDay()===1?B=addDays(M,D+7*(I-1)):B=addDays(M,7-M.getDay()+1+D+7*(I-1)),S.day=B.getDate(),S.month=B.getMonth()}}if(A=b("z"))if(A.toLowerCase()==="z")S.gmtoff=0;else{var O=A.match(/^((?:\-|\+)\d\d):?(\d\d)?/);S.gmtoff=O[1]*3600,O[2]&&(S.gmtoff+=S.gmtoff>0?O[2]*60:-O[2]*60)}var H=new Date(S.year,S.month,S.day,S.hour,S.min,S.sec,0);return HEAP32[r>>2]=H.getSeconds(),HEAP32[r+4>>2]=H.getMinutes(),HEAP32[r+8>>2]=H.getHours(),HEAP32[r+12>>2]=H.getDate(),HEAP32[r+16>>2]=H.getMonth(),HEAP32[r+20>>2]=H.getFullYear()-1900,HEAP32[r+24>>2]=H.getDay(),HEAP32[r+28>>2]=arraySum(isLeapYear(H.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,H.getMonth()-1)+H.getDate()-1,HEAP32[r+32>>2]=0,HEAP32[r+36>>2]=S.gmtoff,e+intArrayFromString(v[0]).length-1}return 0};_strptime.sig="pppp";var _strptime_l=(e,t,r,a)=>_strptime(e,t,r);_strptime_l.sig="ppppp";function ___syscall_shutdown(e,t){try{return getSocketFromFD(e),-52}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}Module.___syscall_shutdown=___syscall_shutdown,___syscall_shutdown.sig="iiiiiii";var __dlsym_catchup_js=(e,t)=>{var r=LDSO.loadedLibsByHandle[e],a=r.exports,n=Object.keys(a)[t],o=a[n],l=addFunction(o,o.sig);return l};__dlsym_catchup_js.sig="ppi";var FS_readFile=FS.readFile,_setNetworkCallback=(e,t,r)=>{function a(n){callUserCallback(()=>{e==="error"?withStackSave(()=>{var o=stringToUTF8OnStack(n[2]);getWasmTableEntry(r)(n[0],n[1],o,t)}):getWasmTableEntry(r)(n,t)})}SOCKFS.on(e,r?a:null)},_emscripten_set_socket_error_callback=(e,t)=>_setNetworkCallback("error",e,t);_emscripten_set_socket_error_callback.sig="vpp";var _emscripten_set_socket_open_callback=(e,t)=>_setNetworkCallback("open",e,t);_emscripten_set_socket_open_callback.sig="vpp";var _emscripten_set_socket_listen_callback=(e,t)=>_setNetworkCallback("listen",e,t);_emscripten_set_socket_listen_callback.sig="vpp";var _emscripten_set_socket_connection_callback=(e,t)=>_setNetworkCallback("connection",e,t);_emscripten_set_socket_connection_callback.sig="vpp";var _emscripten_set_socket_message_callback=(e,t)=>_setNetworkCallback("message",e,t);_emscripten_set_socket_message_callback.sig="vpp";var _emscripten_set_socket_close_callback=(e,t)=>_setNetworkCallback("close",e,t);_emscripten_set_socket_close_callback.sig="vpp";var _emscripten_webgl_enable_ANGLE_instanced_arrays=e=>webgl_enable_ANGLE_instanced_arrays(GL.contexts[e].GLctx);_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";var _emscripten_webgl_enable_OES_vertex_array_object=e=>webgl_enable_OES_vertex_array_object(GL.contexts[e].GLctx);_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";var _emscripten_webgl_enable_WEBGL_draw_buffers=e=>webgl_enable_WEBGL_draw_buffers(GL.contexts[e].GLctx);_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";var _emscripten_webgl_enable_WEBGL_multi_draw=e=>webgl_enable_WEBGL_multi_draw(GL.contexts[e].GLctx);_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";var _emscripten_webgl_enable_EXT_polygon_offset_clamp=e=>webgl_enable_EXT_polygon_offset_clamp(GL.contexts[e].GLctx);_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";var _emscripten_webgl_enable_EXT_clip_control=e=>webgl_enable_EXT_clip_control(GL.contexts[e].GLctx);_emscripten_webgl_enable_EXT_clip_control.sig="ip";var _emscripten_webgl_enable_WEBGL_polygon_mode=e=>webgl_enable_WEBGL_polygon_mode(GL.contexts[e].GLctx);_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";var _glVertexPointer=(e,t,r,a)=>{throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor,_glDrawArraysInstancedNV=_glDrawArraysInstanced,_glDrawElementsInstancedNV=_glDrawElementsInstanced,_glVertexAttribDivisorEXT=_glVertexAttribDivisor,_glDrawArraysInstancedEXT=_glDrawArraysInstanced,_glDrawElementsInstancedEXT=_glDrawElementsInstanced,_glVertexAttribDivisorARB=_glVertexAttribDivisor,_glDrawArraysInstancedARB=_glDrawArraysInstanced,_glDrawElementsInstancedARB=_glDrawElementsInstanced,_glDrawBuffersEXT=_glDrawBuffers,_glMultiDrawArraysWEBGL=(e,t,r,a)=>{GLctx.multiDrawWebgl.multiDrawArraysWEBGL(e,HEAP32,t>>2,HEAP32,r>>2,a)};_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL,_glMultiDrawArraysInstancedWEBGL=(e,t,r,a,n)=>{GLctx.multiDrawWebgl.multiDrawArraysInstancedWEBGL(e,HEAP32,t>>2,HEAP32,r>>2,HEAP32,a>>2,n)};_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL,_glMultiDrawElementsWEBGL=(e,t,r,a,n)=>{GLctx.multiDrawWebgl.multiDrawElementsWEBGL(e,HEAP32,t>>2,r,HEAP32,a>>2,n)};_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL,_glMultiDrawElementsInstancedWEBGL=(e,t,r,a,n,o)=>{GLctx.multiDrawWebgl.multiDrawElementsInstancedWEBGL(e,HEAP32,t>>2,r,HEAP32,a>>2,HEAP32,n>>2,o)};_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL,_glClearDepth=e=>GLctx.clearDepth(e);_glClearDepth.sig="vd";var _glDepthRange=(e,t)=>GLctx.depthRange(e,t);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV,_emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV,_emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV,_emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT,_emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT,_emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT,_emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB,_emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB,_emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB,_emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT,_emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE,_emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL,_emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE,_emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL,_emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE,_emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL,_emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE,_emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL,_emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(e,t,r,a)=>{var n=e.length,o=r<n?r:n,l=a?HEAPF32:HEAP32;t=t>>2;for(var _=0;_<o;++_)l[t+_]=e[_];return n},webglPowerPreferences=["default","low-power","high-performance"],_emscripten_webgl_do_create_context=(e,t)=>{var r=t>>2,a=HEAP32[r+2],n={alpha:!!HEAP8[t+0],depth:!!HEAP8[t+1],stencil:!!HEAP8[t+2],antialias:!!HEAP8[t+3],premultipliedAlpha:!!HEAP8[t+4],preserveDrawingBuffer:!!HEAP8[t+5],powerPreference:webglPowerPreferences[a],failIfMajorPerformanceCaveat:!!HEAP8[t+12],majorVersion:HEAP32[r+4],minorVersion:HEAP32[r+5],enableExtensionsByDefault:HEAP8[t+24],explicitSwapControl:HEAP8[t+25],proxyContextToMainThread:HEAP32[r+7],renderViaOffscreenBackBuffer:HEAP8[t+32]},o=findCanvasEventTarget(e);if(!o||n.explicitSwapControl)return 0;var l=GL.createContext(o,n);return l};_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>!GL.currentContext||!GL.currentContext.GLctx||!GL.currentContext.attributes.explicitSwapControl?-3:0;_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";var _emscripten_webgl_make_context_current=e=>{var t=GL.makeContextCurrent(e);return t?0:-5};_emscripten_webgl_make_context_current.sig="ip";var _emscripten_webgl_get_drawing_buffer_size=(e,t,r)=>{var a=GL.getContext(e);return!a||!a.GLctx||!t||!r?-5:(HEAP32[t>>2]=a.GLctx.drawingBufferWidth,HEAP32[r>>2]=a.GLctx.drawingBufferHeight,0)};_emscripten_webgl_get_drawing_buffer_size.sig="ippp";var _emscripten_webgl_get_context_attributes=(e,t)=>{if(!t)return-5;if(e=GL.contexts[e],!e)return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),HEAP8[t]=r.alpha,HEAP8[t+1]=r.depth,HEAP8[t+2]=r.stencil,HEAP8[t+3]=r.antialias,HEAP8[t+4]=r.premultipliedAlpha,HEAP8[t+5]=r.preserveDrawingBuffer;var a=r.powerPreference&&webglPowerPreferences.indexOf(r.powerPreference);return HEAP32[t+8>>2]=a,HEAP8[t+12]=r.failIfMajorPerformanceCaveat,HEAP32[t+16>>2]=e.version,HEAP32[t+20>>2]=0,HEAP8[t+24]=e.attributes.enableExtensionsByDefault,0};_emscripten_webgl_get_context_attributes.sig="ipp";var _emscripten_webgl_destroy_context=e=>{GL.currentContext==e&&(GL.currentContext=0),GL.deleteContext(e)};_emscripten_webgl_destroy_context.sig="ip";var _emscripten_webgl_enable_extension=(e,t)=>{var r=GL.getContext(e),a=UTF8ToString(t);a.startsWith("GL_")&&(a=a.substr(3)),a=="ANGLE_instanced_arrays"&&webgl_enable_ANGLE_instanced_arrays(GLctx),a=="OES_vertex_array_object"&&webgl_enable_OES_vertex_array_object(GLctx),a=="WEBGL_draw_buffers"&&webgl_enable_WEBGL_draw_buffers(GLctx),a=="WEBGL_multi_draw"&&webgl_enable_WEBGL_multi_draw(GLctx),a=="EXT_polygon_offset_clamp"&&webgl_enable_EXT_polygon_offset_clamp(GLctx),a=="EXT_clip_control"&&webgl_enable_EXT_clip_control(GLctx),a=="WEBGL_polygon_mode"&&webgl_enable_WEBGL_polygon_mode(GLctx);var n=r.GLctx.getExtension(a);return!!n};_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(e,t,r,a,n,o,l)=>{var _=(u=event)=>{getWasmTableEntry(a)(n,0,t)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:a,handlerFunc:_,useCapture:r};JSEvents.registerOrRemoveHandler(c)},_emscripten_set_webglcontextlost_callback_on_thread=(e,t,r,a,n)=>(registerWebGlEventCallback(e,t,r,a,31,"webglcontextlost",n),0);_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";var _emscripten_set_webglcontextrestored_callback_on_thread=(e,t,r,a,n)=>(registerWebGlEventCallback(e,t,r,a,32,"webglcontextrestored",n),0);_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";var _emscripten_is_webgl_context_lost=e=>!GL.contexts[e]||GL.contexts[e].GLctx.isContextLost();_emscripten_is_webgl_context_lost.sig="ip";var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(e,t)=>GLctx.getProgramParameter(GL.programs[e],t);_emscripten_webgl_get_program_parameter_d.sig="dii";var _emscripten_webgl_get_program_info_log_utf8=e=>stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[e]));_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(e,t)=>GLctx.getShaderParameter(GL.shaders[e],t);_emscripten_webgl_get_shader_parameter_d.sig="dii";var _emscripten_webgl_get_shader_info_log_utf8=e=>stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[e]));_emscripten_webgl_get_shader_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_source_utf8=e=>stringToNewUTF8(GLctx.getShaderSource(GL.shaders[e]));_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(e,t)=>GLctx.getVertexAttrib(e,t);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(e,t)=>{var r=GLctx.getVertexAttrib(e,t);return r?.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";var _emscripten_webgl_get_vertex_attrib_v=(e,t,r,a,n)=>writeGLArray(GLctx.getVertexAttrib(e,t),r,a,n);_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(e,t)=>GLctx.getUniform(GL.programs[e],webglGetUniformLocation(t));_emscripten_webgl_get_uniform_d.sig="dii";var _emscripten_webgl_get_uniform_v=(e,t,r,a,n)=>writeGLArray(GLctx.getUniform(GL.programs[e],webglGetUniformLocation(t)),r,a,n);_emscripten_webgl_get_uniform_v.sig="iiipii";var _emscripten_webgl_get_parameter_v=(e,t,r,a)=>writeGLArray(GLctx.getParameter(e),t,r,a);_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=e=>GLctx.getParameter(e);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=e=>{var t=GLctx.getParameter(e);return t?.name};_emscripten_webgl_get_parameter_o.sig="ii";var _emscripten_webgl_get_parameter_utf8=e=>stringToNewUTF8(GLctx.getParameter(e));_emscripten_webgl_get_parameter_utf8.sig="pi";var _emscripten_webgl_get_parameter_i64v=(e,t)=>writeI53ToI64(t,GLctx.getParameter(e));_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{GLUT.displayFunc&&!GLUT.requestedAnimationFrame&&(GLUT.requestedAnimationFrame=!0,MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=!1,MainLoop.runIter(()=>getWasmTableEntry(GLUT.displayFunc)())}))};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:!1,saveModifiers:e=>{GLUT.modifiers=0,e.shiftKey&&(GLUT.modifiers+=1),e.ctrlKey&&(GLUT.modifiers+=2),e.altKey&&(GLUT.modifiers+=4)},onMousemove:e=>{var t=Browser.mouseX,r=Browser.mouseY;Browser.calculateMouseEvent(e);var a=Browser.mouseX,n=Browser.mouseY;a==t&&n==r||(GLUT.buttons==0&&e.target==Module.canvas&&GLUT.passiveMotionFunc?(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.passiveMotionFunc)(t,r)):GLUT.buttons!=0&&GLUT.motionFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.motionFunc)(t,r)))},getSpecialKey:e=>{var t=null;switch(e){case 8:t=120;break;case 46:t=111;break;case 112:t=1;break;case 113:t=2;break;case 114:t=3;break;case 115:t=4;break;case 116:t=5;break;case 117:t=6;break;case 118:t=7;break;case 119:t=8;break;case 120:t=9;break;case 121:t=10;break;case 122:t=11;break;case 123:t=12;break;case 37:t=100;break;case 38:t=101;break;case 39:t=102;break;case 40:t=103;break;case 33:t=104;break;case 34:t=105;break;case 36:t=106;break;case 35:t=107;break;case 45:t=108;break;case 16:case 5:t=112;break;case 6:t=113;break;case 17:case 3:t=114;break;case 4:t=115;break;case 18:case 2:t=116;break;case 1:t=117;break}return t},getASCIIKey:e=>{if(e.ctrlKey||e.altKey||e.metaKey)return null;var t=e.keyCode;if(48<=t&&t<=57)return t;if(65<=t&&t<=90)return e.shiftKey?t:t+32;if(96<=t&&t<=105)return t-48;if(106<=t&&t<=111)return t-106+42;switch(t){case 9:case 13:case 27:case 32:case 61:return t}var r=e.shiftKey;switch(t){case 186:return r?58:59;case 187:return r?43:61;case 188:return r?60:44;case 189:return r?95:45;case 190:return r?62:46;case 191:return r?63:47;case 219:return r?123:91;case 220:return r?124:47;case 221:return r?125:93;case 222:return r?34:39}return null},onKeydown:e=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var t=GLUT.getSpecialKey(e.keyCode);t!==null?GLUT.specialFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialFunc)(t,Browser.mouseX,Browser.mouseY)):(t=GLUT.getASCIIKey(e),t!==null&&GLUT.keyboardFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardFunc)(t,Browser.mouseX,Browser.mouseY)))}},onKeyup:e=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var t=GLUT.getSpecialKey(e.keyCode);t!==null?GLUT.specialUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialUpFunc)(t,Browser.mouseX,Browser.mouseY)):(t=GLUT.getASCIIKey(e),t!==null&&GLUT.keyboardUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardUpFunc)(t,Browser.mouseX,Browser.mouseY)))}},touchHandler:e=>{if(e.target==Module.canvas){var t=e.changedTouches,r=t[0],a="";switch(e.type){case"touchstart":a="mousedown";break;case"touchmove":a="mousemove";break;case"touchend":a="mouseup";break;default:return}var n=document.createEvent("MouseEvent");n.initMouseEvent(a,!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),r.target.dispatchEvent(n),e.preventDefault()}},onMouseButtonDown:e=>{if(Browser.calculateMouseEvent(e),GLUT.buttons|=1<<e.button,e.target==Module.canvas&&GLUT.mouseFunc){try{e.target.setCapture()}catch{}e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(e.button,0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:e=>{Browser.calculateMouseEvent(e),GLUT.buttons&=~(1<<e.button),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(e.button,1,Browser.mouseX,Browser.mouseY))},onMouseWheel:e=>{Browser.calculateMouseEvent(e);var t=window.event||e,r=-Browser.getMouseWheelDelta(e);r=r==0?0:r>0?Math.max(r,1):Math.min(r,-1);var a=3;r<0&&(a=4),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(a,0,Browser.mouseX,Browser.mouseY))},onFullscreenEventChange:e=>{var t,r;document.fullscreen||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?(t=screen.width,r=screen.height):(t=GLUT.windowWidth,r=GLUT.windowHeight,document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0)),Browser.setCanvasSize(t,r,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(t,r),_glutPostRedisplay()}},_glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";var _glutInit=(e,t)=>{GLUT.initTime=Date.now();var r="ontouchstart"in document.documentElement;r&&(window.addEventListener("touchmove",GLUT.touchHandler,!0),window.addEventListener("touchstart",GLUT.touchHandler,!0),window.addEventListener("touchend",GLUT.touchHandler,!0)),window.addEventListener("keydown",GLUT.onKeydown,!0),window.addEventListener("keyup",GLUT.onKeyup,!0),window.addEventListener("mousemove",GLUT.onMousemove,!0),window.addEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.addEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.addEventListener("mousewheel",GLUT.onMouseWheel,!0),window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Browser.resizeListeners.push((a,n)=>{GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(a,n)}),__ATEXIT__.push(()=>{r&&(window.removeEventListener("touchmove",GLUT.touchHandler,!0),window.removeEventListener("touchstart",GLUT.touchHandler,!0),window.removeEventListener("touchend",GLUT.touchHandler,!0)),window.removeEventListener("keydown",GLUT.onKeydown,!0),window.removeEventListener("keyup",GLUT.onKeyup,!0),window.removeEventListener("mousemove",GLUT.onMousemove,!0),window.removeEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.removeEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.removeEventListener("mousewheel",GLUT.onMouseWheel,!0),window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Module.canvas.width=Module.canvas.height=1})};_glutInit.sig="vpp";var _glutInitWindowSize=(e,t)=>{Browser.setCanvasSize(GLUT.initWindowWidth=e,GLUT.initWindowHeight=t)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(e,t)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=e=>{switch(e){case 100:return 0;case 101:return 0;case 102:return Module.canvas.width;case 103:return Module.canvas.height;case 200:return Module.canvas.width;case 201:return Module.canvas.height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var t=Date.now();return t-GLUT.initTime;case 105:return GLctx.getContextAttributes().stencil?8:0;case 106:return GLctx.getContextAttributes().depth?8:0;case 110:return GLctx.getContextAttributes().alpha?8:0;case 120:return GLctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+e+") not implemented yet"}};_glutGet.sig="ii";var _glutIdleFunc=e=>{function t(){GLUT.idleFunc&&(getWasmTableEntry(GLUT.idleFunc)(),safeSetTimeout(t,4))}GLUT.idleFunc||safeSetTimeout(t,0),GLUT.idleFunc=e};_glutIdleFunc.sig="vp";var _glutTimerFunc=(e,t,r)=>safeSetTimeout(()=>getWasmTableEntry(t)(r),e);_glutTimerFunc.sig="vipi";var _glutDisplayFunc=e=>{GLUT.displayFunc=e};_glutDisplayFunc.sig="vp";var _glutKeyboardFunc=e=>{GLUT.keyboardFunc=e};_glutKeyboardFunc.sig="vp";var _glutKeyboardUpFunc=e=>{GLUT.keyboardUpFunc=e};_glutKeyboardUpFunc.sig="vp";var _glutSpecialFunc=e=>{GLUT.specialFunc=e};_glutSpecialFunc.sig="vp";var _glutSpecialUpFunc=e=>{GLUT.specialUpFunc=e};_glutSpecialUpFunc.sig="vp";var _glutReshapeFunc=e=>{GLUT.reshapeFunc=e};_glutReshapeFunc.sig="vp";var _glutMotionFunc=e=>{GLUT.motionFunc=e};_glutMotionFunc.sig="vp";var _glutPassiveMotionFunc=e=>{GLUT.passiveMotionFunc=e};_glutPassiveMotionFunc.sig="vp";var _glutMouseFunc=e=>{GLUT.mouseFunc=e};_glutMouseFunc.sig="vp";var _glutSetCursor=e=>{var t="auto";switch(e){case 0:break;case 1:break;case 2:t="pointer";break;case 3:break;case 4:t="help";break;case 5:break;case 6:break;case 7:t="wait";break;case 8:t="text";break;case 9:case 102:t="crosshair";break;case 10:t="ns-resize";break;case 11:t="ew-resize";break;case 12:t="n-resize";break;case 13:t="s-resize";break;case 14:t="w-resize";break;case 15:t="e-resize";break;case 16:t="nw-resize";break;case 17:t="ne-resize";break;case 18:t="se-resize";break;case 19:t="sw-resize";break;case 100:break;case 101:t="none";break;default:throw"glutSetCursor: Unknown cursor type: "+e}Module.canvas.style.cursor=t};_glutSetCursor.sig="vi";var _glutCreateWindow=e=>{var t={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};return Browser.createContext(Module.canvas,!0,!0,t)?1:0};_glutCreateWindow.sig="ip";var _glutDestroyWindow=e=>(delete Module.ctx,1);_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(e,t)=>{Browser.exitFullscreen(),Browser.setCanvasSize(e,t,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(e,t),_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(e,t)=>{Browser.exitFullscreen(),_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0,GLUT.windowY=0,GLUT.windowWidth=Module.canvas.width,GLUT.windowHeight=Module.canvas.height,document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0),Browser.requestFullscreen(!1,!1)};_glutFullScreen.sig="v";var _glutInitDisplayMode=e=>GLUT.initDisplayMode=e;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{throw _glutReshapeWindow(Module.canvas.width,Module.canvas.height),_glutPostRedisplay(),"unwind"};_glutMainLoop.sig="v";var _XOpenDisplay=e=>1;_XOpenDisplay.sig="pp";var _XCreateWindow=(e,t,r,a,n,o,l,_,c,u,p,m)=>(Browser.setCanvasSize(n,o),2);_XCreateWindow.sig="pppiiiiiiippp";var _XChangeWindowAttributes=(e,t,r,a)=>{};_XChangeWindowAttributes.sig="ipppp";var _XSetWMHints=(e,t,r)=>{};_XSetWMHints.sig="ippp";var _XMapWindow=(e,t)=>{};_XMapWindow.sig="ipp";var _XStoreName=(e,t,r)=>{};_XStoreName.sig="ippp";var _XInternAtom=(e,t,r)=>0;_XInternAtom.sig="pppi";var _XSendEvent=(e,t,r,a,n)=>{};_XSendEvent.sig="ippipp";var _XPending=e=>0;_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){EGL.errorCode=e},chooseConfig(e,t,r,a,n){if(e!=62e3)return EGL.setErrorCode(12296),0;if(t)for(;;){var o=HEAP32[t>>2];if(o==12321){var l=HEAP32[t+4>>2];EGL.contextAttributes.alpha=l>0}else if(o==12325){var _=HEAP32[t+4>>2];EGL.contextAttributes.depth=_>0}else if(o==12326){var c=HEAP32[t+4>>2];EGL.contextAttributes.stencil=c>0}else if(o==12337){var u=HEAP32[t+4>>2];EGL.contextAttributes.antialias=u>0}else if(o==12338){var u=HEAP32[t+4>>2];EGL.contextAttributes.antialias=u==1}else if(o==12544){var p=HEAP32[t+4>>2];EGL.contextAttributes.lowLatency=p!=12547}else if(o==12344)break;t+=8}return(!r||!a)&&!n?(EGL.setErrorCode(12300),0):(n&&(HEAP32[n>>2]=1),r&&a>0&&(HEAPU32[r>>2]=62002),EGL.setErrorCode(12288),1)}},_eglGetDisplay=e=>(EGL.setErrorCode(12288),e!=0&&e!=1?0:62e3);_eglGetDisplay.sig="pp";var _eglInitialize=(e,t,r)=>e!=62e3?(EGL.setErrorCode(12296),0):(t&&(HEAP32[t>>2]=1),r&&(HEAP32[r>>2]=4),EGL.defaultDisplayInitialized=!0,EGL.setErrorCode(12288),1);_eglInitialize.sig="ippp";var _eglTerminate=e=>e!=62e3?(EGL.setErrorCode(12296),0):(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.defaultDisplayInitialized=!1,EGL.setErrorCode(12288),1);_eglTerminate.sig="ip";var _eglGetConfigs=(e,t,r,a)=>EGL.chooseConfig(e,0,t,r,a);_eglGetConfigs.sig="ippip";var _eglChooseConfig=(e,t,r,a,n)=>EGL.chooseConfig(e,t,r,a,n);_eglChooseConfig.sig="ipppip";var _eglGetConfigAttrib=(e,t,r,a)=>{if(e!=62e3)return EGL.setErrorCode(12296),0;if(t!=62002)return EGL.setErrorCode(12293),0;if(!a)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),r){case 12320:return HEAP32[a>>2]=EGL.contextAttributes.alpha?32:24,1;case 12321:return HEAP32[a>>2]=EGL.contextAttributes.alpha?8:0,1;case 12322:return HEAP32[a>>2]=8,1;case 12323:return HEAP32[a>>2]=8,1;case 12324:return HEAP32[a>>2]=8,1;case 12325:return HEAP32[a>>2]=EGL.contextAttributes.depth?24:0,1;case 12326:return HEAP32[a>>2]=EGL.contextAttributes.stencil?8:0,1;case 12327:return HEAP32[a>>2]=12344,1;case 12328:return HEAP32[a>>2]=62002,1;case 12329:return HEAP32[a>>2]=0,1;case 12330:return HEAP32[a>>2]=4096,1;case 12331:return HEAP32[a>>2]=16777216,1;case 12332:return HEAP32[a>>2]=4096,1;case 12333:return HEAP32[a>>2]=0,1;case 12334:return HEAP32[a>>2]=0,1;case 12335:return HEAP32[a>>2]=12344,1;case 12337:return HEAP32[a>>2]=EGL.contextAttributes.antialias?4:0,1;case 12338:return HEAP32[a>>2]=EGL.contextAttributes.antialias?1:0,1;case 12339:return HEAP32[a>>2]=4,1;case 12340:return HEAP32[a>>2]=12344,1;case 12341:case 12342:case 12343:return HEAP32[a>>2]=-1,1;case 12345:case 12346:return HEAP32[a>>2]=0,1;case 12347:return HEAP32[a>>2]=0,1;case 12348:return HEAP32[a>>2]=1,1;case 12349:case 12350:return HEAP32[a>>2]=0,1;case 12351:return HEAP32[a>>2]=12430,1;case 12352:return HEAP32[a>>2]=4,1;case 12354:return HEAP32[a>>2]=0,1;default:return EGL.setErrorCode(12292),0}};_eglGetConfigAttrib.sig="ippip";var _eglCreateWindowSurface=(e,t,r,a)=>e!=62e3?(EGL.setErrorCode(12296),0):t!=62002?(EGL.setErrorCode(12293),0):(EGL.setErrorCode(12288),62006);_eglCreateWindowSurface.sig="pppip";var _eglDestroySurface=(e,t)=>e!=62e3?(EGL.setErrorCode(12296),0):t!=62006?(EGL.setErrorCode(12301),1):(EGL.currentReadSurface==t&&(EGL.currentReadSurface=0),EGL.currentDrawSurface==t&&(EGL.currentDrawSurface=0),EGL.setErrorCode(12288),1);_eglDestroySurface.sig="ipp";var _eglCreateContext=(e,t,r,a)=>{if(e!=62e3)return EGL.setErrorCode(12296),0;for(var n=1;;){var o=HEAP32[a>>2];if(o==12440)n=HEAP32[a+4>>2];else{if(o==12344)break;return EGL.setErrorCode(12292),0}a+=8}return n!=2?(EGL.setErrorCode(12293),0):(EGL.contextAttributes.majorVersion=n-1,EGL.contextAttributes.minorVersion=0,EGL.context=GL.createContext(Module.canvas,EGL.contextAttributes),EGL.context!=0?(EGL.setErrorCode(12288),GL.makeContextCurrent(EGL.context),Browser.useWebGL=!0,Browser.moduleContextCreatedCallbacks.forEach(l=>l()),GL.makeContextCurrent(null),62004):(EGL.setErrorCode(12297),0))};_eglCreateContext.sig="ppppp";var _eglDestroyContext=(e,t)=>e!=62e3?(EGL.setErrorCode(12296),0):t!=62004?(EGL.setErrorCode(12294),0):(GL.deleteContext(EGL.context),EGL.setErrorCode(12288),EGL.currentContext==t&&(EGL.currentContext=0),1);_eglDestroyContext.sig="ipp";var _eglQuerySurface=(e,t,r,a)=>{if(e!=62e3)return EGL.setErrorCode(12296),0;if(t!=62006)return EGL.setErrorCode(12301),0;if(!a)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),r){case 12328:return HEAP32[a>>2]=62002,1;case 12376:return 1;case 12375:return HEAP32[a>>2]=Module.canvas.width,1;case 12374:return HEAP32[a>>2]=Module.canvas.height,1;case 12432:return HEAP32[a>>2]=-1,1;case 12433:return HEAP32[a>>2]=-1,1;case 12434:return HEAP32[a>>2]=-1,1;case 12422:return HEAP32[a>>2]=12420,1;case 12441:return HEAP32[a>>2]=12442,1;case 12435:return HEAP32[a>>2]=12437,1;case 12416:case 12417:case 12418:case 12419:return 1;default:return EGL.setErrorCode(12292),0}};_eglQuerySurface.sig="ippip";var _eglQueryContext=(e,t,r,a)=>{if(e!=62e3)return EGL.setErrorCode(12296),0;if(t!=62004)return EGL.setErrorCode(12294),0;if(!a)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),r){case 12328:return HEAP32[a>>2]=62002,1;case 12439:return HEAP32[a>>2]=12448,1;case 12440:return HEAP32[a>>2]=EGL.contextAttributes.majorVersion+1,1;case 12422:return HEAP32[a>>2]=12420,1;default:return EGL.setErrorCode(12292),0}};_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";var _eglQueryString=(e,t)=>{if(e!=62e3)return EGL.setErrorCode(12296),0;if(EGL.setErrorCode(12288),EGL.stringCache[t])return EGL.stringCache[t];var r;switch(t){case 12371:r=stringToNewUTF8("Emscripten");break;case 12372:r=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:r=stringToNewUTF8("");break;case 12429:r=stringToNewUTF8("OpenGL_ES");break;default:return EGL.setErrorCode(12300),0}return EGL.stringCache[t]=r,r};_eglQueryString.sig="ppi";var _eglBindAPI=e=>e==12448?(EGL.setErrorCode(12288),1):(EGL.setErrorCode(12300),0);_eglBindAPI.sig="ii";var _eglQueryAPI=()=>(EGL.setErrorCode(12288),12448);_eglQueryAPI.sig="i";var _eglWaitClient=()=>(EGL.setErrorCode(12288),1);_eglWaitClient.sig="i";var _eglWaitNative=e=>(EGL.setErrorCode(12288),1);_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";var _eglSwapInterval=(e,t)=>e!=62e3?(EGL.setErrorCode(12296),0):(t==0?_emscripten_set_main_loop_timing(0,0):_emscripten_set_main_loop_timing(1,t),EGL.setErrorCode(12288),1);_eglSwapInterval.sig="ipi";var _eglMakeCurrent=(e,t,r,a)=>e!=62e3?(EGL.setErrorCode(12296),0):a!=0&&a!=62004?(EGL.setErrorCode(12294),0):r!=0&&r!=62006||t!=0&&t!=62006?(EGL.setErrorCode(12301),0):(GL.makeContextCurrent(a?EGL.context:null),EGL.currentContext=a,EGL.currentDrawSurface=t,EGL.currentReadSurface=r,EGL.setErrorCode(12288),1);_eglMakeCurrent.sig="ipppp";var _eglGetCurrentContext=()=>EGL.currentContext;_eglGetCurrentContext.sig="p";var _eglGetCurrentSurface=e=>e==12378?EGL.currentReadSurface:e==12377?EGL.currentDrawSurface:(EGL.setErrorCode(12300),0);_eglGetCurrentSurface.sig="pi";var _eglGetCurrentDisplay=()=>EGL.currentContext?62e3:0;_eglGetCurrentDisplay.sig="p";var _eglSwapBuffers=(e,t)=>{if(!EGL.defaultDisplayInitialized)EGL.setErrorCode(12289);else if(!GLctx)EGL.setErrorCode(12290);else if(GLctx.isContextLost())EGL.setErrorCode(12302);else return EGL.setErrorCode(12288),1;return 0};_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.setErrorCode(12288),1);_eglReleaseThread.sig="i";var _uuid_clear=e=>zeroMemory(e,16);_uuid_clear.sig="vp";var _uuid_compare=(e,t)=>_memcmp(e,t,16);_uuid_compare.sig="ipp";var _uuid_copy=(e,t)=>_memcpy(e,t,16);_uuid_copy.sig="vpp";var _uuid_generate=e=>{var t=null;if(ENVIRONMENT_IS_NODE)try{var r=require("crypto").randomBytes;t=r(16)}catch{}else ENVIRONMENT_IS_WEB&&typeof window.crypto<"u"&&typeof window.crypto.getRandomValues<"u"&&(t=new Uint8Array(16),window.crypto.getRandomValues(t));if(!t){t=new Array(16);for(var a=new Date().getTime(),n=0;n<16;n++){var o=(a+Math.random()*256)%256|0;a=a/256|0,t[n]=o}}t[6]=t[6]&15|64,t[8]=t[8]&63|128,writeArrayToMemory(t,e)};_uuid_generate.sig="vp";var _uuid_is_null=e=>{for(var t=0;t<4;t++,e=e+4|0){var r=HEAP32[e>>2];if(r)return 0}return 1};_uuid_is_null.sig="ip";var _uuid_parse=(e,t)=>{if(e=UTF8ToString(e),e.length===36){var r=0,a=new Array(16);return e.toLowerCase().replace(/[0-9a-f]{2}/g,function(n){r<16&&(a[r++]=parseInt(n,16))}),r<16?-1:(writeArrayToMemory(a,t),0)}return-1};_uuid_parse.sig="ipp";var _uuid_unparse=(e,t,r)=>{var a=0,n="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(o){var l=r?HEAPU8[e+a].toString(16).toUpperCase():HEAPU8[e+a].toString(16);return l=l.length===1?"0"+l:l,a++,l});stringToUTF8(n,t,37)};_uuid_unparse.sig="vpp";var _uuid_unparse_lower=(e,t)=>{_uuid_unparse(e,t)};_uuid_unparse_lower.sig="vpp";var _uuid_unparse_upper=(e,t)=>{_uuid_unparse(e,t,!0)};_uuid_unparse_upper.sig="vpp";var _uuid_type=e=>4;_uuid_type.sig="ip";var _uuid_variant=e=>1;_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(e){if(GLEW.isLinaroFork)switch(e){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}switch(e){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(e){if(!GLEW.error[e]){var t=GLEW.errorStringConstantFromCode(e);t||(t="Unknown error",e=8),GLEW.error[e]=stringToNewUTF8(t)}return GLEW.error[e]},versionStringConstantFromCode(e){switch(e){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(e){if(!GLEW.version[e]){var t=GLEW.versionStringConstantFromCode(e);if(!t)return 0;GLEW.version[e]=stringToNewUTF8(t)}return GLEW.version[e]},extensionIsSupported(e){return GLEW.extensions||(GLEW.extensions=webglGetExtensions()),GLEW.extensions.includes(e)?1:GLEW.extensions.includes("GL_"+e)}},_glewInit=()=>0;_glewInit.sig="i";var _glewIsSupported=e=>{for(var t=UTF8ToString(e).split(" "),r=0;r<t.length;++r)if(!GLEW.extensionIsSupported(t[r]))return 0;return 1};_glewIsSupported.sig="ip";var _glewGetExtension=e=>GLEW.extensionIsSupported(UTF8ToString(e));_glewGetExtension.sig="ip";var _glewGetErrorString=e=>GLEW.errorString(e);_glewGetErrorString.sig="pi";var _glewGetString=e=>GLEW.versionString(e);_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB<"u")return indexedDB;var e=null;return typeof window=="object"&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),assert(e,"IDBStore used, but indexedDB not supported"),e},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(e,t){var r=IDBStore.dbs[e];if(r)return t(null,r);var a;try{a=IDBStore.indexedDB().open(e,IDBStore.DB_VERSION)}catch(n){return t(n)}a.onupgradeneeded=n=>{var o=n.target.result,l=n.target.transaction,_;o.objectStoreNames.contains(IDBStore.DB_STORE_NAME)?_=l.objectStore(IDBStore.DB_STORE_NAME):_=o.createObjectStore(IDBStore.DB_STORE_NAME)},a.onsuccess=()=>{r=a.result,IDBStore.dbs[e]=r,t(null,r)},a.onerror=function(n){t(n.target.error||"unknown error"),n.preventDefault()}},getStore(e,t,r){IDBStore.getDB(e,(a,n)=>{if(a)return r(a);var o=n.transaction([IDBStore.DB_STORE_NAME],t);o.onerror=_=>{r(_.target.error||"unknown error"),_.preventDefault()};var l=o.objectStore(IDBStore.DB_STORE_NAME);r(null,l)})},getFile(e,t,r){IDBStore.getStore(e,"readonly",(a,n)=>{if(a)return r(a);var o=n.get(t);o.onsuccess=l=>{var _=l.target.result;return _?r(null,_):r(`file ${t} not found`)},o.onerror=r})},setFile(e,t,r,a){IDBStore.getStore(e,"readwrite",(n,o)=>{if(n)return a(n);var l=o.put(r,t);l.onsuccess=_=>a(),l.onerror=a})},deleteFile(e,t,r){IDBStore.getStore(e,"readwrite",(a,n)=>{if(a)return r(a);var o=n.delete(t);o.onsuccess=l=>r(),o.onerror=r})},existsFile(e,t,r){IDBStore.getStore(e,"readonly",(a,n)=>{if(a)return r(a);var o=n.count(t);o.onsuccess=l=>r(null,l.target.result>0),o.onerror=r})},clearStore(e,t){IDBStore.getStore(e,"readwrite",(r,a)=>{if(r)return t(r);var n=a.clear();n.onsuccess=o=>t(),n.onerror=t})}},_emscripten_idb_async_load=(e,t,r,a,n)=>{IDBStore.getFile(UTF8ToString(e),UTF8ToString(t),(o,l)=>{callUserCallback(()=>{if(o){n&&getWasmTableEntry(n)(r);return}var _=_malloc(l.length);HEAPU8.set(l,_),getWasmTableEntry(a)(r,_,l.length),_free(_)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=(e,t,r,a,n,o,l)=>{IDBStore.setFile(UTF8ToString(e),UTF8ToString(t),new Uint8Array(HEAPU8.subarray(r,r+a)),_=>{callUserCallback(()=>{if(_){l&&getWasmTableEntry(l)(n);return}o&&getWasmTableEntry(o)(n)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=(e,t,r,a,n)=>{IDBStore.deleteFile(UTF8ToString(e),UTF8ToString(t),o=>{callUserCallback(()=>{if(o){n&&getWasmTableEntry(n)(r);return}a&&getWasmTableEntry(a)(r)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=(e,t,r,a,n)=>{IDBStore.existsFile(UTF8ToString(e),UTF8ToString(t),(o,l)=>{callUserCallback(()=>{if(o){n&&getWasmTableEntry(n)(r);return}a&&getWasmTableEntry(a)(r,l)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=(e,t,r,a)=>{IDBStore.clearStore(UTF8ToString(e),n=>{callUserCallback(()=>{if(n){a&&getWasmTableEntry(a)(t);return}r&&getWasmTableEntry(r)(t)})})};_emscripten_idb_async_clear.sig="vpppp";var _emscripten_idb_load=(e,t,r,a,n)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."};_emscripten_idb_load.sig="vppppp";var _emscripten_idb_store=(e,t,r,a,n)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."};_emscripten_idb_store.sig="vpppip";var _emscripten_idb_delete=(e,t,r)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."};_emscripten_idb_delete.sig="vppp";var _emscripten_idb_exists=(e,t,r,a)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."};_emscripten_idb_exists.sig="vpppp";var _emscripten_idb_clear=(e,t)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_clear, etc."};_emscripten_idb_clear.sig="vpp";var runAndAbortIfError=e=>{try{return e()}catch(t){abort(t)}},_emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};_emscripten_sleep.sig="vi";var _emscripten_wget=(e,t)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"};Module._emscripten_wget=_emscripten_wget,_emscripten_wget.sig="ipp";var _emscripten_scan_registers=e=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"};_emscripten_scan_registers.sig="vp";var _emscripten_fiber_swap=(e,t)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"};_emscripten_fiber_swap.sig="vpp";var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";var _SDL_LockSurface=e=>{var t=SDL.surfaces[e];if(t.locked++,t.locked>1||(t.buffer||(t.buffer=_malloc(t.width*t.height*4),HEAPU32[e+20>>2]=t.buffer),HEAPU32[e+20>>2]=t.buffer,e==SDL.screen&&Module.screenIsReadOnly&&t.image))return 0;if(SDL.defaults.discardOnLock){if(t.image||(t.image=t.ctx.createImageData(t.width,t.height)),!SDL.defaults.opaqueFrontBuffer)return}else t.image=t.ctx.getImageData(0,0,t.width,t.height);if(e==SDL.screen&&SDL.defaults.opaqueFrontBuffer)for(var r=t.image.data,a=r.length,n=0;n<a/4;n++)r[n*4+3]=255;if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(t.isFlagSet(2097152))throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+new Error().stack;HEAPU8.set(t.image.data,t.buffer)}return 0};_SDL_LockSurface.sig="ip";var SDL={defaults:{width:320,height:200,copyOnLock:!0,discardOnLock:!1,opaqueFrontBuffer:!0},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:!1,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:!1,isRequestingFullscreen:!1,textInput:!1,unicode:!1,ttfContext:null,audio:null,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect(e){return{x:HEAP32[e>>2],y:HEAP32[e+4>>2],w:HEAP32[e+8>>2],h:HEAP32[e+12>>2]}},updateRect(e,t){HEAP32[e>>2]=t.x,HEAP32[e+4>>2]=t.y,HEAP32[e+8>>2]=t.w,HEAP32[e+12>>2]=t.h},intersectionOfRects(e,t){var r=Math.max(e.x,t.x),a=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),o=Math.min(e.y+e.h,t.y+t.h);return{x:r,y:a,w:Math.max(r,n)-r,h:Math.max(a,o)-a}},checkPixelFormat(e){},loadColorToCSSRGB(e){var t=HEAP32[e>>2];return"rgb("+(t&255)+","+(t>>8&255)+","+(t>>16&255)+")"},loadColorToCSSRGBA(e){var t=HEAP32[e>>2];return"rgba("+(t&255)+","+(t>>8&255)+","+(t>>16&255)+","+(t>>24&255)/255+")"},translateColorToCSSRGBA:e=>"rgba("+(e&255)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")",translateRGBAToCSSRGBA:(e,t,r,a)=>"rgba("+(e&255)+","+(t&255)+","+(r&255)+","+(a&255)/255+")",translateRGBAToColor:(e,t,r,a)=>e|t<<8|r<<16|a<<24,makeSurface(e,t,r,a,n,o,l,_,c){var u=r&134217729,p=r&2097152,m=r&67108864,f=_malloc(60),d=_malloc(44),v=p?1:4,g=0;!u&&!m&&(g=_malloc(e*t*4)),HEAP32[f>>2]=r,HEAPU32[f+4>>2]=d,HEAP32[f+8>>2]=e,HEAP32[f+12>>2]=t,HEAP32[f+16>>2]=e*v,HEAPU32[f+20>>2]=g,HEAP32[f+36>>2]=0,HEAP32[f+40>>2]=0,HEAP32[f+44>>2]=Module.canvas.width,HEAP32[f+48>>2]=Module.canvas.height,HEAP32[f+56>>2]=1,HEAP32[d>>2]=-2042224636,HEAP32[d+4>>2]=0,HEAP8[d+8]=v*8,HEAP8[d+9]=v,HEAP32[d+12>>2]=o||255,HEAP32[d+16>>2]=l||65280,HEAP32[d+20>>2]=_||16711680,HEAP32[d+24>>2]=c||4278190080,SDL.GL=SDL.GL||m;var S;a?S=Module.canvas:(SDL.canvasPool.length>0?S=SDL.canvasPool.pop():S=document.createElement("canvas"),S.width=e,S.height=t);var A={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0},b=Browser.createContext(S,m,a,A);return SDL.surfaces[f]={width:e,height:t,canvas:S,ctx:b,surf:f,buffer:g,pixelFormat:d,alpha:255,flags:r,locked:0,usePageCanvas:a,source:n,isFlagSet:L=>r&L},f},copyIndexedColorData(e,t,r,a,n){if(e.colors){var o=Module.canvas.width,l=Module.canvas.height,_=t||0,c=r||0,u=(a||o-_)+_,p=(n||l-c)+c,m=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var f=e.image.data32,d=e.colors32,v=c;v<p;++v)for(var g=v*o,S=_;S<u;++S)f[g+S]=d[HEAPU8[m+(g+S)]]}},freeSurface(e){var t=e+56,r=HEAP32[t>>2];if(r>1){HEAP32[t>>2]=r-1;return}var a=SDL.surfaces[e];!a.usePageCanvas&&a.canvas&&SDL.canvasPool.push(a.canvas),a.buffer&&_free(a.buffer),_free(a.pixelFormat),_free(e),SDL.surfaces[e]=null,e===SDL.screen&&(SDL.screen=null)},blitSurface(e,t,r,a,n){var o=SDL.surfaces[e],l=SDL.surfaces[r],_,c;if(t?_=SDL.loadRect(t):_={x:0,y:0,w:o.width,h:o.height},a?c=SDL.loadRect(a):c={x:0,y:0,w:o.width,h:o.height},l.clipRect){var u=!n||_.w===0?1:_.w/c.w,p=!n||_.h===0?1:_.h/c.h;c=SDL.intersectionOfRects(l.clipRect,c),_.w=c.w*u,_.h=c.h*p,a&&SDL.updateRect(a,c)}var m,f;if(n?(m=c.w,f=c.h):(m=_.w,f=_.h),_.w===0||_.h===0||m===0||f===0)return 0;var d=l.ctx.globalAlpha;return l.ctx.globalAlpha=o.alpha/255,l.ctx.drawImage(o.canvas,_.x,_.y,_.w,_.h,c.x,c.y,m,f),l.ctx.globalAlpha=d,r!=SDL.screen&&(warnOnce("WARNING: copying canvas data to memory for compatibility"),_SDL_LockSurface(r),l.locked--),0},downFingers:{},savedKeydown:null,receiveEvent(e){function t(){for(var p of Object.values(SDL.keyboardMap))SDL.events.push({type:"keyup",keyCode:p})}switch(e.type){case"touchstart":case"touchmove":{e.preventDefault();var r=[];if(e.type==="touchstart")for(var a=0;a<e.touches.length;a++){var n=e.touches[a];SDL.downFingers[n.identifier]!=!0&&(SDL.downFingers[n.identifier]=!0,r.push(n))}else r=e.touches;var o=r[0];if(o){e.type=="touchstart"&&(SDL.DOMButtons[0]=1);var l;switch(e.type){case"touchstart":l="mousedown";break;case"touchmove":l="mousemove";break}var _={type:l,button:0,pageX:o.clientX,pageY:o.clientY};SDL.events.push(_)}for(var a=0;a<r.length;a++){var n=r[a];SDL.events.push({type:e.type,touch:n})}break}case"touchend":{e.preventDefault();for(var a=0;a<e.changedTouches.length;a++){var n=e.changedTouches[a];SDL.downFingers[n.identifier]===!0&&delete SDL.downFingers[n.identifier]}var _={type:"mouseup",button:0,pageX:e.changedTouches[0].clientX,pageY:e.changedTouches[0].clientY};SDL.DOMButtons[0]=0,SDL.events.push(_);for(var a=0;a<e.changedTouches.length;a++){var n=e.changedTouches[a];SDL.events.push({type:"touchend",touch:n})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var c=-Browser.getMouseWheelDelta(e);c=c==0?0:c>0?Math.max(c,1):Math.min(c,-1);var u=(c>0?4:5)-1;SDL.events.push({type:"mousedown",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"mouseup",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"wheel",deltaX:0,deltaY:c}),e.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1&&SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),Browser.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),e.movementX==0&&e.movementY==0)){e.preventDefault();return}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if((e.type!=="keydown"||!SDL.unicode&&!SDL.textInput||e.key=="Backspace"||e.key=="Tab")&&e.preventDefault(),e.type=="mousedown")SDL.DOMButtons[e.button]=1,SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if(e.type=="mouseup"){if(!SDL.DOMButtons[e.button])return;SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),SDL.DOMButtons[e.button]=0}e.type==="keydown"||e.type==="mousedown"?SDL.canRequestFullscreen=!0:(e.type==="keyup"||e.type==="mouseup")&&(SDL.isRequestingFullscreen&&(Module.requestFullscreen(!0,!0),SDL.isRequestingFullscreen=!1),SDL.canRequestFullscreen=!1),e.type==="keypress"&&SDL.savedKeydown?(SDL.savedKeydown.keypressCharCode=e.charCode,SDL.savedKeydown=null):e.type==="keydown"&&(SDL.savedKeydown=e),(e.type!=="keypress"||SDL.textInput)&&SDL.events.push(e);break;case"mouseout":for(var a=0;a<3;a++)SDL.DOMButtons[a]&&(SDL.events.push({type:"mouseup",button:a,pageX:e.pageX,pageY:e.pageY}),SDL.DOMButtons[a]=0);e.preventDefault();break;case"focus":SDL.events.push(e),e.preventDefault();break;case"blur":SDL.events.push(e),t(),e.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden}),t(),e.preventDefault();break;case"unload":MainLoop.runner&&(SDL.events.push(e),MainLoop.runner());return;case"resize":SDL.events.push(e),e.preventDefault&&e.preventDefault();break}SDL.events.length>=1e4&&(err("SDL event queue full, dropping events"),SDL.events=SDL.events.slice(0,1e4)),SDL.flushEventsToHandler()},lookupKeyCodeForEvent(e){var t=e.keyCode;return t>=65&&t<=90?t+=32:(t=SDL.keyCodes[t]||(t<128?t:0),e.location===2&&t>=1248&&t<=1251&&(t+=4)),t},handleEvent(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(e);break}case"keydown":case"keyup":{var t=e.type==="keydown",r=SDL.lookupKeyCodeForEvent(e);if(!r)return;HEAP8[SDL.keyboardState+r]=t,SDL.modState=(HEAP8[SDL.keyboardState+1248]?64:0)|(HEAP8[SDL.keyboardState+1249]?1:0)|(HEAP8[SDL.keyboardState+1250]?256:0)|(HEAP8[SDL.keyboardState+1252]?128:0)|(HEAP8[SDL.keyboardState+1253]?2:0)|(HEAP8[SDL.keyboardState+1254]?512:0),t?SDL.keyboardMap[r]=e.keyCode:delete SDL.keyboardMap[r];break}case"mousedown":case"mouseup":e.type=="mousedown"?SDL.buttonState|=1<<e.button:e.type=="mouseup"&&(SDL.buttonState&=~(1<<e.button));case"mousemove":{Browser.calculateMouseEvent(e);break}}},flushEventsToHandler(){if(SDL.eventHandler)for(;SDL.pollEvent(SDL.eventHandlerTemp);)getWasmTableEntry(SDL.eventHandler)(SDL.eventHandlerContext,SDL.eventHandlerTemp)},pollEvent(e){if(SDL.initFlags&512&&SDL.joystickEventState&&SDL.queryJoysticks(),e){for(;SDL.events.length>0;)if(SDL.makeCEvent(SDL.events.shift(),e)!==!1)return 1;return 0}return SDL.events.length>0},makeCEvent(e,t){if(typeof e=="number"){_memcpy(t,e,28),_free(e);return}switch(SDL.handleEvent(e),e.type){case"keydown":case"keyup":{var r=e.type==="keydown",a=SDL.lookupKeyCodeForEvent(e);if(!a)return!1;var n;a>=1024?n=a-1024:n=SDL.scanCodes[a]||a,HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP8[t+8]=r?1:0,HEAP8[t+9]=0,HEAP32[t+12>>2]=n,HEAP32[t+16>>2]=a,HEAP16[t+20>>1]=SDL.modState,HEAP32[t+24>>2]=e.keypressCharCode||a;break}case"keypress":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type];for(var o=intArrayFromString(String.fromCharCode(e.charCode)),l=0;l<o.length;++l)HEAP8[t+(8+l)]=o[l];break}case"mousedown":case"mouseup":case"mousemove":{if(e.type!="mousemove"){var r=e.type==="mousedown";HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=0,HEAP32[t+8>>2]=0,HEAP32[t+12>>2]=0,HEAP8[t+16]=e.button+1,HEAP8[t+17]=r?1:0,HEAP32[t+20>>2]=Browser.mouseX,HEAP32[t+24>>2]=Browser.mouseY}else HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=0,HEAP32[t+8>>2]=0,HEAP32[t+12>>2]=0,HEAP32[t+16>>2]=SDL.buttonState,HEAP32[t+20>>2]=Browser.mouseX,HEAP32[t+24>>2]=Browser.mouseY,HEAP32[t+28>>2]=Browser.mouseMovementX,HEAP32[t+32>>2]=Browser.mouseMovementY;break}case"wheel":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+16>>2]=e.deltaX,HEAP32[t+20>>2]=e.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var _=e.touch;if(!Browser.touches[_.identifier])break;var c=Module.canvas.width,u=Module.canvas.height,p=Browser.touches[_.identifier].x/c,m=Browser.touches[_.identifier].y/u,f=Browser.lastTouches[_.identifier].x/c,d=Browser.lastTouches[_.identifier].y/u,v=p-f,g=m-d;if(_.deviceID===void 0&&(_.deviceID=SDL.TOUCH_DEFAULT_ID),v===0&&g===0&&e.type==="touchmove")return!1;HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=_SDL_GetTicks(),HEAP64[t+8>>3]=BigInt(_.deviceID),HEAP64[t+16>>3]=BigInt(_.identifier),HEAPF32[t+24>>2]=p,HEAPF32[t+28>>2]=m,HEAPF32[t+32>>2]=v,HEAPF32[t+36>>2]=g,_.force!==void 0?HEAPF32[t+40>>2]=_.force:HEAPF32[t+40>>2]=e.type=="touchend"?0:1;break}case"unload":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type];break}case"resize":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=e.w,HEAP32[t+8>>2]=e.h;break}case"joystick_button_up":case"joystick_button_down":{var S=e.type==="joystick_button_up"?0:1;HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP8[t+4]=e.index,HEAP8[t+5]=e.button,HEAP8[t+6]=S;break}case"joystick_axis_motion":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP8[t+4]=e.index,HEAP8[t+5]=e.axis,HEAP32[t+8>>2]=SDL.joystickAxisValueConversion(e.value);break}case"focus":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=0,HEAP8[t+8]=12;break}case"blur":{HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=0,HEAP8[t+8]=13;break}case"visibilitychange":{var A=e.visible?1:2;HEAP32[t>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[t+4>>2]=0,HEAP8[t+8]=A;break}default:throw"Unhandled SDL event: "+e.type}},makeFontString(e,t){return t.charAt(0)!="'"&&t.charAt(0)!='"'&&(t='"'+t+'"'),e+"px "+t+", serif"},estimateTextWidth(e,t){var r=e.size,a=SDL.makeFontString(r,e.name),n=SDL.ttfContext;n.font=a;var o=n.measureText(t).width|0;return o},allocateChannels(e){if(!(SDL.numChannels&&SDL.numChannels>=e&&e!=0)){SDL.numChannels=e,SDL.channels=[];for(var t=0;t<e;t++)SDL.channels[t]={audio:null,volume:1}}},setGetVolume(e,t){if(!e)return 0;var r=e.volume*128;if(t!=-1&&(e.volume=Math.min(Math.max(t,0),128)/128,e.audio))try{e.audio.volume=e.volume,e.audio.webAudioGainNode&&(e.audio.webAudioGainNode.gain.value=e.volume)}catch(a){err(`setGetVolume failed to set audio volume: ${a}`)}return r},setPannerPosition(e,t,r,a){e?.audio?.webAudioPannerNode?.setPosition(t,r,a)},playWebAudio(e){if(e&&!e.webAudioNode&&SDL.webAudioAvailable())try{var t=e.resource.webAudio;if(e.paused=!1,!t.decodedBuffer){t.onDecodeComplete===void 0&&abort("Cannot play back audio object that was not loaded"),t.onDecodeComplete.push(()=>{e.paused||SDL.playWebAudio(e)});return}e.webAudioNode=SDL.audioContext.createBufferSource(),e.webAudioNode.buffer=t.decodedBuffer,e.webAudioNode.loop=e.loop,e.webAudioNode.onended=e.onended,e.webAudioPannerNode=SDL.audioContext.createPanner(),e.webAudioPannerNode.setPosition(0,0,-.5),e.webAudioPannerNode.panningModel="equalpower",e.webAudioGainNode=SDL.audioContext.createGain(),e.webAudioGainNode.gain.value=e.volume,e.webAudioNode.connect(e.webAudioPannerNode),e.webAudioPannerNode.connect(e.webAudioGainNode),e.webAudioGainNode.connect(SDL.audioContext.destination),e.webAudioNode.start(0,e.currentPosition),e.startTime=SDL.audioContext.currentTime-e.currentPosition}catch(r){err(`playWebAudio failed: ${r}`)}},pauseWebAudio(e){if(e){if(e.webAudioNode)try{e.currentPosition=(SDL.audioContext.currentTime-e.startTime)%e.resource.webAudio.decodedBuffer.duration,e.webAudioNode.onended=void 0,e.webAudioNode.stop(0),e.webAudioNode=void 0}catch(t){err(`pauseWebAudio failed: ${t}`)}e.paused=!0}},openAudioContext(){SDL.audioContext||(typeof AudioContext<"u"?SDL.audioContext=new AudioContext:typeof webkitAudioContext<"u"&&(SDL.audioContext=new webkitAudioContext))},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(e,t,r){for(var a=SDL.audio,n=a.channels,o=0;o<n;++o){var l=r.getChannelData(o);if(l.length!=t)throw"Web Audio output buffer length mismatch! Destination size: "+l.length+" samples vs expected "+t+" samples!";if(a.format==32784)for(var _=0;_<t;++_)l[_]=HEAP16[e+(_*n+o)*2>>1]/32768;else if(a.format==8)for(var _=0;_<t;++_){var c=HEAP8[e+(_*n+o)];l[_]=(c>=0?c-128:c+128)/128}else if(a.format==33056)for(var _=0;_<t;++_)l[_]=HEAPF32[e+(_*n+o)*4>>2];else throw"Invalid SDL audio format "+a.format+"!"}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(e,t){for(var r=new Array(t.buttons.length),a=0;a<t.buttons.length;a++)r[a]=SDL.getJoystickButtonState(t.buttons[a]);SDL.lastJoystickState[e]={buttons:r,axes:t.axes.slice(0),timestamp:t.timestamp,index:t.index,id:t.id}},getJoystickButtonState(e){return typeof e=="object"?e.pressed:e>0},queryJoysticks(){for(var e in SDL.lastJoystickState){var t=SDL.getGamepad(e-1),r=SDL.lastJoystickState[e];if(typeof t>"u"||t===null)return;if(typeof t.timestamp!="number"||t.timestamp!=r.timestamp||!t.timestamp){var a;for(a=0;a<t.buttons.length;a++){var n=SDL.getJoystickButtonState(t.buttons[a]);n!==r.buttons[a]&&SDL.events.push({type:n?"joystick_button_down":"joystick_button_up",joystick:e,index:e-1,button:a})}for(a=0;a<t.axes.length;a++)t.axes[a]!==r.axes[a]&&SDL.events.push({type:"joystick_axis_motion",joystick:e,index:e-1,axis:a,value:t.axes[a]});SDL.recordJoystickState(e,t)}}},joystickAxisValueConversion(e){return e=Math.min(1,Math.max(e,-1)),Math.ceil((e+1)*32767.5-32768)},getGamepads(){var e=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;return e!==void 0?e.apply(navigator):[]},getGamepad(e){var t=SDL.getGamepads();return t.length>e&&e>=0?t[e]:null}},_SDL_Linked_Version=()=>(SDL.version===null&&(SDL.version=_malloc(3),HEAP8[SDL.version]=1,HEAP8[SDL.version+1]=3,HEAP8[SDL.version+2]=0),SDL.version);_SDL_Linked_Version.sig="p";var _SDL_Init=e=>{if(SDL.startTime=Date.now(),SDL.initFlags=e,!Module.doNotCaptureKeyboard){var t=Module.keyboardListeningElement||document;t.addEventListener("keydown",SDL.receiveEvent),t.addEventListener("keyup",SDL.receiveEvent),t.addEventListener("keypress",SDL.receiveEvent),window.addEventListener("focus",SDL.receiveEvent),window.addEventListener("blur",SDL.receiveEvent),document.addEventListener("visibilitychange",SDL.receiveEvent)}return window.addEventListener("unload",SDL.receiveEvent),SDL.keyboardState=_calloc(65536,1),SDL.DOMEventToSDLEvent.keydown=768,SDL.DOMEventToSDLEvent.keyup=769,SDL.DOMEventToSDLEvent.keypress=771,SDL.DOMEventToSDLEvent.mousedown=1025,SDL.DOMEventToSDLEvent.mouseup=1026,SDL.DOMEventToSDLEvent.mousemove=1024,SDL.DOMEventToSDLEvent.wheel=1027,SDL.DOMEventToSDLEvent.touchstart=1792,SDL.DOMEventToSDLEvent.touchend=1793,SDL.DOMEventToSDLEvent.touchmove=1794,SDL.DOMEventToSDLEvent.unload=256,SDL.DOMEventToSDLEvent.resize=28673,SDL.DOMEventToSDLEvent.visibilitychange=512,SDL.DOMEventToSDLEvent.focus=512,SDL.DOMEventToSDLEvent.blur=512,SDL.DOMEventToSDLEvent.joystick_axis_motion=1536,SDL.DOMEventToSDLEvent.joystick_button_down=1539,SDL.DOMEventToSDLEvent.joystick_button_up=1540,0};_SDL_Init.sig="ii";var _SDL_WasInit=e=>(SDL.startTime===null&&_SDL_Init(0),1);_SDL_WasInit.sig="ii";var _SDL_GetVideoInfo=()=>{var e=_calloc(20,1);return HEAP32[e+12>>2]=Module.canvas.width,HEAP32[e+16>>2]=Module.canvas.height,e};_SDL_GetVideoInfo.sig="p";var _SDL_ListModes=(e,t)=>-1;_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(e,t,r,a)=>r;_SDL_VideoModeOK.sig="iiiii";var _SDL_VideoDriverName=(e,t)=>{if(SDL.startTime===null)return 0;var r=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114],a=0,n=r.length;for(t<=n&&(n=t-1);a<n;){var o=r[a];HEAP8[e+a]=o,a++}return HEAP8[e+a]=0,e};_SDL_VideoDriverName.sig="ppi";var _SDL_AudioDriverName=_SDL_VideoDriverName;_SDL_AudioDriverName.sig="ppi";var _SDL_SetVideoMode=(e,t,r,a)=>{["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(o=>Module.canvas.addEventListener(o,SDL.receiveEvent,!0));var n=Module.canvas;return e==0&&t==0&&(e=n.width,t=n.height),SDL.addedResizeListener||(SDL.addedResizeListener=!0,Browser.resizeListeners.push((o,l)=>{SDL.settingVideoMode||SDL.receiveEvent({type:"resize",w:o,h:l})})),SDL.settingVideoMode=!0,Browser.setCanvasSize(e,t),SDL.settingVideoMode=!1,SDL.screen&&(SDL.freeSurface(SDL.screen),assert(!SDL.screen)),SDL.GL&&(a=a|67108864),SDL.screen=SDL.makeSurface(e,t,a,!0,"screen"),SDL.screen};_SDL_SetVideoMode.sig="piiii";var _SDL_GetVideoSurface=()=>SDL.screen;_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var e=0;e<SDL.numChannels;++e){var t=SDL.channels[e];t.audio&&(t.audio.pause(),t.audio=void 0)}var r=SDL.music.audio;r?.pause(),SDL.music.audio=void 0};_SDL_AudioQuit.sig="v";var _SDL_VideoQuit=()=>out("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=e=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit(),out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";var _SDL_UnlockSurface=e=>{assert(!SDL.GL);var t=SDL.surfaces[e];if(!(!t.locked||--t.locked>0)){if(t.isFlagSet(2097152))SDL.copyIndexedColorData(t);else if(t.colors)for(var r=Module.canvas.width,a=Module.canvas.height,n=t.buffer,o=t.image.data,l=t.colors,_=0;_<a;_++){for(var c=_*r*4,u=0;u<r;u++){var p=HEAPU8[n++]*4,m=c+u*4;o[m]=l[p],o[m+1]=l[p+1],o[m+2]=l[p+2]}n+=r*3}else{var o=t.image.data,f=t.buffer;assert(f%4==0,"Invalid buffer offset: "+f);var d=f>>2,v=0,g=e==SDL.screen,S;if(typeof CanvasPixelArray<"u"&&o instanceof CanvasPixelArray)for(S=o.length;v<S;){var p=HEAP32[d];o[v]=p&255,o[v+1]=p>>8&255,o[v+2]=p>>16&255,o[v+3]=g?255:p>>24&255,d++,v+=4}else{var A=new Uint32Array(o.buffer);if(g&&SDL.defaults.opaqueFrontBuffer){S=A.length,A.set(HEAP32.subarray(d,d+S));var b=new Uint8Array(o.buffer),L=3,y=L+4*S;if(S%8==0)for(;L<y;)b[L]=255,L=L+4|0,b[L]=255,L=L+4|0,b[L]=255,L=L+4|0,b[L]=255,L=L+4|0,b[L]=255,L=L+4|0,b[L]=255,L=L+4|0,b[L]=255,L=L+4|0,b[L]=255,L=L+4|0;else for(;L<y;)b[L]=255,L=L+4|0}else A.set(HEAP32.subarray(d,d+A.length))}}t.ctx.putImageData(t.image,0,0)}};_SDL_UnlockSurface.sig="vp";var _SDL_Flip=e=>{};_SDL_Flip.sig="ip";var _SDL_UpdateRect=(e,t,r,a,n)=>{};_SDL_UpdateRect.sig="vpiiii";var _SDL_UpdateRects=(e,t,r)=>{};_SDL_UpdateRects.sig="vpip";var _SDL_Delay=e=>{ENVIRONMENT_IS_WORKER||abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");for(var t=Date.now();Date.now()-t<e;);};_SDL_Delay.sig="vi";var _SDL_WM_SetCaption=(e,t)=>{e&&_emscripten_set_window_title(e),t&&(t=UTF8ToString(t))};_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(e,t)=>{};_SDL_EnableKeyRepeat.sig="iii";var _SDL_GetKeyboardState=e=>(e&&(HEAP32[e>>2]=65536),SDL.keyboardState);_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0),_SDL_GetKeyName=e=>{var t="";(e>=97&&e<=122||e>=48&&e<=57)&&(t=String.fromCharCode(e));var r=lengthBytesUTF8(t)+1;return SDL.keyName=_realloc(SDL.keyName,r),stringToUTF8(t,SDL.keyName,r),SDL.keyName};_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";var _SDL_GetMouseState=(e,t)=>(e&&(HEAP32[e>>2]=Browser.mouseX),t&&(HEAP32[t>>2]=Browser.mouseY),SDL.buttonState);_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(e,t)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=e=>{switch(e){case 0:return Browser.isFullscreen?(Module.canvas.requestPointerLock(),0):1;case 1:return Module.canvas.exitPointerLock(),1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${e}`);break}};_SDL_ShowCursor.sig="ii";var _SDL_GetError=()=>(SDL.errorMessage||(SDL.errorMessage=stringToNewUTF8("unknown SDL-emscripten error")),SDL.errorMessage);_SDL_GetError.sig="p";var _SDL_SetError=(e,t)=>{};_SDL_SetError.sig="vpp";var _SDL_CreateRGBSurface=(e,t,r,a,n,o,l,_)=>SDL.makeSurface(t,r,e,!1,"CreateRGBSurface",n,o,l,_);_SDL_CreateRGBSurface.sig="piiiiiiii";var _SDL_CreateRGBSurfaceFrom=(e,t,r,a,n,o,l,_,c)=>{var u=SDL.makeSurface(t,r,0,!1,"CreateRGBSurfaceFrom",o,l,_,c);if(a!==32)return err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!"),u;for(var p=SDL.surfaces[u],m=p.ctx.createImageData(t,r),f=t*4,d=0;d<r;++d)for(var v=d*n,g=d*f,S=0;S<t*4;++S)m.data[g+S]=HEAPU8[e+(g+S)];return p.ctx.putImageData(m,0,0),u};_SDL_CreateRGBSurfaceFrom.sig="ppiiiiiiii";var _SDL_ConvertSurface=(e,t,r)=>{t&&SDL.checkPixelFormat(t);var a=SDL.surfaces[e],n=SDL.makeSurface(a.width,a.height,a.flags,!1,"copy:"+a.source),o=SDL.surfaces[n];return o.ctx.globalCompositeOperation="copy",o.ctx.drawImage(a.canvas,0,0),o.ctx.globalCompositeOperation=a.ctx.globalCompositeOperation,n};_SDL_ConvertSurface.sig="pppi";var _SDL_DisplayFormatAlpha=e=>_SDL_ConvertSurface(e,0,0);_SDL_DisplayFormatAlpha.sig="pp";var _SDL_FreeSurface=e=>{e&&SDL.freeSurface(e)};_SDL_FreeSurface.sig="vp";var _SDL_UpperBlit=(e,t,r,a)=>SDL.blitSurface(e,t,r,a,!1);_SDL_UpperBlit.sig="ipppp";var _SDL_UpperBlitScaled=(e,t,r,a)=>SDL.blitSurface(e,t,r,a,!0);_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";var _SDL_GetClipRect=(e,t)=>{assert(t);var r=SDL.surfaces[e],a=r.clipRect||{x:0,y:0,w:r.width,h:r.height};SDL.updateRect(t,a)};_SDL_GetClipRect.sig="vpp";var _SDL_SetClipRect=(e,t)=>{var r=SDL.surfaces[e];t?r.clipRect=SDL.intersectionOfRects({x:0,y:0,w:r.width,h:r.height},SDL.loadRect(t)):delete r.clipRect};_SDL_SetClipRect.sig="ipp";var _SDL_FillRect=(e,t,r)=>{var a=SDL.surfaces[e];assert(!a.locked),a.isFlagSet(2097152)&&(r=a.colors32[r]);var n=t?SDL.loadRect(t):{x:0,y:0,w:a.width,h:a.height};return a.clipRect&&(n=SDL.intersectionOfRects(a.clipRect,n),t&&SDL.updateRect(t,n)),a.ctx.save(),a.ctx.fillStyle=SDL.translateColorToCSSRGBA(r),a.ctx.fillRect(n.x,n.y,n.w,n.h),a.ctx.restore(),0};_SDL_FillRect.sig="ippi";var _zoomSurface=(e,t,r,a)=>{var n=SDL.surfaces[e],o=n.width*t,l=n.height*r,_=SDL.makeSurface(Math.abs(o),Math.abs(l),n.flags,!1,"zoomSurface"),c=SDL.surfaces[_];return t>=0&&r>=0?c.ctx.drawImage(n.canvas,0,0,o,l):(c.ctx.save(),c.ctx.scale(t<0?-1:1,r<0?-1:1),c.ctx.drawImage(n.canvas,o<0?o:0,l<0?l:0,Math.abs(o),Math.abs(l)),c.ctx.restore()),_};_zoomSurface.sig="ppddi";var _rotozoomSurface=(e,t,r,a)=>{if(t%360===0)return _zoomSurface(e,r,r,a);var n=SDL.surfaces[e],o=n.width*r,l=n.height*r,_=Math.ceil(Math.sqrt(Math.pow(o,2)+Math.pow(l,2))),c=SDL.makeSurface(_,_,n.flags,!1,"rotozoomSurface"),u=SDL.surfaces[c];return u.ctx.translate(_/2,_/2),u.ctx.rotate(-t*Math.PI/180),u.ctx.drawImage(n.canvas,-o/2,-l/2,o,l),c};_rotozoomSurface.sig="ppddi";var _SDL_SetAlpha=(e,t,r)=>{var a=SDL.surfaces[e];a.alpha=r,t&65536||(a.alpha=255)};_SDL_SetAlpha.sig="ipii";var _SDL_SetColorKey=(e,t,r)=>(warnOnce("SDL_SetColorKey is a no-op for performance reasons"),0);_SDL_SetColorKey.sig="ipii";var _SDL_PollEvent=e=>SDL.pollEvent(e);_SDL_PollEvent.sig="ip";var _SDL_PushEvent=e=>{var t=_malloc(28);return _memcpy(t,e,28),SDL.events.push(t),0};_SDL_PushEvent.sig="ip";var _SDL_PeepEvents=(e,t,r,a,n)=>{switch(r){case 2:{assert(t==1);for(var o=0,l=0;o<SDL.events.length&&l<t;){var _=SDL.events[o],c=SDL.DOMEventToSDLEvent[_.type];a<=c&&c<=n?SDL.makeCEvent(_,e)===!1?o++:(SDL.events.splice(o,1),l++):o++}return l}default:throw"SDL_PeepEvents does not yet support that action: "+r}};_SDL_PeepEvents.sig="ipiiii";var _SDL_PumpEvents=()=>SDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";var _emscripten_SDL_SetEventHandler=(e,t)=>{SDL.eventHandler=e,SDL.eventHandlerContext=t,SDL.eventHandlerTemp||(SDL.eventHandlerTemp=_malloc(28))};_emscripten_SDL_SetEventHandler.sig="vpp";var _SDL_SetColors=(e,t,r,a)=>{var n=SDL.surfaces[e];if(!n.colors){var o=new ArrayBuffer(1024);n.colors=new Uint8Array(o),n.colors32=new Uint32Array(o)}for(var l=0;l<a;++l){var _=(r+l)*4;n.colors[_]=HEAPU8[t+l*4],n.colors[_+1]=HEAPU8[t+(l*4+1)],n.colors[_+2]=HEAPU8[t+(l*4+2)],n.colors[_+3]=255}return 1};_SDL_SetColors.sig="ippii";var _SDL_SetPalette=(e,t,r,a,n)=>_SDL_SetColors(e,r,a,n);_SDL_SetPalette.sig="ipipii";var _SDL_MapRGB=(e,t,r,a)=>(SDL.checkPixelFormat(e),t&255|(r&255)<<8|(a&255)<<16|4278190080);_SDL_MapRGB.sig="ipiii";var _SDL_MapRGBA=(e,t,r,a,n)=>(SDL.checkPixelFormat(e),t&255|(r&255)<<8|(a&255)<<16|(n&255)<<24);_SDL_MapRGBA.sig="ipiiii";var _SDL_GetRGB=(e,t,r,a,n)=>{SDL.checkPixelFormat(t),r&&(HEAP8[r]=e&255),a&&(HEAP8[a]=e>>8&255),n&&(HEAP8[n]=e>>16&255)};_SDL_GetRGB.sig="vipppp";var _SDL_GetRGBA=(e,t,r,a,n,o)=>{SDL.checkPixelFormat(t),r&&(HEAP8[r]=e&255),a&&(HEAP8[a]=e>>8&255),n&&(HEAP8[n]=e>>16&255),o&&(HEAP8[o]=e>>24&255)};_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var e=0;return Browser.pointerLock&&(e|=1),document.hasFocus()&&(e|=2),e|=4,e};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";var _SDL_WM_ToggleFullScreen=e=>Browser.exitFullscreen()?1:SDL.canRequestFullscreen?(SDL.isRequestingFullscreen=!0,1):0;_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=e=>e;_IMG_Init.sig="ii";var _SDL_FreeRW=e=>{for(SDL.rwops[e]=null;SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null;)SDL.rwops.pop()};_SDL_FreeRW.sig="vp";var _IMG_Load_RW=(e,t)=>{var r=stackSave();try{var a=()=>{stackRestore(r),l&&t&&_SDL_FreeRW(e)},n=y=>{var w=a;a=()=>{w(),y()}},o=(y,w)=>{var F=stackAlloc(4),E=stackAlloc(4),T=stackAlloc(4),P=Module["_"+y](...w,F,E,T,0);return P?(n(()=>Module._stbi_image_free(P)),{rawData:!0,data:P,width:HEAP32[F>>2],height:HEAP32[E>>2],size:HEAP32[F>>2]*HEAP32[E>>2]*HEAP32[T>>2],bpp:HEAP32[T>>2]}):null},l=SDL.rwops[e];if(l===void 0)return 0;var _,c=l.filename;if(c===void 0)return warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;if(!_)if(c=PATH_FS.resolve(c),_=Browser.preloadedImages[c],_)Module.freePreloadedMediaOnUse&&(Browser.preloadedImages[c]=null);else return _===null&&err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!"),warnOnce("Cannot find preloaded image "+c),warnOnce("Cannot find preloaded image "+c+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;var u=SDL.makeSurface(_.width,_.height,0,!1,"load:"+c),p=SDL.surfaces[u];if(p.ctx.globalCompositeOperation="copy",!_.rawData)p.ctx.drawImage(_,0,0,_.width,_.height,0,0,_.width,_.height);else{var m=p.ctx.getImageData(0,0,p.width,p.height);if(_.bpp==4)m.data.set(HEAPU8.subarray(_.data,_.data+_.size));else if(_.bpp==3)for(var f=_.size/3,d=m.data,v=_.data,g=0,S=0;S<f;S++)d[g++]=HEAPU8[v++],d[g++]=HEAPU8[v++],d[g++]=HEAPU8[v++],d[g++]=255;else if(_.bpp==2)for(var f=_.size,d=m.data,v=_.data,g=0,S=0;S<f;S++){var A=HEAPU8[v++],b=HEAPU8[v++];d[g++]=A,d[g++]=A,d[g++]=A,d[g++]=b}else if(_.bpp==1)for(var f=_.size,d=m.data,v=_.data,g=0,S=0;S<f;S++){var L=HEAPU8[v++];d[g++]=L,d[g++]=L,d[g++]=L,d[g++]=255}else return err(`cannot handle bpp ${_.bpp}`),0;p.ctx.putImageData(m,0,0)}return p.ctx.globalCompositeOperation="source-over",_SDL_LockSurface(u),p.locked--,SDL.GL&&(p.canvas=p.ctx=null),u}finally{a()}};_IMG_Load_RW.sig="ppi";var _SDL_LoadBMP_RW=_IMG_Load_RW;_SDL_LoadBMP_RW.sig="ppi";var _SDL_RWFromFile=(e,t)=>{var r=SDL.rwops.length,a=UTF8ToString(e);return SDL.rwops.push({filename:a,mimetype:Browser.getMimetype(a)}),r};_SDL_RWFromFile.sig="ppp";var _IMG_Load=e=>{var t=_SDL_RWFromFile(e,0),r=_IMG_Load_RW(t,1);return r};_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";var _SDL_OpenAudio=(e,t)=>{try{if(SDL.audio={freq:HEAPU32[e>>2],format:HEAPU16[e+4>>1],channels:HEAPU8[e+6],samples:HEAPU16[e+8>>1],callback:HEAPU32[e+16>>2],userdata:HEAPU32[e+20>>2],paused:!0,timer:null},SDL.audio.format==8)SDL.audio.silence=128;else if(SDL.audio.format==32784)SDL.audio.silence=0;else if(SDL.audio.format==33056)SDL.audio.silence=0;else throw"Invalid SDL audio format "+SDL.audio.format+"!";if(SDL.audio.freq<=0)throw"Unsupported sound frequency "+SDL.audio.freq+"!";if(SDL.audio.freq<=22050)SDL.audio.freq=22050;else if(SDL.audio.freq<=32e3)SDL.audio.freq=32e3;else if(SDL.audio.freq<=44100)SDL.audio.freq=44100;else if(SDL.audio.freq<=48e3)SDL.audio.freq=48e3;else if(SDL.audio.freq<=96e3)SDL.audio.freq=96e3;else throw`Unsupported sound frequency ${SDL.audio.freq}!`;if(SDL.audio.channels==0)SDL.audio.channels=1;else{if(SDL.audio.channels<0||SDL.audio.channels>32)throw`Unsupported number of audio channels for SDL audio: ${SDL.audio.channels}!`;SDL.audio.channels!=1&&SDL.audio.channels!=2&&out(`Warning: Using untested number of audio channels ${SDL.audio.channels}`)}if(SDL.audio.samples<128||SDL.audio.samples>524288)throw`Unsupported audio callback buffer size ${SDL.audio.samples}!`;if(SDL.audio.samples&SDL.audio.samples-1)throw`Audio callback buffer size ${SDL.audio.samples} must be a power-of-two!`;var r=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8)SDL.audio.bytesPerSample=1;else if(SDL.audio.format==32784)SDL.audio.bytesPerSample=2;else if(SDL.audio.format==33056)SDL.audio.bytesPerSample=4;else throw`Invalid SDL audio format ${SDL.audio.format}!`;if(SDL.audio.bufferSize=r*SDL.audio.bytesPerSample,SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq,SDL.audio.bufferingDelay=50/1e3,SDL.audio.buffer=_malloc(SDL.audio.bufferSize),SDL.audio.numSimultaneouslyQueuedBuffers=Module.SDL_numSimultaneouslyQueuedBuffers||5,SDL.audio.queueNewAudioData=()=>{if(SDL.audio)for(var a=0;a<SDL.audio.numSimultaneouslyQueuedBuffers;++a){var n=SDL.audio.nextPlayTime-SDL.audioContext.currentTime;if(n>=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;getWasmTableEntry(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize),SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}},SDL.audio.caller=()=>{if(SDL.audio){--SDL.audio.numAudioTimersPending,SDL.audio.queueNewAudioData();var a=SDL.audio.nextPlayTime-SDL.audioContext.currentTime,n=SDL.audio.bufferDurationSecs/2;SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers&&(++SDL.audio.numAudioTimersPending,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,Math.max(0,1e3*(a-n))),SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers&&(++SDL.audio.numAudioTimersPending,safeSetTimeout(SDL.audio.caller,1)))}},SDL.audio.audioOutput=new Audio,SDL.openAudioContext(),!SDL.audioContext)throw"Web Audio API is not available!";autoResumeAudioContext(SDL.audioContext),SDL.audio.nextPlayTime=0,SDL.audio.pushAudio=(a,n)=>{try{if(SDL.audio.paused)return;var o=n/SDL.audio.bytesPerSample,l=o/SDL.audio.channels;if(l!=SDL.audio.samples)throw"Received mismatching audio buffer size!";var _=SDL.audioContext.createBufferSource(),c=SDL.audioContext.createBuffer(SDL.audio.channels,l,SDL.audio.freq);_.connect(SDL.audioContext.destination),SDL.fillWebAudioBufferFromHeap(a,l,c),_.buffer=c;var u=SDL.audioContext.currentTime,p=Math.max(u+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);typeof _.start<"u"?_.start(p):typeof _.noteOn<"u"&&_.noteOn(p),SDL.audio.nextPlayTime=p+SDL.audio.bufferDurationSecs}catch(m){err(`Web Audio API error playing back audio: ${m.toString()}`)}},t&&(HEAP32[t>>2]=SDL.audio.freq,HEAP16[t+4>>1]=SDL.audio.format,HEAP8[t+6]=SDL.audio.channels,HEAP8[t+7]=SDL.audio.silence,HEAP16[t+8>>1]=SDL.audio.samples,HEAPU32[t+16>>2]=SDL.audio.callback,HEAPU32[t+20>>2]=SDL.audio.userdata),SDL.allocateChannels(32)}catch(a){err(`Initializing SDL audio threw an exception: "${a.toString()}"! Continuing without audio`),SDL.audio=null,SDL.allocateChannels(0),t&&(HEAP32[t>>2]=0,HEAP16[t+4>>1]=0,HEAP8[t+6]=0,HEAP8[t+7]=0,HEAP16[t+8>>1]=0,HEAPU32[t+16>>2]=0,HEAPU32[t+20>>2]=0)}return SDL.audio?0:-1};_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=e=>{SDL.audio&&(e?SDL.audio.timer!==void 0&&(clearTimeout(SDL.audio.timer),SDL.audio.numAudioTimersPending=0,SDL.audio.timer=void 0):SDL.audio.timer||(SDL.audio.numAudioTimersPending=1,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)),SDL.audio.paused=e)};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{SDL.audio&&(SDL.audio.callbackRemover&&(SDL.audio.callbackRemover(),SDL.audio.callbackRemover=null),_SDL_PauseAudio(1),_free(SDL.audio.buffer),SDL.audio=null,SDL.allocateChannels(0))};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";var _SDL_CreateMutex=()=>0;_SDL_CreateMutex.sig="p";var _SDL_mutexP=e=>0;_SDL_mutexP.sig="ip";var _SDL_mutexV=e=>0;_SDL_mutexV.sig="ip";var _SDL_DestroyMutex=e=>{};_SDL_DestroyMutex.sig="vp";var _SDL_CreateCond=()=>0;_SDL_CreateCond.sig="p";var _SDL_CondSignal=e=>{};_SDL_CondSignal.sig="ip";var _SDL_CondWait=(e,t)=>{};_SDL_CondWait.sig="ipp";var _SDL_DestroyCond=e=>{};_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=!0};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=!1};_SDL_StopTextInput.sig="v";var _Mix_Init=e=>e?8:0;_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(e,t,r,a)=>(SDL.openAudioContext(),autoResumeAudioContext(SDL.audioContext),SDL.allocateChannels(32),SDL.mixerFrequency=e,SDL.mixerFormat=t,SDL.mixerNumChannels=r,SDL.mixerChunkSize=a,0);_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=e=>(SDL.allocateChannels(e),e);_Mix_AllocateChannels.sig="ii";var _Mix_ChannelFinished=e=>{SDL.channelFinished=e};_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(e,t)=>{if(e==-1){for(var r=0;r<SDL.numChannels-1;r++)_Mix_Volume(r,t);return _Mix_Volume(SDL.numChannels-1,t)}return SDL.setGetVolume(SDL.channels[e],t)};_Mix_Volume.sig="iii";var _Mix_SetPanning=(e,t,r)=>(t/=255,r/=255,SDL.setPannerPosition(SDL.channels[e],r-t,0,.1),1);_Mix_SetPanning.sig="iiii";var _Mix_LoadWAV_RW=(e,t)=>{var r=SDL.rwops[e];if(r===void 0)return 0;var a="",n,o,l;if(r.filename!==void 0){a=PATH_FS.resolve(r.filename);var _=Browser.preloadedAudios[a];if(!_){_===null&&err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!"),Module.noAudioDecoding||warnOnce("Cannot find preloaded audio "+a);try{l=FS.readFile(a)}catch{return err(`Couldn't find file for: ${a}`),0}}Module.freePreloadedMediaOnUse&&(Browser.preloadedAudios[a]=null),n=_}else if(r.bytes!==void 0)SDL.webAudioAvailable()?l=HEAPU8.buffer.slice(r.bytes,r.bytes+r.count):l=HEAPU8.subarray(r.bytes,r.bytes+r.count);else return 0;var c=l&&(l.buffer||l),u=Module.SDL_canPlayWithWebAudio===void 0||Module.SDL_canPlayWithWebAudio(a,c);if(l!==void 0&&SDL.webAudioAvailable()&&u)n=void 0,o={onDecodeComplete:[]},SDL.audioContext.decodeAudioData(c,d=>{o.decodedBuffer=d,o.onDecodeComplete.forEach(v=>v()),delete o.onDecodeComplete});else if(n===void 0&&l){var p=new Blob([l],{type:r.mimetype}),m=URL.createObjectURL(p);n=new Audio,n.src=m,n.mozAudioChannelType="content"}var f=SDL.audios.length;return SDL.audios.push({source:a,audio:n,webAudio:o}),f};_Mix_LoadWAV_RW.sig="ppi";var _Mix_LoadWAV=e=>{var t=_SDL_RWFromFile(e,0),r=_Mix_LoadWAV_RW(t,0);return _SDL_FreeRW(t),r};_Mix_LoadWAV.sig="pp";var _Mix_QuickLoad_RAW=(e,t)=>{for(var r,a,n=t>>1,o=new Float32Array(n),l=0;l<n;++l)o[l]=HEAP16[e+l*2>>1]/32768;SDL.webAudioAvailable()?a={decodedBuffer:o}:(r=new Audio,r.mozAudioChannelType="content",r.numChannels=SDL.mixerNumChannels,r.frequency=SDL.mixerFrequency);var _=SDL.audios.length;return SDL.audios.push({source:"",audio:r,webAudio:a,buffer:o}),_};_Mix_QuickLoad_RAW.sig="ppi";var _Mix_FreeChunk=e=>{SDL.audios[e]=null};_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=e=>{SDL.channelMinimumNumber=e};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=e=>{function t(a){var n=SDL.channels[a];n.audio&&(n.audio.pause(),n.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(a)}if(e!=-1)t(e);else for(var r=0;r<SDL.channels.length;++r)t(r);return 0};_Mix_HaltChannel.sig="ii";var _Mix_PlayChannelTimed=(e,t,r,a)=>{assert(a==-1);var n=SDL.audios[t];if(!n||!n.audio&&!n.webAudio)return-1;if(e==-1){for(var o=SDL.channelMinimumNumber;o<SDL.numChannels;o++)if(!SDL.channels[o].audio){e=o;break}if(e==-1)return err(`All ${SDL.numChannels} channels in use!`),-1}var l=SDL.channels[e],_;return n.webAudio?_={resource:n,paused:!1,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}:(_=n.audio.cloneNode(!0),_.numChannels=n.audio.numChannels,_.frequency=n.audio.frequency),_.onended=function(){(l.audio===this||l.audio.webAudioNode===this)&&(l.audio.paused=!0,l.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(e)},l.audio&&_Mix_HaltChannel(e),l.audio=_,_.loop=r!=0,_.volume=l.volume,_.play(),e};_Mix_PlayChannelTimed.sig="iipii";var _Mix_FadingChannel=e=>0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var e=SDL.music.audio;return e&&(e.src=e.src,e.currentPosition=0,e.pause()),SDL.music.audio=null,SDL.hookMusicFinished&&getWasmTableEntry(SDL.hookMusicFinished)(),0};_Mix_HaltMusic.sig="i";var _Mix_HookMusicFinished=e=>{SDL.hookMusicFinished=e,SDL.music.audio&&(SDL.music.audio.onended=_Mix_HaltMusic)};_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=e=>SDL.setGetVolume(SDL.music,e);_Mix_VolumeMusic.sig="ii";var _Mix_LoadMUS_RW=e=>_Mix_LoadWAV_RW(e,0);_Mix_LoadMUS_RW.sig="pp";var _Mix_LoadMUS=e=>{var t=_SDL_RWFromFile(e,0),r=_Mix_LoadMUS_RW(t);return _SDL_FreeRW(t),r};_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";var _Mix_PlayMusic=(e,t)=>{SDL.music.audio&&(SDL.music.audio.paused||err(`Music is already playing. ${SDL.music.source}`),SDL.music.audio.pause());var r=SDL.audios[e],a;return r.webAudio?a={resource:r,paused:!1,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}:r.audio&&(a=r.audio),a.onended=function(){(SDL.music.audio===this||SDL.music.audio?.webAudioNode===this)&&_Mix_HaltMusic()},a.loop=t!=0&&t!=1,a.volume=SDL.music.volume,SDL.music.audio=a,a.play(),0};_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var e=SDL.music.audio;e?.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var e=SDL.music.audio;e?.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused;_Mix_PlayingMusic.sig="i";var _Mix_Playing=e=>{if(e===-1){for(var t=0,r=0;r<SDL.channels.length;r++)t+=_Mix_Playing(r);return t}var a=SDL.channels[e];return a?.audio&&!a.audio.paused?1:0};_Mix_Playing.sig="ii";var _Mix_Pause=e=>{if(e===-1){for(var t=0;t<SDL.channels.length;t++)_Mix_Pause(t);return}var r=SDL.channels[e];r?.audio&&r.audio.pause()};_Mix_Pause.sig="vi";var _Mix_Paused=e=>{if(e===-1){for(var t=0,r=0;r<SDL.channels.length;r++)t+=_Mix_Paused(r);return t}var a=SDL.channels[e];return a?.audio?.paused?1:0};_Mix_Paused.sig="ii";var _Mix_PausedMusic=()=>SDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=e=>{if(e===-1){for(var t=0;t<SDL.channels.length;t++)_Mix_Resume(t);return}var r=SDL.channels[e];r?.audio&&r.audio.play()};_Mix_Resume.sig="vi";var _TTF_Init=()=>{try{var e=new OffscreenCanvas(0,0);if(SDL.ttfContext=e.getContext("2d"),typeof SDL.ttfContext.measureText!="function")throw"bad context"}catch{var t=document.createElement("canvas");SDL.ttfContext=t.getContext("2d")}return 0};_TTF_Init.sig="i";var _TTF_OpenFont=(e,t)=>{e=PATH.normalize(UTF8ToString(e));var r=SDL.fonts.length;return SDL.fonts.push({name:e,size:t}),r};_TTF_OpenFont.sig="ppi";var _TTF_CloseFont=e=>{SDL.fonts[e]=null};_TTF_CloseFont.sig="vp";var _TTF_RenderText_Solid=(e,t,r)=>{t=UTF8ToString(t)||" ";var a=SDL.fonts[e],n=SDL.estimateTextWidth(a,t),o=a.size;r=SDL.loadColorToCSSRGB(r);var l=SDL.makeFontString(o,a.name),_=SDL.makeSurface(n,o,0,!1,"text:"+t),c=SDL.surfaces[_];return c.ctx.save(),c.ctx.fillStyle=r,c.ctx.font=l,c.ctx.textBaseline="bottom",c.ctx.fillText(t,0,o|0),c.ctx.restore(),_};_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";var _TTF_SizeText=(e,t,r,a)=>{var n=SDL.fonts[e];return r&&(HEAP32[r>>2]=SDL.estimateTextWidth(n,UTF8ToString(t))),a&&(HEAP32[a>>2]=n.size),0};_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";var _TTF_GlyphMetrics=(e,t,r,a,n,o,l)=>{var _=SDL.fonts[e],c=SDL.estimateTextWidth(_,String.fromCharCode(t));l&&(HEAP32[l>>2]=c),r&&(HEAP32[r>>2]=0),a&&(HEAP32[a>>2]=c),n&&(HEAP32[n>>2]=0),o&&(HEAP32[o>>2]=_.size)};_TTF_GlyphMetrics.sig="ipippppp";var _TTF_FontAscent=e=>{var t=SDL.fonts[e];return t.size*.98|0};_TTF_FontAscent.sig="ip";var _TTF_FontDescent=e=>{var t=SDL.fonts[e];return t.size*.02|0};_TTF_FontDescent.sig="ip";var _TTF_FontHeight=e=>{var t=SDL.fonts[e];return t.size};_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(e,t,r,a,n,o,l)=>{t=t<<16>>16,r=r<<16>>16,a=a<<16>>16,n=n<<16>>16;var _=SDL.surfaces[e];assert(!_.locked);var c=t<a?t:a,u=r<n?r:n,p=Math.abs(a-t),m=Math.abs(n-r);_.ctx.save(),_.ctx[o+"Style"]=l,_.ctx[o+"Rect"](c,u,p,m),_.ctx.restore()},drawLine:(e,t,r,a,n,o)=>{t=t<<16>>16,r=r<<16>>16,a=a<<16>>16,n=n<<16>>16;var l=SDL.surfaces[e];assert(!l.locked),l.ctx.save(),l.ctx.strokeStyle=o,l.ctx.beginPath(),l.ctx.moveTo(t,r),l.ctx.lineTo(a,n),l.ctx.stroke(),l.ctx.restore()},drawEllipse:(e,t,r,a,n,o,l)=>{t=t<<16>>16,r=r<<16>>16,a=a<<16>>16,n=n<<16>>16;var _=SDL.surfaces[e];assert(!_.locked),_.ctx.save(),_.ctx.beginPath(),_.ctx.translate(t,r),_.ctx.scale(a,n),_.ctx.arc(0,0,1,0,2*Math.PI),_.ctx.restore(),_.ctx.save(),_.ctx[o+"Style"]=l,_.ctx[o](),_.ctx.restore()},translateColorToCSSRGBA:e=>`rgba(${e>>>24},${e>>16&255},${e>>8&255},${e&255})`},_boxColor=(e,t,r,a,n,o)=>SDL_gfx.drawRectangle(e,t,r,a,n,"fill",SDL_gfx.translateColorToCSSRGBA(o));_boxColor.sig="ipiiiii";var _boxRGBA=(e,t,r,a,n,o,l,_,c)=>SDL_gfx.drawRectangle(e,t,r,a,n,"fill",SDL.translateRGBAToCSSRGBA(o,l,_,c));_boxRGBA.sig="ipiiiiiiii";var _rectangleColor=(e,t,r,a,n,o)=>SDL_gfx.drawRectangle(e,t,r,a,n,"stroke",SDL_gfx.translateColorToCSSRGBA(o));_rectangleColor.sig="ipiiiii";var _rectangleRGBA=(e,t,r,a,n,o,l,_,c)=>SDL_gfx.drawRectangle(e,t,r,a,n,"stroke",SDL.translateRGBAToCSSRGBA(o,l,_,c));_rectangleRGBA.sig="ipiiiiiiii";var _ellipseColor=(e,t,r,a,n,o)=>SDL_gfx.drawEllipse(e,t,r,a,n,"stroke",SDL_gfx.translateColorToCSSRGBA(o));_ellipseColor.sig="ipiiiii";var _ellipseRGBA=(e,t,r,a,n,o,l,_,c)=>SDL_gfx.drawEllipse(e,t,r,a,n,"stroke",SDL.translateRGBAToCSSRGBA(o,l,_,c));_ellipseRGBA.sig="ipiiiiiiii";var _filledEllipseColor=(e,t,r,a,n,o)=>SDL_gfx.drawEllipse(e,t,r,a,n,"fill",SDL_gfx.translateColorToCSSRGBA(o));_filledEllipseColor.sig="ipiiiii";var _filledEllipseRGBA=(e,t,r,a,n,o,l,_,c)=>SDL_gfx.drawEllipse(e,t,r,a,n,"fill",SDL.translateRGBAToCSSRGBA(o,l,_,c));_filledEllipseRGBA.sig="ipiiiiiiii";var _lineColor=(e,t,r,a,n,o)=>SDL_gfx.drawLine(e,t,r,a,n,SDL_gfx.translateColorToCSSRGBA(o));_lineColor.sig="ipiiiii";var _lineRGBA=(e,t,r,a,n,o,l,_,c)=>SDL_gfx.drawLine(e,t,r,a,n,SDL.translateRGBAToCSSRGBA(o,l,_,c));_lineRGBA.sig="ipiiiiiiii";var _pixelRGBA=(e,t,r,a,n,o,l)=>_boxRGBA(e,t,r,t,r,a,n,o,l);_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(e,t)=>{e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),SDL.glAttributes[e]=t};_SDL_GL_SetAttribute.sig="iii";var _SDL_GL_GetAttribute=(e,t)=>(e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),t&&(HEAP32[t>>2]=SDL.glAttributes[e]),0);_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";var _SDL_GL_ExtensionSupported=e=>GLctx?.getExtension(UTF8ToString(e))?1:0;_SDL_GL_ExtensionSupported.sig="ip";var _SDL_DestroyWindow=e=>{};_SDL_DestroyWindow.sig="vp";var _SDL_DestroyRenderer=e=>{};_SDL_DestroyRenderer.sig="vp";var _SDL_GetWindowFlags=e=>Browser.isFullscreen?1:0;_SDL_GetWindowFlags.sig="ip";var _SDL_GL_SwapWindow=e=>{};_SDL_GL_SwapWindow.sig="vp";var _SDL_GL_MakeCurrent=(e,t)=>{};_SDL_GL_MakeCurrent.sig="ipp";var _SDL_GL_DeleteContext=e=>{};_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>MainLoop.timingMode==1?MainLoop.timingValue:0;_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=e=>_emscripten_set_main_loop_timing(1,e);_SDL_GL_SetSwapInterval.sig="ii";var _SDL_SetWindowTitle=(e,t)=>{t&&(document.title=UTF8ToString(t))};_SDL_SetWindowTitle.sig="vpp";var _SDL_GetWindowSize=(e,t,r)=>{var a=Module.canvas.width,n=Module.canvas.height;t&&(HEAP32[t>>2]=a),r&&(HEAP32[r>>2]=n)};_SDL_GetWindowSize.sig="vppp";var _SDL_LogSetOutputFunction=(e,t)=>{};_SDL_LogSetOutputFunction.sig="vpp";var _SDL_SetWindowFullscreen=(e,t)=>Browser.isFullscreen?(Module.canvas.exitFullscreen(),1):0;_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(e,t,r)=>-1;_SDL_SetGamma.sig="ifff";var _SDL_SetGammaRamp=(e,t,r)=>-1;_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{for(var e=0,t=SDL.getGamepads(),r=0;r<t.length;r++)t[r]!==void 0&&e++;return e};_SDL_NumJoysticks.sig="i";var _SDL_JoystickName=e=>{var t=SDL.getGamepad(e);if(t){var r=t.id;return SDL.joystickNamePool.hasOwnProperty(r)?SDL.joystickNamePool[r]:SDL.joystickNamePool[r]=stringToNewUTF8(r)}return 0};_SDL_JoystickName.sig="pi";var _SDL_JoystickOpen=e=>{var t=SDL.getGamepad(e);if(t){var r=e+1;return SDL.recordJoystickState(r,t),r}return 0};_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=e=>SDL.lastJoystickState.hasOwnProperty(e+1)?1:0;_SDL_JoystickOpened.sig="ii";var _SDL_JoystickIndex=e=>e-1;_SDL_JoystickIndex.sig="ip";var _SDL_JoystickNumAxes=e=>{var t=SDL.getGamepad(e-1);return t?t.axes.length:0};_SDL_JoystickNumAxes.sig="ip";var _SDL_JoystickNumBalls=e=>0;_SDL_JoystickNumBalls.sig="ip";var _SDL_JoystickNumHats=e=>0;_SDL_JoystickNumHats.sig="ip";var _SDL_JoystickNumButtons=e=>{var t=SDL.getGamepad(e-1);return t?t.buttons.length:0};_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=e=>e<0?SDL.joystickEventState:SDL.joystickEventState=e;_SDL_JoystickEventState.sig="ii";var _SDL_JoystickGetAxis=(e,t)=>{var r=SDL.getGamepad(e-1);return r&&r.axes.length>t?SDL.joystickAxisValueConversion(r.axes[t]):0};_SDL_JoystickGetAxis.sig="ipi";var _SDL_JoystickGetHat=(e,t)=>0;_SDL_JoystickGetHat.sig="ipi";var _SDL_JoystickGetBall=(e,t,r,a)=>-1;_SDL_JoystickGetBall.sig="ipipp";var _SDL_JoystickGetButton=(e,t)=>{var r=SDL.getGamepad(e-1);return r&&r.buttons.length>t&&SDL.getJoystickButtonState(r.buttons[t])?1:0};_SDL_JoystickGetButton.sig="ipi";var _SDL_JoystickClose=e=>{delete SDL.lastJoystickState[e]};_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=e=>0;_SDL_InitSubSystem.sig="ii";var _SDL_RWFromConstMem=(e,t)=>{var r=SDL.rwops.length;return SDL.rwops.push({bytes:e,count:t}),r};_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";var _SDL_GetCurrentAudioDriver=()=>stringToNewUTF8("Emscripten Audio");_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=e=>SDL.scanCodes[e];_SDL_GetScancodeFromKey.sig="ii";var _SDL_GetAudioDriver=e=>_SDL_GetCurrentAudioDriver();_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=e=>{var t=SDL.unicode||0;return SDL.unicode=e,t};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=(e,t,r)=>safeSetTimeout(()=>getWasmTableEntry(t)(e,r),e);_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=e=>(clearTimeout(e),!0);_SDL_RemoveTimer.sig="ii";var _SDL_CreateThread=(e,t,r,a)=>{throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."};_SDL_CreateThread.sig="ppp";var _SDL_WaitThread=(e,t)=>{throw"SDL_WaitThread"};_SDL_WaitThread.sig="vpp";var _SDL_GetThreadID=e=>{throw"SDL_GetThreadID"};_SDL_GetThreadID.sig="pp";var _SDL_ThreadID=()=>0;_SDL_ThreadID.sig="p";var _SDL_AllocRW=()=>{throw"SDL_AllocRW: TODO"};_SDL_AllocRW.sig="p";var _SDL_CondBroadcast=e=>{throw"SDL_CondBroadcast: TODO"};_SDL_CondBroadcast.sig="ip";var _SDL_CondWaitTimeout=(e,t,r)=>{throw"SDL_CondWaitTimeout: TODO"};_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";var _Mix_SetPostMix=(e,t)=>warnOnce("Mix_SetPostMix: TODO");_Mix_SetPostMix.sig="vpp";var _Mix_VolumeChunk=(e,t)=>{throw"Mix_VolumeChunk: TODO"};_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(e,t,r)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";var _Mix_QuerySpec=(e,t,r)=>{throw"Mix_QuerySpec: TODO"};_Mix_QuerySpec.sig="ippp";var _Mix_FadeInChannelTimed=(e,t,r,a,n)=>{throw"Mix_FadeInChannelTimed"};_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";var _Mix_Linked_Version=()=>{throw"Mix_Linked_Version: TODO"};_Mix_Linked_Version.sig="p";var _SDL_SaveBMP_RW=(e,t,r)=>{throw"SDL_SaveBMP_RW: TODO"};_SDL_SaveBMP_RW.sig="ippi";var _SDL_WM_SetIcon=(e,t)=>{};_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0,ALLOC_STACK=1,allocate=(e,t)=>{var r;return t==ALLOC_STACK?r=stackAlloc(e.length):r=_malloc(e.length),!e.subarray&&!e.slice&&(e=new Uint8Array(e)),HEAPU8.set(e,r),r},writeStringToMemory=(e,t,r)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var a,n;r&&(n=t+lengthBytesUTF8(e),a=HEAP8[n]),stringToUTF8(e,t,1/0),r&&(HEAP8[n]=a)},writeAsciiToMemory=(e,t,r)=>{for(var a=0;a<e.length;++a)HEAP8[t++]=e.charCodeAt(a);r||(HEAP8[t]=0)},allocateUTF8=stringToNewUTF8,allocateUTF8OnStack=stringToUTF8OnStack,setErrNo=e=>(HEAP32[___errno_location()>>2]=e,e),demangle=e=>(demangle.recursionGuard=(demangle.recursionGuard|0)+1,demangle.recursionGuard>1?e:withStackSave(()=>{try{var t=e;t.startsWith("__Z")&&(t=t.substr(1));var r=stringToUTF8OnStack(t),a=stackAlloc(4),n=___cxa_demangle(r,0,0,a);if(HEAP32[a>>2]===0&&n)return UTF8ToString(n)}catch{}finally{_free(n),demangle.recursionGuard<2&&--demangle.recursionGuard}return e})),stackTrace=()=>{var e=jsStackTrace();return Module.extraStackTrace&&(e+=`
24
+ `+Module.extraStackTrace()),e},print=out,printErr=err,_emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_unlink=FS.unlink,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createDevice=FS.createDevice,MEMFS.doesNotExistError=new FS.ErrnoError(44),MEMFS.doesNotExistError.stack="<generic error, no stack>",ENVIRONMENT_IS_NODE&&NODEFS.staticInit(),Module.requestAnimationFrame=MainLoop.requestAnimationFrame,Module.pauseMainLoop=MainLoop.pause,Module.resumeMainLoop=MainLoop.resume,MainLoop.init();for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));for(var miniTempWebGLFloatBuffersStorage=new Float32Array(288),i=0;i<=288;++i)miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i);for(var miniTempWebGLIntBuffersStorage=new Int32Array(288),i=0;i<=288;++i)miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i);var emSetImmediate,emClearImmediate;if(typeof setImmediate<"u")emSetImmediate=setImmediateWrapped,emClearImmediate=clearImmediateWrapped;else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0,__setImmediate_queue=[],__setImmediate_message_id="_si",__setImmediate_cb=e=>{e.data===__setImmediate_message_id&&(e.stopPropagation(),__setImmediate_queue.shift()(),++__setImmediate_id_counter)};addEventListener("message",__setImmediate_cb,!0),emSetImmediate=e=>(postMessage(__setImmediate_message_id,"*"),__setImmediate_id_counter+__setImmediate_queue.push(e)-1),emClearImmediate=e=>{var t=e-__setImmediate_id_counter;t>=0&&t<__setImmediate_queue.length&&(__setImmediate_queue[t]=()=>{})}}Module.requestFullscreen=Browser.requestFullscreen,Module.setCanvasSize=Browser.setCanvasSize,Module.getUserMedia=Browser.getUserMedia,Module.createContext=Browser.createContext,registerPostMainLoop(()=>SDL.audio?.queueNewAudioData?.());var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_rethrow:___cxa_rethrow,__cxa_throw:___cxa_throw,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_memcpy_js:__emscripten_memcpy_js,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_set_offscreencanvas_size:__emscripten_set_offscreencanvas_size,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_store:_emscripten_idb_store,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,invoke_di,invoke_i,invoke_id,invoke_ii,invoke_iii,invoke_iiii,invoke_iiiii,invoke_iiiiii,invoke_iiiiiii,invoke_iiiiiiii,invoke_iiiiiiiii,invoke_iiiiiiiiii,invoke_iiiiiiiiiii,invoke_iiiiiiiiiiiiii,invoke_iiiiiiiiiiiiiiiiii,invoke_iiiiiji,invoke_iiiij,invoke_iiiijii,invoke_iiij,invoke_iiji,invoke_iijj,invoke_ij,invoke_ijiiiii,invoke_ijiiiiii,invoke_ijji,invoke_j,invoke_ji,invoke_jii,invoke_jiii,invoke_jiiii,invoke_jiiiiii,invoke_jiiiiiiiii,invoke_jij,invoke_v,invoke_vi,invoke_vid,invoke_vii,invoke_viii,invoke_viiii,invoke_viiiii,invoke_viiiiii,invoke_viiiiiii,invoke_viiiiiiii,invoke_viiiiiiiii,invoke_viiiiiiiiiiii,invoke_viiij,invoke_viiiji,invoke_viij,invoke_viiji,invoke_viijii,invoke_viijiiii,invoke_vij,invoke_viji,invoke_vijiji,invoke_vijjii,invoke_vj,invoke_vji,invoke_vjii,lineColor:_lineColor,lineRGBA:_lineRGBA,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,zoomSurface:_zoomSurface},wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports.__wasm_call_ctors)(),_free=e=>(_free=wasmExports.free)(e),___errno_location=()=>(___errno_location=wasmExports.__errno_location)(),_pgl_shutdown=Module._pgl_shutdown=()=>(_pgl_shutdown=Module._pgl_shutdown=wasmExports.pgl_shutdown)(),_pgl_closed=Module._pgl_closed=()=>(_pgl_closed=Module._pgl_closed=wasmExports.pgl_closed)(),_malloc=e=>(_malloc=wasmExports.malloc)(e),_realloc=(e,t)=>(_realloc=wasmExports.realloc)(e,t),_fileno=e=>(_fileno=wasmExports.fileno)(e),_get_buffer_size=Module._get_buffer_size=e=>(_get_buffer_size=Module._get_buffer_size=wasmExports.get_buffer_size)(e),_get_buffer_addr=Module._get_buffer_addr=e=>(_get_buffer_addr=Module._get_buffer_addr=wasmExports.get_buffer_addr)(e),_get_channel=Module._get_channel=()=>(_get_channel=Module._get_channel=wasmExports.get_channel)(),_interactive_read=Module._interactive_read=()=>(_interactive_read=Module._interactive_read=wasmExports.interactive_read)(),_interactive_write=Module._interactive_write=e=>(_interactive_write=Module._interactive_write=wasmExports.interactive_write)(e),_use_wire=Module._use_wire=e=>(_use_wire=Module._use_wire=wasmExports.use_wire)(e),_clear_error=Module._clear_error=()=>(_clear_error=Module._clear_error=wasmExports.clear_error)(),_interactive_one=Module._interactive_one=()=>(_interactive_one=Module._interactive_one=wasmExports.interactive_one)(),_pq_recvbuf_fill=Module._pq_recvbuf_fill=(e,t)=>(_pq_recvbuf_fill=Module._pq_recvbuf_fill=wasmExports.pq_recvbuf_fill)(e,t),_pgl_backend=Module._pgl_backend=()=>(_pgl_backend=Module._pgl_backend=wasmExports.pgl_backend)(),_pgl_initdb=Module._pgl_initdb=()=>(_pgl_initdb=Module._pgl_initdb=wasmExports.pgl_initdb)(),_main=Module._main=(e,t)=>(_main=Module._main=wasmExports.__main_argc_argv)(e,t),_memcmp=(e,t,r)=>(_memcmp=wasmExports.memcmp)(e,t,r),_calloc=(e,t)=>(_calloc=wasmExports.calloc)(e,t),_memcpy=(e,t,r)=>(_memcpy=wasmExports.memcpy)(e,t,r),_strerror=e=>(_strerror=wasmExports.strerror)(e),___dl_seterr=(e,t)=>(___dl_seterr=wasmExports.__dl_seterr)(e,t),_htonl=e=>(_htonl=wasmExports.htonl)(e),_htons=e=>(_htons=wasmExports.htons)(e),_emscripten_builtin_memalign=(e,t)=>(_emscripten_builtin_memalign=wasmExports.emscripten_builtin_memalign)(e,t),_ntohs=e=>(_ntohs=wasmExports.ntohs)(e),__emscripten_timeout=(e,t)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(e,t),_setThrew=(e,t)=>(_setThrew=wasmExports.setThrew)(e,t),__emscripten_tempret_set=e=>(__emscripten_tempret_set=wasmExports._emscripten_tempret_set)(e),__emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports._emscripten_tempret_get)(),__emscripten_stack_restore=e=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(e),__emscripten_stack_alloc=e=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(e),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)(),___cxa_demangle=(e,t,r,a)=>(___cxa_demangle=wasmExports.__cxa_demangle)(e,t,r,a),___cxa_increment_exception_refcount=e=>(___cxa_increment_exception_refcount=wasmExports.__cxa_increment_exception_refcount)(e),___cxa_decrement_exception_refcount=e=>(___cxa_decrement_exception_refcount=wasmExports.__cxa_decrement_exception_refcount)(e),___cxa_can_catch=(e,t,r)=>(___cxa_can_catch=wasmExports.__cxa_can_catch)(e,t,r),___cxa_get_exception_ptr=e=>(___cxa_get_exception_ptr=wasmExports.__cxa_get_exception_ptr)(e),___wasm_apply_data_relocs=()=>(___wasm_apply_data_relocs=wasmExports.__wasm_apply_data_relocs)();function invoke_iii(e,t,r){var a=stackSave();try{return getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;_setThrew(1,0)}}function invoke_viiii(e,t,r,a,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,a,n)}catch(l){if(stackRestore(o),l!==l+0)throw l;_setThrew(1,0)}}function invoke_vi(e,t){var r=stackSave();try{getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;_setThrew(1,0)}}function invoke_v(e){var t=stackSave();try{getWasmTableEntry(e)()}catch(r){if(stackRestore(t),r!==r+0)throw r;_setThrew(1,0)}}function invoke_j(e){var t=stackSave();try{return getWasmTableEntry(e)()}catch(r){if(stackRestore(t),r!==r+0)throw r;return _setThrew(1,0),0n}}function invoke_viiiiii(e,t,r,a,n,o,l){var _=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o,l)}catch(c){if(stackRestore(_),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vii(e,t,r){var a=stackSave();try{getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;_setThrew(1,0)}}function invoke_iiiiii(e,t,r,a,n,o){var l=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o)}catch(_){if(stackRestore(l),_!==_+0)throw _;_setThrew(1,0)}}function invoke_i(e){var t=stackSave();try{return getWasmTableEntry(e)()}catch(r){if(stackRestore(t),r!==r+0)throw r;_setThrew(1,0)}}function invoke_ii(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;_setThrew(1,0)}}function invoke_viii(e,t,r,a){var n=stackSave();try{getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiii(e,t,r,a){var n=stackSave();try{return getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_vji(e,t,r){var a=stackSave();try{getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;_setThrew(1,0)}}function invoke_iiiii(e,t,r,a,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,a,n)}catch(l){if(stackRestore(o),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiiiii(e,t,r,a,n,o,l,_){var c=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiiiiiii(e,t,r,a,n,o,l,_,c,u){var p=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiiii(e,t,r,a,n,o){var l=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o)}catch(_){if(stackRestore(l),_!==_+0)throw _;_setThrew(1,0)}}function invoke_jii(e,t,r){var a=stackSave();try{return getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;return _setThrew(1,0),0n}}function invoke_ji(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;return _setThrew(1,0),0n}}function invoke_jiiiiiiiii(e,t,r,a,n,o,l,_,c,u){var p=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u)}catch(m){if(stackRestore(p),m!==m+0)throw m;return _setThrew(1,0),0n}}function invoke_jiiiiii(e,t,r,a,n,o,l){var _=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l)}catch(c){if(stackRestore(_),c!==c+0)throw c;return _setThrew(1,0),0n}}function invoke_iiiiiiiiiiiiii(e,t,r,a,n,o,l,_,c,u,p,m,f,d){var v=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u,p,m,f,d)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_iiiijii(e,t,r,a,n,o,l){var _=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l)}catch(c){if(stackRestore(_),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vijiji(e,t,r,a,n,o){var l=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o)}catch(_){if(stackRestore(l),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viji(e,t,r,a){var n=stackSave();try{getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiji(e,t,r,a){var n=stackSave();try{return getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiiiiiiii(e,t,r,a,n,o,l,_,c){var u=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_,c)}catch(p){if(stackRestore(u),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiii(e,t,r,a,n,o,l,_,c,u,p,m,f,d,v,g,S,A){var b=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u,p,m,f,d,v,g,S,A)}catch(L){if(stackRestore(b),L!==L+0)throw L;_setThrew(1,0)}}function invoke_iiiij(e,t,r,a,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,a,n)}catch(l){if(stackRestore(o),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiiii(e,t,r,a,n,o,l){var _=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l)}catch(c){if(stackRestore(_),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vj(e,t){var r=stackSave();try{getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;_setThrew(1,0)}}function invoke_iiiiiiiiii(e,t,r,a,n,o,l,_,c,u){var p=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiji(e,t,r,a,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,a,n)}catch(l){if(stackRestore(o),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiiiiiii(e,t,r,a,n,o,l,_,c){var u=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o,l,_,c)}catch(p){if(stackRestore(u),p!==p+0)throw p;_setThrew(1,0)}}function invoke_vij(e,t,r){var a=stackSave();try{getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;_setThrew(1,0)}}function invoke_ij(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;_setThrew(1,0)}}function invoke_viiiiiii(e,t,r,a,n,o,l,_){var c=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o,l,_)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiji(e,t,r,a,n,o){var l=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o)}catch(_){if(stackRestore(l),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iiij(e,t,r,a){var n=stackSave();try{return getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_vid(e,t,r){var a=stackSave();try{getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;_setThrew(1,0)}}function invoke_ijji(e,t,r,a){var n=stackSave();try{return getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iijj(e,t,r,a){var n=stackSave();try{return getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_jiii(e,t,r,a){var n=stackSave();try{return getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;return _setThrew(1,0),0n}}function invoke_jij(e,t,r){var a=stackSave();try{return getWasmTableEntry(e)(t,r)}catch(n){if(stackRestore(a),n!==n+0)throw n;return _setThrew(1,0),0n}}function invoke_ijiiiiii(e,t,r,a,n,o,l,_){var c=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viijii(e,t,r,a,n,o){var l=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o)}catch(_){if(stackRestore(l),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iiiiiji(e,t,r,a,n,o,l){var _=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l)}catch(c){if(stackRestore(_),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viijiiii(e,t,r,a,n,o,l,_){var c=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o,l,_)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viij(e,t,r,a){var n=stackSave();try{getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viiij(e,t,r,a,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,a,n)}catch(l){if(stackRestore(o),l!==l+0)throw l;_setThrew(1,0)}}function invoke_vijjii(e,t,r,a,n,o){var l=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o)}catch(_){if(stackRestore(l),_!==_+0)throw _;_setThrew(1,0)}}function invoke_vjii(e,t,r,a){var n=stackSave();try{getWasmTableEntry(e)(t,r,a)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}function invoke_jiiii(e,t,r,a,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,a,n)}catch(l){if(stackRestore(o),l!==l+0)throw l;return _setThrew(1,0),0n}}function invoke_viiiiiiiiiiii(e,t,r,a,n,o,l,_,c,u,p,m,f){var d=stackSave();try{getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u,p,m,f)}catch(v){if(stackRestore(d),v!==v+0)throw v;_setThrew(1,0)}}function invoke_di(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;_setThrew(1,0)}}function invoke_id(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(a){if(stackRestore(r),a!==a+0)throw a;_setThrew(1,0)}}function invoke_ijiiiii(e,t,r,a,n,o,l){var _=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l)}catch(c){if(stackRestore(_),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiiiiiiii(e,t,r,a,n,o,l,_,c,u,p){var m=stackSave();try{return getWasmTableEntry(e)(t,r,a,n,o,l,_,c,u,p)}catch(f){if(stackRestore(m),f!==f+0)throw f;_setThrew(1,0)}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToNewUTF8=stringToNewUTF8,Module.stringToUTF8OnStack=stringToUTF8OnStack,Module.FS_createPreloadedFile=FS_createPreloadedFile,Module.FS_unlink=FS_unlink,Module.FS_createPath=FS_createPath,Module.FS_createDevice=FS_createDevice,Module.FS=FS,Module.FS_createDataFile=FS_createDataFile,Module.FS_createLazyFile=FS_createLazyFile,Module.MEMFS=MEMFS,Module.IDBFS=IDBFS;var calledRun;dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)};function callMain(e=[]){var t=resolveGlobalSymbol("main").sym;if(t){e.unshift(thisProgram);var r=e.length,a=stackAlloc((r+1)*4),n=a;e.forEach(l=>{HEAPU32[n>>2]=stringToUTF8OnStack(l),n+=4}),HEAPU32[n>>2]=0;try{var o=t(r,a);return exitJS(o,!0),o}catch(l){return handleException(l)}}}function run(e=arguments_){if(runDependencies>0||(preRun(),runDependencies>0))return;function t(){calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized?.(),shouldRunNow&&callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),t()},1)):t()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),moduleRtn=readyPromise,moduleRtn}})(),Ii=Mi,Hi=Ii,ke,fe,ve,xe,Fe,wt,Dt,xt,Ft,Te,Qe,Je,Ke,Ye,Se,le,ee,he,se,Xr,De,Qr,Yr,Bi=class Tt extends Vr{constructor(t={},r={}){super(),G(this,se),G(this,ke,!1),G(this,fe,!1),G(this,ve,!1),G(this,xe,!1),G(this,Fe,!1),G(this,wt,new Xe),G(this,Dt,new Xe),G(this,xt,new Xe),G(this,Ft,new Xe),G(this,Te,!1),G(this,Qe,"cma"),this.debug=0,G(this,Je),G(this,Ke,[]),G(this,Ye,new ze),G(this,Se),G(this,le),G(this,ee,new Map),G(this,he,new Set),typeof t=="string"?r={dataDir:t,...r}:r=t,this.dataDir=r.dataDir,r.parsers!==void 0&&(this.parsers={...this.parsers,...r.parsers}),r.serializers!==void 0&&(this.serializers={...this.serializers,...r.serializers}),r?.debug!==void 0&&(this.debug=r.debug),r?.relaxedDurability!==void 0&&k(this,Fe,r.relaxedDurability),r?.defaultDataTransferContainer!==void 0&&k(this,Qe,r.defaultDataTransferContainer),k(this,Je,r.extensions??{}),this.waitReady=x(this,se,Xr).call(this,r??{})}static async create(t,r){let a=typeof t=="string"?{dataDir:t,...r??{}}:t??{},n=new Tt(a);return await n.waitReady,n}get Module(){return this.mod}get ready(){return h(this,ke)&&!h(this,fe)&&!h(this,ve)}get closed(){return h(this,ve)}async close(){await this._checkReady(),k(this,fe,!0);for(let t of h(this,Ke))await t();try{await this.execProtocol(Q.end()),this.mod._pgl_shutdown()}catch(t){let r=t;if(!(r.name==="ExitStatus"&&r.status===0))throw t}await this.fs.closeFs(),k(this,ve,!0),k(this,fe,!1)}async[Symbol.asyncDispose](){await this.close()}async _handleBlob(t){k(this,Se,t?await t.arrayBuffer():void 0)}async _cleanupBlob(){k(this,Se,void 0)}async _getWrittenBlob(){if(!h(this,le))return;let t=new Blob(h(this,le));return k(this,le,void 0),t}async _checkReady(){if(h(this,fe))throw new Error("PGlite is closing");if(h(this,ve))throw new Error("PGlite is closed");h(this,ke)||await this.waitReady}execProtocolRawSync(t,r={}){let a,n=this.mod;n._use_wire(1);let o=t.length,l=r.dataTransferContainer??h(this,Qe);switch(t.length>=n.FD_BUFFER_MAX&&(l="file"),l){case"cma":{n._interactive_write(t.length),n.HEAPU8.set(t,1);break}case"file":{let c="/tmp/pglite/base/.s.PGSQL.5432.lck.in";n._interactive_write(0),n.FS.writeFile(c,t),n.FS.rename(c,"/tmp/pglite/base/.s.PGSQL.5432.in");break}default:throw new Error(`Unknown data transfer container: ${l}`)}n._interactive_one();let _=n._get_channel();switch(_<0&&(l="file"),_>0&&(l="cma"),l){case"cma":{let c=o+2,u=c+n._interactive_read();a=n.HEAPU8.subarray(c,u);break}case"file":{let c="/tmp/pglite/base/.s.PGSQL.5432.out";try{let u=n.FS.stat(c),p=n.FS.open(c,"r");a=new Uint8Array(u.size),n.FS.read(p,a,0,u.size,0),n.FS.unlink(c)}catch{a=new Uint8Array(0)}break}default:throw new Error(`Unknown data transfer container: ${l}`)}return a}async execProtocolRaw(t,{syncToFs:r=!0,dataTransferContainer:a}={}){let n=this.execProtocolRawSync(t,{dataTransferContainer:a});return r&&await this.syncToFs(),n}async execProtocol(t,{syncToFs:r=!0,throwOnError:a=!0,onNotice:n}={}){let o=await this.execProtocolRaw(t,{syncToFs:r}),l=[];return h(this,Ye).parse(o,_=>{if(_ instanceof ye){if(k(this,Ye,new ze),a)throw _}else if(_ instanceof Ue)this.debug>0&&console.warn(_),n&&n(_);else if(_ instanceof Re)switch(_.text){case"BEGIN":k(this,xe,!0);break;case"COMMIT":case"ROLLBACK":k(this,xe,!1);break}else if(_ instanceof Be){let c=h(this,ee).get(_.channel);c&&c.forEach(u=>{queueMicrotask(()=>u(_.payload))}),h(this,he).forEach(u=>{queueMicrotask(()=>u(_.channel,_.payload))})}l.push(_)}),{messages:l,data:o}}isInTransaction(){return h(this,xe)}async syncToFs(){if(h(this,Te))return;k(this,Te,!0);let t=async()=>{await h(this,Ft).runExclusive(async()=>{k(this,Te,!1),await this.fs.syncToFs(h(this,Fe))})};h(this,Fe)?t():await t()}async listen(t,r){return this._runExclusiveListen(()=>x(this,se,Qr).call(this,t,r))}async unlisten(t,r){return this._runExclusiveListen(()=>x(this,se,Yr).call(this,t,r))}onNotification(t){return h(this,he).add(t),()=>{h(this,he).delete(t)}}offNotification(t){h(this,he).delete(t)}async dumpDataDir(t){await this._checkReady();let r=this.dataDir?.split("/").pop()??"pgdata";return this.fs.dumpTar(r,t)}_runExclusiveQuery(t){return h(this,wt).runExclusive(t)}_runExclusiveTransaction(t){return h(this,Dt).runExclusive(t)}async clone(){let t=await this.dumpDataDir("none");return Tt.create({loadDataDir:t})}_runExclusiveListen(t){return h(this,xt).runExclusive(t)}};ke=new WeakMap,fe=new WeakMap,ve=new WeakMap,xe=new WeakMap,Fe=new WeakMap,wt=new WeakMap,Dt=new WeakMap,xt=new WeakMap,Ft=new WeakMap,Te=new WeakMap,Qe=new WeakMap,Je=new WeakMap,Ke=new WeakMap,Ye=new WeakMap,Se=new WeakMap,le=new WeakMap,ee=new WeakMap,he=new WeakMap,se=new WeakSet,Xr=async function(e){if(e.fs)this.fs=e.fs;else{let{dataDir:u,fsType:p}=Ci(e.dataDir);this.fs=await Gi(u,p)}let t={},r=[],a=[`PGDATA=${_e}`,`PREFIX=${tt}`,`PGUSER=${e.username??"postgres"}`,`PGDATABASE=${e.database??"template1"}`,"MODE=REACT","REPL=N",...this.debug?["-d",this.debug.toString()]:[]];e.wasmModule||Nr();let n=e.fsBundle?e.fsBundle.arrayBuffer():zr(),o;n.then(u=>{o=u});let l={WASM_PREFIX:tt,arguments:a,INITIAL_MEMORY:e.initialMemory,noExitRuntime:!0,...this.debug>0?{print:console.info,printErr:console.error}:{print:()=>{},printErr:()=>{}},instantiateWasm:(u,p)=>(qr(u,e.wasmModule).then(({instance:m,module:f})=>{p(m,f)}),{}),getPreloadedPackage:(u,p)=>{if(u==="pglite.data"){if(o.byteLength!==p)throw new Error(`Invalid FS bundle size: ${o.byteLength} !== ${p}`);return o}throw new Error(`Unknown package: ${u}`)},preRun:[u=>{let p=u.FS.makedev(64,0),m={open:f=>{},close:f=>{},read:(f,d,v,g,S)=>{let A=h(this,Se);if(!A)throw new Error("No /dev/blob File or Blob provided to read from");let b=new Uint8Array(A);if(S>=b.length)return 0;let L=Math.min(b.length-S,g);for(let y=0;y<L;y++)d[v+y]=b[S+y];return L},write:(f,d,v,g,S)=>(h(this,le)??k(this,le,[]),h(this,le).push(d.slice(v,v+g)),g),llseek:(f,d,v)=>{let g=h(this,Se);if(!g)throw new Error("No /dev/blob File or Blob provided to llseek");let S=d;if(v===1?S+=f.position:v===2&&(S=new Uint8Array(g).length),S<0)throw new u.FS.ErrnoError(28);return S}};u.FS.registerDevice(p,m),u.FS.mkdev("/dev/blob",p)}]},{emscriptenOpts:_}=await this.fs.init(this,l);l=_;for(let[u,p]of Object.entries(h(this,Je)))if(p instanceof URL)t[u]=jr(p);else{let m=await p.setup(this,l);if(m.emscriptenOpts&&(l=m.emscriptenOpts),m.namespaceObj){let f=this;f[u]=m.namespaceObj}m.bundlePath&&(t[u]=jr(m.bundlePath)),m.init&&r.push(m.init),m.close&&h(this,Ke).push(m.close)}if(l.pg_extensions=t,await n,this.mod=await Hi(l),await this.fs.initialSyncFs(),e.loadDataDir){if(this.mod.FS.analyzePath(_e+"/PG_VERSION").exists)throw new Error("Database already exists, cannot load from tarball");x(this,se,De).call(this,"pglite: loading data from tarball"),await Bt(this.mod.FS,e.loadDataDir,_e)}this.mod.FS.analyzePath(_e+"/PG_VERSION").exists?x(this,se,De).call(this,"pglite: found DB, resuming"):x(this,se,De).call(this,"pglite: no db"),await xi(this.mod,(...u)=>x(this,se,De).call(this,...u));let c=this.mod._pgl_initdb();if(!c)throw new Error("INITDB failed to return value");if(c&1)throw new Error("INITDB: failed to execute");if(c&2){let u=e.username??"postgres",p=e.database??"template1";if(c&4){if(!(c&12))throw new Error(`INITDB: Invalid db ${p}/user ${u} combination`)}else if(p!=="template1"&&u!=="postgres")throw new Error(`INITDB: created a new datadir ${_e}, but an alternative db ${p}/user ${u} was requested`)}this.mod._pgl_backend(),await this.syncToFs(),k(this,ke,!0),await this.exec("SET search_path TO public;"),await this._initArrayTypes();for(let u of r)await u()},De=function(...e){this.debug>0&&console.log(...e)},Qr=async function(e,t){let r=Lt(e);h(this,ee).has(r)||h(this,ee).set(r,new Set),h(this,ee).get(r).add(t);try{await this.exec(`LISTEN ${e}`)}catch(a){throw h(this,ee).get(r).delete(t),h(this,ee).get(r)?.size===0&&h(this,ee).delete(r),a}return async()=>{await this.unlisten(r,t)}},Yr=async function(e,t){let r=Lt(e),a=async()=>{await this.exec(`UNLISTEN ${e}`),h(this,ee).get(r)?.size===0&&h(this,ee).delete(r)};t?(h(this,ee).get(r)?.delete(t),h(this,ee).get(r)?.size===0&&await a()):await a()};var bn=Bi;U();export{ki as IdbFs,Pi as MemoryFS,Xe as Mutex,bn as PGlite,Ei as formatQuery,Et as messages,mr as parse,Br as protocol,er as types,Si as uuid};