From 34b32d809ba182aa399d492f9efb38e6e34c9e1a Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sun, 3 Sep 2023 03:28:04 -0500 Subject: [PATCH] Level transitions. --- olcCodeJam2023Entry/Scenario.cpp | 2 +- olcCodeJam2023Entry/Textbox.cpp | 4 +++- olcCodeJam2023Entry/pge.js | 2 +- olcCodeJam2023Entry/pge.wasm | Bin 1056175 -> 1067366 bytes 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/olcCodeJam2023Entry/Scenario.cpp b/olcCodeJam2023Entry/Scenario.cpp index 820857c..3d26e6b 100644 --- a/olcCodeJam2023Entry/Scenario.cpp +++ b/olcCodeJam2023Entry/Scenario.cpp @@ -47,7 +47,7 @@ void Scenario::Draw(){ vf2d textSize=game.GetPGE()->GetTextSizeProp(continueText)*textScale; game.GetPGE()->DrawShadowStringPropDecal(game.GetPGE()->GetScreenSize()/2-textSize/2+vf2d{0,72},continueText,{255,255,255,uint8_t(abs(sin(2*missionCompletedTimer))*255)},{0,0,0,uint8_t(abs(sin(2*missionCompletedTimer))*255)},textScale); if(game.GetPGE()->GetKey(SPACE).bPressed){ - + transitionToNextLevel=true; } } } diff --git a/olcCodeJam2023Entry/Textbox.cpp b/olcCodeJam2023Entry/Textbox.cpp index 750c616..9d61bf0 100644 --- a/olcCodeJam2023Entry/Textbox.cpp +++ b/olcCodeJam2023Entry/Textbox.cpp @@ -97,11 +97,13 @@ void Textbox::Update(PixelGameEngine*pge){ dialogSound->SetVolume(soundHandle,audioVolume); } } - bPressed=pge->GetMouse(0).bPressed||pge->GetMouse(1).bPressed; } maxSize.y=std::max(maxSize.y,float(pge->GetTextSizeProp(displayHeaderText).y+pge->GetTextSizeProp(displayText).y)); lastLetterTime=letterDisplayDelay; } + if(textboxMarker>=int(text.length()-1)){ + bPressed=pge->GetMouse(0).bPressed||pge->GetMouse(1).bPressed; + } } diff --git a/olcCodeJam2023Entry/pge.js b/olcCodeJam2023Entry/pge.js index 21f3578..b99755b 100644 --- a/olcCodeJam2023Entry/pge.js +++ b/olcCodeJam2023Entry/pge.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={132268:()=>{return Module.canvas.getBoundingClientRect().left},132320:()=>{return Module.canvas.getBoundingClientRect().top},132371:()=>{return Module.olc_MOUSEX},132399:()=>{return Module.olc_MOUSEY},132427:()=>{return Module.olc_MOUSEDOWN},132457:()=>{return Module.olc_MOUSEUP},132485:()=>{Module.olc_MOUSEDOWN=-1},132511:()=>{Module.olc_MOUSEUP=-1},132535:()=>{window.onunload=Module._olc_OnPageUnload},132579:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_MOUSEDOWN=-1;Module.olc_MOUSEUP=-1;onmousemove=function(e){Module.olc_MOUSEX=e.clientX;Module.olc_MOUSEY=e.clientY};onmousedown=function(e){Module.olc_MOUSEDOWN=e.button};onmouseup=function(e){Module.olc_MOUSEUP=e.button};ontouchmove=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};ontouchstart=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()},134973:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},135120:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},135354:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},135847:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},135915:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},137567:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},137977:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},139062:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},142692:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},142775:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},142844:()=>{return window.innerWidth},142874:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function ___assert_fail(condition,filename,line,func){abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var exceptionCaught=[];var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_rethrow(){var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return 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(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.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.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function stringToNewUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function runMainThreadEmAsm(code,sigPtr,argbuf,sync){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return runMainThreadEmAsm(code,sigPtr,argbuf,1)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function stringToUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}function _glActiveTexture(x0){GLctx.activeTexture(x0)}var _emscripten_glActiveTexture=_glActiveTexture;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glAttachShader=_glAttachShader;function _glBeginQuery(target,id){GLctx.beginQuery(target,GL.queries[id])}var _emscripten_glBeginQuery=_glBeginQuery;function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBeginTransformFeedback(x0){GLctx.beginTransformFeedback(x0)}var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}var _emscripten_glBindAttribLocation=_glBindAttribLocation;function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}var _emscripten_glBindBuffer=_glBindBuffer;function _glBindBufferBase(target,index,buffer){GLctx.bindBufferBase(target,index,GL.buffers[buffer])}var _emscripten_glBindBufferBase=_glBindBufferBase;function _glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)}var _emscripten_glBindBufferRange=_glBindBufferRange;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}var _emscripten_glBindFramebuffer=_glBindFramebuffer;function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;function _glBindSampler(unit,sampler){GLctx.bindSampler(unit,GL.samplers[sampler])}var _emscripten_glBindSampler=_glBindSampler;function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}var _emscripten_glBindTexture=_glBindTexture;function _glBindTransformFeedback(target,id){GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])}var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _emscripten_glBindVertexArray=_glBindVertexArray;var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}var _emscripten_glBlendColor=_glBlendColor;function _glBlendEquation(x0){GLctx.blendEquation(x0)}var _emscripten_glBlendEquation=_glBlendEquation;function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}var _emscripten_glBlendFunc=_glBlendFunc;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;function _glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}var _emscripten_glBufferData=_glBufferData;function _glBufferSubData(target,offset,size,data){if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}var _emscripten_glBufferSubData=_glBufferSubData;function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;function _glClear(x0){GLctx.clear(x0)}var _emscripten_glClear=_glClear;function _glClearBufferfi(x0,x1,x2,x3){GLctx.clearBufferfi(x0,x1,x2,x3)}var _emscripten_glClearBufferfi=_glClearBufferfi;function _glClearBufferfv(buffer,drawbuffer,value){GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)}var _emscripten_glClearBufferfv=_glClearBufferfv;function _glClearBufferiv(buffer,drawbuffer,value){GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>2)}var _emscripten_glClearBufferiv=_glClearBufferiv;function _glClearBufferuiv(buffer,drawbuffer,value){GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>2)}var _emscripten_glClearBufferuiv=_glClearBufferuiv;function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}var _emscripten_glClearColor=_glClearColor;function _glClearDepthf(x0){GLctx.clearDepth(x0)}var _emscripten_glClearDepthf=_glClearDepthf;function _glClearStencil(x0){GLctx.clearStencil(x0)}var _emscripten_glClearStencil=_glClearStencil;function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _glClientWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glClientWaitSync=_glClientWaitSync;function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}var _emscripten_glColorMask=_glColorMask;function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}var _emscripten_glCompileShader=_glCompileShader;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;function _glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx.copyBufferSubData(x0,x1,x2,x3,x4)}var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;function _glCopyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8){GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8)}var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}var _emscripten_glCreateProgram=_glCreateProgram;function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}var _emscripten_glCreateShader=_glCreateShader;function _glCullFace(x0){GLctx.cullFace(x0)}var _emscripten_glCullFace=_glCullFace;function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}var _emscripten_glDeleteBuffers=_glDeleteBuffers;function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}var _emscripten_glDeleteProgram=_glDeleteProgram;function _glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}}var _emscripten_glDeleteQueries=_glDeleteQueries;function _glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;function _glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}}var _emscripten_glDeleteSamplers=_glDeleteSamplers;function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}var _emscripten_glDeleteShader=_glDeleteShader;function _glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}var _emscripten_glDeleteSync=_glDeleteSync;function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}var _emscripten_glDeleteTextures=_glDeleteTextures;function _glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;function _glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;function _glDepthFunc(x0){GLctx.depthFunc(x0)}var _emscripten_glDepthFunc=_glDepthFunc;function _glDepthMask(flag){GLctx.depthMask(!!flag)}var _emscripten_glDepthMask=_glDepthMask;function _glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _emscripten_glDepthRangef=_glDepthRangef;function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glDetachShader=_glDetachShader;function _glDisable(x0){GLctx.disable(x0)}var _emscripten_glDisable=_glDisable;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}var _emscripten_glDrawArrays=_glDrawArrays;function _glDrawArraysInstanced(mode,first,count,primcount){GLctx.drawArraysInstanced(mode,first,count,primcount)}var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)}var _emscripten_glDrawBuffers=_glDrawBuffers;var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}var _emscripten_glDrawElements=_glDrawElements;function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;function _glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}var _emscripten_glDrawRangeElements=_glDrawRangeElements;function _glEnable(x0){GLctx.enable(x0)}var _emscripten_glEnable=_glEnable;function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;function _glEndQuery(x0){GLctx.endQuery(x0)}var _emscripten_glEndQuery=_glEndQuery;function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}var _emscripten_glEndQueryEXT=_glEndQueryEXT;function _glEndTransformFeedback(){GLctx.endTransformFeedback()}var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}var _emscripten_glFenceSync=_glFenceSync;function _glFinish(){GLctx.finish()}var _emscripten_glFinish=_glFinish;function _glFlush(){GLctx.flush()}var _emscripten_glFlush=_glFlush;function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;function _glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;function _glFrontFace(x0){GLctx.frontFace(x0)}var _emscripten_glFrontFace=_glFrontFace;function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}var _emscripten_glGenBuffers=_glGenBuffers;function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}var _emscripten_glGenFramebuffers=_glGenFramebuffers;function _glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}var _emscripten_glGenQueries=_glGenQueries;function _glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;function _glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}var _emscripten_glGenSamplers=_glGenSamplers;function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}var _emscripten_glGenTextures=_glGenTextures;function _glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _emscripten_glGenVertexArrays=_glGenVertexArrays;var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}var _emscripten_glGenerateMipmap=_glGenerateMipmap;function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveUniform=_glGetActiveUniform;function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetAttribLocation=_glGetAttribLocation;function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}var _emscripten_glGetBooleanv=_glGetBooleanv;function _glGetBufferParameteri64v(target,value,data){if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}var _emscripten_glGetError=_glGetError;function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}var _emscripten_glGetFloatv=_glGetFloatv;function _glGetFragDataLocation(program,name){return GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _glGetInteger64i_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,1)}var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;function _glGetInteger64v(name_,p){emscriptenWebGLGet(name_,p,1)}var _emscripten_glGetInteger64v=_glGetInteger64v;function _glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}var _emscripten_glGetIntegerv=_glGetIntegerv;function _glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}var _emscripten_glGetInternalformativ=_glGetInternalformativ;function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}var _emscripten_glGetProgramBinary=_glGetProgramBinary;function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}var _emscripten_glGetProgramiv=_glGetProgramiv;function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;function _glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getQuery(target,pname)}var _emscripten_glGetQueryiv=_glGetQueryiv;function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;function _glGetSamplerParameterfv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;function _glGetSamplerParameteriv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderSource=_glGetShaderSource;function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}var _emscripten_glGetShaderiv=_glGetShaderiv;function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(true)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}var _emscripten_glGetString=_glGetString;function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}var _emscripten_glGetStringi=_glGetStringi;function _glGetSynciv(sync,pname,bufSize,length,values){if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}}var _emscripten_glGetSynciv=_glGetSynciv;function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;function _glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;function _glGetUniformBlockIndex(program,uniformBlockName){return GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName))}var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetUniformIndices=_glGetUniformIndices;function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}var _emscripten_glGetUniformfv=_glGetUniformfv;function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformiv=_glGetUniformiv;function _glGetUniformuiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformuiv=_glGetUniformuiv;function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribIiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;function _glHint(x0,x1){GLctx.hint(x0,x1)}var _emscripten_glHint=_glHint;function _glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateFramebuffer(target,list)}var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;function _glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)}var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}var _emscripten_glIsBuffer=_glIsBuffer;function _glIsEnabled(x0){return GLctx.isEnabled(x0)}var _emscripten_glIsEnabled=_glIsEnabled;function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}var _emscripten_glIsFramebuffer=_glIsFramebuffer;function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}var _emscripten_glIsProgram=_glIsProgram;function _glIsQuery(id){var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)}var _emscripten_glIsQuery=_glIsQuery;function _glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}var _emscripten_glIsQueryEXT=_glIsQueryEXT;function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;function _glIsSampler(id){var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)}var _emscripten_glIsSampler=_glIsSampler;function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}var _emscripten_glIsShader=_glIsShader;function _glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}var _emscripten_glIsSync=_glIsSync;function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}var _emscripten_glIsTexture=_glIsTexture;function _glIsTransformFeedback(id){return GLctx.isTransformFeedback(GL.transformFeedbacks[id])}var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)}var _emscripten_glIsVertexArray=_glIsVertexArray;var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;function _glLineWidth(x0){GLctx.lineWidth(x0)}var _emscripten_glLineWidth=_glLineWidth;function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}var _emscripten_glLinkProgram=_glLinkProgram;function _glPauseTransformFeedback(){GLctx.pauseTransformFeedback()}var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}var _emscripten_glPixelStorei=_glPixelStorei;function _glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}var _emscripten_glPolygonOffset=_glPolygonOffset;function _glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}var _emscripten_glProgramBinary=_glProgramBinary;function _glProgramParameteri(program,pname,value){GL.recordError(1280)}var _emscripten_glProgramParameteri=_glProgramParameteri;function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;function _glReadBuffer(x0){GLctx.readBuffer(x0)}var _emscripten_glReadBuffer=_glReadBuffer;function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}var _emscripten_glReadPixels=_glReadPixels;function _glReleaseShaderCompiler(){}var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;function _glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4)}var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;function _glResumeTransformFeedback(){GLctx.resumeTransformFeedback()}var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}var _emscripten_glSampleCoverage=_glSampleCoverage;function _glSamplerParameterf(sampler,pname,param){GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterf=_glSamplerParameterf;function _glSamplerParameterfv(sampler,pname,params){var param=HEAPF32[params>>2];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;function _glSamplerParameteri(sampler,pname,param){GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteri=_glSamplerParameteri;function _glSamplerParameteriv(sampler,pname,params){var param=HEAP32[params>>2];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}var _emscripten_glScissor=_glScissor;function _glShaderBinary(count,shaders,binaryformat,binary,length){GL.recordError(1280)}var _emscripten_glShaderBinary=_glShaderBinary;function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}var _emscripten_glShaderSource=_glShaderSource;function _glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var _emscripten_glStencilFunc=_glStencilFunc;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;function _glStencilMask(x0){GLctx.stencilMask(x0)}var _emscripten_glStencilMask=_glStencilMask;function _glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;function _glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}var _emscripten_glStencilOp=_glStencilOp;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}var _emscripten_glTexImage2D=_glTexImage2D;function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}}var _emscripten_glTexImage3D=_glTexImage3D;function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var _emscripten_glTexParameterf=_glTexParameterf;function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}var _emscripten_glTexParameterfv=_glTexParameterfv;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}var _emscripten_glTexParameteri=_glTexParameteri;function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}var _emscripten_glTexParameteriv=_glTexParameteriv;function _glTexStorage2D(x0,x1,x2,x3,x4){GLctx.texStorage2D(x0,x1,x2,x3,x4)}var _emscripten_glTexStorage2D=_glTexStorage2D;function _glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx.texStorage3D(x0,x1,x2,x3,x4,x5)}var _emscripten_glTexStorage3D=_glTexStorage3D;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}var _emscripten_glTexSubImage2D=_glTexSubImage2D;function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}var _emscripten_glTexSubImage3D=_glTexSubImage3D;function _glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)}var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;function _glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1f=_glUniform1f;function _glUniform1fv(location,count,value){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count)}var _emscripten_glUniform1fv=_glUniform1fv;function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1i=_glUniform1i;function _glUniform1iv(location,count,value){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count)}var _emscripten_glUniform1iv=_glUniform1iv;function _glUniform1ui(location,v0){GLctx.uniform1ui(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1ui=_glUniform1ui;function _glUniform1uiv(location,count,value){count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}var _emscripten_glUniform1uiv=_glUniform1uiv;function _glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2f=_glUniform2f;function _glUniform2fv(location,count,value){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2)}var _emscripten_glUniform2fv=_glUniform2fv;function _glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2i=_glUniform2i;function _glUniform2iv(location,count,value){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2)}var _emscripten_glUniform2iv=_glUniform2iv;function _glUniform2ui(location,v0,v1){GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2ui=_glUniform2ui;function _glUniform2uiv(location,count,value){count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}var _emscripten_glUniform2uiv=_glUniform2uiv;function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3f=_glUniform3f;function _glUniform3fv(location,count,value){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3)}var _emscripten_glUniform3fv=_glUniform3fv;function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3i=_glUniform3i;function _glUniform3iv(location,count,value){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3)}var _emscripten_glUniform3iv=_glUniform3iv;function _glUniform3ui(location,v0,v1,v2){GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3ui=_glUniform3ui;function _glUniform3uiv(location,count,value){count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}var _emscripten_glUniform3uiv=_glUniform3uiv;function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4f=_glUniform4f;function _glUniform4fv(location,count,value){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4)}var _emscripten_glUniform4fv=_glUniform4fv;function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4i=_glUniform4i;function _glUniform4iv(location,count,value){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4)}var _emscripten_glUniform4iv=_glUniform4iv;function _glUniform4ui(location,v0,v1,v2,v3){GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4ui=_glUniform4ui;function _glUniform4uiv(location,count,value){count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}var _emscripten_glUniform4uiv=_glUniform4uiv;function _glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)}var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;function _glUniformMatrix2fv(location,count,transpose,value){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4)}var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;function _glUniformMatrix2x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;function _glUniformMatrix2x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;function _glUniformMatrix3fv(location,count,transpose,value){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9)}var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;function _glUniformMatrix3x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;function _glUniformMatrix3x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;function _glUniformMatrix4fv(location,count,transpose,value){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)}var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;function _glUniformMatrix4x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;function _glUniformMatrix4x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}var _emscripten_glUseProgram=_glUseProgram;function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}var _emscripten_glValidateProgram=_glValidateProgram;function _glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;function _glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;function _glVertexAttribDivisor(index,divisor){GLctx.vertexAttribDivisor(index,divisor)}var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;function _glVertexAttribI4i(x0,x1,x2,x3,x4){GLctx.vertexAttribI4i(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;function _glVertexAttribI4iv(index,v){GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])}var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;function _glVertexAttribI4ui(x0,x1,x2,x3,x4){GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;function _glVertexAttribI4uiv(index,v){GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])}var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;function _glVertexAttribIPointer(index,size,type,stride,ptr){GLctx.vertexAttribIPointer(index,size,type,stride,ptr)}var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var _emscripten_glViewport=_glViewport;function _glWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glWaitSync=_glWaitSync;function _emscripten_has_asyncify(){return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(e=event){var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(e=event){var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(e=event){var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(e=event){var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(e=event){if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(e=event){var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={133244:()=>{return Module.canvas.getBoundingClientRect().left},133296:()=>{return Module.canvas.getBoundingClientRect().top},133347:()=>{return Module.olc_MOUSEX},133375:()=>{return Module.olc_MOUSEY},133403:()=>{return Module.olc_MOUSEDOWN},133433:()=>{return Module.olc_MOUSEUP},133461:()=>{Module.olc_MOUSEDOWN=-1},133487:()=>{Module.olc_MOUSEUP=-1},133511:()=>{window.onunload=Module._olc_OnPageUnload},133555:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_MOUSEDOWN=-1;Module.olc_MOUSEUP=-1;onmousemove=function(e){Module.olc_MOUSEX=e.clientX;Module.olc_MOUSEY=e.clientY};onmousedown=function(e){Module.olc_MOUSEDOWN=e.button};onmouseup=function(e){Module.olc_MOUSEUP=e.button};ontouchmove=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};ontouchstart=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()},135949:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},136096:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},136330:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},136823:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},136891:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},138543:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},138953:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},140038:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},143668:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},143751:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},143820:()=>{return window.innerWidth},143850:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function ___assert_fail(condition,filename,line,func){abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var exceptionCaught=[];var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_rethrow(){var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return 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(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.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.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function stringToNewUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function runMainThreadEmAsm(code,sigPtr,argbuf,sync){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return runMainThreadEmAsm(code,sigPtr,argbuf,1)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function stringToUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}function _glActiveTexture(x0){GLctx.activeTexture(x0)}var _emscripten_glActiveTexture=_glActiveTexture;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glAttachShader=_glAttachShader;function _glBeginQuery(target,id){GLctx.beginQuery(target,GL.queries[id])}var _emscripten_glBeginQuery=_glBeginQuery;function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBeginTransformFeedback(x0){GLctx.beginTransformFeedback(x0)}var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}var _emscripten_glBindAttribLocation=_glBindAttribLocation;function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}var _emscripten_glBindBuffer=_glBindBuffer;function _glBindBufferBase(target,index,buffer){GLctx.bindBufferBase(target,index,GL.buffers[buffer])}var _emscripten_glBindBufferBase=_glBindBufferBase;function _glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)}var _emscripten_glBindBufferRange=_glBindBufferRange;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}var _emscripten_glBindFramebuffer=_glBindFramebuffer;function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;function _glBindSampler(unit,sampler){GLctx.bindSampler(unit,GL.samplers[sampler])}var _emscripten_glBindSampler=_glBindSampler;function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}var _emscripten_glBindTexture=_glBindTexture;function _glBindTransformFeedback(target,id){GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])}var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _emscripten_glBindVertexArray=_glBindVertexArray;var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}var _emscripten_glBlendColor=_glBlendColor;function _glBlendEquation(x0){GLctx.blendEquation(x0)}var _emscripten_glBlendEquation=_glBlendEquation;function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}var _emscripten_glBlendFunc=_glBlendFunc;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;function _glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}var _emscripten_glBufferData=_glBufferData;function _glBufferSubData(target,offset,size,data){if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}var _emscripten_glBufferSubData=_glBufferSubData;function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;function _glClear(x0){GLctx.clear(x0)}var _emscripten_glClear=_glClear;function _glClearBufferfi(x0,x1,x2,x3){GLctx.clearBufferfi(x0,x1,x2,x3)}var _emscripten_glClearBufferfi=_glClearBufferfi;function _glClearBufferfv(buffer,drawbuffer,value){GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)}var _emscripten_glClearBufferfv=_glClearBufferfv;function _glClearBufferiv(buffer,drawbuffer,value){GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>2)}var _emscripten_glClearBufferiv=_glClearBufferiv;function _glClearBufferuiv(buffer,drawbuffer,value){GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>2)}var _emscripten_glClearBufferuiv=_glClearBufferuiv;function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}var _emscripten_glClearColor=_glClearColor;function _glClearDepthf(x0){GLctx.clearDepth(x0)}var _emscripten_glClearDepthf=_glClearDepthf;function _glClearStencil(x0){GLctx.clearStencil(x0)}var _emscripten_glClearStencil=_glClearStencil;function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _glClientWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glClientWaitSync=_glClientWaitSync;function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}var _emscripten_glColorMask=_glColorMask;function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}var _emscripten_glCompileShader=_glCompileShader;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;function _glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx.copyBufferSubData(x0,x1,x2,x3,x4)}var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;function _glCopyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8){GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8)}var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}var _emscripten_glCreateProgram=_glCreateProgram;function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}var _emscripten_glCreateShader=_glCreateShader;function _glCullFace(x0){GLctx.cullFace(x0)}var _emscripten_glCullFace=_glCullFace;function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}var _emscripten_glDeleteBuffers=_glDeleteBuffers;function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}var _emscripten_glDeleteProgram=_glDeleteProgram;function _glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}}var _emscripten_glDeleteQueries=_glDeleteQueries;function _glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;function _glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}}var _emscripten_glDeleteSamplers=_glDeleteSamplers;function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}var _emscripten_glDeleteShader=_glDeleteShader;function _glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}var _emscripten_glDeleteSync=_glDeleteSync;function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}var _emscripten_glDeleteTextures=_glDeleteTextures;function _glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;function _glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;function _glDepthFunc(x0){GLctx.depthFunc(x0)}var _emscripten_glDepthFunc=_glDepthFunc;function _glDepthMask(flag){GLctx.depthMask(!!flag)}var _emscripten_glDepthMask=_glDepthMask;function _glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _emscripten_glDepthRangef=_glDepthRangef;function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glDetachShader=_glDetachShader;function _glDisable(x0){GLctx.disable(x0)}var _emscripten_glDisable=_glDisable;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}var _emscripten_glDrawArrays=_glDrawArrays;function _glDrawArraysInstanced(mode,first,count,primcount){GLctx.drawArraysInstanced(mode,first,count,primcount)}var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)}var _emscripten_glDrawBuffers=_glDrawBuffers;var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}var _emscripten_glDrawElements=_glDrawElements;function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;function _glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}var _emscripten_glDrawRangeElements=_glDrawRangeElements;function _glEnable(x0){GLctx.enable(x0)}var _emscripten_glEnable=_glEnable;function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;function _glEndQuery(x0){GLctx.endQuery(x0)}var _emscripten_glEndQuery=_glEndQuery;function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}var _emscripten_glEndQueryEXT=_glEndQueryEXT;function _glEndTransformFeedback(){GLctx.endTransformFeedback()}var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}var _emscripten_glFenceSync=_glFenceSync;function _glFinish(){GLctx.finish()}var _emscripten_glFinish=_glFinish;function _glFlush(){GLctx.flush()}var _emscripten_glFlush=_glFlush;function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;function _glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;function _glFrontFace(x0){GLctx.frontFace(x0)}var _emscripten_glFrontFace=_glFrontFace;function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}var _emscripten_glGenBuffers=_glGenBuffers;function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}var _emscripten_glGenFramebuffers=_glGenFramebuffers;function _glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}var _emscripten_glGenQueries=_glGenQueries;function _glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;function _glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}var _emscripten_glGenSamplers=_glGenSamplers;function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}var _emscripten_glGenTextures=_glGenTextures;function _glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _emscripten_glGenVertexArrays=_glGenVertexArrays;var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}var _emscripten_glGenerateMipmap=_glGenerateMipmap;function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveUniform=_glGetActiveUniform;function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetAttribLocation=_glGetAttribLocation;function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}var _emscripten_glGetBooleanv=_glGetBooleanv;function _glGetBufferParameteri64v(target,value,data){if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}var _emscripten_glGetError=_glGetError;function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}var _emscripten_glGetFloatv=_glGetFloatv;function _glGetFragDataLocation(program,name){return GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _glGetInteger64i_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,1)}var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;function _glGetInteger64v(name_,p){emscriptenWebGLGet(name_,p,1)}var _emscripten_glGetInteger64v=_glGetInteger64v;function _glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}var _emscripten_glGetIntegerv=_glGetIntegerv;function _glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}var _emscripten_glGetInternalformativ=_glGetInternalformativ;function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}var _emscripten_glGetProgramBinary=_glGetProgramBinary;function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}var _emscripten_glGetProgramiv=_glGetProgramiv;function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;function _glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getQuery(target,pname)}var _emscripten_glGetQueryiv=_glGetQueryiv;function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;function _glGetSamplerParameterfv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;function _glGetSamplerParameteriv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderSource=_glGetShaderSource;function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}var _emscripten_glGetShaderiv=_glGetShaderiv;function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(true)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}var _emscripten_glGetString=_glGetString;function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}var _emscripten_glGetStringi=_glGetStringi;function _glGetSynciv(sync,pname,bufSize,length,values){if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}}var _emscripten_glGetSynciv=_glGetSynciv;function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;function _glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;function _glGetUniformBlockIndex(program,uniformBlockName){return GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName))}var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetUniformIndices=_glGetUniformIndices;function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}var _emscripten_glGetUniformfv=_glGetUniformfv;function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformiv=_glGetUniformiv;function _glGetUniformuiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformuiv=_glGetUniformuiv;function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribIiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;function _glHint(x0,x1){GLctx.hint(x0,x1)}var _emscripten_glHint=_glHint;function _glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateFramebuffer(target,list)}var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;function _glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)}var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}var _emscripten_glIsBuffer=_glIsBuffer;function _glIsEnabled(x0){return GLctx.isEnabled(x0)}var _emscripten_glIsEnabled=_glIsEnabled;function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}var _emscripten_glIsFramebuffer=_glIsFramebuffer;function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}var _emscripten_glIsProgram=_glIsProgram;function _glIsQuery(id){var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)}var _emscripten_glIsQuery=_glIsQuery;function _glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}var _emscripten_glIsQueryEXT=_glIsQueryEXT;function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;function _glIsSampler(id){var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)}var _emscripten_glIsSampler=_glIsSampler;function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}var _emscripten_glIsShader=_glIsShader;function _glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}var _emscripten_glIsSync=_glIsSync;function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}var _emscripten_glIsTexture=_glIsTexture;function _glIsTransformFeedback(id){return GLctx.isTransformFeedback(GL.transformFeedbacks[id])}var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)}var _emscripten_glIsVertexArray=_glIsVertexArray;var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;function _glLineWidth(x0){GLctx.lineWidth(x0)}var _emscripten_glLineWidth=_glLineWidth;function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}var _emscripten_glLinkProgram=_glLinkProgram;function _glPauseTransformFeedback(){GLctx.pauseTransformFeedback()}var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}var _emscripten_glPixelStorei=_glPixelStorei;function _glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}var _emscripten_glPolygonOffset=_glPolygonOffset;function _glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}var _emscripten_glProgramBinary=_glProgramBinary;function _glProgramParameteri(program,pname,value){GL.recordError(1280)}var _emscripten_glProgramParameteri=_glProgramParameteri;function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;function _glReadBuffer(x0){GLctx.readBuffer(x0)}var _emscripten_glReadBuffer=_glReadBuffer;function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}var _emscripten_glReadPixels=_glReadPixels;function _glReleaseShaderCompiler(){}var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;function _glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4)}var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;function _glResumeTransformFeedback(){GLctx.resumeTransformFeedback()}var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}var _emscripten_glSampleCoverage=_glSampleCoverage;function _glSamplerParameterf(sampler,pname,param){GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterf=_glSamplerParameterf;function _glSamplerParameterfv(sampler,pname,params){var param=HEAPF32[params>>2];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;function _glSamplerParameteri(sampler,pname,param){GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteri=_glSamplerParameteri;function _glSamplerParameteriv(sampler,pname,params){var param=HEAP32[params>>2];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}var _emscripten_glScissor=_glScissor;function _glShaderBinary(count,shaders,binaryformat,binary,length){GL.recordError(1280)}var _emscripten_glShaderBinary=_glShaderBinary;function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}var _emscripten_glShaderSource=_glShaderSource;function _glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var _emscripten_glStencilFunc=_glStencilFunc;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;function _glStencilMask(x0){GLctx.stencilMask(x0)}var _emscripten_glStencilMask=_glStencilMask;function _glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;function _glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}var _emscripten_glStencilOp=_glStencilOp;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}var _emscripten_glTexImage2D=_glTexImage2D;function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}}var _emscripten_glTexImage3D=_glTexImage3D;function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var _emscripten_glTexParameterf=_glTexParameterf;function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}var _emscripten_glTexParameterfv=_glTexParameterfv;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}var _emscripten_glTexParameteri=_glTexParameteri;function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}var _emscripten_glTexParameteriv=_glTexParameteriv;function _glTexStorage2D(x0,x1,x2,x3,x4){GLctx.texStorage2D(x0,x1,x2,x3,x4)}var _emscripten_glTexStorage2D=_glTexStorage2D;function _glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx.texStorage3D(x0,x1,x2,x3,x4,x5)}var _emscripten_glTexStorage3D=_glTexStorage3D;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}var _emscripten_glTexSubImage2D=_glTexSubImage2D;function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}var _emscripten_glTexSubImage3D=_glTexSubImage3D;function _glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)}var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;function _glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1f=_glUniform1f;function _glUniform1fv(location,count,value){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count)}var _emscripten_glUniform1fv=_glUniform1fv;function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1i=_glUniform1i;function _glUniform1iv(location,count,value){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count)}var _emscripten_glUniform1iv=_glUniform1iv;function _glUniform1ui(location,v0){GLctx.uniform1ui(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1ui=_glUniform1ui;function _glUniform1uiv(location,count,value){count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}var _emscripten_glUniform1uiv=_glUniform1uiv;function _glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2f=_glUniform2f;function _glUniform2fv(location,count,value){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2)}var _emscripten_glUniform2fv=_glUniform2fv;function _glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2i=_glUniform2i;function _glUniform2iv(location,count,value){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2)}var _emscripten_glUniform2iv=_glUniform2iv;function _glUniform2ui(location,v0,v1){GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2ui=_glUniform2ui;function _glUniform2uiv(location,count,value){count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}var _emscripten_glUniform2uiv=_glUniform2uiv;function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3f=_glUniform3f;function _glUniform3fv(location,count,value){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3)}var _emscripten_glUniform3fv=_glUniform3fv;function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3i=_glUniform3i;function _glUniform3iv(location,count,value){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3)}var _emscripten_glUniform3iv=_glUniform3iv;function _glUniform3ui(location,v0,v1,v2){GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3ui=_glUniform3ui;function _glUniform3uiv(location,count,value){count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}var _emscripten_glUniform3uiv=_glUniform3uiv;function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4f=_glUniform4f;function _glUniform4fv(location,count,value){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4)}var _emscripten_glUniform4fv=_glUniform4fv;function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4i=_glUniform4i;function _glUniform4iv(location,count,value){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4)}var _emscripten_glUniform4iv=_glUniform4iv;function _glUniform4ui(location,v0,v1,v2,v3){GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4ui=_glUniform4ui;function _glUniform4uiv(location,count,value){count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}var _emscripten_glUniform4uiv=_glUniform4uiv;function _glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)}var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;function _glUniformMatrix2fv(location,count,transpose,value){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4)}var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;function _glUniformMatrix2x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;function _glUniformMatrix2x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;function _glUniformMatrix3fv(location,count,transpose,value){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9)}var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;function _glUniformMatrix3x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;function _glUniformMatrix3x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;function _glUniformMatrix4fv(location,count,transpose,value){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)}var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;function _glUniformMatrix4x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;function _glUniformMatrix4x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}var _emscripten_glUseProgram=_glUseProgram;function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}var _emscripten_glValidateProgram=_glValidateProgram;function _glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;function _glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;function _glVertexAttribDivisor(index,divisor){GLctx.vertexAttribDivisor(index,divisor)}var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;function _glVertexAttribI4i(x0,x1,x2,x3,x4){GLctx.vertexAttribI4i(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;function _glVertexAttribI4iv(index,v){GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])}var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;function _glVertexAttribI4ui(x0,x1,x2,x3,x4){GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;function _glVertexAttribI4uiv(index,v){GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])}var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;function _glVertexAttribIPointer(index,size,type,stride,ptr){GLctx.vertexAttribIPointer(index,size,type,stride,ptr)}var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var _emscripten_glViewport=_glViewport;function _glWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glWaitSync=_glWaitSync;function _emscripten_has_asyncify(){return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(e=event){var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(e=event){var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(e=event){var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(e=event){var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(e=event){if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(e=event){var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); diff --git a/olcCodeJam2023Entry/pge.wasm b/olcCodeJam2023Entry/pge.wasm index f4e0fde7f7cf5e252c0a4cacc65daf23fcc934a9..e990bbda56871bc4d3646f9937dc90a4046542cc 100644 GIT binary patch delta 263939 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 z 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 i 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�Vfb8kJZJMs#$X)f^i)!Pnf~ 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�rNz|zSwpQ% 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

q!apy(PMdH*DpfULFn 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�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 mH*E@>Ine4*-c>-xG(LjDa64B9=}IH