source: EcnlProtoTool/trunk/webapp/webmrbc/mrbc.min.js@ 439

Last change on this file since 439 was 439, checked in by coas-nagasima, 4 years ago

mrubyを2.1.1に更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/javascript;charset=UTF-8
File size: 120.5 KB
Line 
1var Module=typeof Module!=="undefined"?Module:{};var mrbc=function(bY){bY.preRun.push(function(){bY.FS=D});var al={};var i;for(i in bY){if(bY.hasOwnProperty(i)){al[i]=bY[i]}}var dE=[];var bm="./this.program";var aY=function(dO,dP){throw dP};var dB=false;var dd=false;var bK=false;var b0=false;dB=typeof window==="object";dd=typeof importScripts==="function";bK=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";b0=!dB&&!bK&&!dd;if(bY.ENVIRONMENT){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var Q="";function bV(dO){if(bY.locateFile){return bY.locateFile(dO,Q)}return Q+dO}var c,du,bo,bu;var a6;var V;if(bK){if(dd){Q=require("path").dirname(Q)+"/"}else{Q=__dirname+"/"}c=function a8(dO,dP){if(!a6){a6=require("fs")}if(!V){V=require("path")}dO=V.normalize(dO);return a6.readFileSync(dO,dP?null:"utf8")};bo=function bo(dO){var dP=c(dO,true);if(!dP.buffer){dP=new Uint8Array(dP)}bJ(dP.buffer);return dP};if(process.argv.length>1){bm=process.argv[1].replace(/\\/g,"/")}dE=process.argv.slice(2);if(typeof module!=="undefined"){module.exports=bY}process.on("uncaughtException",function(dO){if(!(dO instanceof cZ)){throw dO}});process.on("unhandledRejection",c3);aY=function(dO){process.exit(dO)};bY.inspect=function(){return"[Emscripten Module object]"}}else{if(b0){if(typeof read!="undefined"){c=function a8(dO){return read(dO)}}bo=function bo(dP){var dO;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(dP))}dO=read(dP,"binary");bJ(typeof dO==="object");return dO};if(typeof scriptArgs!="undefined"){dE=scriptArgs}else{if(typeof arguments!="undefined"){dE=arguments}}if(typeof quit==="function"){aY=function(dO){quit(dO)}}if(typeof print!=="undefined"){if(typeof console==="undefined"){console=({})}console.log=(print);console.warn=console.error=(typeof printErr!=="undefined"?printErr:print)}}else{if(dB||dd){if(dd){Q=self.location.href}else{if(document.currentScript){Q=document.currentScript.src}}if(Q.indexOf("blob:")!==0){Q=Q.substr(0,Q.lastIndexOf("/")+1)}else{Q=""}c=function a8(dO){var dP=new XMLHttpRequest();dP.open("GET",dO,false);dP.send(null);return dP.responseText};if(dd){bo=function bo(dO){var dP=new XMLHttpRequest();dP.open("GET",dO,false);dP.responseType="arraybuffer";dP.send(null);return new Uint8Array((dP.response))}}du=function du(dP,dR,dO){var dS=new XMLHttpRequest();dS.open("GET",dP,true);dS.responseType="arraybuffer";dS.onload=function dQ(){if(dS.status==200||(dS.status==0&&dS.response)){dR(dS.response);return}dO()};dS.onerror=dO;dS.send(null)};bu=function(dO){document.title=dO}}else{throw new Error("environment detection error")}}}var cp=bY.print||console.log.bind(console);var m=bY.printErr||console.warn.bind(console);for(i in al){if(al.hasOwnProperty(i)){bY[i]=al[i]}}al=null;if(bY["arguments"]){dE=bY["arguments"]}if(!Object.getOwnPropertyDescriptor(bY,"arguments")){Object.defineProperty(bY,"arguments",{configurable:true,get:function(){c3("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}if(bY.thisProgram){bm=bY.thisProgram}if(!Object.getOwnPropertyDescriptor(bY,"thisProgram")){Object.defineProperty(bY,"thisProgram",{configurable:true,get:function(){c3("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}if(bY.quit){aY=bY.quit}if(!Object.getOwnPropertyDescriptor(bY,"quit")){Object.defineProperty(bY,"quit",{configurable:true,get:function(){c3("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}bJ(typeof bY.memoryInitializerPrefixURL==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");bJ(typeof bY.pthreadMainPrefixURL==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");bJ(typeof bY.cdInitializerPrefixURL==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");bJ(typeof bY.filePackagePrefixURL==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");bJ(typeof bY.read==="undefined","Module.read option was removed (modify read_ in JS)");bJ(typeof bY.readAsync==="undefined","Module.readAsync option was removed (modify readAsync in JS)");bJ(typeof bY.readBinary==="undefined","Module.readBinary option was removed (modify readBinary in JS)");bJ(typeof bY.setWindowTitle==="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");bJ(typeof bY.TOTAL_MEMORY==="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");if(!Object.getOwnPropertyDescriptor(bY,"read")){Object.defineProperty(bY,"read",{configurable:true,get:function(){c3("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}if(!Object.getOwnPropertyDescriptor(bY,"readAsync")){Object.defineProperty(bY,"readAsync",{configurable:true,get:function(){c3("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}if(!Object.getOwnPropertyDescriptor(bY,"readBinary")){Object.defineProperty(bY,"readBinary",{configurable:true,get:function(){c3("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}if(!Object.getOwnPropertyDescriptor(bY,"setWindowTitle")){Object.defineProperty(bY,"setWindowTitle",{configurable:true,get:function(){c3("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}var ca="IDBFS is no longer included by default; build with -lidbfs.js";var dn="PROXYFS is no longer included by default; build with -lproxyfs.js";var cl="WORKERFS is no longer included by default; build with -lworkerfs.js";var bH="NODEFS is no longer included by default; build with -lnodefs.js";var dw=16;function aM(dQ){bJ(cg);var dP=ar[cg>>2];var dO=(dP+dQ+15)&-16;bJ(dO<=dx.length,"failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly");ar[cg>>2]=dO;return dP}function df(dP,dO){if(!dO){dO=dw}return Math.ceil(dP/dO)*dO}function aP(dO){switch(dO){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if(dO[dO.length-1]==="*"){return 4}else{if(dO[0]==="i"){var dP=Number(dO.substr(1));bJ(dP%8===0,"getNativeTypeSize invalid bits "+dP+", type "+dO);return dP/8}else{return 0}}}}function cJ(dO){if(!cJ.shown){cJ.shown={}}if(!cJ.shown[dO]){cJ.shown[dO]=1;m(dO)}}function at(dS,d0){if(typeof WebAssembly.Function==="function"){var dW={i:"i32",j:"i64",f:"f32",d:"f64"};var dV={parameters:[],results:d0[0]=="v"?[]:[dW[d0[0]]]};for(var dU=1;dU<d0.length;++dU){dV.parameters.push(dW[d0[dU]])}return new WebAssembly.Function(dV,dS)}var dT=[1,0,1,96];var dY=d0.slice(0,1);var dO=d0.slice(1);var dQ={i:127,j:126,f:125,d:124};dT.push(dO.length);for(var dU=0;dU<dO.length;++dU){dT.push(dQ[dO[dU]])}if(dY=="v"){dT.push(0)}else{dT=dT.concat([1,dQ[dY]])}dT[1]=dT.length-2;var dZ=new Uint8Array([0,97,115,109,1,0,0,0].concat(dT,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));var dR=new WebAssembly.Module(dZ);var dX=new WebAssembly.Instance(dR,{e:{f:dS}});var dP=dX.exports.f;return dP}var N=[];var bv;function w(dU,dV){var dT=de;if(!bv){bv=new WeakMap();for(var dQ=0;dQ<dT.length;dQ++){var dS=dT.get(dQ);if(dS){bv.set(dS,dQ)}}}if(bv.has(dU)){return bv.get(dU)}var dP;if(N.length){dP=N.pop()}else{dP=dT.length;try{dT.grow(1)}catch(dR){if(!(dR instanceof RangeError)){throw dR}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}}try{dT.set(dP,dU)}catch(dR){if(!(dR instanceof TypeError)){throw dR}bJ(typeof dV!=="undefined","Missing signature argument to addFunction");var dO=at(dU,dV);dT.set(dP,dO)}bv.set(dU,dP);return dP}function bc(dO){bv.delete(de.get(dO));N.push(dO)}function an(dO,dP){bJ(typeof dO!=="undefined");return w(dO,dP)}function bG(dO){bc(dO)}var u={};function bR(dO,dR){if(!dO){return}bJ(dR);if(!u[dR]){u[dR]={}}var dP=u[dR];if(!dP[dO]){if(dR.length===1){dP[dO]=function dQ(){return o(dR,dO)}}else{if(dR.length===2){dP[dO]=function dQ(dS){return o(dR,dO,[dS])}}else{dP[dO]=function dQ(){return o(dR,dO,Array.prototype.slice.call(arguments))}}}}return dP[dO]}function cx(dO,dQ,dP){return dP?((+((dO>>>0)))+((+((dQ>>>0)))*4294967296)):((+((dO>>>0)))+((+((dQ|0)))*4294967296))}function o(dP,dQ,dO){if(dO&&dO.length){bJ(dO.length===dP.substring(1).replace(/j/g,"--").length);bJ(("dynCall_"+dP) in bY,"bad function pointer type - no table for sig '"+dP+"'");return bY["dynCall_"+dP].apply(null,[dQ].concat(dO))}else{bJ(dP.length==1);bJ(("dynCall_"+dP) in bY,"bad function pointer type - no table for sig '"+dP+"'");return bY["dynCall_"+dP].call(null,dQ)}}var dA=0;var g=function(dO){dA=dO};var B=function(){return dA};function aJ(dO){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work"}var aC=1024;var dk;if(bY.wasmBinary){dk=bY.wasmBinary}if(!Object.getOwnPropertyDescriptor(bY,"wasmBinary")){Object.defineProperty(bY,"wasmBinary",{configurable:true,get:function(){c3("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}var cq;if(bY.noExitRuntime){cq=bY.noExitRuntime}if(!Object.getOwnPropertyDescriptor(bY,"noExitRuntime")){Object.defineProperty(bY,"noExitRuntime",{configurable:true,get:function(){c3("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}if(typeof WebAssembly!=="object"){c3("no native wasm support detected")}function az(dR,dQ,dP,dO){dP=dP||"i8";if(dP.charAt(dP.length-1)==="*"){dP="i32"}switch(dP){case"i1":dx[((dR)>>0)]=dQ;break;case"i8":dx[((dR)>>0)]=dQ;break;case"i16":a2[((dR)>>1)]=dQ;break;case"i32":ar[((dR)>>2)]=dQ;break;case"i64":(av=[dQ>>>0,(aN=dQ,(+(br(aN)))>=1?(aN>0?((cT((+(O((aN)/4294967296))),4294967295))|0)>>>0:(~~((+(dh((aN-+(((~~(aN)))>>>0))/4294967296)))))>>>0):0)],ar[((dR)>>2)]=av[0],ar[(((dR)+(4))>>2)]=av[1]);break;case"float":aE[((dR)>>2)]=dQ;break;case"double":n[((dR)>>3)]=dQ;break;default:c3("invalid type for setValue: "+dP)}}function ch(dQ,dP,dO){dP=dP||"i8";if(dP.charAt(dP.length-1)==="*"){dP="i32"}switch(dP){case"i1":return dx[((dQ)>>0)];case"i8":return dx[((dQ)>>0)];case"i16":return a2[((dQ)>>1)];case"i32":return ar[((dQ)>>2)];case"i64":return ar[((dQ)>>2)];case"float":return aE[((dQ)>>2)];case"double":return n[((dQ)>>3)];default:c3("invalid type for getValue: "+dP)}return null}var bI;var de=new WebAssembly.Table({initial:336,maximum:336+0,element:"anyfunc"});var di=false;var bL=0;function bJ(dP,dO){if(!dP){c3("Assertion failed: "+dO)}}function X(dP){var dO=bY["_"+dP];bJ(dO,"Cannot call unknown function "+dP+", make sure it is exported");return dO}function J(dU,dX,dT,dY,dO){var dZ={string:function(d3){var d2=0;if(d3!==null&&d3!==undefined&&d3!==0){var d1=(d3.length<<2)+1;d2=bW(d1);q(d3,d2,d1)}return d2},array:function(d1){var d2=bW(d1.length);dv(d1,d2);return d2}};function dW(d1){if(dX==="string"){return dC(d1)}if(dX==="boolean"){return Boolean(d1)}return d1}var dP=X(dU);var dR=[];var d0=0;bJ(dX!=="array",'Return type should not be "array".');if(dY){for(var dS=0;dS<dY.length;dS++){var dQ=dZ[dT[dS]];if(dQ){if(d0===0){d0=aK()}dR[dS]=dQ(dY[dS])}else{dR[dS]=dY[dS]}}}var dV=dP.apply(null,dR);dV=dW(dV);if(d0!==0){bQ(d0)}return dV}function cj(dQ,dO,dR,dP){return function(){return J(dQ,dO,dR,arguments,dP)}}var dq=0;var Y=1;var aH=2;var dF=3;function cv(dU,dV,dP,dO){var dS,d1;if(typeof dU==="number"){dS=true;d1=dU}else{dS=false;d1=dU.length}var dR=typeof dV==="string"?dV:null;var dW;if(dP==dF){dW=dO}else{dW=[cN,bW,aM][dP](Math.max(d1,dR?1:dV.length))}if(dS){var dZ;dO=dW;bJ((dW&3)==0);dZ=dW+(d1&~3);for(;dO<dZ;dO+=4){ar[((dO)>>2)]=0}dZ=dW+d1;while(dO<dZ){dx[((dO++)>>0)]=0}return dW}if(dR==="i8"){if(dU.subarray||dU.slice){bs.set((dU),dW)}else{bs.set(new Uint8Array(dU),dW)}return dW}var dT=0,dY,dX,dQ;while(dT<d1){var d0=dU[dT];dY=dR||dV[dT];if(dY===0){dT++;continue}bJ(dY,"Must know what type to store in allocate!");if(dY=="i64"){dY="i32"}az(dW+dT,d0,dY);if(dQ!==dY){dX=aP(dY);dQ=dY}dT+=dX}return dW}function ap(dO){if(!cL){return aM(dO)}return cN(dO)}var cK=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function am(dT,dX,dU){var dS=dX+dU;var dV=dX;while(dT[dV]&&!(dV>=dS)){++dV}if(dV-dX>16&&dT.subarray&&cK){return cK.decode(dT.subarray(dX,dV))}else{var dW="";while(dX<dV){var dR=dT[dX++];if(!(dR&128)){dW+=String.fromCharCode(dR);continue}var dQ=dT[dX++]&63;if((dR&224)==192){dW+=String.fromCharCode(((dR&31)<<6)|dQ);continue}var dP=dT[dX++]&63;if((dR&240)==224){dR=((dR&15)<<12)|(dQ<<6)|dP}else{if((dR&248)!=240){cJ("Invalid UTF-8 leading byte 0x"+dR.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!")}dR=((dR&7)<<18)|(dQ<<12)|(dP<<6)|(dT[dX++]&63)}if(dR<65536){dW+=String.fromCharCode(dR)}else{var dO=dR-65536;dW+=String.fromCharCode(55296|(dO>>10),56320|(dO&1023))}}}return dW}function dC(dP,dO){return dP?am(bs,dP,dO):""}function r(dT,dQ,dS,dV){if(!(dV>0)){return 0}var dU=dS;var dP=dS+dV-1;for(var dR=0;dR<dT.length;++dR){var dW=dT.charCodeAt(dR);if(dW>=55296&&dW<=57343){var dO=dT.charCodeAt(++dR);dW=65536+((dW&1023)<<10)|(dO&1023)}if(dW<=127){if(dS>=dP){break}dQ[dS++]=dW}else{if(dW<=2047){if(dS+1>=dP){break}dQ[dS++]=192|(dW>>6);dQ[dS++]=128|(dW&63)}else{if(dW<=65535){if(dS+2>=dP){break}dQ[dS++]=224|(dW>>12);dQ[dS++]=128|((dW>>6)&63);dQ[dS++]=128|(dW&63)}else{if(dS+3>=dP){break}if(dW>=2097152){cJ("Invalid Unicode code point 0x"+dW.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).")}dQ[dS++]=240|(dW>>18);dQ[dS++]=128|((dW>>12)&63);dQ[dS++]=128|((dW>>6)&63);dQ[dS++]=128|(dW&63)}}}}dQ[dS]=0;return dS-dU}function q(dP,dO,dQ){bJ(typeof dQ=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return r(dP,bs,dO,dQ)}function S(dR){var dO=0;for(var dQ=0;dQ<dR.length;++dQ){var dP=dR.charCodeAt(dQ);if(dP>=55296&&dP<=57343){dP=65536+((dP&1023)<<10)|(dR.charCodeAt(++dQ)&1023)}if(dP<=127){++dO}else{if(dP<=2047){dO+=2}else{if(dP<=65535){dO+=3}else{dO+=4}}}}return dO}function ak(dQ){var dP="";while(1){var dO=bs[((dQ++)>>0)];if(!dO){return dP}dP+=String.fromCharCode(dO)}}function ag(dP,dO){return cI(dP,dO,false)}var b2=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function bN(dV,dU){bJ(dV%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");var dQ=dV;var dO=dQ>>1;var dP=dO+dU/2;while(!(dO>=dP)&&cS[dO]){++dO}dQ=dO<<1;if(dQ-dV>32&&b2){return b2.decode(bs.subarray(dV,dQ))}else{var dR=0;var dT="";while(1){var dS=a2[(((dV)+(dR*2))>>1)];if(dS==0||dR==dU/2){return dT}++dR;dT+=String.fromCharCode(dS)}}}function aA(dT,dS,dU){bJ(dS%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!");bJ(typeof dU=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(dU===undefined){dU=2147483647}if(dU<2){return 0}dU-=2;var dP=dS;var dO=(dU<dT.length*2)?(dU/2):dT.length;for(var dQ=0;dQ<dO;++dQ){var dR=dT.charCodeAt(dQ);a2[((dS)>>1)]=dR;dS+=2}a2[((dS)>>1)]=0;return dS-dP}function b6(dO){return dO.length*2}function bp(dT,dS){bJ(dT%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");var dO=0;var dR="";while(!(dO>=dS/4)){var dQ=ar[(((dT)+(dO*4))>>2)];if(dQ==0){break}++dO;if(dQ>=65536){var dP=dQ-65536;dR+=String.fromCharCode(55296|(dP>>10),56320|(dP&1023))}else{dR+=String.fromCharCode(dQ)}}return dR}function K(dU,dT,dV){bJ(dT%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!");bJ(typeof dV=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(dV===undefined){dV=2147483647}if(dV<4){return 0}var dP=dT;var dO=dP+dV-4;for(var dQ=0;dQ<dU.length;++dQ){var dR=dU.charCodeAt(dQ);if(dR>=55296&&dR<=57343){var dS=dU.charCodeAt(++dQ);dR=65536+((dR&1023)<<10)|(dS&1023)}ar[((dT)>>2)]=dR;dT+=4;if(dT+4>dO){break}}ar[((dT)>>2)]=0;return dT-dP}function by(dR){var dO=0;for(var dP=0;dP<dR.length;++dP){var dQ=dR.charCodeAt(dP);if(dQ>=55296&&dQ<=57343){++dP}dO+=4}return dO}function bM(dQ){var dP=S(dQ)+1;var dO=cN(dP);if(dO){r(dQ,dx,dO,dP)}return dO}function bB(dQ){var dP=S(dQ)+1;var dO=bW(dP);r(dQ,dx,dO,dP);return dO}function c6(dQ,dP,dS){cJ("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var dR,dO;if(dS){dO=dP+S(dQ);dR=dx[dO]}q(dQ,dP,Infinity);if(dS){dx[dO]=dR}}function dv(dP,dO){bJ(dP.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");dx.set(dP,dO)}function cI(dR,dO,dQ){for(var dP=0;dP<dR.length;++dP){bJ(dR.charCodeAt(dP)===dR.charCodeAt(dP)&255);dx[((dO++)>>0)]=dR.charCodeAt(dP)}if(!dQ){dx[((dO)>>0)]=0}}var a0=16384;var dc=65536;var bU=16777216;function Z(dP,dO){if(dP%dO>0){dP+=dO-(dP%dO)}return dP}var a,dD,dx,bs,a2,cS,ar,b9,aE,n;function ci(dO){dD=dO;bY.HEAP8=dx=new Int8Array(dO);bY.HEAP16=a2=new Int16Array(dO);bY.HEAP32=ar=new Int32Array(dO);bY.HEAPU8=bs=new Uint8Array(dO);bY.HEAPU16=cS=new Uint16Array(dO);bY.HEAPU32=b9=new Uint32Array(dO);bY.HEAPF32=aE=new Float32Array(dO);bY.HEAPF64=n=new Float64Array(dO)}var aR=1024,bt=5322752,da=bt,c1=79872,A=5322752,cg=79712;bJ(bt%16===0,"stack must start aligned");bJ(A%16===0,"heap must start aligned");var y=5242880;if(bY.TOTAL_STACK){bJ(y===bY.TOTAL_STACK,"the stack size can no longer be determined at runtime")}var bE=bY.INITIAL_MEMORY||16777216;if(!Object.getOwnPropertyDescriptor(bY,"INITIAL_MEMORY")){Object.defineProperty(bY,"INITIAL_MEMORY",{configurable:true,get:function(){c3("Module.INITIAL_MEMORY has been replaced with plain INITIAL_INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}bJ(bE>=y,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+bE+"! (TOTAL_STACK="+y+")");bJ(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!==undefined&&Int32Array.prototype.set!==undefined,"JS engine does not provide full typed array support");if(bY.wasmMemory){bI=bY.wasmMemory}else{bI=new WebAssembly.Memory({initial:bE/dc,maximum:bE/dc})}if(bI){dD=bI.buffer}bE=dD.byteLength;bJ(bE%dc===0);ci(dD);ar[cg>>2]=A;function bi(){bJ((c1&3)==0);b9[(c1>>2)+1]=34821223;b9[(c1>>2)+2]=2310721022;ar[0]=1668509029}function p(){var dP=b9[(c1>>2)+1];var dO=b9[(c1>>2)+2];if(dP!=34821223||dO!=2310721022){c3("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+dO.toString(16)+" "+dP.toString(16))}if(ar[0]!==1668509029){c3("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var dO=new Int16Array(1);var dP=new Int8Array(dO.buffer);dO[0]=25459;if(dP[0]!==115||dP[1]!==99){throw"Runtime error: expected the system to be little-endian!"}})();function ay(dP,dO){c3("Invalid function pointer "+dP+" called with signature '"+dO+"'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info.")}function dJ(dP){while(dP.length>0){var dQ=dP.shift();if(typeof dQ=="function"){dQ(bY);continue}var dO=dQ.func;if(typeof dO==="number"){if(dQ.arg===undefined){bY.dynCall_v(dO)}else{bY.dynCall_vi(dO,dQ.arg)}}else{dO(dQ.arg===undefined?null:dQ.arg)}}}var bD=[];var d=[];var cD=[];var T=[];var ax=[];var cL=false;var v=false;function z(){if(bY.preRun){if(typeof bY.preRun=="function"){bY.preRun=[bY.preRun]}while(bY.preRun.length){I(bY.preRun.shift())}}dJ(bD)}function dN(){p();bJ(!cL);cL=true;if(!bY.noFSInit&&!D.init.initialized){D.init()}ad.init();dJ(d)}function dp(){p();D.ignorePermissions=false;dJ(cD)}function cw(){p();v=true}function aF(){p();if(bY.postRun){if(typeof bY.postRun=="function"){bY.postRun=[bY.postRun]}while(bY.postRun.length){dK(bY.postRun.shift())}}dJ(ax)}function I(dO){bD.unshift(dO)}function cX(dO){d.unshift(dO)}function bP(dO){cD.unshift(dO)}function db(dO){}function dK(dO){ax.unshift(dO)}function l(dP,dO,dQ){if(dP>=0){return dP}return dO<=32?2*Math.abs(1<<(dO-1))+dP:Math.pow(2,dO)+dP}function cR(dQ,dP,dR){if(dQ<=0){return dQ}var dO=dP<=32?Math.abs(1<<(dP-1)):Math.pow(2,dP-1);if(dQ>=dO&&(dP<=32||dQ>dO)){dQ=-2*dO+dQ}return dQ}bJ(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");bJ(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");bJ(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");bJ(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var br=Math.abs;var a5=Math.cos;var cB=Math.sin;var dl=Math.tan;var dI=Math.acos;var aL=Math.asin;var bl=Math.atan;var cd=Math.atan2;var cf=Math.exp;var c5=Math.log;var bz=Math.sqrt;var dh=Math.ceil;var O=Math.floor;var cH=Math.pow;var P=Math.imul;var dz=Math.fround;var bq=Math.round;var cT=Math.min;var be=Math.max;var a7=Math.clz32;var bO=Math.trunc;var aS=0;var cE=null;var aQ=null;var C={};function x(dP){var dO=dP;while(1){if(!C[dP]){return dP}dP=dO+Math.random()}}function cQ(dO){aS++;if(bY.monitorRunDependencies){bY.monitorRunDependencies(aS)}if(dO){bJ(!C[dO]);C[dO]=1;if(cE===null&&typeof setInterval!=="undefined"){cE=setInterval(function(){if(di){clearInterval(cE);cE=null;return}var dP=false;for(var dQ in C){if(!dP){dP=true;m("still waiting on run dependencies:")}m("dependency: "+dQ)}if(dP){m("(end of list)")}},10000)}}else{m("warning: run dependency added without ID")}}function bj(dP){aS--;if(bY.monitorRunDependencies){bY.monitorRunDependencies(aS)}if(dP){bJ(C[dP]);delete C[dP]}else{m("warning: run dependency removed without ID")}if(aS==0){if(cE!==null){clearInterval(cE);cE=null}if(aQ){var dO=aQ;aQ=null;dO()}}}bY.preloadedImages={};bY.preloadedAudios={};function c3(dP){if(bY.onAbort){bY.onAbort(dP)}dP+="";cp(dP);m(dP);di=true;bL=1;var dO="abort("+dP+") at "+G();dP=dO;throw new WebAssembly.RuntimeError(dP)}var cV=null;function F(dP,dO){return String.prototype.startsWith?dP.startsWith(dO):dP.indexOf(dO)===0}var c4="data:application/octet-stream;base64,";function bk(dO){return F(dO,c4)}var aV="file://";function bT(dO){return F(dO,aV)}function ao(dP,dO){return function(){var dQ=dP;var dR=dO;if(!dO){dR=bY.asm}bJ(cL,"native function `"+dQ+"` called before runtime initialization");bJ(!v,"native function `"+dQ+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)");if(!dR[dP]){bJ(dR[dP],"exported native function `"+dQ+"` not found")}return dR[dP].apply(null,arguments)}}var bb="mrbc.wasm";if(!bk(bb)){bb=bV(bb)}function bZ(){try{if(dk){return new Uint8Array(dk)}if(bo){return bo(bb)}else{throw"both async and sync fetching of the wasm failed"}}catch(dO){c3(dO)}}function ai(){if(!dk&&(dB||dd)&&typeof fetch==="function"&&!bT(bb)){return fetch(bb,{credentials:"same-origin"}).then(function(dO){if(!dO.ok){throw"failed to load wasm binary file at '"+bb+"'"}return dO.arrayBuffer()}).catch(function(){return bZ()})}return new Promise(function(dP,dO){dP(bZ())})}function bh(){var dV={env:ck,wasi_snapshot_preview1:ck};function dO(dW,dY){var dX=dW.exports;bY.asm=dX;bj("wasm-instantiate")}cQ("wasm-instantiate");var dU=bY;function dR(dW){bJ(bY===dU,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");dU=null;dO(dW.instance)}function dS(dW){return ai().then(function(dX){return WebAssembly.instantiate(dX,dV)}).then(dW,function(dX){m("failed to asynchronously prepare wasm: "+dX);c3(dX)})}function dQ(){if(!dk&&typeof WebAssembly.instantiateStreaming==="function"&&!bk(bb)&&!bT(bb)&&typeof fetch==="function"){fetch(bb,{credentials:"same-origin"}).then(function(dX){var dW=WebAssembly.instantiateStreaming(dX,dV);return dW.then(dR,function(dY){m("wasm streaming compile failed: "+dY);m("falling back to ArrayBuffer instantiation");return dS(dR)})})}else{return dS(dR)}}if(bY.instantiateWasm){try{var dP=bY.instantiateWasm(dV,dO);return dP}catch(dT){m("Module.instantiateWasm callback failed with error: "+dT);return false}}dQ();return{}}var aN;var av;var W={};d.push({func:function(){bg()}});function bx(dR,dU){aW.mainLoop.timingMode=dR;aW.mainLoop.timingValue=dU;if(!aW.mainLoop.func){console.error("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(dR==0){aW.mainLoop.scheduler=function dV(){var dX=Math.max(0,aW.mainLoop.tickStartTime+dU-cr())|0;setTimeout(aW.mainLoop.runner,dX)};aW.mainLoop.method="timeout"}else{if(dR==1){aW.mainLoop.scheduler=function dP(){aW.requestAnimationFrame(aW.mainLoop.runner)};aW.mainLoop.method="rAF"}else{if(dR==2){if(typeof setImmediate==="undefined"){var dS=[];var dT="setimmediate";var dW=function(dX){if(dX.data===dT||dX.data.target===dT){dX.stopPropagation();dS.shift()()}};addEventListener("message",dW,true);setImmediate=(function dQ(dX){dS.push(dX);if(dd){if(bY.setImmediates===undefined){bY.setImmediates=[]}bY.setImmediates.push(dX);postMessage({target:dT})}else{postMessage(dT,"*")}})}aW.mainLoop.scheduler=function dO(){setImmediate(aW.mainLoop.runner)};aW.mainLoop.method="immediate"}}}return 0}var cr;if(bK){cr=function(){var dO=process.hrtime();return dO[0]*1000+dO[1]/1000000}}else{if(typeof dateNow!=="undefined"){cr=dateNow}else{cr=function(){return performance.now()}}}function ah(dS,dU,dR,dO,dP){cq=true;bJ(!aW.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");aW.mainLoop.func=dS;aW.mainLoop.arg=dO;var dQ;if(typeof dO!=="undefined"){dQ=function(){bY.dynCall_vi(dS,dO)}}else{dQ=function(){bY.dynCall_v(dS)}}var dV=aW.mainLoop.currentlyRunningMainloop;aW.mainLoop.runner=function dT(){if(di){return}if(aW.mainLoop.queue.length>0){var dZ=Date.now();var dW=aW.mainLoop.queue.shift();dW.func(dW.arg);if(aW.mainLoop.remainingBlockers){var dY=aW.mainLoop.remainingBlockers;var dX=dY%1==0?dY-1:Math.floor(dY);if(dW.counted){aW.mainLoop.remainingBlockers=dX}else{dX=dX+0.5;aW.mainLoop.remainingBlockers=(8*dY+dX)/9}}console.log('main loop blocker "'+dW.name+'" took '+(Date.now()-dZ)+" ms");aW.mainLoop.updateStatus();if(dV<aW.mainLoop.currentlyRunningMainloop){return}setTimeout(aW.mainLoop.runner,0);return}if(dV<aW.mainLoop.currentlyRunningMainloop){return}aW.mainLoop.currentFrameNumber=aW.mainLoop.currentFrameNumber+1|0;if(aW.mainLoop.timingMode==1&&aW.mainLoop.timingValue>1&&aW.mainLoop.currentFrameNumber%aW.mainLoop.timingValue!=0){aW.mainLoop.scheduler();return}else{if(aW.mainLoop.timingMode==0){aW.mainLoop.tickStartTime=cr()}}if(aW.mainLoop.method==="timeout"&&bY.ctx){cJ("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");aW.mainLoop.method=""}aW.mainLoop.runIter(dQ);p();if(dV<aW.mainLoop.currentlyRunningMainloop){return}if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData){SDL.audio.queueNewAudioData()}aW.mainLoop.scheduler()};if(!dP){if(dU&&dU>0){bx(0,1000/dU)}else{bx(1,1)}aW.mainLoop.scheduler()}if(dR){throw"unwind"}}var aW={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){aW.mainLoop.scheduler=null;aW.mainLoop.currentlyRunningMainloop++},resume:function(){aW.mainLoop.currentlyRunningMainloop++;var dO=aW.mainLoop.timingMode;var dQ=aW.mainLoop.timingValue;var dP=aW.mainLoop.func;aW.mainLoop.func=null;ah(dP,0,false,aW.mainLoop.arg,true);bx(dO,dQ);aW.mainLoop.scheduler()},updateStatus:function(){if(bY.setStatus){var dQ=bY.statusMessage||"Please wait...";var dO=aW.mainLoop.remainingBlockers;var dP=aW.mainLoop.expectedBlockers;if(dO){if(dO<dP){bY.setStatus(dQ+" ("+(dP-dO)+"/"+dP+")")}else{bY.setStatus(dQ)}}else{bY.setStatus("")}}},runIter:function(dP){if(di){return}if(bY.preMainLoop){var dO=bY.preMainLoop();if(dO===false){return}}try{dP()}catch(dQ){if(dQ instanceof cZ){return}else{if(dQ&&typeof dQ==="object"&&dQ.stack){m("exception thrown: "+[dQ,dQ.stack])}throw dQ}}if(bY.postMainLoop){bY.postMainLoop()}}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!bY.preloadPlugins){bY.preloadPlugins=[]}if(aW.initted){return}aW.initted=true;try{new Blob();aW.hasBlobConstructor=true}catch(dU){aW.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}aW.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:(typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:(!aW.hasBlobConstructor?console.log("warning: no BlobBuilder"):null));aW.URLObject=typeof window!="undefined"?(window.URL?window.URL:window.webkitURL):undefined;if(!bY.noImageDecoding&&typeof aW.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");bY.noImageDecoding=true}var dP={};dP.canHandle=function dS(dX){return !bY.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(dX)};dP.handle=function dT(dZ,dX,d1,d5){var d6=null;if(aW.hasBlobConstructor){try{d6=new Blob([dZ],{type:aW.getMimetype(dX)});if(d6.size!==dZ.length){d6=new Blob([(new Uint8Array(dZ)).buffer],{type:aW.getMimetype(dX)})}}catch(d3){cJ("Blob constructor present but fails: "+d3+"; falling back to blob builder")}}if(!d6){var d4=new aW.BlobBuilder();d4.append((new Uint8Array(dZ)).buffer);d6=d4.getBlob()}var dY=aW.URLObject.createObjectURL(d6);bJ(typeof dY=="string","createObjectURL must return a url as a string");var d2=new Image();d2.onload=function d7(){bJ(d2.complete,"Image "+dX+" could not be decoded");var d9=document.createElement("canvas");d9.width=d2.width;d9.height=d2.height;var d8=d9.getContext("2d");d8.drawImage(d2,0,0);bY.preloadedImages[dX]=d9;aW.URLObject.revokeObjectURL(dY);if(d1){d1(dZ)}};d2.onerror=function d0(d8){console.log("Image "+dY+" could not be decoded");if(d5){d5()}};d2.src=dY};bY.preloadPlugins.push(dP);var dO={};dO.canHandle=function dW(dX){return !bY.noAudioDecoding&&dX.substr(-4) in {".ogg":1,".wav":1,".mp3":1}};dO.handle=function dV(d0,dZ,d2,d6){var d3=false;function d8(d9){if(d3){return}d3=true;bY.preloadedAudios[dZ]=d9;if(d2){d2(d0)}}function d1(){if(d3){return}d3=true;bY.preloadedAudios[dZ]=new Audio();if(d6){d6()}}if(aW.hasBlobConstructor){try{var d7=new Blob([d0],{type:aW.getMimetype(dZ)})}catch(d5){return d1()}var dY=aW.URLObject.createObjectURL(d7);bJ(typeof dY=="string","createObjectURL must return a url as a string");var d4=new Audio();d4.addEventListener("canplaythrough",function(){d8(d4)},false);d4.onerror=function dX(ea){if(d3){return}console.log("warning: browser could not fully decode audio "+dZ+", trying slower base64 approach");function d9(eg){var ec="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var ef="=";var ed="";var ei=0;var eb=0;for(var ee=0;ee<eg.length;ee++){ei=(ei<<8)|eg[ee];eb+=8;while(eb>=6){var eh=(ei>>(eb-6))&63;eb-=6;ed+=ec[eh]}}if(eb==2){ed+=ec[(ei&3)<<4];ed+=ef+ef}else{if(eb==4){ed+=ec[(ei&15)<<2];ed+=ef}}return ed}d4.src="data:audio/x-"+dZ.substr(-3)+";base64,"+d9(d0);d8(d4)};d4.src=dY;aW.safeSetTimeout(function(){d8(d4)},10000)}else{return d1()}};bY.preloadPlugins.push(dO);function dQ(){aW.pointerLock=document.pointerLockElement===bY.canvas||document.mozPointerLockElement===bY.canvas||document.webkitPointerLockElement===bY.canvas||document.msPointerLockElement===bY.canvas}var dR=bY.canvas;if(dR){dR.requestPointerLock=dR.requestPointerLock||dR.mozRequestPointerLock||dR.webkitRequestPointerLock||dR.msRequestPointerLock||function(){};dR.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){};dR.exitPointerLock=dR.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",dQ,false);document.addEventListener("mozpointerlockchange",dQ,false);document.addEventListener("webkitpointerlockchange",dQ,false);document.addEventListener("mspointerlockchange",dQ,false);if(bY.elementPointerLock){dR.addEventListener("click",function(dX){if(!aW.pointerLock&&bY.canvas.requestPointerLock){bY.canvas.requestPointerLock();dX.preventDefault()}},false)}}},createContext:function(dR,dU,dO,dT){if(dU&&bY.ctx&&dR==bY.canvas){return bY.ctx}var dQ;var dV;if(dU){var dP={antialias:false,alpha:false,majorVersion:1};if(dT){for(var dS in dT){dP[dS]=dT[dS]}}if(typeof GL!=="undefined"){dV=GL.createContext(dR,dP);if(dV){dQ=GL.getContext(dV).GLctx}}}else{dQ=dR.getContext("2d")}if(!dQ){return null}if(dO){if(!dU){bJ(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it")}bY.ctx=dQ;if(dU){GL.makeContextCurrent(dV)}bY.useWebGL=dU;aW.moduleContextCreatedCallbacks.forEach(function(dW){dW()});aW.init()}return dQ},destroyContext:function(dP,dQ,dO){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(dR,dP){aW.lockPointer=dR;aW.resizeCanvas=dP;if(typeof aW.lockPointer==="undefined"){aW.lockPointer=true}if(typeof aW.resizeCanvas==="undefined"){aW.resizeCanvas=false}var dQ=bY.canvas;function dO(){aW.isFullscreen=false;var dT=dQ.parentNode;if((document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===dT){dQ.exitFullscreen=aW.exitFullscreen;if(aW.lockPointer){dQ.requestPointerLock()}aW.isFullscreen=true;if(aW.resizeCanvas){aW.setFullscreenCanvasSize()}else{aW.updateCanvasDimensions(dQ)}}else{dT.parentNode.insertBefore(dQ,dT);dT.parentNode.removeChild(dT);if(aW.resizeCanvas){aW.setWindowedCanvasSize()}else{aW.updateCanvasDimensions(dQ)}}if(bY.onFullScreen){bY.onFullScreen(aW.isFullscreen)}if(bY.onFullscreen){bY.onFullscreen(aW.isFullscreen)}}if(!aW.fullscreenHandlersInstalled){aW.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",dO,false);document.addEventListener("mozfullscreenchange",dO,false);document.addEventListener("webkitfullscreenchange",dO,false);document.addEventListener("MSFullscreenChange",dO,false)}var dS=document.createElement("div");dQ.parentNode.insertBefore(dS,dQ);dS.appendChild(dQ);dS.requestFullscreen=dS.requestFullscreen||dS.mozRequestFullScreen||dS.msRequestFullscreen||(dS.webkitRequestFullscreen?function(){dS.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(dS.webkitRequestFullScreen?function(){dS.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);dS.requestFullscreen()},requestFullScreen:function(){c3("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen:function(){if(!aW.isFullscreen){return false}var dO=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(function(){});dO.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(dQ){var dP=Date.now();if(aW.nextRAF===0){aW.nextRAF=dP+1000/60}else{while(dP+2>=aW.nextRAF){aW.nextRAF+=1000/60}}var dO=Math.max(aW.nextRAF-dP,0);setTimeout(dQ,dO)},requestAnimationFrame:function(dP){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(dP);return}var dO=aW.fakeRequestAnimationFrame;dO(dP)},safeCallback:function(dO){return function(){if(!di){return dO.apply(null,arguments)}}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){aW.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){aW.allowAsyncCallbacks=true;if(aW.queuedAsyncCallbacks.length>0){var dO=aW.queuedAsyncCallbacks;aW.queuedAsyncCallbacks=[];dO.forEach(function(dP){dP()})}},safeRequestAnimationFrame:function(dO){return aW.requestAnimationFrame(function(){if(di){return}if(aW.allowAsyncCallbacks){dO()}else{aW.queuedAsyncCallbacks.push(dO)}})},safeSetTimeout:function(dO,dP){cq=true;return setTimeout(function(){if(di){return}if(aW.allowAsyncCallbacks){dO()}else{aW.queuedAsyncCallbacks.push(dO)}},dP)},safeSetInterval:function(dO,dP){cq=true;return setInterval(function(){if(di){return}if(aW.allowAsyncCallbacks){dO()}},dP)},getMimetype:function(dO){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[dO.substr(dO.lastIndexOf(".")+1)]},getUserMedia:function(dO){if(!window.getUserMedia){window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia}window.getUserMedia(dO)},getMovementX:function(dO){return dO.movementX||dO.mozMovementX||dO.webkitMovementX||0},getMovementY:function(dO){return dO.movementY||dO.mozMovementY||dO.webkitMovementY||0},getMouseWheelDelta:function(dO){var dP=0;switch(dO.type){case"DOMMouseScroll":dP=dO.detail/3;break;case"mousewheel":dP=dO.wheelDelta/120;break;case"wheel":dP=dO.deltaY;switch(dO.deltaMode){case 0:dP/=100;break;case 1:dP/=3;break;case 2:dP*=80;break;default:throw"unrecognized mouse wheel delta mode: "+dO.deltaMode}break;default:throw"unrecognized mouse wheel event: "+dO.type}return dP},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(dP){if(aW.pointerLock){if(dP.type!="mousemove"&&("mozMovementX" in dP)){aW.mouseMovementX=aW.mouseMovementY=0}else{aW.mouseMovementX=aW.getMovementX(dP);aW.mouseMovementY=aW.getMovementY(dP)}if(typeof SDL!="undefined"){aW.mouseX=SDL.mouseX+aW.mouseMovementX;aW.mouseY=SDL.mouseY+aW.mouseMovementY}else{aW.mouseX+=aW.mouseMovementX;aW.mouseY+=aW.mouseMovementY}}else{var dV=bY.canvas.getBoundingClientRect();var dS=bY.canvas.width;var dO=bY.canvas.height;var d0=((typeof window.scrollX!=="undefined")?window.scrollX:window.pageXOffset);var dY=((typeof window.scrollY!=="undefined")?window.scrollY:window.pageYOffset);bJ((typeof d0!=="undefined")&&(typeof dY!=="undefined"),"Unable to retrieve scroll position, mouse positions likely broken.");if(dP.type==="touchstart"||dP.type==="touchend"||dP.type==="touchmove"){var dT=dP.touch;if(dT===undefined){return}var dR=dT.pageX-(d0+dV.left);var dQ=dT.pageY-(dY+dV.top);dR=dR*(dS/dV.width);dQ=dQ*(dO/dV.height);var dX={x:dR,y:dQ};if(dP.type==="touchstart"){aW.lastTouches[dT.identifier]=dX;aW.touches[dT.identifier]=dX}else{if(dP.type==="touchend"||dP.type==="touchmove"){var dZ=aW.touches[dT.identifier];if(!dZ){dZ=dX}aW.lastTouches[dT.identifier]=dZ;aW.touches[dT.identifier]=dX}}return}var dW=dP.pageX-(d0+dV.left);var dU=dP.pageY-(dY+dV.top);dW=dW*(dS/dV.width);dU=dU*(dO/dV.height);aW.mouseMovementX=dW-aW.mouseX;aW.mouseMovementY=dU-aW.mouseY;aW.mouseX=dW;aW.mouseY=dU}},asyncLoad:function(dP,dS,dO,dQ){var dR=!dQ?x("al "+dP):"";du(dP,function(dT){bJ(dT,'Loading data file "'+dP+'" failed (no arrayBuffer).');dS(new Uint8Array(dT));if(dR){bj(dR)}},function(dT){if(dO){dO()}else{throw'Loading data file "'+dP+'" failed.'}});if(dR){cQ(dR)}},resizeListeners:[],updateResizeListeners:function(){var dO=bY.canvas;aW.resizeListeners.forEach(function(dP){dP(dO.width,dO.height)})},setCanvasSize:function(dR,dP,dO){var dQ=bY.canvas;aW.updateCanvasDimensions(dQ,dR,dP);if(!dO){aW.updateResizeListeners()}},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var dO=b9[((SDL.screen)>>2)];dO=dO|8388608;ar[((SDL.screen)>>2)]=dO}aW.updateCanvasDimensions(bY.canvas);aW.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var dO=b9[((SDL.screen)>>2)];dO=dO&~8388608;ar[((SDL.screen)>>2)]=dO}aW.updateCanvasDimensions(bY.canvas);aW.updateResizeListeners()},updateCanvasDimensions:function(dQ,dT,dP){if(dT&&dP){dQ.widthNative=dT;dQ.heightNative=dP}else{dT=dQ.widthNative;dP=dQ.heightNative}var dO=dT;var dS=dP;if(bY.forcedAspectRatio&&bY.forcedAspectRatio>0){if(dO/dS<bY.forcedAspectRatio){dO=Math.round(dS*bY.forcedAspectRatio)}else{dS=Math.round(dO/bY.forcedAspectRatio)}}if(((document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===dQ.parentNode)&&(typeof screen!="undefined")){var dR=Math.min(screen.width/dO,screen.height/dS);dO=Math.round(dO*dR);dS=Math.round(dS*dR)}if(aW.resizeCanvas){if(dQ.width!=dO){dQ.width=dO}if(dQ.height!=dS){dQ.height=dS}if(typeof dQ.style!="undefined"){dQ.style.removeProperty("width");dQ.style.removeProperty("height")}}else{if(dQ.width!=dT){dQ.width=dT}if(dQ.height!=dP){dQ.height=dP}if(typeof dQ.style!="undefined"){if(dO!=dT||dS!=dP){dQ.style.setProperty("width",dO+"px","important");dQ.style.setProperty("height",dS+"px","important")}else{dQ.style.removeProperty("width");dQ.style.removeProperty("height")}}}},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var dO=aW.nextWgetRequestHandle;aW.nextWgetRequestHandle++;return dO}};function aZ(dO){c3("Stack overflow! Attempted to allocate "+dO+" bytes on the stack, but stack has only "+(c1-aK()+dO)+" bytes available!")}function dt(dO){cJ("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return dO}function c7(dP){var dO=/\b_Z[\w\d_]+/g;return dP.replace(dO,function(dQ){var dR=dt(dQ);return dQ===dR?dQ:(dR+" ["+dQ+"]")})}function cW(){var dO=new Error();if(!dO.stack){try{throw new Error()}catch(dP){dO=dP}if(!dO.stack){return"(no stack trace available)"}}return dO.stack.toString()}function G(){var dO=cW();if(bY.extraStackTrace){dO+="\n"+bY.extraStackTrace()}return c7(dO)}function aX(){c3("stack overflow")}function cU(dO){ar[((cY())>>2)]=dO;return dO}var au={splitPath:function(dO){var dP=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return dP.exec(dO).slice(1)},normalizeArray:function(dS,dP){var dO=0;for(var dQ=dS.length-1;dQ>=0;dQ--){var dR=dS[dQ];if(dR==="."){dS.splice(dQ,1)}else{if(dR===".."){dS.splice(dQ,1);dO++}else{if(dO){dS.splice(dQ,1);dO--}}}}if(dP){for(;dO;dO--){dS.unshift("..")}}return dS},normalize:function(dQ){var dP=dQ.charAt(0)==="/",dO=dQ.substr(-1)==="/";dQ=au.normalizeArray(dQ.split("/").filter(function(dR){return !!dR}),!dP).join("/");if(!dQ&&!dP){dQ="."}if(dQ&&dO){dQ+="/"}return(dP?"/":"")+dQ},dirname:function(dR){var dO=au.splitPath(dR),dP=dO[0],dQ=dO[1];if(!dP&&!dQ){return"."}if(dQ){dQ=dQ.substr(0,dQ.length-1)}return dP+dQ},basename:function(dP){if(dP==="/"){return"/"}var dO=dP.lastIndexOf("/");if(dO===-1){return dP}return dP.substr(dO+1)},extname:function(dO){return au.splitPath(dO)[3]},join:function(){var dO=Array.prototype.slice.call(arguments,0);return au.normalize(dO.join("/"))},join2:function(dO,dP){return au.normalize(dO+"/"+dP)}};var cc={resolve:function(){var dQ="",dO=false;for(var dP=arguments.length-1;dP>=-1&&!dO;dP--){var dR=(dP>=0)?arguments[dP]:D.cwd();if(typeof dR!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else{if(!dR){return""}}dQ=dR+"/"+dQ;dO=dR.charAt(0)==="/"}dQ=au.normalizeArray(dQ.split("/").filter(function(dS){return !!dS}),!dO).join("/");return((dO?"/":"")+dQ)||"."},relative:function(dU,dV){dU=cc.resolve(dU).substr(1);dV=cc.resolve(dV).substr(1);function dQ(dX){var dZ=0;for(;dZ<dX.length;dZ++){if(dX[dZ]!==""){break}}var dY=dX.length-1;for(;dY>=0;dY--){if(dX[dY]!==""){break}}if(dZ>dY){return[]}return dX.slice(dZ,dY-dZ+1)}var dT=dQ(dU.split("/"));var dP=dQ(dV.split("/"));var dO=Math.min(dT.length,dP.length);var dW=dO;for(var dS=0;dS<dO;dS++){if(dT[dS]!==dP[dS]){dW=dS;break}}var dR=[];for(var dS=dW;dS<dT.length;dS++){dR.push("..")}dR=dR.concat(dP.slice(dW));return dR.join("/")}};var ad={ttys:[],init:function(){},shutdown:function(){},register:function(dO,dP){ad.ttys[dO]={input:[],output:[],ops:dP};D.registerDevice(dO,ad.stream_ops)},stream_ops:{open:function(dP){var dO=ad.ttys[dP.node.rdev];if(!dO){throw new D.ErrnoError(43)}dP.tty=dO;dP.seekable=false},close:function(dO){dO.tty.ops.flush(dO.tty)},flush:function(dO){dO.tty.ops.flush(dO.tty)},read:function(dV,dR,dQ,dP,dU){if(!dV.tty||!dV.tty.ops.get_char){throw new D.ErrnoError(60)}var dO=0;for(var dS=0;dS<dP;dS++){var dW;try{dW=dV.tty.ops.get_char(dV.tty)}catch(dT){throw new D.ErrnoError(29)}if(dW===undefined&&dO===0){throw new D.ErrnoError(6)}if(dW===null||dW===undefined){break}dO++;dR[dQ+dS]=dW}if(dO){dV.node.timestamp=Date.now()}return dO},write:function(dT,dO,dS,dQ,dU){if(!dT.tty||!dT.tty.ops.put_char){throw new D.ErrnoError(60)}try{for(var dP=0;dP<dQ;dP++){dT.tty.ops.put_char(dT.tty,dO[dS+dP])}}catch(dR){throw new D.ErrnoError(29)}if(dQ){dT.node.timestamp=Date.now()}return dP}},default_tty_ops:{get_char:function(dT){if(!dT.input.length){var dO=null;if(bK){var dQ=256;var dP=Buffer.alloc?Buffer.alloc(dQ):new Buffer(dQ);var dS=0;try{dS=a6.readSync(process.stdin.fd,dP,0,dQ,null)}catch(dR){if(dR.toString().indexOf("EOF")!=-1){dS=0}else{throw dR}}if(dS>0){dO=dP.slice(0,dS).toString("utf-8")}else{dO=null}}else{if(typeof window!="undefined"&&typeof window.prompt=="function"){dO=window.prompt("Input: ");if(dO!==null){dO+="\n"}}else{if(typeof readline=="function"){dO=readline();if(dO!==null){dO+="\n"}}}}if(!dO){return null}dT.input=aq(dO,true)}return dT.input.shift()},put_char:function(dP,dO){if(dO===null||dO===10){cp(am(dP.output,0));dP.output=[]}else{if(dO!=0){dP.output.push(dO)}}},flush:function(dO){if(dO.output&&dO.output.length>0){cp(am(dO.output,0));dO.output=[]}}},default_tty1_ops:{put_char:function(dP,dO){if(dO===null||dO===10){m(am(dP.output,0));dP.output=[]}else{if(dO!=0){dP.output.push(dO)}}},flush:function(dO){if(dO.output&&dO.output.length>0){m(am(dO.output,0));dO.output=[]}}}};var R={ops_table:null,mount:function(dO){return R.createNode(null,"/",16384|511,0)},createNode:function(dQ,dP,dS,dO){if(D.isBlkdev(dS)||D.isFIFO(dS)){throw new D.ErrnoError(63)}if(!R.ops_table){R.ops_table={dir:{node:{getattr:R.node_ops.getattr,setattr:R.node_ops.setattr,lookup:R.node_ops.lookup,mknod:R.node_ops.mknod,rename:R.node_ops.rename,unlink:R.node_ops.unlink,rmdir:R.node_ops.rmdir,readdir:R.node_ops.readdir,symlink:R.node_ops.symlink},stream:{llseek:R.stream_ops.llseek}},file:{node:{getattr:R.node_ops.getattr,setattr:R.node_ops.setattr},stream:{llseek:R.stream_ops.llseek,read:R.stream_ops.read,write:R.stream_ops.write,allocate:R.stream_ops.allocate,mmap:R.stream_ops.mmap,msync:R.stream_ops.msync}},link:{node:{getattr:R.node_ops.getattr,setattr:R.node_ops.setattr,readlink:R.node_ops.readlink},stream:{}},chrdev:{node:{getattr:R.node_ops.getattr,setattr:R.node_ops.setattr},stream:D.chrdev_stream_ops}}}var dR=D.createNode(dQ,dP,dS,dO);if(D.isDir(dR.mode)){dR.node_ops=R.ops_table.dir.node;dR.stream_ops=R.ops_table.dir.stream;dR.contents={}}else{if(D.isFile(dR.mode)){dR.node_ops=R.ops_table.file.node;dR.stream_ops=R.ops_table.file.stream;dR.usedBytes=0;dR.contents=null}else{if(D.isLink(dR.mode)){dR.node_ops=R.ops_table.link.node;dR.stream_ops=R.ops_table.link.stream}else{if(D.isChrdev(dR.mode)){dR.node_ops=R.ops_table.chrdev.node;dR.stream_ops=R.ops_table.chrdev.stream}}}}dR.timestamp=Date.now();if(dQ){dQ.contents[dP]=dR}return dR},getFileDataAsRegularArray:function(dQ){if(dQ.contents&&dQ.contents.subarray){var dO=[];for(var dP=0;dP<dQ.usedBytes;++dP){dO.push(dQ.contents[dP])}return dO}return dQ.contents},getFileDataAsTypedArray:function(dO){if(!dO.contents){return new Uint8Array(0)}if(dO.contents.subarray){return dO.contents.subarray(0,dO.usedBytes)}return new Uint8Array(dO.contents)},expandFileStorage:function(dP,dR){var dS=dP.contents?dP.contents.length:0;if(dS>=dR){return}var dQ=1024*1024;dR=Math.max(dR,(dS*(dS<dQ?2:1.125))>>>0);if(dS!=0){dR=Math.max(dR,256)}var dO=dP.contents;dP.contents=new Uint8Array(dR);if(dP.usedBytes>0){dP.contents.set(dO.subarray(0,dP.usedBytes),0)}return},resizeFileStorage:function(dQ,dP){if(dQ.usedBytes==dP){return}if(dP==0){dQ.contents=null;dQ.usedBytes=0;return}if(!dQ.contents||dQ.contents.subarray){var dO=dQ.contents;dQ.contents=new Uint8Array(dP);if(dO){dQ.contents.set(dO.subarray(0,Math.min(dP,dQ.usedBytes)))}dQ.usedBytes=dP;return}if(!dQ.contents){dQ.contents=[]}if(dQ.contents.length>dP){dQ.contents.length=dP}else{while(dQ.contents.length<dP){dQ.contents.push(0)}}dQ.usedBytes=dP},node_ops:{getattr:function(dP){var dO={};dO.dev=D.isChrdev(dP.mode)?dP.id:1;dO.ino=dP.id;dO.mode=dP.mode;dO.nlink=1;dO.uid=0;dO.gid=0;dO.rdev=dP.rdev;if(D.isDir(dP.mode)){dO.size=4096}else{if(D.isFile(dP.mode)){dO.size=dP.usedBytes}else{if(D.isLink(dP.mode)){dO.size=dP.link.length}else{dO.size=0}}}dO.atime=new Date(dP.timestamp);dO.mtime=new Date(dP.timestamp);dO.ctime=new Date(dP.timestamp);dO.blksize=4096;dO.blocks=Math.ceil(dO.size/dO.blksize);return dO},setattr:function(dP,dO){if(dO.mode!==undefined){dP.mode=dO.mode}if(dO.timestamp!==undefined){dP.timestamp=dO.timestamp}if(dO.size!==undefined){R.resizeFileStorage(dP,dO.size)}},lookup:function(dP,dO){throw D.genericErrors[44]},mknod:function(dQ,dP,dR,dO){return R.createNode(dQ,dP,dR,dO)},rename:function(dQ,dP,dR){if(D.isDir(dQ.mode)){var dT;try{dT=D.lookupNode(dP,dR)}catch(dS){}if(dT){for(var dO in dT.contents){throw new D.ErrnoError(55)}}}delete dQ.parent.contents[dQ.name];dQ.name=dR;dP.contents[dR]=dQ;dQ.parent=dP},unlink:function(dP,dO){delete dP.contents[dO]},rmdir:function(dQ,dO){var dR=D.lookupNode(dQ,dO);for(var dP in dR.contents){throw new D.ErrnoError(55)}delete dQ.contents[dO]},readdir:function(dQ){var dO=[".",".."];for(var dP in dQ.contents){if(!dQ.contents.hasOwnProperty(dP)){continue}dO.push(dP)}return dO},symlink:function(dQ,dP,dO){var dR=R.createNode(dQ,dP,511|40960,0);dR.link=dO;return dR},readlink:function(dO){if(!D.isLink(dO.mode)){throw new D.ErrnoError(28)}return dO.link}},stream_ops:{read:function(dV,dP,dU,dT,dO){var dS=dV.node.contents;if(dO>=dV.node.usedBytes){return 0}var dR=Math.min(dV.node.usedBytes-dO,dT);bJ(dR>=0);if(dR>8&&dS.subarray){dP.set(dS.subarray(dO,dO+dR),dU)}else{for(var dQ=0;dQ<dR;dQ++){dP[dU+dQ]=dS[dO+dQ]}}return dR},write:function(dU,dP,dT,dS,dO,dV){bJ(!(dP instanceof ArrayBuffer));if(!dS){return 0}var dR=dU.node;dR.timestamp=Date.now();if(dP.subarray&&(!dR.contents||dR.contents.subarray)){if(dV){bJ(dO===0,"canOwn must imply no weird position inside the file");dR.contents=dP.subarray(dT,dT+dS);dR.usedBytes=dS;return dS}else{if(dR.usedBytes===0&&dO===0){dR.contents=dP.slice(dT,dT+dS);dR.usedBytes=dS;return dS}else{if(dO+dS<=dR.usedBytes){dR.contents.set(dP.subarray(dT,dT+dS),dO);return dS}}}}R.expandFileStorage(dR,dO+dS);if(dR.contents.subarray&&dP.subarray){dR.contents.set(dP.subarray(dT,dT+dS),dO)}else{for(var dQ=0;dQ<dS;dQ++){dR.contents[dO+dQ]=dP[dT+dQ]}}dR.usedBytes=Math.max(dR.usedBytes,dO+dS);return dS},llseek:function(dR,dQ,dP){var dO=dQ;if(dP===1){dO+=dR.position}else{if(dP===2){if(D.isFile(dR.node.mode)){dO+=dR.node.usedBytes}}}if(dO<0){throw new D.ErrnoError(28)}return dO},allocate:function(dQ,dP,dO){R.expandFileStorage(dQ.node,dP+dO);dQ.node.usedBytes=Math.max(dQ.node.usedBytes,dP+dO)},mmap:function(dV,dU,dQ,dT,dW,dR){bJ(dU===0);if(!D.isFile(dV.node.mode)){throw new D.ErrnoError(43)}var dO;var dP;var dS=dV.node.contents;if(!(dR&2)&&dS.buffer===dD){dP=false;dO=dS.byteOffset}else{if(dT>0||dT+dQ<dS.length){if(dS.subarray){dS=dS.subarray(dT,dT+dQ)}else{dS=Array.prototype.slice.call(dS,dT,dT+dQ)}}dP=true;dO=cN(dQ);if(!dO){throw new D.ErrnoError(48)}dx.set(dS,dO)}return{ptr:dO,allocated:dP}},msync:function(dT,dP,dS,dR,dO){if(!D.isFile(dT.node.mode)){throw new D.ErrnoError(43)}if(dO&2){return 0}var dQ=R.stream_ops.write(dT,dP,0,dR,dS,false);return 0}}};var co={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"};var ae={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};var D={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(dO){if(!(dO instanceof D.ErrnoError)){throw dO+" : "+G()}return cU(dO.errno)},lookupPath:function(dZ,dO){dZ=cc.resolve(D.cwd(),dZ);dO=dO||{};if(!dZ){return{path:"",node:null}}var dR={follow_mount:true,recurse_count:0};for(var dX in dR){if(dO[dX]===undefined){dO[dX]=dR[dX]}}if(dO.recurse_count>8){throw new D.ErrnoError(32)}var dS=au.normalizeArray(dZ.split("/").filter(function(d0){return !!d0}),false);var dV=D.root;var dY="/";for(var dT=0;dT<dS.length;dT++){var dP=(dT===dS.length-1);if(dP&&dO.parent){break}dV=D.lookupNode(dV,dS[dT]);dY=au.join2(dY,dS[dT]);if(D.isMountpoint(dV)){if(!dP||(dP&&dO.follow_mount)){dV=dV.mounted.root}}if(!dP||dO.follow){var dU=0;while(D.isLink(dV.mode)){var dW=D.readlink(dY);dY=cc.resolve(au.dirname(dY),dW);var dQ=D.lookupPath(dY,{recurse_count:dO.recurse_count});dV=dQ.node;if(dU++>40){throw new D.ErrnoError(32)}}}}return{path:dY,node:dV}},getPath:function(dP){var dQ;while(true){if(D.isRoot(dP)){var dO=dP.mount.mountpoint;if(!dQ){return dO}return dO[dO.length-1]!=="/"?dO+"/"+dQ:dO+dQ}dQ=dQ?dP.name+"/"+dQ:dP.name;dP=dP.parent}},hashName:function(dR,dO){var dQ=0;for(var dP=0;dP<dO.length;dP++){dQ=((dQ<<5)-dQ+dO.charCodeAt(dP))|0}return((dR+dQ)>>>0)%D.nameTable.length},hashAddNode:function(dO){var dP=D.hashName(dO.parent.id,dO.name);dO.name_next=D.nameTable[dP];D.nameTable[dP]=dO},hashRemoveNode:function(dO){var dQ=D.hashName(dO.parent.id,dO.name);if(D.nameTable[dQ]===dO){D.nameTable[dQ]=dO.name_next}else{var dP=D.nameTable[dQ];while(dP){if(dP.name_next===dO){dP.name_next=dO.name_next;break}dP=dP.name_next}}},lookupNode:function(dQ,dP){var dO=D.mayLookup(dQ);if(dO){throw new D.ErrnoError(dO,dQ)}var dS=D.hashName(dQ.id,dP);for(var dR=D.nameTable[dS];dR;dR=dR.name_next){var dT=dR.name;if(dR.parent.id===dQ.id&&dT===dP){return dR}}return D.lookup(dQ,dP)},createNode:function(dQ,dP,dS,dO){var dR=new D.FSNode(dQ,dP,dS,dO);D.hashAddNode(dR);return dR},destroyNode:function(dO){D.hashRemoveNode(dO)},isRoot:function(dO){return dO===dO.parent},isMountpoint:function(dO){return !!dO.mounted},isFile:function(dO){return(dO&61440)===32768},isDir:function(dO){return(dO&61440)===16384},isLink:function(dO){return(dO&61440)===40960},isChrdev:function(dO){return(dO&61440)===8192},isBlkdev:function(dO){return(dO&61440)===24576},isFIFO:function(dO){return(dO&61440)===4096},isSocket:function(dO){return(dO&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(dP){var dO=D.flagModes[dP];if(typeof dO==="undefined"){throw new Error("Unknown file open mode: "+dP)}return dO},flagsToPermissionString:function(dO){var dP=["r","w","rw"][dO&3];if((dO&512)){dP+="w"}return dP},nodePermissions:function(dP,dO){if(D.ignorePermissions){return 0}if(dO.indexOf("r")!==-1&&!(dP.mode&292)){return 2}else{if(dO.indexOf("w")!==-1&&!(dP.mode&146)){return 2}else{if(dO.indexOf("x")!==-1&&!(dP.mode&73)){return 2}}}return 0},mayLookup:function(dP){var dO=D.nodePermissions(dP,"x");if(dO){return dO}if(!dP.node_ops.lookup){return 2}return 0},mayCreate:function(dP,dO){try{var dQ=D.lookupNode(dP,dO);return 20}catch(dR){}return D.nodePermissions(dP,"wx")},mayDelete:function(dR,dQ,dO){var dS;try{dS=D.lookupNode(dR,dQ)}catch(dT){return dT.errno}var dP=D.nodePermissions(dR,"wx");if(dP){return dP}if(dO){if(!D.isDir(dS.mode)){return 54}if(D.isRoot(dS)||D.getPath(dS)===D.cwd()){return 10}}else{if(D.isDir(dS.mode)){return 31}}return 0},mayOpen:function(dP,dO){if(!dP){return 44}if(D.isLink(dP.mode)){return 32}else{if(D.isDir(dP.mode)){if(D.flagsToPermissionString(dO)!=="r"||(dO&512)){return 31}}}return D.nodePermissions(dP,D.flagsToPermissionString(dO))},MAX_OPEN_FDS:4096,nextfd:function(dQ,dP){dQ=dQ||0;dP=dP||D.MAX_OPEN_FDS;for(var dO=dQ;dO<=dP;dO++){if(!D.streams[dO]){return dO}}throw new D.ErrnoError(33)},getStream:function(dO){return D.streams[dO]},createStream:function(dS,dQ,dP){if(!D.FSStream){D.FSStream=function(){};D.FSStream.prototype={object:{get:function(){return this.node},set:function(dU){this.node=dU}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return(this.flags&1024)}}}}var dT=new D.FSStream();for(var dR in dS){dT[dR]=dS[dR]}dS=dT;var dO=D.nextfd(dQ,dP);dS.fd=dO;D.streams[dO]=dS;return dS},closeStream:function(dO){D.streams[dO]=null},chrdev_stream_ops:{open:function(dP){var dO=D.getDevice(dP.node.rdev);dP.stream_ops=dO.stream_ops;if(dP.stream_ops.open){dP.stream_ops.open(dP)}},llseek:function(){throw new D.ErrnoError(70)}},major:function(dO){return((dO)>>8)},minor:function(dO){return((dO)&255)},makedev:function(dP,dO){return((dP)<<8|(dO))},registerDevice:function(dO,dP){D.devices[dO]={stream_ops:dP}},getDevice:function(dO){return D.devices[dO]},getMounts:function(dP){var dR=[];var dQ=[dP];while(dQ.length){var dO=dQ.pop();dR.push(dO);dQ.push.apply(dQ,dO.mounts)}return dR},syncfs:function(dS,dT){if(typeof(dS)==="function"){dT=dS;dS=false}D.syncFSRequests++;if(D.syncFSRequests>1){m("warning: "+D.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var dQ=D.getMounts(D.root.mount);var dP=0;function dR(dU){bJ(D.syncFSRequests>0);D.syncFSRequests--;return dT(dU)}function dO(dU){if(dU){if(!dO.errored){dO.errored=true;return dR(dU)}return}if(++dP>=dQ.length){dR(null)}}dQ.forEach(function(dU){if(!dU.type.syncfs){return dO(null)}dU.type.syncfs(dU,dS,dO)})},mount:function(dS,dO,dW){if(typeof dS==="string"){throw dS}var dU=dW==="/";var dV=!dW;var dQ;if(dU&&D.root){throw new D.ErrnoError(10)}else{if(!dU&&!dV){var dP=D.lookupPath(dW,{follow_mount:false});dW=dP.path;dQ=dP.node;if(D.isMountpoint(dQ)){throw new D.ErrnoError(10)}if(!D.isDir(dQ.mode)){throw new D.ErrnoError(54)}}}var dT={type:dS,opts:dO,mountpoint:dW,mounts:[]};var dR=dS.mount(dT);dR.mount=dT;dT.root=dR;if(dU){D.root=dR}else{if(dQ){dQ.mounted=dT;if(dQ.mount){dQ.mount.mounts.push(dT)}}}return dR},unmount:function(dQ){var dT=D.lookupPath(dQ,{follow_mount:false});if(!D.isMountpoint(dT.node)){throw new D.ErrnoError(28)}var dS=dT.node;var dP=dS.mounted;var dR=D.getMounts(dP);Object.keys(D.nameTable).forEach(function(dW){var dV=D.nameTable[dW];while(dV){var dU=dV.name_next;if(dR.indexOf(dV.mount)!==-1){D.destroyNode(dV)}dV=dU}});dS.mounted=null;var dO=dS.mount.mounts.indexOf(dP);bJ(dO!==-1);dS.mount.mounts.splice(dO,1)},lookup:function(dP,dO){return dP.node_ops.lookup(dP,dO)},mknod:function(dT,dU,dO){var dS=D.lookupPath(dT,{parent:true});var dR=dS.node;var dQ=au.basename(dT);if(!dQ||dQ==="."||dQ===".."){throw new D.ErrnoError(28)}var dP=D.mayCreate(dR,dQ);if(dP){throw new D.ErrnoError(dP)}if(!dR.node_ops.mknod){throw new D.ErrnoError(63)}return dR.node_ops.mknod(dR,dQ,dU,dO)},create:function(dO,dP){dP=dP!==undefined?dP:438;dP&=4095;dP|=32768;return D.mknod(dO,dP,0)},mkdir:function(dO,dP){dP=dP!==undefined?dP:511;dP&=511|512;dP|=16384;return D.mknod(dO,dP,0)},mkdirTree:function(dR,dT){var dQ=dR.split("/");var dS="";for(var dO=0;dO<dQ.length;++dO){if(!dQ[dO]){continue}dS+="/"+dQ[dO];try{D.mkdir(dS,dT)}catch(dP){if(dP.errno!=20){throw dP}}}},mkdev:function(dP,dQ,dO){if(typeof(dO)==="undefined"){dO=dQ;dQ=438}dQ|=8192;return D.mknod(dP,dQ,dO)},symlink:function(dO,dT){if(!cc.resolve(dO)){throw new D.ErrnoError(44)}var dS=D.lookupPath(dT,{parent:true});var dR=dS.node;if(!dR){throw new D.ErrnoError(44)}var dQ=au.basename(dT);var dP=D.mayCreate(dR,dQ);if(dP){throw new D.ErrnoError(dP)}if(!dR.node_ops.symlink){throw new D.ErrnoError(63)}return dR.node_ops.symlink(dR,dQ,dO)},rename:function(dS,dV){var dO=au.dirname(dS);var d2=au.dirname(dV);var dU=au.basename(dS);var dW=au.basename(dV);var dT,dR,d1;try{dT=D.lookupPath(dS,{parent:true});dR=dT.node;dT=D.lookupPath(dV,{parent:true});d1=dT.node}catch(d0){throw new D.ErrnoError(10)}if(!dR||!d1){throw new D.ErrnoError(44)}if(dR.mount!==d1.mount){throw new D.ErrnoError(75)}var dY=D.lookupNode(dR,dU);var dP=cc.relative(dS,d2);if(dP.charAt(0)!=="."){throw new D.ErrnoError(28)}dP=cc.relative(dV,dO);if(dP.charAt(0)!=="."){throw new D.ErrnoError(55)}var dZ;try{dZ=D.lookupNode(d1,dW)}catch(d0){}if(dY===dZ){return}var dQ=D.isDir(dY.mode);var dX=D.mayDelete(dR,dU,dQ);if(dX){throw new D.ErrnoError(dX)}dX=dZ?D.mayDelete(d1,dW,dQ):D.mayCreate(d1,dW);if(dX){throw new D.ErrnoError(dX)}if(!dR.node_ops.rename){throw new D.ErrnoError(63)}if(D.isMountpoint(dY)||(dZ&&D.isMountpoint(dZ))){throw new D.ErrnoError(10)}if(d1!==dR){dX=D.nodePermissions(dR,"w");if(dX){throw new D.ErrnoError(dX)}}try{if(D.trackingDelegate.willMovePath){D.trackingDelegate.willMovePath(dS,dV)}}catch(d0){m("FS.trackingDelegate['willMovePath']('"+dS+"', '"+dV+"') threw an exception: "+d0.message)}D.hashRemoveNode(dY);try{dR.node_ops.rename(dY,d1,dW)}catch(d0){throw d0}finally{D.hashAddNode(dY)}try{if(D.trackingDelegate.onMovePath){D.trackingDelegate.onMovePath(dS,dV)}}catch(d0){m("FS.trackingDelegate['onMovePath']('"+dS+"', '"+dV+"') threw an exception: "+d0.message)}},rmdir:function(dU){var dT=D.lookupPath(dU,{parent:true});var dQ=dT.node;var dP=au.basename(dU);var dR=D.lookupNode(dQ,dP);var dO=D.mayDelete(dQ,dP,true);if(dO){throw new D.ErrnoError(dO)}if(!dQ.node_ops.rmdir){throw new D.ErrnoError(63)}if(D.isMountpoint(dR)){throw new D.ErrnoError(10)}try{if(D.trackingDelegate.willDeletePath){D.trackingDelegate.willDeletePath(dU)}}catch(dS){m("FS.trackingDelegate['willDeletePath']('"+dU+"') threw an exception: "+dS.message)}dQ.node_ops.rmdir(dQ,dP);D.destroyNode(dR);try{if(D.trackingDelegate.onDeletePath){D.trackingDelegate.onDeletePath(dU)}}catch(dS){m("FS.trackingDelegate['onDeletePath']('"+dU+"') threw an exception: "+dS.message)}},readdir:function(dQ){var dP=D.lookupPath(dQ,{follow:true});var dO=dP.node;if(!dO.node_ops.readdir){throw new D.ErrnoError(54)}return dO.node_ops.readdir(dO)},unlink:function(dU){var dT=D.lookupPath(dU,{parent:true});var dQ=dT.node;var dP=au.basename(dU);var dR=D.lookupNode(dQ,dP);var dO=D.mayDelete(dQ,dP,false);if(dO){throw new D.ErrnoError(dO)}if(!dQ.node_ops.unlink){throw new D.ErrnoError(63)}if(D.isMountpoint(dR)){throw new D.ErrnoError(10)}try{if(D.trackingDelegate.willDeletePath){D.trackingDelegate.willDeletePath(dU)}}catch(dS){m("FS.trackingDelegate['willDeletePath']('"+dU+"') threw an exception: "+dS.message)}dQ.node_ops.unlink(dQ,dP);D.destroyNode(dR);try{if(D.trackingDelegate.onDeletePath){D.trackingDelegate.onDeletePath(dU)}}catch(dS){m("FS.trackingDelegate['onDeletePath']('"+dU+"') threw an exception: "+dS.message)}},readlink:function(dQ){var dP=D.lookupPath(dQ);var dO=dP.node;if(!dO){throw new D.ErrnoError(44)}if(!dO.node_ops.readlink){throw new D.ErrnoError(28)}return cc.resolve(D.getPath(dO.parent),dO.node_ops.readlink(dO))},stat:function(dR,dO){var dQ=D.lookupPath(dR,{follow:!dO});var dP=dQ.node;if(!dP){throw new D.ErrnoError(44)}if(!dP.node_ops.getattr){throw new D.ErrnoError(63)}return dP.node_ops.getattr(dP)},lstat:function(dO){return D.stat(dO,true)},chmod:function(dR,dS,dO){var dP;if(typeof dR==="string"){var dQ=D.lookupPath(dR,{follow:!dO});dP=dQ.node}else{dP=dR}if(!dP.node_ops.setattr){throw new D.ErrnoError(63)}dP.node_ops.setattr(dP,{mode:(dS&4095)|(dP.mode&~4095),timestamp:Date.now()})},lchmod:function(dO,dP){D.chmod(dO,dP,true)},fchmod:function(dO,dQ){var dP=D.getStream(dO);if(!dP){throw new D.ErrnoError(8)}D.chmod(dP.node,dQ)},chown:function(dT,dP,dQ,dO){var dR;if(typeof dT==="string"){var dS=D.lookupPath(dT,{follow:!dO});dR=dS.node}else{dR=dT}if(!dR.node_ops.setattr){throw new D.ErrnoError(63)}dR.node_ops.setattr(dR,{timestamp:Date.now()})},lchown:function(dQ,dO,dP){D.chown(dQ,dO,dP,true)},fchown:function(dP,dO,dQ){var dR=D.getStream(dP);if(!dR){throw new D.ErrnoError(8)}D.chown(dR.node,dO,dQ)},truncate:function(dS,dO){if(dO<0){throw new D.ErrnoError(28)}var dQ;if(typeof dS==="string"){var dR=D.lookupPath(dS,{follow:true});dQ=dR.node}else{dQ=dS}if(!dQ.node_ops.setattr){throw new D.ErrnoError(63)}if(D.isDir(dQ.mode)){throw new D.ErrnoError(31)}if(!D.isFile(dQ.mode)){throw new D.ErrnoError(28)}var dP=D.nodePermissions(dQ,"w");if(dP){throw new D.ErrnoError(dP)}dQ.node_ops.setattr(dQ,{size:dO,timestamp:Date.now()})},ftruncate:function(dP,dO){var dQ=D.getStream(dP);if(!dQ){throw new D.ErrnoError(8)}if((dQ.flags&2097155)===0){throw new D.ErrnoError(28)}D.truncate(dQ.node,dO)},utime:function(dS,dQ,dO){var dR=D.lookupPath(dS,{follow:true});var dP=dR.node;dP.node_ops.setattr(dP,{timestamp:Math.max(dQ,dO)})},open:function(dZ,dS,dW,dR,dP){if(dZ===""){throw new D.ErrnoError(44)}dS=typeof dS==="string"?D.modeStringToFlags(dS):dS;dW=typeof dW==="undefined"?438:dW;if((dS&64)){dW=(dW&4095)|32768}else{dW=0}var dT;if(typeof dZ==="object"){dT=dZ}else{dZ=au.normalize(dZ);try{var dQ=D.lookupPath(dZ,{follow:!(dS&131072)});dT=dQ.node}catch(dX){}}var dU=false;if((dS&64)){if(dT){if((dS&128)){throw new D.ErrnoError(20)}}else{dT=D.mknod(dZ,dW,0);dU=true}}if(!dT){throw new D.ErrnoError(44)}if(D.isChrdev(dT.mode)){dS&=~512}if((dS&65536)&&!D.isDir(dT.mode)){throw new D.ErrnoError(54)}if(!dU){var dV=D.mayOpen(dT,dS);if(dV){throw new D.ErrnoError(dV)}}if((dS&512)){D.truncate(dT,0)}dS&=~(128|512|131072);var dY=D.createStream({node:dT,path:D.getPath(dT),flags:dS,seekable:true,position:0,stream_ops:dT.stream_ops,ungotten:[],error:false},dR,dP);if(dY.stream_ops.open){dY.stream_ops.open(dY)}if(bY.logReadFiles&&!(dS&1)){if(!D.readFiles){D.readFiles={}}if(!(dZ in D.readFiles)){D.readFiles[dZ]=1;m("FS.trackingDelegate error on read file: "+dZ)}}try{if(D.trackingDelegate.onOpenFile){var dO=0;if((dS&2097155)!==1){dO|=D.tracking.openFlags.READ}if((dS&2097155)!==0){dO|=D.tracking.openFlags.WRITE}D.trackingDelegate.onOpenFile(dZ,dO)}}catch(dX){m("FS.trackingDelegate['onOpenFile']('"+dZ+"', flags) threw an exception: "+dX.message)}return dY},close:function(dP){if(D.isClosed(dP)){throw new D.ErrnoError(8)}if(dP.getdents){dP.getdents=null}try{if(dP.stream_ops.close){dP.stream_ops.close(dP)}}catch(dO){throw dO}finally{D.closeStream(dP.fd)}dP.fd=null},isClosed:function(dO){return dO.fd===null},llseek:function(dQ,dP,dO){if(D.isClosed(dQ)){throw new D.ErrnoError(8)}if(!dQ.seekable||!dQ.stream_ops.llseek){throw new D.ErrnoError(70)}if(dO!=0&&dO!=1&&dO!=2){throw new D.ErrnoError(28)}dQ.position=dQ.stream_ops.llseek(dQ,dP,dO);dQ.ungotten=[];return dQ.position},read:function(dU,dP,dT,dQ,dO){if(dQ<0||dO<0){throw new D.ErrnoError(28)}if(D.isClosed(dU)){throw new D.ErrnoError(8)}if((dU.flags&2097155)===1){throw new D.ErrnoError(8)}if(D.isDir(dU.node.mode)){throw new D.ErrnoError(31)}if(!dU.stream_ops.read){throw new D.ErrnoError(28)}var dS=typeof dO!=="undefined";if(!dS){dO=dU.position}else{if(!dU.seekable){throw new D.ErrnoError(70)}}var dR=dU.stream_ops.read(dU,dP,dT,dQ,dO);if(!dS){dU.position+=dR}return dR},write:function(dW,dR,dQ,dO,dS,dP){if(dO<0||dS<0){throw new D.ErrnoError(28)}if(D.isClosed(dW)){throw new D.ErrnoError(8)}if((dW.flags&2097155)===0){throw new D.ErrnoError(8)}if(D.isDir(dW.node.mode)){throw new D.ErrnoError(31)}if(!dW.stream_ops.write){throw new D.ErrnoError(28)}if(dW.seekable&&dW.flags&1024){D.llseek(dW,0,2)}var dU=typeof dS!=="undefined";if(!dU){dS=dW.position}else{if(!dW.seekable){throw new D.ErrnoError(70)}}var dV=dW.stream_ops.write(dW,dR,dQ,dO,dS,dP);if(!dU){dW.position+=dV}try{if(dW.path&&D.trackingDelegate.onWriteToFile){D.trackingDelegate.onWriteToFile(dW.path)}}catch(dT){m("FS.trackingDelegate['onWriteToFile']('"+dW.path+"') threw an exception: "+dT.message)}return dV},allocate:function(dQ,dP,dO){if(D.isClosed(dQ)){throw new D.ErrnoError(8)}if(dP<0||dO<=0){throw new D.ErrnoError(28)}if((dQ.flags&2097155)===0){throw new D.ErrnoError(8)}if(!D.isFile(dQ.node.mode)&&!D.isDir(dQ.node.mode)){throw new D.ErrnoError(43)}if(!dQ.stream_ops.allocate){throw new D.ErrnoError(138)}dQ.stream_ops.allocate(dQ,dP,dO)},mmap:function(dT,dQ,dS,dO,dR,dP){if((dR&2)!==0&&(dP&2)===0&&(dT.flags&2097155)!==2){throw new D.ErrnoError(2)}if((dT.flags&2097155)===1){throw new D.ErrnoError(2)}if(!dT.stream_ops.mmap){throw new D.ErrnoError(43)}return dT.stream_ops.mmap(dT,dQ,dS,dO,dR,dP)},msync:function(dS,dP,dR,dQ,dO){if(!dS||!dS.stream_ops.msync){return 0}return dS.stream_ops.msync(dS,dP,dR,dQ,dO)},munmap:function(dO){return 0},ioctl:function(dQ,dP,dO){if(!dQ.stream_ops.ioctl){throw new D.ErrnoError(59)}return dQ.stream_ops.ioctl(dQ,dP,dO)},readFile:function(dT,dS){dS=dS||{};dS.flags=dS.flags||"r";dS.encoding=dS.encoding||"binary";if(dS.encoding!=="utf8"&&dS.encoding!=="binary"){throw new Error('Invalid encoding type "'+dS.encoding+'"')}var dP;var dU=D.open(dT,dS.flags);var dQ=D.stat(dT);var dR=dQ.size;var dO=new Uint8Array(dR);D.read(dU,dO,0,dR,0);if(dS.encoding==="utf8"){dP=am(dO,0)}else{if(dS.encoding==="binary"){dP=dO}}D.close(dU);return dP},writeFile:function(dS,dR,dQ){dQ=dQ||{};dQ.flags=dQ.flags||"w";var dT=D.open(dS,dQ.flags,dQ.mode);if(typeof dR==="string"){var dP=new Uint8Array(S(dR)+1);var dO=r(dR,dP,0,dP.length);D.write(dT,dP,0,dO,undefined,dQ.canOwn)}else{if(ArrayBuffer.isView(dR)){D.write(dT,dR,0,dR.byteLength,undefined,dQ.canOwn)}else{throw new Error("Unsupported data type")}}D.close(dT)},cwd:function(){return D.currentPath},chdir:function(dQ){var dP=D.lookupPath(dQ,{follow:true});if(dP.node===null){throw new D.ErrnoError(44)}if(!D.isDir(dP.node.mode)){throw new D.ErrnoError(54)}var dO=D.nodePermissions(dP.node,"x");if(dO){throw new D.ErrnoError(dO)}D.currentPath=dP.path},createDefaultDirectories:function(){D.mkdir("/tmp");D.mkdir("/home");D.mkdir("/home/web_user")},createDefaultDevices:function(){D.mkdir("/dev");D.registerDevice(D.makedev(1,3),{read:function(){return 0},write:function(dV,dS,dU,dT,dW){return dT}});D.mkdev("/dev/null",D.makedev(1,3));ad.register(D.makedev(5,0),ad.default_tty_ops);ad.register(D.makedev(6,0),ad.default_tty1_ops);D.mkdev("/dev/tty",D.makedev(5,0));D.mkdev("/dev/tty1",D.makedev(6,0));var dP;if(typeof crypto==="object"&&typeof crypto.getRandomValues==="function"){var dQ=new Uint8Array(1);dP=function(){crypto.getRandomValues(dQ);return dQ[0]}}else{if(bK){try{var dO=require("crypto");dP=function(){return dO.randomBytes(1)[0]}}catch(dR){}}else{}}if(!dP){dP=function(){c3("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}D.createDevice("/dev","random",dP);D.createDevice("/dev","urandom",dP);D.mkdir("/dev/shm");D.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){D.mkdir("/proc");D.mkdir("/proc/self");D.mkdir("/proc/self/fd");D.mount({mount:function(){var dO=D.createNode("/proc/self","fd",16384|511,73);dO.node_ops={lookup:function(dS,dQ){var dR=+dQ;var dT=D.getStream(dR);if(!dT){throw new D.ErrnoError(8)}var dP={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return dT.path}}};dP.parent=dP;return dP}};return dO}},{},"/proc/self/fd")},createStandardStreams:function(){if(bY.stdin){D.createDevice("/dev","stdin",bY.stdin)}else{D.symlink("/dev/tty","/dev/stdin")}if(bY.stdout){D.createDevice("/dev","stdout",null,bY.stdout)}else{D.symlink("/dev/tty","/dev/stdout")}if(bY.stderr){D.createDevice("/dev","stderr",null,bY.stderr)}else{D.symlink("/dev/tty1","/dev/stderr")}var dQ=D.open("/dev/stdin","r");var dO=D.open("/dev/stdout","w");var dP=D.open("/dev/stderr","w");bJ(dQ.fd===0,"invalid handle for stdin ("+dQ.fd+")");bJ(dO.fd===1,"invalid handle for stdout ("+dO.fd+")");bJ(dP.fd===2,"invalid handle for stderr ("+dP.fd+")")},ensureErrnoError:function(){if(D.ErrnoError){return}D.ErrnoError=function dO(dP,dQ){this.node=dQ;this.setErrno=function(dS){this.errno=dS;for(var dR in ae){if(ae[dR]===dS){this.code=dR;break}}};this.setErrno(dP);this.message=co[dP];if(this.stack){Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true});this.stack=c7(this.stack)}};D.ErrnoError.prototype=new Error();D.ErrnoError.prototype.constructor=D.ErrnoError;[44].forEach(function(dP){D.genericErrors[dP]=new D.ErrnoError(dP);D.genericErrors[dP].stack="<generic error, no stack>"})},staticInit:function(){D.ensureErrnoError();D.nameTable=new Array(4096);D.mount(R,{},"/");D.createDefaultDirectories();D.createDefaultDevices();D.createSpecialDirectories();D.filesystems={MEMFS:R}},init:function(dP,dO,dQ){bJ(!D.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");D.init.initialized=true;D.ensureErrnoError();bY.stdin=dP||bY.stdin;bY.stdout=dO||bY.stdout;bY.stderr=dQ||bY.stderr;D.createStandardStreams()},quit:function(){D.init.initialized=false;var dQ=bY._fflush;if(dQ){dQ(0)}for(var dO=0;dO<D.streams.length;dO++){var dP=D.streams[dO];if(!dP){continue}D.close(dP)}},getMode:function(dO,dP){var dQ=0;if(dO){dQ|=292|73}if(dP){dQ|=146}return dQ},joinPath:function(dQ,dO){var dP=au.join.apply(null,dQ);if(dO&&dP[0]=="/"){dP=dP.substr(1)}return dP},absolutePath:function(dP,dO){return cc.resolve(dO,dP)},standardizePath:function(dO){return au.normalize(dO)},findObject:function(dQ,dP){var dO=D.analyzePath(dQ,dP);if(dO.exists){return dO.object}else{cU(dO.error);return null}},analyzePath:function(dS,dP){try{var dR=D.lookupPath(dS,{follow:!dP});dS=dR.path}catch(dQ){}var dO={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var dR=D.lookupPath(dS,{parent:true});dO.parentExists=true;dO.parentPath=dR.path;dO.parentObject=dR.node;dO.name=au.basename(dS);dR=D.lookupPath(dS,{follow:!dP});dO.exists=true;dO.path=dR.path;dO.object=dR.node;dO.name=dR.node.name;dO.isRoot=dR.path==="/"}catch(dQ){dO.error=dQ.errno}return dO},createFolder:function(dQ,dP,dO,dR){var dS=au.join2(typeof dQ==="string"?dQ:D.getPath(dQ),dP);var dT=D.getMode(dO,dR);return D.mkdir(dS,dT)},createPath:function(dQ,dV,dO,dR){dQ=typeof dQ==="string"?dQ:D.getPath(dQ);var dU=dV.split("/").reverse();while(dU.length){var dP=dU.pop();if(!dP){continue}var dT=au.join2(dQ,dP);try{D.mkdir(dT)}catch(dS){}dQ=dT}return dT},createFile:function(dR,dP,dQ,dO,dS){var dT=au.join2(typeof dR==="string"?dR:D.getPath(dR),dP);var dU=D.getMode(dO,dS);return D.create(dT,dU)},createDataFile:function(dY,dO,dT,dU,dR,dQ){var d0=dO?au.join2(typeof dY==="string"?dY:D.getPath(dY),dO):dY;var dW=D.getMode(dU,dR);var dP=D.create(d0,dW);if(dT){if(typeof dT==="string"){var dV=new Array(dT.length);for(var dS=0,dX=dT.length;dS<dX;++dS){dV[dS]=dT.charCodeAt(dS)}dT=dV}D.chmod(dP,dW|146);var dZ=D.open(dP,"w");D.write(dZ,dT,0,dT.length,0,dQ);D.close(dZ);D.chmod(dP,dW)}return dP},createDevice:function(dS,dR,dQ,dP){var dT=au.join2(typeof dS==="string"?dS:D.getPath(dS),dR);var dU=D.getMode(!!dQ,!!dP);if(!D.createDevice.major){D.createDevice.major=64}var dO=D.makedev(D.createDevice.major++,0);D.registerDevice(dO,{open:function(dV){dV.seekable=false},close:function(dV){if(dP&&dP.buffer&&dP.buffer.length){dP(10)}},read:function(d2,dY,dX,dW,d1){var dV=0;for(var dZ=0;dZ<dW;dZ++){var d3;try{d3=dQ()}catch(d0){throw new D.ErrnoError(29)}if(d3===undefined&&dV===0){throw new D.ErrnoError(6)}if(d3===null||d3===undefined){break}dV++;dY[dX+dZ]=d3}if(dV){d2.node.timestamp=Date.now()}return dV},write:function(d0,dV,dZ,dX,d1){for(var dW=0;dW<dX;dW++){try{dP(dV[dZ+dW])}catch(dY){throw new D.ErrnoError(29)}}if(dX){d0.node.timestamp=Date.now()}return dW}});return D.mkdev(dT,dU,dO)},createLink:function(dQ,dP,dT,dO,dR){var dS=au.join2(typeof dQ==="string"?dQ:D.getPath(dQ),dP);return D.symlink(dT,dS)},forceLoadFile:function(dP){if(dP.isDevice||dP.isFolder||dP.link||dP.contents){return true}var dQ=true;if(typeof XMLHttpRequest!=="undefined"){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.")}else{if(c){try{dP.contents=aq(c(dP.url),true);dP.usedBytes=dP.contents.length}catch(dO){dQ=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}}if(!dQ){cU(29)}return dQ},createLazyFile:function(dY,dP,dQ,dW,dT){function dO(){this.lengthKnown=false;this.chunks=[]}dO.prototype.get=function dR(d3){if(d3>this.length-1||d3<0){return undefined}var d5=d3%this.chunkSize;var d4=(d3/this.chunkSize)|0;return this.getter(d4)[d5]};dO.prototype.setDataGetter=function dU(d3){this.getter=d3};dO.prototype.cacheLength=function d2(){var d7=new XMLHttpRequest();d7.open("HEAD",dQ,false);d7.send(null);if(!(d7.status>=200&&d7.status<300||d7.status===304)){throw new Error("Couldn't load "+dQ+". Status: "+d7.status)}var d6=Number(d7.getResponseHeader("Content-length"));var ea;var d5=(ea=d7.getResponseHeader("Accept-Ranges"))&&ea==="bytes";var d3=(ea=d7.getResponseHeader("Content-Encoding"))&&ea==="gzip";var d9=1024*1024;if(!d5){d9=d6}var d4=(function(ed,ec){if(ed>ec){throw new Error("invalid range ("+ed+", "+ec+") or no bytes requested!")}if(ec>d6-1){throw new Error("only "+d6+" bytes available! programmer error!")}var eb=new XMLHttpRequest();eb.open("GET",dQ,false);if(d6!==d9){eb.setRequestHeader("Range","bytes="+ed+"-"+ec)}if(typeof Uint8Array!="undefined"){eb.responseType="arraybuffer"}if(eb.overrideMimeType){eb.overrideMimeType("text/plain; charset=x-user-defined")}eb.send(null);if(!(eb.status>=200&&eb.status<300||eb.status===304)){throw new Error("Couldn't load "+dQ+". Status: "+eb.status)}if(eb.response!==undefined){return new Uint8Array((eb.response||[]))}else{return aq(eb.responseText||"",true)}});var d8=this;d8.setDataGetter(function(ec){var ed=ec*d9;var eb=(ec+1)*d9-1;eb=Math.min(eb,d6-1);if(typeof(d8.chunks[ec])==="undefined"){d8.chunks[ec]=d4(ed,eb)}if(typeof(d8.chunks[ec])==="undefined"){throw new Error("doXHR failed!")}return d8.chunks[ec]});if(d3||!d6){d9=d6=1;d6=this.getter(0).length;d9=d6;cp("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=d6;this._chunkSize=d9;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!dd){throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var dZ=new dO();Object.defineProperties(dZ,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var dX={isDevice:false,contents:dZ}}else{var dX={isDevice:false,url:dQ}}var dS=D.createFile(dY,dP,dX,dW,dT);if(dX.contents){dS.contents=dX.contents}else{if(dX.url){dS.contents=null;dS.url=dX.url}}Object.defineProperties(dS,{usedBytes:{get:function(){return this.contents.length}}});var dV={};var d0=Object.keys(dS.stream_ops);d0.forEach(function(d3){var d4=dS.stream_ops[d3];dV[d3]=function d5(){if(!D.forceLoadFile(dS)){throw new D.ErrnoError(29)}return d4.apply(null,arguments)}});dV.read=function d1(ea,d4,d9,d8,d3){if(!D.forceLoadFile(dS)){throw new D.ErrnoError(29)}var d7=ea.node.contents;if(d3>=d7.length){return 0}var d6=Math.min(d7.length-d3,d8);bJ(d6>=0);if(d7.slice){for(var d5=0;d5<d6;d5++){d4[d9+d5]=d7[d3+d5]}}else{for(var d5=0;d5<d6;d5++){d4[d9+d5]=d7.get(d3+d5)}}return d6};dS.stream_ops=dV;return dS},createPreloadedFile:function(dZ,dP,dQ,dU,dS,dT,dW,dO,dR,dV){aW.init();var d0=dP?cc.resolve(au.join2(dZ,dP)):dZ;var dY=x("cp "+d0);function dX(d1){function d2(d4){if(dV){dV()}if(!dO){D.createDataFile(dZ,dP,d4,dU,dS,dR)}if(dT){dT()}bj(dY)}var d3=false;bY.preloadPlugins.forEach(function(d4){if(d3){return}if(d4.canHandle(d0)){d4.handle(d1,d0,d2,function(){if(dW){dW()}bj(dY)});d3=true}});if(!d3){d2(d1)}}cQ(dY);if(typeof dQ=="string"){aW.asyncLoad(dQ,function(d1){dX(d1)},dW)}else{dX(dQ)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(dU,dT,dO){dT=dT||function(){};dO=dO||function(){};var dQ=D.indexedDB();try{var dP=dQ.open(D.DB_NAME(),D.DB_VERSION)}catch(dS){return dO(dS)}dP.onupgradeneeded=function dV(){cp("creating db");var dW=dP.result;dW.createObjectStore(D.DB_STORE_NAME)};dP.onsuccess=function dR(){var dX=dP.result;var d2=dX.transaction([D.DB_STORE_NAME],"readwrite");var d1=d2.objectStore(D.DB_STORE_NAME);var dZ=0,dW=0,d0=dU.length;function dY(){if(dW==0){dT()}else{dO()}}dU.forEach(function(d6){var d4=d1.put(D.analyzePath(d6).object.contents,d6);d4.onsuccess=function d5(){dZ++;if(dZ+dW==d0){dY()}};d4.onerror=function d3(){dW++;if(dZ+dW==d0){dY()}}});d2.onerror=dO};dP.onerror=dO},loadFilesFromDB:function(dU,dT,dO){dT=dT||function(){};dO=dO||function(){};var dQ=D.indexedDB();try{var dP=dQ.open(D.DB_NAME(),D.DB_VERSION)}catch(dS){return dO(dS)}dP.onupgradeneeded=dO;dP.onsuccess=function dR(){var dW=dP.result;try{var d2=dW.transaction([D.DB_STORE_NAME],"readonly")}catch(d1){dO(d1);return}var d0=d2.objectStore(D.DB_STORE_NAME);var dY=0,dV=0,dZ=dU.length;function dX(){if(dV==0){dT()}else{dO()}}dU.forEach(function(d4){var d3=d0.get(d4);d3.onsuccess=function d5(){if(D.analyzePath(d4).exists){D.unlink(d4)}D.createDataFile(au.dirname(d4),au.basename(d4),d3.result,true,true,true);dY++;if(dY+dV==dZ){dX()}};d3.onerror=function d6(){dV++;if(dY+dV==dZ){dX()}}});d2.onerror=dO};dP.onerror=dO}};var bn={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dR,dQ){if(dQ[0]!=="/"){var dP;if(dR===-100){dP=D.cwd()}else{var dO=D.getStream(dR);if(!dO){throw new D.ErrnoError(8)}dP=dO.path}dQ=au.join2(dP,dQ)}return dQ},doStat:function(dQ,dS,dO){try{var dP=dQ(dS)}catch(dR){if(dR&&dR.node&&au.normalize(dS)!==au.normalize(D.getPath(dR.node))){return -54}throw dR}ar[((dO)>>2)]=dP.dev;ar[(((dO)+(4))>>2)]=0;ar[(((dO)+(8))>>2)]=dP.ino;ar[(((dO)+(12))>>2)]=dP.mode;ar[(((dO)+(16))>>2)]=dP.nlink;ar[(((dO)+(20))>>2)]=dP.uid;ar[(((dO)+(24))>>2)]=dP.gid;ar[(((dO)+(28))>>2)]=dP.rdev;ar[(((dO)+(32))>>2)]=0;(av=[dP.size>>>0,(aN=dP.size,(+(br(aN)))>=1?(aN>0?((cT((+(O((aN)/4294967296))),4294967295))|0)>>>0:(~~((+(dh((aN-+(((~~(aN)))>>>0))/4294967296)))))>>>0):0)],ar[(((dO)+(40))>>2)]=av[0],ar[(((dO)+(44))>>2)]=av[1]);ar[(((dO)+(48))>>2)]=4096;ar[(((dO)+(52))>>2)]=dP.blocks;ar[(((dO)+(56))>>2)]=(dP.atime.getTime()/1000)|0;ar[(((dO)+(60))>>2)]=0;ar[(((dO)+(64))>>2)]=(dP.mtime.getTime()/1000)|0;ar[(((dO)+(68))>>2)]=0;ar[(((dO)+(72))>>2)]=(dP.ctime.getTime()/1000)|0;ar[(((dO)+(76))>>2)]=0;(av=[dP.ino>>>0,(aN=dP.ino,(+(br(aN)))>=1?(aN>0?((cT((+(O((aN)/4294967296))),4294967295))|0)>>>0:(~~((+(dh((aN-+(((~~(aN)))>>>0))/4294967296)))))>>>0):0)],ar[(((dO)+(80))>>2)]=av[0],ar[(((dO)+(84))>>2)]=av[1]);return 0},doMsync:function(dT,dS,dO,dQ,dR){var dP=bs.slice(dT,dT+dO);D.msync(dS,dP,dR,dO,dQ)},doMkdir:function(dO,dP){dO=au.normalize(dO);if(dO[dO.length-1]==="/"){dO=dO.substr(0,dO.length-1)}D.mkdir(dO,dP,0);return 0},doMknod:function(dP,dQ,dO){switch(dQ&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return -28}D.mknod(dP,dQ,dO);return 0},doReadlink:function(dR,dQ,dT){if(dT<=0){return -28}var dP=D.readlink(dR);var dO=Math.min(dT,S(dP));var dS=dx[dQ+dO];q(dP,dQ,dT+1);dx[dQ+dO]=dS;return dO},doAccess:function(dS,dR){if(dR&~7){return -28}var dP;var dQ=D.lookupPath(dS,{follow:true});dP=dQ.node;if(!dP){return -44}var dO="";if(dR&4){dO+="r"}if(dR&2){dO+="w"}if(dR&1){dO+="x"}if(dO&&D.nodePermissions(dP,dO)){return -2}return 0},doDup:function(dQ,dO,dP){var dR=D.getStream(dP);if(dR){D.close(dR)}return D.open(dQ,dO,0,dP,dP).fd},doReadv:function(dU,dP,dW,dQ){var dT=0;for(var dR=0;dR<dW;dR++){var dO=ar[(((dP)+(dR*8))>>2)];var dS=ar[(((dP)+(dR*8+4))>>2)];var dV=D.read(dU,dx,dO,dS,dQ);if(dV<0){return -1}dT+=dV;if(dV<dS){break}}return dT},doWritev:function(dU,dP,dW,dQ){var dT=0;for(var dR=0;dR<dW;dR++){var dO=ar[(((dP)+(dR*8))>>2)];var dS=ar[(((dP)+(dR*8+4))>>2)];var dV=D.write(dU,dx,dO,dS,dQ);if(dV<0){return -1}dT+=dV}return dT},varargs:undefined,get:function(){bJ(bn.varargs!=undefined);bn.varargs+=4;var dO=ar[(((bn.varargs)-(4))>>2)];return dO},getStr:function(dP){var dO=dC(dP);return dO},getStreamFromFD:function(dO){var dP=D.getStream(dO);if(!dP){throw new D.ErrnoError(8)}return dP},get64:function(dO,dP){if(dO>=0){bJ(dP===0)}else{bJ(dP===-1)}return dO}};function aD(dQ,dR,dP){bn.varargs=dP;try{var dU=bn.getStreamFromFD(dQ);switch(dR){case 0:var dO=bn.get();if(dO<0){return -28}var dV;dV=D.open(dU.path,dU.flags,0,dO);return dV.fd;case 1:case 2:return 0;case 3:return dU.flags;case 4:var dO=bn.get();dU.flags|=dO;return 0;case 12:var dO=bn.get();var dT=0;a2[(((dO)+(dT))>>1)]=2;return 0;case 13:case 14:return 0;case 16:case 8:return -28;case 9:cU(28);return -1;default:return -28}}catch(dS){if(typeof D==="undefined"||!(dS instanceof D.ErrnoError)){c3(dS)}return -dS.errno}}function b1(dP,dT,dO){bn.varargs=dO;try{var dS=bn.getStreamFromFD(dP);switch(dT){case 21509:case 21505:if(!dS.tty){return -59}return 0;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:if(!dS.tty){return -59}return 0;case 21519:if(!dS.tty){return -59}var dQ=bn.get();ar[((dQ)>>2)]=0;return 0;case 21520:if(!dS.tty){return -59}return -28;case 21531:var dQ=bn.get();return D.ioctl(dS,dT,dQ);case 21523:if(!dS.tty){return -59}return 0;case 21524:if(!dS.tty){return -59}return 0;default:c3("bad ioctl syscall "+dT)}}catch(dR){if(typeof D==="undefined"||!(dR instanceof D.ErrnoError)){c3(dR)}return -dR.errno}}function h(dS,dO,dP){bn.varargs=dP;try{var dR=bn.getStr(dS);var dU=bn.get();var dT=D.open(dR,dO,dU);return dT.fd}catch(dQ){if(typeof D==="undefined"||!(dQ instanceof D.ErrnoError)){c3(dQ)}return -dQ.errno}}function aG(){c3()}function cP(){return 79712}function dy(dO,dP){bw(dO,dP||1);throw"longjmp"}function c2(dO,dP){dy(dO,dP)}function dG(dP,dQ,dO){bs.copyWithin(dP,dQ,dQ+dO)}function bX(){return bs.length}function a9(dO){c3("Cannot enlarge memory arrays to size "+dO+" bytes (OOM). Either (1) compile with -s INITIAL_MEMORY=X with X higher than the current value "+dx.length+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function bd(dO){dO=dO>>>0;a9(dO)}function ac(dO){dM(dO)}function aw(dO){try{var dQ=bn.getStreamFromFD(dO);D.close(dQ);return 0}catch(dP){if(typeof D==="undefined"||!(dP instanceof D.ErrnoError)){c3(dP)}return dP.errno}}function bf(dR,dO,dQ,dT){try{var dU=bn.getStreamFromFD(dR);var dP=bn.doReadv(dU,dO,dQ);ar[((dT)>>2)]=dP;return 0}catch(dS){if(typeof D==="undefined"||!(dS instanceof D.ErrnoError)){c3(dS)}return dS.errno}}function aI(dP,dT,dV,dQ,dS){try{var dX=bn.getStreamFromFD(dP);var dW=4294967296;var dR=dV*dW+(dT>>>0);var dO=9007199254740992;if(dR<=-dO||dR>=dO){return -61}D.llseek(dX,dR,dQ);(av=[dX.position>>>0,(aN=dX.position,(+(br(aN)))>=1?(aN>0?((cT((+(O((aN)/4294967296))),4294967295))|0)>>>0:(~~((+(dh((aN-+(((~~(aN)))>>>0))/4294967296)))))>>>0):0)],ar[((dS)>>2)]=av[0],ar[(((dS)+(4))>>2)]=av[1]);if(dX.getdents&&dR===0&&dQ===0){dX.getdents=null}return 0}catch(dU){if(typeof D==="undefined"||!(dU instanceof D.ErrnoError)){c3(dU)}return dU.errno}}function dj(dR,dO,dQ,dT){try{var dU=bn.getStreamFromFD(dR);var dP=bn.doWritev(dU,dO,dQ);ar[((dT)>>2)]=dP;return 0}catch(dS){if(typeof D==="undefined"||!(dS instanceof D.ErrnoError)){c3(dS)}return dS.errno}}function cG(){return(B()|0)}function b4(dO){dO=+dO;return dO>=+0?+O(dO+ +0.5):+dh(dO-+0.5)}function cn(dO){g((dO)|0)}bY.requestFullscreen=function ba(dP,dO){aW.requestFullscreen(dP,dO)};bY.requestFullScreen=function U(){aW.requestFullScreen()};bY.requestAnimationFrame=function ds(dO){aW.requestAnimationFrame(dO)};bY.setCanvasSize=function aU(dQ,dP,dO){aW.setCanvasSize(dQ,dP,dO)};bY.pauseMainLoop=function aO(){aW.mainLoop.pause()};bY.resumeMainLoop=function cF(){aW.mainLoop.resume()};bY.getUserMedia=function j(){aW.getUserMedia()};bY.createContext=function a4(dP,dR,dO,dQ){return aW.createContext(dP,dR,dO,dQ)};var cu=function(dQ,dP,dR,dO){if(!dQ){dQ=this}this.parent=dQ;this.mount=dQ.mount;this.mounted=null;this.id=D.nextInode++;this.name=dP;this.mode=dR;this.node_ops={};this.stream_ops={};this.rdev=dO};var b3=292|73;var dm=146;Object.defineProperties(cu.prototype,{read:{get:function(){return(this.mode&b3)===b3},set:function(dO){dO?this.mode|=b3:this.mode&=~b3}},write:{get:function(){return(this.mode&dm)===dm},set:function(dO){dO?this.mode|=dm:this.mode&=~dm}},isFolder:{get:function(){return D.isDir(this.mode)}},isDevice:{get:function(){return D.isChrdev(this.mode)}}});D.FSNode=cu;D.staticInit();bY.FS_createFolder=D.createFolder;bY.FS_createPath=D.createPath;bY.FS_createDataFile=D.createDataFile;bY.FS_createPreloadedFile=D.createPreloadedFile;bY.FS_createLazyFile=D.createLazyFile;bY.FS_createLink=D.createLink;bY.FS_createDevice=D.createDevice;bY.FS_unlink=D.unlink;var a1=true;function aq(dR,dT,dS){var dP=dS>0?dS:S(dR)+1;var dO=new Array(dP);var dQ=r(dR,dO,0,dO.length);if(dT){dO.length=dQ}return dO}function aa(dR){var dO=[];for(var dP=0;dP<dR.length;dP++){var dQ=dR[dP];if(dQ>255){if(a1){bJ(false,"Character code "+dQ+" ("+String.fromCharCode(dQ)+") at offset "+dP+" not in 0x00-0xFF.")}dQ&=255}dO.push(String.fromCharCode(dQ))}return dO.join("")}var s={};var ck={__handle_stack_overflow:aX,__sys_fcntl64:aD,__sys_ioctl:b1,__sys_open:h,abort:aG,emscripten_get_sbrk_ptr:cP,emscripten_longjmp:c2,emscripten_memcpy_big:dG,emscripten_resize_heap:bd,exit:ac,fd_close:aw,fd_read:bf,fd_seek:aI,fd_write:dj,getTempRet0:cG,invoke_ii:cM,invoke_iii:cA,invoke_iiii:aj,invoke_iiiii:a3,invoke_vi:cy,invoke_vii:E,invoke_viii:k,invoke_viiii:cz,invoke_viiiii:L,invoke_viiiiii:bA,invoke_viiiiiii:dr,memory:bI,round:b4,setTempRet0:cn,table:de};var e=bh();var bg=bY.___wasm_call_ctors=ao("__wasm_call_ctors");var b8=bY._main=ao("main");var cY=bY.___errno_location=ao("__errno_location");var cN=bY._malloc=ao("malloc");var cm=bY._testSetjmp=ao("testSetjmp");var bS=bY._saveSetjmp=ao("saveSetjmp");var c0=bY._free=ao("free");var c9=bY._realloc=ao("realloc");var b7=bY._fflush=ao("fflush");var bw=bY._setThrew=ao("setThrew");var aK=bY.stackSave=ao("stackSave");var bQ=bY.stackRestore=ao("stackRestore");var bW=bY.stackAlloc=ao("stackAlloc");var cb=bY.dynCall_vi=ao("dynCall_vi");var ce=bY.dynCall_vii=ao("dynCall_vii");var dg=bY.dynCall_viii=ao("dynCall_viii");var dL=bY.dynCall_viiii=ao("dynCall_viiii");var H=bY.dynCall_viiiii=ao("dynCall_viiiii");var b=bY.dynCall_viiiiii=ao("dynCall_viiiiii");var cO=bY.dynCall_viiiiiii=ao("dynCall_viiiiiii");var ct=bY.dynCall_ii=ao("dynCall_ii");var aB=bY.dynCall_iii=ao("dynCall_iii");var t=bY.dynCall_iiii=ao("dynCall_iiii");var b5=bY.dynCall_iiiii=ao("dynCall_iiiii");var dH=bY.___set_stack_limit=ao("__set_stack_limit");var M=bY.__growWasmMemory=ao("__growWasmMemory");var af=bY.dynCall_jiji=ao("dynCall_jiji");var cC=bY.dynCall_iidiiii=ao("dynCall_iidiiii");function cy(dP,dO){var dQ=aK();try{cb(dP,dO)}catch(dR){bQ(dQ);if(dR!==dR+0&&dR!=="longjmp"){throw dR}bw(1,0)}}function E(dQ,dP,dO){var dR=aK();try{ce(dQ,dP,dO)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function aj(dQ,dP,dO,dT){var dR=aK();try{return t(dQ,dP,dO,dT)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function cA(dQ,dP,dO){var dR=aK();try{return aB(dQ,dP,dO)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function cz(dQ,dP,dO,dU,dT){var dR=aK();try{dL(dQ,dP,dO,dU,dT)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function L(dQ,dP,dO,dV,dU,dT){var dR=aK();try{H(dQ,dP,dO,dV,dU,dT)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function k(dQ,dP,dO,dT){var dR=aK();try{dg(dQ,dP,dO,dT)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function dr(dS,dR,dP,dO,dX,dW,dV,dU){var dQ=aK();try{cO(dS,dR,dP,dO,dX,dW,dV,dU)}catch(dT){bQ(dQ);if(dT!==dT+0&&dT!=="longjmp"){throw dT}bw(1,0)}}function a3(dQ,dP,dO,dU,dT){var dR=aK();try{return b5(dQ,dP,dO,dU,dT)}catch(dS){bQ(dR);if(dS!==dS+0&&dS!=="longjmp"){throw dS}bw(1,0)}}function bA(dS,dR,dP,dO,dW,dV,dU){var dQ=aK();try{b(dS,dR,dP,dO,dW,dV,dU)}catch(dT){bQ(dQ);if(dT!==dT+0&&dT!=="longjmp"){throw dT}bw(1,0)}}function cM(dP,dO){var dQ=aK();try{return ct(dP,dO)}catch(dR){bQ(dQ);if(dR!==dR+0&&dR!=="longjmp"){throw dR}bw(1,0)}}if(!Object.getOwnPropertyDescriptor(bY,"intArrayFromString")){bY.intArrayFromString=function(){c3("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"intArrayToString")){bY.intArrayToString=function(){c3("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"ccall")){bY.ccall=function(){c3("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"cwrap")){bY.cwrap=function(){c3("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"setValue")){bY.setValue=function(){c3("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getValue")){bY.getValue=function(){c3("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"allocate")){bY.allocate=function(){c3("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}bY.getMemory=ap;if(!Object.getOwnPropertyDescriptor(bY,"UTF8ArrayToString")){bY.UTF8ArrayToString=function(){c3("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"UTF8ToString")){bY.UTF8ToString=function(){c3("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stringToUTF8Array")){bY.stringToUTF8Array=function(){c3("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stringToUTF8")){bY.stringToUTF8=function(){c3("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"lengthBytesUTF8")){bY.lengthBytesUTF8=function(){c3("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stackTrace")){bY.stackTrace=function(){c3("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"addOnPreRun")){bY.addOnPreRun=function(){c3("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"addOnInit")){bY.addOnInit=function(){c3("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"addOnPreMain")){bY.addOnPreMain=function(){c3("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"addOnExit")){bY.addOnExit=function(){c3("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"addOnPostRun")){bY.addOnPostRun=function(){c3("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeStringToMemory")){bY.writeStringToMemory=function(){c3("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeArrayToMemory")){bY.writeArrayToMemory=function(){c3("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeAsciiToMemory")){bY.writeAsciiToMemory=function(){c3("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}bY.addRunDependency=cQ;bY.removeRunDependency=bj;bY.FS_createFolder=D.createFolder;bY.FS_createPath=D.createPath;bY.FS_createDataFile=D.createDataFile;bY.FS_createPreloadedFile=D.createPreloadedFile;bY.FS_createLazyFile=D.createLazyFile;bY.FS_createLink=D.createLink;bY.FS_createDevice=D.createDevice;bY.FS_unlink=D.unlink;if(!Object.getOwnPropertyDescriptor(bY,"dynamicAlloc")){bY.dynamicAlloc=function(){c3("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"loadDynamicLibrary")){bY.loadDynamicLibrary=function(){c3("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"loadWebAssemblyModule")){bY.loadWebAssemblyModule=function(){c3("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getLEB")){bY.getLEB=function(){c3("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getFunctionTables")){bY.getFunctionTables=function(){c3("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"alignFunctionTables")){bY.alignFunctionTables=function(){c3("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"registerFunctions")){bY.registerFunctions=function(){c3("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"addFunction")){bY.addFunction=function(){c3("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"removeFunction")){bY.removeFunction=function(){c3("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getFuncWrapper")){bY.getFuncWrapper=function(){c3("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"prettyPrint")){bY.prettyPrint=function(){c3("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"makeBigInt")){bY.makeBigInt=function(){c3("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"dynCall")){bY.dynCall=function(){c3("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getCompilerSetting")){bY.getCompilerSetting=function(){c3("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"print")){bY.print=function(){c3("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"printErr")){bY.printErr=function(){c3("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getTempRet0")){bY.getTempRet0=function(){c3("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"setTempRet0")){bY.setTempRet0=function(){c3("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"callMain")){bY.callMain=function(){c3("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"abort")){bY.abort=function(){c3("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stringToNewUTF8")){bY.stringToNewUTF8=function(){c3("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"abortOnCannotGrowMemory")){bY.abortOnCannotGrowMemory=function(){c3("'abortOnCannotGrowMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"emscripten_realloc_buffer")){bY.emscripten_realloc_buffer=function(){c3("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"ENV")){bY.ENV=function(){c3("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"ERRNO_CODES")){bY.ERRNO_CODES=function(){c3("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"ERRNO_MESSAGES")){bY.ERRNO_MESSAGES=function(){c3("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"setErrNo")){bY.setErrNo=function(){c3("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"DNS")){bY.DNS=function(){c3("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"GAI_ERRNO_MESSAGES")){bY.GAI_ERRNO_MESSAGES=function(){c3("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"Protocols")){bY.Protocols=function(){c3("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"Sockets")){bY.Sockets=function(){c3("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"UNWIND_CACHE")){bY.UNWIND_CACHE=function(){c3("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"readAsmConstArgs")){bY.readAsmConstArgs=function(){c3("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"jstoi_q")){bY.jstoi_q=function(){c3("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"jstoi_s")){bY.jstoi_s=function(){c3("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"listenOnce")){bY.listenOnce=function(){c3("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"autoResumeAudioContext")){bY.autoResumeAudioContext=function(){c3("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"abortStackOverflow")){bY.abortStackOverflow=function(){c3("'abortStackOverflow' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"reallyNegative")){bY.reallyNegative=function(){c3("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"formatString")){bY.formatString=function(){c3("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"PATH")){bY.PATH=function(){c3("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"PATH_FS")){bY.PATH_FS=function(){c3("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SYSCALLS")){bY.SYSCALLS=function(){c3("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"syscallMmap2")){bY.syscallMmap2=function(){c3("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"syscallMunmap")){bY.syscallMunmap=function(){c3("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"JSEvents")){bY.JSEvents=function(){c3("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"specialHTMLTargets")){bY.specialHTMLTargets=function(){c3("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"demangle")){bY.demangle=function(){c3("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"demangleAll")){bY.demangleAll=function(){c3("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"jsStackTrace")){bY.jsStackTrace=function(){c3("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stackTrace")){bY.stackTrace=function(){c3("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"getEnvStrings")){bY.getEnvStrings=function(){c3("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"checkWasiClock")){bY.checkWasiClock=function(){c3("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeI53ToI64")){bY.writeI53ToI64=function(){c3("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeI53ToI64Clamped")){bY.writeI53ToI64Clamped=function(){c3("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeI53ToI64Signaling")){bY.writeI53ToI64Signaling=function(){c3("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeI53ToU64Clamped")){bY.writeI53ToU64Clamped=function(){c3("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeI53ToU64Signaling")){bY.writeI53ToU64Signaling=function(){c3("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"readI53FromI64")){bY.readI53FromI64=function(){c3("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"readI53FromU64")){bY.readI53FromU64=function(){c3("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"convertI32PairToI53")){bY.convertI32PairToI53=function(){c3("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"convertU32PairToI53")){bY.convertU32PairToI53=function(){c3("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"Browser")){bY.Browser=function(){c3("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"FS")){bY.FS=function(){c3("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"MEMFS")){bY.MEMFS=function(){c3("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"TTY")){bY.TTY=function(){c3("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"PIPEFS")){bY.PIPEFS=function(){c3("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SOCKFS")){bY.SOCKFS=function(){c3("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"GL")){bY.GL=function(){c3("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"emscriptenWebGLGet")){bY.emscriptenWebGLGet=function(){c3("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"emscriptenWebGLGetTexPixelData")){bY.emscriptenWebGLGetTexPixelData=function(){c3("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"emscriptenWebGLGetUniform")){bY.emscriptenWebGLGetUniform=function(){c3("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"emscriptenWebGLGetVertexAttrib")){bY.emscriptenWebGLGetVertexAttrib=function(){c3("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"writeGLArray")){bY.writeGLArray=function(){c3("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"AL")){bY.AL=function(){c3("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SDL_unicode")){bY.SDL_unicode=function(){c3("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SDL_ttfContext")){bY.SDL_ttfContext=function(){c3("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SDL_audio")){bY.SDL_audio=function(){c3("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SDL")){bY.SDL=function(){c3("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"SDL_gfx")){bY.SDL_gfx=function(){c3("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"GLUT")){bY.GLUT=function(){c3("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"EGL")){bY.EGL=function(){c3("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"GLFW_Window")){bY.GLFW_Window=function(){c3("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"GLFW")){bY.GLFW=function(){c3("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"GLEW")){bY.GLEW=function(){c3("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"IDBStore")){bY.IDBStore=function(){c3("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"runAndAbortIfError")){bY.runAndAbortIfError=function(){c3("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"warnOnce")){bY.warnOnce=function(){c3("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stackSave")){bY.stackSave=function(){c3("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stackRestore")){bY.stackRestore=function(){c3("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stackAlloc")){bY.stackAlloc=function(){c3("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"AsciiToString")){bY.AsciiToString=function(){c3("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stringToAscii")){bY.stringToAscii=function(){c3("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"UTF16ToString")){bY.UTF16ToString=function(){c3("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stringToUTF16")){bY.stringToUTF16=function(){c3("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"lengthBytesUTF16")){bY.lengthBytesUTF16=function(){c3("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"UTF32ToString")){bY.UTF32ToString=function(){c3("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"stringToUTF32")){bY.stringToUTF32=function(){c3("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"lengthBytesUTF32")){bY.lengthBytesUTF32=function(){c3("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"allocateUTF8")){bY.allocateUTF8=function(){c3("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}if(!Object.getOwnPropertyDescriptor(bY,"allocateUTF8OnStack")){bY.allocateUTF8OnStack=function(){c3("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}bY.writeStackCookie=bi;bY.checkStackCookie=p;if(!Object.getOwnPropertyDescriptor(bY,"ALLOC_NORMAL")){Object.defineProperty(bY,"ALLOC_NORMAL",{configurable:true,get:function(){c3("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}})}if(!Object.getOwnPropertyDescriptor(bY,"ALLOC_STACK")){Object.defineProperty(bY,"ALLOC_STACK",{configurable:true,get:function(){c3("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}})}if(!Object.getOwnPropertyDescriptor(bY,"ALLOC_DYNAMIC")){Object.defineProperty(bY,"ALLOC_DYNAMIC",{configurable:true,get:function(){c3("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}})}if(!Object.getOwnPropertyDescriptor(bY,"ALLOC_NONE")){Object.defineProperty(bY,"ALLOC_NONE",{configurable:true,get:function(){c3("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}})}var bC;function cZ(dO){this.name="ExitStatus";this.message="Program terminated with exit("+dO+")";this.status=dO}var c8=false;aQ=function cs(){if(!bC){ab()}if(!bC){aQ=cs}};function bF(dS){bJ(aS==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');bJ(bD.length==0,"cannot call main when preRun functions remain to be called");var dQ=bY._main;dS=dS||[];var dV=dS.length+1;var dO=bW((dV+1)*4);ar[dO>>2]=bB(bm);for(var dT=1;dT<dV;dT++){ar[(dO>>2)+dT]=bB(dS[dT-1])}ar[(dO>>2)+dV]=0;try{bY.___set_stack_limit(c1);var dR=dQ(dV,dO);dM(dR,true)}catch(dU){if(dU instanceof cZ){return}else{if(dU=="unwind"){cq=true;return}else{var dP=dU;if(dU&&typeof dU==="object"&&dU.stack){dP=[dU,dU.stack]}m("exception thrown: "+dP);aY(1,dU)}}}finally{c8=true}}function ab(dO){dO=dO||dE;if(aS>0){return}bi();z();if(aS>0){return}function dP(){if(bC){return}bC=true;bY.calledRun=true;if(di){return}dN();dp();if(bY.onRuntimeInitialized){bY.onRuntimeInitialized()}if(f){bF(dO)}aF()}if(bY.setStatus){bY.setStatus("Running...");setTimeout(function(){setTimeout(function(){bY.setStatus("")},1);dP()},1)}else{dP()}p()}bY.run=ab;function aT(){var dP=cp;var dR=m;var dQ=false;cp=m=function(dT){dQ=true};try{var dO=bY._fflush;if(dO){dO(0)}["stdout","stderr"].forEach(function(dU){var dV=D.analyzePath("/dev/"+dU);if(!dV){return}var dX=dV.object;var dT=dX.rdev;var dW=ad.ttys[dT];if(dW&&dW.output&&dW.output.length){dQ=true}})}catch(dS){}cp=dP;m=dR;if(dQ){cJ("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}}function dM(dP,dO){aT();if(dO&&cq&&dP===0){return}if(cq){if(!dO){var dQ="program exited (with status: "+dP+"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)";m(dQ)}}else{di=true;bL=dP;cw();if(bY.onExit){bY.onExit(dP)}}aY(dP,new cZ(dP))}if(bY.preInit){if(typeof bY.preInit=="function"){bY.preInit=[bY.preInit]}while(bY.preInit.length>0){bY.preInit.pop()()}}var f=true;if(bY.noInitialRun){f=false}cq=true;ab()};
Note: See TracBrowser for help on using the repository browser.