var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;((function(){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 location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="index.data";var REMOTE_PACKAGE_BASE="index.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;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){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"]("/","YUMEZIKU",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<files.length;++i){(new DataRequest(files[i].start,files[i].end,files[i].audio)).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_index.data")}Module["addRunDependency"]("datafile_index.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}});loadPackage({"files":[{"start":0,"audio":1,"end":7612,"filename":"/2608_bd.wav"},{"start":7612,"audio":1,"end":14024,"filename":"/2608_hh.wav"},{"start":14024,"audio":1,"end":17004,"filename":"/2608_rim.wav"},{"start":17004,"audio":1,"end":23704,"filename":"/2608_sd.wav"},{"start":23704,"audio":1,"end":37748,"filename":"/2608_tom.wav"},{"start":37748,"audio":1,"end":95248,"filename":"/2608_top.wav"},{"start":95248,"audio":0,"end":95385,"filename":"/dosbox.conf"},{"start":95385,"audio":0,"end":384153,"filename":"/font.rom"},{"start":384153,"audio":0,"end":390437,"filename":"/YUMEZIKU/BAT2EXEC.COM"},{"start":390437,"audio":0,"end":408409,"filename":"/YUMEZIKU/CANBE.EXE"},{"start":408409,"audio":0,"end":409105,"filename":"/YUMEZIKU/GAME.BAT"},{"start":409105,"audio":0,"end":539987,"filename":"/YUMEZIKU/MAIN.EXE"},{"start":539987,"audio":0,"end":607359,"filename":"/YUMEZIKU/MAINL.EXE"},{"start":607359,"audio":0,"end":671225,"filename":"/YUMEZIKU/OP.EXE"},{"start":671225,"audio":0,"end":691604,"filename":"/YUMEZIKU/PMD.COM"},{"start":691604,"audio":0,"end":720387,"filename":"/YUMEZIKU/PMD86.COM"},{"start":720387,"audio":0,"end":746029,"filename":"/YUMEZIKU/PMDB2.COM"},{"start":746029,"audio":0,"end":746146,"filename":"/YUMEZIKU/thx.bat"},{"start":746146,"audio":0,"end":747268,"filename":"/YUMEZIKU/THX.COM"},{"start":747268,"audio":0,"end":755540,"filename":"/YUMEZIKU/TOUHOU.DAT"},{"start":755540,"audio":0,"end":755548,"filename":"/YUMEZIKU/YUME.CFG"},{"start":755548,"audio":0,"end":756372,"filename":"/YUMEZIKU/YUME.NEM"},{"start":756372,"audio":0,"end":2223556,"filename":"/YUMEZIKU/yumejk1.DAT"},{"start":2223556,"audio":0,"end":2807275,"filename":"/YUMEZIKU/yumejk2.DAT"},{"start":2807275,"audio":0,"end":2823517,"filename":"/YUMEZIKU/ZUN.COM"}],"remote_package_size":2823517,"package_uuid":"9da9f858-fff8-4694-949f-838907ce19dc"})}))();var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){if(document.currentScript){scriptDirectory=document.currentScript.src}}else{scriptDirectory=self.location.href}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})};var jsCallStartIndex=1;var functionPointers=new Array(0);function addFunction(func,sig){var base=0;for(var i=base;i<base+0;i++){if(!functionPointers[i]){functionPointers[i]=func;return jsCallStartIndex+i}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var Runtime={dynCall:dynCall};var GLOBAL_BASE=1024;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";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_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>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;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+TOTAL_MEMORY+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||104857600;if(TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){Module["wasmMemory"]=new WebAssembly.Memory({"initial":TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=Module["wasmMemory"].buffer}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;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 ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}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 addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;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()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="index.wast";var wasmBinaryFile="index.wasm";var asmjsCodeFile="index.temp.asm.js";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength<oldBuffer.byteLength){err("the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here")}var oldView=new Int8Array(oldBuffer);var newView=new Int8Array(newBuffer);newView.set(oldView);updateGlobalBuffer(newBuffer);updateGlobalBufferViews()}function fixImports(imports){return imports}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then((function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()})).catch((function(){return getBinary()}))}return new Promise((function(resolve,reject){resolve(getBinary())}))}function doNativeWasm(global,env,providedBuffer){if(typeof WebAssembly!=="object"){err("no native wasm support detected");return false}if(!(Module["wasmMemory"]instanceof WebAssembly.Memory)){err("no native wasm Memory in use");return false}env["memory"]=Module["wasmMemory"];info["global"]={"NaN":NaN,"Infinity":Infinity};info["global.Math"]=Math;info["env"]=env;function receiveInstance(instance,module){exports=instance.exports;if(exports.memory)mergeMemory(exports.memory);Module["asm"]=exports;Module["usingWasm"]=true;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"],output["module"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then((function(binary){return WebAssembly.instantiate(binary,info)})).then(receiver).catch((function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)}))}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource).catch((function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)}))}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asmPreload"]=Module["asm"];var asmjsReallocBuffer=Module["reallocBuffer"];var wasmReallocBuffer=(function(size){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;size=alignUp(size,PAGE_MULTIPLE);var old=Module["buffer"];var oldSize=old.byteLength;if(Module["usingWasm"]){try{var result=Module["wasmMemory"].grow((size-oldSize)/wasmPageSize);if(result!==(-1|0)){return Module["buffer"]=Module["wasmMemory"].buffer}else{return null}}catch(e){return null}}});Module["reallocBuffer"]=(function(size){if(finalMethod==="asmjs"){return asmjsReallocBuffer(size)}else{return wasmReallocBuffer(size)}});var finalMethod="";Module["asm"]=(function(global,env,providedBuffer){env=fixImports(env);if(!env["table"]){var TABLE_SIZE=Module["wasmTableSize"];if(TABLE_SIZE===undefined)TABLE_SIZE=1024;var MAX_TABLE_SIZE=Module["wasmMaxTableSize"];if(typeof WebAssembly==="object"&&typeof WebAssembly.Table==="function"){if(MAX_TABLE_SIZE!==undefined){env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,"maximum":MAX_TABLE_SIZE,"element":"anyfunc"})}else{env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,element:"anyfunc"})}}else{env["table"]=new Array(TABLE_SIZE)}Module["wasmTable"]=env["table"]}if(!env["memoryBase"]){env["memoryBase"]=Module["STATIC_BASE"]}if(!env["tableBase"]){env["tableBase"]=0}var exports;exports=doNativeWasm(global,env,providedBuffer);assert(exports,"no binaryen method succeeded.");return exports})}integrateWasmJS();var ASM_CONSTS=[(function(){return screen.width}),(function(){return screen.height}),(function($0){if(typeof Module["setWindowTitle"]!=="undefined"){Module["setWindowTitle"](Module["Pointer_stringify"]($0))}return 0}),(function($0,$1,$2){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<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>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)}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<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}SDL2.ctx.putImageData(SDL2.image,0,0);return 0}),(function($0,$1,$2,$3,$4){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<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>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}),(function($0){if(Module["canvas"]){Module["canvas"].style["cursor"]=Module["Pointer_stringify"]($0)}return 0}),(function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}}),(function(){if(typeof AudioContext!=="undefined"){return 1}else if(typeof webkitAudioContext!=="undefined"){return 1}return 0}),(function(){if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return 1}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return 1}return 0}),(function($0){if(typeof SDL2==="undefined"){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}}return SDL2.audioContext===undefined?-1:0}),(function(){return SDL2.audioContext.sampleRate}),(function($0,$1,$2,$3){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;Runtime.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;Runtime.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)}}),(function($0,$1,$2,$3){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"];Runtime.dynCall("vi",$2,[$3])});SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])}),(function($0){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<tracks.length;i++){SDL2.capture.stream.removeTrack(tracks[i])}SDL2.capture.stream=undefined}if(SDL2.capture.scriptProcessorNode!==undefined){SDL2.capture.scriptProcessorNode.onaudioprocess=(function(audioProcessingEvent){});SDL2.capture.scriptProcessorNode.disconnect();SDL2.capture.scriptProcessorNode=undefined}if(SDL2.capture.mediaStreamNode!==undefined){SDL2.capture.mediaStreamNode.disconnect();SDL2.capture.mediaStreamNode=undefined}if(SDL2.capture.silenceBuffer!==undefined){SDL2.capture.silenceBuffer=undefined}SDL2.capture=undefined}else{if(SDL2.audio.scriptProcessorNode!=undefined){SDL2.audio.scriptProcessorNode.disconnect();SDL2.audio.scriptProcessorNode=undefined}SDL2.audio=undefined}if(SDL2.audioContext!==undefined&&SDL2.audio===undefined&&SDL2.capture===undefined){SDL2.audioContext.close();SDL2.audioContext=undefined}}),(function($0,$1){var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c<numChannels;++c){var channelData=SDL2.capture.currentCaptureBuffer.getChannelData(c);if(channelData.length!=$1){throw"Web Audio capture buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}if(numChannels==1){for(var j=0;j<$1;++j){setValue($0+j*4,channelData[j],"float")}}else{for(var j=0;j<$1;++j){setValue($0+(j*numChannels+c)*4,channelData[j],"float")}}}}),(function($0,$1){var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c<numChannels;++c){var channelData=SDL2.audio.currentOutputBuffer["getChannelData"](c);if(channelData.length!=$1){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){channelData[j]=HEAPF32[$0+(j*numChannels+c<<2)>>2]}}}),(function($0){var str=Pointer_stringify($0)+"\n\n"+"Abort/Retry/Ignore/AlwaysIgnore? [ariA] :";var reply=window.prompt(str,"i");if(reply===null){reply="i"}return allocate(intArrayFromString(reply),"i8",ALLOC_NORMAL)})];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiiiii(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+36399024;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_dos_devices_cpp()})},{func:(function(){__GLOBAL__sub_I_drives_cpp()})},{func:(function(){__GLOBAL__sub_I_programs_cpp()})},{func:(function(){__GLOBAL__sub_I_sdl_mapper_cpp()})},{func:(function(){__GLOBAL__sub_I_menu_cpp()})},{func:(function(){__GLOBAL__sub_I_gus_cpp()})},{func:(function(){__GLOBAL__sub_I_cpu_cpp()})},{func:(function(){___emscripten_environ_constructor()})});var STATIC_BUMP=36399024;Module["STATIC_BASE"]=STATIC_BASE;Module["STATIC_BUMP"]=STATIC_BUMP;var tempDoublePtr=STATICTOP;STATICTOP+=16;var EMTSTACKTOP=getMemory(1048576);var EMT_STACK_MAX=EMTSTACKTOP+1048576;var eb=getMemory(126840);__ATPRERUN__.push((function(){HEAPU8.set([140,2,95,0,0,0,0,0,2,79,0,0,255,0,0,0,2,80,0,0,124,87,211,0,2,81,0,0,77,38,15,0,2,82,0,0,76,38,15,0,2,83,0,0,16,0,0,128,2,84,0,0,46,2,0,0,2,85,0,0,95,38,15,0,2,86,0,0,114,172,10,0,1,55,0,0,136,87,0,0,0,78,87,0,136,87,0,0,1,88,240,4,3,87,87,88,137,87,0,0,1,87,216,3,3,75,78,87,1,87,208,3,3,71,78,87,1,87,200,3,3,65,78,87,1,87,192,3,3,63,78,87,1,87,176,3,3,70,78,87,1,87,160,3,3,67,78,87,1,87,48,1,3,52,78,87,1,87,240,0,3,51,78,87,1,87,152,3,3,48,78,87,1,87,144,3,3,46,78,87,1,87,136,3,3,45,78,87,1,87,128,3,3,44,78,87,1,87,120,3,3,43,78,87,1,87,112,3,3,42,78,87,1,87,104,3,3,41,78,87,1,87,96,3,3,40,78,87,1,87,88,3,3,39,78,87,1,87,80,3,3,38,78,87,1,87,72,3,3,37,78,87,1,87,64,3,3,35,78,87,1,87,56,3,3,34,78,87,1,87,48,3,3,27,78,87,1,87,32,3,3,29,78,87,1,87,24,3,3,26,78,87,1,87,16,3,3,24,78,87,1,87,0,3,3,32,78,87,1,87,240,2,3,31,78,87,1,87,232,2,3,23,78,87,1,87,224,2,3,22,78,87,1,87,176,0,3,54,78,87,25,53,78,112,1,87,144,2,3,50,78,87,0,49,78,0,1,87,136,2,3,17,78,87,1,87,120,2,3,36,78,87,1,87,112,2,3,16,78,87,1,87,96,2,3,30,78,87,1,87,80,2,3,25,78,87,1,87,72,2,3,9,78,87,1,87,64,2,3,8,78,87,1,87,56,2,3,10,78,87,1,87,48,2,3,56,78,87,1,87,40,2,3,3,78,87,1,87,32,2,3,58,78,87,1,87,228,4,3,68,78,87,1,87,0,0,85,68,87,0,1,87,224,4,3,69,78,87,1,87,0,0,85,69,87,0,1,87,220,4,3,61,78,87,1,87,0,0,85,61,87,0,1,87,216,4,3,62,78,87,1,87,0,0,85,62,87,0,1,87,52,4,3,60,78,87,1,87,40,4,3,57,78,87,1,87,248,3,3,77,78,87,1,87,112,1,3,76,78,87,1,87,236,3,3,72,78,87,1,87,224,3,3,73,78,87,1,87,208,4,3,6,78,87,1,87,200,4,3,7,78,87,1,87,192,4,3,5,78,87,1,87,180,4,3,11,78,87,1,87,168,4,3,12,78,87,1,87,160,4,3,13,78,87,1,87,152,4,3,14,78,87,1,87,144,4,3,15,78,87,1,87,136,4,3,19,78,87,1,87,128,4,3,20,78,87,1,87,120,4,3,21,78,87,1,87,104,4,3,33,78,87,1,87,96,4,3,47,78,87,1,87,88,4,3,64,78,87,1,87,72,4,3,66,78,87,1,87,64,4,3,74,78,87,1,88,3,0,135,87,0,0,77,0,1,88,135,87,1,0,76,77,0,0,2,88,0,0,208,152,60,0,1,89,0,0,1,90,200,64,135,87,2,0,88,89,90,0,2,87,0,0,248,34,69,0,85,87,76,0,1,87,0,0,85,72,87,0,1,90,0,0,109,72,4,90,1,87,0,0,109,72,8,87,1,87,0,0,85,73,87,0,1,90,0,0,109,73,4,90,1,87,0,0,109,73,8,87,135,87,3,0,121,87,90,50,2,87,0,0,248,34,69,0,82,2,87,0,110,18,2,64,59,87,0,0,73,87,18,87,121,87,7,0,2,87,0,0,244,73,69,0,59,90,232,3,65,90,18,90,75,90,90,0,85,87,90,0,1,90,158,0,90,90,2,90,120,90,249,49,1,90,159,0,90,90,2,90,120,90,246,49,1,90,160,0,90,90,2,90,121,90,103,0,1,90,0,0,85,60,90,0,1,87,0,0,109,60,4,87,1,90,0,0,109,60,8,90,1,90,0,0,85,57,90,0,1,87,0,0,109,57,4,87,1,90,0,0,109,57,8,90,135,90,4,0,60,0,0,0,135,90,5,0,57,0,0,0,102,0,57,11,41,90,0,24,42,90,90,24,34,1,90,0,121,1,4,0,82,89,57,0,0,87,89,0,119,0,2,0,0,87,57,0,121,1,4,0,106,88,57,4,0,89,88,0,119,0,3,0,19,88,0,79,0,89,88,0,135,90,6,0,60,87,89,0,25,0,60,11,78,89,0,0,34,89,89,0,121,89,4,0,82,89,60,0,0,90,89,0,119,0,2,0,0,90,60,0,2,89,0,0,189,251,11,0,135,1,7,0,90,89,0,0,121,1,15,0,135,89,8,0,1,0,0,0,78,1,0,0,41,89,1,24,42,89,89,24,34,1,89,0,82,28,60,0,125,28,1,28,60,0,0,0,135,89,9,0,28,0,0,0,1,90,0,0,135,89,10,0,90,0,0,0,2,90,0,0,248,34,69,0,82,90,90,0,78,88,0,0,34,88,88,0,121,88,4,0,82,88,60,0,0,87,88,0,119,0,2,0,0,87,60,0,1,88,0,0,135,89,11,0,90,87,88,0,121,89,14,0,78,3,0,0,41,89,3,24,42,89,89,24,34,3,89,0,82,28,60,0,125,28,3,28,60,0,0,0,135,89,9,0,28,0,0,0,1,88,0,0,135,89,10,0,88,0,0,0,119,0,16,0,78,88,0,0,34,88,88,0,121,88,4,0,82,88,60,0,0,89,88,0,119,0,2,0,0,89,60,0,85,3,89,0,2,88,0,0,12,189,10,0,135,89,12,0,88,3,0,0,1,88,1,0,135,89,10,0,88,0,0,0,1,89,149,0,90,89,2,89,120,89,65,49,1,89,150,0,90,89,2,89,120,89,62,49,135,89,13,0,135,89,14,0,135,89,15,0,135,89,16,0,135,89,17,0,73,0,0,0,2,89,0,0,248,34,69,0,82,89,89,0,1,88,161,0,90,89,89,88,121,89,165,0,25,0,72,11,78,89,0,0,34,89,89,0,121,89,7,0,82,89,72,0,1,88,0,0,83,89,88,0,1,89,0,0,109,72,4,89,119,0,5,0,1,89,0,0,83,72,89,0,1,89,0,0,83,0,89,0,135,89,17,0,73,0,0,0,135,89,5,0,72,0,0,0,78,2,0,0,41,89,2,24,42,89,89,24,34,28,89,0,25,1,72,4,121,28,4,0,82,87,72,0,0,88,87,0,119,0,2,0,0,88,72,0,121,28,4,0,82,90,1,0,0,87,90,0,119,0,3,0,19,90,2,79,0,87,90,0,135,89,6,0,73,88,87,0,1,89,21,0,85,6,89,0,1,87,0,0,109,6,4,87,25,2,73,11,78,89,2,0,34,89,89,0,121,89,4,0,82,89,73,0,0,87,89,0,119,0,2,0,0,87,73,0,85,10,87,0,2,89,0,0,204,189,10,0,135,87,18,0,6,89,10,0,2,89,0,0,248,34,69,0,82,89,89,0,78,90,2,0,34,90,90,0,121,90,4,0,82,90,73,0,0,88,90,0,119,0,2,0,0,88,73,0,135,87,19,0,89,88,0,0,2,87,0,0,248,34,69,0,82,28,87,0,106,87,28,52,106,88,28,48,45,87,87,88,228,7,0,0,78,87,0,0,34,87,87,0,121,87,7,0,82,87,72,0,1,88,0,0,83,87,88,0,1,88,0,0,85,1,88,0,119,0,5,0,1,88,0,0,83,72,88,0,1,88,0,0,83,0,88,0,135,88,4,0,73,0,0,0,135,88,5,0,72,0,0,0,78,28,0,0,41,88,28,24,42,88,88,24,34,10,88,0,121,10,4,0,82,89,72,0,0,87,89,0,119,0,2,0,0,87,72,0,121,10,4,0,82,90,1,0,0,89,90,0,119,0,3,0,19,90,28,79,0,89,90,0,135,88,6,0,73,87,89,0,1,88,21,0,85,7,88,0,1,89,0,0,109,7,4,89,78,88,2,0,34,88,88,0,121,88,4,0,82,88,73,0,0,89,88,0,119,0,2,0,0,89,73,0,85,8,89,0,2,88,0,0,255,189,10,0,135,89,18,0,7,88,8,0,2,88,0,0,248,34,69,0,82,88,88,0,78,90,2,0,34,90,90,0,121,90,4,0,82,90,73,0,0,87,90,0,119,0,2,0,0,87,73,0,1,90,0,0,135,89,11,0,88,87,90,0,121,89,29,0,1,89,21,0,85,5,89,0,1,90,1,0,109,5,4,90,78,89,2,0,34,89,89,0,121,89,4,0,82,89,73,0,0,90,89,0,119,0,2,0,0,90,73,0,85,9,90,0,2,89,0,0,61,190,10,0,135,90,18,0,5,89,9,0,2,89,0,0,248,34,69,0,82,89,89,0,78,88,2,0,34,88,88,0,121,88,4,0,82,88,73,0,0,87,88,0,119,0,2,0,0,87,73,0,135,90,19,0,89,87,0,0,2,90,0,0,248,34,69,0,82,1,90,0,106,90,1,124,106,87,1,120,46,90,90,87,176,8,0,0,25,5,11,11,1,3,0,0,106,90,1,120,27,87,3,12,3,0,90,87,102,87,0,11,34,87,87,0,121,87,3,0,82,2,0,0,119,0,2,0,0,2,0,0,135,87,19,0,1,2,0,0,120,87,21,0,2,87,0,0,248,34,69,0,82,28,87,0,135,87,20,0,11,73,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,89,11,0,0,90,89,0,119,0,2,0,0,90,11,0,135,87,19,0,28,90,0,0,78,87,5,0,34,87,87,0,121,87,4,0,82,90,11,0,135,87,21,0,90,0,0,0,25,3,3,1,2,87,0,0,248,34,69,0,82,1,87,0,106,87,1,124,106,90,1,120,4,87,87,90,28,87,87,12,55,87,3,87,8,8,0,0,106,2,1,52,106,0,1,48,45,87,2,0,228,8,0,0,2,90,0,0,131,188,10,0,135,87,19,0,1,90,0,0,2,87,0,0,248,34,69,0,82,0,87,0,106,2,0,52,106,0,0,48,45,87,2,0,128,9,0,0,25,0,72,11,78,87,0,0,34,87,87,0,121,87,7,0,82,87,72,0,1,90,0,0,83,87,90,0,1,87,0,0,109,72,4,87,119,0,5,0,1,87,0,0,83,72,87,0,1,87,0,0,83,0,87,0,135,87,5,0,72,0,0,0,2,87,0,0,248,34,69,0,82,11,87,0,135,87,20,0,12,73,72,0,25,28,12,11,78,89,28,0,34,89,89,0,121,89,4,0,82,89,12,0,0,90,89,0,119,0,2,0,0,90,12,0,135,87,19,0,11,90,0,0,78,87,28,0,34,87,87,0,121,87,4,0,82,90,12,0,135,87,21,0,90,0,0,0,2,90,0,0,248,34,69,0,82,90,90,0,2,89,0,0,124,35,43,2,82,89,89,0,135,87,22,0,90,89,0,0,135,87,23,0,2,87,0,0,248,160,10,0,85,25,87,0,2,89,0,0,112,190,10,0,135,87,24,0,89,25,0,0,1,87,21,0,85,13,87,0,1,89,1,0,109,13,4,89,2,87,0,0,132,190,10,0,135,89,18,0,13,87,30,0,2,89,0,0,248,34,69,0,82,0,89,0,1,89,0,0,85,30,89,0,1,87,0,0,109,30,4,87,1,89,0,0,109,30,8,89,25,28,30,11,1,89,6,0,83,28,89,0,2,89,0,0,66,159,11,0,78,89,89,0,83,30,89,0,2,87,0,0,67,159,11,0,78,87,87,0,107,30,1,87,2,89,0,0,68,159,11,0,78,89,89,0,107,30,2,89,2,87,0,0,69,159,11,0,78,87,87,0,107,30,3,87,2,89,0,0,70,159,11,0,78,89,89,0,107,30,4,89,2,87,0,0,71,159,11,0,78,87,87,0,107,30,5,87,1,89,0,0,107,30,6,89,135,0,25,0,0,30,0,0,78,89,28,0,34,89,89,0,121,89,4,0,82,87,30,0,135,89,21,0,87,0,0,0,1,89,0,0,85,30,89,0,1,87,0,0,109,30,4,87,1,89,0,0,109,30,8,89,1,89,32,0,135,1,26,0,89,0,0,0,85,30,1,0,2,87,0,0,32,0,0,128,109,30,8,87,1,89,18,0,109,30,4,89,0,2,1,0,2,3,0,0,10,191,10,0,25,28,2,18,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,228,10,0,0,1,87,0,0,107,1,18,87,135,87,27,0,0,30,0,0,38,87,87,1,0,0,87,0,2,87,0,0,236,49,8,0,83,87,0,0,102,87,30,11,34,87,87,0,121,87,7,0,82,89,30,0,135,87,21,0,89,0,0,0,2,87,0,0,236,49,8,0,78,0,87,0,41,87,0,24,42,87,87,24,120,87,5,0,2,89,0,0,29,191,10,0,135,87,24,0,89,16,0,0,2,89,0,0,68,191,10,0,135,87,28,0,89,0,0,0,1,87,20,0,85,14,87,0,1,89,0,0,109,14,4,89,2,87,0,0,92,191,10,0,135,89,18,0,14,87,36,0,2,89,0,0,146,217,60,0,1,87,1,0,83,89,87,0,2,89,0,0,49,0,16,0,135,87,29,0,89,0,0,0,36,87,87,255,121,87,7,0,135,87,30,0,85,17,87,0,2,89,0,0,133,191,10,0,135,87,31,0,89,17,0,0,2,87,0,0,208,152,60,0,1,89,1,0,83,87,89,0,2,89,0,0,248,34,69,0,82,89,89,0,1,87,167,0,90,89,89,87,121,89,5,0,2,89,0,0,166,103,43,2,1,87,0,0,83,89,87,0,1,87,20,0,85,15,87,0,1,89,1,0,109,15,4,89,2,87,0,0,151,191,10,0,135,89,18,0,15,87,49,0,135,28,32,0,85,61,28,0,1,89,0,0,1,87,4,0,138,28,89,87,96,12,0,0,116,12,0,0,136,12,0,0,156,12,0,0,2,0,0,0,162,103,43,2,2,1,0,0,162,103,43,2,119,0,21,0,2,0,0,0,104,160,10,0,2,1,0,0,68,160,10,0,119,0,16,0,2,0,0,0,97,160,10,0,2,1,0,0,64,160,10,0,119,0,11,0,2,0,0,0,80,160,10,0,2,1,0,0,55,160,10,0,119,0,6,0,2,0,0,0,71,160,10,0,2,1,0,0,51,160,10,0,119,0,1,0,85,50,1,0,109,50,4,0,2,87,0,0,115,160,10,0,135,89,24,0,87,50,0,0,82,28,61,0,85,62,28,0,1,89,0,0,1,87,4,0,138,28,89,87,0,13,0,0,20,13,0,0,40,13,0,0,60,13,0,0,2,0,0,0,162,103,43,2,2,1,0,0,162,103,43,2,119,0,21,0,2,0,0,0,104,160,10,0,2,1,0,0,68,160,10,0,119,0,16,0,2,0,0,0,97,160,10,0,2,1,0,0,64,160,10,0,119,0,11,0,2,0,0,0,80,160,10,0,2,1,0,0,55,160,10,0,119,0,6,0,2,0,0,0,71,160,10,0,2,1,0,0,51,160,10,0,119,0,1,0,85,53,1,0,109,53,4,0,2,87,0,0,151,160,10,0,135,89,24,0,87,53,0,0,1,89,21,0,85,19,89,0,1,87,0,0,109,19,4,87,2,89,0,0,219,191,10,0,135,87,18,0,19,89,54,0,1,87,255,255,1,90,0,2,135,89,33,0,90,0,0,0,47,87,87,89,216,13,0,0,135,28,34,0,2,87,0,0,136,217,60,0,85,87,28,0,1,87,21,0,85,20,87,0,1,89,0,0,109,20,4,89,85,22,28,0,2,87,0,0,2,192,10,0,135,89,18,0,20,87,22,0,119,0,13,0,1,89,20,0,85,21,89,0,1,87,2,0,109,21,4,87,2,89,0,0,27,192,10,0,135,87,18,0,21,89,23,0,2,87,0,0,136,217,60,0,1,89,0,0,85,87,89,0,2,89,0,0,144,217,60,0,1,87,1,0,83,89,87,0,2,87,0,0,145,217,60,0,1,89,0,0,83,87,89,0,2,89,0,0,140,217,60,0,1,87,1,3,84,89,87,0,2,87,0,0,142,217,60,0,1,89,1,3,84,87,89,0,2,89,0,0,221,102,43,2,78,89,89,0,120,89,32,9,2,89,0,0,221,102,43,2,1,87,1,0,83,89,87,0,1,87,20,0,85,53,87,0,1,89,0,0,109,53,4,89,2,87,0,0,59,192,10,0,135,89,18,0,53,87,31,0,1,89,20,0,85,50,89,0,1,87,0,0,109,50,4,87,2,89,0,0,72,192,10,0,135,87,18,0,50,89,32,0,1,89,37,4,2,90,0,0,110,192,10,0,1,88,0,0,135,87,35,0,89,90,88,0,2,87,0,0,209,152,60,0,1,88,0,0,83,87,88,0,2,88,0,0,210,152,60,0,1,87,0,0,83,88,87,0,2,87,0,0,211,152,60,0,1,88,1,0,83,87,88,0,1,88,0,0,121,88,21,0,2,88,0,0,16,228,3,0,1,87,32,0,1,90,32,0,1,89,32,0,1,91,128,0,2,92,0,0,0,255,0,0,2,93,0,0,0,0,255,0,1,94,0,0,135,28,36,0,88,87,90,89,91,79,92,93,94,0,0,0,2,93,0,0,76,153,60,0,82,93,93,0,135,94,37,0,93,28,0,0,2,94,0,0,29,153,60,0,1,93,0,0,83,94,93,0,2,93,0,0,31,153,60,0,1,94,0,0,83,93,94,0,2,94,0,0,30,153,60,0,1,93,0,0,83,94,93,0,2,93,0,0,248,34,69,0,82,6,93,0,25,28,32,4,1,93,0,0,85,28,93,0,2,94,0,0,0,0,0,3,109,28,4,94,2,94,0,0,87,214,10,0,78,94,94,0,83,32,94,0,2,93,0,0,88,214,10,0,78,93,93,0,107,32,1,93,2,94,0,0,89,214,10,0,78,94,94,0,107,32,2,94,1,93,0,0,107,32,3,93,135,6,25,0,6,32,0,0,102,93,32,11,34,93,93,0,121,93,4,0,82,94,32,0,135,93,21,0,94,0,0,0,120,6,10,0,2,94,0,0,98,43,11,0,2,92,0,0,193,160,10,0,1,91,141,14,2,89,0,0,123,192,10,0,135,93,38,0,94,92,91,89,25,0,32,11,1,93,10,0,83,0,93,0,0,2,32,0,2,3,0,0,254,164,10,0,25,28,2,10,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,56,16,0,0,1,89,0,0,107,32,10,89,2,89,0,0,28,153,60,0,135,93,27,0,6,32,0,0,38,93,93,1,83,89,93,0,78,93,0,0,34,93,93,0,121,93,4,0,82,89,32,0,135,93,21,0,89,0,0,0,1,93,16,0,135,0,26,0,93,0,0,0,85,32,0,0,109,32,8,83,1,89,11,0,109,32,4,89,0,2,0,0,2,3,0,0,253,169,10,0,25,28,2,11,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,180,16,0,0,1,93,0,0,107,0,11,93,2,93,0,0,8,153,60,0,135,89,27,0,6,32,0,0,38,89,89,1,83,93,89,0,102,89,32,11,34,89,89,0,121,89,4,0,82,93,32,0,135,89,21,0,93,0,0,0,1,89,0,0,85,32,89,0,1,93,0,0,109,32,4,93,1,89,0,0,109,32,8,89,25,28,32,11,1,89,8,0,83,28,89,0,0,0,32,0,2,89,0,0,112,114,105,111,85,0,89,0,2,93,0,0,114,105,116,121,109,0,4,93,1,89,0,0,107,32,8,89,135,0,39,0,6,32,0,0,78,89,28,0,34,89,89,0,121,89,4,0,82,93,32,0,135,89,21,0,93,0,0,0,25,2,0,116,82,1,2,0,1,89,0,0,85,31,89,0,1,93,0,0,109,31,4,93,1,89,0,0,109,31,8,89,25,3,31,11,1,89,6,0,83,3,89,0,2,89,0,0,226,170,10,0,78,89,89,0,83,31,89,0,2,93,0,0,227,170,10,0,78,93,93,0,107,31,1,93,2,89,0,0,228,170,10,0,78,89,89,0,107,31,2,89,2,93,0,0,229,170,10,0,78,93,93,0,107,31,3,93,2,89,0,0,230,170,10,0,78,89,89,0,107,31,4,89,2,93,0,0,231,170,10,0,78,93,93,0,107,31,5,93,1,89,0,0,107,31,6,89,135,1,40,0,1,31,0,0,1,89,0,0,85,32,89,0,1,93,0,0,109,32,4,93,1,89,0,0,109,32,8,89,135,5,41,0,1,0,0,0,1,89,239,255,48,89,89,5,60,18,0,0,135,89,42,0,32,0,0,0,35,89,5,11,121,89,8,0,107,32,11,5,120,5,3,0,0,0,32,0,119,0,16,0,0,0,32,0,1,55,92,0,119,0,13,0,25,89,5,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,32,0,0,2,93,0,0,0,0,0,128,20,93,55,93,109,32,8,93,109,32,4,5,1,55,92,0,32,93,55,92,121,93,3,0,135,93,43,0,0,1,5,0,1,89,0,0,95,0,5,89,78,89,3,0,34,89,89,0,121,89,4,0,82,93,31,0,135,89,21,0,93,0,0,0,82,1,2,0,1,89,0,0,85,49,89,0,1,93,0,0,109,49,4,93,1,89,0,0,109,49,8,89,25,2,49,11,1,89,8,0,83,2,89,0,0,3,49,0,2,89,0,0,105,110,97,99,85,3,89,0,2,93,0,0,116,105,118,101,109,3,4,93,1,89,0,0,107,49,8,89,135,1,40,0,1,49,0,0,1,89,0,0,85,31,89,0,1,93,0,0,109,31,4,93,1,89,0,0,109,31,8,89,135,3,41,0,1,0,0,0,1,89,239,255,48,89,89,3,72,19,0,0,135,89,42,0,31,0,0,0,35,89,3,11,121,89,8,0,107,31,11,3,120,3,3,0,0,0,31,0,119,0,16,0,0,0,31,0,1,55,100,0,119,0,13,0,25,89,3,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,31,0,0,2,93,0,0,0,0,0,128,20,93,55,93,109,31,8,93,109,31,4,3,1,55,100,0,32,93,55,100,121,93,3,0,135,93,43,0,0,1,3,0,1,89,0,0,95,0,3,89,78,89,2,0,34,89,89,0,121,89,4,0,82,93,49,0,135,89,21,0,93,0,0,0,25,11,32,11,78,2,11,0,25,3,32,4,82,0,3,0,19,89,2,79,0,1,89,0,41,93,2,24,42,93,93,24,34,93,93,0,125,89,93,0,1,0,0,0,32,89,89,6,121,89,21,0,1,93,0,0,1,91,255,255,2,92,0,0,107,172,10,0,1,94,6,0,135,89,44,0,32,93,91,92,94,0,0,0,120,89,6,0,2,89,0,0,48,153,60,0,1,94,1,0,85,89,94,0,119,0,8,0,78,2,11,0,19,94,2,79,0,1,94,0,82,0,3,0,1,55,107,0,119,0,2,0,1,55,107,0,32,94,55,107,121,94,97,0,41,89,2,24,42,89,89,24,34,89,89,0,125,94,89,0,1,0,0,0,32,94,94,5,121,94,18,0,1,89,0,0,1,92,255,255,1,91,5,0,135,94,44,0,32,89,92,86,91,0,0,0,120,94,6,0,2,94,0,0,48,153,60,0,1,91,2,0,85,94,91,0,119,0,78,0,78,2,11,0,19,91,2,79,0,1,91,0,82,0,3,0,119,0,1,0,41,94,2,24,42,94,94,24,34,94,94,0,125,91,94,0,1,0,0,0,32,91,91,6,121,91,20,0,1,94,0,0,1,92,255,255,2,89,0,0,232,155,11,0,1,93,6,0,135,91,44,0,32,94,92,89,93,0,0,0,120,91,6,0,2,91,0,0,48,153,60,0,1,93,3,0,85,91,93,0,119,0,52,0,78,2,11,0,19,93,2,79,0,1,93,0,82,0,3,0,119,0,1,0,41,91,2,24,42,91,91,24,34,91,91,0,125,93,91,0,1,0,0,0,32,93,93,6,121,93,20,0,1,91,0,0,1,89,255,255,2,92,0,0,233,170,10,0,1,94,6,0,135,93,44,0,32,91,89,92,94,0,0,0,120,93,6,0,2,93,0,0,48,153,60,0,1,94,4,0,85,93,94,0,119,0,26,0,78,2,11,0,19,94,2,79,0,1,94,0,82,0,3,0,119,0,1,0,41,93,2,24,42,93,93,24,34,93,93,0,125,94,93,0,1,0,0,0,33,94,94,7,120,94,14,0,1,93,0,0,1,92,255,255,2,89,0,0,120,172,10,0,1,91,7,0,135,94,44,0,32,93,92,89,91,0,0,0,120,94,5,0,2,94,0,0,48,153,60,0,1,91,5,0,85,94,91,0,25,10,31,11,78,2,10,0,25,3,31,4,82,0,3,0,19,91,2,79,0,1,91,0,41,94,2,24,42,94,94,24,34,94,94,0,125,91,94,0,1,0,0,0,32,91,91,6,121,91,21,0,1,94,0,0,1,89,255,255,2,92,0,0,107,172,10,0,1,93,6,0,135,91,44,0,31,94,89,92,93,0,0,0,120,91,6,0,2,91,0,0,52,153,60,0,1,93,1,0,85,91,93,0,119,0,8,0,78,2,10,0,19,93,2,79,0,1,93,0,82,0,3,0,1,55,126,0,119,0,2,0,1,55,126,0,32,93,55,126,121,93,123,0,41,91,2,24,42,91,91,24,34,91,91,0,125,93,91,0,1,0,0,0,32,93,93,5,121,93,18,0,1,91,0,0,1,92,255,255,1,89,5,0,135,93,44,0,31,91,92,86,89,0,0,0,120,93,6,0,2,93,0,0,52,153,60,0,1,89,2,0,85,93,89,0,119,0,104,0,78,2,10,0,19,89,2,79,0,1,89,0,82,0,3,0,119,0,1,0,41,93,2,24,42,93,93,24,34,93,93,0,125,89,93,0,1,0,0,0,32,89,89,6,121,89,20,0,1,93,0,0,1,92,255,255,2,91,0,0,232,155,11,0,1,94,6,0,135,89,44,0,31,93,92,91,94,0,0,0,120,89,6,0,2,89,0,0,52,153,60,0,1,94,3,0,85,89,94,0,119,0,78,0,78,2,10,0,19,94,2,79,0,1,94,0,82,0,3,0,119,0,1,0,41,89,2,24,42,89,89,24,34,89,89,0,125,94,89,0,1,0,0,0,32,94,94,6,121,94,20,0,1,89,0,0,1,91,255,255,2,92,0,0,233,170,10,0,1,93,6,0,135,94,44,0,31,89,91,92,93,0,0,0,120,94,6,0,2,94,0,0,52,153,60,0,1,93,4,0,85,94,93,0,119,0,52,0,78,2,10,0,19,93,2,79,0,1,93,0,82,0,3,0,119,0,1,0,41,94,2,24,42,94,94,24,34,94,94,0,125,93,94,0,1,0,0,0,32,93,93,7,121,93,20,0,1,94,0,0,1,92,255,255,2,91,0,0,120,172,10,0,1,89,7,0,135,93,44,0,31,94,92,91,89,0,0,0,120,93,6,0,2,93,0,0,52,153,60,0,1,89,5,0,85,93,89,0,119,0,26,0,78,2,10,0,19,89,2,79,0,1,89,0,82,0,3,0,119,0,1,0,41,93,2,24,42,93,93,24,34,93,93,0,125,89,93,0,1,0,0,0,33,89,89,5,120,89,14,0,1,93,0,0,1,91,255,255,2,92,0,0,1,208,10,0,1,94,5,0,135,89,44,0,31,93,91,92,94,0,0,0,120,89,5,0,2,89,0,0,52,153,60,0,1,94,0,0,85,89,94,0,2,94,0,0,114,153,60,0,1,89,0,0,83,94,89,0,2,89,0,0,213,102,43,2,1,94,0,0,83,89,94,0,2,94,0,0,113,153,60,0,1,89,0,0,83,94,89,0,2,89,0,0,16,153,60,0,1,94,0,0,83,89,94,0,1,94,0,0,85,49,94,0,1,89,0,0,109,49,4,89,1,94,0,0,109,49,8,94,1,94,16,0,135,0,26,0,94,0,0,0,85,49,0,0,109,49,8,83,1,89,14,0,109,49,4,89,0,2,0,0,2,3,0,0,123,163,10,0,25,28,2,14,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,216,24,0,0,1,94,0,0,107,0,14,94,135,0,40,0,6,49,0,0,102,94,49,11,34,94,94,0,121,94,4,0,82,89,49,0,135,94,21,0,89,0,0,0,2,94,0,0,12,153,60,0,1,89,0,0,84,94,89,0,2,89,0,0,14,153,60,0,1,94,0,0,84,89,94,0,121,0,45,0,78,94,0,0,120,94,2,0,119,0,42,0,1,89,100,0,135,94,45,0,49,0,89,0,135,0,46,0,49,0,0,0,2,89,0,0,138,163,10,0,135,94,47,0,0,89,0,0,121,94,32,0,2,94,0,0,16,153,60,0,1,89,1,0,83,94,89,0,2,94,0,0,147,163,10,0,135,89,47,0,0,94,0,0,120,89,2,0,119,0,22,0,1,89,120,0,135,0,48,0,0,89,0,0,120,0,2,0,119,0,17,0,78,89,0,0,120,89,2,0,119,0,14,0,1,89,0,0,83,0,89,0,2,89,0,0,14,153,60,0,25,92,0,1,135,94,49,0,92,0,0,0,84,89,94,0,2,94,0,0,12,153,60,0,135,89,49,0,49,0,0,0,84,94,89,0,2,89,0,0,18,153,60,0,1,94,0,0,84,89,94,0,2,94,0,0,20,153,60,0,1,89,0,0,84,94,89,0,1,89,0,0,85,49,89,0,1,94,0,0,109,49,4,94,1,89,0,0,109,49,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,49,0,0,2,94,0,0,32,0,0,128,109,49,8,94,1,89,16,0,109,49,4,89,0,2,0,0,2,3,0,0,155,163,10,0,25,28,2,16,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,88,26,0,0,1,94,0,0,107,0,16,94,135,0,40,0,6,49,0,0,102,94,49,11,34,94,94,0,121,94,4,0,82,89,49,0,135,94,21,0,89,0,0,0,121,0,35,0,78,94,0,0,120,94,2,0,119,0,32,0,1,89,100,0,135,94,45,0,49,0,89,0,135,0,46,0,49,0,0,0,2,89,0,0,138,163,10,0,135,94,47,0,0,89,0,0,121,94,22,0,1,94,120,0,135,0,48,0,0,94,0,0,120,0,2,0,119,0,17,0,78,94,0,0,120,94,2,0,119,0,14,0,1,94,0,0,83,0,94,0,2,94,0,0,20,153,60,0,25,92,0,1,135,89,49,0,92,0,0,0,84,94,89,0,2,89,0,0,18,153,60,0,135,94,49,0,49,0,0,0,84,89,94,0,25,0,49,11,1,94,10,0,83,0,94,0,0,2,49,0,2,3,0,0,172,163,10,0,25,28,2,10,78,94,3,0,83,2,94,0,25,2,2,1,25,3,3,1,54,94,2,28,64,27,0,0,1,89,0,0,107,49,10,89,2,89,0,0,32,153,60,0,135,94,27,0,6,49,0,0,38,94,94,1,83,89,94,0,78,94,0,0,34,94,94,0,121,94,4,0,82,89,49,0,135,94,21,0,89,0,0,0,2,94,0,0,12,153,60,0,80,94,94,0,120,94,5,0,2,94,0,0,12,153,60,0,1,89,0,4,84,94,89,0,2,89,0,0,14,153,60,0,80,89,89,0,120,89,5,0,2,89,0,0,14,153,60,0,1,94,0,4,84,89,94,0,1,94,0,0,85,49,94,0,1,89,0,0,109,49,4,89,1,94,0,0,109,49,8,94,25,28,49,11,1,94,8,0,83,28,94,0,0,23,49,0,2,94,0,0,97,117,116,111,85,23,94,0,2,89,0,0,108,111,99,107,109,23,4,89,1,94,0,0,107,49,8,94,2,94,0,0,112,153,60,0,135,89,27,0,6,49,0,0,38,89,89,1,83,94,89,0,78,89,28,0,34,89,89,0,121,89,4,0,82,94,49,0,135,89,21,0,94,0,0,0,1,89,0,0,85,49,89,0,1,94,0,0,109,49,4,94,1,89,0,0,109,49,8,89,25,28,49,11,1,89,6,0,83,28,89,0,2,89,0,0,31,168,10,0,78,89,89,0,83,49,89,0,2,94,0,0,32,168,10,0,78,94,94,0,107,49,1,94,2,89,0,0,33,168,10,0,78,89,89,0,107,49,2,89,2,94,0,0,34,168,10,0,78,94,94,0,107,49,3,94,2,89,0,0,35,168,10,0,78,89,89,0,107,49,4,89,2,94,0,0,36,168,10,0,78,94,94,0,107,49,5,94,1,89,0,0,107,49,6,89,2,89,0,0,120,153,60,0,135,94,27,0,6,49,0,0,38,94,94,1,83,89,94,0,78,94,28,0,34,94,94,0,121,94,4,0,82,89,49,0,135,94,21,0,89,0,0,0,2,94,0,0,112,153,60,0,78,94,94,0,120,94,4,0,1,89,0,0,135,94,50,0,89,0,0,0,2,94,0,0,104,153,60,0,1,89,0,0,83,94,89,0,1,89,0,0,85,36,89,0,1,94,0,0,109,36,4,94,1,89,0,0,109,36,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,36,0,0,2,94,0,0,32,0,0,128,109,36,8,94,1,89,17,0,109,36,4,89,0,2,0,0,2,3,0,0,178,167,10,0,25,28,2,17,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,124,29,0,0,1,94,0,0,107,0,17,94,135,1,40,0,6,36,0,0,1,94,0,0,85,49,94,0,1,89,0,0,109,49,4,89,1,94,0,0,109,49,8,94,135,2,41,0,1,0,0,0,1,94,239,255,48,94,94,2,216,29,0,0,135,94,42,0,49,0,0,0,35,94,2,11,121,94,8,0,107,49,11,2,120,2,3,0,0,0,49,0,119,0,16,0,0,0,49,0,1,55,181,0,119,0,13,0,25,94,2,16,38,94,94,240,0,55,94,0,135,0,26,0,55,0,0,0,85,49,0,0,2,89,0,0,0,0,0,128,20,89,55,89,109,49,8,89,109,49,4,2,1,55,181,0,1,89,181,0,45,89,55,89,64,30,0,0,135,89,43,0,0,1,2,0,1,94,0,0,95,0,2,94,102,94,36,11,34,94,94,0,121,94,4,0,82,89,36,0,135,94,21,0,89,0,0,0,25,9,49,11,78,2,9,0,25,3,49,4,82,0,3,0,19,94,2,79,0,1,94,0,41,89,2,24,42,89,89,24,34,89,89,0,125,94,89,0,1,0,0,0,32,94,94,4,121,94,21,0,1,89,0,0,1,92,255,255,2,91,0,0,114,85,11,0,1,93,4,0,135,94,44,0,49,89,92,91,93,0,0,0,120,94,6,0,2,94,0,0,108,153,60,0,1,93,0,0,85,94,93,0,119,0,8,0,78,2,9,0,19,93,2,79,0,1,93,0,82,0,3,0,1,55,188,0,119,0,2,0,1,55,188,0,1,93,188,0,45,93,55,93,172,31,0,0,41,94,2,24,42,94,94,24,34,94,94,0,125,93,94,0,1,0,0,0,32,93,93,4,121,93,20,0,1,94,0,0,1,91,255,255,2,92,0,0,160,172,10,0,1,89,4,0,135,93,44,0,49,94,91,92,89,0,0,0,120,93,6,0,2,93,0,0,108,153,60,0,1,89,1,0,85,93,89,0,119,0,26,0,78,2,9,0,19,89,2,79,0,1,89,0,82,0,3,0,119,0,1,0,41,93,2,24,42,93,93,24,34,93,93,0,125,89,93,0,1,0,0,0,33,89,89,5,120,89,14,0,1,93,0,0,1,92,255,255,2,91,0,0,165,172,10,0,1,94,5,0,135,89,44,0,49,93,92,91,94,0,0,0,120,89,5,0,2,89,0,0,108,153,60,0,1,94,2,0,85,89,94,0,1,94,0,0,85,36,94,0,1,89,0,0,109,36,4,89,1,94,0,0,109,36,8,94,1,94,16,0,135,0,26,0,94,0,0,0,85,36,0,0,109,36,8,83,1,89,11,0,109,36,4,89,0,2,0,0,2,3,0,0,0,168,10,0,25,28,2,11,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,240,31,0,0,1,94,0,0,107,0,11,94,2,94,0,0,116,153,60,0,135,89,51,0,6,36,0,0,85,94,89,0,102,89,36,11,34,89,89,0,121,89,4,0,82,94,36,0,135,89,21,0,94,0,0,0,1,89,0,0,85,30,89,0,1,94,0,0,109,30,4,94,1,89,0,0,109,30,8,89,25,2,30,11,1,89,6,0,83,2,89,0,2,89,0,0,48,167,10,0,78,89,89,0,83,30,89,0,2,94,0,0,49,167,10,0,78,94,94,0,107,30,1,94,2,89,0,0,50,167,10,0,78,89,89,0,107,30,2,89,2,94,0,0,51,167,10,0,78,94,94,0,107,30,3,94,2,89,0,0,52,167,10,0,78,89,89,0,107,30,4,89,2,94,0,0,53,167,10,0,78,94,94,0,107,30,5,94,1,89,0,0,107,30,6,89,135,1,40,0,6,30,0,0,1,89,0,0,85,36,89,0,1,94,0,0,109,36,4,94,1,89,0,0,109,36,8,89,135,3,41,0,1,0,0,0,1,89,239,255,48,89,89,3,4,33,0,0,135,89,42,0,36,0,0,0,35,89,3,11,121,89,8,0,107,36,11,3,120,3,3,0,0,0,36,0,119,0,16,0,0,0,36,0,1,55,202,0,119,0,13,0,25,89,3,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,36,0,0,2,94,0,0,0,0,0,128,20,94,55,94,109,36,8,94,109,36,4,3,1,55,202,0,1,94,202,0,45,94,55,94,108,33,0,0,135,94,43,0,0,1,3,0,1,89,0,0,95,0,3,89,78,89,2,0,34,89,89,0,121,89,4,0,82,94,30,0,135,89,21,0,94,0,0,0,1,89,0,0,85,25,89,0,1,94,0,0,109,25,4,94,1,89,0,0,109,25,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,25,0,0,109,25,8,83,1,94,15,0,109,25,4,94,0,2,0,0,2,3,0,0,137,168,10,0,25,28,2,15,78,94,3,0,83,2,94,0,25,2,2,1,25,3,3,1,54,94,2,28,208,33,0,0,1,89,0,0,107,0,15,89,135,1,40,0,6,25,0,0,1,89,0,0,85,30,89,0,1,94,0,0,109,30,4,94,1,89,0,0,109,30,8,89,135,2,41,0,1,0,0,0,1,89,239,255,48,89,89,2,44,34,0,0,135,89,42,0,30,0,0,0,35,89,2,11,121,89,8,0,107,30,11,2,120,2,3,0,0,0,30,0,119,0,16,0,0,0,30,0,1,55,210,0,119,0,13,0,25,89,2,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,30,0,0,2,94,0,0,0,0,0,128,20,94,55,94,109,30,8,94,109,30,4,2,1,55,210,0,1,94,210,0,45,94,55,94,148,34,0,0,135,94,43,0,0,1,2,0,1,89,0,0,95,0,2,89,102,89,25,11,34,89,89,0,121,89,4,0,82,94,25,0,135,89,21,0,94,0,0,0,25,8,30,11,78,2,8,0,25,3,30,4,82,0,3,0,19,89,2,79,0,1,89,0,41,94,2,24,42,94,94,24,34,94,94,0,125,89,94,0,1,0,0,0,32,89,89,6,121,89,21,0,1,94,0,0,1,91,255,255,2,92,0,0,147,172,10,0,1,93,6,0,135,89,44,0,30,94,91,92,93,0,0,0,120,89,6,0,2,89,0,0,124,153,60,0,1,93,1,0,85,89,93,0,119,0,8,0,78,2,8,0,19,93,2,79,0,1,93,0,82,0,3,0,1,55,217,0,119,0,2,0,1,55,217,0,1,93,217,0,45,93,55,93,104,36,0,0,41,89,2,24,42,89,89,24,34,89,89,0,125,93,89,0,1,0,0,0,32,93,93,6,121,93,20,0,1,89,0,0,1,92,255,255,2,91,0,0,140,172,10,0,1,94,6,0,135,93,44,0,30,89,92,91,94,0,0,0,120,93,6,0,2,93,0,0,124,153,60,0,1,94,3,0,85,93,94,0,119,0,52,0,78,2,8,0,19,94,2,79,0,1,94,0,82,0,3,0,119,0,1,0,41,93,2,24,42,93,93,24,34,93,93,0,125,94,93,0,1,0,0,0,32,94,94,11,121,94,20,0,1,93,0,0,1,91,255,255,2,92,0,0,128,172,10,0,1,89,11,0,135,94,44,0,30,93,91,92,89,0,0,0,120,94,6,0,2,94,0,0,124,153,60,0,1,89,2,0,85,94,89,0,119,0,26,0,78,2,8,0,19,89,2,79,0,1,89,0,82,0,3,0,119,0,1,0,41,94,2,24,42,94,94,24,34,94,94,0,125,89,94,0,1,0,0,0,33,89,89,5,120,89,14,0,1,94,0,0,1,92,255,255,2,91,0,0,154,172,10,0,1,93,5,0,135,89,44,0,30,94,92,91,93,0,0,0,120,89,5,0,2,89,0,0,124,153,60,0,1,93,0,0,85,89,93,0,2,93,0,0,28,153,60,0,78,93,93,0,121,93,7,0,2,89,0,0,114,153,60,0,78,89,89,0,32,89,89,0,135,93,52,0,89,0,0,0,25,7,36,11,78,0,7,0,25,3,36,4,82,1,3,0,19,93,0,79,0,2,93,0,41,89,0,24,42,89,89,24,34,89,89,0,125,93,89,1,2,0,0,0,32,93,93,7,121,93,18,0,1,89,0,0,1,91,255,255,2,92,0,0,244,197,11,0,1,94,7,0,135,93,44,0,36,89,91,92,94,0,0,0,120,93,3,0,1,0,0,0,119,0,8,0,78,0,7,0,19,93,0,79,0,2,93,0,82,1,3,0,1,55,233,0,119,0,2,0,1,55,233,0,1,93,233,0,45,93,55,93,244,37,0,0,41,94,0,24,42,94,94,24,34,94,94,0,125,93,94,1,2,0,0,0,32,93,93,5,121,93,16,0,1,94,0,0,1,92,255,255,2,91,0,0,179,172,10,0,1,89,5,0,135,93,44,0,36,94,92,91,89,0,0,0,120,93,3,0,1,0,0,0,119,0,38,0,78,0,7,0,19,93,0,79,0,2,93,0,82,1,3,0,41,89,0,24,42,89,89,24,34,89,89,0,125,93,89,1,2,0,0,0,32,93,93,7,121,93,13,0,1,89,0,0,1,91,255,255,2,92,0,0,171,172,10,0,1,94,7,0,135,93,44,0,36,89,91,92,94,0,0,0,120,93,3,0,1,0,1,0,119,0,16,0,78,0,7,0,41,94,0,24,42,94,94,24,34,94,94,0,121,94,4,0,82,94,36,0,0,93,94,0,119,0,2,0,0,93,36,0,85,24,93,0,2,94,0,0,135,192,10,0,135,93,24,0,94,24,0,0,1,0,0,0,2,93,0,0,40,153,60,0,85,93,0,0,1,93,0,0,85,25,93,0,1,94,0,0,109,25,4,94,1,93,0,0,109,25,8,93,25,28,25,11,1,93,8,0,83,28,93,0,0,24,25,0,2,93,0,0,111,118,101,114,85,24,93,0,2,94,0,0,115,99,97,110,109,24,4,94,1,93,0,0,107,25,8,93,2,93,0,0,132,217,60,0,135,94,51,0,6,25,0,0,85,93,94,0,78,94,28,0,34,94,94,0,121,94,4,0,82,93,25,0,135,94,21,0,93,0,0,0,1,93,128,2,1,92,144,1,1,91,0,0,135,94,53,0,93,92,91,0,120,94,7,0,135,94,30,0,85,26,94,0,2,91,0,0,195,192,10,0,135,94,31,0,91,26,0,0,2,94,0,0,72,153,60,0,2,92,0,0,76,153,60,0,82,92,92,0,135,91,54,0,92,0,0,0,85,94,91,0,2,91,0,0,76,153,60,0,82,91,91,0,135,0,55,0,91,0,0,0,2,91,0,0,24,153,60,0,85,91,0,0,135,91,56,0,0,0,0,0,85,29,91,0,2,94,0,0,226,192,10,0,135,91,24,0,94,29,0,0,2,91,0,0,24,153,60,0,82,0,91,0,32,91,0,0,2,94,0,0,0,0,0,240,19,94,0,94,2,92,0,0,0,0,0,16,13,94,94,92,20,91,91,94,121,91,4,0,19,91,0,79,0,1,91,0,119,0,34,0,2,91,0,0,89,86,89,85,47,91,0,91,108,39,0,0,2,91,0,0,89,85,89,50,1,94,1,0,138,0,91,94,104,39,0,0,1,1,1,0,119,0,23,0,119,0,21,0,2,91,0,0,85,89,86,89,47,91,0,91,156,39,0,0,2,91,0,0,89,86,89,85,1,94,1,0,138,0,91,94,152,39,0,0,1,1,1,0,119,0,11,0,119,0,9,0,2,91,0,0,85,89,86,89,1,94,1,0,138,0,91,94,184,39,0,0,1,1,1,0,119,0,3,0,119,0,1,0,1,1,2,0,2,91,0,0,22,153,60,0,41,94,1,3,83,91,94,0,2,94,0,0,0,255,0,0,19,94,0,94,1,91,0,24,45,94,94,91,248,39,0,0,2,91,0,0,6,193,10,0,135,94,24,0,91,27,0,0,135,94,57,0,2,94,0,0],eb+0);HEAPU8.set([210,152,60,0,78,94,94,0,121,94,4,0,1,91,0,0,135,94,58,0,91,0,0,0,2,94,0,0,209,152,60,0,1,91,0,0,83,94,91,0,2,94,0,0,76,153,60,0,82,94,94,0,2,92,0,0,174,117,11,0,135,91,59,0,94,92,0,0,1,92,38,4,1,94,31,0,1,93,8,0,2,89,0,0,71,193,10,0,2,90,0,0,77,193,10,0,135,91,60,0,92,94,93,89,90,54,0,0,82,6,54,0,1,91,0,0,85,29,91,0,1,90,0,0,109,29,4,90,1,91,0,0,109,29,8,91,1,91,32,0,135,0,26,0,91,0,0,0,85,29,0,0,2,90,0,0,32,0,0,128,109,29,8,90,1,91,18,0,109,29,4,91,0,2,0,0,2,3,0,0,83,193,10,0,25,28,2,18,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,188,40,0,0,1,90,0,0,107,0,18,90,25,5,6,12,106,90,6,56,34,90,90,2,121,90,40,0,102,1,5,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,91,6,16,0,90,91,0,119,0,2,0,0,90,1,0,32,90,90,18,121,90,23,0,82,3,5,0,121,2,6,0,1,91,18,0,135,90,61,0,3,0,91,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,82,120,90,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,91,0,0,52,90,90,91,84,41,0,0,25,28,6,60,78,90,28,0,39,90,90,1,83,28,90,0,135,90,62,0,5,29,0,0,102,90,29,11,34,90,90,0,121,90,4,0,82,91,29,0,135,90,21,0,91,0,0,0,1,91,39,4,1,89,9,0,1,93,1,0,2,94,0,0,102,193,10,0,2,92,0,0,111,193,10,0,135,90,60,0,91,89,93,94,92,54,0,0,82,3,54,0,1,90,0,0,85,29,90,0,1,92,0,0,109,29,4,92,1,90,0,0,109,29,8,90,25,5,29,11,1,90,4,0,83,5,90,0,2,90,0,0,81,117,105,116,85,29,90,0,1,92,0,0,107,29,4,92,25,6,3,12,106,92,3,56,34,92,92,2,121,92,41,0,102,0,6,11,41,92,0,24,42,92,92,24,34,1,92,0,19,92,0,79,0,0,92,0,121,1,4,0,106,90,3,16,0,92,90,0,119,0,2,0,0,92,0,0,32,92,92,4,121,92,24,0,82,2,6,0,121,1,6,0,1,90,4,0,135,92,61,0,2,29,90,0,120,92,18,0,119,0,21,0,19,92,2,79,41,92,92,24,42,92,92,24,33,92,92,81,120,92,12,0,0,2,6,0,0,1,29,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,92,2,0,78,90,1,0,52,92,92,90,136,42,0,0,25,28,3,60,78,92,28,0,39,92,92,1,83,28,92,0,135,92,62,0,6,29,0,0,78,92,5,0,34,92,92,0,121,92,4,0,82,90,29,0,135,92,21,0,90,0,0,0,1,90,40,4,1,94,10,0,1,93,1,0,2,89,0,0,120,193,10,0,2,91,0,0,129,193,10,0,135,92,60,0,90,94,93,89,91,54,0,0,82,6,54,0,1,92,0,0,85,29,92,0,1,91,0,0,109,29,4,91,1,92,0,0,109,29,8,92,1,92,16,0,135,0,26,0,92,0,0,0,85,29,0,0,109,29,8,83,1,91,13,0,109,29,4,91,0,2,0,0,2,3,0,0,139,193,10,0,25,28,2,13,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,76,43,0,0,1,92,0,0,107,0,13,92,25,5,6,12,106,92,6,56,34,92,92,2,121,92,40,0,102,1,5,11,41,92,1,24,42,92,92,24,34,2,92,0,19,92,1,79,0,1,92,0,121,2,4,0,106,91,6,16,0,92,91,0,119,0,2,0,0,92,1,0,32,92,92,13,121,92,23,0,82,3,5,0,121,2,6,0,1,91,13,0,135,92,61,0,3,0,91,0,120,92,17,0,119,0,20,0,19,92,3,79,41,92,92,24,42,92,92,24,33,92,92,67,120,92,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,92,2,0,78,91,0,0,52,92,92,91,228,43,0,0,25,28,6,60,78,92,28,0,39,92,92,1,83,28,92,0,135,92,62,0,5,29,0,0,102,92,29,11,34,92,92,0,121,92,4,0,82,91,29,0,135,92,21,0,91,0,0,0,1,91,41,4,1,89,29,0,1,93,8,0,2,94,0,0,153,193,10,0,2,90,0,0,161,193,10,0,135,92,60,0,91,89,93,94,90,54,0,0,82,6,54,0,1,92,0,0,85,29,92,0,1,90,0,0,109,29,4,90,1,92,0,0,109,29,8,92,1,92,32,0,135,0,26,0,92,0,0,0,85,29,0,0,2,90,0,0,32,0,0,128,109,29,8,90,1,92,17,0,109,29,4,92,0,2,0,0,2,3,0,0,172,193,10,0,25,28,2,17,78,92,3,0,83,2,92,0,25,2,2,1,25,3,3,1,54,92,2,28,176,44,0,0,1,90,0,0,107,0,17,90,25,5,6,12,106,90,6,56,34,90,90,2,121,90,40,0,102,1,5,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,92,6,16,0,90,92,0,119,0,2,0,0,90,1,0,32,90,90,17,121,90,23,0,82,3,5,0,121,2,6,0,1,92,17,0,135,90,61,0,3,0,92,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,84,120,90,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,92,0,0,52,90,90,92,72,45,0,0,25,28,6,60,78,90,28,0,39,90,90,1,83,28,90,0,135,90,62,0,5,29,0,0,102,90,29,11,34,90,90,0,121,90,4,0,82,92,29,0,135,90,21,0,92,0,0,0,1,92,42,4,1,94,0,0,1,93,0,0,2,89,0,0,190,193,10,0,2,91,0,0,198,193,10,0,135,90,60,0,92,94,93,89,91,54,0,0,82,6,54,0,1,90,0,0,85,29,90,0,1,91,0,0,109,29,4,91,1,90,0,0,109,29,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,29,0,0,2,91,0,0,32,0,0,128,109,29,8,91,1,90,16,0,109,29,4,90,0,2,0,0,2,3,0,0,206,193,10,0,25,28,2,16,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,20,46,0,0,1,91,0,0,107,0,16,91,25,5,6,12,106,91,6,56,34,91,91,2,121,91,40,0,102,1,5,11,41,91,1,24,42,91,91,24,34,2,91,0,19,91,1,79,0,1,91,0,121,2,4,0,106,90,6,16,0,91,90,0,119,0,2,0,0,91,1,0,32,91,91,16,121,91,23,0,82,3,5,0,121,2,6,0,1,90,16,0,135,91,61,0,3,0,90,0,120,91,17,0,119,0,20,0,19,91,3,79,41,91,91,24,42,91,91,24,33,91,91,82,120,91,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,91,2,0,78,90,0,0,52,91,91,90,172,46,0,0,25,28,6,60,78,91,28,0,39,91,91,1,83,28,91,0,135,91,62,0,5,29,0,0,102,91,29,11,34,91,91,0,121,91,4,0,82,90,29,0,135,91,21,0,90,0,0,0,1,90,43,4,1,89,0,0,1,93,0,0,2,94,0,0,223,193,10,0,2,92,0,0,229,193,10,0,1,87,0,0,135,91,60,0,90,89,93,94,92,87,0,0,1,87,44,4,1,92,20,0,1,94,2,0,2,93,0,0,1,208,10,0,2,89,0,0,145,0,12,0,1,90,0,0,135,91,60,0,87,92,94,93,89,90,0,0,1,90,45,4,1,89,1,0,1,93,8,0,2,94,0,0,245,193,10,0,2,92,0,0,3,194,10,0,135,91,60,0,90,89,93,94,92,54,0,0,82,6,54,0,1,91,0,0,85,29,91,0,1,92,0,0,109,29,4,92,1,91,0,0,109,29,8,91,1,91,32,0,135,0,26,0,91,0,0,0,85,29,0,0,2,92,0,0,32,0,0,128,109,29,8,92,1,91,25,0,109,29,4,91,0,2,0,0,2,3,0,0,14,194,10,0,25,28,2,25,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,208,47,0,0,1,92,0,0,107,0,25,92,25,5,6,12,106,92,6,56,34,92,92,2,121,92,40,0,102,1,5,11,41,92,1,24,42,92,92,24,34,2,92,0,19,92,1,79,0,1,92,0,121,2,4,0,106,91,6,16,0,92,91,0,119,0,2,0,0,92,1,0,32,92,92,25,121,92,23,0,82,3,5,0,121,2,6,0,1,91,25,0,135,92,61,0,3,0,91,0,120,92,17,0,119,0,20,0,19,92,3,79,41,92,92,24,42,92,92,24,33,92,92,83,120,92,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,92,2,0,78,91,0,0,52,92,92,91,104,48,0,0,25,28,6,60,78,92,28,0,39,92,92,1,83,28,92,0,135,92,62,0,5,29,0,0,102,92,29,11,34,92,92,0,121,92,4,0,82,91,29,0,135,92,21,0,91,0,0,0,1,91,46,4,1,94,2,0,1,93,8,0,2,89,0,0,40,194,10,0,2,90,0,0,54,194,10,0,135,92,60,0,91,94,93,89,90,54,0,0,82,6,54,0,1,92,0,0,85,29,92,0,1,90,0,0,109,29,4,90,1,92,0,0,109,29,8,92,1,92,32,0,135,0,26,0,92,0,0,0,85,29,0,0,2,90,0,0,32,0,0,128,109,29,8,90,1,92,25,0,109,29,4,92,0,2,0,0,2,3,0,0,65,194,10,0,25,28,2,25,78,92,3,0,83,2,92,0,25,2,2,1,25,3,3,1,54,92,2,28,52,49,0,0,1,90,0,0,107,0,25,90,25,5,6,12,106,90,6,56,34,90,90,2,121,90,40,0,102,1,5,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,92,6,16,0,90,92,0,119,0,2,0,0,90,1,0,32,90,90,25,121,90,23,0,82,3,5,0,121,2,6,0,1,92,25,0,135,90,61,0,3,0,92,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,76,120,90,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,92,0,0,52,90,90,92,204,49,0,0,25,28,6,60,78,90,28,0,39,90,90,1,83,28,90,0,135,90,62,0,5,29,0,0,102,90,29,11,34,90,90,0,121,90,4,0,82,92,29,0,135,90,21,0,92,0,0,0,135,0,63,0,1,90,0,16,19,90,0,90,121,90,5,0,2,90,0,0,214,102,43,2,1,92,1,0,83,90,92,0,1,92,0,32,19,92,0,92,121,92,5,0,2,92,0,0,215,102,43,2,1,90,1,0,83,92,90,0,78,90,8,0,34,90,90,0,121,90,4,0,82,92,30,0,135,90,21,0,92,0,0,0,78,90,7,0,34,90,90,0,121,90,4,0,82,92,36,0,135,90,21,0,92,0,0,0,78,90,9,0,34,90,90,0,121,90,4,0,82,92,49,0,135,90,21,0,92,0,0,0,78,90,10,0,34,90,90,0,121,90,4,0,82,92,31,0,135,90,21,0,92,0,0,0,78,90,11,0,34,90,90,0,121,90,4,0,82,92,32,0,135,90,21,0,92,0,0,0,2,90,0,0,248,34,69,0,82,7,90,0,25,1,7,72,102,0,1,11,41,90,0,24,42,90,90,24,34,90,90,0,121,90,3,0,106,0,7,76,119,0,3,0,19,90,0,79,0,0,90,0,121,0,137,0,135,90,64,0,33,1,0,0,1,90,0,0,85,54,90,0,1,92,0,0,109,54,4,92,1,90,0,0,109,54,8,90,1,90,0,0,85,53,90,0,1,92,0,0,109,53,4,92,1,90,0,0,109,53,8,90,135,90,4,0,54,0,0,0,135,90,5,0,53,0,0,0,102,0,53,11,41,90,0,24,42,90,90,24,34,1,90,0,121,1,4,0,82,89,53,0,0,92,89,0,119,0,2,0,0,92,53,0,121,1,4,0,106,93,53,4,0,89,93,0,119,0,3,0,19,93,0,79,0,89,93,0,135,90,6,0,54,92,89,0,25,0,54,11,78,89,0,0,34,89,89,0,121,89,4,0,82,89,54,0,0,90,89,0,119,0,2,0,0,90,54,0,2,89,0,0,189,251,11,0,135,1,7,0,90,89,0,0,121,1,31,0,135,89,8,0,1,0,0,0,25,30,33,11,78,30,30,0,41,89,30,24,42,89,89,24,34,30,89,0,82,32,33,0,125,32,30,32,33,0,0,0,78,30,0,0,41,89,30,24,42,89,89,24,34,30,89,0,82,31,54,0,125,31,30,31,54,0,0,0,85,35,31,0,25,31,35,4,1,89,0,0,85,31,89,0,135,89,65,0,32,32,35,0,2,90,0,0,123,194,10,0,135,89,9,0,90,0,0,0,1,90,1,0,135,89,10,0,90,0,0,0,2,90,0,0,248,34,69,0,82,90,90,0,78,93,0,0,34,93,93,0,121,93,4,0,82,93,54,0,0,92,93,0,119,0,2,0,0,92,54,0,1,93,0,0,135,89,11,0,90,92,93,0,121,89,30,0,25,32,33,11,78,32,32,0,41,89,32,24,42,89,89,24,34,32,89,0,82,34,33,0,125,34,32,34,33,0,0,0,78,32,0,0,41,89,32,24,42,89,89,24,34,32,89,0,82,33,54,0,125,33,32,33,54,0,0,0,85,35,33,0,25,33,35,4,1,89,0,0,85,33,89,0,135,89,65,0,34,34,35,0,2,93,0,0,123,194,10,0,135,89,9,0,93,0,0,0,1,93,1,0,135,89,10,0,93,0,0,0,119,0,16,0,78,93,0,0,34,93,93,0,121,93,4,0,82,93,54,0,0,89,93,0,119,0,2,0,0,89,54,0,85,34,89,0,2,93,0,0,91,194,10,0,135,89,12,0,93,34,0,0,1,93,1,0,135,89,10,0,93,0,0,0,25,5,7,96,25,6,5,11,78,0,6,0,41,89,0,24,42,89,89,24,34,89,89,0,121,89,3,0,106,0,7,100,119,0,3,0,19,89,0,79,0,0,89,0,121,0,38,1,1,89,0,0,85,54,89,0,1,93,0,0,109,54,4,93,1,89,0,0,109,54,8,89,1,89,0,0,85,53,89,0,1,93,0,0,109,53,4,93,1,89,0,0,109,53,8,89,1,89,0,0,85,49,89,0,1,93,0,0,109,49,4,93,1,89,0,0,109,49,8,89,25,35,49,11,1,89,6,0,83,35,89,0,2,89,0,0,66,159,11,0,78,89,89,0,83,49,89,0,2,93,0,0,67,159,11,0,78,93,93,0,107,49,1,93,2,89,0,0,68,159,11,0,78,89,89,0,107,49,2,89,2,93,0,0,69,159,11,0,78,93,93,0,107,49,3,93,2,89,0,0,70,159,11,0,78,89,89,0,107,49,4,89,2,93,0,0,71,159,11,0,78,93,93,0,107,49,5,93,1,89,0,0,107,49,6,89,135,0,25,0,7,49,0,0,78,89,35,0,34,89,89,0,121,89,4,0,82,93,49,0,135,89,21,0,93,0,0,0,120,0,8,0,2,93,0,0,190,194,10,0,135,89,9,0,93,0,0,0,1,93,1,0,135,89,10,0,93,0,0,0,82,89,0,0,82,35,89,0,1,89,0,0,85,36,89,0,1,93,0,0,109,36,4,93,1,89,0,0,109,36,8,89,25,1,36,11,1,89,8,0,83,1,89,0,0,34,36,0,2,89,0,0,99,97,112,116,85,34,89,0,2,93,0,0,117,114,101,115,109,34,4,93,1,89,0,0,107,36,8,89,19,93,35,79,135,89,66,0,93,49,0,36,135,89,62,0,53,49,0,0,102,89,49,11,34,89,89,0,121,89,4,0,82,93,49,0,135,89,21,0,93,0,0,0,78,89,1,0,34,89,89,0,121,89,4,0,82,93,36,0,135,89,21,0,93,0,0,0,25,0,53,11,78,36,0,0,25,1,53,4,41,93,36,24,42,93,93,24,34,93,93,0,121,93,4,0,82,93,1,0,0,89,93,0,119,0,3,0,19,93,36,79,0,89,93,0,32,89,89,14,121,89,17,0,1,93,0,0,1,92,255,255,2,90,0,0,175,194,10,0,1,94,14,0,135,89,44,0,53,93,92,90,94,0,0,0,120,89,8,0,2,94,0,0,190,194,10,0,135,89,9,0,94,0,0,0,1,94,1,0,135,89,10,0,94,0,0,0,2,94,0,0,224,27,12,0,135,89,67,0,54,94,0,0,1,94,47,0,135,89,68,0,54,94,0,0,78,2,0,0,41,89,2,24,42,89,89,24,34,3,89,0,121,3,4,0,82,90,53,0,0,94,90,0,119,0,2,0,0,94,53,0,121,3,4,0,82,92,1,0,0,90,92,0,119,0,3,0,19,92,2,79,0,90,92,0,135,89,6,0,54,94,90,0,25,2,54,11,78,94,2,0,34,94,94,0,121,94,4,0,82,94,54,0,0,90,94,0,119,0,2,0,0,90,54,0,135,89,69,0,90,50,0,0,25,3,50,12,82,89,3,0,1,90,0,64,19,89,89,90,121,89,36,0,78,90,6,0,34,90,90,0,121,90,4,0,82,90,5,0,0,89,90,0,119,0,2,0,0,89,5,0,0,36,89,0,78,90,2,0,34,90,90,0,121,90,4,0,82,90,54,0,0,89,90,0,119,0,2,0,0,89,54,0,85,37,89,0,1,90,0,0,109,37,4,90,135,90,65,0,36,36,37,0,78,89,6,0,34,89,89,0,121,89,4,0,82,89,5,0,0,90,89,0,119,0,2,0,0,90,5,0,85,38,90,0,2,89,0,0,215,194,10,0,135,90,12,0,89,38,0,0,1,89,1,0,135,90,10,0,89,0,0,0,2,89,0,0,162,103,43,2,135,90,67,0,54,89,0,0,135,90,4,0,54,0,0,0,78,38,0,0,41,90,38,24,42,90,90,24,34,37,90,0,121,37,4,0,82,94,53,0,0,89,94,0,119,0,2,0,0,89,53,0,121,37,4,0,82,92,1,0,0,94,92,0,119,0,3,0,19,92,38,79,0,94,92,0,135,90,6,0,54,89,94,0,135,90,70,0,54,0,0,0,78,89,2,0,34,89,89,0,121,89,4,0,82,89,54,0,0,94,89,0,119,0,2,0,0,94,54,0,135,90,69,0,94,50,0,0,82,90,3,0,1,94,0,64,19,90,90,94,120,90,17,0,78,94,2,0,34,94,94,0,121,94,4,0,82,94,54,0,0,90,94,0,119,0,2,0,0,90,54,0,85,39,90,0,2,94,0,0,242,194,10,0,135,90,12,0,94,39,0,0,1,94,1,0,135,90,10,0,94,0,0,0,119,0,36,0,78,94,6,0,34,94,94,0,121,94,4,0,82,94,5,0,0,90,94,0,119,0,2,0,0,90,5,0,0,39,90,0,78,94,2,0,34,94,94,0,121,94,4,0,82,94,54,0,0,90,94,0,119,0,2,0,0,90,54,0,85,40,90,0,1,94,0,0,109,40,4,94,135,94,65,0,39,39,40,0,78,90,6,0,34,90,90,0,121,90,4,0,82,90,5,0,0,94,90,0,119,0,2,0,0,94,5,0,85,41,94,0,2,90,0,0,215,194,10,0,135,94,12,0,90,41,0,0,1,90,1,0,135,94,10,0,90,0,0,0,25,5,7,84,25,6,5,11,78,0,6,0,41,94,0,24,42,94,94,24,34,94,94,0,121,94,3,0,106,0,7,88,119,0,3,0,19,94,0,79,0,0,94,0,121,0,182,0,1,94,0,0,85,54,94,0,1,90,0,0,109,54,4,90,1,94,0,0,109,54,8,94,1,94,0,0,85,53,94,0,1,90,0,0,109,53,4,90,1,94,0,0,109,53,8,94,2,90,0,0,26,195,10,0,135,94,67,0,53,90,0,0,2,90,0,0,224,27,12,0,135,94,67,0,54,90,0,0,1,90,47,0,135,94,68,0,54,90,0,0,25,0,53,11,78,2,0,0,41,94,2,24,42,94,94,24,34,3,94,0,25,1,53,4,121,3,4,0,82,89,53,0,0,90,89,0,119,0,2,0,0,90,53,0,121,3,4,0,82,92,1,0,0,89,92,0,119,0,3,0,19,92,2,79,0,89,92,0,135,94,6,0,54,90,89,0,25,2,54,11,78,90,2,0,34,90,90,0,121,90,4,0,82,90,54,0,0,89,90,0,119,0,2,0,0,89,54,0,135,94,69,0,89,50,0,0,25,3,50,12,82,94,3,0,1,89,0,64,19,94,94,89,121,94,36,0,78,89,6,0,34,89,89,0,121,89,4,0,82,89,5,0,0,94,89,0,119,0,2,0,0,94,5,0,0,41,94,0,78,89,2,0,34,89,89,0,121,89,4,0,82,89,54,0,0,94,89,0,119,0,2,0,0,94,54,0,85,42,94,0,1,89,0,0,109,42,4,89,135,89,65,0,41,41,42,0,78,94,6,0,34,94,94,0,121,94,4,0,82,94,5,0,0,89,94,0,119,0,2,0,0,89,5,0,85,43,89,0,2,94,0,0,215,194,10,0,135,89,12,0,94,43,0,0,1,94,1,0,135,89,10,0,94,0,0,0,2,94,0,0,162,103,43,2,135,89,67,0,54,94,0,0,135,89,4,0,54,0,0,0,78,43,0,0,41,89,43,24,42,89,89,24,34,42,89,0,121,42,4,0,82,90,53,0,0,94,90,0,119,0,2,0,0,94,53,0,121,42,4,0,82,92,1,0,0,90,92,0,119,0,3,0,19,92,43,79,0,90,92,0,135,89,6,0,54,94,90,0,135,89,70,0,54,0,0,0,78,94,2,0,34,94,94,0,121,94,4,0,82,94,54,0,0,90,94,0,119,0,2,0,0,90,54,0,135,89,69,0,90,50,0,0,82,89,3,0,1,90,0,64,19,89,89,90,120,89,17,0,78,90,2,0,34,90,90,0,121,90,4,0,82,90,54,0,0,89,90,0,119,0,2,0,0,89,54,0,85,44,89,0,2,90,0,0,31,195,10,0,135,89,12,0,90,44,0,0,1,90,1,0,135,89,10,0,90,0,0,0,119,0,36,0,78,90,6,0,34,90,90,0,121,90,4,0,82,90,5,0,0,89,90,0,119,0,2,0,0,89,5,0,0,44,89,0,78,90,2,0,34,90,90,0,121,90,4,0,82,90,54,0,0,89,90,0,119,0,2,0,0,89,54,0,85,45,89,0,1,90,0,0,109,45,4,90,135,90,65,0,44,44,45,0,78,89,6,0,34,89,89,0,121,89,4,0,82,89,5,0,0,90,89,0,119,0,2,0,0,90,5,0,85,46,90,0,2,89,0,0,215,194,10,0,135,90,12,0,89,46,0,0,1,89,1,0,135,90,10,0,89,0,0,0,25,46,54,4,1,90,0,0,85,46,90,0,1,89,0,0,109,46,4,89,25,46,54,11,1,89,3,0,83,46,89,0,2,89,0,0,87,214,10,0,78,89,89,0,83,54,89,0,2,90,0,0,88,214,10,0,78,90,90,0,107,54,1,90,2,89,0,0,89,214,10,0,78,89,89,0,107,54,2,89,1,90,0,0,107,54,3,90,135,0,25,0,7,54,0,0,78,90,46,0,34,90,90,0,121,90,4,0,82,89,54,0,135,90,21,0,89,0,0,0,2,90,0,0,248,34,69,0,82,90,90,0,1,89,154,0,90,90,90,89,120,90,27,0,25,1,54,11,1,90,10,0,83,1,90,0,0,2,54,0,2,3,0,0,254,164,10,0,25,28,2,10,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,160,61,0,0,1,89,0,0,107,54,10,89,135,0,27,0,0,54,0,0,78,89,1,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,121,0,4,0,1,55,131,1,119,0,2,0,1,55,131,1,1,89,131,1,45,89,55,89,48,62,0,0,1,89,21,0,85,47,89,0,1,90,0,0,109,47,4,90,2,89,0,0,72,195,10,0,135,90,18,0,47,89,48,0,2,90,0,0,28,153,60,0,78,90,90,0,120,90,2,0,135,90,71,0,1,90,0,0,85,54,90,0,1,89,0,0,109,54,4,89,1,90,0,0,109,54,8,90,25,48,54,11,1,90,8,0,83,48,90,0,0,3,54,0,2,90,0,0,77,97,105,110,85,3,90,0,2,89,0,0,77,101,110,117,109,3,4,89,1,90,0,0,107,54,8,90,1,90,1,0,135,3,72,0,80,90,54,0,78,90,48,0,34,90,90,0,121,90,4,0,82,89,54,0,135,90,21,0,89,0,0,0,1,90,0,0,85,54,90,0,1,89,0,0,109,54,4,89,1,90,0,0,109,54,8,90,25,5,54,11,1,90,4,0,83,5,90,0,2,90,0,0,77,97,105,110,85,54,90,0,1,89,0,0,107,54,4,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,4,121,89,24,0,82,2,6,0,121,1,6,0,1,90,4,0,135,89,61,0,2,54,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,77,120,89,12,0,0,2,6,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,80,63,0,0,25,48,3,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,6,54,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,54,0,0,109,54,8,83,1,90,11,0,109,54,4,90,0,2,0,0,2,3,0,0,129,221,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,232,63,0,0,1,89,0,0,107,0,11,89,1,89,1,0,135,3,72,0,80,89,54,0,102,89,54,11,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,25,5,54,11,1,89,8,0,83,5,89,0,0,6,54,0,2,89,0,0,83,101,110,100,85,6,89,0,2,90,0,0,32,75,101,121,109,6,4,90,1,89,0,0,107,54,8,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,8,121,89,24,0,82,2,6,0,121,1,6,0,1,90,8,0,135,89,61,0,2,54,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,83,120,89,12,0,0,2,6,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,240,64,0,0,25,48,3,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,6,54,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,90,0,0,109,54,8,90,25,48,54,11,1,90,7,0,83,48,90,0,2,90,0,0,141,221,10,0,78,90,90,0,83,54,90,0,2,89,0,0,142,221,10,0,78,89,89,0,107,54,1,89,2,90,0,0,143,221,10,0,78,90,90,0,107,54,2,90,2,89,0,0,144,221,10,0,78,89,89,0,107,54,3,89,2,90,0,0,145,221,10,0,78,90,90,0,107,54,4,90,2,89,0,0,146,221,10,0,78,89,89,0,107,54,5,89,2,90,0,0,147,221,10,0,78,90,90,0,107,54,6,90,1,89,0,0,107,54,7,89,1,89,1,0,135,3,72,0,80,89,54,0,78,89,48,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,25,5,54,4,1,89,0,0,85,5,89,0,1,90,0,0,109,5,4,90,25,5,54,11,1,90,3,0,83,5,90,0,2,90,0,0,117,195,10,0,78,90,90,0,83,54,90,0,2,89,0,0,118,195,10,0,78,89,89,0,107,54,1,89,2,90,0,0,119,195,10,0,78,90,90,0,107,54,2,90,1,89,0,0,107,54,3,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,3,121,89,28,0,82,2,6,0,121,1,6,0,1,90,3,0,135,89,61,0,2,54,90,0,120,89,22,0,119,0,25,0,82,89,54,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,252,66,0,0,0,2,6,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,216,66,0,0,25,48,3,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,6,54,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,54,0,0,109,54,8,83,1,90,11,0,109,54,4,90,0,2,0,0,2,3,0,0,149,221,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,112,67,0,0,1,89,0,0,107,0,11,89,1,89,1,0,135,3,72,0,80,89,54,0,102,89,54,11,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,25,5,54,11,1,89,8,0,83,5,89,0,0,6,54,0,2,89,0,0,67,80,85,32,85,6,89,0,2,90,0,0,99,111,114,101,109,6,4,90,1,89,0,0,107,54,8,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,8,121,89,24,0,82,2,6,0,121,1,6,0,1,90,8,0,135,89,61,0,2,54,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,67,120,89,12,0,0,2,6,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,120,68,0,0,25,48,3,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,6,54,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,54,0,0,109,54,8,83,1,90,11,0,109,54,4,90,0,2,0,0,2,3,0,0,161,221,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,16,69,0,0,1,89,0,0,107,0,11,89,1,89,1,0,135,3,72,0,80,89,54,0,102,89,54,11,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,25,5,54,11,1,89,8,0,83,5,89,0,0,6,54,0,2,89,0,0,67,80,85,32,85,6,89,0,2,90,0,0,116,121,112,101,109,6,4,90,1,89,0,0,107,54,8,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,8,121,89,24,0,82,2,6,0,121,1,6,0,1,90,8,0,135,89,61,0,2,54,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,67,120,89,12,0,0,2,6,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,24,70,0,0,25,48,3,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,6,54,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,25,0,54,11,1,89,9,0,83,0,89,0,0,2,54,0,2,3,0,0,173,221,10,0,25,28,2,9,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,160,70,0,0,1,90,0,0,107,54,9,90,1,90,1,0,135,6,72,0,80,90,54,0,78,90,0,0,34,90,90,0,121,90,4,0,82,89,54,0,135,90,21,0,89,0,0,0,1,90,0,0,85,54,90,0,1,89,0,0,109,54,4,89,1,90,0,0,109,54,8,90,25,3,54,11,1,90,5,0,83,3,90,0,2,90,0,0,121,195,10,0,78,90,90,0,83,54,90,0,2,89,0,0,122,195,10,0,78,89,89,0,107,54,1,89,2,90,0,0,123,195,10,0,78,90,90,0,107,54,2,90,2,89,0,0,124,195,10,0,78,89,89,0,107,54,3,89,2,90,0,0,125,195,10,0,78,90,90,0,107,54,4,90,1,89,0,0,107,54,5,89,25,5,6,12,106,89,6,56,34,89,89,2,121,89,45,0,102,0,5,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,6,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,5,121,89,28,0,82,2,5,0,121,1,6,0,1,90,5,0,135,89,61,0,2,54,90,0,120,89,22,0,119,0,25,0,82,89,54,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,16,72,0,0,0,2,5,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,236,71,0,0,25,48,6,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,5,54,0,0,78,89,3,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,54,0,0,2,90,0,0,32,0,0,128,109,54,8,90,1,89,18,0,109,54,4,89,0,2,0,0,2,3,0,0,183,221,10,0,25,28,2,18,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,140,72,0,0,1,90,0,0,107,0,18,90,1,90,1,0,135,5,72,0,80,90,54,0,102,90,54,11,34,90,90,0,121,90,4,0,82,89,54,0,135,90,21,0,89,0,0,0,1,90,0,0,85,54,90,0,1,89,0,0,109,54,4,89,1,90,0,0,109,54,8,90,25,6,54,11,1,90,9,0,83,6,90,0,0,2,54,0,2,3,0,0,127,195,10,0,25,28,2,9,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,4,73,0,0,1,89,0,0,107,54,9,89,25,3,5,12,106,89,5,56,34,89,89,2,121,89,45,0,102,0,3,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,9,121,89,28,0,82,2,3,0,121,1,6,0,1,90,9,0,135,89,61,0,2,54,90,0,120,89,22,0,119,0,25,0,82,89,54,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,212,73,0,0,0,2,3,0,0,1,54,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,176,73,0,0,25,48,5,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,3,54,0,0,78,89,6,0,34,89,89,0,121,89,4,0,82,90,54,0,135,89,21,0,90,0,0,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,54,0,0,109,54,8,83,1,90,11,0,109,54,4,90,0,2,0,0,2,3,0,0,214,223,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,72,74,0,0,1,89,0,0,107,0,11,89,1,89,0,0,135,3,72,0,80,89,54,0,25,5,53,4,1,89,0,0,85,5,89,0,1,90,0,0,109,5,4,90,25,5,53,11,1,90,3,0,83,5,90,0,2,90,0,0,137,195,10,0,78,90,90,0,83,53,90,0,2,89,0,0,138,195,10,0,78,89,89,0,107,53,1,89,2,90,0,0,139,195,10,0,78,90,90,0,107,53,2,90,1,89,0,0,107,53,3,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,3,121,89,28,0,82,2,6,0,121,1,6,0,1,90,3,0,135,89,61,0,2,53,90,0,120,89,22,0,119,0,25,0,82,89,53,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,124,75,0,0,0,2,6,0,0,1,53,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,88,75,0,0,25,48,3,60,78,89,48,0,39,89,89,1,83,48,89,0,135,89,62,0,6,53,0,0,1,90,168,0,109,3,64,90,78,90,5,0,34,90,90,0,121,90,4,0,82,89,53,0,135,90,21,0,89,0,0,0,102,90,54,11,34,90,90,0,121,90,4,0,82,89,54,0,135,90,21,0,89,0,0,0,25,11,50,11,25,12,50,8,25,13,50,4,25,14,49,11,25,15,49,4,25,16,49,8,1,10,1,0,85,51,10,0,2,89,0,0,75,215,10,0,135,90,73,0,54,89,51,0,85,52,10,0,2,89,0,0,141,195,10,0,135,90,73,0,53,89,52,0,1,90,0,0,85,50,90,0,1,89,0,0,109,50,4,89,1,90,0,0,109,50,8,90,135,1,41,0,54,0,0,0,1,90,239,255,48,90,90,1,68,76,0,0,1,55,240,1,119,0,164,0,35,90,1,11,121,90,8,0,83,11,1,0,120,1,3,0,0,0,50,0,119,0,16,0,0,0,50,0,1,55,244,1,119,0,13,0,25,90,1,16,38,90,90,240,0,55,90,0,135,0,26,0,55,0,0,0,85,50,0,0,2,90,0,0,0,0,0,128,20,90,55,90,85,12,90,0,85,13,1,0,1,55,244,1,1,90,244,1,45,90,55,90,176,76,0,0,1,55,0,0,135,90,43,0,0,54,1,0,1,89,0,0,95,0,1,89,1,89,0,0,135,9,72,0,80,89,50,0,1,89,0,0,85,49,89,0,1,90,0,0,109,49,4,90,1,89,0,0,109,49,8,89,135,1,41,0,53,0,0,0,1,89,239,255,48,89,89,1,248,76,0,0,1,55,246,1,119,0,119,0,35,89,1,11,121,89,8,0,83,14,1,0,120,1,3,0,0,0,49,0,119,0,16,0,0,0,49,0,1,55,250,1,119,0,13,0,25,89,1,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,49,0,0,2,89,0,0,0,0,0,128,20,89,55,89,85,16,89,0,85,15,1,0,1,55,250,1,1,89,250,1,45,89,55,89,100,77,0,0,1,55,0,0,135,89,43,0,0,53,1,0,1,90,0,0,95,0,1,90,25,8,9,12,106,90,9,56,34,90,90,2,121,90,63,0,102,1,8,11,41,90,1,24,42,90,90,24,34,5,90,0,19,90,1,79,0,1,90,0,121,5,4,0,106,89,9,16,0,90,89,0,119,0,2,0,0,90,1,0,0,6,90,0,78,48,14,0,41,90,48,24,42,90,90,24,34,0,90,0,121,0,4,0,82,89,15,0,0,90,89,0,119,0,3,0,19,89,48,79,0,90,89,0,45,90,6,90,100,78,0,0,82,3,8,0,125,7,5,3,8,0,0,0,121,0,4,0,82,89,49,0,0,90,89,0,119,0,2,0,0,90,49,0,0,0,90,0,32,2,6,0,19,90,3,79,0,3,90,0,121,5,6,0,120,2,25,0,135,90,61,0,7,0,6,0,120,90,18,0,119,0,21,0,120,2,20,0,78,90,0,0,41,89,3,24,42,89,89,24,53,90,90,89,100,78,0,0,0,2,8,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,64,78,0,0,25,48,9,60,78,90,48,0,39,90,90,1,83,48,90,0,135,90,62,0,8,49,0,0,1,89,168,0,109,9,64,89,78,89,14,0,34,89,89,0,121,89,4,0,82,90,49,0,135,89,21,0,90,0,0,0,78,89,11,0,34,89,89,0,121,89,4,0,82,90,50,0,135,89,21,0,90,0,0,0,25,10,10,1,1,89,11,0,50,89,89,10,204,78,0,0,1,55,238,1,119,0,2,0,119,0,71,255,1,89,238,1,45,89,55,89,236,201,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,15,0,109,52,4,90,0,2,0,0,2,3,0,0,202,221,10,0,25,28,2,15,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,32,79,0,0,1,89,0,0,107,0,15,89,1,89,1,0,135,3,72,0,80,89,52,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,25,5,52,11,1,89,6,0,83,5,89,0,2,89,0,0,150,195,10,0,78,89,89,0,83,52,89,0,2,90,0,0,151,195,10,0,78,90,90,0,107,52,1,90,2,89,0,0,152,195,10,0,78,89,89,0,107,52,2,89,2,90,0,0,153,195,10,0,78,90,90,0,107,52,3,90,2,89,0,0,154,195,10,0,78,89,89,0,107,52,4,89,2,90,0,0,155,195,10,0,78,90,90,0,107,52,5,90,1,89,0,0,107,52,6,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,45,0],eb+10240);HEAPU8.set([102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,6,121,89,28,0,82,2,6,0,121,1,6,0,1,90,6,0,135,89,61,0,2,52,90,0,120,89,22,0,119,0,25,0,82,89,52,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,160,80,0,0,0,2,6,0,0,1,52,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,124,80,0,0,25,50,3,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,6,52,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,13,0,109,52,4,90,0,2,0,0,2,3,0,0,106,224,10,0,25,28,2,13,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,20,81,0,0,1,89,0,0,107,0,13,89,1,89,0,0,135,6,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,51,0,0,109,51,8,83,1,90,12,0,109,51,4,90,0,2,0,0,2,3,0,0,157,195,10,0,25,28,2,12,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,132,81,0,0,1,89,0,0,107,0,12,89,25,5,6,12,106,89,6,56,34,89,89,2,121,89,40,0,102,1,5,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,6,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,12,121,89,23,0,82,3,5,0,121,2,6,0,1,90,12,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,70,120,89,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,28,82,0,0,25,50,6,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,5,51,0,0,1,90,169,0,109,6,64,90,102,90,51,11,34,90,90,0,121,90,4,0,82,89,51,0,135,90,21,0,89,0,0,0,102,90,52,11,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,2,90,0,0,114,85,11,0,121,90,182,0,25,11,51,8,25,12,51,4,25,13,51,11,25,14,51,11,25,15,51,4,25,16,51,8,25,17,52,11,1,10,0,0,2,1,0,0,114,85,11,0,1,90,0,0,85,51,90,0,1,89,0,0,109,51,4,89,1,90,0,0,109,51,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,51,0,0,85,11,83,0,1,90,11,0,85,12,90,0,0,2,0,0,2,3,0,0,234,221,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,8,83,0,0,1,89,0,0,107,0,11,89,135,89,74,0,52,51,1,0,78,89,13,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,1,89,0,0,135,9,72,0,80,89,52,0,2,89,0,0,64,227,3,0,41,90,10,3,3,89,89,90,106,1,89,4,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,135,2,41,0,1,0,0,0,1,89,239,255,55,89,89,2,104,85,0,0,35,89,2,11,121,89,8,0,83,14,2,0,120,2,3,0,0,0,51,0,119,0,16,0,0,0,51,0,1,55,46,2,119,0,13,0,25,89,2,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,51,0,0,2,89,0,0,0,0,0,128,20,89,55,89,85,16,89,0,85,15,2,0,1,55,46,2,45,89,55,84,252,83,0,0,1,55,0,0,135,89,43,0,0,1,2,0,1,90,0,0,95,0,2,90,25,8,9,12,106,90,9,56,34,90,90,2,121,90,63,0,102,1,8,11,41,90,1,24,42,90,90,24,34,5,90,0,19,90,1,79,0,1,90,0,121,5,4,0,106,89,9,16,0,90,89,0,119,0,2,0,0,90,1,0,0,6,90,0,78,50,14,0,41,90,50,24,42,90,90,24,34,0,90,0,121,0,4,0,82,89,15,0,0,90,89,0,119,0,3,0,19,89,50,79,0,90,89,0,45,90,6,90,252,84,0,0,82,3,8,0,125,7,5,3,8,0,0,0,121,0,4,0,82,89,51,0,0,90,89,0,119,0,2,0,0,90,51,0,0,0,90,0,32,2,6,0,19,90,3,79,0,3,90,0,121,5,6,0,120,2,25,0,135,90,61,0,7,0,6,0,120,90,18,0,119,0,21,0,120,2,20,0,78,90,0,0,41,89,3,24,42,89,89,24,53,90,90,89,252,84,0,0,0,2,8,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,216,84,0,0,25,50,9,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,8,51,0,0,1,89,170,0,109,9,64,89,78,89,14,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,78,89,17,0,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,25,10,10,1,2,89,0,0,64,227,3,0,41,90,10,3,94,1,89,90,120,1,89,255,119,0,3,0,135,89,42,0,51,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,15,0,109,52,4,90,0,2,0,0,2,3,0,0,23,222,10,0,25,28,2,15,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,180,85,0,0,1,89,0,0,107,0,15,89,1,89,1,0,135,6,72,0,80,89,52,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,13,0,109,52,4,90,0,2,0,0,2,3,0,0,170,195,10,0,25,28,2,13,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,60,86,0,0,1,89,0,0,107,0,13,89,25,5,6,12,106,89,6,56,34,89,89,2,121,89,40,0,102,1,5,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,6,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,13,121,89,23,0,82,3,5,0,121,2,6,0,1,90,13,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,67,120,89,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,212,86,0,0,25,50,6,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,5,52,0,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,13,0,109,52,4,90,0,2,0,0,2,3,0,0,52,223,10,0,25,28,2,13,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,108,87,0,0,1,89,0,0,107,0,13,89,1,89,0,0,135,6,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,51,0,0,2,90,0,0,32,0,0,128,109,51,8,90,1,89,28,0,109,51,4,89,0,2,0,0,2,3,0,0,184,195,10,0,25,28,2,28,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,228,87,0,0,1,90,0,0,107,0,28,90,25,5,6,12,106,90,6,56,34,90,90,2,121,90,40,0,102,1,5,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,6,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,28,121,90,23,0,82,3,5,0,121,2,6,0,1,89,28,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,65,120,90,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,124,88,0,0,25,50,6,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,5,51,0,0,1,89,171,0,109,6,64,89,102,89,51,11,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,25,5,52,11,1,89,10,0,83,5,89,0,0,2,52,0,2,3,0,0,66,223,10,0,25,28,2,10,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,12,89,0,0,1,90,0,0,107,52,10,90,1,90,0,0,135,6,72,0,80,90,52,0,25,7,51,11,1,90,10,0,83,7,90,0,0,2,51,0,2,3,0,0,213,195,10,0,25,28,2,10,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,84,89,0,0,1,89,0,0,107,51,10,89,25,3,6,12,106,89,6,56,34,89,89,2,121,89,45,0,102,0,3,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,6,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,10,121,89,28,0,82,2,3,0,121,1,6,0,1,90,10,0,135,89,61,0,2,51,90,0,120,89,22,0,119,0,25,0,82,89,51,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,36,90,0,0,0,2,3,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,0,90,0,0,25,50,6,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,3,51,0,0,1,90,172,0,109,6,64,90,78,90,7,0,34,90,90,0,121,90,4,0,82,89,51,0,135,90,21,0,89,0,0,0,78,90,5,0,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,52,0,0,109,52,8,83,1,89,15,0,109,52,4,89,0,2,0,0,2,3,0,0,218,221,10,0,25,28,2,15,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,184,90,0,0,1,90,0,0,107,0,15,90,1,90,1,0,135,3,72,0,80,90,52,0,102,90,52,11,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,25,5,52,11,1,90,6,0,83,5,90,0,2,90,0,0,224,195,10,0,78,90,90,0,83,52,90,0,2,89,0,0,225,195,10,0,78,89,89,0,107,52,1,89,2,90,0,0,226,195,10,0,78,90,90,0,107,52,2,90,2,89,0,0,227,195,10,0,78,89,89,0,107,52,3,89,2,90,0,0,228,195,10,0,78,90,90,0,107,52,4,90,2,89,0,0,229,195,10,0,78,89,89,0,107,52,5,89,1,90,0,0,107,52,6,90,25,6,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,6,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,6,121,90,28,0,82,2,6,0,121,1,6,0,1,89,6,0,135,90,61,0,2,52,89,0,120,90,22,0,119,0,25,0,82,90,52,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,56,92,0,0,0,2,6,0,0,1,52,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,20,92,0,0,25,50,3,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,6,52,0,0,78,90,5,0,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,52,0,0,109,52,8,83,1,89,14,0,109,52,4,89,0,2,0,0,2,3,0,0,199,223,10,0,25,28,2,14,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,172,92,0,0,1,90,0,0,107,0,14,90,1,90,0,0,135,3,72,0,80,90,52,0,1,89,0,0,109,51,8,89,25,5,51,11,1,89,7,0,83,5,89,0,2,89,0,0,231,195,10,0,78,89,89,0,83,51,89,0,2,90,0,0,232,195,10,0,78,90,90,0,107,51,1,90,2,89,0,0,233,195,10,0,78,89,89,0,107,51,2,89,2,90,0,0,234,195,10,0,78,90,90,0,107,51,3,90,2,89,0,0,235,195,10,0,78,89,89,0,107,51,4,89,2,90,0,0,236,195,10,0,78,90,90,0,107,51,5,90,2,89,0,0,237,195,10,0,78,89,89,0,107,51,6,89,1,90,0,0,107,51,7,90,25,6,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,6,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,7,121,90,28,0,82,2,6,0,121,1,6,0,1,89,7,0,135,90,61,0,2,51,89,0,120,90,22,0,119,0,25,0,82,90,51,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,20,94,0,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,240,93,0,0,25,50,3,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,6,51,0,0,1,89,173,0,109,3,64,89,78,89,5,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,15,0,109,52,4,90,0,2,0,0,2,3,0,0,64,188,10,0,25,28,2,15,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,168,94,0,0,1,89,0,0,107,0,15,89,1,89,0,0,135,3,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,25,5,51,11,1,89,8,0,83,5,89,0,0,6,51,0,2,89,0,0,68,105,114,101,85,6,89,0,2,90,0,0,99,116,51,68,109,6,4,90,1,89,0,0,107,51,8,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,8,121,89,24,0,82,2,6,0,121,1,6,0,1,90,8,0,135,89,61,0,2,51,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,68,120,89,12,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,152,95,0,0,25,50,3,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,6,51,0,0,1,90,173,0,109,3,64,90,78,90,5,0,34,90,90,0,121,90,4,0,82,89,51,0,135,90,21,0,89,0,0,0,102,90,52,11,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,52,0,0,109,52,8,83,1,89,13,0,109,52,4,89,0,2,0,0,2,3,0,0,239,195,10,0,25,28,2,13,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,80,96,0,0,1,90,0,0,107,0,13,90,1,90,0,0,135,3,72,0,80,90,52,0,1,90,0,0,85,51,90,0,1,89,0,0,109,51,4,89,1,90,0,0,109,51,8,90,25,5,51,11,1,90,6,0,83,5,90,0,2,90,0,0,253,195,10,0,78,90,90,0,83,51,90,0,2,89,0,0,254,195,10,0,78,89,89,0,107,51,1,89,2,90,0,0,255,195,10,0,78,90,90,0,107,51,2,90,2,89,0,0,0,196,10,0,78,89,89,0,107,51,3,89,2,90,0,0,1,196,10,0,78,90,90,0,107,51,4,90,2,89,0,0,2,196,10,0,78,89,89,0,107,51,5,89,1,90,0,0,107,51,6,90,25,6,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,6,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,6,121,90,28,0,82,2,6,0,121,1,6,0,1,89,6,0,135,90,61,0,2,51,89,0,120,90,22,0,119,0,25,0,82,90,51,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,184,97,0,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,148,97,0,0,25,50,3,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,6,51,0,0,1,89,173,0,109,3,64,89,78,89,5,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,15,0,109,52,4,90,0,2,0,0,2,3,0,0,4,196,10,0,25,28,2,15,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,76,98,0,0,1,89,0,0,107,0,15,89,1,89,0,0,135,5,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,25,6,51,11,1,89,9,0,83,6,89,0,0,2,51,0,2,3,0,0,20,196,10,0,25,28,2,9,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,172,98,0,0,1,90,0,0,107,51,9,90,25,3,5,12,106,90,5,56,34,90,90,2,121,90,45,0,102,0,3,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,9,121,90,28,0,82,2,3,0,121,1,6,0,1,89,9,0,135,90,61,0,2,51,89,0,120,90,22,0,119,0,25,0,82,90,51,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,124,99,0,0,0,2,3,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,88,99,0,0,25,50,5,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,3,51,0,0,1,89,173,0,109,5,64,89,78,89,6,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,14,0,109,52,4,90,0,2,0,0,2,3,0,0,246,221,10,0,25,28,2,14,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,16,100,0,0,1,89,0,0,107,0,14,89,1,89,1,0,135,3,72,0,80,89,52,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,25,5,52,11,1,89,6,0,83,5,89,0,2,89,0,0,30,196,10,0,78,89,89,0,83,52,89,0,2,90,0,0,31,196,10,0,78,90,90,0,107,52,1,90,2,89,0,0,32,196,10,0,78,89,89,0,107,52,2,89,2,90,0,0,33,196,10,0,78,90,90,0,107,52,3,90,2,89,0,0,34,196,10,0,78,89,89,0,107,52,4,89,2,90,0,0,35,196,10,0,78,90,90,0,107,52,5,90,1,89,0,0,107,52,6,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,6,121,89,28,0,82,2,6,0,121,1,6,0,1,90,6,0,135,89,61,0,2,52,90,0,120,89,22,0,119,0,25,0,82,89,52,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,144,101,0,0,0,2,6,0,0,1,52,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,108,101,0,0,25,50,3,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,6,52,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,25,3,52,11,1,89,8,0,83,3,89,0,0,5,52,0,2,89,0,0,118,115,121,110,85,5,89,0,2,90,0,0,99,95,111,110,109,5,4,90,1,89,0,0,107,52,8,89,1,89,0,0,135,5,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,25,6,51,11,1,89,2,0,83,6,89,0,1,89,79,110,84,51,89,0,1,90,0,0,107,51,2,90,25,7,5,12,106,90,5,56,34,90,90,2,121,90,45,0,102,0,7,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,2,121,90,28,0,82,2,7,0,121,1,6,0,1,89,2,0,135,90,61,0,2,51,89,0,120,90,22,0,119,0,25,0,82,90,51,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,248,102,0,0,0,2,7,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,212,102,0,0,25,50,5,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,7,51,0,0,1,89,174,0,109,5,64,89,78,89,6,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,78,89,3,0,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,52,0,0,109,52,8,83,1,90,11,0,109,52,4,90,0,2,0,0,2,3,0,0,5,57,11,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,140,103,0,0,1,89,0,0,107,0,11,89,1,89,0,0,135,3,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,25,5,51,11,1,89,5,0,83,5,89,0,2,89,0,0,37,196,10,0,78,89,89,0,83,51,89,0,2,90,0,0,38,196,10,0,78,90,90,0,107,51,1,90,2,89,0,0,39,196,10,0,78,89,89,0,107,51,2,89,2,90,0,0,40,196,10,0,78,90,90,0,107,51,3,90,2,89,0,0,41,196,10,0,78,89,89,0,107,51,4,89,1,90,0,0,107,51,5,90,25,6,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,6,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,5,121,90,28,0,82,2,6,0,121,1,6,0,1,89,5,0,135,90,61,0,2,51,89,0,120,90,22,0,119,0,25,0,82,90,51,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,228,104,0,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,192,104,0,0,25,50,3,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,6,51,0,0,1,89,174,0,109,3,64,89,78,89,5,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,25,7,52,11,1,89,10,0,83,7,89,0,0,2,52,0,2,3,0,0,17,57,11,0,25,28,2,10,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,80,105,0,0,1,90,0,0,107,52,10,90,1,90,0,0,135,3,72,0,80,90,52,0,1,90,0,0,85,51,90,0,1,89,0,0,109,51,4,89,1,90,0,0,109,51,8,90,25,5,51,11,1,90,4,0,83,5,90,0,2,90,0,0,72,111,115,116,85,51,90,0,1,89,0,0,107,51,4,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,4,121,89,24,0,82,2,6,0,121,1,6,0,1,90,4,0,135,89,61,0,2,51,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,72,120,89,12,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,48,106,0,0,25,50,3,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,6,51,0,0,1,90,174,0,109,3,64,90,78,90,5,0,34,90,90,0,121,90,4,0,82,89,51,0,135,90,21,0,89,0,0,0,78,90,7,0,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,25,7,52,11,1,90,9,0,83,7,90,0,0,2,52,0,2,3,0,0,251,56,11,0,25,28,2,9,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,216,106,0,0,1,89,0,0,107,52,9,89,1,89,0,0,135,3,72,0,80,89,52,0,25,5,51,4,1,89,0,0,85,5,89,0,1,90,0,0,109,5,4,90,25,5,51,11,1,90,3,0,83,5,90,0,2,90,0,0,137,195,10,0,78,90,90,0,83,51,90,0,2,89,0,0,138,195,10,0,78,89,89,0,107,51,1,89,2,90,0,0,139,195,10,0,78,90,90,0,107,51,2,90,1,89,0,0,107,51,3,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,3,121,89,28,0,82,2,6,0,121,1,6,0,1,90,3,0,135,89,61,0,2,51,90,0,120,89,22,0,119,0,25,0,82,89,51,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,12,108,0,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,232,107,0,0,25,50,3,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,6,51,0,0,1,90,174,0,109,3,64,90,78,90,5,0,34,90,90,0,121,90,4,0,82,89,51,0,135,90,21,0,89,0,0,0,78,90,7,0,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,52,0,0,2,89,0,0,32,0,0,128,109,52,8,89,1,90,18,0,109,52,4,90,0,2,0,0,2,3,0,0,43,196,10,0,25,28,2,18,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,168,108,0,0,1,89,0,0,107,0,18,89,1,89,0,0,135,6,72,0,80,89,52,0,1,89,0,0,85,51,89,0,1,90,0,0,109,51,4,90,1,89,0,0,109,51,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,51,0,0,109,51,8,83,1,90,12,0,109,51,4,90,0,2,0,0,2,3,0,0,62,196,10,0,25,28,2,12,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,24,109,0,0,1,89,0,0,107,0,12,89,25,5,6,12,106,89,6,56,34,89,89,2,121,89,40,0,102,1,5,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,6,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,12,121,89,23,0,82,3,5,0,121,2,6,0,1,90,12,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,83,120,89,11,0,0,2,5,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,176,109,0,0,25,50,6,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,5,51,0,0,1,90,175,0,109,6,64,90,102,90,51,11,34,90,90,0,121,90,4,0,82,89,51,0,135,90,21,0,89,0,0,0,102,90,52,11,34,90,90,0,121,90,4,0,82,89,52,0,135,90,21,0,89,0,0,0,1,90,0,0,85,52,90,0,1,89,0,0,109,52,4,89,1,90,0,0,109,52,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,52,0,0,2,89,0,0,32,0,0,128,109,52,8,89,1,90,17,0,109,52,4,90,0,2,0,0,2,3,0,0,5,222,10,0,25,28,2,17,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,112,110,0,0,1,89,0,0,107,0,17,89,1,89,1,0,135,3,72,0,80,89,52,0,102,89,52,11,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,1,89,0,0,85,52,89,0,1,90,0,0,109,52,4,90,1,89,0,0,109,52,8,89,25,5,52,11,1,89,8,0,83,5,89,0,0,6,52,0,2,89,0,0,79,118,101,114,85,6,89,0,2,90,0,0,115,99,97,110,109,6,4,90,1,89,0,0,107,52,8,89,25,6,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,6,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,8,121,89,24,0,82,2,6,0,121,1,6,0,1,90,8,0,135,89,61,0,2,52,90,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,79,120,89,12,0,0,2,6,0,0,1,52,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,120,111,0,0,25,50,3,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,6,52,0,0,78,89,5,0,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,25,7,52,11,1,89,10,0,83,7,89,0,0,2,52,0,2,3,0,0,77,223,10,0,25,28,2,10,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,232,111,0,0,1,90,0,0,107,52,10,90,1,90,0,0,135,3,72,0,80,90,52,0,25,5,51,4,1,90,0,0,85,5,90,0,1,89,0,0,109,5,4,89,25,5,51,11,1,89,3,0,83,5,89,0,2,89,0,0,137,195,10,0,78,89,89,0,83,51,89,0,2,90,0,0,138,195,10,0,78,90,90,0,107,51,1,90,2,89,0,0,139,195,10,0,78,89,89,0,107,51,2,89,1,90,0,0,107,51,3,90,25,6,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,6,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,3,121,90,28,0,82,2,6,0,121,1,6,0,1,89,3,0,135,90,61,0,2,51,89,0,120,90,22,0,119,0,25,0,82,90,51,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,28,113,0,0,0,2,6,0,0,1,51,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,248,112,0,0,25,50,3,60,78,90,50,0,39,90,90,1,83,50,90,0,135,90,62,0,6,51,0,0,1,89,176,0,109,3,64,89,78,89,5,0,34,89,89,0,121,89,4,0,82,90,51,0,135,89,21,0,90,0,0,0,78,89,7,0,34,89,89,0,121,89,4,0,82,90,52,0,135,89,21,0,90,0,0,0,25,11,54,11,25,12,54,8,25,13,54,4,25,14,53,11,25,15,53,4,25,16,53,8,1,10,1,0,85,67,10,0,2,90,0,0,13,164,10,0,135,89,73,0,52,90,67,0,85,70,10,0,2,90,0,0,75,196,10,0,135,89,73,0,51,90,70,0,1,89,0,0,85,54,89,0,1,90,0,0,109,54,4,90,1,89,0,0,109,54,8,89,135,1,41,0,52,0,0,0,1,89,239,255,48,89,89,1,228,113,0,0,1,55,17,3,119,0,164,0,35,89,1,11,121,89,8,0,83,11,1,0,120,1,3,0,0,0,54,0,119,0,16,0,0,0,54,0,1,55,21,3,119,0,13,0,25,89,1,16,38,89,89,240,0,55,89,0,135,0,26,0,55,0,0,0,85,54,0,0,2,89,0,0,0,0,0,128,20,89,55,89,85,12,89,0,85,13,1,0,1,55,21,3,1,89,21,3,45,89,55,89,80,114,0,0,1,55,0,0,135,89,43,0,0,52,1,0,1,90,0,0,95,0,1,90,1,90,0,0,135,9,72,0,80,90,54,0,1,90,0,0,85,53,90,0,1,89,0,0,109,53,4,89,1,90,0,0,109,53,8,90,135,1,41,0,51,0,0,0,1,90,239,255,48,90,90,1,152,114,0,0,1,55,23,3,119,0,119,0,35,90,1,11,121,90,8,0,83,14,1,0,120,1,3,0,0,0,53,0,119,0,16,0,0,0,53,0,1,55,27,3,119,0,13,0,25,90,1,16,38,90,90,240,0,55,90,0,135,0,26,0,55,0,0,0,85,53,0,0,2,90,0,0,0,0,0,128,20,90,55,90,85,16,90,0,85,15,1,0,1,55,27,3,1,90,27,3,45,90,55,90,4,115,0,0,1,55,0,0,135,90,43,0,0,51,1,0,1,89,0,0,95,0,1,89,25,8,9,12,106,89,9,56,34,89,89,2,121,89,63,0,102,1,8,11,41,89,1,24,42,89,89,24,34,5,89,0,19,89,1,79,0,1,89,0,121,5,4,0,106,90,9,16,0,89,90,0,119,0,2,0,0,89,1,0,0,6,89,0,78,50,14,0,41,89,50,24,42,89,89,24,34,0,89,0,121,0,4,0,82,90,15,0,0,89,90,0,119,0,3,0,19,90,50,79,0,89,90,0,45,89,6,89,4,116,0,0,82,3,8,0,125,7,5,3,8,0,0,0,121,0,4,0,82,90,53,0,0,89,90,0,119,0,2,0,0,89,53,0,0,0,89,0,32,2,6,0,19,89,3,79,0,3,89,0,121,5,6,0,120,2,25,0,135,89,61,0,7,0,6,0,120,89,18,0,119,0,21,0,120,2,20,0,78,89,0,0,41,90,3,24,42,90,90,24,53,89,89,90,4,116,0,0,0,2,8,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,224,115,0,0,25,50,9,60,78,89,50,0,39,89,89,1,83,50,89,0,135,89,62,0,8,53,0,0,1,90,176,0,109,9,64,90,78,90,14,0,34,90,90,0,121,90,4,0,82,89,53,0,135,90,21,0,89,0,0,0,78,90,11,0,34,90,90,0,121,90,4,0,82,89,54,0,135,90,21,0,89,0,0,0,25,10,10,1,1,90,11,0,50,90,90,10,108,116,0,0,1,55,15,3,119,0,2,0,119,0,71,255,1,90,15,3,45,90,55,90,188,201,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,70,0,0,109,70,8,83,1,89,13,0,109,70,4,89,0,2,0,0,2,3,0,0,39,222,10,0,25,28,2,13,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,192,116,0,0,1,90,0,0,107,0,13,90,1,90,1,0,135,3,72,0,80,90,70,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,25,4,70,11,1,90,5,0,83,4,90,0,2,90,0,0,108,137,11,0,78,90,90,0,83,70,90,0,2,89,0,0,109,137,11,0,78,89,89,0,107,70,1,89,2,90,0,0,110,137,11,0,78,90,90,0,107,70,2,90,2,89,0,0,111,137,11,0,78,89,89,0,107,70,3,89,2,90,0,0,112,137,11,0,78,90,90,0,107,70,4,90,1,89,0,0,107,70,5,89,25,5,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,5,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,5,121,89,28,0,82,2,5,0,121,1,6,0,1,90,5,0,135,89,61,0,2,70,90,0,120,89,22,0,119,0,25,0,82,89,70,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,48,118,0,0,0,2,5,0,0,1,70,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,12,118,0,0,25,60,3,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,5,70,0,0,78,89,4,0,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,90,13,0,109,70,4,90,0,2,0,0,2,3,0,0,73,48,11,0,25,28,2,13,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,164,118,0,0,1,89,0,0,107,0,13,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,90,14,0,109,67,4,90,0,2,0,0,2,3,0,0,79,196,10,0,25,28,2,14,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,20,119,0,0,1,89,0,0,107,0,14,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,14,121,89,23,0,82,3,4,0,121,2,6,0,1,90,14,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,53,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,172,119,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,67,0,0,1,90,177,0,109,5,64,90,102,90,67,11,34,90,90,0,121,90,4,0,82,89,67,0],eb+20480);HEAPU8.set([135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,22,0,109,70,4,90,0,2,0,0,2,3,0,0,26,48,11,0,25,28,2,22,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,108,120,0,0,1,89,0,0,107,0,22,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,67,0,0,2,90,0,0,32,0,0,128,109,67,8,90,1,89,30,0,109,67,4,89,0,2,0,0,2,3,0,0,94,196,10,0,25,28,2,30,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,228,120,0,0,1,90,0,0,107,0,30,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,30,121,90,23,0,82,3,4,0,121,2,6,0,1,89,30,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,65,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,124,121,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,1,89,178,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,90,0,0,32,0,0,128,109,70,8,90,1,89,22,0,109,70,4,89,0,2,0,0,2,3,0,0,0,49,11,0,25,28,2,22,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,60,122,0,0,1,90,0,0,107,0,22,90,1,90,0,0,135,5,72,0,80,90,70,0,1,90,0,0,85,67,90,0,1,89,0,0,109,67,4,89,1,90,0,0,109,67,8,90,1,90,48,0,135,0,26,0,90,0,0,0,85,67,0,0,2,89,0,0,48,0,0,128,109,67,8,89,1,90,44,0,109,67,4,90,0,2,0,0,2,3,0,0,125,196,10,0,25,28,2,44,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,180,122,0,0,1,89,0,0,107,0,44,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,44,121,89,23,0,82,3,4,0,121,2,6,0,1,90,44,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,65,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,76,123,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,67,0,0,1,90,179,0,109,5,64,90,102,90,67,11,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,70,0,0,109,70,8,83,1,89,15,0,109,70,4,89,0,2,0,0,2,3,0,0,23,49,11,0,25,28,2,15,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,4,124,0,0,1,90,0,0,107,0,15,90,1,90,0,0,135,4,72,0,80,90,70,0,25,5,67,11,1,90,10,0,83,5,90,0,0,2,67,0,2,3,0,0,170,196,10,0,25,28,2,10,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,76,124,0,0,1,89,0,0,107,67,10,89,25,3,4,12,106,89,4,56,34,89,89,2,121,89,45,0,102,0,3,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,4,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,10,121,89,28,0,82,2,3,0,121,1,6,0,1,90,10,0,135,89,61,0,2,67,90,0,120,89,22,0,119,0,25,0,82,89,67,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,28,125,0,0,0,2,3,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,248,124,0,0,25,60,4,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,3,67,0,0,1,90,180,0,109,4,64,90,78,90,5,0,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,16,0,109,70,4,90,0,2,0,0,2,3,0,0,39,49,11,0,25,28,2,16,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,184,125,0,0,1,89,0,0,107,0,16,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,90,11,0,109,67,4,90,0,2,0,0,2,3,0,0,181,196,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,40,126,0,0,1,89,0,0,107,0,11,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,11,121,89,23,0,82,3,4,0,121,2,6,0,1,90,11,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,69,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,192,126,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,67,0,0,1,90,181,0,109,5,64,90,102,90,67,11,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,18,0,109,70,4,90,0,2,0,0,2,3,0,0,56,49,11,0,25,28,2,18,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,128,127,0,0,1,89,0,0,107,0,18,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,67,0,0,2,90,0,0,32,0,0,128,109,67,8,90,1,89,21,0,109,67,4,89,0,2,0,0,2,3,0,0,193,196,10,0,25,28,2,21,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,248,127,0,0,1,90,0,0,107,0,21,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,21,121,90,23,0,82,3,4,0,121,2,6,0,1,89,21,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,69,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,144,128,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,1,89,182,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,90,15,0,109,70,4,90,0,2,0,0,2,3,0,0,16,223,10,0,25,28,2,15,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,72,129,0,0,1,89,0,0,107,0,15,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,67,0,0,2,90,0,0,32,0,0,128,109,67,8,90,1,89,16,0,109,67,4,89,0,2,0,0,2,3,0,0,215,196,10,0,25,28,2,16,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,192,129,0,0,1,90,0,0,107,0,16,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,16,121,90,23,0,82,3,4,0,121,2,6,0,1,89,16,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,67,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,88,130,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,1,89,183,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,90,0,0,32,0,0,128,109,70,8,90,1,89,19,0,109,70,4,89,0,2,0,0,2,3,0,0,32,223,10,0,25,28,2,19,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,24,131,0,0,1,90,0,0,107,0,19,90,1,90,0,0,135,5,72,0,80,90,70,0,1,90,0,0,85,67,90,0,1,89,0,0,109,67,4,89,1,90,0,0,109,67,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,67,0,0,2,89,0,0,32,0,0,128,109,67,8,89,1,90,20,0,109,67,4,90,0,2,0,0,2,3,0,0,232,196,10,0,25,28,2,20,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,144,131,0,0,1,89,0,0,107,0,20,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,20,121,89,23,0,82,3,4,0,121,2,6,0,1,90,20,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,67,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,40,132,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,67,0,0,1,90,184,0,109,5,64,90,102,90,67,11,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,25,0,70,11,1,90,9,0,83,0,90,0,0,2,70,0,2,3,0,0,53,222,10,0,25,28,2,9,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,208,132,0,0,1,89,0,0,107,70,9,89,1,89,1,0,135,5,72,0,80,89,70,0,78,89,0,0,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,25,3,70,11,1,89,5,0,83,3,89,0,2,89,0,0,253,196,10,0,78,89,89,0,83,70,89,0,2,90,0,0,254,196,10,0,78,90,90,0,107,70,1,90,2,89,0,0,255,196,10,0,78,89,89,0,107,70,2,89,2,90,0,0,0,197,10,0,78,90,90,0,107,70,3,90,2,89,0,0,1,197,10,0,78,89,89,0,107,70,4,89,1,90,0,0,107,70,5,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,45,0,102,0,4,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,5,121,90,28,0,82,2,4,0,121,1,6,0,1,89,5,0,135,90,61,0,2,70,89,0,120,90,22,0,119,0,25,0,82,90,70,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,64,134,0,0,0,2,4,0,0,1,70,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,28,134,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,70,0,0,78,90,3,0,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,16,0,109,70,4,90,0,2,0,0,2,3,0,0,163,10,11,0,25,28,2,16,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,188,134,0,0,1,89,0,0,107,0,16,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,90,11,0,109,67,4,90,0,2,0,0,2,3,0,0,3,197,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,44,135,0,0,1,89,0,0,107,0,11,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,11,121,89,23,0,82,3,4,0,121,2,6,0,1,90,11,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,83,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,196,135,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,67,0,0,1,90,185,0,109,5,64,90,102,90,67,11,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,25,6,70,11,1,90,10,0,83,6,90,0,0,2,70,0,2,3,0,0,152,10,11,0,25,28,2,10,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,84,136,0,0,1,89,0,0,107,70,10,89,1,89,0,0,135,3,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,25,4,67,11,1,89,4,0,83,4,89,0,2,89,0,0,77,117,116,101,85,67,89,0,1,90,0,0,107,67,4,90,25,5,3,12,106,90,3,56,34,90,90,2,121,90,41,0,102,0,5,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,4,121,90,24,0,82,2,5,0,121,1,6,0,1,89,4,0,135,90,61,0,2,67,89,0,120,90,18,0,119,0,21,0,19,90,2,79,41,90,90,24,42,90,90,24,33,90,90,77,120,90,12,0,0,2,5,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,52,137,0,0,25,60,3,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,5,67,0,0,1,89,186,0,109,3,64,89,78,89,4,0,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,78,89,6,0,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,90,0,0,109,70,8,90,25,60,70,11,1,90,7,0,83,60,90,0,2,90,0,0,63,222,10,0,78,90,90,0,83,70,90,0,2,89,0,0,64,222,10,0,78,89,89,0,107,70,1,89,2,90,0,0,65,222,10,0,78,90,90,0,107,70,2,90,2,89,0,0,66,222,10,0,78,89,89,0,107,70,3,89,2,90,0,0,67,222,10,0,78,90,90,0,107,70,4,90,2,89,0,0,68,222,10,0,78,89,89,0,107,70,5,89,2,90,0,0,69,222,10,0,78,90,90,0,107,70,6,90,1,89,0,0,107,70,7,89,1,89,1,0,135,3,72,0,80,89,70,0,78,89,60,0,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,25,4,70,4,1,89,0,0,85,4,89,0,1,90,0,0,109,4,4,90,25,4,70,11,1,90,3,0,83,4,90,0,2,90,0,0,15,197,10,0,78,90,90,0,83,70,90,0,2,89,0,0,16,197,10,0,78,89,89,0,107,70,1,89,2,90,0,0,17,197,10,0,78,90,90,0,107,70,2,90,1,89,0,0,107,70,3,89,25,5,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,5,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,3,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,3,121,89,28,0,82,2,5,0,121,1,6,0,1,90,3,0,135,89,61,0,2,70,90,0,120,89,22,0,119,0,25,0,82,89,70,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,96,139,0,0,0,2,5,0,0,1,70,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,60,139,0,0,25,60,3,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,5,70,0,0,78,89,4,0,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,90,12,0,109,70,4,90,0,2,0,0,2,3,0,0,71,222,10,0,25,28,2,12,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,212,139,0,0,1,89,0,0,107,0,12,89,1,89,1,0,135,3,72,0,80,89,70,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,25,4,70,11,1,89,5,0,83,4,89,0,2,89,0,0,19,197,10,0,78,89,89,0,83,70,89,0,2,90,0,0,20,197,10,0,78,90,90,0,107,70,1,90,2,89,0,0,21,197,10,0,78,89,89,0,107,70,2,89,2,90,0,0,22,197,10,0,78,90,90,0,107,70,3,90,2,89,0,0,23,197,10,0,78,89,89,0,107,70,4,89,1,90,0,0,107,70,5,90,25,5,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,5,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,5,121,90,28,0,82,2,5,0,121,1,6,0,1,89,5,0,135,90,61,0,2,70,89,0,120,90,22,0,119,0,25,0,82,90,70,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,68,141,0,0,0,2,5,0,0,1,70,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,32,141,0,0,25,60,3,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,5,70,0,0,78,90,4,0,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,22,0,109,70,4,90,0,2,0,0,2,3,0,0,196,222,10,0,25,28,2,22,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,192,141,0,0,1,89,0,0,107,0,22,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,67,0,0,2,90,0,0,32,0,0,128,109,67,8,90,1,89,18,0,109,67,4,89,0,2,0,0,2,3,0,0,25,197,10,0,25,28,2,18,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,56,142,0,0,1,90,0,0,107,0,18,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,18,121,90,23,0,82,3,4,0,121,2,6,0,1,89,18,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,73,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,208,142,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,1,89,187,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,90,0,0,32,0,0,128,109,70,8,90,1,89,24,0,109,70,4,89,0,2,0,0,2,3,0,0,219,222,10,0,25,28,2,24,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,144,143,0,0,1,90,0,0,107,0,24,90,1,90,0,0,135,5,72,0,80,90,70,0,1,90,0,0,85,67,90,0,1,89,0,0,109,67,4,89,1,90,0,0,109,67,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,67,0,0,109,67,8,83,1,89,14,0,109,67,4,89,0,2,0,0,2,3,0,0,44,197,10,0,25,28,2,14,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,0,144,0,0,1,90,0,0,107,0,14,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,14,121,90,23,0,82,3,4,0,121,2,6,0,1,89,14,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,89,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,152,144,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,1,89,188,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,90,0,0,32,0,0,128,109,70,8,90,1,89,21,0,109,70,4,89,0,2,0,0,2,3,0,0,59,197,10,0,25,28,2,21,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,88,145,0,0,1,90,0,0,107,0,21,90,1,90,0,0,135,5,72,0,80,90,70,0,1,90,0,0,85,67,90,0,1,89,0,0,109,67,4,89,1,90,0,0,109,67,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,67,0,0,109,67,8,83,1,89,11,0,109,67,4,89,0,2,0,0,2,3,0,0,81,197,10,0,25,28,2,11,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,200,145,0,0,1,90,0,0,107,0,11,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,11,121,90,23,0,82,3,4,0,121,2,6,0,1,89,11,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,83,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,96,146,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,1,89,189,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,90,11,0,109,70,4,90,0,2,0,0,2,3,0,0,84,222,10,0,25,28,2,11,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,24,147,0,0,1,89,0,0,107,0,11,89,1,89,1,0,135,5,72,0,80,89,70,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,90,0,0,32,0,0,128,109,70,8,90,1,89,22,0,109,70,4,89,0,2,0,0,2,3,0,0,93,197,10,0,25,28,2,22,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,168,147,0,0,1,90,0,0,107,0,22,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,22,121,90,23,0,82,3,4,0,121,2,6,0,1,89,22,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,80,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,64,148,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,70,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,17,0,109,70,4,90,0,2,0,0,2,3,0,0,160,222,10,0,25,28,2,17,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,224,148,0,0,1,89,0,0,107,0,17,89,1,89,0,0,135,4,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,25,5,67,11,1,89,9,0,83,5,89,0,0,2,67,0,2,3,0,0,116,197,10,0,25,28,2,9,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,64,149,0,0,1,90,0,0,107,67,9,90,25,3,4,12,106,90,4,56,34,90,90,2,121,90,45,0,102,0,3,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,4,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,9,121,90,28,0,82,2,3,0,121,1,6,0,1,89,9,0,135,90,61,0,2,67,89,0,120,90,22,0,119,0,25,0,82,90,67,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,16,150,0,0,0,2,3,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,236,149,0,0,25,60,4,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,3,67,0,0,1,89,190,0,109,4,64,89,78,89,5,0,34,89,89,0,121,89,4,0,82,90,67,0,135,89,21,0,90,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,90,0,0,32,0,0,128,109,70,8,90,1,89,17,0,109,70,4,89,0,2,0,0,2,3,0,0,178,222,10,0,25,28,2,17,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,172,150,0,0,1,90,0,0,107,0,17,90,1,90,0,0,135,4,72,0,80,90,70,0,25,5,67,11,1,90,10,0,83,5,90,0,0,2,67,0,2,3,0,0,126,197,10,0,25,28,2,10,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,244,150,0,0,1,89,0,0,107,67,10,89,25,3,4,12,106,89,4,56,34,89,89,2,121,89,45,0,102,0,3,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,90,4,16,0,89,90,0,119,0,2,0,0,89,0,0,32,89,89,10,121,89,28,0,82,2,3,0,121,1,6,0,1,90,10,0,135,89,61,0,2,67,90,0,120,89,22,0,119,0,25,0,82,89,67,0,19,89,89,79,41,89,89,24,42,89,89,24,19,90,2,79,41,90,90,24,42,90,90,24,53,89,89,90,196,151,0,0,0,2,3,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,90,1,0,52,89,89,90,160,151,0,0,25,60,4,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,3,67,0,0,1,90,190,0,109,4,64,90,78,90,5,0,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,16,0,135,0,26,0,90,0,0,0,85,70,0,0,109,70,8,83,1,89,11,0,109,70,4,89,0,2,0,0,2,3,0,0,96,222,10,0,25,28,2,11,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,88,152,0,0,1,90,0,0,107,0,11,90,1,90,1,0,135,3,72,0,80,90,70,0,102,90,70,11,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,89,0,0,109,70,8,89,25,4,70,11,1,89,7,0,83,4,89,0,2,89,0,0,137,197,10,0,78,89,89,0,83,70,89,0,2,90,0,0,138,197,10,0,78,90,90,0,107,70,1,90,2,89,0,0,139,197,10,0,78,89,89,0,107,70,2,89,2,90,0,0,140,197,10,0,78,90,90,0,107,70,3,90,2,89,0,0,141,197,10,0,78,89,89,0,107,70,4,89,2,90,0,0,142,197,10,0,78,90,90,0,107,70,5,90,2,89,0,0,143,197,10,0,78,89,89,0,107,70,6,89,1,90,0,0,107,70,7,90,25,5,3,12,106,90,3,56,34,90,90,2,121,90,45,0,102,0,5,11,41,90,0,24,42,90,90,24,34,1,90,0,19,90,0,79,0,0,90,0,121,1,4,0,106,89,3,16,0,90,89,0,119,0,2,0,0,90,0,0,32,90,90,7,121,90,28,0,82,2,5,0,121,1,6,0,1,89,7,0,135,90,61,0,2,70,89,0,120,90,22,0,119,0,25,0,82,90,70,0,19,90,90,79,41,90,90,24,42,90,90,24,19,89,2,79,41,89,89,24,42,89,89,24,53,90,90,89,216,153,0,0,0,2,5,0,0,1,70,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,90,2,0,78,89,1,0,52,90,90,89,180,153,0,0,25,60,3,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,5,70,0,0,78,90,4,0,34,90,90,0,121,90,4,0,82,89,70,0,135,90,21,0,89,0,0,0,1,90,0,0,85,70,90,0,1,89,0,0,109,70,4,89,1,90,0,0,109,70,8,90,1,90,32,0,135,0,26,0,90,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,90,17,0,109,70,4,90,0,2,0,0,2,3,0,0,108,222,10,0,25,28,2,17,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,84,154,0,0,1,89,0,0,107,0,17,89,1,89,1,0,135,5,72,0,80,89,70,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,89,0,0,85,70,89,0,1,90,0,0,109,70,4,90,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,90,14,0,109,70,4,90,0,2,0,0,2,3,0,0,145,197,10,0,25,28,2,14,78,90,3,0,83,2,90,0,25,2,2,1,25,3,3,1,54,90,2,28,220,154,0,0,1,89,0,0,107,0,14,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,90,5,16,0,89,90,0,119,0,2,0,0,89,1,0,32,89,89,14,121,89,23,0,82,3,4,0,121,2,6,0,1,90,14,0,135,89,61,0,3,0,90,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,67,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,90,0,0,52,89,89,90,116,155,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,70,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,90,70,0,135,89,21,0,90,0,0,0,1,90,47,4,1,94,0,0,1,92,0,0,2,93,0,0,160,197,10,0,2,91,0,0,171,197,10,0,135,89,60,0,90,94,92,93,91,70,0,0,82,5,70,0,1,89,0,0,85,67,89,0,1,91,0,0,109,67,4,91,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,91,11,0,109,67,4,91,0,2,0,0,2,3,0,0,182,197,10,0,25,28,2,11,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,56,156,0,0,1,89,0,0,107,0,11,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,91,5,16,0,89,91,0,119,0,2,0,0,89,1,0,32,89,89,11,121,89,23,0,82,3,4,0,121,2,6,0,1,91,11,0,135,89,61,0,3,0,91,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,69,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,91,0,0,52,89,89,91,208,156,0,0,25,60,5,60,78,89,60,0,39,89,89,1,83,60,89,0,135,89,62,0,4,67,0,0,102,89,67,11,34,89,89,0,121,89,4,0,82,91,67,0,135,89,21,0,91,0,0,0,1,91,48,4,1,93,35,0,1,92,8,0,2,94,0,0,194,197,10,0,2,90,0,0,202,197,10,0,135,89,60,0,91,93,92,94,90,70,0,0,82,5,70,0,1,89,0,0,85,67,89,0,1,90,0,0,109,67,4,90,1,89,0,0,109,67,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,67,0,0,2,90,0,0,32,0,0,128,109,67,8,90,1,89,18,0,109,67,4,89,0,2,0,0,2,3,0,0,210,197,10,0,25,28,2,18,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,156,157,0,0,1,90,0,0,107,0,18,90,25,4,5,12,106,90,5,56,34,90,90,2,121,90,40,0,102,1,4,11,41,90,1,24,42,90,90,24,34,2,90,0,19,90,1,79,0,1,90,0,121,2,4,0,106,89,5,16,0,90,89,0,119,0,2,0,0,90,1,0,32,90,90,18,121,90,23,0,82,3,4,0,121,2,6,0,1,89,18,0,135,90,61,0,3,0,89,0,120,90,17,0,119,0,20,0,19,90,3,79,41,90,90,24,42,90,90,24,33,90,90,72,120,90,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,90,2,0,78,89,0,0,52,90,90,89,52,158,0,0,25,60,5,60,78,90,60,0,39,90,90,1,83,60,90,0,135,90,62,0,4,67,0,0,102,90,67,11,34,90,90,0,121,90,4,0,82,89,67,0,135,90,21,0,89,0,0,0,82,2,70,0,2,90,0,0,163,103,43,2,78,0,90,0,25,3,2,60,78,1,3,0,19,90,1,79,43,90,90,3,38,90,90,1,40,89,0,1,41,89,89,24,42,89,89,24,46,90,90,89,244,158,0,0,38,90,1,247,41,89,0,3,19,89,89,79,20,90,90,89,40,90,90,8,0,0,90,0,83,3,0,0,1,90,1,0,106,89,2,56,56,90,90,89,244,158,0,0,39,90,0,1,83,3,90,0,2,90,0,0,248,34,69,0,82,60,90,0,2,90,0,0,165,103,43,2,1,89,164,0,90,89,60,89,83,90,89,0,2,89,0,0,164,103,43,2,1,90,155,0,90,90,60,90,40,90,90,1,83,89,90,0,135,90,75,0,135,90,76,0,135,90,77,0,135,90,78,0,82,90,61,0,32,90,90,3,2,89,0,0,252,34,69,0,82,89,89,0,32,89,89,7,19,90,90,89,121,90,13,0,1,90,2,0,85,62,90,0,2,90,0,0,55,160,10,0,85,63,90,0,2,89,0,0,80,160,10,0,109,63,4,89,2,90,0,0,151,160,10,0,135,89,24,0,90,63,0,0,135,89,79,0,1,90,49,4,1,94,0,0,1,92,0,0,2,93,0,0,229,197,10,0,2,91,0,0,238,197,10,0,135,89,60,0,90,94,92,93,91,70,0,0,82,5,70,0,1,89,0,0,85,67,89,0,1,91,0,0,109,67,4,91,1,89,0,0,109,67,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,67,0,0,2,91,0,0,32,0,0,128,109,67,8,91,1,89,19,0,109,67,4,89,0,2,0,0,2,3,0,0],eb+30720);HEAPU8.set([247,197,10,0,25,28,2,19,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,8,160,0,0,1,91,0,0,107,0,19,91,25,4,5,12,106,91,5,56,34,91,91,2,121,91,40,0,102,1,4,11,41,91,1,24,42,91,91,24,34,2,91,0,19,91,1,79,0,1,91,0,121,2,4,0,106,89,5,16,0,91,89,0,119,0,2,0,0,91,1,0,32,91,91,19,121,91,23,0,82,3,4,0,121,2,6,0,1,89,19,0,135,91,61,0,3,0,89,0,120,91,17,0,119,0,20,0,19,91,3,79,41,91,91,24,42,91,91,24,33,91,91,70,120,91,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,91,2,0,78,89,0,0,52,91,91,89,160,160,0,0,25,63,5,60,78,91,63,0,39,91,91,1,83,63,91,0,135,91,62,0,4,67,0,0,102,91,67,11,34,91,91,0,121,91,4,0,82,89,67,0,135,91,21,0,89,0,0,0,82,2,70,0,2,91,0,0,54,227,60,0,78,0,91,0,25,3,2,60,78,1,3,0,19,91,1,79,43,91,91,3,38,91,91,1,41,89,0,24,42,89,89,24,46,91,91,89,88,161,0,0,38,91,1,247,41,89,0,3,19,89,89,79,20,91,91,89,0,0,91,0,83,3,0,0,1,91,1,0,106,89,2,56,56,91,91,89,88,161,0,0,39,91,0,1,83,3,91,0,135,91,80,0,135,91,81,0,135,91,82,0,135,91,83,0,135,91,84,0,135,91,85,0,135,91,86,0,135,91,87,0,135,91,88,0,135,91,89,0,135,91,90,0,135,91,91,0,135,91,92,0,135,91,93,0,135,91,94,0,135,91,95,0,135,91,96,0,135,91,97,0,135,91,98,0,135,91,99,0,135,91,100,0,135,91,101,0,135,91,102,0,135,91,103,0,135,91,104,0,135,91,105,0,135,91,106,0,135,91,107,0,135,91,108,0,135,91,109,0,135,91,110,0,135,91,111,0,135,91,112,0,135,91,113,0,135,91,114,0,135,91,115,0,135,91,116,0,135,91,117,0,135,91,118,0,135,91,119,0,135,91,120,0,2,91,0,0,252,34,69,0,82,91,91,0,32,91,91,3,121,91,2,0,135,91,121,0,1,89,1,0,135,91,122,0,89,0,0,0,135,91,123,0,135,91,124,0,135,91,125,0,135,91,126,0,135,91,127,0,135,91,128,0,135,91,129,0,135,91,130,0,135,91,131,0,135,91,132,0,2,91,0,0,248,34,69,0,82,91,91,0,1,89,151,0,90,91,91,89,121,91,10,0,1,91,21,0,85,64,91,0,1,89,0,0,109,64,4,89,2,91,0,0,11,198,10,0,135,89,18,0,64,91,65,0,135,89,133,0,1,89,0,0,85,70,89,0,1,91,0,0,109,70,4,91,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,91,12,0,109,70,4,91,0,2,0,0,2,3,0,0,80,188,10,0,25,28,2,12,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,200,162,0,0,1,89,0,0,107,0,12,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,91,0,0,109,67,4,91,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,91,12,0,109,67,4,91,0,2,0,0,2,3,0,0,67,198,10,0,25,28,2,12,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,56,163,0,0,1,89,0,0,107,0,12,89,25,4,5,12,106,89,5,56,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,91,5,16,0,89,91,0,119,0,2,0,0,89,1,0,32,89,89,12,121,89,23,0,82,3,4,0,121,2,6,0,1,91,12,0,135,89,61,0,3,0,91,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,83,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,91,0,0,52,89,89,91,208,163,0,0,25,65,5,60,78,89,65,0,39,89,89,1,83,65,89,0,135,89,62,0,4,67,0,0,1,91,191,0,109,5,64,91,102,91,67,11,34,91,91,0,121,91,4,0,82,89,67,0,135,91,21,0,89,0,0,0,102,91,70,11,34,91,91,0,121,91,4,0,82,89,70,0,135,91,21,0,89,0,0,0,1,91,0,0,85,70,91,0,1,89,0,0,109,70,4,89,1,91,0,0,109,70,8,91,1,91,16,0,135,0,26,0,91,0,0,0,85,70,0,0,109,70,8,83,1,89,13,0,109,70,4,89,0,2,0,0,2,3,0,0,14,225,10,0,25,28,2,13,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,136,164,0,0,1,91,0,0,107,0,13,91,1,91,0,0,135,5,72,0,80,91,70,0,1,91,0,0,85,67,91,0,1,89,0,0,109,67,4,89,1,91,0,0,109,67,8,91,1,91,16,0,135,0,26,0,91,0,0,0,85,67,0,0,109,67,8,83,1,89,13,0,109,67,4,89,0,2,0,0,2,3,0,0,80,198,10,0,25,28,2,13,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,248,164,0,0,1,91,0,0,107,0,13,91,25,6,5,56,25,4,5,12,82,91,6,0,34,91,91,2,121,91,40,0,102,1,4,11,41,91,1,24,42,91,91,24,34,2,91,0,19,91,1,79,0,1,91,0,121,2,4,0,106,89,5,16,0,91,89,0,119,0,2,0,0,91,1,0,32,91,91,13,121,91,23,0,82,3,4,0,121,2,6,0,1,89,13,0,135,91,61,0,3,0,89,0,120,91,17,0,119,0,20,0,19,91,3,79,41,91,91,24,42,91,91,24,33,91,91,87,120,91,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,91,2,0,78,89,0,0,52,91,91,89,148,165,0,0,25,65,5,60,78,91,65,0,39,91,91,1,83,65,91,0,135,91,62,0,4,67,0,0,1,89,192,0,109,5,64,89,2,89,0,0,8,153,60,0,78,1,89,0,25,2,5,60,78,0,2,0,19,89,0,79,43,89,89,3,38,89,89,1,41,91,1,24,42,91,91,24,46,89,89,91,56,166,0,0,38,89,0,247,41,91,1,3,19,91,91,79,20,89,89,91,0,0,89,0,83,2,0,0,1,89,1,0,82,91,6,0,56,89,89,91,56,166,0,0,39,89,0,1,83,2,89,0,102,89,67,11,34,89,89,0,121,89,4,0,82,91,67,0,135,89,21,0,91,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,91,70,0,135,89,21,0,91,0,0,0,1,89,0,0,85,70,89,0,1,91,0,0,109,70,4,91,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,91,15,0,109,70,4,91,0,2,0,0,2,3,0,0,56,225,10,0,25,28,2,15,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,172,166,0,0,1,89,0,0,107,0,15,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,91,0,0,109,67,4,91,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,91,14,0,109,67,4,91,0,2,0,0,2,3,0,0,94,198,10,0,25,28,2,14,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,28,167,0,0,1,89,0,0,107,0,14,89,25,6,5,56,25,4,5,12,82,89,6,0,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,91,5,16,0,89,91,0,119,0,2,0,0,89,1,0,32,89,89,14,121,89,23,0,82,3,4,0,121,2,6,0,1,91,14,0,135,89,61,0,3,0,91,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,65,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,91,0,0,52,89,89,91,184,167,0,0,25,65,5,60,78,89,65,0,39,89,89,1,83,65,89,0,135,89,62,0,4,67,0,0,1,91,193,0,109,5,64,91,2,91,0,0,112,153,60,0,78,1,91,0,25,2,5,60,78,0,2,0,19,91,0,79,43,91,91,3,38,91,91,1,41,89,1,24,42,89,89,24,46,91,91,89,92,168,0,0,38,91,0,247,41,89,1,3,19,89,89,79,20,91,91,89,0,0,91,0,83,2,0,0,1,91,1,0,82,89,6,0,56,91,91,89,92,168,0,0,39,91,0,1,83,2,91,0,102,91,67,11,34,91,91,0,121,91,4,0,82,89,67,0,135,91,21,0,89,0,0,0,102,91,70,11,34,91,91,0,121,91,4,0,82,89,70,0,135,91,21,0,89,0,0,0,1,91,0,0,85,70,91,0,1,89,0,0,109,70,4,89,1,91,0,0,109,70,8,91,1,91,16,0,135,0,26,0,91,0,0,0,85,70,0,0,109,70,8,83,1,89,15,0,109,70,4,89,0,2,0,0,2,3,0,0,170,224,10,0,25,28,2,15,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,208,168,0,0,1,91,0,0,107,0,15,91,1,91,0,0,135,3,72,0,80,91,70,0,1,91,0,0,85,67,91,0,1,89,0,0,109,67,4,89,1,91,0,0,109,67,8,91,25,4,67,11,1,91,8,0,83,4,91,0,0,5,67,0,2,91,0,0,67,116,114,108,85,5,91,0,2,89,0,0,43,69,115,99,109,5,4,89,1,91,0,0,107,67,8,91,25,5,3,12,106,91,3,56,34,91,91,2,121,91,41,0,102,0,5,11,41,91,0,24,42,91,91,24,34,1,91,0,19,91,0,79,0,0,91,0,121,1,4,0,106,89,3,16,0,91,89,0,119,0,2,0,0,91,0,0,32,91,91,8,121,91,24,0,82,2,5,0,121,1,6,0,1,89,8,0,135,91,61,0,2,67,89,0,120,91,18,0,119,0,21,0,19,91,2,79,41,91,91,24,42,91,91,24,33,91,91,67,120,91,12,0,0,2,5,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,91,2,0,78,89,1,0,52,91,91,89,192,169,0,0,25,65,3,60,78,91,65,0,39,91,91,1,83,65,91,0,135,91,62,0,5,67,0,0,1,89,194,0,109,3,64,89,78,89,4,0,34,89,89,0,121,89,4,0,82,91,67,0,135,89,21,0,91,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,91,70,0,135,89,21,0,91,0,0,0,1,89,0,0,85,70,89,0,1,91,0,0,109,70,4,91,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,91,14,0,109,70,4,91,0,2,0,0,2,3,0,0,186,224,10,0,25,28,2,14,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,120,170,0,0,1,89,0,0,107,0,14,89,1,89,0,0,135,3,72,0,80,89,70,0,1,91,0,0,109,67,8,91,25,4,67,11,1,91,7,0,83,4,91,0,2,91,0,0,109,198,10,0,78,91,91,0,83,67,91,0,2,89,0,0,110,198,10,0,78,89,89,0,107,67,1,89,2,91,0,0,111,198,10,0,78,91,91,0,107,67,2,91,2,89,0,0,112,198,10,0,78,89,89,0,107,67,3,89,2,91,0,0,113,198,10,0,78,91,91,0,107,67,4,91,2,89,0,0,114,198,10,0,78,89,89,0,107,67,5,89,2,91,0,0,115,198,10,0,78,91,91,0,107,67,6,91,1,89,0,0,107,67,7,89,25,5,3,12,106,89,3,56,34,89,89,2,121,89,45,0,102,0,5,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,91,3,16,0,89,91,0,119,0,2,0,0,89,0,0,32,89,89,7,121,89,28,0,82,2,5,0,121,1,6,0,1,91,7,0,135,89,61,0,2,67,91,0,120,89,22,0,119,0,25,0,82,89,67,0,19,89,89,79,41,89,89,24,42,89,89,24,19,91,2,79,41,91,91,24,42,91,91,24,53,89,89,91,224,171,0,0,0,2,5,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,91,1,0,52,89,89,91,188,171,0,0,25,65,3,60,78,89,65,0,39,89,89,1,83,65,89,0,135,89,62,0,5,67,0,0,1,91,194,0,109,3,64,91,78,91,4,0,34,91,91,0,121,91,4,0,82,89,67,0,135,91,21,0,89,0,0,0,102,91,70,11,34,91,91,0,121,91,4,0,82,89,70,0,135,91,21,0,89,0,0,0,1,91,0,0,85,70,91,0,1,89,0,0,109,70,4,89,1,91,0,0,109,70,8,91,1,91,16,0,135,0,26,0,91,0,0,0,85,70,0,0,109,70,8,83,1,89,15,0,109,70,4,89,0,2,0,0,2,3,0,0,201,224,10,0,25,28,2,15,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,116,172,0,0,1,91,0,0,107,0,15,91,1,91,0,0,135,3,72,0,80,91,70,0,1,91,0,0,85,67,91,0,1,89,0,0,109,67,4,89,1,91,0,0,109,67,8,91,25,4,67,11,1,91,8,0,83,4,91,0,0,5,67,0,2,91,0,0,76,111,103,111,85,5,91,0,2,89,0,0,32,107,101,121,109,5,4,89,1,91,0,0,107,67,8,91,25,5,3,12,106,91,3,56,34,91,91,2,121,91,41,0,102,0,5,11,41,91,0,24,42,91,91,24,34,1,91,0,19,91,0,79,0,0,91,0,121,1,4,0,106,89,3,16,0,91,89,0,119,0,2,0,0,91,0,0,32,91,91,8,121,91,24,0,82,2,5,0,121,1,6,0,1,89,8,0,135,91,61,0,2,67,89,0,120,91,18,0,119,0,21,0,19,91,2,79,41,91,91,24,42,91,91,24,33,91,91,76,120,91,12,0,0,2,5,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,91,2,0,78,89,1,0,52,91,91,89,100,173,0,0,25,65,3,60,78,91,65,0,39,91,91,1,83,65,91,0,135,91,62,0,5,67,0,0,1,89,194,0,109,3,64,89,78,89,4,0,34,89,89,0,121,89,4,0,82,91,67,0,135,89,21,0,91,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,91,70,0,135,89,21,0,91,0,0,0,1,89,0,0,85,70,89,0,1,91,0,0,109,70,4,91,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,91,15,0,109,70,4,91,0,2,0,0,2,3,0,0,217,224,10,0,25,28,2,15,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,28,174,0,0,1,89,0,0,107,0,15,89,1,89,0,0,135,3,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,91,0,0,109,67,4,91,1,89,0,0,109,67,8,89,25,4,67,11,1,89,8,0,83,4,89,0,0,5,67,0,2,89,0,0,77,101,110,117,85,5,89,0,2,91,0,0,32,107,101,121,109,5,4,91,1,89,0,0,107,67,8,89,25,5,3,12,106,89,3,56,34,89,89,2,121,89,41,0,102,0,5,11,41,89,0,24,42,89,89,24,34,1,89,0,19,89,0,79,0,0,89,0,121,1,4,0,106,91,3,16,0,89,91,0,119,0,2,0,0,89,0,0,32,89,89,8,121,89,24,0,82,2,5,0,121,1,6,0,1,91,8,0,135,89,61,0,2,67,91,0,120,89,18,0,119,0,21,0,19,89,2,79,41,89,89,24,42,89,89,24,33,89,89,77,120,89,12,0,0,2,5,0,0,1,67,0,26,0,0,1,25,2,2,1,120,0,2,0,119,0,10,0,25,1,1,1,78,89,2,0,78,91,1,0,52,89,89,91,12,175,0,0,25,65,3,60,78,89,65,0,39,89,89,1,83,65,89,0,135,89,62,0,5,67,0,0,1,91,194,0,109,3,64,91,78,91,4,0,34,91,91,0,121,91,4,0,82,89,67,0,135,91,21,0,89,0,0,0,102,91,70,11,34,91,91,0,121,91,4,0,82,89,70,0,135,91,21,0,89,0,0,0,1,91,0,0,85,70,91,0,1,89,0,0,109,70,4,89,1,91,0,0,109,70,8,91,1,91,16,0,135,0,26,0,91,0,0,0,85,70,0,0,109,70,8,83,1,89,11,0,109,70,4,89,0,2,0,0,2,3,0,0,233,224,10,0,25,28,2,11,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,196,175,0,0,1,91,0,0,107,0,11,91,1,91,0,0,135,5,72,0,80,91,70,0,1,91,0,0,85,67,91,0,1,89,0,0,109,67,4,89,1,91,0,0,109,67,8,91,1,91,16,0,135,0,26,0,91,0,0,0,85,67,0,0,109,67,8,83,1,89,12,0,109,67,4,89,0,2,0,0,2,3,0,0,117,198,10,0,25,28,2,12,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,52,176,0,0,1,91,0,0,107,0,12,91,25,4,5,12,106,91,5,56,34,91,91,2,121,91,40,0,102,1,4,11,41,91,1,24,42,91,91,24,34,2,91,0,19,91,1,79,0,1,91,0,121,2,4,0,106,89,5,16,0,91,89,0,119,0,2,0,0,91,1,0,32,91,91,12,121,91,23,0,82,3,4,0,121,2,6,0,1,89,12,0,135,91,61,0,3,0,89,0,120,91,17,0,119,0,20,0,19,91,3,79,41,91,91,24,42,91,91,24,33,91,91,67,120,91,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,91,2,0,78,89,0,0,52,91,91,89,204,176,0,0,25,65,5,60,78,91,65,0,39,91,91,1,83,65,91,0,135,91,62,0,4,67,0,0,1,89,194,0,109,5,64,89,102,89,67,11,34,89,89,0,121,89,4,0,82,91,67,0,135,89,21,0,91,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,91,70,0,135,89,21,0,91,0,0,0,1,89,0,0,85,70,89,0,1,91,0,0,109,70,4,91,1,89,0,0,109,70,8,89,25,6,70,11,1,89,9,0,83,6,89,0,0,2,70,0,2,3,0,0,93,188,10,0,25,28,2,9,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,116,177,0,0,1,91,0,0,107,70,9,91,1,91,0,0,135,5,72,0,80,91,70,0,1,91,0,0,85,67,91,0,1,89,0,0,109,67,4,89,1,91,0,0,109,67,8,91,1,91,32,0,135,0,26,0,91,0,0,0,85,67,0,0,2,89,0,0,32,0,0,128,109,67,8,89,1,91,29,0,109,67,4,91,0,2,0,0,2,3,0,0,130,198,10,0,25,28,2,29,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,236,177,0,0,1,89,0,0,107,0,29,89,25,7,5,56,25,4,5,12,82,89,7,0,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,91,5,16,0,89,91,0,119,0,2,0,0,89,1,0,32,89,89,29,121,89,23,0,82,3,4,0,121,2,6,0,1,91,29,0,135,89,61,0,3,0,91,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,68,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,91,0,0,52,89,89,91,136,178,0,0,25,65,5,60,78,89,65,0,39,89,89,1,83,65,89,0,135,89,62,0,4,67,0,0,1,91,195,0,109,5,64,91,1,91,0,0,85,66,91,0,1,89,0,0,109,66,4,89,1,91,0,0,109,66,8,91,1,91,32,0,135,0,26,0,91,0,0,0,85,66,0,0,2,89,0,0,32,0,0,128,109,66,8,89,1,91,17,0,109,66,4,91,0,2,0,0,2,3,0,0,201,164,10,0,25,28,2,17,78,91,3,0,83,2,91,0,25,2,2,1,25,3,3,1,54,91,2,28,24,179,0,0,1,89,0,0,107,0,17,89,1,91,1,0,1,93,0,0,135,89,134,0,91,66,93,0,33,1,89,0,25,2,5,60,78,0,2,0,19,89,0,79,43,89,89,3,38,89,89,1,38,93,1,1,46,89,89,93,160,179,0,0,38,89,1,1,41,89,89,3,19,89,89,79,38,93,0,247,20,89,89,93,0,0,89,0,83,2,0,0,1,89,1,0,82,93,7,0,56,89,89,93,160,179,0,0,39,89,0,1,83,2,89,0,102,89,66,11,34,89,89,0,121,89,4,0,82,93,66,0,135,89,21,0,93,0,0,0,102,89,67,11,34,89,89,0,121,89,4,0,82,93,67,0,135,89,21,0,93,0,0,0,78,89,6,0,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,93,11,0,109,70,4,93,0,2,0,0,2,3,0,0,103,188,10,0,25,28,2,11,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,44,180,0,0,1,89,0,0,107,0,11,89,1,89,0,0,135,5,72,0,80,89,70,0,1,89,0,0,85,67,89,0,1,93,0,0,109,67,4,93,1,89,0,0,109,67,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,67,0,0,109,67,8,83,1,93,13,0,109,67,4,93,0,2,0,0,2,3,0,0,160,198,10,0,25,28,2,13,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,156,180,0,0,1,89,0,0,107,0,13,89,25,6,5,56,25,4,5,12,82,89,6,0,34,89,89,2,121,89,40,0,102,1,4,11,41,89,1,24,42,89,89,24,34,2,89,0,19,89,1,79,0,1,89,0,121,2,4,0,106,93,5,16,0,89,93,0,119,0,2,0,0,89,1,0,32,89,89,13,121,89,23,0,82,3,4,0,121,2,6,0,1,93,13,0,135,89,61,0,3,0,93,0,120,89,17,0,119,0,20,0,19,89,3,79,41,89,89,24,42,89,89,24,33,89,89,65,120,89,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,89,2,0,78,93,0,0,52,89,89,93,56,181,0,0,25,66,5,60,78,89,66,0,39,89,89,1,83,66,89,0,135,89,62,0,4,67,0,0,1,93,196,0,109,5,64,93,25,1,5,60,78,0,1,0,38,93,0,8,121,93,10,0,38,93,0,247,0,0,93,0,83,1,0,0,1,93,1,0,82,89,6,0,56,93,93,89,176,181,0,0,39,93,0,1,83,1,93,0,102,93,67,11,34,93,93,0,121,93,4,0,82,89,67,0,135,93,21,0,89,0,0,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,16,0,135,0,26,0,93,0,0,0,85,70,0,0,109,70,8,83,1,89,11,0,109,70,4,89,0,2,0,0,2,3,0,0,28,225,10,0,25,28,2,11,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,36,182,0,0,1,93,0,0,107,0,11,93,1,93,0,0,135,5,72,0,80,93,70,0,1,93,0,0,85,67,93,0,1,89,0,0,109,67,4,89,1,93,0,0,109,67,8,93,1,93,16,0,135,0,26,0,93,0,0,0,85,67,0,0,109,67,8,83,1,89,12,0,109,67,4,89,0,2,0,0,2,3,0,0,174,198,10,0,25,28,2,12,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,148,182,0,0,1,93,0,0,107,0,12,93,25,6,5,56,25,4,5,12,82,93,6,0,34,93,93,2,121,93,40,0,102,1,4,11,41,93,1,24,42,93,93,24,34,2,93,0,19,93,1,79,0,1,93,0,121,2,4,0,106,89,5,16,0,93,89,0,119,0,2,0,0,93,1,0,32,93,93,12,121,93,23,0,82,3,4,0,121,2,6,0,1,89,12,0,135,93,61,0,3,0,89,0,120,93,17,0,119,0,20,0,19,93,3,79,41,93,93,24,42,93,93,24,33,93,93,83,120,93,11,0,0,2,4,0,26,1,1,1,25,2,2,1,120,1,2,0,119,0,10,0,25,0,0,1,78,93,2,0,78,89,0,0,52,93,93,89,48,183,0,0,25,66,5,60,78,93,66,0,39,93,93,1,83,66,93,0,135,93,62,0,4,67,0,0,1,89,197,0,109,5,64,89,2,89,0,0,164,103,43,2,78,1,89,0,25,2,5,60,78,0,2,0,19,89,0,79,43,89,89,3,38,89,89,1,40,93,1,1,41,93,93,24,42,93,93,24,46,89,89,93,220,183,0,0,38,89,0,247,41,93,1,3,19,93,93,79,20,89,89,93,40,89,89,8,0,0,89,0,83,2,0,0,1,89,1,0,82,93,6,0,56,89,89,93,220,183,0,0,39,89,0,1,83,2,89,0,102,89,67,11,34,89,89,0,121,89,4,0,82,93,67,0,135,89,21,0,93,0,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,93,0,0,32,0,0,128,109,70,8,93,1,89,16,0,109,70,4,89,0,2,0,0,2,3,0,0,163,10,11,0,25,28,2,16,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,88,184,0,0,1,93,0,0,107,0,16,93,135,2,135,0,80,70,0,0,135,0,136,0,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,3,38,93,93,1,38,89,0,1,46,93,93,89,216,184,0,0,38,93,1,247,38,89,0,1,41,89,89,3,19,89,89,79,20,93,93,89,0,0,93,0,83,3,0,0,1,93,1,0,106,89,2,56,56,93,93,89,216,184,0,0,39,93,0,1,83,3,93,0,135,93,137,0,2,80,0,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,25,4,70,11,1,93,10,0,83,4,93,0,0,2,70,0,2,3,0,0,152,10,11,0,25,28,2,10,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,20,185,0,0,1,89,0,0,107,70,10,89,135,2,135,0,80,70,0,0,135,0,138,0,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,3,38,89,89,1,38,93,0,1,46,89,89,93,148,185,0,0,38,89,1,247,38,93,0,1,41,93,93,3,19,93,93,79,20,89,89,93,0,0,89,0,83,3,0,0,1,89,1,0,106,93,2,56,56,89,89,93,148,185,0,0,39,89,0,1,83,3,89,0,135,89,137,0,2,80,0,0,78,89,4,0,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,93,13,0,109,70,4,93,0,2,0,0,2,3,0,0,106,224,10,0,25,28,2,13,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,248,185,0,0,1,89,0,0,107,0,13,89,135,2,135,0,80,70,0,0,2,89,0,0,245,217,60,0,78,0,89,0,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,3,38,89,89,1,41,93,0,24,42,93,93,24,46,89,89,93,128,186,0,0,38,89,1,247,41,93,0,3,19,93,93,79,20,89,89,93,0,0,89,0,83,3,0,0,1,89,1,0,106,93,2,56,56,89,89,93,128,186,0,0,39,89,0,1,83,3,89,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,16,0,135,0,26,0,89,0,0,0,85,70,0,0,109,70,8,83,1,93,13,0,109,70,4,93,0,2,0,0,2,3,0,0,52,223,10,0,25,28,2,13,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,220,186,0,0,1,89,0,0,107,0,13,89,135,2,135,0,80,70,0,0,2,89,0,0,252,34,69,0,82,89,89,0,33,0,89,7,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,2,38,89,89,1,38,93,0,1,46,89,89,93,104,187,0,0,38,89,0,1,41,89,89,2,19,89,89,79,38,93,1,251,20,89,89,93,0,0,89,0,83,3,0,0,1,89,2,0,106,93,2,56,56,89,89,93,104,187,0,0,39,89,0,1,83,3,89,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,25,4,70,11,1,89,10,0,83,4,89,0,0,2,70,0,2,3,0,0,66,223,10,0,25,28,2,10,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,156,187,0,0,1,93,0,0,107,70,10,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,33,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,40,188,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,40,188,0,0,39,93,0,1,83,3,93,0,78,93,4,0,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,16,0,135,0,26,0,93,0,0,0,85,70,0,0,109,70,8,83,1,89,13,0,109,70,4,89,0,2,0,0,2,3,0,0,73,48,11,0,25,28,2,13,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,132,188,0,0,1,93,0,0,107,0,13,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,32,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,16,189,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,16,189,0,0,39,93,0,1,83,3,93,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,32,0,135,0,26,0,93,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,93,22,0,109,70,4,93,0,2,0,0,2,3,0,0,26,48,11,0,25,28,2,22,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,116,189,0,0,1,89,0,0,107,0,22,89,135,2,135,0,80,70,0,0,2,89,0,0,252,34,69,0,82,89,89,0,32,0,89,7,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,2,38,89,89,1,38,93,0,1,46,89,89,93,0,190,0,0,38,89,0,1,41,89,89,2,19,89,89,79,38,93,1,251,20,89,89,93,0,0,89,0,83,3,0,0,1,89,2,0,106,93,2,56,56,89,89,93,0,190,0,0,39,89,0,1,83,3,89,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,93,0,0,32,0,0,128,109,70,8,93,1,89,22,0,109,70,4,89,0,2,0,0,2,3,0,0,0,49,11,0,25,28,2,22,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,100,190,0,0,1,93,0,0,107,0,22,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,32,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,240,190,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,240,190,0,0,39,93,0,1,83,3,93,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,16,0,135,0,26,0,93,0,0,0,85,70,0,0,109,70,8,83,1,89,15,0,109,70,4,89,0,2,0,0,2,3,0,0,23,49,11,0,25,28,2,15,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,76,191,0,0,1,93,0,0,107,0,15,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,32,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,216,191,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,216,191,0,0,39,93,0,1,83,3,93,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,32,0,135,0,26,0,93,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,93,16,0,109,70,4,93,0,2,0,0,2,3,0,0,39,49,11,0,25,28,2,16,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,60,192,0,0,1,89,0,0,107,0,16,89,135,2,135,0,80,70,0,0,2,89,0,0,252,34,69,0,82,89,89,0,32,0,89,7,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,2,38,89,89,1,38,93,0,1,46,89,89,93,200,192,0,0,38,89,0,1,41,89,89,2,19,89,89,79,38,93,1,251,20,89,89,93,0,0,89,0,83,3,0,0,1,89,2,0,106,93,2,56,56,89,89,93,200,192,0,0,39,89,0,1,83,3,89,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,93,0,0,32,0,0,128,109,70,8,93,1,89,18,0,109,70,4,89,0,2,0,0,2,3,0,0,56,49,11,0,25,28,2,18,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,44,193,0,0,1,93,0,0,107,0,18,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,32,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,184,193,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,184,193,0,0,39,93,0,1,83,3,93,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,16,0,135,0,26,0,93,0,0,0,85,70,0,0,109,70,8,83,1,89,15,0,109,70,4,89,0,2,0,0,2,3,0,0,16,223,10,0,25,28,2,15,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,20,194,0,0,1,93,0,0,107,0,15,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,32,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,160,194,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,160,194,0,0,39,93,0,1,83,3,93,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,32,0,135,0,26,0,93,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,93,19,0,109,70,4,93,0,2,0,0,2,3,0,0,32,223,10,0,25,28,2,19,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,4,195,0,0,1,89,0,0,107,0,19,89,135,2,135,0,80,70,0,0,2,89,0,0,252,34,69,0,82,89,89,0,32,0,89,7,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,2,38,89,89,1,38,93,0,1,46,89,89,93,144,195,0,0,38,89,0,1,41,89,89,2,19,89,89,79,38,93,1,251,20,89,89,93,0,0,89,0,83,3,0,0,1,89,2,0,106,93,2,56,56,89,89,93,144,195,0,0,39,89,0,1,83,3,89,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,93,0,0,32,0,0,128,109,70,8,93,1,89,17,0,109,70,4,89,0,2,0,0,2,3,0,0,160,222,10,0,25,28,2,17,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,244,195,0,0,1,93,0,0,107,0,17,93,135,2,135,0,80,70,0,0,2,93,0,0,252,34,69,0,82,93,93,0,32,0,93,7,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,2,38,93,93,1,38,89,0,1,46,93,93,89,128,196,0,0,38,93,0,1,41,93,93,2,19,93,93,79,38,89,1,251,20,93,93,89,0,0,93,0,83,3,0,0,1,93,2,0,106,89,2,56,56,93,93,89,128,196,0,0,39,93,0,1,83,3,93,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,32,0,135,0,26,0,93,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,93,17,0,109,70,4,93,0,2,0,0,2,3,0,0,178,222,10,0,25,28,2,17,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,228,196,0,0,1,89,0,0,107,0,17,89,135,2,135,0,80,70,0,0,2,89,0,0,252,34,69,0,82,89,89,0,32,0,89,7,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,2,38,89,89,1,38,93,0,1,46,89,89,93,112,197,0,0,38,89,0,1,41,89,89,2,19,89,89,79,38,93,1,251,20,89,89,93,0,0,89,0,83,3,0,0,1,89,2,0,106,93,2,56,56,89,89,93,112,197,0,0,39,89,0,1,83,3,89,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,1,89,0,0,85,70,89,0,1,93,0,0,109,70,4,93,1,89,0,0,109,70,8,89,1,89,32,0,135,0,26,0,89,0,0,0,85,70,0,0,2,93,0,0,32,0,0,128,109,70,8,93,1,89,22,0,109,70,4,89,0,2,0,0,2,3,0,0,196,222,10,0,25,28,2,22,78,89,3,0,83,2,89,0,25,2,2,1,25,3,3,1,54,89,2,28,212,197,0,0,1,93,0,0,107,0,22,93,135,2,135,0,80,70,0,0,2,93,0,0,226,104,9,0,78,0,93,0,25,3,2,60,78,1,3,0,19,93,1,79,43,93,93,3,38,93,93,1,41,89,0,24,42,89,89,24,46,93,93,89,92,198,0,0,38,93,1,247,41,89,0,3,19,89,89,79,20,93,93,89,0,0,93,0,83,3,0,0,1,93,1,0,106,89,2,56,56,93,93,89,92,198,0,0,39,93,0,1,83,3,93,0,135,93,137,0,2,80,0,0,102,93,70,11,34,93,93,0,121,93,4,0,82,89,70,0,135,93,21,0,89,0,0,0,1,93,0,0,85,70,93,0,1,89,0,0,109,70,4,89,1,93,0,0,109,70,8,93,1,93,32,0,135,0,26,0,93,0,0,0,85,70,0,0,2,89,0,0,32,0,0,128,109,70,8,89,1,93,24,0,109,70,4,93,0,2,0,0,2,3,0,0,219,222,10,0,25,28,2,24,78,93,3,0,83,2,93,0,25,2,2,1,25,3,3,1,54,93,2,28,200,198,0,0,1,89,0,0,107,0,24,89,135,2,135,0,80,70,0,0,2,89,0,0,100,102,43,2,78,0,89,0,25,3,2,60,78,1,3,0,19,89,1,79,43,89,89,3,38,89,89,1,41,93,0,24,42,93,93,24,46,89,89,93,80,199,0,0,38,89,1,247,41,93,0,3,19,93,93,79,20,89,89,93,0,0,89,0,83,3,0,0,1,89,1,0,106,93,2,56,56,89,89,93,80,199,0,0,39,89,0,1,83,3,89,0,135,89,137,0,2,80,0,0,102,89,70,11,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,135,89,139,0,135,89,140,0,2,89,0,0,212,102,43,2,78,89,89,0,120,89,14,0,2,89,0,0,212,102,43,2,1,93,1,0,83,89,93,0,1,89,0,0,135,93,141,0,89,0,0,0,1,89,1,0,135,93,141,0,89,0,0,0,1,89,2,0,135,93,141,0,89,0,0,0,2,93,0,0,146,217,60,0,1,89,0,0,83,93,89,0,1,89,0,0,85,69,89,0,1,89,0,0,85,68,89,0,135,89,142,0,135,89,143,0,135,89,144,0,80,0,0,0,2,89,0,0,248,34,69,0,82,0,89,0,25,69,70,4,1,89,0,0],eb+40960);HEAPU8.set([85,69,89,0,1,93,0,0,109,69,4,93,25,69,70,11,1,93,3,0,83,69,93,0,2,93,0,0,189,160,10,0,78,93,93,0,83,70,93,0,2,89,0,0,190,160,10,0,78,89,89,0,107,70,1,89,2,93,0,0,191,160,10,0,78,93,93,0,107,70,2,93,1,89,0,0,107,70,3,89,135,0,25,0,0,70,0,0,78,89,69,0,34,89,89,0,121,89,4,0,82,93,70,0,135,89,21,0,93,0,0,0,120,0,10,0,2,93,0,0,98,43,11,0,2,91,0,0,193,160,10,0,1,92,125,33,2,94,0,0,187,198,10,0,135,89,38,0,93,91,92,94,1,89,0,0,85,70,89,0,1,94,0,0,109,70,4,94,1,89,0,0,109,70,8,89,25,69,70,11,1,89,8,0,83,69,89,0,0,68,70,0,2,89,0,0,115,104,111,119,85,68,89,0,2,94,0,0,109,101,110,117,109,68,4,94,1,89,0,0,107,70,8,89,135,89,27,0,0,70,0,0,78,89,69,0,34,89,89,0,121,89,4,0,82,94,70,0,135,89,21,0,94,0,0,0,134,89,0,0,92,239,1,0,1,89,21,0,85,70,89,0,1,94,0,0,109,70,4,94,2,89,0,0,192,198,10,0,135,94,18,0,70,89,71,0,2,94,0,0,210,152,60,0,78,94,94,0,121,94,4,0,1,89,0,0,135,94,58,0,89,0,0,0,2,94,0,0,209,152,60,0,1,89,0,0,83,94,89,0,2,89,0,0,0,153,60,0,82,0,89,0,121,0,6,0,1,94,255,7,19,94,0,94,1,92,1,0,135,89,145,0,94,92,0,0,2,89,0,0,114,153,60,0,78,89,89,0,121,89,4,0,1,94,0,0,135,89,52,0,94,0,0,0,2,89,0,0,28,153,60,0,78,89,89,0,121,89,2,0,135,89,71,0,135,89,146,0,135,89,147,0,1,4,0,0,1,59,1,0,119,0,180,0,1,89,17,3,45,89,55,89,212,201,0,0,135,89,42,0,54,0,0,0,119,0,18,0,1,89,23,3,45,89,55,89,232,201,0,0,135,89,42,0,53,0,0,0,119,0,12,0,1,89,240,1,45,89,55,89,4,202,0,0,135,89,42,0,50,0,0,0,119,0,6,0,1,89,246,1,45,89,55,89,24,202,0,0,135,89,42,0,49,0,0,0,2,89,0,0,131,188,10,0,2,94,0,0,189,251,11,0,135,0,7,0,89,94,0,0,121,0,10,0,135,94,8,0,0,0,0,0,2,94,0,0,42,189,10,0,85,56,94,0,2,89,0,0,143,188,10,0,135,94,24,0,89,56,0,0,1,94,0,0,85,60,94,0,1,89,0,0,109,60,4,89,1,94,0,0,109,60,8,94,1,94,32,0,135,0,26,0,94,0,0,0,0,2,0,0,2,3,0,0,240,170,10,0,25,28,2,22,78,94,3,0,83,2,94,0,25,2,2,1,25,3,3,1,54,94,2,28,140,202,0,0,1,89,0,0,107,0,22,89,135,89,17,0,60,0,0,0,1,94,22,0,135,89,6,0,60,0,94,0,25,0,60,11,78,94,0,0,34,94,94,0,121,94,4,0,82,94,60,0,0,89,94,0,119,0,2,0,0,89,60,0,2,94,0,0,189,251,11,0,135,1,7,0,89,94,0,0,120,1,5,0,1,89,0,0,135,94,10,0,89,0,0,0,119,0,15,0,135,94,8,0,1,0,0,0,78,92,0,0,34,92,92,0,121,92,4,0,82,92,60,0,0,89,92,0,119,0,2,0,0,89,60,0,135,94,148,0,89,0,0,0,1,89,0,0,135,94,10,0,89,0,0,0,2,94,0,0,131,188,10,0,2,89,0,0,189,251,11,0,135,0,7,0,94,89,0,0,121,0,10,0,135,89,8,0,0,0,0,0,2,89,0,0,155,188,10,0,85,58,89,0,2,94,0,0,143,188,10,0,135,89,24,0,94,58,0,0,1,89,0,0,85,60,89,0,1,94,0,0,109,60,4,94,1,89,0,0,109,60,8,89,1,89,0,0,85,57,89,0,1,94,0,0,109,57,4,94,1,89,0,0,109,57,8,89,135,89,17,0,60,0,0,0,135,89,5,0,57,0,0,0,102,0,57,11,41,89,0,24,42,89,89,24,34,1,89,0,121,1,4,0,82,92,57,0,0,94,92,0,119,0,2,0,0,94,57,0,121,1,4,0,106,91,57,4,0,92,91,0,119,0,3,0,19,91,0,79,0,92,91,0,135,89,6,0,60,94,92,0,25,0,60,11,78,92,0,0,34,92,92,0,121,92,4,0,82,92,60,0,0,89,92,0,119,0,2,0,0,89,60,0,2,92,0,0,189,251,11,0,135,1,7,0,89,92,0,0,120,1,5,0,1,89,0,0,135,92,10,0,89,0,0,0,119,0,18,0,135,92,8,0,1,0,0,0,78,94,0,0,34,94,94,0,121,94,4,0,82,94,60,0,0,89,94,0,119,0,2,0,0,89,60,0,135,92,148,0,89,0,0,0,1,89,0,0,135,92,10,0,89,0,0,0,119,0,3,0,1,4,1,0,1,59,0,0,102,92,73,11,34,92,92,0,121,92,4,0,82,89,73,0,135,92,21,0,89,0,0,0,102,92,72,11,34,92,92,0,121,92,4,0,82,89,72,0,135,92,21,0,89,0,0,0,121,59,84,0,135,92,149,0,135,92,150,0,135,92,151,0,135,92,152,0,135,92,153,0,135,92,154,0,135,92,155,0,135,92,156,0,135,92,157,0,135,92,158,0,1,89,0,0,135,92,159,0,89,0,0,0,1,89,1,0,135,92,50,0,89,0,0,0,2,92,0,0,0,240,6,0,82,92,92,0,121,92,57,0,25,2,74,4,2,92,0,0,252,239,6,0,82,0,92,0,25,1,0,8,1,92,21,0,85,74,92,0,1,92,0,0,85,2,92,0,25,0,0,16,102,92,0,11,34,92,92,0,121,92,2,0,82,0,0,0,116,75,1,0,109,75,4,0,2,89,0,0,219,198,10,0,135,92,18,0,74,89,75,0,82,89,1,0,1,94,255,7,19,89,89,94,1,94,0,0,135,92,145,0,89,94,0,0,2,92,0,0,252,239,6,0,82,0,92,0,25,1,0,4,82,73,0,0,82,89,1,0,109,73,4,89,82,89,1,0,85,89,73,0,2,89,0,0,0,240,6,0,2,92,0,0,0,240,6,0,82,92,92,0,26,92,92,1,85,89,92,0,25,1,0,16,102,92,1,11,34,92,92,0,121,92,4,0,82,89,1,0,135,92,21,0,89,0,0,0,135,92,21,0,0,0,0,0,2,92,0,0,0,240,6,0,82,92,92,0,33,92,92,0,120,92,202,255,135,92,160,0,135,92,161,0,135,92,162,0,80,0,0,0,135,92,163,0,80,0,0,0,1,4,0,0,135,92,164,0,76,0,0,0,25,0,77,32,102,92,0,11,34,92,92,0,121,92,4,0,82,89,0,0,135,92,21,0,89,0,0,0,25,3,77,20,25,0,77,28,82,92,0,0,121,92,26,0,106,1,77,24,82,92,3,0,25,76,92,4,82,75,1,0,82,89,76,0,109,75,4,89,82,89,76,0,85,89,75,0,1,89,0,0,85,0,89,0,46,89,1,3,160,206,0,0,0,0,1,0,106,1,1,4,25,2,0,8,102,89,2,11,34,89,89,0,121,89,4,0,82,92,2,0,135,89,21,0,92,0,0,0,135,89,21,0,0,0,0,0,53,89,1,3,108,206,0,0,1,89,0,0,102,92,77,11,49,89,89,92,184,206,0,0,137,78,0,0,139,4,0,0,82,92,77,0,135,89,21,0,92,0,0,0,137,78,0,0,139,4,0,0,140,0,125,0,0,0,0,0,2,106,0,0,79,102,43,2,2,107,0,0,255,0,0,0,2,108,0,0,152,8,227,0,2,109,0,0,76,132,113,0,2,110,0,0,255,255,0,0,2,111,0,0,80,132,113,0,2,112,0,0,78,35,69,0,2,113,0,0,79,35,69,0,2,114,0,0,78,132,113,0,2,115,0,0,115,194,56,0,2,116,0,0,43,7,2,0,136,117,0,0,0,105,117,0,136,117,0,0,1,118,96,9,3,117,117,118,137,117,0,0,1,117,40,8,3,47,105,117,1,117,32,8,3,46,105,117,1,117,24,8,3,81,105,117,1,117,16,8,3,80,105,117,1,117,8,8,3,79,105,117,1,117,0,8,3,44,105,117,1,117,248,7,3,43,105,117,1,117,240,7,3,42,105,117,1,117,232,7,3,95,105,117,1,117,224,7,3,97,105,117,1,117,216,7,3,41,105,117,1,117,208,7,3,40,105,117,1,117,200,7,3,39,105,117,1,117,192,7,3,38,105,117,1,117,184,7,3,78,105,117,1,117,176,7,3,77,105,117,1,117,168,7,3,37,105,117,1,117,160,7,3,36,105,117,1,117,152,7,3,34,105,117,1,117,144,7,3,33,105,117,1,117,136,7,3,32,105,117,1,117,128,7,3,31,105,117,1,117,120,7,3,68,105,117,1,117,112,7,3,94,105,117,1,117,104,7,3,93,105,117,1,117,88,7,3,99,105,117,1,117,72,7,3,98,105,117,1,117,64,7,3,66,105,117,1,117,56,7,3,65,105,117,1,117,48,7,3,64,105,117,1,117,40,7,3,88,105,117,1,117,32,7,3,86,105,117,1,117,24,7,3,92,105,117,1,117,16,7,3,85,105,117,1,117,8,7,3,63,105,117,1,117,0,7,3,84,105,117,1,117,248,6,3,62,105,117,1,117,240,6,3,61,105,117,1,117,232,6,3,60,105,117,1,117,224,6,3,83,105,117,1,117,216,6,3,59,105,117,1,117,208,6,3,58,105,117,1,117,200,6,3,57,105,117,1,117,192,6,3,56,105,117,1,117,184,6,3,55,105,117,1,117,176,6,3,54,105,117,1,117,168,6,3,53,105,117,1,117,160,6,3,52,105,117,1,117,152,6,3,51,105,117,1,117,144,6,3,50,105,117,1,117,136,6,3,49,105,117,1,117,128,6,3,48,105,117,1,117,120,6,3,45,105,117,1,117,112,6,3,35,105,117,1,117,104,6,3,67,105,117,1,117,96,6,3,87,105,117,1,117,88,6,3,82,105,117,1,117,80,6,3,2,105,117,1,117,32,6,3,103,105,117,1,117,16,5,3,96,105,117,1,117,0,4,3,13,105,117,1,117,80,9,3,71,105,117,1,117,72,9,3,75,105,117,0,102,105,0,1,117,88,9,3,101,105,117,1,117,64,9,3,28,105,117,1,117,56,9,3,29,105,117,1,117,48,9,3,30,105,117,1,117,40,9,3,3,105,117,1,117,32,9,3,4,105,117,1,117,24,9,3,5,105,117,1,117,16,9,3,6,105,117,1,117,8,9,3,7,105,117,1,117,0,9,3,8,105,117,1,117,248,8,3,9,105,117,1,117,240,8,3,10,105,117,1,117,232,8,3,11,105,117,1,117,224,8,3,12,105,117,1,117,216,8,3,14,105,117,1,117,208,8,3,89,105,117,1,117,200,8,3,69,105,117,1,117,192,8,3,70,105,117,1,117,90,9,3,15,105,117,1,117,184,8,3,16,105,117,1,117,176,8,3,17,105,117,1,117,168,8,3,18,105,117,1,117,160,8,3,90,105,117,1,117,152,8,3,91,105,117,1,117,144,8,3,19,105,117,1,117,136,8,3,20,105,117,1,117,128,8,3,72,105,117,1,117,120,8,3,73,105,117,1,117,112,8,3,21,105,117,1,117,104,8,3,22,105,117,1,117,96,8,3,23,105,117,1,117,88,8,3,24,105,117,1,117,80,8,3,25,105,117,1,117,72,8,3,74,105,117,1,117,64,8,3,76,105,117,1,117,56,8,3,26,105,117,1,117,48,8,3,27,105,117,2,117,0,0,153,8,227,0,78,0,117,0,41,117,0,24,42,117,117,24,1,118,80,0,1,120,21,0,138,117,118,120,156,211,0,0,164,211,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,220,210,0,0,168,211,0,0,220,210,0,0,172,211,0,0,19,118,0,107,34,118,118,108,121,118,44,0,2,118,0,0,50,160,10,0,78,118,118,0,120,118,9,0,2,118,0,0,154,47,8,0,81,118,118,0,41,118,118,4,25,118,118,16,135,0,165,0,118,0,0,0,119,0,6,0,2,119,0,0,46,67,9,0,135,118,24,0,119,2,0,0,1,0,0,0,19,119,0,110,41,119,119,4,25,119,119,46,2,120,0,0,108,9,227,0,82,120,120,0,41,120,120,16,2,121,0,0,168,8,227,0,80,121,121,0,26,121,121,18,19,121,121,110,20,120,120,121,135,118,166,0,119,120,0,0,2,118,0,0,153,8,227,0,78,0,118,0,26,118,0,1,19,118,118,107,34,118,118,12,121,118,3,0,1,104,9,0,119,0,10,0,1,104,7,0,119,0,8,0,1,104,7,0,119,0,6,0,1,104,7,0,119,0,4,0,119,0,254,255,119,0,253,255,119,0,252,255,32,117,104,7,121,117,95,0,41,117,0,24,42,117,117,24,1,118,0,0,1,120,77,0,138,117,118,120,4,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,12,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,0,213,0,0,16,213,0,0,119,0,5,0,0,2,0,0,119,0,10,0,119,0,254,255,119,0,253,255,2,117,0,0,100,35,69,0,78,117,117,0,120,117,3,0,0,2,0,0,119,0,2,0,1,104,9,0,32,117,104,9,121,117,10,0,135,117,167,0,121,117,5,0,2,117,0,0,153,8,227,0,78,2,117,0,119,0,4,0,137,105,0,0,1,117,0,0,139,117,0,0,41,117,2,24,42,117,117,24,1,120,0,0,1,122,114,0,138,117,120,122,128,215,0,0,140,216,0,0,248,216,0,0,44,217,0,0,148,217,0,0,24,218,0,0,116,218,0,0,44,219,0,0,80,219,0,0,156,219,0,0,16,220,0,0,104,222,0,0,152,222,0,0,252,223,0,0,0,224,0,0,32,224,0,0,132,224,0,0,232,224,0,0,76,225,0,0,176,225,0,0,20,226,0,0,108,226,0,0,196,226,0,0,40,227,0,0,56,215,0,0,104,227,0,0,116,227,0,0,216,227,0,0,4,228,0,0,56,215,0,0,56,215,0,0,56,228,0,0,56,215,0,0,4,229,0,0,100,229,0,0,196,229,0,0,4,230,0,0,44,230,0,0,96,230,0,0,216,230,0,0,56,231,0,0,152,231,0,0,60,232,0,0,116,237,0,0,128,240,0,0,92,245,0,0,104,248,0,0,132,248,0,0,72,249,0,0,248,249,0,0,240,250,0,0,244,250,0,0,184,252,0,0,244,252,0,0,76,253,0,0,196,253,0,0,92,254,0,0,240,254,0,0,92,255,0,0,252,255,0,0,104,0,1,0,224,1,1,0,80,3,1,0,160,4,1,0,220,6,1,0,252,8,1,0,104,10,1,0,244,11,1,0,128,13,1,0,188,13,1,0,4,14,1,0,104,14,1,0,232,14,1,0,76,15,1,0,152,15,1,0,20,16,1,0,196,16,1,0,104,17,1,0,148,17,1,0,16,18,1,0,80,18,1,0,160,18,1,0,244,18,1,0,88,19,1,0,116,19,1,0,136,19,1,0,0,20,1,0,140,20,1,0,112,21,1,0,140,22,1,0,236,22,1,0,136,23,1,0,68,24,1,0,216,24,1,0,56,215,0,0,104,25,1,0,128,25,1,0,56,215,0,0,20,26,1,0,104,26,1,0,220,26,1,0,0,27,1,0,96,31,1,0,228,31,1,0,92,32,1,0,164,32,1,0,56,215,0,0,56,215,0,0,92,33,1,0,56,215,0,0,56,215,0,0,56,215,0,0,56,215,0,0,240,33,1,0,19,122,2,107,34,122,122,109,121,122,13,0,1,122,14,0,85,27,122,0,1,120,3,0,109,27,4,120,79,103,108,0,19,120,2,107,85,47,120,0,109,47,4,103,2,122,0,0,191,89,9,0,135,120,18,0,27,122,47,0,1,120,0,0,83,108,120,0,119,0,173,18,2,118,0,0,168,8,227,0,80,0,118,0,2,118,0,0,250,255,0,0,19,120,0,110,47,118,118,120,12,216,0,0,1,118,14,0,85,71,118,0,1,120,2,0,109,71,4,120,2,118,0,0,204,82,9,0,135,120,18,0,71,118,82,0,135,120,168,0,135,103,168,0,135,120,168,0,1,120,14,0,85,75,120,0,1,118,0,0,109,75,4,118,19,118,103,110,85,87,118,0,2,120,0,0,42,83,9,0,135,118,18,0,75,120,87,0,19,120,103,110,1,119,0,0,1,121,0,0,135,118,169,0,120,119,121,0,119,0,13,0,19,119,0,110,25,119,119,2,2,120,0,0,140,9,227,0,82,120,120,0,3,119,119,120,135,121,165,0,119,0,0,0,1,119,0,0,1,120,0,0,135,118,169,0,121,119,120,0,2,118,0,0,80,102,43,2,78,118,118,0,120,118,6,0,2,118,0,0,81,102,43,2,1,120,0,0,83,118,120,0,119,0,117,18,1,120,4,0,135,105,170,0,120,0,0,0,1,120,0,0,85,105,120,0,2,118,0,0,160,225,6,0,1,119,0,0,135,120,171,0,105,118,119,0,119,0,1,0,1,120,1,0,84,102,120,0,2,120,0,0,101,35,69,0,1,119,1,0,83,120,119,0,1,120,0,0,134,119,0,0,184,228,1,0,120,103,102,0,78,0,103,0,41,119,0,24,42,119,119,24,32,119,119,3,121,119,7,0,1,119,1,0,83,106,119,0,135,119,167,0,121,119,87,18,78,0,103,0,119,0,1,0,83,108,0,0,2,119,0,0,101,35,69,0,1,120,0,0,83,119,120,0,119,0,79,18,2,120,0,0,160,8,227,0,78,120,120,0,83,103,120,0,1,120,1,0,84,102,120,0,1,119,1,0,134,120,0,0,80,226,1,0,119,103,102,0,78,120,103,0,83,108,120,0,119,0,66,18,1,120,0,4,135,0,165,0,120,0,0,0,41,120,0,16,42,120,120,16,32,120,120,0,2,119,0,0,48,172,17,0,82,119,119,0,32,119,119,0,20,120,120,119,120,120,54,18,19,119,0,110,25,119,119,4,1,118,3,0,135,120,172,0,119,118,0,0,2,118,0,0,48,172,17,0,82,118,118,0,1,119,1,0,1,121,255,255,135,120,173,0,118,108,103,119,121,0,0,0,119,0,40,18,1,120,0,4,135,0,165,0,120,0,0,0,41,120,0,16,42,120,120,16,32,120,120,0,2,121,0,0,48,172,17,0,82,121,121,0,32,121,121,0,20,120,120,121,120,120,28,18,19,120,0,110,25,103,120,4,1,121,3,0,135,120,172,0,103,121,0,0,2,121,0,0,48,172,17,0,82,121,121,0,2,119,0,0,160,8,227,0,78,119,119,0,1,118,1,0,1,122,1,0,1,123,255,255,135,120,174,0,121,119,118,122,123,0,0,0,1,123,1,0,135,120,172,0,103,123,0,0,119,0,7,18,2,120,0,0,228,73,69,0,82,0,120,0,120,0,10,0,2,120,0,0,232,73,69,0,82,0,120,0,120,0,6,0,2,120,0,0,236,73,69,0,82,0,120,0,120,0,2,0,119,0,250,17,82,123,0,0,106,123,123,36,1,122,255,1,19,123,123,122,2,122,0,0,160,8,227,0,78,122,122,0,135,120,175,0,123,0,122,0,119,0,240,17,2,120,0,0,160,8,227,0,78,0,120,0,41,120,0,24,42,120,120,24,33,120,120,255,121,120,13,0,83,103,0,0,1,120,1,0,84,102,120,0,1,123,1,0,134,120,0,0,80,226,1,0,123,103,102,0,2,120,0,0,160,8,227,0,78,120,120,0,83,108,120,0,119,0,221,17,2,120,0,0,184,8,227,0,2,123,0,0,184,8,227,0,81,123,123,0,25,123,123,2,84,120,123,0,135,123,176,0,121,123,13,0,1,123,1,0,84,102,123,0,1,120,0,0,134,123,0,0,184,228,1,0,120,103,102,0,78,123,103,0,83,108,123,0,1,120,0,0,135,123,177,0,120,0,0,0,119,0,200,17,1,123,0,0,83,108,123,0,1,120,1,0,135,123,177,0,120,0,0,0,119,0,194,17,1,123,1,0,84,102,123,0,1,120,0,0,134,123,0,0,184,228,1,0,120,103,102,0,78,123,103,0,83,108,123,0,119,0,185,17,1,123,1,0,84,102,123,0,1,120,0,0,134,123,0,0,184,228,1,0,120,103,102,0,78,0,103,0,41,123,0,24,42,123,123,24,32,123,123,3,121,123,7,0,1,123,1,0,83,106,123,0,135,123,167,0,121,123,170,17,78,0,103,0,119,0,1,0,83,108,0,0,119,0,166,17,1,123,1,0,84,102,123,0,2,123,0,0,144,9,227,0,82,123,123,0,2,120,0,0,160,8,227,0,81,120,120,0,3,0,123,120,135,101,178,0,0,0,0,0,83,103,101,0,41,120,101,24,42,120,120,24,33,120,120,36,121,120,150,17,25,0,0,1,1,123,1,0,134,120,0,0,80,226,1,0,123,103,102,0,135,101,178,0,0,0,0,0,83,103,101,0,41,120,101,24,42,120,120,24,33,120,120,36,120,120,245,255,119,0,137,17,2,120,0,0,144,9,227,0,82,120,120,0,2,123,0,0,160,8,227,0,81,123,123,0,3,5,120,123,135,0,178,0,5,0,0,0,1,123,1,0,84,102,123,0,41,123,0,24,42,123,123,24,120,123,2,0,119,0,122,17,26,123,0,1,41,123,123,24,42,123,123,24,0,3,123,0,135,123,167,0,121,123,116,17,25,4,5,2,1,0,0,0,41,123,0,24,42,123,123,24,41,120,3,24,42,120,120,24,45,123,123,120,40,221,0,0,1,120,0,0,134,123,0,0,184,228,1,0,120,103,102,0,78,2,103,0,41,123,2,24,42,123,123,24,1,120,3,0,1,122,6,0,138,123,120,122,200,220,0,0,196,220,0,0,196,220,0,0,196,220,0,0,196,220,0,0,228,220,0,0,119,0,10,0,1,120,1,0,83,106,120,0,135,120,167,0,120,120,2,0,119,0,86,17,78,2,103,0,119,0,3,0,1,104,54,0,119,0,41,0,41,123,2,24,42,123,123,24,32,123,123,13,121,123,3,0,1,104,61,0,119,0,35,0,1,123,7,0,83,101,123,0,1,120,1,0,134,123,0,0,80,226,1,0,120,101,102,0,135,123,167,0,120,123,217,255,119,0,67,17,1,120,0,0,134,123,0,0,184,228,1,0,120,103,102,0,78,123,103,0,1,120,3,0,1,122,6,0,138,123,120,122,104,221,0,0,96,221,0,0,96,221,0,0,96,221,0,0,96,221,0,0,108,221,0,0,1,104,61,0,119,0,10,0,119,0,3,0,1,104,54,0,119,0,7,0,1,123,1,0,83,106,123,0,135,123,167,0,121,123,44,17,1,104,61,0,119,0,1,0,32,123,104,54,121,123,28,0,1,104,0,0,41,123,0,24,42,123,123,24,120,123,3,0,1,0,0,0,119,0,41,0,1,120,1,0,134,123,0,0,80,226,1,0,120,103,102,0,1,123,32,0,83,103,123,0,1,120,1,0,134,123,0,0,80,226,1,0,120,103,102,0,1,123,8,0,83,103,123,0,1,120,1,0,134,123,0,0,80,226,1,0,120,103,102,0,26,123,0,1,41,123,123,24,42,123,123,24,0,0,123,0,119,0,20,0,32,123,104,61,121,123,18,0,1,104,0,0,1,120,1,0,134,123,0,0,80,226,1,0,120,103,102,0,19,120,0,107,3,120,4,120,78,122,103,0,135,123,179,0,120,122,0,0,78,123,103,0,32,123,123,13,120,123,8,0,25,123,0,1,41,123,123,24,42,123,123,24,0,0,123,0,135,123,167,0,120,123,135,255,119,0,247,16,25,122,5,1,135,123,179,0,122,0,0,0,119,0,243,16,135,123,176,0,41,123,123,31,42,123,123,31,83,108,123,0,2,123,0,0,184,8,227,0,2,122,0,0,184,8,227,0,81,122,122,0,25,122,122,2,84,123,122,0,119,0,231,16,2,122,0,0,50,160,10,0,78,122,122,0,120,122,9,0,2,122,0,0,154,47,8,0,81,122,122,0,41,122,122,4,25,122,122,16,135,0,165,0,122,0,0,0,119,0,6,0,2,123,0,0,46,67,9,0,135,122,24,0,123,67,0,0,1,0,0,0,19,122,0,110,41,122,122,4,85,103,122,0,108,103,4,0,1,122,0,0,135,0,180,0,103,122,0,0,41,122,0,24,42,122,122,24,33,122,122,255,121,122,27,0,2,122,0,0,184,35,69,0,82,122,122,0,19,123,0,107,41,123,123,2,94,0,122,123,121,0,20,0,82,123,0,0,106,123,123,44,1,120,255,1,19,123,123,120,2,120,0,0,24,17,10,0,135,122,175,0,123,0,120,0,121,122,11,0,135,122,176,0,121,122,9,0,1,122,1,0,84,102,122,0,1,123,0,0,134,122,0,0,184,228,1,0,123,103,102,0,135,122,176,0,120,122,249,255,78,0,108,0,41,122,0,24,42,122,122,24,1,123,1,0,1,120,10,0,138,122,123,120,188,223,0,0,176,223,0,0,176,223,0,0,176,223,0,0,176,223,0,0,236,223,0,0,240,223,0,0,244,223,0,0,176,223,0,0,248,223,0,0,1,123,0,0,83,108,123,0,119,0,158,16,2,123,0,0,153,8,227,0,78,103,123,0,2,123,0,0,153,8,227,0,83,123,0,0,134,123,0,0,204,206,0,0,2,123,0,0,153,8,227,0,83,123,103,0,119,0,146,16,119,0,244,255,119,0,243,255,119,0,242,255,119,0,241,255,119,0,141,16,2,123,0,0,160,8,227,0,78,123,123,0,135,122,181,0,123,0,0,0,1,122,26,0,83,108,122,0,119,0,133,16,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,120,0,0,160,8,227,0,80,120,120,0,135,122,182,0,123,120,0,0,40,122,122,1,41,122,122,31,42,122,122,31,0,103,122,0,83,108,103,0,1,122,10,0,85,28,122,0,1,120,1,0,109,28,4,120,19,120,103,107,85,35,120,0,2,122,0,0,95,83,9,0,135,120,18,0,28,122,35,0,119,0,108,16,2,122,0,0,112,9,227,0,82,122,122,0,19,122,122,110,2,123,0,0,160,8,227,0,80,123,123,0,135,120,183,0,122,123,0,0,40,120,120,1,41,120,120,31,42,120,120,31,0,103,120,0,83,108,103,0,1,120,10,0,85,29,120,0,1,123,1,0,109,29,4,123,19,123,103,107,85,45,123,0,2,120,0,0,136,83,9,0,135,123,18,0,29,120,45,0,119,0,83,16,2,120,0,0,112,9,227,0,82,120,120,0,19,120,120,110,2,122,0,0,160,8,227,0,80,122,122,0,135,123,184,0,120,122,0,0,40,123,123,1,41,123,123,31,42,123,123,31,0,103,123,0,83,108,103,0,1,123,10,0,85,30,123,0,1,122,1,0,109,30,4,122,19,122,103,107,85,48,122,0,2,123,0,0,178,83,9,0,135,122,18,0,30,123,48,0,119,0,58,16,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,120,0,0,160,8,227,0,80,120,120,0,135,122,185,0,123,120,0,0,40,122,122,1,41,122,122,31,42,122,122,31,0,103,122,0,83,108,103,0,1,122,10,0,85,3,122,0,1,120,1,0,109,3,4,120,19,120,103,107,85,49,120,0,2,122,0,0,220,83,9,0,135,120,18,0,3,122,49,0,119,0,33,16,2,122,0,0,112,9,227,0,82,122,122,0,19,122,122,110,2,123,0,0,160,8,227,0,80,123,123,0,135,120,186,0,122,123,0,0,40,120,120,1,41,120,120,31,42,120,120,31,0,103,120,0,83,108,103,0,1,120,10,0,85,4,120,0,1,123,1,0,109,4,4,123,19,123,103,107,85,50,123,0,2,120,0,0,5,84,9,0,135,123,18,0,4,120,50,0,119,0,8,16,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,120,0,0,160,8,227,0,80,120,120,0,1,122,0,0,135,103,187,0,123,120,122,0,83,108,103,0,1,122,10,0,85,5,122,0,1,120,1,0,109,5,4,120,19,120,103,107,85,51,120,0,2,122,0,0,44,84,9,0,135,120,18,0,5,122,51,0,119,0,242,15,2,120,0,0,112,9,227,0,82,120,120,0,19,120,120,110,2,122,0,0,160,8,227,0,80,122,122,0,1,123,0,0,135,103,188,0,120,122,123,0,83,108,103,0,1,123,10,0,85,6,123,0,1,122,1,0,109,6,4,122,19,122,103,107,85,52,122,0,2,123,0,0,81,84,9,0,135,122,18,0,6,123,52,0,119,0,220,15,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,120,0,0,160,8,227,0,80,120,120,0,135,122,189,0,123,120,0,0,40,122,122,1,41,122,122,31,42,122,122,31,0,103,122,0,83,108,103,0,1,122,10,0,85,7,122,0,1,120,1,0,109,7,4,120,19,120,103,107,85,53,120,0,2,122,0,0,119,84,9,0,135,120,18,0,7,122,53,0,119,0,195,15,2,122,0,0,112,9,227,0,82,122,122,0,19,122,122,110,2,123,0,0,160,8,227,0,80,123,123,0,135,120,190,0,122,123,0,0,121,120,4,0,1,120,0,0,83,108,120,0,119,0,182,15,1,120,255,255,83,108,120,0,119,0,179,15,135,122,191,0,83,108,122,0,119,0,176,15,2,122,0,0,50,160,10,0,78,122,122,0,120,122,17,0,2,118,0,0,154,47,8,0,81,118,118,0,41,118,118,4,25,118,118,12,2,120,0,0,112,9,227,0,82,120,120,0,41,120,120,16,2,123,0,0,160,8,227,0,81,123,123,0,20,120,120,123,135,122,166,0,118,120,0,0,119,0,156,15,2,120,0,0,150,68,9,0,135,122,24,0,120,59,0,0,119,0,151,15,1,123,0,0,2,122,0,0,156,8,227,0,2,118,0,0,160,8,227,0,135,120,192,0,123,122,108,118,120,120,143,15,1,120,255,255,83,108,120,0,119,0,140,15,2,118,0,0,160,8,227,0,78,118,118,0,2,122,0,0,156,8,227,0,2,123,0,0,160,8,227,0,135,120,192,0,118,122,108,123,120,120,130,15,1,120,255,255,83,108,120,0,119,0,127,15,2,123,0,0,160,8,227,0,78,0,123,0,41,123,2,24,42,123,123,24,32,123,123,31,41,122,0,24,42,122,122,24,32,122,122,0,20,123,123,122,121,123,3,0,135,0,191,0,119,0,5,0,26,123,0,1,41,123,123,24,42,123,123,24,0,0,123,0,2,123,0,0,96,40,13,0,19,122,0,107,41,122,122,2,94,123,123,122,120,123,4,0,1,123,255,255,83,108,123,0,119,0,101,15,1,123,0,0,83,108,123,0,2,123,0,0,136,35,69,0,81,103,123,0,2,123,0,0,112,9,227,0,85,123,103,0,2,123,0,0,144,9,227,0,41,122,103,4,85,123,122,0,2,122,0,0,164,8,227,0,19,123,0,107,84,122,123,0,1,123,14,0,85,89,123,0,1,122,3,0,109,89,4,122,2,123,0,0,217,85,9,0,135,122,18,0,89,123,92,0,119,0,76,15,1,120,1,0,84,103,120,0,2,120,0,0,112,9,227,0,82,120,120,0,19,120,120,110,2,123,0,0,160,8,227,0,80,123,123,0,1,122,1,0,135,103,193,0,120,123,103,122,83,108,103,0,1,122,10,0,85,8,122,0,1,123,1,0,109,8,4,123,19,123,103,107,85,54,123,0,2,122,0,0,158,84,9,0,135,123,18,0,8,122,54,0,119,0,52,15,1,123,1,0,84,103,123,0,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,122,0,0,160,8,227,0,80,122,122,0,1,120,1,0,135,103,194,0,123,122,103,120,83,108,103,0,1,120,10,0,85,9,120,0,1,122,1,0,109,9,4,122,19,122,103,107,85,55,122,0,2,120,0,0,202,84,9,0,135,122,18,0,9,120,55,0,119,0,28,15,2,120,0,0,112,9,227,0,82,120,120,0,19,120,120,110,2,123,0,0,160,8,227,0,80,123,123,0,135,122,195,0,120,123,0,0,121,122,4,0,1,122,0,0,83,108,122,0,119,0,15,15,1,122,255,255,83,108,122,0,119,0,12,15,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,120,0,0,160,8,227,0,80,120,120,0,135,122,196,0,123,120,0,0,119,0,2,15,79,120,108,0,41,120,120,2,2,118,0,0,112,9,227,0,82,118,118,0,41,118,118,16,2,123,0,0,160,8,227,0,81,123,123,0,20,118,118,123,135,122,166,0,120,118,0,0,119,0,245,14,2,122,0,0,160,8,227,0,80,2,122,0,2,122,0,0,50,160,10,0,78,122,122,0,120,122,9,0,2,122,0,0,154,47,8,0,81,122,122,0,41,122,122,4,25,122,122,16,135,0,165,0,122,0,0,0,119,0,6,0,2,118,0,0,46,67,9,0,135,122,24,0,118,83,0,0,1,0,0,0,19,120,0,110,41,120,120,4,39,120,120,2,135,118,165,0,120,0,0,0,135,122,197,0,2,118,0,0,1,122,240,255,83,108,122,0,119,0,215,14,2,122,0,0,112,9,227,0,82,122,122,0,19,122,122,110,2,120,0,0,160,8,227,0,80,120,120,0,2,123,0,0,156,8,227,0,1,118,0,0,135,103,193,0,122,120,123,118,83,108,103,0,1,118,10,0,85,10,118,0,1,123,1,0,109,10,4,123,19,123,103,107,85,56,123,0,2,118,0,0,247,84,9,0,135,123,18,0,10,118,56,0,119,0,191,14,2,123,0,0,112,9,227,0,82,123,123,0,19,123,123,110,2,118,0,0,160,8,227,0,80,118,118,0,2,120,0,0,156,8,227,0,1,122,0,0,135,103,194,0,123,118,120,122,83,108,103,0,1,122,10,0,85,11,122,0,1,120,1,0,109,11,4,120,19,120,103,107,85,57,120,0,2,122,0,0,42,85,9,0,135,120,18,0,11,122,57,0,119,0,167,14,2,122,0,0,144,9,227,0,82,122,122,0,2,118,0,0,176,8,227,0,81,118,118,0,3,122,122,118,1,118,255,3,135,120,198,0,122,102,118,0,2,120,0,0,100,9,227,0,82,120,120,0,19,120,120,110,2,118,0,0,180,8,227,0,80,118,118,0,78,122,108,0,135,102,199,0,120,118,122,102,103,0,0,0,83,108,102,0,2,122,0,0,176,8,227,0,2,118,0,0,176,8,227,0,81,118,118,0,79,120,103,0,3,118,118,120,84,122,118,0,1,118,10,0,85,12,118,0,1,122,1,0,109,12,4,122,19,122,102,107,85,58,122,0,2,118,0,0,94,85,9,0,135,122,18,0,12,118,58,0,119,0,126,14,2,122,0,0,252,34,69,0,82,122,122,0,32,0,122,7,2,122,0,0,55,103,43,2,78,122,122,0,33,122,122,0,20,122,122,0,121,122,215,0,81,118,108,0,135,122,200,0,118,0,0,0,121,0,132,0,2,118,0,0,164,8,227,0,81,118,118,0,135,122,200,0,118,0,0,0,2,118,0,0,100,9,227,0,82,118,118,0,19,118,118,110,135,122,200,0,118,0,0,0,2,122,0,0,168,8,227,0,81,122,122,0,2,118,0,0,250,255,0,0,3,122,122,118,19,122,122,110,0,102,122,0,2,122,0,0,168,8,227,0,84,122,102,0,2,122,0,0,153,8,227,0,1,118,0,0,83,122,118,0,2,118,0,0,164,8,227,0,84,118,102,0,2,118,0,0,108,9,227,0,82,118,118,0,19,118,118,110,0,102,118,0,2,118,0,0,100,9,227,0,85,118,102,0,2,118,0,0,132,9,227,0,41,122,102,4,85,118,122,0,1,118,28,0,134,122,0,0,164,237,1,0,118,0,0,0,2,122,0,0,100,9,227,0,82,122,122,0,41,122,122,4,2,118,0,0,240,255,15,0,19,122,122,118,2,118,0,0,164,8,227,0,81,118,118,0,3,102,122,118,2,118,0,0,168,8,227,0,2,122,0,0,168,8,227,0,81,122,122,0,25,122,122,6,84,118,122,0,135,122,168,0,19,122,122,110,0,101,122,0,2,122,0,0,100,9,227,0,85,122,101,0,2,122,0,0,132,9,227,0,41,118,101,4,85,122,118,0,2,118,0,0,164,8,227,0,135,122,168,0,84,118,122,0,135,122,168,0,84,108,122,0,135,122,178,0,102,0,0,0,19,122,122,107,43,122,122,4,27,101,122,10,135,122,178,0,102,0,0,0,38,122,122,15,3,101,101,122,1,122,108,7,3,103,101,122,2,122,0,0,156,8,227,0,1,120,188,7,48,120,103,120,0,234,0,0,1,120,208,7,3,120,101,120,0,118,120,0,119,0,2,0,0,118,103,0,84,122,118,0,25,103,102,1,135,118,178,0,103,0,0,0,2,118,0,0,161,8,227,0,135,122,178,0,103,0,0,0,19,122,122,107,43,122,122,4,83,118,122,0,25,102,102,2,135,122,178,0,102,0,0,0,19,122,122,107,43,122,122,4,27,101,122,10,2,122,0,0,160,8,227,0,135,118,178,0,102,0,0,0,38,118,118,15,3,118,101,118,83,122,118,0,135,118,178,0,103,0,0,0,135,118,178,0,103,0,0,0,38,118,118,15,83,108,118,0,119,0,237,13,2,118,0,0,153,8,227,0,1,122,4,0,83,118,122,0,1,118,26,0,134,122,0,0,164,237,1,0,118,0,0,0,135,122,168,0,84,108,122,0,2,122,0,0,157,8,227,0,79,101,122,0,43,122,101,4,27,122,122,10,38,118,101,15,3,101,122,118,2,118,0,0,157,8,227,0,83,118,101,0,2,118,0,0,156,8,227,0,79,103,118,0,43,118,103,4,27,118,118,10,38,122,103,15,3,118,118,122,19,118,118,107,19,122,101,107,27,122,122,100,3,101,118,122,2,122,0,0,156,8,227,0,84,122,101,0,2,122,0,0,161,8,227,0,79,103,122,0,43,122,103,4,27,122,122,10,38,118,103,15,3,103,122,118,2,118,0,0,161,8,227,0,83,118,103,0,2,118,0,0,160,8,227,0,79,100,118,0,43,118,100,4,27,118,118,10,38,122,100,15,3,100,118,122,2,122,0,0,160,8,227,0,83,122,100,0,19,122,103,107,0,103,122,0,1,122,14,0,4,122,122,103,28,102,122,12,19,122,101,107,4,101,122,102,19,122,100,107,3,122,101,122,28,118,101,4,3,122,122,118,28,118,101,156,3,122,122,118,1,118,144,1,6,118,101,118,3,122,122,118,27,118,102,12,3,118,118,103,27,118,118,31,26,118,118,62,28,118,118,12,3,122,122,118,30,122,122,7,83,108,122,0,119,0,158,13,1,122,0,0,84,108,122,0,1,118,26,0,134,122,0,0,164,237,1,0,118,0,0,0,78,0,108,0,41,122,0,24,42,122,122,24,120,122,4,0,78,2,112,0,78,0,113,0,119,0,61,0,79,122,113,0,19,118,0,107,3,4,122,118,19,118,4,107,0,0,118,0,83,113,0,0,78,2,112,0,19,118,4,107,0,3,118,0,2,118,0,0,134,85,9,0,19,122,2,107,91,5,118,122,48,118,5,3,224,236,0,0,2,118,0,0,76,35,69,0,80,6,118,0,41,118,2,24,42,118,118,24,32,118,118,2,38,122,6,3,32,122,122,0,19,118,118,122,121,118,14,0,37,118,3,29,121,118,3,0,1,2,2,0,119,0,32,0,1,118,3,0,83,112,118,0,1,118,227,0,3,118,4,118,19,118,118,107,0,0,118,0,83,113,0,0,1,2,3,0,119,0,23,0,25,118,2,1,41,118,118,24,42,118,118,24,0,2,118,0,83,112,2,0,4,118,4,5,19,118,118,107,0,0,118,0,83,113,0,0,19,118,2,107,36,118,118,12,120,118,11,0,1,118,1,0,83,112,118,0,2,118,0,0,76,35,69,0,25,122,6,1,41,122,122,16,42,122,122,16,84,118,122,0,1,2,1,0,119,0,1,0,19,122,2,107,0,102,122,0,1,122,14,0,4,122,122,102,28,101,122,12,2,122,0,0,76,35,69,0,80,103,122,0,19,122,103,110,4,100,122,101,19,122,0,107,3,122,100,122,28,118,100,4,3,122,122,118,28,118,100,156,3,122,122,118,1,118,144,1,6,118,100,118,3,122,122,118,27,118,101,12,3,118,118,102,27,118,118,31,26,118,118,62,28,118,118,12,3,122,122,118,30,122,122,7,83,108,122,0,2,122,0,0,156,8,227,0,84,122,103,0,2,122,0,0,161,8,227,0,83,122,2,0,2,122,0,0,160,8,227,0,83,122,0,0,119,0,48,13,2,122,0,0,55,103,43,2,78,122,122,0,121,122,133,0,0,0,103,0,1,2,48,11,25,3,0,48,116,0,2,0,25,0,0,4,25,2,2,4,54,122,0,3,144,237,0,0,2,122,0,0,156,8,227,0,80,0,122,0,19,122,0,110,0,3,122,0,38,122,3,3,120,122,10,0,31,122,3,100,33,122,122,0,1,118,144,1,9,118,3,118,32,118,118,0,20,122,122,118,121,122,3,0,1,118,29,0,109,103,4,118,1,118,83,31,1,122,188,7,4,122,0,122,19,122,122,110,47,118,118,122,4,238,0,0,1,0,255,255,119,0,99,0,2,118,0,0,161,8,227,0,78,102,118,0,19,118,102,107,0,0,118,0,1,118,11,0,26,122,102,1,19,122,122,107,47,118,118,122,52,238,0,0,1,0,255,255,119,0,87,0,2,118,0,0,160,8,227,0,78,2,118,0,41,118,2,24,42,118,118,24,120,118,3,0,1,0,255,255,119,0,79,0,41,118,0,2,94,118,103,118,19,122,2,107,47,118,118,122,112,238,0,0,1,0,255,255,119,0,72,0,81,122,108,0,135,118,200,0,122,0,0,0,2,122,0,0,156,8,227,0,81,122,122,0,135,118,200,0,122,0,0,0,2,122,0,0,160,8,227,0,81,122,122,0,135,118,200,0,122,0,0,0,1,118,5,0,83,108,118,0,29,103,3,100,2,118,0,0,157,8,227,0,1,122,232,3,7,122,3,122,41,122,122,4,31,120,103,10,20,122,122,120,83,118,122,0,27,122,103,100,4,103,3,122,29,0,103,10,2,122,0,0,156,8,227,0,41,118,0,4,27,120,0,10,4,120,103,120,20,118,118,120,83,122,118,0,2,118,0,0,161,8,227,0,79,0,118,0,29,103,0,10,2,118,0,0,161,8,227,0,41,122,103,4,27,120,103,10,4,120,0,120,20,122,122,120,83,118,122,0,2,122,0,0,160,8,227,0,79,103,122,0,29,0,103,10,2,122,0,0,160,8,227,0,41,118,0,4,27,120,0,10,4,120,103,120,20,118,118,120,83,122,118,0,1,122,26,0,134,118,0,0,164,237,1,0,122,0,0,0,2,118,0,0,160,8,227,0,135,122,168,0,84,118,122,0,2,122,0,0,156,8,227,0,135,118,168,0,84,122,118,0,135,118,168,0,84,108,118,0,1,0,0,0,83,108,0,0,119,0,168,12,2,118,0,0,156,8,227,0,80,0,118,0,19,118,0,110,1,122,188,7,47,118,118,122,188,239,0,0,1,118,255,255,83,108,118,0,119,0,158,12,2,118,0,0,161,8,227,0,78,2,118,0,1,118,11,0,26,122,2,1,19,122,122,107,47,118,118,122,232,239,0,0,1,118,255,255,83,108,118,0,119,0,147,12,2,118,0,0,160,8,227,0,78,3,118,0,41,118,3,24,42,118,118,24,120,118,4,0],eb+51200);HEAPU8.set([1,118,255,255,83,108,118,0,119,0,138,12,2,118,0,0,134,85,9,0,19,122,2,107,91,118,118,122,19,122,3,107,47,118,118,122,96,240,0,0,38,118,0,3,32,118,118,0,41,122,2,24,42,122,122,24,32,122,122,2,19,118,118,122,41,122,3,24,42,122,122,24,32,122,122,29,19,118,118,122,120,118,4,0,1,118,255,255,83,108,118,0,119,0,117,12,2,118,0,0,76,35,69,0,84,118,0,0,83,112,2,0,83,113,3,0,1,118,0,0,83,108,118,0,119,0,109,12,2,118,0,0,252,34,69,0,82,118,118,0,32,0,118,7,2,118,0,0,55,103,43,2,78,118,118,0,33,118,118,0,20,118,118,0,121,118,178,0,81,122,108,0,135,118,200,0,122,0,0,0,121,0,124,0,2,122,0,0,164,8,227,0,81,122,122,0,135,118,200,0,122,0,0,0,2,122,0,0,100,9,227,0,82,122,122,0,19,122,122,110,135,118,200,0,122,0,0,0,2,118,0,0,168,8,227,0,81,118,118,0,2,122,0,0,250,255,0,0,3,118,118,122,19,118,118,110,0,103,118,0,2,118,0,0,168,8,227,0,84,118,103,0,2,118,0,0,153,8,227,0,1,122,0,0,83,118,122,0,2,122,0,0,164,8,227,0,84,122,103,0,2,122,0,0,108,9,227,0,82,122,122,0,19,122,122,110,0,103,122,0,2,122,0,0,100,9,227,0,85,122,103,0,2,122,0,0,132,9,227,0,41,118,103,4,85,122,118,0,1,122,28,0,134,118,0,0,164,237,1,0,122,0,0,0,2,118,0,0,100,9,227,0,82,118,118,0,41,118,118,4,2,122,0,0,240,255,15,0,19,118,118,122,2,122,0,0,164,8,227,0,81,122,122,0,3,103,118,122,2,122,0,0,168,8,227,0,2,118,0,0,168,8,227,0,81,118,118,0,25,118,118,6,84,122,118,0,135,118,168,0,19,118,118,110,0,102,118,0,2,118,0,0,100,9,227,0,85,118,102,0,2,118,0,0,132,9,227,0,41,122,102,4,85,118,122,0,2,122,0,0,164,8,227,0,135,118,168,0,84,122,118,0,135,118,168,0,84,108,118,0,25,102,103,3,135,118,178,0,102,0,0,0,19,118,118,107,43,118,118,4,27,101,118,10,2,118,0,0,157,8,227,0,135,122,178,0,102,0,0,0,38,122,122,15,3,122,101,122,83,118,122,0,25,102,103,4,135,122,178,0,102,0,0,0,19,122,122,107,43,122,122,4,27,101,122,10,2,122,0,0,156,8,227,0,135,118,178,0,102,0,0,0,38,118,118,15,3,118,101,118,83,122,118,0,25,103,103,5,135,118,178,0,103,0,0,0,19,118,118,107,43,118,118,4,27,102,118,10,2,118,0,0,161,8,227,0,135,122,178,0,103,0,0,0,38,122,122,15,3,122,102,122,83,118,122,0,2,122,0,0,160,8,227,0,1,118,0,0,83,122,118,0,119,0,228,11,2,118,0,0,153,8,227,0,1,122,2,0,83,118,122,0,1,118,26,0,134,122,0,0,164,237,1,0,118,0,0,0,135,122,168,0,84,108,122,0,2,122,0,0,157,8,227,0,79,103,122,0,2,122,0,0,157,8,227,0,43,118,103,4,27,118,118,10,38,120,103,15,3,118,118,120,83,122,118,0,2,118,0,0,156,8,227,0,79,103,118,0,2,118,0,0,156,8,227,0,43,122,103,4,27,122,122,10,38,120,103,15,3,122,122,120,83,118,122,0,2,122,0,0,161,8,227,0,79,103,122,0,2,122,0,0,161,8,227,0,43,118,103,4,27,118,118,10,38,120,103,15,3,118,118,120,83,122,118,0,2,118,0,0,160,8,227,0,1,120,108,4,135,122,201,0,120,0,0,0,31,122,122,20,27,122,122,55,31,122,122,100,83,118,122,0,119,0,178,11,1,122,0,0,84,108,122,0,1,118,26,0,134,122,0,0,164,237,1,0,118,0,0,0,78,0,108,0,41,122,0,24,42,122,122,24,121,122,51,0,79,122,113,0,19,118,0,107,3,0,122,118,83,113,0,0,78,2,112,0,19,118,0,107,0,3,118,0,2,118,0,0,134,85,9,0,19,122,2,107,91,4,118,122,48,118,4,3,92,244,0,0,2,118,0,0,76,35,69,0,80,5,118,0,41,118,2,24,42,118,118,24,32,118,118,2,38,122,5,3,32,122,122,0,19,118,118,122,121,118,9,0,37,118,3,29,120,118,26,0,1,118,3,0,83,112,118,0,1,118,227,0,3,118,0,118,83,113,118,0,119,0,20,0,25,118,2,1,41,118,118,24,42,118,118,24,0,103,118,0,83,112,103,0,4,118,0,4,83,113,118,0,19,118,103,107,36,118,118,12,120,118,10,0,1,118,1,0,83,112,118,0,2,118,0,0,76,35,69,0,25,122,5,1,41,122,122,16,42,122,122,16,84,118,122,0,119,0,1,0,2,122,0,0,153,8,227,0,1,118,44,0,83,122,118,0,2,118,0,0,156,8,227,0,81,118,118,0,41,118,118,16,2,122,0,0,160,8,227,0,81,122,122,0,20,118,118,122,0,102,118,0,2,118,0,0,156,35,69,0,82,103,118,0,59,118,100,0,2,122,0,0,244,20,8,0,82,122,122,0,77,122,122,0,61,120,0,0,0,0,128,55,65,122,122,120,66,118,118,122,16,120,102,103,1,123,0,0,125,122,120,123,103,0,0,0,4,122,102,122,77,122,122,0,65,118,118,122,75,103,118,0,29,102,103,100,2,118,0,0,160,8,227,0,27,122,102,100,4,122,103,122,83,118,122,0,2,122,0,0,161,8,227,0,31,118,102,60,83,122,118,0,2,118,0,0,156,8,227,0,1,122,112,23,7,122,103,122,31,122,122,60,83,118,122,0,2,122,0,0,157,8,227,0,2,118,0,0,64,126,5,0,7,118,103,118,31,118,118,24,83,122,118,0,2,118,0,0,184,8,227,0,2,122,0,0,184,8,227,0,81,122,122,0,25,122,122,2,84,118,122,0,119,0,54,11,2,122,0,0,55,103,43,2,78,122,122,0,120,122,64,0,1,122,14,0,85,14,122,0,1,118,3,0,109,14,4,118,2,122,0,0,147,85,9,0,135,118,18,0,14,122,60,0,1,118,23,0,2,122,0,0,157,8,227,0,79,122,122,0,15,118,118,122,1,122,59,0,2,123,0,0,156,8,227,0,79,123,123,0,15,122,122,123,20,118,118,122,1,122,59,0,2,123,0,0,161,8,227,0,79,123,123,0,15,122,122,123,20,118,118,122,1,122,99,0,2,123,0,0,160,8,227,0,79,123,123,0,15,122,122,123,20,118,118,122,121,118,4,0,1,118,255,255,83,108,118,0,119,0,15,11,2,118,0,0,160,8,227,0,80,118,118,0,2,122,0,0,156,8,227,0,80,122,122,0,20,118,118,122,41,118,118,16,42,118,118,16,120,118,12,0,2,118,0,0,156,35,69,0,1,123,108,4,135,122,201,0,123,0,0,0,85,118,122,0,2,118,0,0,181,85,9,0,135,122,24,0,118,61,0,0,119,0,5,0,2,122,0,0,156,35,69,0,1,118,0,0,85,122,118,0,1,118,0,0,83,108,118,0,119,0,243,10,2,118,0,0,157,8,227,0,78,103,118,0,19,118,103,107,0,0,118,0,19,118,103,107,36,118,118,23,121,118,118,0,2,118,0,0,156,8,227,0,78,103,118,0,19,118,103,107,0,2,118,0,19,118,103,107,36,118,118,59,121,118,110,0,2,118,0,0,161,8,227,0,78,103,118,0,19,118,103,107,0,3,118,0,19,118,103,107,36,118,118,59,121,118,102,0,2,118,0,0,160,8,227,0,78,4,118,0,19,118,4,107,36,118,118,99,121,118,96,0,27,118,0,60,3,118,118,2,27,118,118,60,3,118,118,3,27,118,118,100,19,122,4,107,3,118,118,122,27,118,118,10,28,103,118,55,81,122,108,0,135,118,200,0,122,0,0,0,2,122,0,0,156,8,227,0,81,122,122,0,135,118,200,0,122,0,0,0,2,122,0,0,160,8,227,0,81,122,122,0,135,118,200,0,122,0,0,0,2,118,0,0,153,8,227,0,1,122,3,0,83,118,122,0,2,122,0,0,157,8,227,0,79,101,122,0,29,102,101,10,2,122,0,0,157,8,227,0,41,118,102,4,27,123,102,10,4,123,101,123,20,118,118,123,83,122,118,0,2,118,0,0,156,8,227,0,79,102,118,0,29,101,102,10,2,118,0,0,156,8,227,0,41,122,101,4,27,123,101,10,4,123,102,123,20,122,122,123,83,118,122,0,2,122,0,0,161,8,227,0,79,101,122,0,29,102,101,10,2,122,0,0,161,8,227,0,41,118,102,4,27,123,102,10,4,123,101,123,20,118,118,123,83,122,118,0,2,118,0,0,160,8,227,0,1,122,0,0,83,118,122,0,1,118,26,0,134,122,0,0,164,237,1,0,118,0,0,0,2,122,0,0,153,8,227,0,1,118,1,0,83,122,118,0,2,118,0,0,156,8,227,0,43,122,103,16,84,118,122,0,2,122,0,0,160,8,227,0,84,122,103,0,1,118,26,0,134,122,0,0,164,237,1,0,118,0,0,0,2,122,0,0,160,8,227,0,135,118,168,0,84,122,118,0,2,118,0,0,156,8,227,0,135,122,168,0,84,118,122,0,135,122,168,0,84,108,122,0,1,122,0,0,83,108,122,0,119,0,118,10,1,122,255,255,83,108,122,0,119,0,115,10,2,122,0,0,99,35,69,0,78,118,108,0,32,118,118,1,38,118,118,1,83,122,118,0,119,0,108,10,2,118,0,0,50,160,10,0,78,118,118,0,120,118,11,0,2,122,0,0,154,47,8,0,81,122,122,0,41,122,122,4,25,122,122,12,135,118,201,0,122,0,0,0,43,118,118,16,0,0,118,0,119,0,6,0,2,122,0,0,28,68,9,0,135,118,24,0,122,62,0,0,1,0,0,0,2,118,0,0,100,9,227,0,85,118,0,0,2,118,0,0,132,9,227,0,41,122,0,4,85,118,122,0,2,122,0,0,50,160,10,0,78,122,122,0,120,122,11,0,2,118,0,0,154,47,8,0,81,118,118,0,41,118,118,4,25,118,118,12,135,122,201,0,118,0,0,0,19,122,122,110,0,0,122,0,119,0,6,0,2,118,0,0,28,68,9,0,135,122,24,0,118,84,0,0,1,0,0,0,2,122,0,0,164,8,227,0,84,122,0,0,119,0,59,10,78,122,108,0,1,118,0,0,1,123,2,0,138,122,118,123,100,249,0,0,120,249,0,0,119,0,19,0,2,118,0,0,165,8,227,0,1,123,255,255,83,118,123,0,119,0,14,0,2,123,0,0,40,66,9,0,78,123,123,0,121,123,10,0,135,123,202,0,121,123,8,0,135,123,203,0,121,123,6,0,2,123,0,0,165,8,227,0,1,118,16,0,83,123,118,0,119,0,1,0,2,122,0,0,81,35,69,0,78,122,122,0,83,108,122,0,2,122,0,0,153,8,227,0,2,118,0,0,82,35,69,0,78,118,118,0,83,122,118,0,2,118,0,0,164,8,227,0,1,122,0,0,83,118,122,0,2,122,0,0,156,8,227,0,1,118,0,0,84,122,118,0,119,0,15,10,2,118,0,0,50,160,10,0,78,118,118,0,120,118,9,0,2,118,0,0,154,47,8,0,81,118,118,0,41,118,118,4,25,118,118,16,135,0,165,0,118,0,0,0,119,0,6,0,2,122,0,0,46,67,9,0,135,118,24,0,122,63,0,0,1,0,0,0,2,122,0,0,160,8,227,0,135,118,204,0,0,122,0,0,2,118,0,0,50,160,10,0,78,118,118,0,120,118,9,0,2,118,0,0,154,47,8,0,81,118,118,0,41,118,118,4,25,118,118,16,135,0,165,0,118,0,0,0,119,0,6,0,2,122,0,0,46,67,9,0,135,118,24,0,122,85,0,0,1,0,0,0,1,122,1,0,78,123,108,0,135,118,169,0,0,122,123,0,2,118,0,0,80,102,43,2,78,118,118,0,120,118,6,0,2,118,0,0,81,102,43,2,1,123,0,0,83,118,123,0,119,0,220,9,1,123,4,0,135,105,170,0,123,0,0,0,1,123,0,0,85,105,123,0,2,118,0,0,160,225,6,0,1,122,0,0,135,123,171,0,105,118,122,0,119,0,83,250,119,0,82,250,78,0,108,0,41,122,0,24,42,122,122,24,1,123,0,0,1,118,8,0,138,122,123,118,96,251,0,0,124,251,0,0,160,251,0,0,220,251,0,0,8,252,0,0,12,252,0,0,32,252,0,0,180,252,0,0,1,118,14,0,85,70,118,0,1,123,3,0,109,70,4,123,19,123,0,107,85,88,123,0,2,118,0,0,17,86,9,0,135,123,18,0,70,118,88,0,1,123,255,255,83,108,123,0,119,0,181,9,2,123,0,0,160,8,227,0,2,118,0,0,100,35,69,0,78,118,118,0,83,123,118,0,119,0,174,9,2,118,0,0,100,35,69,0,2,123,0,0,160,8,227,0,78,123,123,0,33,123,123,0,38,123,123,1,83,118,123,0,119,0,165,9,2,123,0,0,100,35,69,0,78,103,123,0,2,123,0,0,100,35,69,0,2,118,0,0,160,8,227,0,78,118,118,0,33,118,118,0,38,118,118,1,83,123,118,0,2,118,0,0,160,8,227,0,83,118,103,0,119,0,150,9,1,118,14,0,85,69,118,0,1,123,3,0,109,69,4,123,81,123,108,0,85,86,123,0,2,118,0,0,244,85,9,0,135,123,18,0,69,118,86,0,119,0,139,9,119,0,245,255,2,123,0,0,160,8,227,0,1,118,3,0,83,123,118,0,119,0,133,9,2,118,0,0,164,8,227,0,2,123,0,0,81,35,69,0,78,123,123,0,83,118,123,0,2,123,0,0,165,8,227,0,2,118,0,0,82,35,69,0,78,118,118,0,83,123,118,0,2,118,0,0,160,8,227,0,2,123,0,0,83,35,69,0,78,123,123,0,83,118,123,0,2,123,0,0,40,66,9,0,78,123,123,0,120,123,3,0,1,0,0,0,119,0,10,0,135,123,202,0,121,123,7,0,135,0,203,0,1,123,16,0,1,118,0,0,125,0,0,123,118,0,0,0,119,0,2,0,1,0,0,0,2,118,0,0,161,8,227,0,83,118,0,0,119,0,96,9,119,0,95,9,2,122,0,0,154,47,8,0,81,103,122,0,2,122,0,0,100,9,227,0,85,122,103,0,2,122,0,0,132,9,227,0,41,123,103,4,85,122,123,0,2,123,0,0,164,8,227,0,1,122,1,0,84,123,122,0,119,0,80,9,2,122,0,0,164,8,227,0,79,118,108,0,41,118,118,2,135,123,165,0,118,0,0,0,84,122,123,0,79,122,108,0,41,122,122,2,39,122,122,2,135,123,165,0,122,0,0,0,19,123,123,110,0,103,123,0,2,123,0,0,100,9,227,0,85,123,103,0,2,123,0,0,132,9,227,0,41,122,103,4,85,123,122,0,119,0,58,9,2,123,0,0,160,8,227,0,78,123,123,0,135,122,205,0,123,103,15,102,101,0,0,0,121,122,16,0,79,122,15,0,84,108,122,0,2,122,0,0,164,8,227,0,80,123,101,0,84,122,123,0,2,123,0,0,156,8,227,0,80,122,103,0,84,123,122,0,2,122,0,0,160,8,227,0,80,123,102,0,84,122,123,0,119,0,36,9,2,123,0,0,160,8,227,0,78,123,123,0,120,123,2,0,135,123,191,0,1,123,255,255,84,108,123,0,119,0,28,9,78,123,108,0,1,122,0,0,1,118,4,0,138,123,122,118,232,253,0,0,4,254,0,0,16,254,0,0,44,254,0,0,119,0,21,0,1,122,0,0,83,108,122,0,2,122,0,0,160,8,227,0,1,118,47,0,83,122,118,0,119,0,14,0,1,118,0,0,83,108,118,0,119,0,11,0,1,118,0,0,83,108,118,0,2,118,0,0,160,8,227,0,1,122,47,0,83,118,122,0,119,0,4,0,1,122,0,0,83,108,122,0,119,0,1,0,1,123,21,0,85,16,123,0,1,122,3,0,109,16,4,122,2,123,0,0,37,86,9,0,135,122,18,0,16,123,64,0,119,0,246,8,78,122,108,0,120,122,24,0,2,123,0,0,144,9,227,0,82,123,123,0,2,118,0,0,160,8,227,0,81,118,118,0,3,123,123,118,2,118,0,0,132,35,69,0,82,118,118,0,1,120,24,0,135,122,206,0,123,118,120,0,2,122,0,0,164,8,227,0,1,120,1,0,84,122,120,0,1,120,1,0,84,108,120,0,1,122,0,0,135,120,207,0,122,0,0,0,119,0,221,8,1,120,21,0,85,17,120,0,1,122,3,0,109,17,4,122,2,120,0,0,80,86,9,0,135,122,18,0,17,120,65,0,1,120,1,0,135,122,207,0,120,0,0,0,119,0,209,8,2,120,0,0,144,9,227,0,82,120,120,0,2,118,0,0,160,8,227,0,81,118,118,0,3,120,120,118,1,118,0,1,135,122,198,0,120,96,118,0,135,122,208,0,96,0,0,0,121,122,7,0,1,122,5,0,84,108,122,0,1,118,0,0,135,122,207,0,118,0,0,0,119,0,190,8,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,118,1,0,135,122,207,0,118,0,0,0,119,0,182,8,2,118,0,0,144,9,227,0,82,118,118,0,2,120,0,0,160,8,227,0,81,120,120,0,3,118,118,120,1,120,0,1,135,122,198,0,118,96,120,0,135,122,209,0,96,0,0,0,121,122,7,0,1,122,5,0,84,108,122,0,1,120,0,0,135,122,207,0,120,0,0,0,119,0,163,8,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,120,1,0,135,122,207,0,120,0,0,0,1,122,21,0,85,18,122,0,1,120,1,0,109,18,4,120,2,120,0,0,86,35,69,0,81,103,120,0,85,66,96,0,109,66,4,103,2,122,0,0,119,86,9,0,135,120,18,0,18,122,66,0,119,0,142,8,2,122,0,0,144,9,227,0,82,122,122,0,2,118,0,0,160,8,227,0,81,118,118,0,3,122,122,118,1,118,0,1,135,120,198,0,122,96,118,0,135,120,210,0,96,0,0,0,121,120,7,0,1,120,0,0,84,108,120,0,1,118,0,0,135,120,207,0,118,0,0,0,119,0,123,8,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,1,118,1,0,135,120,207,0,118,0,0,0,119,0,115,8,2,120,0,0,47,66,9,0,78,120,120,0,33,0,120,0,2,118,0,0,144,9,227,0,82,118,118,0,2,122,0,0,160,8,227,0,81,122,122,0,3,118,118,122,1,122,0,1,135,120,198,0,118,96,122,0,2,122,0,0,156,8,227,0,80,122,122,0,135,120,211,0,96,122,108,0,121,120,5,0,1,122,0,0,135,120,207,0,122,0,0,0,119,0,8,0,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,1,122,1,0,135,120,207,0,122,0,0,0,2,120,0,0,136,226,6,0,82,2,120,0,120,2,3,0,1,104,189,1,119,0,78,8,2,120,0,0,176,28,8,0,82,104,120,0,59,120,0,8,76,122,2,0,66,120,120,122,59,122,232,3,65,120,120,122,2,122,0,0,140,122,213,0,82,122,122,0,77,122,122,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,104,119,2,121,0,0,204,9,227,0,82,121,121,0,4,123,119,121,76,123,123,0,145,123,123,0,76,119,104,0,145,121,119,0,66,118,123,121,145,118,118,0,63,122,122,118,63,1,120,122,135,122,212,0,134,122,0,0,176,233,1,0,2,122,0,0,176,28,8,0,82,104,122,0,2,122,0,0,140,122,213,0,82,122,122,0,77,122,122,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,104,121,2,123,0,0,204,9,227,0,82,123,123,0,4,118,121,123,76,118,118,0,145,118,118,0,76,121,104,0,145,123,121,0,66,120,118,123,145,120,120,0,63,122,122,120,71,122,122,1,120,122,231,255,1,104,189,1,119,0,21,8,2,122,0,0,47,66,9,0,78,122,122,0,33,0,122,0,2,120,0,0,144,9,227,0,82,120,120,0,2,123,0,0,160,8,227,0,81,123,123,0,3,120,120,123,1,123,0,1,135,122,198,0,120,96,123,0,78,123,108,0,135,122,213,0,96,123,108,0,121,122,5,0,1,123,0,0,135,122,207,0,123,0,0,0,119,0,8,0,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,123,1,0,135,122,207,0,123,0,0,0,2,122,0,0,136,226,6,0,82,2,122,0,120,2,3,0,1,104,189,1,119,0,242,7,2,122,0,0,176,28,8,0,82,104,122,0,59,122,0,4,76,123,2,0,66,122,122,123,59,123,232,3,65,122,122,123,2,123,0,0,140,122,213,0,82,123,123,0,77,123,123,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,104,121,2,119,0,0,204,9,227,0,82,119,119,0,4,118,121,119,76,118,118,0,145,118,118,0,76,121,104,0,145,119,121,0,66,120,118,119,145,120,120,0,63,123,123,120,63,1,122,123,135,123,212,0,134,123,0,0,176,233,1,0,2,123,0,0,176,28,8,0,82,104,123,0,2,123,0,0,140,122,213,0,82,123,123,0,77,123,123,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,104,119,2,118,0,0,204,9,227,0,82,118,118,0,4,120,119,118,76,120,120,0,145,120,120,0,76,119,104,0,145,118,119,0,66,122,120,118,145,122,122,0,63,123,123,122,71,123,123,1,120,123,231,255,1,104,189,1,119,0,185,7,2,123,0,0,47,66,9,0,78,123,123,0,33,0,123,0,2,122,0,0,164,8,227,0,80,122,122,0,135,123,214,0,122,0,0,0,121,123,5,0,1,122,0,0,135,123,207,0,122,0,0,0,119,0,8,0,2,123,0,0,86,35,69,0,80,123,123,0,84,108,123,0,1,122,1,0,135,123,207,0,122,0,0,0,2,123,0,0,136,226,6,0,82,2,123,0,120,2,3,0,1,104,189,1,119,0,158,7,2,123,0,0,176,28,8,0,82,104,123,0,59,123,0,2,76,122,2,0,66,123,123,122,59,122,232,3,65,123,123,122,2,122,0,0,140,122,213,0,82,122,122,0,77,122,122,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,104,119,2,121,0,0,204,9,227,0,82,121,121,0,4,120,119,121,76,120,120,0,145,120,120,0,76,119,104,0,145,121,119,0,66,118,120,121,145,118,118,0,63,122,122,118,63,1,123,122,135,122,212,0,134,122,0,0,176,233,1,0,2,122,0,0,176,28,8,0,82,104,122,0,2,122,0,0,140,122,213,0,82,122,122,0,77,122,122,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,104,121,2,120,0,0,204,9,227,0,82,120,120,0,4,118,121,120,76,118,118,0,145,118,118,0,76,121,104,0,145,120,121,0,66,123,118,120,145,123,123,0,63,122,122,123,71,122,122,1,120,122,231,255,1,104,189,1,119,0,101,7,2,122,0,0,47,66,9,0,78,122,122,0,32,5,122,0,2,122,0,0,156,8,227,0,80,0,122,0,84,103,0,0,19,122,0,110,0,2,122,0,2,122,0,0,160,8,227,0,81,3,122,0,3,122,3,2,48,122,110,122,56,5,1,0,38,122,3,15,0,4,122,0,121,4,20,0,1,122,0,0,4,102,122,4,19,123,102,110,48,123,2,123,8,5,1,0,0,122,0,0,119,0,3,0,19,123,102,110,0,122,123,0,0,102,122,0,85,98,3,0,109,98,4,2,19,123,102,110,109,98,8,123,2,122,0,0,157,86,9,0,135,123,24,0,122,98,0,0,84,103,102,0,2,123,0,0,101,35,69,0,1,122,1,0,83,123,122,0,2,123,0,0,164,8,227,0,80,123,123,0,2,120,0,0,240,39,12,0,134,122,0,0,184,228,1,0,123,120,103,0,121,122,19,0,2,120,0,0,144,9,227,0,82,120,120,0,2,123,0,0,160,8,227,0,81,123,123,0,3,120,120,123,2,123,0,0,240,39,12,0,81,118,103,0,135,122,206,0,120,123,118,0,80,122,103,0,84,108,122,0,1,118,0,0,135,122,207,0,118,0,0,0,119,0,8,0,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,118,1,0,135,122,207,0,118,0,0,0,2,122,0,0,136,226,6,0,82,0,122,0,121,0,57,0,2,122,0,0,176,28,8,0,82,103,122,0,81,122,108,0,76,122,122,0,76,118,0,0,66,122,122,118,59,118,232,3,65,122,122,118,2,118,0,0,140,122,213,0,82,118,118,0,77,118,118,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,103,121,2,119,0,0,204,9,227,0,82,119,119,0,4,120,121,119,76,120,120,0,145,120,120,0,76,121,103,0,145,119,121,0,66,123,120,119,145,123,123,0,63,118,118,123,63,1,122,118,135,118,212,0,134,118,0,0,176,233,1,0,2,118,0,0,176,28,8,0,82,103,118,0,2,118,0,0,140,122,213,0,82,118,118,0,77,118,118,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,103,119,2,120,0,0,204,9,227,0,82,120,120,0,4,123,119,120,76,123,123,0,145,123,123,0,76,119,103,0,145,120,119,0,66,122,123,120,145,122,122,0,63,118,118,122,71,118,118,1,120,118,231,255,2,118,0,0,101,35,69,0,1,122,0,0,83,118,122,0,120,5,216,6,1,104,190,1,119,0,214,6,2,122,0,0,47,66,9,0,78,122,122,0,32,5,122,0,2,122,0,0,156,8,227,0,80,3,122,0,84,103,3,0,19,122,3,110,0,2,122,0,2,122,0,0,160,8,227,0,81,0,122,0,3,122,0,2,48,122,110,122,136,7,1,0,38,122,0,15,0,4,122,0,121,4,25,0,1,122,0,0,4,101,122,4,19,118,101,110,48,118,2,118,68,7,1,0,0,122,3,0,119,0,3,0,19,118,101,110,0,122,118,0,0,101,122,0,19,122,101,110,0,102,122,0,85,99,0,0,109,99,4,2,109,99,8,102,2,118,0,0,231,86,9,0,135,122,24,0,118,99,0,0,84,103,101,0,0,2,102,0,2,122,0,0,160,8,227,0,81,0,122,0,2,118,0,0,144,9,227,0,82,118,118,0,3,118,118,0,2,120,0,0,240,39,12,0,135,122,215,0,118,120,2,0,2,120,0,0,164,8,227,0,80,120,120,0,2,118,0,0,240,39,12,0,134,122,0,0,80,226,1,0,120,118,103,0,121,122,7,0,80,122,103,0,84,108,122,0,1,118,0,0,135,122,207,0,118,0,0,0,119,0,8,0,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,118,1,0,135,122,207,0,118,0,0,0,2,122,0,0,136,226,6,0,82,0,122,0,121,0,57,0,2,122,0,0,176,28,8,0,82,103,122,0,81,122,108,0,76,122,122,0,76,118,0,0,66,122,122,118,59,118,232,3,65,122,122,118,2,118,0,0,140,122,213,0,82,118,118,0,77,118,118,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,103,119,2,121,0,0,204,9,227,0,82,121,121,0,4,123,119,121,76,123,123,0,145,123,123,0,76,119,103,0,145,121,119,0,66,120,123,121,145,120,120,0,63,118,118,120,63,1,122,118,135,118,212,0,134,118,0,0,176,233,1,0,2,118,0,0,176,28,8,0,82,103,118,0,2,118,0,0,140,122,213,0,82,118,118,0,77,118,118,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,103,121,2,123,0,0,204,9,227,0,82,123,123,0,4,120,121,123,76,120,120,0,145,120,120,0,76,121,103,0,145,123,121,0,66,122,120,123,145,122,122,0,63,118,118,122,71,118,118,1,120,118,231,255,120,5,80,6,1,104,190,1,119,0,78,6,2,118,0,0,47,66,9,0,78,118,118,0,33,0,118,0,2,122,0,0,144,9,227,0,82,122,122,0,2,123,0,0,160,8,227,0,81,123,123,0,3,122,122,123,1,123,0,1,135,118,198,0,122,96,123,0,135,118,216,0,96,0,0,0,121,118,5,0,1,123,0,0,135,118,207,0,123,0,0,0,119,0,8,0,2,118,0,0,86,35,69,0,80,118,118,0,84,108,118,0,1,123,1,0,135,118,207,0,123,0,0,0,2,118,0,0,136,226,6,0,82,2,118,0,120,2,3,0,1,104,189,1,119,0,44,6,2,118,0,0,176,28,8,0,82,104,118,0,59,118,0,4,76,123,2,0,66,118,118,123,59,123,232,3,65,118,118,123,2,123,0,0,140,122,213,0,82,123,123,0,77,123,123,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,104,121,2,119,0,0,204,9,227,0,82,119,119,0,4,120,121,119,76,120,120,0,145,120,120,0,76,121,104,0,145,119,121,0,66,122,120,119,145,122,122,0,63,123,123,122,63,1,118,123,135,123,212,0,134,123,0,0,176,233,1,0,2,123,0,0,176,28,8,0,82,104,123,0,2,123,0,0,140,122,213,0,82,123,123,0,77,123,123,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,104,119,2,120,0,0,204,9,227,0,82,120,120,0,4,122,119,120,76,122,122,0,145,122,122,0,76,119,104,0,145,120,119,0,66,118,122,120,145,118,118,0,63,123,123,118,71,123,123,1,120,123,231,255,1,104,189,1,119,0,243,5,2,123,0,0,47,66,9,0,78,123,123,0,32,2,123,0,2,123,0,0,156,8,227,0,81,123,123,0,41,123,123,16,2,118,0,0,160,8,227,0,81,118,118,0,20,123,123,118,85,103,123,0,2,118,0,0,164,8,227,0,80,118,118,0,79,120,108,0,135,123,217,0,118,103,120,0,121,123,11,0,82,103,103,0,2,123,0,0,160,8,227,0,43,120,103,16,84,123,120,0,84,108,103,0,1,123,0,0,135,120,207,0,123,0,0,0,119,0,8,0,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,1,123,1,0,135,120,207,0,123,0,0,0,2,120,0,0,136,226,6,0,82,0,120,0,121,0,56,0,2,120,0,0,176,28,8,0,82,103,120,0,59,120,32,0,76,123,0,0,66,120,120,123,59,123,232,3,65,120,120,123,2,123,0,0,140,122,213,0,82,123,123,0,77,123,123,0,2,119,0,0,172,28,8,0,82,119,119,0,4,119,103,119,2,121,0,0,204,9,227,0,82,121,121,0,4,122,119,121,76,122,122,0,145,122,122,0,76,119,103,0,145,121,119,0,66,118,122,121,145,118,118,0,63,123,123,118,63,1,120,123,135,123,212,0,134,123,0,0,176,233,1,0,2,123,0,0,176,28,8,0,82,103,123,0,2,123,0,0,140,122,213,0,82,123,123,0,77,123,123,0,2,121,0,0,172,28,8,0,82,121,121,0,4,121,103,121,2,122,0,0,204,9,227,0,82,122,122,0,4,118,121,122,76,118,118,0,145,118,118,0,76,121,103,0,145,122,121,0,66,120,118,122,145,120,120,0,63,123,123,120,71,123,123,1,120,123,231,255,120,2,146,5,1,104,190,1,119,0,144,5,2,123,0,0,47,66,9,0,78,123,123,0,33,0,123,0,2,120,0,0,144,9,227,0,82,120,120,0,2,122,0,0,160,8,227,0,81,122,122,0,3,120,120,122,1,122,0,1,135,123,198,0,120,96,122,0,78,2,108,0,41,123,2,24,42,123,123,24,1,122,0,0,1,120,2,0,138,123,122,120,148,12,1,0,252,12,1,0,1,120,21,0,85,91,120,0,1,122,3,0,109,91,4,122,19,122,2,107,85,94,122,0,2,120,0,0,95,87,9,0,135,122,18,0,91,120,94,0,1,122,1,0,84,108,122,0,1,120,1,0,135,122,207,0,120,0,0,0,121,0,106,5,1,104,190,1,119,0,104,5,2,122,0,0,156,8,227,0,80,122,122,0,84,103,122,0,135,122,218,0,96,103,0,0,121,122,10,0,80,103,103,0,2,122,0,0,156,8,227,0,84,122,103,0,84,108,103,0,1,120,0,0,135,122,207,0,120,0,0,0,119,0,8,0,1,120,1,0,135,122,207,0,120,0,0,0,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,121,0,80,5,1,104,190,1,119,0,78,5,1,122,21,0,85,90,122,0,1,120,3,0,109,90,4,120,85,93,96,0,2,122,0,0,50,87,9,0,135,120,18,0,90,122,93,0,2,122,0,0,156,8,227,0,80,122,122,0,135,120,219,0,96,122,0,0,121,120,9,0,1,120,2,2,84,108,120,0,1,122,0,0,135,120,207,0,122,0,0,0,121,0,57,5,1,104,190,1,119,0,55,5,1,122,1,0,135,120,207,0,122,0,0,0,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,121,0,47,5,1,104,190,1,119,0,45,5,134,123,0,0,212,161,1,0,121,123,5,0,1,122,0,0,135,123,207,0,122,0,0,0,119,0,38,5,2,123,0,0,86,35,69,0,80,123,123,0,84,108,123,0,1,122,1,0,135,123,207,0,122,0,0,0,119,0,30,5,2,122,0,0,164,8,227,0,80,122,122,0,135,123,220,0,122,108,0,0,121,123,5,0,1,122,0,0,135,123,207,0,122,0,0,0,119,0,20,5,2,123,0,0,86,35,69,0,80,123,123,0,84,108,123,0,1,122,1,0,135,123,207,0,122,0,0,0,119,0,12,5,2,122,0,0,164,8,227,0,80,122,122,0,2,120,0,0,156,8,227,0,80,120,120,0,135,123,221,0,122,120,0,0,121,123,9,0,2,123,0,0,156,8,227,0,80,123,123,0,84,108,123,0,1,120,0,0,135,123,207,0,120,0,0,0,119,0,251,4,2,123,0,0,86,35,69,0,80,123,123,0,84,108,123,0,1,120,1,0,135,123,207,0,120,0,0,0,119,0,243,4,2,120,0,0,160,8,227,0,78,120,120,0,135,123,222,0,120,96,0,0,121,123,19,0,2,123,0,0,144,9,227,0,82,123,123,0,2,120,0,0,176,8,227,0,81,120,120,0,3,103,123,120,135,123,41,0,96,0,0,0,25,123,123,1,135,120,206,0,103,96,123,0,1,120,0,1,84,108,120,0,1,123,0,0,135,120,207,0,123,0,0,0,119,0,219,4,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,1,123,1,0,135,120,207,0,123,0,0,0,119,0,211,4,2,120,0,0,164,8,227,0,80,120,120,0,84,103,120,0,135,120,223,0,102,103,0,0,121,120,7,0,80,120,102,0,84,108,120,0,1,123,0,0,135,120,207,0,123,0,0,0,119,0,198,4,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,2,120,0,0,164,8,227,0,80,123,103,0,84,120,123,0,1,120,1,0,135,123,207,0,120,0,0,0,119,0,186,4,2,120,0,0,100,9,227,0,82,120,120,0,19,120,120,110,135,123,224,0,120,0,0,0,121,123,5,0,1,120,0,0,135,123,207,0,120,0,0,0,119,0,175,4,2,123,0,0,86,35,69,0,80,123,123,0,84,108,123,0,1,120,1,0,135,123,207,0,120,0,0,0,119,0,167,4,2,123,0,0,164,8,227,0,80,123,123,0,84,103,123,0,2,120,0,0,100,9,227,0,82,120,120,0,19,120,120,110,135,123,204,0,120,103,0,0,121,123,9,0,2,123,0,0,100,9,227,0,82,123,123,0,84,108,123,0,1,120,0,0,135,123,207,0,120,0,0,0,119,0,148,4,2,123,0,0,86,35,69,0,80,123,123,0,84,108,123,0,2,123,0,0,164,8,227,0,80,120,103,0,84,123,120,0,1,123,1,0,135,120,207,0,123,0,0,0,119,0,136,4,2,123,0,0,144,9,227,0,82,123,123,0,2,122,0,0,160,8,227,0,81,122,122,0,3,123,123,122,1,122,0,1,135,120,198,0,123,96,122,0,1,120,13,0,85,19,120,0,1,122,1,0,109,19,4,122,79,103,108,0,85,68,96,0,109,68,4,103,2,120,0,0,128,87,9,0,135,122,18,0,19,120,68,0,2,120,0,0,132,9,227,0,82,120,120,0,2,123,0,0,164,8,227,0,81,123,123,0,3,120,120,123,78,123,108,0,135,122,225,0,96,120,123,0,120,122,8,0,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,123,1,0,135,122,207,0,123,0,0,0,2,122,0,0,81,102,43,2,1,123,1,0,83,122,123,0,119,0,92,4,2,123,0,0,50,160,10,0,78,123,123,0,120,123,9,0,2,123,0,0,154,47,8,0,81,123,123,0,41,123,123,4,25,123,123,16,135,0,165,0,123,0,0,0,119,0,6,0,2,122,0,0,46,67,9,0,135,123,24,0,122,31,0,0,1,0,0,0,1,122,0,0,78,120,108,0,135,123,169,0,0,122,120,0,2,123,0,0,80,102,43,2,78,123,123,0,120,123,6,0,2,123,0,0,81,102,43,2,1,120,0,0,83,123,120,0,119,0,62,4,1,120,4,0,135,105,170,0,120,0,0,0,1,120,0,0,85,105,120,0,2,123,0,0,160,225,6,0,1,122,0,0,135,120,171,0,105,123,122,0,119,0,1,0,2,120,0,0,96,35,69,0,78,120,120,0,83,108,120,0,2,120,0,0,153,8,227,0,2,122,0,0,97,35,69,0,78,122,122,0,83,120,122,0,119,0,40,4,2,120,0,0,144,9,227,0,82,120,120,0,2,123,0,0,160,8,227,0,81,123,123,0,3,120,120,123,1,123,0,1,135,122,198,0,120,96,123,0,2,123,0,0,156,8,227,0,80,123,123,0,1,120,0,0,135,122,226,0,96,123,120,0,121,122,7,0,1,120,0,0,135,122,207,0,120,0,0,0,1,122,0,0,84,108,122,0,119,0,17,4,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,120,1,0,135,122,207,0,120,0,0,0,119,0,9,4,135,122,227,0,121,122,7,0,1,120,0,0,135,122,207,0,120,0,0,0,1,122,0,0,84,108,122,0,119,0,1,4,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,120,1,0,135,122,207,0,120,0,0,0,119,0,249,3,2,122,0,0,50,160,10,0,78,122,122,0,120,122,12,0,2,120,0,0,154,47,8,0,81,120,120,0,41,120,120,4,25,120,120,16,2,123,0,0,164,8,227,0,80,123,123,0,135,122,228,0,120,123,0,0,119,0,234,3,2,123,0,0,160,67,9,0,135,122,24,0,123,32,0,0,119,0,229,3,2,122,0,0,50,160,10,0,78,122,122,0,120,122,9,0,2,122,0,0,154,47,8,0,81,122,122,0,41,122,122,4,25,122,122,16,135,0,165,0,122,0,0,0,119,0,6,0,2,123,0,0,46,67,9,0,135,122,24,0,123,33,0,0,1,0,0,0,2,122,0,0,164,8,227,0,84,122,0,0,119,0,208,3,2,122,0,0,144,35,69,0,135,103,229,0,122,0,0,0,43,122,103,16,0,102,122,0,2,122,0,0,100,9,227,0,85,122,102,0,2,122,0,0,132,9,227,0,41,123,102,4,85,122,123,0,2,123,0,0,164,8,227,0,84,123,103,0,1,123,14,0,85,20,123,0,1,122,1,0,109,20,4,122,2,123,0,0,142,87,9,0,135,122,18,0,20,123,34,0,119,0,183,3,1,122,83,0,85,36,122,0,2,123,0,0,199,87,9,0,135,122,31,0,123,36,0,0,119,0,176,3,2,122,0,0,99,35,69,0,78,122,122,0,83,108,122,0,119,0,171,3,2,123,0,0,160,8,227,0,80,123,123,0,2,120,0,0,176,8,227,0,80,120,120,0,135,122,230,0,123,120,0,0,2,122,0,0,50,160,10,0,78,122,122,0,120,122,12,0,2,120,0,0,154,47,8,0,81,120,120,0,41,120,120,4,25,120,120,16,2,123,0,0,160,8,227,0,80,123,123,0,135,122,228,0,120,123,0,0,119,0,5,0,2,123,0,0,160,67,9,0,135,122,24,0,123,37,0,0,1,122,240,255,83,108,122,0,119,0,141,3,2,123,0,0,144,9,227,0,82,123,123,0,2,120,0,0,160,8,227,0,81,120,120,0,3,123,123,120,1,120,0,1,135,122,198,0,123,96,120,0,2,120,0,0,132,9,227,0,82,120,120,0,2,123,0,0,180,8,227,0,81,123,123,0,3,120,120,123,1,123,0,1,135,122,198,0,120,13,123,0,135,122,231,0,96,13,0,0,121,122,5,0,1,123,0,0,135,122,207,0,123,0,0,0,119,0,114,3,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,123,1,0,135,122,207,0,123,0,0,0,119,0,106,3,78,0,108,0,41,122,0,24,42,122,122,24,1,120,0,0,1,123,2,0,138,122,120,123,216,20,1,0,32,21,1,0,1,123,14,0,85,72,123,0,1,120,3,0,109,72,4,120,19,120,0,107,85,77,120,0,2,123,0,0,226,87,9,0,135,120,18,0,72,123,77,0,119,0,87,3,2,120,0,0,164,8,227,0,80,120,120,0,2,118,0,0,156,8,227,0,2,121,0,0,160,8,227,0,135,123,232,0,120,118,121,0,121,123,5,0,1,121,0,0,135,123,207,0,121,0,0,0,119,0,73,3,1,121,1,0,135,123,207,0,121,0,0,0,119,0,69,3,2,121,0,0,164,8,227,0,80,121,121,0,2,118,0,0,156,8,227,0,80,118,118,0,2,120,0,0,160,8,227,0,80,120,120,0,135,123,233,0,121,118,120,0,121,123,5,0,1,120,0,0,135,123,207,0,120,0,0,0,119,0,53,3,1,120,1,0,135,123,207,0,120,0,0,0,119,0,49,3,78,0,108,0,41,122,0,24,42,122,122,24,1,123,0,0,1,120,4,0,138,122,123,120,216,21,1,0,228,21,1,0,36,22,1,0,76,22,1,0,1,120,14,0,85,73,120,0,1,123,3,0,109,73,4,123,19,123,0,107,85,78,123,0,2,120,0,0,0,88,9,0,135,123,18,0,73,120,78,0,1,123,1,0,84,108,123,0,1,120,1,0,135,123,207,0,120,0,0,0,119,0,23,3,135,120,234,0,84,108,120,0,119,0,20,3,2,123,0,0,164,8,227,0,80,123,123,0,135,120,235,0,123,0,0,0,121,120,5,0,1,123,0,0,135,120,207,0,123,0,0,0,119,0,10,3,1,120,1,0,84,108,120,0,1,123,1,0,135,120,207,0,123,0,0,0,119,0,4,3,2,123,0,0,144,35,69,0,135,120,236,0,123,0,0,0,38,120,120,1,83,108,120,0,1,123,0,0,135,120,207,0,123,0,0,0,119,0,250,2,2,123,0,0,164,8,227,0,80,123,123,0,135,120,237,0,123,0,0,0,121,120,5,0,1,123,0,0,135,120,207,0,123,0,0,0,119,0,240,2,1,120,1,0,84,108,120,0,1,123,1,0,135,120,207,0,123,0,0,0,119,0,234,2,2,122,0,0,86,35,69,0,80,103,122,0,84,108,103,0,2,122,0,0,165,8,227,0,38,120,103,254,41,120,120,16,42,120,120,16,32,120,120,2,1,118,8,0,1,121,0,0,125,123,120,118,121,0,0,0,83,122,123,0,2,123,0,0,164,8,227,0,1,122,1,0,83,123,122,0,2,122,0,0,157,8,227,0,1,123,0,0,83,122,123,0,119,0,210,2,2,122,0,0,144,9,227,0,82,122,122,0,2,121,0,0,160,8,227,0,81,121,121,0,3,122,122,121,1,121,0,1,135,123,198,0,122,96,121,0,135,123,238,0,96,103,0,0,121,123,19,0,80,123,103,0,84,108,123,0,2,123,0,0,144,9,227,0,82,123,123,0,2,121,0,0,160,8,227,0,81,121,121,0,3,103,123,121,135,123,41,0,96,0,0,0,25,123,123,1,135,121,206,0,103,96,123,0,1,123,0,0,135,121,207,0,123,0,0,0,119,0,179,2,2,121,0,0,86,35,69,0,80,121,121,0,84,108,121,0,1,123,1,0,135,121,207,0,123,0,0,0,119,0,171,2,2,123,0,0,144,9,227,0,82,123,123,0,2,122,0,0,160,8,227,0,81,122,122,0,3,123,123,122,1,122,0,1,135,121,198,0,123,96,122,0,1,122,0,0,135,121,213,0,96,122,103,0,121,121,14,0,80,122,103,0,135,121,214,0,122,0,0,0,2,121,0,0,86,35,69,0,1,122,80,0,84,121,122,0,1,122,80,0,84,108,122,0,1,121,1,0,135,122,207,0,121,0,0,0,119,0,144,2,2,121,0,0,156,8,227,0,80,121,121,0],eb+61440);HEAPU8.set([135,122,211,0,96,121,103,0,121,122,7,0,80,122,103,0,84,108,122,0,1,121,0,0,135,122,207,0,121,0,0,0,119,0,132,2,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,121,1,0,135,122,207,0,121,0,0,0,119,0,124,2,2,121,0,0,164,8,227,0,80,121,121,0,78,123,108,0,2,118,0,0,156,8,227,0,81,118,118,0,41,118,118,16,2,120,0,0,160,8,227,0,81,120,120,0,20,118,118,120,2,120,0,0,176,8,227,0,81,120,120,0,41,120,120,16,2,119,0,0,180,8,227,0,81,119,119,0,20,120,120,119,135,122,239,0,121,123,118,120,121,122,7,0,1,122,0,0,84,108,122,0,1,120,0,0,135,122,207,0,120,0,0,0,119,0,95,2,2,122,0,0,86,35,69,0,80,122,122,0,84,108,122,0,1,120,1,0,135,122,207,0,120,0,0,0,119,0,87,2,78,122,108,0,32,122,122,6,121,122,84,2,2,122,0,0,154,47,8,0,81,103,122,0,2,122,0,0,112,9,227,0,85,122,103,0,2,122,0,0,144,9,227,0,41,120,103,4,85,122,120,0,2,120,0,0,176,8,227,0,1,122,0,0,84,120,122,0,2,122,0,0,156,8,227,0,2,120,0,0,156,47,8,0,80,120,120,0,84,122,120,0,2,120,0,0,160,8,227,0,1,122,26,0,84,120,122,0,1,122,14,0,85,21,122,0,1,120,3,0,109,21,4,120,2,122,0,0,56,88,9,0,135,120,18,0,21,122,38,0,119,0,51,2,1,120,1,0,84,108,120,0,1,122,1,0,135,120,207,0,122,0,0,0,119,0,45,2,2,122,0,0,144,9,227,0,82,122,122,0,2,118,0,0,176,8,227,0,81,118,118,0,3,122,122,118,1,118,0,1,135,120,198,0,122,96,118,0,135,120,240,0,96,13,0,0,121,120,17,0,2,120,0,0,132,9,227,0,82,120,120,0,2,118,0,0,180,8,227,0,81,118,118,0,3,103,120,118,135,120,41,0,13,0,0,0,25,120,120,1,135,118,206,0,103,13,120,0,1,120,0,0,135,118,207,0,120,0,0,0,119,0,16,2,2,118,0,0,86,35,69,0,80,118,118,0,84,108,118,0,1,120,1,0,135,118,207,0,120,0,0,0,119,0,8,2,2,118,0,0,50,160,10,0,78,118,118,0,120,118,9,0,2,118,0,0,154,47,8,0,81,118,118,0,41,118,118,4,25,118,118,16,135,0,165,0,118,0,0,0,119,0,6,0,2,120,0,0,46,67,9,0,135,118,24,0,120,39,0,0,1,0,0,0,2,118,0,0,164,8,227,0,84,118,0,0,119,0,243,1,2,118,0,0,116,35,69,0,82,0,118,0,78,118,108,0,32,118,118,0,33,120,0,0,19,118,118,120,121,118,19,0,43,118,0,16,0,103,118,0,2,118,0,0,112,9,227,0,85,118,103,0,2,118,0,0,144,9,227,0,41,120,103,4,85,118,120,0,2,120,0,0,176,8,227,0,84,120,0,0,1,120,0,0,83,108,120,0,1,118,0,0,135,120,207,0,118,0,0,0,119,0,217,1,1,120,255,255,83,108,120,0,119,0,214,1,1,120,14,0,85,22,120,0,1,118,1,0,109,22,4,118,2,120,0,0,90,88,9,0,135,118,18,0,22,120,40,0,119,0,205,1,1,118,14,0,85,23,118,0,1,120,3,0,109,23,4,120,81,120,108,0,85,41,120,0,2,118,0,0,117,88,9,0,135,120,18,0,23,118,41,0,78,0,108,0,2,120,0,0,156,8,227,0,80,2,120,0,19,120,0,107,34,120,120,8,19,118,2,110,34,118,118,5,19,120,120,118,121,120,9,0,2,120,0,0,86,35,69,0,1,118,1,0,84,120,118,0,1,120,1,0,135,118,207,0,120,0,0,0,119,0,177,1,2,118,0,0,132,9,227,0,82,118,118,0,2,120,0,0,180,8,227,0,81,120,120,0,3,3,118,120,41,120,0,24,42,120,120,24,1,121,1,0,1,123,34,0,138,120,121,123,68,28,1,0,52,29,1,0,120,29,1,0,204,29,1,0,208,29,1,0,20,30,1,0,88,30,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,40,28,1,0,92,30,1,0,140,30,1,0,92,31,1,0,19,121,0,107,85,95,121,0,2,123,0,0,186,88,9,0,135,121,31,0,123,95,0,0,119,0,124,1,1,122,1,0,135,118,179,0,3,122,0,0,25,122,3,1,1,123,38,0,135,118,228,0,122,123,0,0,25,123,3,3,1,122,1,0,135,118,228,0,123,122,0,0,1,118,6,0,2,122,0,0,156,8,227,0,81,122,122,0,47,118,118,122,36,29,1,0,25,122,3,5,2,123,0,0,140,35,69,0,80,123,123,0,135,118,228,0,122,123,0,0,2,118,0,0,156,8,227,0,80,0,118,0,1,118,8,0,19,123,0,110,47,118,118,123,36,29,1,0,25,123,3,7,2,122,0,0,132,35,69,0,82,122,122,0,1,119,40,0,19,124,0,110,47,119,119,124,232,28,1,0,1,119,34,0,0,121,119,0,119,0,4,0,19,119,0,110,26,119,119,7,0,121,119,0,135,118,206,0,123,122,121,0,2,118,0,0,156,8,227,0,81,103,118,0,2,118,0,0,156,8,227,0,35,122,103,41,1,123,41,0,125,121,122,103,123,0,0,0,84,118,121,0,1,118,0,0,135,121,207,0,118,0,0,0,119,0,64,1,1,121,2,0,135,123,179,0,3,121,0,0,25,121,3,1,2,118,0,0,128,35,69,0,82,118,118,0,135,123,166,0,121,118,0,0,2,123,0,0,156,8,227,0,1,118,5,0,84,123,118,0,1,123,0,0,135,118,207,0,123,0,0,0,119,0,47,1,2,121,0,0,116,35,69,0,82,121,121,0,120,121,2,0,119,0,42,1,135,121,179,0,3,0,0,0,25,118,3,1,2,123,0,0,116,35,69,0,82,123,123,0,135,121,166,0,118,123,0,0,2,121,0,0,156,8,227,0,1,123,5,0,84,121,123,0,1,121,0,0,135,123,207,0,121,0,0,0,119,0,26,1,119,0,235,255,1,118,5,0,135,121,179,0,3,118,0,0,25,118,3,1,2,123,0,0,120,35,69,0,82,123,123,0,135,121,166,0,118,123,0,0,2,121,0,0,156,8,227,0,1,123,5,0,84,121,123,0,1,121,0,0,135,123,207,0,121,0,0,0,119,0,8,1,1,123,6,0,135,118,179,0,3,123,0,0,25,123,3,1,2,121,0,0,124,35,69,0,82,121,121,0,135,118,166,0,123,121,0,0,2,118,0,0,156,8,227,0,1,121,5,0,84,118,121,0,1,118,0,0,135,121,207,0,118,0,0,0,119,0,247,0,119,0,200,255,2,123,0,0,160,8,227,0,2,118,0,0,160,8,227,0,79,118,118,0,135,121,241,0,118,0,0,0,83,123,121,0,1,123,0,0,135,121,207,0,123,0,0,0,119,0,234,0,2,121,0,0,144,9,227,0,82,121,121,0,2,123,0,0,160,8,227,0,81,123,123,0,3,3,121,123,41,123,0,24,42,123,123,24,32,123,123,33,121,123,4,0,19,123,2,110,0,100,123,0,119,0,11,0,135,0,242,0,3,0,0,0,48,123,110,0,232,30,1,0,2,121,0,0,161,88,9,0,135,123,31,0,121,97,0,0,119,0,2,0,0,100,0,0,121,100,24,0,2,121,0,0,240,39,12,0,135,123,215,0,3,121,100,0,2,123,0,0,240,39,12,0,1,121,0,0,95,123,100,121,1,0,0,0,2,121,0,0,240,39,12,0,3,103,121,0,79,123,103,0,135,121,241,0,123,0,0,0,83,103,121,0,25,0,0,1,53,121,0,100,20,31,1,0,2,123,0,0,240,39,12,0,135,121,206,0,3,123,100,0,1,123,0,0,135,121,207,0,123,0,0,0,119,0,182,0,119,0,204,255,78,120,108,0,32,120,120,1,121,120,22,0,1,120,14,0,85,24,120,0,1,121,3,0,109,24,4,121,2,120,0,0,234,88,9,0,135,121,18,0,24,120,42,0,2,121,0,0,140,35,69,0,80,103,121,0,2,121,0,0,160,8,227,0,84,121,103,0,2,121,0,0,164,8,227,0,84,121,103,0,1,120,0,0,135,121,207,0,120,0,0,0,119,0,157,0,1,121,14,0,85,25,121,0,1,120,1,0,109,25,4,120,2,121,0,0,9,89,9,0,135,120,18,0,25,121,43,0,119,0,148,0,2,120,0,0,50,160,10,0,78,120,120,0,120,120,9,0,2,120,0,0,154,47,8,0,81,120,120,0,41,120,120,4,25,120,120,16,135,0,165,0,120,0,0,0,119,0,6,0,2,121,0,0,46,67,9,0,135,120,24,0,121,44,0,0,1,0,0,0,19,120,0,110,41,120,120,4,85,103,120,0,108,103,4,0,2,121,0,0,164,8,227,0,80,121,121,0,135,120,243,0,103,121,0,0,1,121,0,0,135,120,207,0,121,0,0,0,119,0,118,0,2,121,0,0,164,8,227,0,79,121,121,0,135,120,244,0,121,0,0,0,121,120,5,0,1,121,0,0,135,120,207,0,121,0,0,0,119,0,108,0,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,1,121,1,0,135,120,207,0,121,0,0,0,119,0,100,0,78,0,108,0,41,120,0,24,42,120,120,24,1,121,0,0,1,123,2,0,138,120,121,123,232,32,1,0,24,33,1,0,0,103,0,0,19,121,103,107,0,103,121,0,85,81,103,0,2,123,0,0,108,89,9,0,135,121,31,0,123,81,0,0,119,0,83,0,1,121,14,0,85,74,121,0,1,123,3,0,109,74,4,123,2,121,0,0,54,89,9,0,135,123,18,0,74,121,79,0,1,121,1,0,135,123,207,0,121,0,0,0,119,0,71,0,1,123,14,0,85,76,123,0,1,121,3,0,109,76,4,121,2,123,0,0,81,89,9,0,135,121,18,0,76,123,80,0,78,103,108,0,19,121,103,107,0,103,121,0,85,81,103,0,2,123,0,0,108,89,9,0,135,121,31,0,123,81,0,0,119,0,54,0,2,121,0,0,144,9,227,0,82,121,121,0,2,123,0,0,176,8,227,0,81,123,123,0,3,121,121,123,1,123,0,1,135,120,198,0,121,96,123,0,2,123,0,0,164,8,227,0,80,123,123,0,2,121,0,0,156,8,227,0,80,121,121,0,2,118,0,0,160,8,227,0,80,118,118,0,2,122,0,0,156,8,227,0,135,120,245,0,96,123,121,118,108,122,0,0,121,120,5,0,1,122,0,0,135,120,207,0,122,0,0,0,119,0,25,0,2,120,0,0,86,35,69,0,80,120,120,0,84,108,120,0,1,122,1,0,135,120,207,0,122,0,0,0,119,0,17,0,1,120,0,113,84,108,120,0,1,122,1,0,135,120,207,0,122,0,0,0,1,120,14,0,85,26,120,0,1,122,1,0,109,26,4,122,79,122,108,0,85,46,122,0,2,120,0,0,147,89,9,0,135,122,18,0,26,120,46,0,119,0,1,0,1,117,189,1,45,117,104,117,68,34,1,0,121,0,2,0,1,104,190,1,1,117,190,1,45,117,104,117,96,34,1,0,1,120,0,0,1,122,0,0,135,117,246,0,120,122,0,0,137,105,0,0,1,117,0,0,139,117,0,0,140,2,71,0,0,0,0,0,2,59,0,0,217,34,10,0,2,60,0,0,212,34,10,0,2,61,0,0,207,34,10,0,2,62,0,0,213,0,0,0,2,63,0,0,239,255,255,255,2,64,0,0,0,0,0,128,1,55,0,0,136,65,0,0,0,58,65,0,136,65,0,0,1,66,160,0,3,65,65,66,137,65,0,0,25,49,58,80,0,52,58,0,25,27,58,120,1,65,132,0,3,38,58,65,1,65,146,0,3,44,58,65,1,65,130,0,3,45,58,65,1,65,128,0,3,46,58,65,25,47,58,112,25,48,58,108,25,16,58,126,25,17,58,124,1,65,145,0,3,18,58,65,25,19,58,96,25,20,58,84,1,65,1,0,84,45,65,0,1,65,0,0,84,46,65,0,25,21,0,63,1,65,0,0,83,21,65,0,1,65,0,0,83,1,65,0,25,50,0,32,25,57,0,40,25,51,0,44,25,22,0,54,25,23,47,4,25,53,0,36,25,56,0,48,25,24,0,60,25,54,0,28,0,25,57,0,25,26,0,52,1,65,1,0,4,28,65,1,25,29,52,11,25,30,52,8,25,31,52,4,25,32,19,4,25,33,19,8,25,34,20,11,25,35,20,11,25,36,20,8,25,37,20,4,25,39,20,8,25,40,20,4,25,41,20,11,25,42,20,8,25,43,20,4,1,10,254,15,1,11,0,0,1,2,0,0,1,13,0,0,82,12,51,0,82,9,50,0,2,65,0,0,101,35,69,0,1,66,0,0,83,65,66,0,80,65,22,0,134,66,0,0,184,228,1,0,65,44,45,0,120,66,3,0,1,55,3,0,119,0,33,18,80,66,45,0,120,66,3,0,1,55,5,0,119,0,29,18,80,66,22,0,120,66,146,0,2,66,0,0,252,34,69,0,82,66,66,0,33,66,66,7,121,66,17,0,78,3,44,0,41,66,3,24,42,66,66,24,120,66,9,0,1,65,0,0,134,66,0,0,184,228,1,0,65,44,45,0,79,66,44,0,41,66,66,8,0,6,66,0,119,0,130,0,1,66,255,0,19,66,3,66,0,6,66,0,119,0,126,0,1,66,56,5,135,3,178,0,66,0,0,0,78,4,44,0,41,66,4,24,42,66,66,24,1,68,8,0,1,67,20,0,138,66,68,67,208,36,1,0,192,36,1,0,24,37,1,0,32,37,1,0,40,37,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,192,36,1,0,68,37,1,0,1,68,255,0,19,68,4,68,0,6,68,0,119,0,93,0,2,67,0,0,206,101,43,2,80,67,67,0,1,65,0,59,45,67,67,65,8,37,1,0,38,65,3,16,32,65,65,0,1,69,0,75,1,70,0,115,125,67,65,69,70,0,0,0,0,68,67,0,119,0,3,0,1,67,8,0,0,68,67,0,0,6,68,0,119,0,75,0,1,6,0,80,119,0,73,0,1,6,0,72,119,0,71,0,38,65,3,16,32,65,65,0,1,67,0,77,1,68,0,116,125,6,65,67,68,0,0,0,119,0,64,0,2,68,0,0,206,101,43,2,80,68,68,0,32,68,68,27,121,68,3,0,1,6,27,0,119,0,57,0,80,67,22,0,134,68,0,0,184,228,1,0,67,44,45,0,78,68,44,0,1,67,68,0,1,70,23,0,138,68,67,70,228,37,1,0,236,37,1,0,220,37,1,0,220,37,1,0,220,37,1,0,220,37,1,0,244,37,1,0,220,37,1,0,220,37,1,0,220,37,1,0,220,37,1,0,220,37,1,0,252,37,1,0,4,38,1,0,220,37,1,0,12,38,1,0,20,38,1,0,28,38,1,0,36,38,1,0,44,38,1,0,220,37,1,0,220,37,1,0,52,38,1,0,1,6,0,0,119,0,24,0,1,6,0,83,119,0,22,0,1,6,0,64,119,0,20,0,1,6,0,65,119,0,18,0,1,6,0,82,119,0,16,0,1,6,0,67,119,0,14,0,1,6,0,59,119,0,12,0,1,6,0,60,119,0,10,0,1,6,0,61,119,0,8,0,1,6,0,62,119,0,6,0,1,6,0,63,119,0,4,0,1,6,0,68,119,0,2,0,79,6,44,0,2,66,0,0,255,255,0,0,19,66,6,66,0,3,66,0,41,66,3,16,42,66,66,16,1,68,0,72,47,66,66,68,208,56,1,0,1,66,13,0,41,68,3,16,42,68,68,16,49,66,66,68,248,44,1,0,41,66,3,16,42,66,66,16,1,68,0,15,47,66,66,68,252,40,1,0,41,66,3,16,42,66,66,16,1,68,13,0,1,67,15,0,138,66,68,67,228,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,220,38,1,0,60,39,1,0,1,55,15,1,119,0,233,16,78,68,24,0,121,68,7,0,0,8,13,0,1,7,0,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,225,16,1,68,10,0,83,52,68,0,1,68,1,0,84,27,68,0,1,67,1,0,134,68,0,0,80,226,1,0,67,52,27,0,0,8,13,0,1,7,0,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,211,16,119,0,1,0,48,66,2,11,120,39,1,0,1,66,32,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,25,2,2,1,53,66,2,11,72,39,1,0,0,2,11,0,121,2,46,0,1,66,8,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,1,66,32,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,1,66,8,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,1,68,0,0,135,66,247,0,27,52,68,0,78,66,52,0,120,66,14,0,135,66,248,0,38,0,0,0,79,68,27,0,1,67,255,0,3,68,68,67,1,67,255,0,19,68,68,67,80,67,38,0,1,70,255,0,19,67,67,70,1,70,0,0,135,66,249,0,68,67,70,0,26,2,2,1,33,66,2,0,120,66,212,255,1,66,0,0,83,1,66,0,82,66,56,0,120,66,8,0,1,2,0,0,0,8,13,0,0,7,10,0,1,4,0,0,0,3,12,0,0,5,9,0,119,0,139,16,82,2,51,0,82,66,57,0,25,11,66,4,82,8,2,0,82,70,11,0,109,8,4,70,82,70,11,0,85,70,8,0,1,70,0,0,85,56,70,0,45,70,2,57,168,40,1,0,1,2,0,0,0,8,13,0,0,7,10,0,1,4,0,0,0,3,12,0,0,5,9,0,119,0,120,16,0,3,2,0,106,2,2,4,25,4,3,8,102,70,4,11,34,70,70,0,121,70,4,0,82,66,4,0,135,70,21,0,66,0,0,0,135,70,21,0,3,0,0,0,45,70,2,57,248,40,1,0,1,2,0,0,0,8,13,0,0,7,10,0,1,4,0,0,0,3,12,0,0,5,9,0,119,0,100,16,119,0,236,255,41,70,3,16,42,70,70,16,1,66,0,61,47,70,70,66,252,42,1,0,41,70,3,16,42,70,70,16,1,66,0,15,1,67,1,0,138,70,66,67,48,41,1,0,1,55,15,1,119,0,86,16,119,0,1,0,82,70,56,0,120,70,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,77,16,82,66,51,0,13,66,66,12,125,70,66,25,12,0,0,0,82,3,70,0,0,7,3,0,25,8,7,8,25,6,8,11,78,5,6,0,41,70,5,24,42,70,70,24,34,70,70,0,121,70,3,0,106,4,7,12,119,0,4,0,1,70,255,0,19,70,5,70,0,4,70,0,120,4,6,0,0,8,13,0,0,7,10,0,0,4,11,0,0,5,9,0,119,0,53,16,81,4,26,0,48,70,4,2,84,42,1,0,1,70,8,0,83,52,70,0,1,70,1,0,84,27,70,0,1,66,1,0,134,70,0,0,80,226,1,0,66,52,27,0,1,70,32,0,83,52,70,0,1,70,1,0,84,27,70,0,1,66,1,0,134,70,0,0,80,226,1,0,66,52,27,0,1,70,8,0,83,52,70,0,1,70,1,0,84,27,70,0,1,66,1,0,134,70,0,0,80,226,1,0,66,52,27,0,26,2,2,1,80,4,26,0,2,70,0,0,255,255,0,0,19,70,4,70,55,70,70,2,192,41,1,0,2,70,0,0,255,255,0,0,19,70,4,70,0,4,70,0,78,2,6,0,119,0,2,0,0,2,5,0,41,70,2,24,42,70,70,24,34,70,70,0,121,70,3,0,82,2,8,0,119,0,2,0,0,2,8,0,3,66,1,4,135,70,250,0,66,2,0,0,78,2,6,0,41,70,2,24,42,70,70,24,34,4,70,0,121,4,3,0,106,2,7,12,119,0,4,0,1,70,255,0,19,70,2,70,0,2,70,0,84,46,2,0,2,70,0,0,255,255,0,0,19,70,2,70,81,66,26,0,3,5,70,66,121,4,3,0,82,2,8,0,119,0,2,0,0,2,8,0,1,70,1,0,134,66,0,0,80,226,1,0,70,2,46,0,0,2,5,0,0,8,13,0,1,66,254,15,4,7,66,5,0,4,5,0,0,5,9,0,119,0,227,15,1,66,0,71,41,70,3,16,42,70,70,16,49,66,66,70,152,43,1,0,41,66,3,16,42,66,66,16,1,70,0,71,1,67,1,0,138,66,70,67,48,43,1,0,1,55,15,1,119,0,214,15,119,0,1,0,120,2,8,0,1,2,0,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,205,15,1,66,8,0,83,52,66,0,1,66,1,0,84,27,66,0,1,70,1,0,134,66,0,0,80,226,1,0,70,52,27,0,26,2,2,1,120,2,247,255,1,2,0,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,188,15,41,66,3,16,42,66,66,16,1,70,0,61,1,67,1,0,138,66,70,67,184,43,1,0,1,55,15,1,119,0,180,15,119,0,1,0,82,66,53,0,120,66,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,171,15,82,9,50,0,0,5,9,0,45,66,9,54,0,44,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,119,0,162,15,25,3,9,8,25,8,3,11,78,7,8,0,41,66,7,24,42,66,66,24,34,4,66,0,121,4,3,0,106,6,9,12,119,0,4,0,1,66,255,0,19,66,7,66,0,6,66,0,50,66,6,11,76,44,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,119,0,143,15,121,4,2,0,82,3,3,0,3,4,3,11,78,3,4,0,83,44,3,0,41,66,3,24,42,66,66,24,120,66,3,0,0,2,7,0,119,0,16,0,25,4,4,1,95,1,2,3,1,70,1,0,134,66,0,0,80,226,1,0,70,44,45,0,78,3,4,0,83,44,3,0,41,66,3,24,42,66,66,24,120,66,2,0,119,0,3,0,25,2,2,1,119,0,243,255,78,2,8,0,41,66,2,24,42,66,66,24,34,66,66,0,121,66,3,0,106,3,9,12,119,0,4,0,1,66,255,0,19,66,2,66,0,3,66,0,1,70,0,0,95,1,3,70,0,2,3,0,0,8,13,0,1,70,254,15,4,7,70,3,0,4,3,0,0,3,12,0,119,0,100,15,41,70,3,16,42,70,70,16,1,68,3,0,1,66,8,0,138,70,68,66,52,45,1,0,44,45,1,0,44,45,1,0,44,45,1,0,44,45,1,0,64,46,1,0,96,48,1,0,152,56,1,0,1,55,15,1,119,0,85,15,1,66,94,0,83,52,66,0,1,66,1,0,84,27,66,0,1,67,1,0,134,66,0,0,80,226,1,0,67,52,27,0,1,66,67,0,83,52,66,0,1,66,1,0,84,27,66,0,1,67,1,0,134,66,0,0,80,226,1,0,67,52,27,0,1,66,0,0,83,1,66,0,82,66,56,0,121,66,26,0,82,3,51,0,82,66,57,0,25,11,66,4,82,10,3,0,82,67,11,0,109,10,4,67,82,67,11,0,85,67,10,0,1,67,0,0,85,56,67,0,46,67,3,57,232,45,1,0,0,4,3,0,106,3,3,4,25,5,4,8,102,67,5,11,34,67,67,0,121,67,4,0,82,66,5,0,135,67,21,0,66,0,0,0,135,67,21,0,4,0,0,0,53,67,3,57,180,45,1,0,78,67,24,0,121,67,7,0,0,8,13,0,1,7,0,0,1,4,0,0,0,3,12,0,0,5,9,0,119,0,32,15,1,67,10,0,83,52,67,0,1,67,1,0,84,27,67,0,1,66,1,0,134,67,0,0,80,226,1,0,66,52,27,0,0,8,13,0,1,7,0,0,1,4,0,0,0,3,12,0,0,5,9,0,119,0,18,15,120,2,5,0,0,7,10,0,1,2,0,0,0,6,11,0,119,0,90,0,1,66,8,0,83,52,66,0,1,66,1,0,84,27,66,0,1,67,1,0,134,66,0,0,80,226,1,0,67,52,27,0,4,6,11,2,25,7,10,1,32,5,6,0,26,8,2,1,3,3,1,8,121,5,5,0,1,66,0,0,83,3,66,0,26,3,11,1,119,0,38,0,3,67,1,2,135,66,251,0,3,67,6,0,26,4,11,1,1,67,0,0,95,1,4,67,2,67,0,0,255,255,0,0,19,67,8,67,0,2,67,0,48,67,2,4,44,47,1,0,2,67,0,0,255,255,0,0,19,67,8,67,0,3,67,0,90,67,1,2,83,52,67,0,1,67,1,0,84,27,67,0,1,66,1,0,134,67,0,0,80,226,1,0,66,52,27,0,25,67,3,1,41,67,67,16,42,67,67,16,0,3,67,0,2,67,0,0,255,255,0,0,19,67,3,67,0,2,67,0,55,67,2,4,220,46,1,0,0,3,4,0,119,0,2,0,0,3,4,0,1,67,32,0,83,52,67,0,1,67,1,0,84,27,67,0,1,66,1,0,134,67,0,0,80,226,1,0,66,52,27,0,1,67,8,0,83,52,67,0,1,67,1,0,84,27,67,0,1,66,1,0,134,67,0,0,80,226,1,0,66,52,27,0,121,5,4,0,0,2,8,0,0,6,3,0,119,0,15,0,0,2,6,0,26,2,2,1,1,67,8,0,83,52,67,0,1,67,1,0,84,27,67,0,1,66,1,0,134,67,0,0,80,226,1,0,66,52,27,0,33,67,2,0,120,67,246,255,0,2,8,0,0,6,3,0,82,67,56,0,120,67,6,0,0,8,13,0,0,4,6,0,0,3,12,0,0,5,9,0,119,0,173,14,82,3,51,0,82,67,57,0,25,11,67,4,82,10,3,0,82,66,11,0,109,10,4,66,82,66,11,0,85,66,10,0,1,66,0,0,85,56,66,0,45,66,3,57,24,48,1,0,0,8,13,0,0,4,6,0,0,3,12,0,0,5,9,0,119,0,156,14,0,4,3,0,106,3,3,4,25,5,4,8,102,66,5,11,34,66,66,0,121,66,4,0,82,67,5,0,135,66,21,0,67,0,0,0,135,66,21,0,4,0,0,0,53,66,3,57,24,48,1,0,0,8,13,0,0,4,6,0,0,3,12,0,0,5,9,0,119,0,138,14,82,67,56,0,120,67,164,1,2,66,0,0,203,34,10,0,1,68,3,0,135,67,252,0,1,66,68,0,32,7,67,0,1,67,32,0,135,3,253,0,1,67,0,0,120,3,5,0,0,5,1,0,1,3,0,0,1,4,0,0,119,0,10,0,25,5,3,1,135,67,41,0,5,0,0,0,4,4,11,67,0,3,4,0,2,67,0,0,255,255,0,0,19,67,4,67,0,4,67,0,84,26,4,0,2,67,0,0,255,255,0,0,19,67,3,67,3,3,1,67,1,67,92,0,135,4,253,0,3,67,0,0,121,4,7,0,3,3,28,4,84,26,3,0,2,67,0,0,255,255,0,0,19,67,3,67,3,3,1,67,1,67,47,0,135,3,253,0,3,67,0,0,121,3,3,0,3,67,28,3,84,26,67,0,120,5,5,0,2,67,0,0,42,46,42,0,85,52,67,0,119,0,46,0,135,67,250,0,52,5,0,0,1,67,46,0,135,4,253,0,52,67,0,0,1,67,92,0,135,8,253,0,52,67,0,0,1,67,58,0,135,3,253,0,52,67,0,0,1,67,0,0,4,68,4,8,47,67,67,68,180,49,1,0,1,67,0,0,1,66,47,0,135,68,253,0,52,66,0,0,4,68,4,68,47,67,67,68,180,49,1,0,1,67,0,0,4,68,4,3,47,67,67,68,180,49,1,0,135,67,41,0,52,0,0,0,3,8,52,67,1,67,42,0,83,8,67,0,1,68,0,0,107,8,1,68,119,0,12,0,135,68,41,0,52,0,0,0,3,8,52,68,1,68,42,0,83,8,68,0,1,67,46,0,107,8,1,67,1,68,42,0,107,8,2,68,1,67,0,0,107,8,3,67,2,67,0,0,76,35,69,0,135,6,254,0,67,0,0,0,2,68,0,0,76,35,69,0,2,66,0,0,108,35,69,0,82,66,66,0,135,67,255,0,68,66,0,0,1,66,247,255,1,68,0,0,135,67,226,0,52,66,68,0,120,67,11,0,2,68,0,0,76,35,69,0,135,67,255,0,68,6,0,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,16,14,2,67,0,0,76,35,69,0,135,12,254,0,67,0,0,0,43,67,12,16,41,67,67,4,2,68,0,0,255,255,0,0,19,68,12,68,3,67,67,68,85,27,67,0,85,19,19,0,85,32,19,0,1,67,0,0,85,33,67,0,135,67,0,1,27,38,48,16,17,18,0,0,2,68,0,0,224,27,12,0,135,67,47,0,38,68,0,0,121,67,209,0,2,68,0,0,235,125,10,0,135,67,47,0,38,68,0,0,121,67,204,0,121,7,67,0,78,67,18,0,38,67,67,16,120,67,2,0,119,0,199,0,1,67,0,0,85,20,67,0,1,68,0,0,109,20,4,68,1,67,0,0,109,20,8,67,135,4,41,0,38,0,0,0,48,67,63,4,252,50,1,0,1,55,196,0,119,0,90,14,35,67,4,11,121,67,8,0,83,34,4,0,120,4,3,0,0,3,20,0,119,0,14,0,0,3,20,0,1,55,200,0,119,0,11,0,25,67,4,16,38,67,67,240,0,55,67,0,135,3,26,0,55,0,0,0,85,20,3,0,20,67,55,64,85,36,67,0,85,37,4,0,1,55,200,0,1,67,200,0,45,67,55,67,96,51,1,0,1,55,0,0,135,67,43,0,3,38,4,0,1,68,0,0,95,3,4,68,1,68,20,0,135,12,26,0,68,0,0,0,1,68,0,0,85,12,68,0,25,67,12,8,135,68,64,0,67,20,0,0,109,12,4,57,82,8,57,0,85,12,8,0,109,8,4,12,85,57,12,0,82,68,56,0,25,68,68,1,85,56,68,0,78,68,34,0,34,68,68,0,121,68,141,0,82,67,20,0,135,68,21,0,67,0,0,0,119,0,137,0,1,68,46,0,135,3,253,0,38,68,0,0,121,3,72,0,135,68,47,0,3,61,0,0,121,68,8,0,135,68,47,0,3,60,0,0,120,68,2,0,119,0,4,0,135,68,47,0,3,59,0,0,120,68,62,0,1,68,0,0,85,20,68,0,1,67,0,0,109,20,4,67,1,68,0,0,109,20,8,68,135,4,41,0,38,0,0,0,48,68,63,4,44,52,1,0,1,55,209,0,119,0,14,14,35,68,4,11,121,68,8,0,83,41,4,0,120,4,3,0,0,3,20,0,119,0,14,0,0,3,20,0,1,55,213,0,119,0,11,0,25,68,4,16,38,68,68,240,0,55,68,0,135,3,26,0,55,0,0,0,85,20,3,0,20,68,55,64,85,42,68,0,85,43,4,0,1,55,213,0,45,68,55,62,140,52,1,0,1,55,0,0,135,68,43,0,3,38,4,0,1,67,0,0,95,3,4,67,1,67,20,0,135,12,26,0,67,0,0,0,1,67,0,0,85,12,67,0,25,68,12,8,135,67,64,0,68,20,0,0,85,12,19,0,82,8,32,0,109,12,4,8,85,8,12,0,85,32,12,0,82,67,33,0,25,67,67,1,85,33,67,0,78,67,41,0,34,67,67,0,121,67,66,0,82,68,20,0,135,67,21,0,68,0,0,0,119,0,62,0,1,67,0,0,85,20,67,0,1,68,0,0,109,20,4,68,1,67,0,0,109,20,8,67,135,4,41,0,38,0,0,0,48,67,63,4,32,53,1,0,1,55,218,0,119,0,209,13,35,67,4,11,121,67,8,0,83,35,4,0,120,4,3,0,0,3,20,0,119,0,14,0,0,3,20,0,1,55,222,0,119,0,11,0,25,67,4,16,38,67,67,240,0,55,67,0,135,3,26,0,55,0,0,0,85,20,3,0,20,67,55,64,85,39,67,0,85,40,4,0,1,55,222,0,1,67,222,0,45,67,55,67,132,53,1,0,1,55,0,0,135,67,43,0,3,38,4,0,1,68,0,0,95,3,4,68,1,68,20,0,135,12,26,0,68,0,0,0,1,68,0,0,85,12,68,0,25,67,12,8,135,68,64,0,67,20,0,0,109,12,4,57,82,8,57,0,85,12,8,0,109,8,4,12,85,57,12,0,82,68,56,0,25,68,68,1,85,56,68,0,78,68,35,0,34,68,68,0,121,68,4,0,82,67,20,0,135,68,21,0,67,0,0,0,135,68,227,0,120,68,39,255,82,3,32,0,45,68,3,19,0,54,1,0,82,3,51,0,119,0,24,0,0,5,3,0,0,4,3,0,1,68,20,0,135,3,26,0,68,0,0,0,1,68,0,0,85,3,68,0,25,67,3,8,25,66,5,8,135,68,64,0,67,66,0,0,85,3,57,0,82,12,51,0,109,3,4,12,85,12,3,0,85,51,3,0,82,68,56,0,25,68,68,1,85,56,68,0,106,5,4,4,0,4,5,0,53,68,19,4,8,54,1,0,2,66,0,0,76,35,69,0,135,68,255,0,66,6,0,0,82,68,33,0,121,68,26,0,82,4,32,0,82,68,19,0,25,12,68,4,82,8,4,0,82,66,12,0,109,8,4,66,82,66,12,0,85,66,8,0,1,66,0,0,85,33,66,0,46,66,4,19,216,54,1,0,0,5,4,0,106,4,4,4,25,6,5,8,102,66,6,11,34,66,66,0,121,66,4,0,82,68,6,0,135,66,21,0,68,0,0,0,135,66,21,0,5,0,0,0,53,66,4,19,164,54,1,0,82,66,56,0,120,66,10,0,0,8,13,0,0,7,10,0,0,4,11,0,0,5,9,0,119,0,229,12,106,3,12,4,45,66,57,3,4,55,1,0,82,3,51,0,0,7,3,0,25,8,7,8,25,6,8,11,78,5,6,0,41,66,5,24,42,66,66,24,34,66,66,0,121,66,3,0,106,4,7,12,119,0,4,0,1,66,255,0,19,66,5,66,0,4,66,0,120,4,6,0,0,8,13,0,0,7,10,0,0,4,11,0,0,5,9,0,119,0,206,12,81,4,26,0,48,66,4,2,240,55,1,0,1,66,8,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,1,66,32,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,1,66,8,0,83,52,66,0,1,66,1,0,84,27,66,0,1,68,1,0,134,66,0,0,80,226,1,0,68,52,27,0,26,2,2,1,80,4,26,0,2,66,0,0,255,255,0,0,19,66,4,66,55,66,66,2,92,55,1,0,2,66,0,0,255,255,0,0,19,66,4,66,0,4,66,0,78,2,6,0,119,0,2,0,0,2,5,0,41,66,2,24,42,66,66,24,34,66,66,0,121,66,3,0,82,2,8,0,119,0,2,0,0,2,8,0,3,68,1,4,135,66,250,0,68,2,0,0,78,2,6,0,41,66,2,24,42,66,66,24,34,4,66,0,121,4,3,0,106,2,7,12,119,0,4,0,1,66,255,0,19,66,2,66,0,2,66,0,84,46,2,0,2,66,0,0,255,255,0,0,19,66,2,66,81,68,26,0,3,5,66,68,121,4,3,0,82,2,8,0,119,0,2,0,0,2,8,0,1,66,1,0,134,68,0,0,80,226,1,0,66,2,46,0,0,2,5,0,0,8,13,0,1,68,254,15,4,7,68,5,0,4,5,0,0,5,9,0,119,0,124,12,1,66,10,0,83,52,66,0,1,66,1,0,84,27,66,0,1,67,1,0,134,66,0,0,80,226,1,0,67,52,27,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,110,12,41,70,3,16,42,70,70,16,1,68,0,80,47,70,70,68,168,88,1,0,41,70,3,16,42,70,70,16,1,69,0,72,1,68,1,7,138,70,69,68,4,85,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0],eb+71680);HEAPU8.set([252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,60,87,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,224,87,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,252,84,1,0,60,88,1,0,1,55,15,1,119,0,97,5,0,6,9,0,82,68,53,0,32,68,68,0,13,69,54,6,20,68,68,69,121,68,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,85,5,82,68,50,0,14,68,68,6,20,68,13,68,121,68,3,0,0,5,13,0,119,0,62,0,1,68,0,0,85,52,68,0,1,69,0,0,109,52,4,69,1,68,0,0,109,52,8,68,135,4,41,0,1,0,0,0,48,68,63,4,124,85,1,0,1,55,87,0,119,0,186,5,35,68,4,11,121,68,8,0,83,29,4,0,120,4,3,0,0,3,52,0,119,0,14,0,0,3,52,0,1,55,91,0,119,0,11,0,25,68,4,16,38,68,68,240,0,55,68,0,135,3,26,0,55,0,0,0,85,52,3,0,20,68,55,64,85,30,68,0,85,31,4,0,1,55,91,0,32,68,55,91,121,68,4,0,1,55,0,0,135,68,43,0,3,1,4,0,1,69,0,0,95,3,4,69,1,69,20,0,135,13,26,0,69,0,0,0,1,69,0,0,85,13,69,0,25,68,13,8,135,69,64,0,68,52,0,0,85,13,54,0,82,11,50,0,109,13,4,11,85,11,13,0,85,50,13,0,82,69,53,0,25,69,69,1,85,53,69,0,78,69,29,0,34,69,69,0,121,69,4,0,82,68,52,0,135,69,21,0,68,0,0,0,1,5,1,0,121,2,28,0,1,69,8,0,83,52,69,0,1,69,1,0,84,27,69,0,1,68,1,0,134,69,0,0,80,226,1,0,68,52,27,0,1,69,32,0,83,52,69,0,1,69,1,0,84,27,69,0,1,68,1,0,134,69,0,0,80,226,1,0,68,52,27,0,1,69,8,0,83,52,69,0,1,69,1,0,84,27,69,0,1,68,1,0,134,69,0,0,80,226,1,0,68,52,27,0,26,2,2,1,33,69,2,0,120,69,230,255,0,4,9,0,25,2,4,8,25,3,2,11,78,69,3,0,34,69,69,0,121,69,2,0,82,2,2,0,135,69,250,0,1,2,0,0,78,2,3,0,41,69,2,24,42,69,69,24,34,69,69,0,121,69,3,0,106,2,4,12,119,0,4,0,1,69,255,0,19,69,2,69,0,2,69,0,84,46,2,0,2,69,0,0,255,255,0,0,19,69,2,69,0,4,69,0,1,68,1,0,134,69,0,0,80,226,1,0,68,1,46,0,0,2,4,0,0,8,5,0,1,69,254,15,4,7,69,4,0,3,12,0,106,5,6,4,119,0,211,4,120,2,8,0,1,2,0,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,203,4,1,68,8,0,83,52,68,0,1,68,1,0,84,27,68,0,1,66,1,0,134,68,0,0,80,226,1,0,66,52,27,0,1,66,0,0,135,68,247,0,27,52,66,0,78,68,52,0,120,68,14,0,135,68,248,0,38,0,0,0,79,66,27,0,1,67,255,0,3,66,66,67,1,67,255,0,19,66,66,67,80,67,38,0,1,69,255,0,19,67,67,69,1,69,0,0,135,68,249,0,66,67,69,0,26,2,2,1,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,170,4,50,68,11,2,0,88,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,162,4,90,68,1,2,83,52,68,0,1,68,1,0,84,27,68,0,1,69,1,0,134,68,0,0,80,226,1,0,69,52,27,0,25,2,2,1,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,147,4,50,68,11,2,92,88,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,139,4,90,68,1,2,83,52,68,0,25,2,2,1,1,68,1,0,84,27,68,0,1,69,1,0,134,68,0,0,80,226,1,0,69,52,27,0,45,68,2,11,164,88,1,0,0,2,11,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,121,4,119,0,238,255,41,70,3,16,42,70,70,16,1,69,0,83,47,70,70,69,0,99,1,0,41,70,3,16,42,70,70,16,1,68,0,80,1,69,1,2,138,70,68,69,220,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,212,96,1,0,224,96,1,0,1,55,15,1,119,0,107,2,119,0,25,0,2,69,0,0,252,34,69,0,82,69,69,0,33,69,69,7,121,69,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,95,2,2,69,0,0,151,102,43,2,2,68,0,0,151,102,43,2,78,68,68,0,40,68,68,1,83,69,68,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,82,2,82,4,53,0,120,4,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,74,2,82,6,50,0,45,70,6,9,132,97,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,65,2,82,3,9,0,45,70,3,6,0,98,1,0,25,3,6,4,82,5,3,0,120,13,6,0,1,8,0,0,0,7,10,0,0,4,11,0,0,3,12,0,119,0,54,2,82,13,6,0,109,13,4,5,82,70,3,0,85,70,13,0,26,70,4,1,85,53,70,0,25,3,6,8,102,70,3,11,34,70,70,0,121,70,4,0,82,68,3,0,135,70,21,0,68,0,0,0,135,70,21,0,6,0,0,0,1,8,0,0,0,7,10,0,0,4,11,0,0,3,12,0,119,0,34,2,82,5,3,0,121,2,28,0,1,70,8,0,83,52,70,0,1,70,1,0,84,27,70,0,1,68,1,0,134,70,0,0,80,226,1,0,68,52,27,0,1,70,32,0,83,52,70,0,1,70,1,0,84,27,70,0,1,68,1,0,134,70,0,0,80,226,1,0,68,52,27,0,1,70,8,0,83,52,70,0,1,70,1,0,84,27,70,0,1,68,1,0,134,70,0,0,80,226,1,0,68,52,27,0,26,2,2,1,33,70,2,0,120,70,230,255,0,4,5,0,25,2,4,8,25,3,2,11,78,70,3,0,34,70,70,0,121,70,2,0,82,2,2,0,135,70,250,0,1,2,0,0,78,2,3,0,41,70,2,24,42,70,70,24,34,70,70,0,121,70,3,0,106,2,4,12,119,0,4,0,1,70,255,0,19,70,2,70,0,2,70,0,84,46,2,0,2,70,0,0,255,255,0,0,19,70,2,70,0,4,70,0,1,68,1,0,134,70,0,0,80,226,1,0,68,1,46,0,0,2,4,0,0,8,13,0,1,70,254,15,4,7,70,4,0,3,12,0,106,5,5,4,119,0,226,1,41,70,3,16,42,70,70,16,1,68,0,115,47,70,70,68,40,100,1,0,41,70,3,16,42,70,70,16,1,68,0,83,1,69,1,0,138,70,68,69,52,99,1,0,1,55,15,1,119,0,213,1,119,0,1,0,50,70,11,2,88,99,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,204,1,2,70,0,0,255,255,0,0,4,70,70,2,3,70,70,11,84,38,70,0,1,68,1,0,25,69,2,1,3,69,1,69,134,70,0,0,80,226,1,0,68,69,38,0,1,70,32,0,83,52,70,0,1,70,1,0,84,27,70,0,1,69,1,0,134,70,0,0,80,226,1,0,69,52,27,0,1,70,8,0,83,52,70,0,1,70,1,0,84,27,70,0,1,69,1,0,134,70,0,0,80,226,1,0,69,52,27,0,26,4,11,1,48,70,2,4,12,100,1,0,0,3,2,0,0,11,3,0,25,3,3,1,90,69,1,3,95,1,11,69,1,69,8,0,83,52,69,0,1,69,1,0,84,27,69,0,1,70,1,0,134,69,0,0,80,226,1,0,70,52,27,0,53,69,3,4,212,99,1,0,1,70,0,0,95,1,4,70,0,8,13,0,25,7,10,1,0,3,12,0,0,5,9,0,119,0,152,1,41,70,3,16,42,70,70,16,1,69,0,115,1,68,1,1,138,70,69,68,72,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0],eb+81920);HEAPU8.set([64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,64,104,1,0,76,104,1,0,1,55,15,1,119,0,144,0,119,0,65,0,3,7,1,2,3,6,1,11,47,69,2,11,204,104,1,0,0,3,7,0,78,69,7,0,32,69,69,32,38,69,69,1,0,4,69,0,78,69,3,0,32,5,69,32,41,69,4,24,42,69,69,24,120,69,6,0,121,5,3,0,1,55,57,0,119,0,6,0,1,4,0,0,119,0,4,0,121,5,14,0,1,55,57,0,119,0,1,0,32,69,55,57,121,69,3,0,1,55,0,0,1,4,1,0,25,3,3,1,50,69,6,3,200,104,1,0,0,3,6,0,119,0,3,0,119,0,234,255,0,3,6,0,0,5,7,0,4,6,3,5,120,6,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,101,0,3,4,2,3,1,3,0,0,90,69,1,2,83,52,69,0,1,69,1,0,84,27,69,0,1,68,1,0,134,69,0,0,80,226,1,0,68,52,27,0,25,3,3,1,52,69,3,6,48,105,1,0,25,2,2,1,119,0,244,255,4,2,4,5,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,79,0,3,5,1,2,26,3,5,1,78,70,3,0,32,70,70,32,121,70,13,0,26,4,3,1,78,70,4,0,32,70,70,32,121,70,3,0,0,3,4,0,119,0,251,255,26,3,3,2,78,70,3,0,32,70,70,32,120,70,7,0,26,3,3,1,119,0,252,255,26,3,3,1,78,70,3,0,33,70,70,32,120,70,253,255,25,8,3,1,16,69,1,8,125,70,69,8,1,0,0,0,4,8,70,5,1,69,255,255,47,69,69,8,200,105,1,0,0,70,8,0,119,0,4,0,1,69,0,0,4,69,69,8,0,70,69,0,0,4,70,0,120,8,7,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,119,0,37,0,1,3,0,0,1,70,8,0,83,52,70,0,1,70,1,0,84,27,70,0,1,69,1,0,134,70,0,0,80,226,1,0,69,52,27,0,26,2,2,1,1,69,0,0,135,70,247,0,27,52,69,0,78,70,52,0,120,70,14,0,135,70,248,0,38,0,0,0,79,69,27,0,1,68,255,0,3,69,69,68,1,68,255,0,19,69,69,68,80,68,38,0,1,67,255,0,19,68,68,67,1,67,0,0,135,70,249,0,69,68,67,0,25,3,3,1,55,70,3,4,248,105,1,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,1,70,15,1,45,70,55,70,56,108,1,0,1,55,0,0,2,70,0,0,0,255,0,0,19,70,6,70,120,70,97,0,82,70,56,0,121,70,26,0,82,3,51,0,82,70,57,0,25,8,70,4,82,7,3,0,82,67,8,0,109,7,4,67,82,67,8,0,85,67,7,0,1,67,0,0,85,56,67,0,46,67,3,57,16,107,1,0,0,4,3,0,106,3,3,4,25,5,4,8,102,67,5,11,34,67,67,0,121,67,4,0,82,70,5,0,135,67,21,0,70,0,0,0,135,67,21,0,4,0,0,0,53,67,3,57,220,106,1,0,48,67,2,11,216,107,1,0,135,67,1,1,121,67,4,0,0,3,10,0,0,4,11,0,119,0,46,0,1,67,32,0,83,52,67,0,1,67,1,0,84,27,67,0,1,70,1,0,134,67,0,0,80,226,1,0,70,52,27,0,4,67,11,2,84,38,67,0,1,70,1,0,3,68,1,2,134,67,0,0,80,226,1,0,70,68,38,0,1,67,8,0,83,52,67,0,1,67,1,0,84,27,67,0,1,68,1,0,134,67,0,0,80,226,1,0,68,52,27,0,0,3,11,0,0,8,3,0,26,3,3,1,90,68,1,3,95,1,8,68,1,68,8,0,83,52,68,0,1,68,1,0,84,27,68,0,1,67,1,0,134,68,0,0,80,226,1,0,67,52,27,0,55,68,2,3,140,107,1,0,25,4,11,1,1,67,0,0,95,1,4,67,26,3,10,1,119,0,3,0,0,3,10,0,0,4,11,0,95,1,2,6,25,2,2,1,48,67,4,2,0,108,1,0,1,68,0,0,95,1,2,68,26,3,3,1,25,4,4,1,1,67,1,0,134,68,0,0,80,226,1,0,67,44,45,0,0,8,13,0,0,7,3,0,0,3,12,0,0,5,9,0,119,0,6,0,0,8,13,0,0,7,10,0,0,4,11,0,0,3,12,0,0,5,9,0,120,7,4,0,0,14,4,0,0,15,8,0,119,0,7,0,0,10,7,0,0,11,4,0,0,13,8,0,0,12,3,0,0,9,5,0,119,0,214,237,32,68,55,3,121,68,13,0,1,68,21,0,85,47,68,0,1,68,3,0,85,23,68,0,2,67,0,0,147,34,10,0,135,68,18,0,47,67,49,0,1,68,0,0,84,45,68,0,1,55,5,0,119,0,23,0,32,68,55,87,121,68,4,0,135,68,42,0,52,0,0,0,119,0,18,0,1,68,196,0,45,68,55,68,196,108,1,0,135,68,42,0,20,0,0,0,119,0,12,0,1,68,209,0,45,68,55,68,220,108,1,0,135,68,42,0,20,0,0,0,119,0,6,0,1,68,218,0,45,68,55,68,240,108,1,0,135,68,42,0,20,0,0,0,32,68,55,5,121,68,5,0,1,68,1,0,83,21,68,0,0,14,11,0,0,15,13,0,120,14,3,0,137,58,0,0,139,0,0,0,121,15,20,0,82,2,50,0,25,3,2,4,82,49,2,0,82,67,3,0,109,49,4,67,82,67,3,0,85,67,49,0,82,67,53,0,26,67,67,1,85,53,67,0,25,3,2,8,102,67,3,11,34,67,67,0,121,67,4,0,82,68,3,0,135,67,21,0,68,0,0,0,135,67,21,0,2,0,0,0,1,67,0,0,85,52,67,0,1,68,0,0,109,52,4,68,1,67,0,0,109,52,8,67,135,3,41,0,1,0,0,0,48,67,63,3,148,109,1,0,135,67,42,0,52,0,0,0,35,67,3,11,121,67,8,0,107,52,11,3,120,3,3,0,0,2,52,0,119,0,14,0,0,2,52,0,1,55,42,1,119,0,11,0,25,67,3,16,38,67,67,240,0,55,67,0,135,2,26,0,55,0,0,0,85,52,2,0,20,68,55,64,109,52,8,68,109,52,4,3,1,55,42,1,1,68,42,1,45,68,55,68,244,109,1,0,135,68,43,0,2,1,3,0,1,67,0,0,95,2,3,67,1,67,20,0,135,55,26,0,67,0,0,0,1,67,0,0,85,55,67,0,25,68,55,8,135,67,64,0,68,52,0,0,85,55,54,0,82,54,50,0,109,55,4,54,85,54,55,0,85,50,55,0,82,67,53,0,25,67,67,1,85,53,67,0,102,67,52,11,34,67,67,0,121,67,4,0,82,68,52,0,135,67,21,0,68,0,0,0,82,67,56,0,121,67,26,0,82,2,51,0,82,67,57,0,25,55,67,4,82,54,2,0,82,68,55,0,109,54,4,68,82,68,55,0,85,68,54,0,1,68,0,0,85,56,68,0,46,68,2,57,192,110,1,0,0,3,2,0,106,2,2,4,25,4,3,8,102,68,4,11,34,68,68,0,121,68,4,0,82,67,4,0,135,68,21,0,67,0,0,0,135,68,21,0,3,0,0,0,53,68,2,57,140,110,1,0,135,68,2,1,0,1,0,0,137,58,0,0,139,0,0,0,140,3,69,0,0,0,0,0,2,55,0,0,255,0,0,0,2,56,0,0,96,11,0,0,2,57,0,0,191,72,17,0,2,58,0,0,254,0,0,0,2,59,0,0,128,0,0,0,2,60,0,0,67,91,9,0,1,51,0,0,136,61,0,0,0,52,61,0,136,61,0,0,1,62,160,0,3,61,61,62,137,61,0,0,25,48,52,72,25,47,52,64,25,46,52,56,25,45,52,48,25,44,52,40,25,43,52,32,25,50,52,24,25,49,52,16,25,42,52,8,0,41,52,0,1,61,144,0,3,27,52,61,1,61,136,0,3,34,52,61,3,35,52,59,25,36,52,120,25,37,52,112,25,38,52,104,25,39,52,96,25,9,52,88,25,10,52,80,135,61,3,1,80,61,2,0,120,61,6,0,1,51,0,0,84,2,51,0,137,52,0,0,1,61,1,0,139,61,0,0,25,11,0,38,25,12,0,39,25,13,0,42,25,14,0,37,25,40,0,43,25,15,0,40,25,16,0,41,25,17,27,4,25,18,0,53,25,19,10,4,25,20,0,60,25,21,39,4,25,22,0,59,25,23,0,58,25,24,36,4,25,25,37,4,25,26,38,4,25,28,9,4,25,29,35,4,25,30,0,44,25,31,0,54,25,32,0,56,25,33,34,4,1,8,0,0,1,4,0,0,2,61,0,0,89,102,43,2,78,61,61,0,121,61,99,0,2,61,0,0,171,35,69,0,78,61,61,0,34,3,61,0,2,61,0,0,164,35,69,0,82,61,61,0,16,61,58,61,19,61,3,61,121,61,3,0,1,51,7,0,119,0,32,0,90,61,1,4,1,62,10,0,1,63,18,0,138,61,62,63,152,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,148,112,1,0,156,112,1,0,119,0,9,0,119,0,2,0,119,0,1,0,121,3,3,0,1,51,7,0,119,0,4,0,2,3,0,0,160,35,69,0,1,51,8,0,32,61,51,7,121,61,5,0,2,61,0,0,160,35,69,0,82,3,61,0,1,51,8,0,32,61,51,8,121,61,31,0,1,51,0,0,85,41,3,0,2,62,0,0,138,90,9,0,135,61,24,0,62,41,0,0,2,61,0,0,171,35,69,0,78,61,61,0,34,61,61,0,121,61,11,0,2,61,0,0,160,35,69,0,82,61,61,0,1,62,0,0,83,61,62,0,2,62,0,0,164,35,69,0,1,61,0,0,85,62,61,0,119,0,10,0,2,61,0,0,160,35,69,0,1,62,0,0,83,61,62,0,2,62,0,0,171,35,69,0,1,61,0,0,83,62,61,0,119,0,1,0,90,3,1,4,41,61,3,24,42,61,61,24,1,62,10,0,1,63,4,0,138,61,62,63,124,113,1,0,120,113,1,0,120,113,1,0,128,113,1,0,119,0,3,0,119,0,6,0,119,0,5,0,2,62,0,0,160,35,69,0,135,61,68,0,62,3,0,0,78,61,11,0,120,61,67,0,3,4,1,4,78,3,4,0,41,61,3,24,42,61,61,24,1,62,10,0,1,63,18,0,138,61,62,63,4,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,0,114,1,0,12,114,1,0,119,0,17,0,1,51,17,0,119,0,15,0,1,62,0,0,83,15,62,0,1,62,0,0,83,12,62,0,0,3,40,0,25,4,3,11,1,62,0,0,83,3,62,0,25,3,3,1,54,62,3,4,36,114,1,0,1,62,1,0,83,11,62,0,119,0,82,6,32,61,51,17,121,61,15,0,1,51,0,0,78,61,14,0,32,61,61,13,121,61,3,0,1,3,10,0,119,0,9,0,1,62,13,0,78,63,13,0,78,64,16,0,33,64,64,0,134,61,0,0,16,203,1,0,0,62,63,64,78,3,4,0,78,64,13,0,1,63,1,0,134,61,0,0,16,203,1,0,0,3,64,63,78,61,4,0,83,14,61,0,119,0,58,6,78,61,12,0,120,61,169,0,90,3,1,4,41,61,3,24,42,61,61,24,1,63,42,0,1,64,50,0,138,61,63,64,144,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,148,115,1,0,156,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,160,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,164,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,140,115,1,0,168,115,1,0,119,0,10,0,119,0,1,0,1,51,23,0,119,0,7,0,119,0,254,255,119,0,253,255,119,0,252,255,1,63,1,0,83,12,63,0,119,0,246,5,32,61,51,23,121,61,77,0,1,51,0,0,2,61,0,0,252,34,69,0,82,61,61,0,32,61,61,7,121,61,71,0,1,61,98,4,135,7,178,0,61,0,0,0,1,63,0,0,1,64,0,0,1,62,255,255,1,65,255,255,1,66,0,0,78,67,13,0,135,61,4,1,63,64,62,65,66,67,7,0,2,61,0,0,152,8,227,0,80,3,61,0,2,61,0,0,164,8,227,0,80,4,61,0,2,61,0,0,160,8,227,0,80,5,61,0,2,61,0,0,153,8,227,0,1,67,2,0,83,61,67,0,2,67,0,0,161,8,227,0,1,61,0,0,83,67,61,0,2,61,0,0,160,8,227,0,1,67,0,0,83,61,67,0,2,67,0,0,165,8,227,0,83,67,7,0,2,67,0,0,252,34,69,0,82,67,67,0,32,67,67,7,121,67,3,0,135,67,5,1,119,0,5,0,1,61,16,0,134,67,0,0,164,237,1,0,61,0,0,0,2,67,0,0,152,8,227,0,84,67,3,0,2,67,0,0,164,8,227,0,84,67,4,0,2,67,0,0,160,8,227,0,84,67,5,0,1,67,0,0,83,15,67,0,1,67,0,0,83,11,67,0,1,67,0,0,83,12,67,0,0,3,40,0,25,4,3,11,1,67,0,0,83,3,67,0,25,3,3,1,54,67,3,4,212,116,1,0,119,0,168,5,1,67,12,0,85,27,67,0,1,67,1,0,85,17,67,0,19,67,3,55,85,42,67,0,2,61,0,0,150,90,9,0,135,67,18,0,27,61,42,0,1,67,0,0,83,15,67,0,1,67,0,0,83,11,67,0,1,67,0,0,83,12,67,0,0,3,40,0,25,4,3,11,1,67,0,0,83,3,67,0,25,3,3,1,54,67,3,4,52,117,1,0,119,0,144,5,1,67,98,4,135,7,178,0,67,0,0,0,90,4,1,4,19,67,4,55,0,5,67,0,26,67,5,48,35,67,67,10,121,67,18,0,78,3,18,0,1,67,10,0,19,61,3,55,49,67,67,61,140,117,1,0,1,51,31,0,119,0,146,5,19,67,3,55,25,61,0,43,3,7,67,61,1,61,208,0,3,61,5,61,79,67,7,0,27,67,67,10,3,61,61,67,83,7,61,0,119,0,118,5,41,61,4,24,42,61,61,24,32,61,61,59,121,61,12,0,78,3,18,0,1,61,10,0,19,67,3,55,25,67,67,1,57,61,61,67,136,139,1,0,25,61,3,1,41,61,61,24,42,61,61,24,83,18,61,0,119,0,103,5,78,61,15,0,121,61,152,0,2,61,0,0,252,34,69,0,82,61,61,0,33,61,61,7,121,61,3,0,1,51,38,0,119,0,112,5,41,61,4,24,42,61,61,24,1,67,104,0,1,66,5,0,138,61,67,66,152,118,1,0,60,118,1,0,60,118,1,0,60,118,1,0,156,118,1,0,1,67,12,0,85,35,67,0,1,67,1,0,85,29,67,0,85,50,5,0,2,66,0,0,25,91,9,0,135,67,18,0,35,66,50,0,1,67,0,0,83,15,67,0,1,67,0,0,83,11,67,0,1,67,0,0,83,12,67,0,0,3,40,0,25,4,3,11,1,67,0,0,83,3,67,0,25,3,3,1,54,67,3,4,128,118,1,0,119,0,61,5,119,0,2,0,119,0,1,0,78,3,40,0,41,61,3,24,42,61,61,24,1,68,1,0,1,67,5,0,138,61,68,67,252,118,1,0,204,118,1,0,44,119,1,0,204,118,1,0,4,120,1,0,1,68,12,0,85,34,68,0,1,68,1,0,85,33,68,0,19,68,3,55,85,49,68,0,109,49,4,5,2,67,0,0,251,90,9,0,135,68,18,0,34,67,49,0,119,0,73,0,41,66,4,24,42,66,66,24,32,66,66,108,135,67,6,1,66,0,0,0,1,66,18,7,135,67,178,0,66,0,0,0,19,67,67,55,25,67,67,1,84,31,67,0,119,0,61,0,1,66,0,0,1,65,0,0,1,62,255,255,1,64,255,255,1,63,0,0,78,68,13,0,135,67,4,1,66,65,62,64,63,68,7,0,2,67,0,0,152,8,227,0,80,3,67,0,2,67,0,0,164,8,227,0,80,4,67,0,2,67,0,0,160,8,227,0,80,5,67,0,2,67,0,0,153,8,227,0,1,68,2,0,83,67,68,0,2,68,0,0,161,8,227,0,1,67,0,0,83,68,67,0,2,67,0,0,160,8,227,0,1,68,0,0,83,67,68,0,2,68,0,0,165,8,227,0,83,68,7,0,2,68,0,0,252,34,69,0,82,68,68,0,32,68,68,7,121,68,3,0,135,68,5,1,119,0,5,0,1,67,16,0,134,68,0,0,164,237,1,0,67,0,0,0,2,68,0,0,152,8,227,0,84,68,3,0,2,68,0,0,164,8,227,0,84,68,4,0,2,68,0,0,160,8,227,0,84,68,5,0,119,0,7,0,41,67,4,24,42,67,67,24,32,67,67,108,135,68,7,1,67,0,0,0,119,0,1,0,1,61,0,0,83,15,61,0,1,61,0,0,83,11,61,0,1,61,0,0,83,12,61,0,0,3,40,0,25,4,3,11,1,61,0,0,83,3,61,0,25,3,3,1,54,61,3,4,60,120,1,0,119,0,206,4,41,61,4,24,42,61,61,24,1,64,62,0,1,68,56,0,138,61,64,68,164,121,1,0,72,121,1,0,72,121,1,0,28,122,1,0,184,123,1,0,76,125,1,0,224,126,1,0,72,121,1,0,72,121,1,0,72,121,1,0,124,128,1,0,128,128,1,0,132,128,1,0,240,129,1,0,72,121,1,0,104,131,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,116,132,1,0,72,121,1,0,52,134,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,140,134,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,72,121,1,0,248,137,1,0,72,121,1,0,160,138,1,0,1,64,12,0,85,10,64,0,1,64,1,0,85,19,64,0,85,48,5,0,2,68,0,0,6,92,9,0,135,64,18,0,10,68,48,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,140,121,1,0,119,0,122,4,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,4,0,1,64,1,0,83,15,64,0,119,0,114,4,1,64,12,0,85,9,64,0,1,64,1,0,85,28,64,0,2,68,0,0,215,91,9,0,135,64,18,0,9,68,47,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,4,122,1,0,119,0,92,4,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,1,3,28,7,119,0,5,0,19,64,7,55,41,64,64,1,1,68,80,4,3,3,64,68,135,6,178,0,3,0,0,0,2,68,0,0,252,34,69,0,82,68,68,0,32,68,68,7,121,68,3,0,1,3,16,7,119,0,5,0,19,68,7,55,41,68,68,1,1,64,81,4,3,3,68,64,135,54,178,0,3,0,0,0,78,53,40,0,41,68,53,24,42,68,68,24,32,68,68,0,121,68,4,0,1,68,1,0,0,64,68,0,119,0,3,0,19,68,53,55,0,64,68,0,0,53,64,0,19,64,54,55,0,54,64,0,2,64,0,0,152,8,227,0,80,3,64,0,2,64,0,0,164,8,227,0,80,4,64,0,2,64,0,0,160,8,227,0,80,5,64,0,2,64,0,0,153,8,227,0,1,68,2,0,83,64,68,0,2,68,0,0,161,8,227,0,48,63,54,53,8,123,1,0,1,63,0,0,0,64,63,0,119,0,4,0,4,63,54,53,19,63,63,55,0,64,63,0,83,68,64,0,2,64,0,0,160,8,227,0,83,64,6,0,2,64,0,0,165,8,227,0,83,64,7,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,135,64,5,1,119,0,5,0,1,68,16,0,134,64,0,0,164,237,1,0,68,0,0,0,2,64,0,0,152,8,227,0,84,64,3,0,2,64,0,0,164,8,227,0,84,64,4,0,2,64,0,0,160,8,227,0,84,64,5,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,160,123,1,0,119,0,245,3,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,1,3,28,7,119,0,5,0,19,64,7,55,41,64,64,1,1,68,80,4,3,3,64,68,135,6,178,0,3,0,0,0,2,68,0,0,252,34,69,0,82,68,68,0,32,68,68,7,121,68,3,0,1,3,16,7,119,0,5,0,19,68,7,55,41,68,68,1,1,64,81,4,3,3,68,64,135,53,178,0,3,0,0,0,78,54,40,0,41,68,54,24,42,68,68,24,32,68,68,0,121,68,4,0,1,68,1,0,0,64,68,0,119,0,3,0,19,68,54,55,0,64,68,0,19,68,53,55,3,53,64,68,81,54,31,0,2,68,0,0,152,8,227,0,80,3,68,0,2,68,0,0,164,8,227,0,80,4,68,0,2,68,0,0,160,8,227,0,80,5,68,0,2,68,0,0,153,8,227,0,1,64,2,0,83,68,64,0,2,64,0,0,161,8,227,0,48,63,53,54,160,124,1,0,0,68,53,0,119,0,3,0,3,63,54,55,0,68,63,0,83,64,68,0,2,68,0,0,160,8,227,0,83,68,6,0,2,68,0,0,165,8,227,0,83,68,7,0,2,68,0,0,252,34,69,0,82,68,68,0,32,68,68,7,121,68,3,0,135,68,5,1,119,0,5,0,1,64,16,0,134,68,0,0,164,237,1,0,64,0,0,0,2,68,0,0,152,8,227,0,84,68,3,0,2,68,0,0,164,8,227,0,84,68,4,0,2,68,0,0,160,8,227,0,84,68,5,0,1,68,0,0,83,15,68,0,1,68,0,0,83,11,68,0,1,68,0,0,83,12,68,0,0,3,40,0,25,4,3,11,1,68,0,0,83,3,68,0,25,3,3,1,54,68,3,4,52,125,1,0,119,0,144,3,2,68,0,0,252,34,69,0,82,68,68,0,32,68,68,7,121,68,3,0,1,3,28,7,119,0,5,0,19,68,7,55,41,68,68,1,1,64,80,4,3,3,68,64,135,4,178,0,3,0,0,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,1,3,16,7,119,0,5,0,19,64,7,55,41,64,64,1,1,68,81,4,3,3,64,68,135,6,178,0,3,0,0,0,78,53,40,0,41,64,53,24,42,64,64,24,32,64,64,0,121,64,4,0,1,64,1,0,0,68,64,0,119,0,3,0,19,64,53,55,0,68,64,0,19,64,4,55,3,53,68,64,81,54,32,0,2,64,0,0,152,8,227,0,80,3,64,0,2,64,0,0,164,8,227,0,80,4,64,0,2,64,0,0,160,8,227,0,80,5,64,0,2,64,0,0,153,8,227,0,1,68,2,0,83,64,68,0,2,68,0,0,161,8,227,0,83,68,6,0,2,68,0,0,160,8,227,0,48,63,53,54,64,126,1,0,0,64,53,0,119,0,3,0,3,63,54,55,0,64,63,0,83,68,64,0,2,64,0,0,165,8,227,0,83,64,7,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,135,64,5,1,119,0,5,0,1,68,16,0,134,64,0,0,164,237,1,0,68,0,0,0,2,64,0,0,152,8,227,0,84,64,3,0,2,64,0,0,164,8,227,0,84,64,4,0,2,64,0,0,160,8,227,0,84,64,5,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,200,126,1,0,119,0,43,3,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,1,3,28,7,119,0,5,0,19,64,7,55,41,64,64,1,1,68,80,4,3,3,64,68,135,4,178,0,3,0,0,0,2,68,0,0,252,34,69,0,82,68,68,0,32,68,68,7,121,68,3,0,1,3,16,7,119,0,5,0,19,68,7,55,41,68,68,1,1,64,81,4,3,3,68,64,135,6,178,0,3,0,0,0,78,54,40,0,41,68,54,24,42,68,68,24,32,68,68,0,121,68,4,0,1,68,1,0,0,64,68,0,119,0,3,0,19,68,54,55,0,64,68,0,0,54,64,0,19,64,4,55,0,53,64,0,2,64,0,0,152,8,227,0,80,3,64,0,2,64,0,0,164,8,227,0,80,4,64,0,2,64,0,0,160,8,227,0,80,5,64,0,2,64,0,0,153,8,227,0,1,68,2,0,83,64,68,0,2,68,0,0,161,8,227,0,83,68,6,0,2,68,0,0,160,8,227,0,48,63,53,54,216,127,1,0,1,63,0,0,0,64,63,0,119,0,4,0,4,63,53,54,19,63,63,55,0,64,63,0,83,68,64,0,2,64,0,0,165,8,227,0,83,64,7,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,135,64,5,1,119,0,5,0,1,68,16,0,134,64,0,0,164,237,1,0,68,0,0,0,2,64,0,0,152,8,227,0,84,64,3,0,2,64,0,0,164,8,227,0,84,64,4,0,2,64,0,0,160,8,227,0,84,64,5,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,100,128,1,0,119,0,196,2,119,0,254,0,119,0,109,1,78,3,40,0,41,64,3,24,42,64,64,24,1,68,0,0,1,63,3,0,138,64,68,63,212,128,1,0,168,128,1,0,224,128,1,0,1,68,12,0,85,38,68,0,1,68,1,0,85,26,68,0,19,68,3,55,85,45,68,0,2,63,0,0,121,91,9,0,135,68,18,0,38,63,45,0,119,0,5,0,1,68,2,0,83,40,68,0,119,0,2,0,119,0,1,0,1,68,0,0,1,63,0,0,1,67,255,255,1,62,255,255,1,65,0,0,78,66,13,0,135,64,4,1,68,63,67,62,65,66,7,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,40,129,1,0,2,64,0,0,152,8,227,0,80,3,64,0,2,64,0,0,164,8,227,0,80,4,64,0,2,64,0,0,160,8,227,0,80,5,64,0,2,64,0,0,153,8,227,0,1,66,2,0,83,64,66,0,2,66,0,0,161,8,227,0,1,64,0,0,83,66,64,0,2,64,0,0,160,8,227,0,1,66,0,0,83,64,66,0,2,66,0,0,165,8,227,0,83,66,7,0,2,66,0,0,252,34,69,0,82,66,66,0,32,66,66,7,121,66,3,0,135,66,5,1,119,0,5,0,1,64,16,0,134,66,0,0,164,237,1,0,64,0,0,0,2,66,0,0,152,8,227,0,84,66,3,0,2,66,0,0,164,8,227,0,84,66,4,0,2,66,0,0,160,8,227,0,84,66,5,0,119,0,103,2,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,1,3,28,7,119,0,5,0,19,64,7,55,41,64,64,1,1,66,80,4,3,3,64,66,135,6,178,0,3,0,0,0,2,66,0,0,252,34,69,0,82,66,66,0,32,66,66,7,121,66,3,0,1,3,16,7,119,0,5,0,19,66,7,55,41,66,66,1,1,64,81,4,3,3,66,64,135,54,178,0,3,0,0,0,1,66,32,0,78,65,13,0,81,62,32,0,19,67,6,55,4,62,62,67,2,67,0,0,255,255,0,0,19,62,62,67,1,67,1,0,135,64,8,1,66,65,7,62,67,0,0,0,2,64,0,0,152,8,227,0,80,3,64,0,2,64,0,0,164,8,227,0,80,4,64,0,2,64,0,0,160,8,227,0,80,5,64,0,2,64,0,0,153,8,227,0,1,67,2,0,83,64,67,0,2,67,0,0,161,8,227,0,83,67,54,0,2,67,0,0,160,8,227,0,83,67,6,0,2,67,0,0,165,8,227,0,83,67,7,0,2,67,0,0,252,34,69,0,82,67,67,0,32,67,67,7,121,67,3,0,135,67,5,1,119,0,5,0,1,64,16,0,134,67,0,0,164,237,1,0,64,0,0,0,2,67,0,0,152,8,227,0,84,67,3,0,2,67,0,0,164,8,227,0,84,67,4,0,2,67,0,0,160,8,227,0,84,67,5,0,1,67,0,0,83,15,67,0,1,67,0,0,83,11,67,0,1,67,0,0,83,12,67,0,0,3,40,0,25,4,3,11,1,67,0,0,83,3,67,0,25,3,3,1,54,67,3,4,80,131,1,0,119,0,9,2,2,67,0,0,252,34,69,0,82,67,67,0,32,67,67,7,121,67,5,0,1,64,28,7,135,67,178,0,64,0,0,0,119,0,7,0,19,64,7,55,41,64,64,1,1,62,80,4,3,64,64,62,135,67,178,0,64,0,0,0,2,67,0,0,252,34,69,0,82,67,67,0,32,67,67,7,121,67,3,0,1,3,16,7,119,0,5,0,19,67,7,55,41,67,67,1,1,64,81,4,3,3,67,64,135,4,178,0,3,0,0,0,78,3,40,0,1,67,0,0,81,62,31,0,3,62,62,55,19,62,62,55,81,65,32,0,3,65,65,55,19,65,65,55,41,63,3,24,42,63,63,24,32,63,63,0,121,63,4,0,1,63,255,255,0,66,63,0,119,0,6,0,1,63,0,0,19,68,3,55,4,63,63,68,19,63,63,55,0,66,63,0,78,63,13,0,1,68,255,255,135,64,4,1,4,67,62,65,66,63,68,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,92,132,1,0,119,0,198,1,78,68,20,0,120,68,11,0,1,68,1,0,83,20,68,0,1,68,12,0,85,37,68,0,1,68,2,0,85,25,68,0,2,64,0,0,101,91,9,0,135,68,18,0,37,64,44,0,78,3,40,0,41,68,3,24,42,68,68,24,120,68,4,0,1,68,1,0,83,40,68,0,1,3,1,0,78,4,30,0,41,68,4,24,42,68,68,24,120,68,4,0,1,68,1,0,83,30,68,0,1,4,1,0,80,5,31,0,2,68,0,0,255,255,0,0,19,68,5,68,19,64,3,55,48,68,68,64,4,133,1,0,19,68,5,55,0,3,68,0,83,40,3,0,80,5,32,0,2,68,0,0,255,255,0,0,19,68,5,68,19,64,4,55,48,68,68,64,44,133,1,0,19,68,5,55,0,4,68,0,83,30,4,0,26,68,3,1,41,68,68,24,42,68,68,24,0,6,68,0,83,40,6,0,26,68,4,1,41,68,68,24,42,68,68,24,0,53,68,0,83,30,53,0,2,68,0,0,152,8,227,0,80,3,68,0,2,68,0,0,164,8,227,0,80,4,68,0,2,68,0,0,160,8,227,0,80,5,68,0,2,68,0,0,153,8,227,0,1,64,2,0,83,68,64,0,2,64,0,0,161,8,227,0,83,64,6,0,2,64,0,0,160,8,227,0,83,64,53,0,2,64,0,0,165,8,227,0,83,64,7,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,135,64,5,1,119,0,5,0,1,68,16,0,134,64,0,0,164,237,1,0,68,0,0,0,2,64,0,0,152,8,227,0,84,64,3,0,2,64,0,0,164,8,227,0,84,64,4,0,2,64,0,0,160,8,227,0,84,64,5,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,28,134,1,0,119,0,86,1,1,66,12,0,85,39,66,0,1,66,1,0,85,21,66,0,2,64,0,0,172,91,9,0,135,66,18,0,39,64,46,0,1,66,0,0,83,15,66,0,1,66,0,0,83,11,66,0,1,66,0,0,83,12,66,0,0,3,40,0,25,4,3,11,1,66,0,0,83,3,66,0,25,3,3,1,54,66,3,4,116,134,1,0,119,0,64,1,2,68,0,0,252,34,69,0,82,3,68,0,32,68,3,7,121,68,3,0,1,68,225,255,83,13,68,0,1,7,0,0,32,3,3,7,38,68,3,1,0,4,68,0,25,68,0,43,3,5,68,7,121,3,12,0,78,6,5,0,26,68,6,17,19,68,68,55,34,68,68,7,121,68,7,0,2,68,0,0,60,91,9,0,19,67,6,55,26,67,67,17,90,68,68,67,83,5,68,0,1,68,1,0,83,16,68,0,78,68,5,0,1,64,0,0,1,63,48,0,138,68,64,63,204,135,1,0,236,135,1,0,12,136,1,0,200,135,1,0,48,136,1,0,56,136,1,0,200,135,1,0,84,136,1,0,116,136,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,140,136,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,200,135,1,0,144,136,1,0,200,136,1,0,204,136,1,0,208,136,1,0,212,136,1,0,216,136,1,0,220,136,1,0,224,136,1,0,200,135,1,0,200,135,1,0,228,136,1,0,72,137,1,0,76,137,1,0,80,137,1,0,84,137,1,0,88,137,1,0,92,137,1,0,96,137,1,0,119,0,103,0,1,67,0,0,83,16,67,0,1,63,225,255,1,64,7,0,125,67,3,63,64,0,0,0,83,13,67,0,119,0,95,0,1,64,0,0,1,63,8,0,125,67,3,64,63,0,0,0,79,63,13,0,20,67,67,63,83,13,67,0,119,0,87,0,1,63,16,0,1,64,0,0,125,67,3,63,64,0,0,0,79,64,13,0,20,67,67,64,83,13,67,0,1,51,61,0,119,0,78,0,1,51,61,0,119,0,76,0,1,64,2,0,125,67,3,64,59,0,0,0,79,64,13,0,20,67,67,64,83,13,67,0,119,0,69,0,121,3,5,0,78,67,13,0,39,67,67,4,83,13,67,0,119,0,64,0,1,67,112,0,83,13,67,0,119,0,61,0,125,67,3,58,55,0,0,0,79,64,13,0,19,67,67,64,83,13,67,0,119,0,55,0,119,0,250,255,41,67,4,3,3,4,56,67,78,67,13,0,102,64,4,7,11,64,64,0,19,67,67,64,0,6,67,0,83,13,6,0,79,67,5,0,26,67,67,30,90,67,67,4,20,67,67,6,83,13,67,0,119,0,40,0,119,0,242,255,119,0,241,255,119,0,240,255,119,0,239,255,119,0,238,255,119,0,237,255,119,0,236,255,1,67,0,0,1,64,4,0,125,6,3,67,64,0,0,0,41,64,4,3,3,4,56,64,103,64,4,7,22,64,64,6,21,64,64,55,79,67,13,0,19,64,64,67,0,53,64,0,83,13,53,0,1,67,4,0,1,63,0,0,125,64,3,67,63,0,0,0,20,64,53,64,79,63,5,0,26,63,63,40,91,63,63,4,22,63,63,6,20,64,64,63,83,13,64,0,119,0,8,0,119,0,231,255,119,0,230,255,119,0,229,255,119,0,228,255,119,0,227,255,119,0,226,255,119,0,225,255,32,68,51,61,121,68,14,0,1,51,0,0,121,3,5,0,78,68,13,0,39,68,68,8,83,13,68,0,119,0,8,0,1,68,12,0,85,36,68,0,1,68,1,0,85,24,68,0,135,68,18,0,36,60,43,0,119,0,1,0,79,68,18,0,57,68,68,7,192,137,1,0,25,7,7,1,2,68,0,0,252,34,69,0,82,3,68,0,119,0,60,255,1,68,0,0,83,15,68,0,1,68,0,0,83,11,68,0,1,68,0,0,83,12,68,0,0,3,40,0,25,4,3,11,1,68,0,0,83,3,68,0,25,3,3,1,54,68,3,4,224,137,1,0,119,0,101,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,1,3,28,7,119,0,5,0,19,64,7,55,41,64,64,1,1,66,80,4,3,3,64,66,135,66,178,0,3,0,0,0,83,23,66,0,2,66,0,0,252,34,69,0,82,66,66,0,32,66,66,7,121,66,3,0,1,3,16,7,119,0,5,0,19,66,7,55,41,66,66,1,1,64,81,4,3,3,66,64,135,64,178,0,3,0,0,0,83,22,64,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,136,138,1,0,119,0,59,0,78,53,22,0,78,54,23,0,2,66,0,0,152,8,227,0,80,3,66,0,2,66,0,0,164,8,227,0,80,4,66,0,2,66,0,0,160,8,227,0,80,5,66,0,2,66,0,0,153,8,227,0,1,64,2,0,83,66,64,0,2,64,0,0,161,8,227,0,83,64,53,0,2,64,0,0,160,8,227,0,83,64,54,0,2,64,0,0,165,8,227,0,83,64,7,0,2,64,0,0,252,34,69,0,82,64,64,0,32,64,64,7,121,64,3,0,135,64,5,1,119,0,5,0,1,66,16,0,134,64,0,0,164,237,1,0,66,0,0,0,2,64,0,0,152,8,227,0,84,64,3,0,2,64,0,0,164,8,227,0,84,64,4,0,2,64,0,0,160,8,227,0,84,64,5,0,1,64,0,0,83,15,64,0,1,64,0,0,83,11,64,0,1,64,0,0,83,12,64,0,0,3,40,0,25,4,3,11,1,64,0,0,83,3,64,0,25,3,3,1,54,64,3,4,112,139,1,0,119,0,1,0,25,61,8,1,41,61,61,16,42,61,61,16,0,3,61,0,2,61,0,0,255,255,0,0,19,61,3,61,81,64,2,0,47,61,61,64,200,139,1,0,0,8,3,0,2,61,0,0,255,255,0,0,19,61,3,61,0,4,61,0,119,0,14,249,1,51,155,0,119,0,1,0,32,61,51,31,121,61,11,0,2,64,0,0,184,90,9,0,2,68,0,0,220,90,9,0,1,63,29,2,2,66,0,0,232,90,9,0,135,61,38,0,64,68,63,66,119,0,20,0,32,61,51,38,121,61,11,0,2,66,0,0,238,90,9,0,2,63,0,0,220,90,9,0,1,68,37,2,2,64,0,0,232,90,9,0,135,61,38,0,66,63,68,64,119,0,8,0,1,61,155,0,45,61,51,61,76,140,1,0,84,2,3,0,137,52,0,0,1,61,1,0,139,61,0,0,1,61,0,0,139,61,0,0,140,2,72,0,0,0,0,0,2,61,0,0,32,144,10,0,2,62,0,0,139,102,43,2,2,63,0,0,85,33,10,0,2,64,0,0,144,33,10,0,2,65,0,0,0,202,154,59,2,66,0,0,255,201,154,59,2,67,0,0,113,33,10,0,1,57,0,0,136,68,0,0,0,60,68,0,136,68,0,0,1,69,80,4,3,68,68,69,137,68,0,0,1,68,0,4,3,56,60,68,1,68,248,3,3,53,60,68,1,68,240,3,3,52,60,68,1,68,224,3,3,55,60,68,1,68,208,3,3,51,60,68,1,68,200,3,3,49,60,68,1,68,192,3,3,46,60,68,1,68,184,3,3,45,60,68,1,68,168,3,3,44,60,68,1,68,152,3,3,43,60,68,1,68,144,3,3,30,60,68,1,68,112,3,3,40,60,68,1,68,104,3,3,39,60,68,1,68,96,3,3,38,60,68,1,68,80,3,3,37,60,68,1,68,64,3,3,36,60,68,1,68,56,3,3,35,60,68,1,68,24,3,3,34,60,68,1,68,16,3,3,33,60,68,1,68,8,3,3,32,60,68,1,68,0,3,3,31,60,68,1,68,248,2,3,17,60,68,1,68,240,2,3,16,60,68,1,68,232,2,3,26,60,68,1,68,224,2,3,24,60,68,1,68,216,2,3,23,60,68,1,68,200,2,3,25,60,68,1,68,184,2,3,22,60,68,1,68,176,2,3,20,60,68,1,68,168,2,3,19,60,68,1,68,160,2,3,18,60,68,1,68,152,2,3,9,60,68,1,68,144,2,3,6,60,68,1,68,136,2,3,10,60,68,1,68,128,2,3,4,60,68,1,68,120,2,3,3,60,68,1,68,112,2,3,2,60,68,1,68,44,4,3,50,60,68,1,68,80,2,3,58,60,68,1,68,0,2,3,5,60,68,1,68,32,4,3,59,60,68,0,11,60,0,1,68,20,4,3,42,60,68,1,68,8,4,3,54,60,68,1,68,74,4,3,48,60,68,1,68,72,4,3,47,60,68,2,69,0,0,108,131,11,0,135,68,9,1,1,69,0,0,121,68,39,0,2,70,0,0,175,17,10,0,135,69,10,1,70,0,0,0,1,70,96,2,3,70,60,70,134,68,0,0,172,232,1,0,0,69,70,0,2,68,0,0,240,32,10,0,135,1,10,1,68,0,0,0,2,70,0,0,69,250,11,0,1,69,104,2,3,69,60,69,134,68,0,0,172,232,1,0,0,70,69,0,2,69,0,0,249,123,10,0,135,68,47,0,69,1,0,0,120,68,9,0,2,69,0,0,8,33,10,0,134,68,0,0,172,232,1,0,0,69,3,0,137,60,0,0,139,0,0,0,119,0,6,0,134,68,0,0,172,232,1,0,0,1,2,0,137,60,0,0,139,0,0,0,1,68,0,0,85,59,68,0,1,69,0,0,109,59,4,69,1,68,0,0,109,59,8,68,2,69,0,0,13,33,10,0,135,68,11,1,0,69,59,0,121,68,89,0,1,70,61,0,1,71,0,0,135,69,12,1,59,70,71,0,25,69,69,1,1,71,255,255,135,68,13,1,50,59,69,71,59,0,0,0,1,68,0,0,85,54,68,0,1,71,0,0,109,54,4,71,1,68,0,0,109,54,8,68,135,3,41,0,1,0,0,0,1,68,239,255,48,68,68,3,76,143,1,0,135,68,42,0,54,0,0,0,35,68,3,11,121,68,8,0,107,54,11,3,120,3,3,0,0,1,54,0,119,0,16,0,0,2,54,0,1,57,11,0,119,0,13,0,25,68,3,16,38,68,68,240,0,57,68,0,135,2,26,0,57,0,0,0,85,54,2,0,2,71,0,0,0,0,0,128,20,71,57,71,109,54,8,71,109,54,4,3,1,57,11,0,32,71,57,11,121,71,4,0,135,71,43,0,2,1,3,0,0,1,2,0,1,68,0,0,95,1,3,68,135,68,74,0,42,54,61,0,135,68,20,0,11,42,50,0,135,68,62,0,59,11,0,0,102,68,11,11,34,68,68,0,121,68,4,0,82,71,11,0,135,68,21,0,71,0,0,0,102,68,42,11,34,68,68,0,121,68,4,0,82,71,42,0,135,68,21,0],eb+92160);HEAPU8.set([71,0,0,0,102,68,54,11,34,68,68,0,121,68,4,0,82,71,54,0,135,68,21,0,71,0,0,0,102,71,59,11,34,71,71,0,121,71,4,0,82,71,59,0,0,68,71,0,119,0,2,0,0,68,59,0,0,1,68,0,102,68,50,11,34,68,68,0,121,68,4,0,82,71,50,0,135,68,21,0,71,0,0,0,2,68,0,0,248,255,11,0,135,2,9,1,1,68,0,0,2,71,0,0,240,255,11,0,135,68,9,1,1,71,0,0,2,68,0,0,234,255,11,0,135,3,9,1,1,68,0,0,2,71,0,0,20,33,10,0,135,68,9,1,1,71,0,0,121,68,3,0,1,57,23,0,119,0,10,0,2,71,0,0,23,33,10,0,135,68,9,1,1,71,0,0,121,68,3,0,1,57,23,0,119,0,3,0,0,28,2,0,0,27,3,0,32,68,57,23,121,68,3,0,1,28,1,0,1,27,1,0,2,68,0,0,210,255,11,0,135,29,9,1,1,68,0,0,2,68,0,0,26,33,10,0,135,7,9,1,1,68,0,0,2,68,0,0,29,33,10,0,135,8,9,1,1,68,0,0,2,68,0,0,236,54,11,0,135,12,9,1,1,68,0,0,2,68,0,0,33,33,10,0,135,3,9,1,1,68,0,0,20,68,12,3,0,12,68,0,2,68,0,0,37,33,10,0,135,13,9,1,1,68,0,0,2,68,0,0,40,33,10,0,135,41,9,1,1,68,0,0,20,68,13,41,0,13,68,0,2,68,0,0,44,33,10,0,135,14,9,1,1,68,0,0,2,68,0,0,47,33,10,0,135,2,9,1,1,68,0,0,20,68,14,2,0,14,68,0,2,68,0,0,51,33,10,0,135,15,9,1,1,68,0,0,2,68,0,0,54,33,10,0,135,21,9,1,1,68,0,0,20,68,15,21,0,15,68,0,20,68,3,41,20,68,68,2,20,68,68,21,0,21,68,0,135,2,14,1,1,0,0,0,120,2,246,3,135,2,15,1,1,0,0,0,135,1,41,0,2,0,0,0,120,1,4,0,0,1,2,0,1,57,29,0,119,0,46,0,26,68,1,1,90,68,2,68,1,71,58,0,1,69,35,0,138,68,71,69,132,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,128,146,1,0,136,146,1,0,119,0,5,0,119,0,2,0,119,0,1,0,3,1,2,1,1,57,29,0,32,68,57,29,121,68,9,0,1,68,42,0,83,1,68,0,1,71,46,0,107,1,1,71,1,68,42,0,107,1,2,68,1,71,0,0,107,1,3,71,78,71,2,0,32,71,71,46,121,71,113,0,102,71,2,1,1,69,0,0,1,68,93,0,138,71,69,68,104,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,120,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,76,148,1,0,132,148,1,0,1,68,42,0,83,11,68,0,1,69,0,0,107,11,1,69,135,69,16,1,11,2,0,0,119,0,11,0,2,68,0,0,42,46,42,0,85,11,68,0,119,0,7,0,135,68,250,0,11,2,0,0,119,0,4,0,119,0,253,255,135,71,250,0,11,2,0,0,2,69,0,0,58,33,10,0,135,71,17,1,11,69,0,0,120,71,4,0,1,1,0,0,1,2,1,0,119,0,7,0,2,69,0,0,242,23,10,0,135,71,17,1,11,69,0,0,32,1,71,0,1,2,0,0,135,71,18,1,11,0,0,0,41,71,71,24,42,71,71,24,32,71,71,10,121,71,37,3,1,69,42,0,135,71,253,0,11,69,0,0,120,71,36,0,1,69,63,0,135,71,253,0,11,69,0,0,120,71,32,0,1,71,0,0,84,50,71,0,135,71,218,0,11,50,0,0,121,71,27,0,80,71,50,0,38,71,71,16,121,71,24,0,135,71,41,0,11,0,0,0,3,41,11,71,2,71,0,0,89,31,10,0,78,71,71,0,83,41,71,0,2,69,0,0,90,31,10,0,78,69,69,0,107,41,1,69,2,71,0,0,91,31,10,0,78,71,71,0,107,41,2,71,2,69,0,0,92,31,10,0,78,69,69,0,107,41,3,69,2,71,0,0,93,31,10,0,78,71,71,0,107,41,4,71,1,69,46,0,135,71,253,0,11,69,0,0,120,71,16,0,135,71,41,0,11,0,0,0,3,41,11,71,2,71,0,0,62,33,10,0,78,71,71,0,83,41,71,0,2,69,0,0,63,33,10,0,78,69,69,0,107,41,1,69,2,71,0,0,64,33,10,0,78,71,71,0,107,41,2,71,135,71,240,0,11,5,0,0,120,71,9,0,2,68,0,0,15,27,10,0,135,69,10,1,68,0,0,0,134,71,0,0,172,232,1,0,0,69,6,0,119,0,241,2,1,69,92,0,135,71,253,0,5,69,0,0,1,69,0,0,107,71,1,69,120,29,11,0,135,69,19,1,0,62,0,0,2,69,0,0,65,33,10,0,135,41,10,1,69,0,0,0,85,9,5,0,134,69,0,0,172,232,1,0,0,41,9,0,2,69,0,0,76,35,69,0,135,41,254,0,69,0,0,0,2,71,0,0,76,35,69,0,2,68,0,0,108,35,69,0,82,68,68,0,135,69,255,0,71,68,0,0,2,69,0,0,76,35,69,0,135,10,254,0,69,0,0,0,43,69,10,16,41,69,69,4,2,68,0,0,255,255,0,0,19,68,10,68,3,69,69,68,85,42,69,0,1,68,247,255,1,71,0,0,135,69,226,0,11,68,71,0,121,69,74,2,121,2,12,0,2,69,0,0,8,24,10,0,135,58,10,1,69,0,0,0,2,69,0,0,177,33,10,0,85,16,69,0,134,69,0,0,172,232,1,0,0,58,16,0,119,0,186,2,121,1,12,0,2,69,0,0,8,24,10,0,135,58,10,1,69,0,0,0,2,69,0,0,183,33,10,0,85,17,69,0,134,69,0,0,172,232,1,0,0,58,17,0,119,0,174,2,1,69,0,0,85,54,69,0,25,20,54,4,1,69,0,0,85,20,69,0,1,71,0,0,109,54,8,71,25,2,50,16,25,3,50,20,25,4,50,22,25,5,50,24,25,6,54,8,121,7,35,0,135,71,0,1,42,50,2,3,4,5,0,0,78,71,5,0,38,71,71,16,32,71,71,0,20,71,71,8,120,71,24,0,82,1,20,0,82,71,6,0,45,71,1,71,112,151,1,0,135,71,20,1,54,50,0,0,119,0,17,0,116,1,50,0,106,69,50,4,109,1,4,69,106,71,50,8,109,1,8,71,106,69,50,12,109,1,12,69,106,71,50,16,109,1,16,71,106,69,50,20,109,1,20,69,106,71,50,24,109,1,24,71,25,71,1,28,85,20,71,0,119,0,1,0,135,71,227,0,120,71,224,255,119,0,61,0,120,8,29,0,135,71,0,1,42,50,2,3,4,5,0,0,82,1,20,0,82,71,6,0,45,71,1,71,232,151,1,0,135,71,20,1,54,50,0,0,119,0,16,0,116,1,50,0,106,69,50,4,109,1,4,69,106,71,50,8,109,1,8,71,106,69,50,12,109,1,12,69,106,71,50,16,109,1,16,71,106,69,50,20,109,1,20,69,106,71,50,24,109,1,24,71,25,71,1,28,85,20,71,0,135,71,227,0,120,71,230,255,119,0,32,0,135,71,0,1,42,50,2,3,4,5,0,0,78,71,5,0,38,71,71,16,120,71,24,0,82,1,20,0,82,71,6,0,45,71,1,71,100,152,1,0,135,71,20,1,54,50,0,0,119,0,17,0,116,1,50,0,106,69,50,4,109,1,4,69,106,71,50,8,109,1,8,71,106,69,50,12,109,1,12,69,106,71,50,16,109,1,16,71,106,69,50,20,109,1,20,69,106,71,50,24,109,1,24,71,25,71,1,28,85,20,71,0,119,0,1,0,135,71,227,0,120,71,226,255,121,12,8,0,82,25,54,0,82,26,20,0,1,71,161,0,85,50,71,0,135,71,21,1,25,26,50,0,119,0,25,0,121,14,8,0,82,25,54,0,82,26,20,0,1,71,162,0,85,50,71,0,135,71,21,1,25,26,50,0,119,0,17,0,121,13,8,0,82,25,54,0,82,26,20,0,1,71,163,0,85,50,71,0,135,71,21,1,25,26,50,0,119,0,9,0,120,15,2,0,119,0,7,0,82,25,54,0,82,26,20,0,1,71,164,0,85,50,71,0,135,71,21,1,25,26,50,0,82,7,54,0,82,3,20,0,121,21,58,0,45,71,7,3,80,153,1,0,1,5,0,0,1,4,0,0,1,6,0,0,119,0,53,0,26,1,3,28,50,71,1,7,100,153,1,0,1,57,100,0,119,0,48,0,0,2,7,0,116,50,2,0,106,69,2,4,109,50,4,69,106,71,2,8,109,50,8,71,106,69,2,12,109,50,12,69,106,71,2,16,109,50,16,71,106,69,2,20,109,50,20,69,106,71,2,24,109,50,24,71,116,2,1,0,106,69,1,4,109,2,4,69,106,71,1,8,109,2,8,71,106,69,1,12,109,2,12,69,106,71,1,16,109,2,16,71,106,69,1,20,109,2,20,69,106,71,1,24,109,2,24,71,116,1,50,0,106,69,50,4,109,1,4,69,106,71,50,8,109,1,8,71,106,69,50,12,109,1,12,69,106,71,50,16,109,1,16,71,106,69,50,20,109,1,20,69,106,71,50,24,109,1,24,71,25,2,2,28,26,1,1,28,55,71,2,1,104,153,1,0,1,57,100,0,119,0,2,0,1,57,100,0,32,71,57,100,121,71,220,0,45,71,7,3,64,154,1,0,1,5,0,0,1,4,0,0,1,6,0,0,119,0,214,0,1,71,110,0,1,69,22,0,125,18,28,71,69,0,0,0,38,69,28,1,0,19,69,0,1,5,0,0,1,4,0,0,1,6,0,0,1,17,0,0,1,1,0,0,106,16,7,16,104,3,7,20,104,8,7,22,102,9,7,24,121,29,23,0,2,71,0,0,224,27,12,0,135,69,47,0,71,7,0,0,120,69,3,0,0,2,17,0,119,0,169,0,2,71,0,0,235,125,10,0,135,69,47,0,71,7,0,0,120,69,3,0,0,2,17,0,119,0,162,0,85,31,7,0,2,71,0,0,164,124,10,0,134,69,0,0,172,232,1,0,0,71,31,0,0,2,17,0,119,0,154,0,121,28,4,0,2,15,0,0,139,102,43,2,119,0,17,0,78,69,7,0,32,69,69,46,121,69,4,0,2,15,0,0,139,102,43,2,119,0,11,0,1,69,46,0,135,2,253,0,7,69,0,0,120,2,4,0,2,15,0,0,139,102,43,2,119,0,4,0,1,69,0,0,83,2,69,0,25,15,2,1,2,69,0,0,255,255,0,0,19,69,3,69,0,13,69,0,38,69,13,31,0,11,69,0,43,69,13,5,38,69,69,15,0,12,69,0,43,69,13,9,1,71,188,7,3,13,69,71,2,71,0,0,255,255,0,0,19,71,8,71,43,71,71,11,2,69,0,0,255,255,0,0,19,71,71,69,0,14,71,0,2,71,0,0,255,255,0,0,19,71,8,71,43,71,71,5,38,71,71,63,0,10,71,0,38,71,9,16,120,71,66,0,121,28,8,0,85,35,7,0,2,69,0,0,243,33,10,0,134,71,0,0,172,232,1,0,0,69,35,0,119,0,55,0,1,71,232,3,7,3,16,71,1,71,232,3,5,71,3,71,4,2,16,71,1,71,232,3,9,3,3,71,2,71,0,0,64,66,15,0,7,71,16,71,1,69,232,3,9,8,71,69,48,69,66,16,16,156,1,0,7,69,16,65,85,36,69,0,109,36,4,8,109,36,8,3,109,36,12,2,135,69,73,0,58,67,36,0,119,0,20,0,121,8,9,0,85,37,8,0,109,37,4,3,109,37,8,2,2,71,0,0,131,33,10,0,135,69,73,0,58,71,37,0,119,0,11,0,120,3,5,0,85,39,2,0,135,69,73,0,58,63,39,0,119,0,6,0,85,38,3,0,109,38,4,2,135,69,73,0,58,64,38,0,119,0,1,0,85,40,7,0,109,40,4,15,109,40,8,58,109,40,12,11,109,40,16,12,109,40,20,13,109,40,24,14,109,40,28,10,2,71,0,0,249,33,10,0,134,69,0,0,172,232,1,0,0,71,40,0,3,5,16,5,25,4,4,1,119,0,40,0,121,28,23,0,85,32,7,0,2,71,0,0,189,33,10,0,134,69,0,0,172,232,1,0,0,71,32,0,135,2,41,0,7,0,0,0,1,69,15,0,57,69,69,2,52,157,1,0,1,69,14,0,4,2,69,2,120,2,2,0,119,0,23,0,134,69,0,0,172,232,1,0,0,61,33,0,26,2,2,1,33,69,2,0,120,69,251,255,119,0,16,0,85,34,7,0,109,34,4,15,2,71,0,0,237,33,10,0,109,34,8,71,109,34,12,11,109,34,16,12,109,34,20,13,109,34,24,14,109,34,28,10,2,69,0,0,194,33,10,0,134,71,0,0,172,232,1,0,0,69,34,0,25,6,6,1,3,2,17,19,121,27,6,0,25,1,1,1,9,71,1,18,120,71,3,0,135,71,22,1,0,62,0,0,25,7,7,28,82,71,20,0,52,71,7,71,108,157,1,0,0,17,2,0,119,0,65,255,31,71,2,5,32,71,71,0,40,69,28,1,20,71,71,69,120,71,6,0,2,69,0,0,69,250,11,0,134,71,0,0,172,232,1,0,0,69,30,0,120,29,130,0,1,71,232,3,7,2,5,71,1,71,232,3,5,71,2,71,4,1,5,71,1,71,232,3,9,2,2,71,2,71,0,0,64,66,15,0,7,71,5,71,1,69,232,3,9,3,71,69,48,69,66,5,240,157,1,0,7,69,5,65,85,43,69,0,109,43,4,3,109,43,8,2,109,43,12,1,135,69,73,0,58,67,43,0,119,0,20,0,121,3,9,0,85,44,3,0,109,44,4,2,109,44,8,1,2,71,0,0,131,33,10,0,135,69,73,0,58,71,44,0,119,0,11,0,120,2,5,0,85,46,1,0,135,69,73,0,58,63,46,0,119,0,6,0,85,45,2,0,109,45,4,1,135,69,73,0,58,64,45,0,119,0,1,0,2,69,0,0,88,33,10,0,135,1,10,1,69,0,0,0,85,49,4,0,109,49,4,58,134,69,0,0,172,232,1,0,0,1,49,0,2,69,0,0,96,40,13,0,135,71,23,1,42,0,0,0,1,68,255,0,19,71,71,68,41,71,71,2,94,1,69,71,120,1,6,0,1,3,104,0,1,2,89,3,1,1,88,2,1,57,148,0,119,0,47,0,82,71,1,0,106,71,71,48,38,71,71,63,135,69,24,1,71,1,49,50,48,47,0,0,79,69,50,0,81,71,49,0,5,4,69,71,81,71,47,0,5,4,4,71,1,71,232,3,7,2,4,71,1,71,232,3,5,71,2,71,4,1,4,71,1,71,232,3,9,2,2,71,2,71,0,0,64,66,15,0,7,71,4,71,1,69,232,3,9,3,71,69,48,69,66,4,28,159,1,0,7,69,4,65,85,51,69,0,109,51,4,3,109,51,8,2,109,51,12,1,135,69,73,0,58,67,51,0,119,0,14,0,121,3,3,0,1,57,148,0,119,0,11,0,120,2,5,0,85,53,1,0,135,69,73,0,58,63,53,0,119,0,6,0,85,52,2,0,109,52,4,1,135,69,73,0,58,64,52,0,119,0,1,0,1,69,148,0,45,69,57,69,120,159,1,0,85,55,3,0,109,55,4,2,109,55,8,1,2,71,0,0,131,33,10,0,135,69,73,0,58,71,55,0,2,69,0,0,152,33,10,0,135,57,10,1,69,0,0,0,85,56,6,0,109,56,4,58,134,69,0,0,172,232,1,0,0,57,56,0,2,71,0,0,76,35,69,0,135,69,255,0,71,41,0,0,82,1,54,0,121,1,129,0,85,20,1,0,135,69,21,0,1,0,0,0,119,0,125,0,120,29,102,0,2,69,0,0,8,24,10,0,135,1,10,1,69,0,0,0,85,18,11,0,134,69,0,0,172,232,1,0,0,1,18,0,1,69,0,0,85,19,69,0,135,69,73,0,58,63,19,0,2,69,0,0,88,33,10,0,135,1,10,1,69,0,0,0,1,69,0,0,85,20,69,0,109,20,4,58,134,69,0,0,172,232,1,0,0,1,20,0,2,69,0,0,96,40,13,0,135,71,23,1,42,0,0,0,1,68,255,0,19,71,71,68,41,71,71,2,94,1,69,71,120,1,6,0,1,3,104,0,1,2,89,3,1,1,88,2,1,57,58,0,119,0,47,0,82,71,1,0,106,71,71,48,38,71,71,63,135,69,24,1,71,1,20,19,18,50,0,0,79,69,19,0,81,71,20,0,5,4,69,71,81,71,50,0,5,4,4,71,1,71,232,3,7,2,4,71,1,71,232,3,5,71,2,71,4,1,4,71,1,71,232,3,9,2,2,71,2,71,0,0,64,66,15,0,7,71,4,71,1,69,232,3,9,3,71,69,48,69,66,4,220,160,1,0,7,69,4,65,85,22,69,0,109,22,4,3,109,22,8,2,109,22,12,1,135,69,73,0,58,67,22,0,119,0,14,0,121,3,3,0,1,57,58,0,119,0,11,0,120,2,5,0,85,24,1,0,135,69,73,0,58,63,24,0,119,0,6,0,85,23,2,0,109,23,4,1,135,69,73,0,58,64,23,0,119,0,1,0,32,69,57,58,121,69,8,0,85,25,3,0,109,25,4,2,109,25,8,1,2,71,0,0,131,33,10,0,135,69,73,0,58,71,25,0,2,69,0,0,152,33,10,0,135,57,10,1,69,0,0,0,1,69,0,0,85,26,69,0,109,26,4,58,134,69,0,0,172,232,1,0,0,57,26,0,2,71,0,0,76,35,69,0,135,69,255,0,71,41,0,0,119,0,18,0,2,69,0,0,8,24,10,0,135,58,10,1,69,0,0,0,85,10,11,0,134,69,0,0,172,232,1,0,0,58,10,0,119,0,9,0,2,69,0,0,96,27,10,0,135,58,10,1,69,0,0,0,85,4,2,0,134,69,0,0,172,232,1,0,0,58,4,0,102,69,59,11,34,69,69,0,121,69,4,0,82,71,59,0,135,69,21,0,71,0,0,0,137,60,0,0,139,0,0,0,140,0,30,0,0,0,0,0,2,20,0,0,255,0,0,0,2,21,0,0,238,72,17,0,2,22,0,0,80,132,113,0,1,3,0,0,136,23,0,0,0,19,23,0,136,23,0,0,1,24,144,0,3,23,23,24,137,23,0,0,25,9,19,56,25,16,19,48,25,12,19,40,25,11,19,32,25,10,19,24,25,14,19,16,25,2,19,8,25,17,19,120,25,0,19,112,25,13,19,104,0,18,19,0,25,4,19,96,25,6,19,88,25,7,19,80,25,15,19,72,25,8,19,64,2,23,0,0,152,8,227,0,78,1,23,0,41,23,1,24,42,23,23,24,1,25,0,0,1,24,17,0,138,23,25,24,184,163,1,0,188,163,1,0,192,163,1,0,196,163,1,0,180,162,1,0,180,162,1,0,200,163,1,0,204,163,1,0,180,162,1,0,180,162,1,0,208,163,1,0,180,162,1,0,212,163,1,0,180,162,1,0,180,162,1,0,180,162,1,0,216,163,1,0,1,24,18,0,19,25,1,20,49,24,24,25,4,163,1,0,1,24,14,0,85,0,24,0,1,25,3,0,109,0,4,25,19,25,1,20,85,2,25,0,2,24,0,0,86,96,9,0,135,25,18,0,0,24,2,0,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,41,25,1,24,42,25,25,24,33,25,25,11,121,25,95,0,2,25,0,0,164,8,227,0,78,0,25,0,41,25,0,24,42,25,25,24,120,25,3,0,135,1,191,0,119,0,5,0,26,25,0,1,41,25,25,24,42,25,25,24,0,1,25,0,19,25,1,20,0,0,25,0,1,25,1,0,19,24,1,20,47,25,25,24,168,163,1,0,19,25,1,20,34,25,25,26,121,25,10,0,2,25,0,0,96,40,13,0,41,24,0,2,94,25,25,24,121,25,5,0,1,2,0,0,0,5,1,0,1,3,16,0,119,0,65,0,1,24,15,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,58,0,1,2,0,0,0,5,1,0,1,3,16,0,119,0,54,0,119,0,8,0,119,0,7,0,119,0,6,0,119,0,5,0,119,0,4,0,119,0,3,0,119,0,2,0,119,0,1,0,2,24,0,0,164,8,227,0,80,0,24,0,2,24,0,0,76,35,69,0,135,5,26,1,24,0,0,0,2,24,0,0,255,255,0,0,19,24,5,24,41,24,24,4,85,17,24,0,108,17,4,5,135,24,180,0,17,0,0,0,19,24,24,20,0,0,24,0,2,24,0,0,72,228,6,0,82,24,24,0,50,24,24,0,72,164,1,0,1,25,6,0,135,24,25,1,25,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,0,2,94,24,24,25,120,24,8,0,1,25,6,0,135,24,25,1,25,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,5,0,0,2,0,0,1,5,0,0,1,3,16,0,119,0,1,0,32,23,3,16,121,23,204,2,2,23,0,0,152,8,227,0,78,0,23,0,41,23,0,24,42,23,23,24,1,25,0,0,1,24,15,0,138,23,25,24,52,165,1,0,72,166,1,0,8,167,1,0,244,167,1,0,240,164,1,0,240,164,1,0,224,168,1,0,100,170,1,0,168,170,1,0,36,171,1,0,172,171,1,0,240,171,1,0,240,164,1,0,244,171,1,0,28,175,1,0,1,24,14,0,85,8,24,0,1,25,3,0,109,8,4,25,19,25,0,20,85,9,25,0,2,24,0,0,86,96,9,0,135,25,18,0,8,24,9,0,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,164,2,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,18,25,24,82,24,18,0,106,24,24,28,19,24,24,20,135,25,27,1,24,18,0,0,41,25,25,16,42,25,25,16,34,18,25,0,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,0,25,24,121,18,7,0,82,25,0,0,106,25,25,28,19,25,25,20,135,0,27,1,25,0,0,0,119,0,35,0,102,1,0,29,41,25,1,24,42,25,25,24,32,25,25,255,121,25,15,0,1,25,12,0,85,13,25,0,1,24,1,0,109,13,4,24,2,25,0,0,115,96,9,0,135,24,18,0,13,25,14,0,1,1,2,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,0,24,25,82,25,0,0,106,25,25,28,19,25,25,20,135,24,27,1,25,0,0,0,38,24,24,224,2,25,0,0,255,255,0,0,19,24,24,25,19,25,1,20,20,24,24,25,2,25,0,0,255,255,0,0,19,24,24,25,0,0,24,0,2,24,0,0,160,8,227,0,84,24,0,0,2,24,0,0,152,8,227,0,84,24,0,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,1,0,2,24,0,0,161,8,227,0,78,24,24,0,121,24,7,0,1,25,13,0,135,24,25,1,25,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,18,24,25,82,25,18,0,106,25,25,28,19,25,25,20,135,24,27,1,25,18,0,0,41,24,24,16,42,24,24,16,34,24,24,0,121,24,18,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,18,24,25,2,24,0,0,152,8,227,0,82,26,18,0,106,26,26,28,19,26,26,20,135,25,27,1,26,18,0,0,83,24,25,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,8,0,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,1,0,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,18,25,24,1,25,255,63,82,26,18,0,106,26,26,28,19,26,26,20,135,24,27,1,26,18,0,0,2,26,0,0,255,255,0,0,19,24,24,26,47,25,25,24,216,167,1,0,2,25,0,0,112,9,227,0,82,25,25,0,41,25,25,4,2,24,0,0,240,255,15,0,19,25,25,24,2,24,0,0,160,8,227,0,81,24,24,0,3,18,25,24,1,24,0,0,84,17,24,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,16,24,25,82,25,16,0,106,25,25,64,38,25,25,127,2,26,0,0,156,8,227,0,80,26,26,0,135,24,28,1,25,16,18,26,17,0,0,0,120,24,2,0,119,0,8,0,2,24,0,0,152,8,227,0,80,25,17,0,84,24,25,0,1,18,1,0,137,19,0,0,139,18,0,0,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,1,0,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,18,25,24,1,25,255,63,82,26,18,0,106,26,26,28,19,26,26,20,135,24,27,1,26,18,0,0,2,26,0,0,255,255,0,0,19,24,24,26,47,25,25,24,196,168,1,0,2,25,0,0,112,9,227,0,82,25,25,0,41,25,25,4,2,24,0,0,240,255,15,0,19,25,25,24,2,24,0,0,160,8,227,0,81,24,24,0,3,18,25,24,1,24,0,0,84,17,24,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,16,24,25,82,25,16,0,106,25,25,68,38,25,25,127,2,26,0,0,156,8,227,0,80,26,26,0,135,24,28,1,25,16,18,26,17,0,0,0,120,24,2,0,119,0,8,0,2,24,0,0,152,8,227,0,80,25,17,0,84,24,25,0,1,18,1,0,137,19,0,0,139,18,0,0,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,1,0,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,16,25,24,82,24,16,0,106,24,24,28,19,24,24,20,135,25,27,1,24,16,0,0,41,25,25,16,42,25,25,16,34,25,25,0,121,25,26,0,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,18,25,24,2,25,0,0,152,8,227,0,82,26,18,0,106,26,26,28,19,26,26,20,135,24,27,1,26,18,0,0,2,26,0,0,255,255,0,0,19,24,24,26,43,24,24,6,38,24,24,1,26,24,24,1,41,24,24,24,42,24,24,24,83,25,24,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,59,0,1,24,0,0,85,17,24,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,16,24,25,82,25,16,0,106,25,25,16,19,25,25,20,1,26,1,0,135,24,29,1,25,16,17,26,1,24,0,0,85,18,24,0,2,24,0,0,184,35,69,0,82,24,24,0,41,25,2,2,94,16,24,25,82,25,16,0,106,25,25,16,19,25,25,20,1,26,2,0,135,24,29,1,25,16,18,26,2,24,0,0,152,8,227,0,82,25,17,0,82,26,18,0,16,25,25,26,41,25,25,31,42,25,25,31,83,24,25,0,2,25,0,0,184,35,69,0,82,25,25,0,41,24,2,2,94,18,25,24,82,24,18,0,106,24,24,16,19,24,24,20,1,26,0,0,135,25,29,1,24,18,17,26,1,25,12,0,85,4,25,0,1,24,1,0,109,4,4,24,85,10,2,0,2,25,0,0,131,96,9,0,135,24,18,0,4,25,10,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,1,0,1,24,12,0,85,6,24,0,1,25,1,0,109,6,4,25,85,11,2,0,2,24,0,0,187,96,9,0,135,25,18,0,6,24,11,0,2,25,0,0,152,8,227,0,1,24,255,255,83,25,24,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,1,0,19,24,5,20,34,24,24,2,121,24,3,0,1,0,0,0,119,0,20,0,2,24,0,0,96,40,13,0,19,25,5,20,41,25,25,2,94,18,24,25,82,25,18,0,106,25,25,72,19,25,25,20,135,24,27,1,25,18,0,0,121,24,8,0,1,25,1,0,135,24,25,1,25,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,2,0,1,0,1,0,2,24,0,0,152,8,227,0,84,24,0,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,1,0,1,24,1,0,19,25,5,20,47,24,24,25,112,171,1,0,2,24,0,0,96,40,13,0,19,25,5,20,41,25,25,2,94,18,24,25,82,25,18,0,106,25,25,68,19,25,25,20,135,24,27,1,25,18,0,0,121,24,3,0,1,0,0,16,119,0,4,0,1,3,48,0,119,0,2,0,1,3,48,0,32,24,3,48,121,24,2,0,1,0,2,8,2,24,0,0,160,8,227,0,84,24,0,0,2,24,0,0,152,8,227,0,1,25,0,3,84,24,25,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,1,0,2,25,0,0,160,8,227,0,1,24,0,128,84,25,24,0,1,24,12,0,85,7,24,0,1,25,1,0,109,7,4,25,85,12,2,0,2,24,0,0,233,96,9,0,135,25,18,0,7,24,12,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,2,0,119,0,244,0,19,25,5,20,0,0,25,0,1,25,2,0,19,24,5,20,49,25,25,24,0,175,1,0,2,25,0,0,96,40,13,0,41,24,0,2,3,1,25,24,82,14,1,0,82,25,14,0,106,25,25,72,19,25,25,20,135,24,27,1,25,14,0,0,120,24,179,0,2,24,0,0,144,9,227,0,82,24,24,0,2,25,0,0,160,8,227,0,81,25,25,0,3,4,24,25,2,25,0,0,156,8,227,0,78,2,25,0,41,25,2,24,42,25,25,24,1,24,70,0,1,28,33,0,138,25,24,28,64,173,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,116,174,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,248,172,1,0,252,174,1,0,1,28,12,0,85,15,28,0,1,24,3,0,109,15,4,24,19,24,2,20,85,16,24,0,109,16,4,0,2,28,0,0,35,97,9,0,135,24,18,0,15,28,16,0,1,28,1,0,135,24,25,1,28,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,113,0,82,3,1,0,82,24,3,0,106,24,24,100,19,24,24,20,135,3,27,1,24,3,0,0,0,0,17,0,2,1,0,0,24,97,9,0,25,2,0,11,78,24,1,0,83,0,24,0,25,0,0,1,25,1,1,1,54,24,0,2,104,173,1,0,1,24,46,0,135,0,48,0,3,24,0,0,120,0,10,0,135,16,41,0,3,0,0,0,35,27,16,8,1,28,8,0,125,26,27,16,28,0,0,0,135,24,43,0,17,3,26,0,119,0,18,0,4,14,0,3,35,24,14,8,1,26,8,0,125,14,24,14,26,0,0,0,135,26,43,0,17,3,14,0,25,15,0,1,135,16,41,0,15,0,0,0,3,24,17,14,35,27,16,3,1,29,3,0,125,28,27,16,29,0,0,0,135,26,43,0,24,15,28,0,0,16,18,0,2,26,0,0,70,65,84,49,85,16,26,0,2,28,0,0,54,32,32,32,109,16,4,28,1,26,0,0,135,28,228,0,4,26,0,0,25,26,4,2,1,24,52,18,135,28,166,0,26,24,0,0,25,24,4,6,1,26,11,0,135,28,206,0,24,17,26,0,2,28,0,0,156,8,227,0,78,28,28,0,32,28,28,102,121,28,5,0,25,26,4,17,1,24,8,0,135,28,206,0,26,18,24,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,162,255,1,26,3,0,135,24,179,0,4,26,0,0,25,26,4,1,1,27,5,0,135,24,179,0,26,27,0,0,25,27,4,2,1,26,1,0,135,24,228,0,27,26,0,0,25,26,4,4,1,27,0,0,135,24,228,0,26,27,0,0,25,27,4,6,1,26,0,0,135,24,179,0,27,26,0,0,25,26,4,7,135,24,179,0,26,5,0,0,25,26,4,8,1,27,0,0,135,24,179,0,26,27,0,0,25,27,4,31,1,26,255,255,135,24,166,0,27,26,0,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,146,255,119,0,145,255,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,1,0,19,25,5,20,0,0,25,0,2,25,0,0,96,40,13,0,41,24,0,2,94,1,25,24,19,25,5,20,34,25,25,2,121,25,8,0,120,1,3,0,1,0,1,0,119,0,19,0,25,25,0,1,19,25,25,20,0,0,25,0,119,0,15,0,82,24,1,0,106,24,24,72,19,24,24,20,135,25,27,1,24,1,0,0,121,25,8,0,1,24,1,0,135,25,25,1,24,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,119,0,2,0,1,0,0,0,2,25,0,0,152,8,227,0,83,25,0,0,2,25,0,0,153,8,227,0,1,24,7,0,83,25,24,0,1,18,1,0,137,19,0,0,139,18,0,0,119,0,77,253,2,23,0,0,160,8,227,0,80,23,23,0,121,23,4,0,1,18,1,0,137,19,0,0,139,18,0,0,1,25,1,0,135,23,25,1,25,0,0,0,1,18,0,0,137,19,0,0,139,18,0,0,140,2,18,0,0,0,0,0,2,13,0,0,255,0,0,0,2,14,0,0,107,28,10,0,1,9,0,0,136,15,0,0,0,12,15,0,136,15,0,0,25,15,15,64,137,15,0,0,25,5,12,48,25,8,12,40,25,6,12,32,25,3,12,24,25,2,12,16,25,11,12,52,85,11,1,0,2,16,0,0,108,131,11,0,135,15,9,1,1,16,0,0,121,15,36,0,2,17,0,0,252,18,10,0,135,16,10,1,17,0,0,0,134,15,0,0,172,232,1,0,0,16,12,0,2,15,0,0,80,28,10,0,135,1,10,1,15,0,0,0,2,16,0,0,69,250,11,0,25,17,12,8,134,15,0,0,172,232,1,0,0,16,17,0,2,17,0,0,249,123,10,0,135,15,47,0,17,1,0,0,120,15,9,0,2,17,0,0,103,28,10,0,134,15,0,0,172,232,1,0,0,17,3,0,137,12,0,0,139,0,0,0,119,0,6,0,134,15,0,0,172,232,1,0,0,1,2,0,137,12,0,0,139,0,0,0,120,1,3,0,1,1,0,0,119,0,22,0,78,2,1,0,41,15,2,24,42,15,15,24,121,15,18,0,41,15,2,24,42,15,15,24,32,15,15,61,19,16,2,13,135,17,30,1,16,0,0,0,33,17,17,0,20,15,15,17,120,15,2,0,119,0,8,0,25,1,1,1,85,11,1,0,78,2,1,0,41,15,2,24,42,15,15,24,33,15,15,0,120,15,240,255,1,17,3,0,135,15,252,0,1,14,17,0,120,15,53,0,1,2,1,0,25,3,1,3,78,10,3,0,41,15,10,24,42,15,15,24,32,15,15,61,19,16,10,13,135,17,30,1,16,0,0,0,33,17,17,0,20,15,15,17,120,15,4,0,0,10,2,0,0,7,1,0,119,0,40,0,85,11,3,0,78,1,3,0,41,15,1,24,42,15,15,24,120,15,3,0,0,1,3,0,119,0,22,0,0,4,1,0,25,1,3,1,41,15,4,24,42,15,15,24,32,15,15,61,19,16,4,13,135,17,30,1,16,0,0,0,33,17,17,0,20,15,15,17,120,15,3,0,0,1,3,0,119,0,9,0,85,11,1,0,78,4,1,0,41,15,4,24,42,15,15,24,120,15,2,0,119,0,3,0,0,3,1,0,119,0,237,255,40,15,2,1,0,2,15,0,1,17,3,0,135,15,252,0,1,14,17,0,121,15,209,255,0,10,2,0,0,7,1,0,119,0,3,0,1,10,1,0,0,7,1,0,2,17,0,0,111,28,10,0,1,16,10,0,135,15,252,0,7,17,16,0,120,15,87,0,25,2,7,10,85,11,2,0,78,1,2,0,41,15,1,24,42,15,15,24,121,15,18,0,25,2,2,1,41,15,1,24,42,15,15,24,32,15,15,61,19,17,1,13,135,16,30,1,17,0,0,0,33,16,16,0,20,15,15,16,120,15,2,0,119,0,7,0,85,11,2,0,78,1,2,0,41,15,1,24,42,15,15,24,33,15,15,0,120,15,240,255,135,1,31,1,11,0,0,0,78,2,1,0,1,15,10,0,41,16,2,24,42,16,16,24,26,16,16,48,50,15,15,16,228,178,1,0,2,17,0,0,122,28,10,0,135,16,10,1,17,0,0,0,134,15,0,0,172,232,1,0,0,16,6,0,137,12,0,0,139,0,0,0,1,4,0,0,19,15,4,13,27,15,15,10,26,15,15,48,41,16,2,24,42,16,16,24,3,4,15,16,25,1,1,1,78,2,1,0,41,16,2,24,42,16,16,24,0,3,16,0,26,16,3,48,35,16,16,10,120,16,243,255,41,16,2,24,42,16,16,24,121,16,13,0,135,16,30,1,3,0,0,0,120,16,10,0,2,17,0,0,161,28,10,0,135,15,10,1,17,0,0,0,134,16,0,0,172,232,1,0,0,15,8,0,137,12,0,0,139,0,0,0,19,16,4,13,2,15,0,0,96,35,69,0,79,15,15,0,18,16,16,15,21,16,10,16,121,16,3,0,137,12,0,0,139,0,0,0,82,15,11,0,134,16,0,0,96,219,1,0,0,15,0,0,137,12,0,0,139,0,0,0,2,15,0,0,200,28,10,0,1,17,6,0,135,16,252,0,7,15,17,0,120,16,61,0,25,2,7,6,85,11,2,0,78,1,2,0,41,16,1,24,42,16,16,24,121,16,13,0,25,2,2,1,19,17,1,13,135,16,30,1,17,0,0,0,120,16,2,0,119,0,7,0,85,11,2,0,78,1,2,0,41,16,1,24,42,16,16,24,33,16,16,0,120,16,245,255,135,1,31,1,11,0,0,0,78,16,1,0,120,16,10,0,2,15,0,0,207,28,10,0,135,17,10,1,15,0,0,0,134,16,0,0,172,232,1,0,0,17,5,0,137,12,0,0,139,0,0,0,2,16,0,0,76,35,69,0,135,8,254,0,16,0,0,0,2,17,0,0,76,35,69,0,2,15,0,0,108,35,69,0,82,15,15,0,135,16,255,0,17,15,0,0,1,16,247,255,1,15,0,0,135,9,226,0,1,16,15,0,2,16,0,0,76,35,69,0,135,15,255,0,16,8,0,0,21,15,10,9,121,15,3,0,137,12,0,0,139,0,0,0,82,16,11,0,134,15,0,0,96,219,1,0,0,16,0,0,137,12,0,0,139,0,0,0,78,1,7,0,41,15,1,24,42,15,15,24,121,15,141,0,0,2,7,0,41,15,1,24,42,15,15,24,32,15,15,61,19,17,1,13,135,16,30,1,17,0,0,0,33,16,16,0,20,15,15,16,120,15,8,0,25,2,2,1,85,11,2,0,78,1,2,0,41,15,1,24,42,15,15,24,120,15,242,255,119,0,124,0,41,15,1,24,42,15,15,24,32,15,15,61,121,15,4,0,1,3,0,0,0,1,2,0,119,0,13,0,0,1,2,0,25,1,1,1,85,11,1,0,78,8,1,0,41,15,8,24,42,15,15,24,32,3,15,0,41,15,8,24,42,15,15,24,33,15,15,61,21,15,3,15,120,15,246,255,120,3,104,0,102,15,1,1,32,15,15,61,121,15,101,0,25,3,1,2,85,11,3,0,78,1,3,0,41,15,1,24,42,15,15,24,120,15,3,0,137,12,0,0,139,0,0,0,25,4,3,1,41,15,1,24,42,15,15,24,32,15,15,61,19,17,1,13,135,16,30,1,17,0,0,0,33,16,16,0,20,15,15,16,120,15,2,0,119,0,11,0,85,11,4,0,78,5,4,0,41,15,5,24,42,15,15,24,120,15,3,0,1,9,65,0,119,0,4,0,0,1,5,0,0,3,4,0,119,0,236,255,32,15,9,65,121,15,3,0,137,12,0,0,139,0,0,0,0,4,3,0,41,15,1,24,42,15,15,24,33,15,15,61,19,17,1,13,135,16,30,1,17,0,0,0,32,16,16,0,19,15,15,16,120,15,2,0,119,0,9,0,25,4,4,1,85,11,4,0,78,1,4,0,41,15,1,24,42,15,15,24,120,15,241,255,1,9,65,0,119,0,1,0,32,15,9,65,121,15,3,0,137,12,0,0,139,0,0,0,1,15,0,0,83,2,15,0,82,1,11,0,25,15,1,1,85,11,15,0,1,15,0,0,83,1,15,0,82,1,11,0,120,1,3,0,1,1,0,0,119,0,22,0,78,2,1,0,41,15,2,24,42,15,15,24,121,15,18,0,41,15,2,24,42,15,15,24,32,15,15,61,19,17,2,13,135,16,30,1,17,0,0,0,33,16,16,0,20,15,15,16,120,15,2,0,119,0,8,0,25,1,1,1,85,11,1,0,78,2,1,0,41,15,2,24,42,15,15,24,33,15,15,0,120,15,240,255,135,15,47,0,7,3,0,0,32,15,15,0,21,15,10,15,121,15,3,0,137,12,0,0,139,0,0,0,134,15,0,0,96,219,1,0,0,1,0,0,137,12,0,0,139,0,0,0,135,15,32,1,0,0,0,0,137,12,0,0,139,0,0,0,140,3,17,0,0,0,0,0,1,3,0,0,136,12,0,0,0,11,12,0,136,12,0,0,1,13,80,17,3,12,12,13,137,12,0,0,1,12,192,16,3,5,11,12,1,12,184,16,3,4,11,12,1,12,96,16,3,9,11,12,25,10,11,96,0,6,11,0,1,12,200,16,3,7,11,12,1,12,196,16,3,8,11,12,78,12,2,0,1,14,0,0,1,13,33,0,138,12,14,13,4,184,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,216,183,1,0,16,184,1,0,1,14,32,0,83,10,14,0,1,13,0,0,107,10,1,13,1,14,254,15,135,13,33,1,10,2,14,0,1,13,255,15,1,14,0,0,95,10,13,14],eb+102400);HEAPU8.set([119,0,11,0,1,13,0,0,83,10,13,0,119,0,8,0,1,14,255,15,135,13,45,0,10,2,14,0,1,13,255,15,1,14,0,0,95,10,13,14,119,0,1,0,25,2,1,1,2,14,0,0,222,35,10,0,135,12,47,0,2,14,0,0,120,12,3,0,1,3,7,0,119,0,7,0,2,14,0,0,224,35,10,0,135,12,47,0,2,14,0,0,120,12,2,0,1,3,7,0,32,12,3,7,121,12,46,0,78,2,1,0,135,12,34,1,2,0,0,0,121,12,42,0,1,14,92,0,135,12,253,0,1,14,0,0,121,12,12,0,2,12,0,0,227,35,10,0,135,10,10,1,12,0,0,0,85,4,1,0,134,12,0,0,172,232,1,0,0,10,4,0,1,10,1,0,137,11,0,0,139,10,0,0,135,14,241,0,2,0,0,0,1,13,191,0,3,14,14,13,1,13,255,0,19,14,14,13,135,12,35,1,14,0,0,0,121,12,4,0,1,10,1,0,137,11,0,0,139,10,0,0,2,12,0,0,1,36,10,0,135,10,10,1,12,0,0,0,78,14,1,0,135,12,241,0,14,0,0,0,85,5,12,0,134,12,0,0,172,232,1,0,0,10,5,0,1,10,1,0,137,11,0,0,139,10,0,0,135,2,36,1,0,1,0,0,120,2,4,0,1,10,0,0,137,11,0,0,139,10,0,0,135,12,250,0,9,2,0,0,1,12,46,0,135,2,253,0,9,12,0,0,120,2,111,0,1,12,79,0,135,14,41,0,9,0,0,0,48,12,12,14,112,185,1,0,1,10,0,0,137,11,0,0,139,10,0,0,135,12,250,0,6,9,0,0,135,12,41,0,6,0,0,0,3,2,6,12,2,12,0,0,212,34,10,0,78,12,12,0,83,2,12,0,2,14,0,0,213,34,10,0,78,14,14,0,107,2,1,14,2,12,0,0,214,34,10,0,78,12,12,0,107,2,2,12,2,14,0,0,215,34,10,0,78,14,14,0,107,2,3,14,2,12,0,0,216,34,10,0,78,12,12,0,107,2,4,12,135,2,36,1,0,6,0,0,120,2,71,0,135,12,250,0,6,9,0,0,135,12,41,0,6,0,0,0,3,2,6,12,2,12,0,0,217,34,10,0,78,12,12,0,83,2,12,0,2,14,0,0,218,34,10,0,78,14,14,0,107,2,1,14,2,12,0,0,219,34,10,0,78,12,12,0,107,2,2,12,2,14,0,0,220,34,10,0,78,14,14,0,107,2,3,14,2,12,0,0,221,34,10,0,78,12,12,0,107,2,4,12,135,2,36,1,0,6,0,0,121,2,6,0,135,12,250,0,9,2,0,0,2,2,0,0,31,36,10,0,119,0,42,0,135,12,250,0,6,9,0,0,135,12,41,0,6,0,0,0,3,2,6,12,2,12,0,0,207,34,10,0,78,12,12,0,83,2,12,0,2,14,0,0,208,34,10,0,78,14,14,0,107,2,1,14,2,12,0,0,209,34,10,0,78,12,12,0,107,2,2,12,2,14,0,0,210,34,10,0,78,14,14,0,107,2,3,14,2,12,0,0,211,34,10,0,78,12,12,0,107,2,4,12,135,2,36,1,0,6,0,0,121,2,6,0,135,12,250,0,9,2,0,0,2,2,0,0,179,186,10,0,119,0,9,0,1,10,0,0,137,11,0,0,139,10,0,0,119,0,5,0,135,12,250,0,9,2,0,0,2,2,0,0,36,36,10,0,2,14,0,0,179,186,10,0,135,12,17,1,2,14,0,0,120,12,25,0,25,2,0,60,78,3,2,0,25,4,0,56,82,5,4,0,121,5,9,0,102,12,0,62,120,12,7,0,82,14,5,0,106,14,14,4,1,13,255,7,19,14,14,13,135,12,145,0,14,5,0,0,1,12,40,0,135,8,26,0,12,0,0,0,135,12,37,1,8,0,9,1,10,0,0,0,85,4,8,0,83,2,3,0,1,10,1,0,137,11,0,0,139,10,0,0,2,14,0,0,36,36,10,0,135,12,17,1,2,14,0,0,121,12,9,0,2,14,0,0,31,36,10,0,135,12,17,1,2,14,0,0,121,12,4,0,1,10,0,0,137,11,0,0,139,10,0,0,2,12,0,0,168,8,227,0,80,5,12,0,2,12,0,0,168,8,227,0,2,14,0,0,255,255,0,0,19,14,5,14,2,13,0,0,0,254,0,0,3,14,14,13,84,12,14,0,2,14,0,0,140,9,227,0,82,14,14,0,1,12,0,2,4,12,5,12,2,13,0,0,255,255,0,0,19,12,12,13,3,14,14,12,85,6,14,0,135,14,38,1,6,0,0,0,2,14,0,0,168,8,227,0,80,14,14,0,25,14,14,32,41,14,14,16,42,14,14,16,0,5,14,0,2,14,0,0,108,9,227,0,82,14,14,0,41,14,14,4,2,12,0,0,240,255,15,0,19,14,14,12,2,12,0,0,255,255,0,0,19,12,5,12,3,2,14,12,135,14,41,0,9,0,0,0,25,14,14,1,135,12,206,0,2,9,14,0,2,14,0,0,44,68,69,0,135,12,67,0,14,10,0,0,25,2,7,1,0,3,7,0,1,12,128,0,3,4,3,12,1,12,0,0,83,3,12,0,25,3,3,1,54,12,3,4,140,188,1,0,1,12,126,0,135,14,41,0,10,0,0,0,48,12,12,14,188,188,1,0,1,14,0,0,107,10,126,14,135,9,41,0,10,0,0,0,83,7,9,0,135,14,43,0,2,10,9,0,25,14,7,1,1,12,13,0,95,14,9,12,2,14,0,0,140,9,227,0,82,14,14,0,1,13,0,1,3,14,14,13,2,13,0,0,168,8,227,0,81,13,13,0,3,14,14,13,1,13,128,0,135,12,206,0,14,7,13,0,2,14,0,0,76,35,69,0,135,13,26,1,14,0,0,0,1,14,92,0,1,15,0,0,135,12,199,0,13,14,15,2,8,0,0,0,2,12,0,0,76,35,69,0,135,10,26,1,12,0,0,0,1,15,108,0,1,14,0,0,79,13,8,0,25,16,7,1,3,13,13,16,135,12,199,0,10,15,14,13,8,0,0,0,2,13,0,0,76,35,69,0,135,12,26,1,13,0,0,0,2,13,0,0,255,255,0,0,19,12,12,13,41,12,12,16,39,12,12,92,0,10,12,0,25,9,6,10,84,9,10,0,43,13,10,16,108,9,2,13,2,12,0,0,76,35,69,0,135,13,26,1,12,0,0,0,2,12,0,0,255,255,0,0,19,13,13,12,41,13,13,16,39,13,13,108,0,9,13,0,25,10,6,14,84,10,9,0,43,12,9,16,108,10,2,12,2,12,0,0,108,9,227,0,82,12,12,0,41,12,12,16,2,13,0,0,168,8,227,0,80,13,13,0,1,14,0,1,3,13,13,14,2,14,0,0,255,255,0,0,19,13,13,14,20,12,12,13,0,10,12,0,25,9,6,6,84,9,10,0,43,13,10,16,108,9,2,13,135,13,39,1,6,0,0,0,2,13,0,0,152,8,227,0,1,12,0,75,84,13,12,0,2,12,0,0,108,9,227,0,82,12,12,0,2,13,0,0,255,255,0,0,19,12,12,13,0,9,12,0,2,12,0,0,112,9,227,0,85,12,9,0,41,12,9,4,0,10,12,0,2,12,0,0,144,9,227,0,85,12,10,0,2,12,0,0,160,8,227,0,84,12,5,0,2,12,0,0,100,9,227,0,85,12,9,0,2,12,0,0,132,9,227,0,85,12,10,0,2,12,0,0,164,8,227,0,2,13,0,0,168,8,227,0,80,13,13,0,84,12,13,0,2,13,0,0,188,8,227,0,2,12,0,0,188,8,227,0,82,12,12,0,1,14,255,253,19,12,12,14,85,13,12,0,1,13,33,0,134,12,0,0,164,237,1,0,13,0,0,0,2,12,0,0,168,8,227,0,2,13,0,0,168,8,227,0,81,13,13,0,1,14,0,2,3,13,13,14,84,12,13,0,1,10,1,0,137,11,0,0,139,10,0,0,140,0,17,0,0,0,0,0,2,10,0,0,204,72,17,0,2,11,0,0,207,72,17,0,2,12,0,0,150,103,43,2,136,13,0,0,0,9,13,0,136,13,0,0,25,13,13,16,137,13,0,0,0,2,9,0,135,0,40,1,2,13,0,0,36,35,69,0,82,1,13,0,1,13,10,0,4,13,13,0,3,13,13,1,34,13,13,1,121,13,57,0,2,13,0,0,12,35,69,0,82,13,13,0,120,13,9,0,2,13,0,0,36,35,69,0,85,13,0,0,1,14,1,0,135,13,41,1,14,0,0,0,135,2,40,1,119,0,46,0,1,13,160,15,4,13,13,0,3,13,13,1,34,13,13,1,121,13,38,0,1,13,200,0,4,13,13,0,2,14,0,0,40,35,69,0,82,14,14,0,3,13,13,14,34,13,13,1,121,13,3,0,0,2,0,0,119,0,31,0,2,14,0,0,237,49,8,0,135,13,24,0,14,2,0,0,2,13,0,0,44,35,69,0,1,14,1,0,85,13,14,0,135,14,42,1,2,14,0,0,236,49,8,0,78,14,14,0,120,14,8,0,1,13,3,0,1,15,100,0,1,16,1,0,135,14,43,1,13,15,16,0,0,2,0,0,119,0,11,0,1,16,3,0,1,15,0,0,1,13,1,0,135,14,43,1,16,15,13,0,0,2,0,0,119,0,4,0,0,2,0,0,119,0,2,0,0,2,0,0,2,14,0,0,40,35,69,0,85,14,2,0,134,14,0,0,196,216,1,0,120,14,22,0,135,14,44,1,135,14,45,1,40,14,14,1,0,8,14,0,2,14,0,0,48,35,69,0,82,14,14,0,33,14,14,0,19,14,14,8,120,14,3,0,1,1,19,0,119,0,48,0,135,14,46,1,2,14,0,0,48,35,69,0,2,13,0,0,48,35,69,0,82,13,13,0,26,13,13,1,85,14,13,0,119,0,233,255,135,13,47,1,78,1,12,0,1,13,1,0,83,12,13,0,2,13,0,0,216,9,227,0,82,13,13,0,1,14,255,1,19,13,13,14,135,0,48,1,13,0,0,0,83,12,1,0,34,13,0,0,121,13,4,0,1,0,1,0,1,1,46,0,119,0,22,0,121,0,215,255,1,13,127,0,47,13,13,0,16,193,1,0,1,0,0,0,1,1,46,0,119,0,15,0,1,13,0,0,83,12,13,0,2,13,0,0,112,125,60,0,41,14,0,2,94,13,13,14,1,14,255,1,19,13,13,14,135,0,48,1,13,0,0,0,83,12,1,0,121,0,197,255,1,1,46,0,119,0,1,0,32,13,1,19,121,13,63,1,2,13,0,0,73,102,43,2,78,13,13,0,121,13,24,0,2,13,0,0,48,35,69,0,1,14,5,0,85,13,14,0,2,14,0,0,52,35,69,0,135,13,40,1,85,14,13,0,2,13,0,0,56,35,69,0,1,14,0,0,85,13,14,0,2,14,0,0,4,35,69,0,1,13,0,0,85,14,13,0,2,13,0,0,8,35,69,0,1,14,0,0,85,13,14,0,1,8,0,0,137,9,0,0,139,8,0,0,135,1,40,1,2,14,0,0,8,35,69,0,82,14,14,0,2,13,0,0,56,35,69,0,82,13,13,0,3,8,14,13,2,13,0,0,8,35,69,0,85,13,8,0,2,13,0,0,52,35,69,0,82,0,13,0,50,13,1,0,120,194,1,0,2,13,0,0,56,35,69,0,1,14,0,0,85,13,14,0,2,14,0,0,12,35,69,0,82,14,14,0,120,14,7,0,2,14,0,0,36,35,69,0,85,14,1,0,1,13,1,0,135,14,41,1,13,0,0,0,135,8,40,1,2,14,0,0,4,35,69,0,82,14,14,0,4,13,1,8,3,8,14,13,2,13,0,0,4,35,69,0,1,15,0,0,15,15,15,8,1,16,0,0,125,14,15,8,16,0,0,0,85,13,14,0,1,8,0,0,137,9,0,0,139,8,0,0,4,0,1,0,2,14,0,0,48,35,69,0,85,14,0,0,2,14,0,0,52,35,69,0,85,14,1,0,2,14,0,0,4,35,69,0,82,14,14,0,4,13,1,2,3,4,14,13,2,13,0,0,4,35,69,0,85,13,4,0,1,13,30,0,48,13,13,0,28,195,1,0,26,13,0,30,2,14,0,0,60,35,69,0,82,14,14,0,3,7,13,14,2,14,0,0,60,35,69,0,85,14,7,0,2,14,0,0,48,35,69,0,1,13,30,0,85,14,13,0,1,13,80,0,48,13,13,7,20,195,1,0,2,13,0,0,60,35,69,0,1,14,80,0,85,13,14,0,1,0,30,0,119,0,30,0,1,0,30,0,119,0,28,0,2,14,0,0,60,35,69,0,82,1,14,0,121,1,24,0,1,14,30,0,4,2,14,0,48,14,1,2,96,195,1,0,3,0,1,0,2,14,0,0,48,35,69,0,85,14,0,0,2,14,0,0,60,35,69,0,1,13,0,0,85,14,13,0,119,0,11,0,2,13,0,0,60,35,69,0,4,14,1,2,85,13,14,0,2,14,0,0,48,35,69,0,1,13,30,0,85,14,13,0,1,0,30,0,119,0,1,0,2,13,0,0,56,35,69,0,85,13,0,0,2,13,0,0,140,103,43,2,78,13,13,0,33,13,13,0,2,14,0,0,141,103,43,2,78,14,14,0,32,14,14,0,19,13,13,14,120,13,4,0,1,8,0,0,137,9,0,0,139,8,0,0,1,13,249,0,16,6,13,8,1,13,249,0,15,13,13,4,20,13,6,13,120,13,26,0,1,13,20,0,16,0,13,0,1,13,4,0,16,13,13,8,19,13,13,0,120,13,20,0,120,0,4,0,1,8,0,0,137,9,0,0,139,8,0,0,2,13,0,0,176,28,8,0,82,13,13,0,28,8,13,3,2,13,0,0,176,28,8,0,1,16,244,1,15,16,16,8,1,15,244,1,125,14,16,8,15,0,0,0,85,13,14,0,1,8,0,0,137,9,0,0,139,8,0,0,34,14,4,1,121,14,7,0,2,14,0,0,4,35,69,0,1,13,1,0,85,14,13,0,1,7,1,0,119,0,2,0,0,7,4,0,2,14,0,0,184,28,8,0,82,14,14,0,2,15,0,0,0,104,1,0,5,14,14,15,1,15,16,39,6,14,14,15,5,13,14,8,7,1,13,7,2,13,0,0,176,28,8,0,82,0,13,0,34,13,0,0,41,13,13,31,42,13,13,31,0,5,13,0,1,13,0,0,135,2,49,1,0,5,8,13,128,13,0,0,0,4,13,0,1,13,0,0,15,13,13,4,32,14,4,0,1,15,0,0,16,15,15,2,19,14,14,15,20,13,13,14,121,13,47,0,2,8,0,0,0,28,69,0,82,13,8,0,77,13,13,0,61,14,0,0,0,0,128,79,106,15,8,4,76,15,15,0,65,14,14,15,63,13,13,14,77,14,2,0,61,15,0,0,0,0,128,79,76,16,4,0,65,15,15,16,63,14,14,15,66,3,13,14,59,14,1,0,71,14,3,14,121,14,27,0,59,14,1,0,64,14,14,3,76,13,1,0,65,14,14,13,75,1,14,0,34,14,7,10,19,14,6,14,1,13,0,80,15,13,13,1,19,14,14,13,1,13,0,80,125,1,14,13,1,0,0,0,34,13,1,0,41,13,13,31,42,13,13,31,135,8,49,1,1,13,0,5,128,13,0,0,1,14,0,8,1,15,0,0,135,8,50,1,8,13,14,15,42,15,0,1,25,15,15,1,3,0,15,8,1,15,244,1,15,15,15,0,1,14,244,1,125,0,15,0,14,0,0,0,1,14,10,0,47,14,14,1,0,198,1,0,1,14,188,2,15,14,7,14,1,15,120,0,15,15,15,1,20,14,14,15,121,14,13,0,2,14,0,0,188,28,8,0,82,8,14,0,2,14,0,0,176,28,8,0,1,13,0,0,15,13,13,8,15,16,8,0,19,13,13,16,125,15,13,8,0,0,0,0,85,14,15,0,2,8,0,0,0,28,69,0,1,15,0,0,85,8,15,0,1,14,0,0,109,8,4,14,2,14,0,0,4,35,69,0,1,15,0,0,85,14,15,0,2,15,0,0,8,35,69,0,1,14,0,0,85,15,14,0,1,8,0,0,137,9,0,0,139,8,0,0,119,0,5,0,32,14,1,46,121,14,3,0,137,9,0,0,139,0,0,0,1,14,0,0,139,14,0,0,140,1,20,0,0,0,0,0,2,14,0,0,69,250,11,0,2,15,0,0,255,1,0,0,1,10,0,0,136,16,0,0,0,13,16,0,136,16,0,0,1,17,144,16,3,16,16,17,137,16,0,0,1,16,48,16,3,9,13,16,1,16,40,16,3,2,13,16,1,16,32,16,3,8,13,16,1,16,24,16,3,7,13,16,1,16,16,16,3,5,13,16,1,16,8,16,3,3,13,16,1,16,0,16,3,1,13,16,0,11,13,0,1,16,120,16,3,12,13,16,1,16,56,16,3,4,13,16,1,17,0,0,1,18,0,16,135,16,2,0,11,17,18,0,1,16,0,0,85,12,16,0,1,18,0,0,109,12,4,18,1,16,0,0,109,12,8,16,25,6,0,20,82,18,6,0,2,17,0,0,185,224,9,0,135,16,51,1,18,17,12,0,121,16,53,0,25,1,12,11,78,18,1,0,34,18,18,0,121,18,4,0,82,18,12,0,0,17,18,0,119,0,2,0,0,17,12,0,135,16,250,0,11,17,0,0,2,16,0,0,235,149,10,0,135,2,52,1,11,16,0,0,121,2,3,0,1,16,0,0,83,2,16,0,135,16,53,1,4,0,0,0,2,16,0,0,200,235,6,0,85,4,16,0,25,10,4,28,85,10,10,0,109,4,32,10,1,17,0,0,109,4,36,17,25,10,4,40,85,10,10,0,109,4,44,10,1,16,0,0,109,4,48,16,1,17,0,0,108,4,54,17,1,16,0,0,107,4,61,16,1,17,0,0,109,4,56,17,1,16,0,0,107,4,62,16,1,17,0,0,107,4,63,17,102,16,0,60,107,4,60,16,134,16,0,0,144,213,1,0,4,11,0,0,135,16,54,1,4,0,0,0,135,16,55,1,4,0,0,0,119,0,189,0,2,16,0,0,32,68,69,0,82,16,16,0,45,16,0,16,76,201,1,0,2,16,0,0,188,224,9,0,135,4,10,1,16,0,0,0,2,16,0,0,248,160,10,0,85,1,16,0,2,17,0,0,208,224,9,0,109,1,4,17,134,17,0,0,172,232,1,0,0,4,1,0,2,17,0,0,252,34,69,0,82,1,17,0,1,17,1,0,1,16,6,0,138,1,17,16,112,200,1,0,108,200,1,0,108,200,1,0,108,200,1,0,108,200,1,0,116,200,1,0,119,0,13,0,119,0,1,0,2,18,0,0,221,224,9,0,135,16,10,1,18,0,0,0,134,17,0,0,172,232,1,0,0,16,3,0,2,17,0,0,252,34,69,0,82,1,17,0,119,0,1,0,32,17,1,7,121,17,11,0,2,18,0,0,239,224,9,0,135,16,10,1,18,0,0,0,134,17,0,0,172,232,1,0,0,16,5,0,2,17,0,0,252,34,69,0,82,1,17,0,1,17,0,0,1,16,10,0,138,1,17,16,8,201,1,0,4,201,1,0,4,201,1,0,4,201,1,0,4,201,1,0,4,201,1,0,4,201,1,0,4,201,1,0,4,201,1,0,12,201,1,0,119,0,10,0,119,0,1,0,2,18,0,0,2,225,9,0,135,16,10,1,18,0,0,0,134,17,0,0,172,232,1,0,0,16,7,0,119,0,1,0,2,18,0,0,21,225,9,0,135,16,10,1,18,0,0,0,134,17,0,0,172,232,1,0,0,16,8,0,119,0,12,0,2,17,0,0,248,160,10,0,85,2,17,0,2,16,0,0,208,224,9,0,109,2,4,16,2,17,0,0,39,225,9,0,134,16,0,0,172,232,1,0,0,17,2,0,82,17,6,0,2,18,0,0,68,225,9,0,1,19,1,0,135,16,56,1,17,18,12,19,121,16,17,0,102,18,12,11,34,18,18,0,121,18,4,0,82,18,12,0,0,19,18,0,119,0,2,0,0,19,12,0,135,16,250,0,11,19,0,0,1,19,0,0,1,18,255,255,135,16,57,1,12,19,18,0,134,16,0,0,144,213,1,0,0,11,0,0,25,1,0,56,25,2,0,60,25,3,0,61,25,4,0,63,82,5,1,0,120,5,27,0,78,16,2,0,121,16,3,0,135,16,58,1,0,0,0,0,134,16,0,0,108,34,1,0,0,11,0,0,78,16,2,0,120,16,3,0,1,10,27,0,119,0,7,0,78,16,4,0,120,16,5,0,134,16,0,0,172,232,1,0,0,14,9,0,1,10,27,0,32,16,10,27,121,16,5,0,1,10,0,0,78,16,4,0,120,16,2,0,119,0,25,0,134,16,0,0,176,233,1,0,119,0,22,0,82,18,5,0,106,18,18,8,19,18,18,15,135,16,175,0,18,5,11,0,120,16,4,0,1,16,0,0,83,11,16,0,119,0,13,0,78,16,2,0,32,16,16,0,78,18,11,0,32,18,18,64,20,16,16,18,120,16,7,0,135,16,58,1,0,0,0,0,135,16,59,1,0,11,0,0,135,16,59,1,0,14,0,0,135,16,41,0,11,0,0,0,121,16,10,0,134,16,0,0,144,213,1,0,0,11,0,0,78,16,2,0,121,16,5,0,82,16,1,0,120,16,3,0,135,16,59,1,0,14,0,0,78,16,3,0,121,16,194,255,25,1,12,11,1,16,0,0,78,18,1,0,49,16,16,18,252,202,1,0,137,13,0,0,139,0,0,0,82,18,12,0,135,16,21,0,18,0,0,0,137,13,0,0,139,0,0,0,140,4,22,0,0,0,0,0,2,13,0,0,191,72,17,0,2,14,0,0,255,0,0,0,2,15,0,0,16,7,0,0,1,5,0,0,136,16,0,0,0,12,16,0,136,16,0,0,25,16,16,16,137,16,0,0,25,9,12,1,0,10,12,0,1,16,98,4,135,11,178,0,16,0,0,0,2,16,0,0,252,34,69,0,82,16,16,0,32,16,16,7,121,16,3,0,1,4,16,7,119,0,5,0,19,16,11,14,41,16,16,1,1,17,81,4,3,4,16,17,135,7,178,0,4,0,0,0,83,9,7,0,2,17,0,0,252,34,69,0,82,17,17,0,32,17,17,7,121,17,3,0,1,4,28,7,119,0,5,0,19,17,11,14,41,17,17,1,1,16,80,4,3,4,17,16,135,8,178,0,4,0,0,0,83,10,8,0,41,16,1,24,42,16,16,24,1,20,7,0,1,21,7,0,138,16,20,21,144,206,1,0,36,207,1,0,68,207,1,0,204,207,1,0,252,203,1,0,252,203,1,0,232,207,1,0,2,17,0,0,252,34,69,0,82,17,17,0,33,17,17,7,121,17,78,0,2,17,0,0,152,8,227,0,80,5,17,0,2,17,0,0,164,8,227,0,80,6,17,0,2,17,0,0,160,8,227,0,80,4,17,0,2,17,0,0,153,8,227,0,1,18,2,0,83,17,18,0,2,18,0,0,161,8,227,0,83,18,7,0,2,18,0,0,160,8,227,0,83,18,8,0,2,18,0,0,165,8,227,0,83,18,11,0,1,17,16,0,134,18,0,0,164,237,1,0,17,0,0,0,2,18,0,0,160,8,227,0,84,18,4,0,2,18,0,0,156,8,227,0,80,4,18,0,2,18,0,0,152,8,227,0,83,18,1,0,2,18,0,0,164,8,227,0,83,18,2,0,2,18,0,0,165,8,227,0,83,18,11,0,2,18,0,0,156,8,227,0,1,17,1,0,84,18,17,0,2,17,0,0,153,8,227,0,1,19,9,0,1,20,10,0,125,18,3,19,20,0,0,0,83,17,18,0,2,18,0,0,252,34,69,0,82,18,18,0,32,18,18,7,121,18,3,0,135,18,5,1,119,0,5,0,1,17,16,0,134,18,0,0,164,237,1,0,17,0,0,0,2,18,0,0,152,8,227,0,84,18,5,0,2,18,0,0,164,8,227,0,84,18,6,0,2,18,0,0,156,8,227,0,84,18,4,0,25,18,8,1,41,18,18,24,42,18,18,24,83,10,18,0,119,0,173,0,2,17,0,0,85,102,43,2,135,18,60,1,17,1,0,0,121,18,168,0,2,18,0,0,252,34,69,0,82,18,18,0,32,18,18,7,121,18,4,0,1,4,80,0,1,5,19,0,119,0,14,0,1,18,74,4,135,4,165,0,18,0,0,0,2,18,0,0,252,34,69,0,82,18,18,0,32,18,18,7,121,18,3,0,1,5,19,0,119,0,4,0,1,17,132,4,135,18,178,0,17,0,0,0,32,18,5,19,121,18,4,0,1,17,18,7,135,18,178,0,17,0,0,0,2,18,0,0,88,102,43,2,78,18,18,0,32,18,18,0,1,17,1,0,1,20,2,0,125,6,18,17,20,0,0,0,2,20,0,0,255,255,0,0,19,20,4,20,19,17,8,14,3,17,6,17,48,20,20,17,8,206,1,0,83,10,4,0,135,20,61,1,10,9,0,0,2,20,0,0,86,102,43,2,78,5,20,0,2,20,0,0,85,102,43,2,78,4,20,0,41,20,5,24,42,20,20,24,121,20,9,0,19,20,4,14,1,17,224,0,3,20,20,17,19,20,20,14,0,4,20,0,2,20,0,0,85,102,43,2,83,20,4,0,19,17,5,14,41,17,17,8,19,18,4,14,20,17,17,18,2,18,0,0,255,255,0,0,19,17,17,18,1,18,0,0,1,19,1,0,1,21,1,0,135,20,8,1,17,2,18,19,21,0,0,0,79,20,10,0,3,20,6,20,83,10,20,0,119,0,90,0,1,18,67,0,1,19,182,0,135,17,172,0,18,19,0,0,1,19,66,0,1,18,40,0,135,17,172,0,19,18,0,0,1,18,66,0,1,19,5,0,135,17,172,0,18,19,0,0,1,19,97,0,1,20,97,0,135,18,62,1,20,0,0,0,1,20,252,0,19,18,18,20,39,18,18,3,135,17,172,0,19,18,0,0,1,4,0,0,134,17,0,0,176,233,1,0,25,4,4,1,1,17,77,1,53,17,4,17,232,206,1,0,1,18,97,0,1,20,97,0,135,19,62,1,20,0,0,0,1,20,252,0,19,19,19,20,135,17,172,0,18,19,0,0,119,0,53,0,41,17,8,24,42,17,17,24,121,17,50,0,26,17,8,1,41,17,17,24,42,17,17,24,83,10,17,0,119,0,45,0,19,17,11,14,41,17,17,1,0,5,17,0,1,17,81,4,3,4,5,17,1,17,80,4,3,5,5,17,1,19,32,0,134,17,0,0,16,203,1,0,0,19,2,3,2,19,0,0,252,34,69,0,82,19,19,0,32,19,19,7,125,17,19,15,4,0,0,0,135,6,178,0,17,0,0,0,2,19,0,0,252,34,69,0,82,19,19,0,32,19,19,7,1,18,28,7,125,17,19,18,5,0,0,0,135,7,178,0,17,0,0,0,38,17,7,7,33,17,17,0,120,17,233,255,83,9,6,0,83,10,7,0,119,0,11,0,1,17,0,0,83,10,17,0,25,17,7,1,41,17,17,24,42,17,17,24,83,9,17,0,119,0,4,0,1,17,0,0,83,10,17,0,119,0,1,0,135,16,61,1,10,9,0,0,78,9,9,0,78,10,10,0,2,16,0,0,152,8,227,0,80,4,16,0,2,16,0,0,164,8,227,0,80,5,16,0,2,16,0,0,160,8,227,0,80,6,16,0,2,16,0,0,153,8,227,0,1,20,2,0,83,16,20,0,2,20,0,0,161,8,227,0,83,20,9,0,2,20,0,0,160,8,227,0,83,20,10,0,2,20,0,0,165,8,227,0,83,20,11,0,2,20,0,0,252,34,69,0,82,20,20,0,32,20,20,7,121,20,14,0,135,20,5,1,2,20,0,0,152,8,227,0,84,20,4,0,2,20,0,0,164,8,227,0,84,20,5,0,2,20,0,0,160,8,227,0,84,20,6,0,137,12,0,0,139,0,0,0,119,0,16,0,1,16,16,0,134,20,0,0,164,237,1,0,16,0,0,0,2,20,0,0,152,8,227,0,84,20,4,0,2,20,0,0,164,8,227,0,84,20,5,0,2,20,0,0,160,8,227,0,84,20,6,0,137,12,0,0,139,0,0,0,139,0,0,0,140,3,16,0,0,0,0,0,2,9,0,0,153,8,227,0,2,10,0,0,255,255,0,0,2,11,0,0,191,72,17,0,2,12,0,0,152,8,227,0,80,8,12,0,2,12,0,0,252,34,69,0,82,12,12,0,32,12,12,7,1,13,225,255,1,14,7,0,125,7,12,13,14,0,0,0,135,14,3,1,25,6,0,36,78,3,6,0,41,14,3,24,42,14,14,24,120,14,3,0,1,3,0,0,119,0,16,0,80,14,2,0,120,14,3,0,1,3,0,0,119,0,12,0,83,1,3,0,2,14,0,0,101,35,69,0,78,14,14,0,121,14,4,0,78,13,6,0,135,14,63,1,13,7,0,0,1,14,0,0,83,6,14,0,1,3,1,0,19,14,3,10,81,13,2,0,47,14,14,13,120,213,1,0,0,5,3,0,19,14,3,10,0,4,14,0,2,14,0,0,172,35,69,0,82,3,14,0,2,14,0,0,176,35,69,0,82,14,14,0,48,14,3,14,252,209,1,0,2,14,0,0,172,35,69,0,25,13,3,1,85,14,13,0,2,14,0,0,240,39,13,0,90,14,14,3,95,1,4,14,25,14,5,1,41,14,14,16,42,14,14,16,0,3,14,0,119,0,180,0,2,14,0,0,252,34,69,0,82,3,14,0,39,13,3,1,32,13,13,5,1,12,16,0,1,15,0,0,125,14,13,12,15,0,0,0,83,9,14,0,32,14,3,7,121,14,4,0,134,14,0,0,8,239,1,0,119,0,5,0,1,15,22,0,134,14,0,0,164,237,1,0,15,0,0,0,2,14,0,0,152,8,227,0,80,3,14,0,2,14,0,0,206,101,43,2,84,14,3,0,1,14,255,0,19,14,3,14,0,3,14,0,41,14,3,24,42,14,14,24,1,12,224,255,1,15,46,0,138,14,12,15,80,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,184,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,48,212,1,0,56,211,1,0,56,211,1,0,56,211,1,0,56,211,1,0,160,212,1,0,95,1,4,3,25,12,5,1,41,12,12,16,42,12,12,16,0,3,12,0,119,0,86,0,25,15,5,1,41,15,15,16,42,15,15,16,0,3,15,0,3,4,1,4,78,15,9,0,120,15,4,0,1,15,224,255,83,4,15,0,119,0,76,0,1,15,0,0,83,4,15,0,78,4,9,0,19,15,3,10,81,12,2,0,47,15,15,12,176,211,1,0,19,15,3,10,95,1,15,4,25,15,5,2,41,15,15,16,42,15,15,16,0,3,15,0,119,0,62,0,83,6,4,0,119,0,60,0,2,15,0,0,252,34,69,0,82,15,15,0,32,15,15,7,121,15,6,0,78,12,9,0,135,15,64,1,0,12,0,0,0,3,5,0,119,0,50,0,25,15,5,1,41,15,15,16,42,15,15,16,0,3,15,0,1,12,0,0,95,1,4,12,78,4,9,0,19,12,3,10,81,15,2,0,47,12,12,15,40,212,1,0,19,12,3,10,95,1,12,4,25,12,5,2,41,12,12,16,42,12,12,16,0,3,12,0,119,0,32,0,83,6,4,0,119,0,30,0,80,15,2,0,32,15,15,1,121,15,8,0,1,12,8,0,95,1,4,12,25,12,5,1,41,12,12,16,42,12,12,16,0,3,12,0,119,0,20,0,41,12,5,16,42,12,12,16,120,12,3,0,1,3,0,0,119,0,24,0,1,15,0,0,95,1,4,15,1,12,8,0,135,15,63,1,12,7,0,0,1,12,32,0,135,15,63,1,12,7,0,0,26,15,5,1,41,15,15,16,42,15,15,16,0,3,15,0,119,0,2,0,119,0,19,0,2,14,0,0,101,35,69,0,78,14,14,0,121,14,6,0,2,12,0,0,152,8,227,0,78,12,12,0,135,14,63,1,12,7,0,0,19,14,3,10,81,12,2,0,47,14,14,12,232,212,1,0,0,5,3,0,19,14,3,10,0,4,14,0,119,0,49,255,119,0,36,0,25,14,5,1,41,14,14,16,42,14,14,16,0,3,14,0,1,12,13,0,95,1,4,12,19,12,3,10,81,14,2,0,47,12,12,14,48,213,1,0,19,12,3,10,1,14,10,0,95,1,12,14,25,14,5,2,41,14,14,16,42,14,14,16,0,3,14,0,84,2,3,0,2,14,0,0,152,8,227,0,84,14,8,0,2,14,0,0,101,35,69,0,78,14,14,0,120,14,3,0,1,14,1,0,139,14,0,0,1,12,13,0,135,14,63,1,12,7,0,0,1,12,10,0,135,14,63,1,12,7,0,0,1,14,1,0,139,14,0,0,84,2,3,0,2,14,0,0,152,8,227,0,84,14,8,0,1,14,1,0,139,14,0,0,140,2,20,0,0,0,0,0,1,11,0,0,136,17,0,0,0,16,17,0,136,17,0,0,25,17,17,64,137,17,0,0,25,7,16,24,25,6,16,16,0,2,16,0,25,14,16,40,25,3,16,32,25,15,16,50,25,8,16,48,25,9,16,28,25,10,16,52,1,17,13,0,85,14,17,0,1,18,0,0,109,14,4,18,85,2,1,0,2,17,0,0,74,225,9,0,135,18,18,0,14,17,2,0,78,18,1,0,32,18,18,64,121,18,3,0,1,18,32,0,83,1,18,0,135,14,15,1,1,0,0,0,1,18,0,0,85,2,18,0,1,18,0,0,85,3,18,0,1,18,0,0,85,9,18,0,1,18,1,0,1,19,0,0,135,17,65,1,19,14,2,3,10,0,0,0,48,18,18,17,92,214,1,0,2,17,0,0,99,225,9,0,25,19,16,8,135,18,24,0,17,19,0,0,82,13,2,0,33,5,13,0,82,12,3,0,33,18,12,0,20,18,5,18,121,18,104,0,25,4,0,24,82,19,4,0,1,17,0,0,135,18,180,0,19,17,0,0,41,18,18,24,42,18,18,24,33,2,18,255,82,17,4,0,1,19,1,0,135,18,180,0,17,19,0,0,41,18,18,24,42,18,18,24,33,4,18,255,120,13,3,0,1,1,1,0,119,0,23,0,1,19,0,0,135,18,213,0,13,19,15,0,121,18,18,0,80,19,15,0,135,18,214,0,19,0,0,0,85,6,13,0,2,19,0,0,146,225,9,0,135,18,24,0,19,6,0,0,121,2,4,0,1,19,0,0,135,18,214,0,19,0,0,0,1,19,0,0,135,18,213,0,13,19,15,0,1,1,0,0,119,0,2,0,1,1,0,0,120,12,3,0,1,3,1,0,119,0,65,0,85,7,12,0,2,19,0,0,175,225,9,0,135,18,24,0,19,7,0,0,121,4,4,0,1,19,1,0,135,18,214,0,19,0,0,0,20,18,5,2,0,5,18,0,120,5,6,0,2,19,0,0,58,33,10,0,1,17,2,0,135,18,213,0,19,17,15,0,78,18,10,0,120,18,9,0,1,18,2,0,1,17,32,0,1,19,18,0,135,3,245,0,12,18,17,19,15,8,0,0,1,11,21,0,119,0,15,0,1,17,2,0,135,19,213,0,12,17,15,0,121,19,6,0,1,17,1,0,1,18,2,0,135,19,217,0,17,9,18,0,119,0,6,0,1,19,32,0,135,3,211,0,12,19,15,0,1,11,21,0,119,0,1,0,32,19,11,21,121,19,9,0,40,19,4,1,20,19,3,19,120,19,6,0,2,18,0,0,58,33,10,0,1,17,2,0,135,19,213,0,18,17,15,0,121,5,3,0,1,3,0,0,119,0,11,0,1,17,0,0,135,19,214,0,17,0,0,0,1,2,0,0,1,3,0,0,119,0,5,0,1,4,0,0,1,2,0,0,1,3,1,0,1,1,1,0,134,19,0,0,96,219,1,0,0,14,0,0,120,1,12,0,1,17,0,0,135,19,214,0,17,0,0,0,121,2,6,0,2,17,0,0,58,33,10,0,1,18,2,0,135,19,213,0,17,18,15,0,135,19,66,1,13,0,0,0,121,3,3,0,137,16,0,0,139,0,0,0,1,18,1,0,135,19,214,0,18,0,0,0,120,2,6,0,2,18,0,0,58,33,10,0,1,17,2,0,135,19,213,0,18,17,15,0,121,4,6,0,2,17,0,0,58,33,10,0,1,18,2,0,135,19,213,0,17,18,15,0,120,2,4,0,1,18,0,0,135,19,214,0,18,0,0,0,135,19,66,1,12,0,0,0,137,16,0,0,139,0,0,0,140,0,14,0,0,0,0,0,2,8,0,0,171,102,53,0,2,9,0,0,170,102,53,0,2,10,0,0,44,7,2,0,1,7,0,0,2,11,0,0,172,28,8,0,82,11,11,0,2,12,0,0,204,9,227,0,82,12,12,0,3,0,11,12,2,12,0,0,172,28,8,0,85,12,0,0,2,12,0,0,204,9,227,0,1,11,0,0,85,12,11,0,36,11,0,0,121,11,7,0,1,5,0,0,0,7,0,0,3,7,5,7,1,11,0,0,15,7,11,7,139,7,0,0,2,11,0,0,144,122,213,0,82,11,11,0,120,11,3,0,1,2,0,0,119,0,8,0,135,11,67,1,2,11,0,0,172,28,8,0,82,0,11,0,2,11,0,0,204,9,227,0,82,2,11,0,2,11,0,0,176,28,8,0,82,3,11,0,2,11,0,0,6,103,43,2,1,12,1,0,83,11,12,0,2,12,0,0,172,154,213,0,82,5,12,0,120,5,3,0,1,7,11,0,119,0,75,0,4,12,3,0,4,6,12,2,76,12,6,0,145,6,12,0,88,4,5,0,145,4,4,0,76,11,3,0,145,12,11,0,65,1,4,12,145,1,1,0,72,12,1,6,121,12,45,0,0,0,5,0,25,5,0,12,2,12,0,0,172,154,213,0,82,11,5,0,85,12,11,0,2,11,0,0,176,154,213,0,89,11,4,0,106,12,0,8,1,13,255,7,19,12,12,13,106,13,0,4,135,11,145,0,12,13,0,0,2,11,0,0,168,154,213,0,82,11,11,0,85,5,11,0,2,11,0,0,168,154,213,0,85,11,0,0,2,11,0,0,172,154,213,0,82,0,11,0,120,0,2,0,119,0,13,0,88,4,0,0,145,4,4,0,2,12,0,0,176,28,8,0,82,11,12,0,76,11,11,0,145,11,11,0,65,1,4,11,145,1,1,0,72,11,1,6,120,11,220,255,119,0,6,0,2,11,0,0,172,28,8,0,82,0,11,0,1,7,11,0,119,0,19,0,2,11,0,0,6,103,43,2,1,12,0,0,83,11,12,0,64,12,1,6,145,12,12,0,75,5,12,0,32,12,5,0,1,11,1,0,125,5,12,11,5,0,0,0,2,11,0,0,172,28,8,0,82,3,11,0,0,2,3,0,15,11,5,3,125,3,11,5,3,0,0,0,32,11,7,11,121,11,7,0,2,11,0,0,6,103,43,2,1,12,0,0,83,11,12,0,0,2,0,0,0,3,0,0,2,12,0,0,204,9,227,0,85,12,3,0,4,0,2,3,2,12,0,0,172,28,8,0,85,12,0,0,2,12,0,0,144,122,213,0,82,12,12,0,120,12,7,0,0,5,3,0,0,7,0,0,3,7,5,7,1,12,0,0,15,7,12,7,139,7,0,0,135,12,67,1,2,12,0,0,204,9,227,0,82,5,12,0,2,12,0,0,172,28,8,0,82,7,12,0,3,7,5,7,1,12,0,0,15,7,12,7,139,7,0,0,140,2,12,0,0,0,0,0,2,8,0,0,0,238,1,0,1,6,0,0,136,9,0,0,0,7,9,0,136,9,0,0,1,10,16,16,3,9,9,10,137,9,0,0,1,9,0,16,3,5,7,9,0,4,7,0,0,2,4,0,135,3,15,1,1,0,0,0,78,1,3,0,41,9,1,24,42,9,9,24,1,10,0,0,1,11,93,0,138,9,10,11,52,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,56,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,60,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,64,221,1,0,124,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,128,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,48,221,1,0,132,221,1,0,119,0,22,0,119,0,25,0,119,0,24,0,119,0,23,0,1,10,0,0,83,2,10,0,1,1,0,0,27,11,1,20,94,11,8,11,135,10,17,1,11,4,0,0,120,10,3,0,1,6,5,0,119,0,13,0,25,1,1,1,33,10,1,42,120,10,247,255,78,1,3,0,119,0,4,0,119,0,7,0,119,0,6,0,119,0,239,255,83,2,1,0,25,2,2,1,25,3,3,1,119,0,132,255,32,9,6,5,121,9,13,0,27,9,1,20,3,6,8,9,106,10,6,8,1,11,255,0,19,10,10,11,106,11,6,12,42,11,11,1,3,11,0,11,135,9,68,1,10,11,3,0,137,7,0,0,139,0,0,0,1,9,0,0,83,2,9,0,135,9,41,0,4,0,0,0,120,9,3,0,137,7,0,0,139,0,0,0,1,1,0,0,27,10,1,20,94,10,8,10,135,9,17,1,10,4,0,0,120,9,3,0,1,6,12,0,119,0,4,0,25,1,1,1,33,9,1,42,120,9,247,255,32,9,6,12,121,9,13,0,27,9,1,20,3,6,8,9,106,10,6,8,1,11,255,0,19,10,10,11,106,11,6,12,42,11,11,1,3,11,0,11,135,9,68,1,10,11,3,0,137,7,0,0,139,0,0,0,134,9,0,0,240,182,1,0,0,4,3,0,121,9,3,0,137,7,0,0,139,0,0,0,2,9,0,0,138,102,43,2,78,9,9,0,121,9,6,0,135,9,69,1,0,4,3,0,121,9,3,0,137,7,0,0,139,0,0,0,2,9,0,0,227,35,10,0,135,6,10,1,9,0,0,0,85,5,4,0,134,9,0,0,172,232,1,0,0,6,5,0,137,7,0,0,139,0,0,0,140,1,10,0,0,0,0,0,2,5,0,0,252,34,69,0,82,1,5,0,32,2,1,7,2,5,0,0,232,49,8,0,78,5,5,0,33,5,5,0,20,5,5,2,120,5,63,0,1,5,26,4,135,2,165,0,5,0,0,0,2,5,0,0,255,255,0,0,19,5,2,5,0,3,5,0,41,5,2,16,42,5,5,16,1,7,28,4,135,6,165,0,7,0,0,0,41,6,6,16,42,6,6,16,13,4,5,6,102,6,0,36,32,1,6,0,121,4,6,0,1,5,211,128,1,7,147,128,125,6,1,5,7,0,0,0,139,6,0,0,120,1,3,0,1,4,147,128,139,4,0,0,1,7,0,4,3,7,3,7,135,6,165,0,7,0,0,0,41,6,6,16,42,6,6,16,121,6,3,0,1,4,147,128,139,4,0,0,1,6,128,4,135,4,165,0,6,0,0,0,25,6,2,2,2,7,0,0,255,255,0,0,19,6,6,7,1,5,130,4,135,7,165,0,5,0,0,0,2,5,0,0,255,255,0,0,19,7,7,5,15,0,6,7,1,6,26,4,121,0,7,0,25,8,3,2,2,9,0,0,255,255,0,0,19,8,8,9,0,5,8,0,119,0,2,0,0,5,4,0,135,7,228,0,6,5,0,0,1,4,211,128,139,4,0,0,102,7,0,36,121,7,3,0,1,4,147,128,139,4,0,0,2,7,0,0,172,35,69,0,82,7,7,0,2,5,0,0,176,35,69,0],eb+112640);HEAPU8.set([82,5,5,0,48,7,7,5,20,224,1,0,1,4,147,128,139,4,0,0,2,7,0,0,152,8,227,0,80,3,7,0,2,7,0,0,153,8,227,0,39,6,1,1,32,6,6,5,1,8,17,0,1,9,1,0,125,5,6,8,9,0,0,0,83,7,5,0,121,2,4,0,134,5,0,0,8,239,1,0,119,0,5,0,1,7,22,0,134,5,0,0,164,237,1,0,7,0,0,0,2,5,0,0,188,8,227,0,82,5,5,0,38,5,5,64,120,5,29,0,2,5,0,0,252,34,69,0,82,5,5,0,32,5,5,7,2,7,0,0,152,8,227,0,78,7,7,0,32,7,7,0,19,5,5,7,121,5,17,0,2,5,0,0,153,8,227,0,78,5,5,0,135,1,64,1,0,5,0,0,2,5,0,0,153,8,227,0,1,7,0,0,83,5,7,0,134,7,0,0,8,239,1,0,1,7,147,128,1,5,211,128,125,1,1,7,5,0,0,0,119,0,4,0,1,1,147,128,119,0,2,0,1,1,211,128,2,5,0,0,152,8,227,0,84,5,3,0,0,4,1,0,139,4,0,0,140,0,2,0,0,0,0,0,2,0,0,0,50,160,10,0,78,0,0,0,120,0,20,0,135,0,70,1,135,0,71,1,135,0,72,1,135,0,73,1,135,0,156,0,135,0,157,0,135,0,74,1,135,0,75,1,135,0,76,1,135,0,77,1,135,0,78,1,135,0,79,1,1,1,16,0,135,0,141,0,1,0,0,0,2,0,0,0,50,160,10,0,1,1,1,0,83,0,1,0,1,0,6,0,135,1,141,0,0,0,0,0,2,1,0,0,50,160,10,0,1,0,0,0,83,1,0,0,1,1,0,0,135,0,80,1,1,0,0,0,1,1,0,0,135,0,81,1,1,0,0,0,2,0,0,0,252,34,69,0,82,0,0,0,32,0,0,7,121,0,4,0,1,1,1,0,135,0,6,1,1,0,0,0,1,1,7,0,135,0,141,0,1,0,0,0,1,1,0,0,135,0,82,1,1,0,0,0,1,1,0,0,135,0,83,1,1,0,0,0,1,1,0,0,135,0,84,1,1,0,0,0,1,1,8,0,135,0,141,0,1,0,0,0,135,0,85,1,1,1,9,0,135,0,141,0,1,0,0,0,1,1,0,0,135,0,86,1,1,0,0,0,1,1,0,0,135,0,87,1,1,0,0,0,1,1,0,0,135,0,88,1,1,0,0,0,1,1,10,0,135,0,141,0,1,0,0,0,1,1,11,0,135,0,141,0,1,0,0,0,134,0,0,0,108,227,1,0,1,0,1,0,139,0,0,0,140,3,9,0,0,0,0,0,136,6,0,0,0,5,6,0,136,6,0,0,25,6,6,16,137,6,0,0,0,4,5,0,2,6,0,0,76,35,69,0,135,3,26,1,6,0,0,0,2,6,0,0,255,255,0,0,19,6,3,6,41,6,6,4,85,4,6,0,108,4,4,3,135,6,180,0,4,0,0,0,1,7,255,0,19,6,6,7,0,3,6,0,2,6,0,0,72,228,6,0,82,6,6,0,50,6,6,3,216,226,1,0,1,7,6,0,135,6,25,1,7,0,0,0,1,4,0,0,137,5,0,0,139,4,0,0,2,6,0,0,184,35,69,0,82,6,6,0,41,7,3,2,94,0,6,7,121,0,26,0,82,7,0,0,106,7,7,40,1,8,255,0,19,7,7,8,135,6,27,1,7,0,0,0,121,6,19,0,80,6,2,0,84,4,6,0,2,6,0,0,184,35,69,0,82,6,6,0,41,7,3,2,94,3,6,7,82,6,3,0,106,6,6,12,1,7,255,0,19,6,6,7,135,1,29,1,6,3,1,4,80,6,4,0,84,2,6,0,0,4,1,0,137,5,0,0,139,4,0,0,1,7,6,0,135,6,25,1,7,0,0,0,1,4,0,0,137,5,0,0,139,4,0,0,140,0,6,0,0,0,0,0,136,3,0,0,0,1,3,0,136,3,0,0,25,3,3,32,137,3,0,0,25,0,1,16,1,3,21,0,85,0,3,0,1,4,0,0,109,0,4,4,2,3,0,0,83,17,10,0,135,4,18,0,0,3,1,0,2,4,0,0,32,68,69,0,82,4,4,0,121,4,6,0,2,3,0,0,105,17,10,0,25,5,1,8,135,4,31,0,3,5,0,0,1,4,64,0,135,0,26,0,4,0,0,0,135,4,53,1,0,0,0,0,2,4,0,0,200,235,6,0,85,0,4,0,25,2,0,28,85,2,2,0,109,0,32,2,1,5,0,0,109,0,36,5,25,2,0,40,85,2,2,0,109,0,44,2,1,4,0,0,109,0,48,4,1,5,0,0,108,0,54,5,1,4,1,0,107,0,60,4,1,5,0,0,107,0,61,5,1,4,0,0,109,0,56,4,1,5,0,0,107,0,62,5,1,4,0,0,107,0,63,4,2,4,0,0,32,68,69,0,85,4,0,0,134,4,0,0,96,198,1,0,0,0,0,0,2,4,0,0,32,68,69,0,82,0,4,0,120,0,7,0,2,4,0,0,32,68,69,0,1,5,0,0,85,4,5,0,137,1,0,0,139,0,0,0,82,4,0,0,106,4,4,4,1,3,255,7,19,4,4,3,135,5,145,0,4,0,0,0,2,5,0,0,32,68,69,0,1,4,0,0,85,5,4,0,137,1,0,0,139,0,0,0,140,3,9,0,0,0,0,0,136,6,0,0,0,5,6,0,136,6,0,0,25,6,6,16,137,6,0,0,0,4,5,0,2,6,0,0,76,35,69,0,135,3,26,1,6,0,0,0,2,6,0,0,255,255,0,0,19,6,3,6,41,6,6,4,85,4,6,0,108,4,4,3,135,6,180,0,4,0,0,0,1,7,255,0,19,6,6,7,0,3,6,0,2,6,0,0,72,228,6,0,82,6,6,0,50,6,6,3,64,229,1,0,1,7,6,0,135,6,25,1,7,0,0,0,1,4,0,0,137,5,0,0,139,4,0,0,2,6,0,0,184,35,69,0,82,6,6,0,41,7,3,2,94,0,6,7,121,0,26,0,82,7,0,0,106,7,7,40,1,8,255,0,19,7,7,8,135,6,27,1,7,0,0,0,121,6,19,0,80,6,2,0,84,4,6,0,2,6,0,0,184,35,69,0,82,6,6,0,41,7,3,2,94,3,6,7,82,6,3,0,106,6,6,8,1,7,255,0,19,6,6,7,135,1,29,1,6,3,1,4,80,6,4,0,84,2,6,0,0,4,1,0,137,5,0,0,139,4,0,0,1,7,6,0,135,6,25,1,7,0,0,0,1,4,0,0,137,5,0,0,139,4,0,0,140,0,7,0,0,0,0,0,136,4,0,0,0,3,4,0,136,4,0,0,25,4,4,16,137,4,0,0,25,2,3,12,2,5,0,0,76,35,69,0,135,4,26,1,5,0,0,0,2,5,0,0,255,255,0,0,19,4,4,5,41,4,4,4,1,5,20,1,3,4,4,5,135,0,178,0,4,0,0,0,1,4,0,0,85,2,4,0,1,4,255,0,19,4,0,4,0,0,4,0,2,4,0,0,200,73,69,0,82,1,4,0,2,4,0,0,204,73,69,0,82,4,4,0,4,4,4,1,42,4,4,2,48,4,4,0,112,230,1,0,2,5,0,0,44,139,10,0,135,4,31,0,5,3,0,0,41,4,0,2,94,0,1,4,120,0,6,0,2,5,0,0,81,139,10,0,25,6,3,8,135,4,31,0,5,6,0,0,106,0,0,20,120,0,4,0,137,3,0,0,1,4,0,0,139,4,0,0,1,6,255,7,19,6,0,6,135,4,145,0,6,2,0,0,82,0,2,0,82,6,0,0,106,6,6,8,1,5,255,7,19,6,6,5,135,4,145,0,6,0,0,0,82,0,2,0,120,0,4,0,137,3,0,0,1,4,0,0,139,4,0,0,82,6,0,0,106,6,6,4,1,5,255,7,19,6,6,5,135,4,145,0,6,0,0,0,137,3,0,0,1,4,0,0,139,4,0,0,140,2,8,0,0,0,0,0,135,4,89,1,2,4,0,0,168,8,227,0,80,3,4,0,2,4,0,0,168,8,227,0,2,5,0,0,255,255,0,0,19,5,3,5,2,6,0,0,250,255,0,0,3,5,5,6,84,4,5,0,2,4,0,0,140,9,227,0,82,4,4,0,26,6,3,6,2,7,0,0,255,255,0,0,19,6,6,7,3,4,4,6,2,6,0,0,128,8,227,0,82,6,6,0,41,6,6,5,2,7,0,0,62,102,43,2,81,7,7,0,3,6,6,7,2,7,0,0,255,255,0,0,19,6,6,7,135,5,228,0,4,6,0,0,2,6,0,0,140,9,227,0,82,6,6,0,25,6,6,2,2,4,0,0,168,8,227,0,81,4,4,0,3,6,6,4,2,4,0,0,60,102,43,2,80,4,4,0,135,5,228,0,6,4,0,0,2,4,0,0,140,9,227,0,82,4,4,0,25,4,4,4,2,6,0,0,168,8,227,0,81,6,6,0,3,4,4,6,2,6,0,0,188,8,227,0,82,6,6,0,2,7,0,0,255,255,0,0,19,6,6,7,135,5,228,0,4,6,0,0,2,5,0,0,184,8,227,0,82,3,5,0,2,5,0,0,104,9,227,0,82,2,5,0,2,5,0,0,184,8,227,0,2,6,0,0,255,255,0,0,19,6,1,6,85,5,6,0,2,6,0,0,255,255,0,0,19,6,0,6,0,1,6,0,2,6,0,0,104,9,227,0,85,6,1,0,2,6,0,0,136,9,227,0,41,5,1,4,85,6,5,0,134,5,0,0,92,239,1,0,2,5,0,0,184,8,227,0,85,5,3,0,2,5,0,0,255,255,0,0,19,5,2,5,0,1,5,0,2,5,0,0,104,9,227,0,85,5,1,0,2,5,0,0,136,9,227,0,41,6,1,4,85,5,6,0,139,0,0,0,140,3,10,0,0,0,0,0,2,7,0,0,211,102,43,2,136,8,0,0,0,6,8,0,136,8,0,0,1,9,32,8,3,8,8,9,137,8,0,0,25,3,6,16,0,0,6,0,1,8,18,8,3,4,6,8,1,8,16,8,3,5,6,8,85,0,2,0,1,9,255,7,135,8,90,1,3,9,1,0,135,8,41,0,3,0,0,0,2,9,0,0,255,255,0,0,19,8,8,9,0,2,8,0,120,2,3,0,137,6,0,0,139,0,0,0,1,1,0,0,1,0,0,0,1,8,1,0,84,5,8,0,90,0,3,0,41,8,0,24,42,8,8,24,33,8,8,10,78,9,7,0,32,9,9,13,20,8,8,9,120,8,7,0,1,8,13,0,83,4,8,0,1,9,1,0,134,8,0,0,80,226,1,0,9,4,5,0,83,4,0,0,83,7,0,0,1,9,1,0,134,8,0,0,80,226,1,0,9,4,5,0,25,8,1,1,41,8,8,16,42,8,8,16,0,1,8,0,2,8,0,0,255,255,0,0,19,8,1,8,0,0,8,0,55,8,0,2,40,233,1,0,137,6,0,0,139,0,0,0,140,0,7,0,0,0,0,0,2,4,0,0,188,8,227,0,82,1,4,0,2,4,0,0,188,8,227,0,1,5,0,2,20,5,1,5,85,4,5,0,2,5,0,0,104,9,227,0,82,0,5,0,2,5,0,0,184,8,227,0,82,2,5,0,2,5,0,0,60,102,43,2,81,3,5,0,2,5,0,0,104,9,227,0,85,5,3,0,2,5,0,0,136,9,227,0,41,4,3,4,85,5,4,0,2,4,0,0,184,8,227,0,2,5,0,0,132,8,227,0,82,5,5,0,41,5,5,5,2,6,0,0,62,102,43,2,81,6,6,0,3,5,5,6,85,4,5,0,2,5,0,0,12,35,69,0,2,4,0,0,12,35,69,0,82,4,4,0,25,4,4,1,85,5,4,0,134,4,0,0,92,239,1,0,2,4,0,0,12,35,69,0,2,5,0,0,12,35,69,0,82,5,5,0,26,5,5,1,85,4,5,0,2,5,0,0,184,8,227,0,85,5,2,0,2,5,0,0,255,255,0,0,19,5,0,5,0,0,5,0,2,5,0,0,104,9,227,0,85,5,0,0,2,5,0,0,136,9,227,0,41,4,0,4,85,5,4,0,2,4,0,0,188,8,227,0,82,0,4,0,2,4,0,0,188,8,227,0,1,6,0,2,19,6,1,6,32,6,6,0,121,6,5,0,1,6,255,253,19,6,0,6,0,5,6,0,119,0,4,0,1,6,0,2,20,6,0,6,0,5,6,0,85,4,5,0,2,5,0,0,140,103,43,2,78,5,5,0,32,5,5,0,1,4,0,0,2,6,0,0,204,9,227,0,82,6,6,0,15,4,4,6,19,5,5,4,120,5,2,0,139,0,0,0,2,5,0,0,204,9,227,0,1,4,0,0,85,5,4,0,139,0,0,0,140,2,8,0,0,0,0,0,2,4,0,0,168,8,227,0,80,3,4,0,2,4,0,0,168,8,227,0,2,5,0,0,255,255,0,0,19,5,3,5,2,6,0,0,252,255,0,0,3,5,5,6,84,4,5,0,2,4,0,0,140,9,227,0,82,4,4,0,26,6,3,4,2,7,0,0,255,255,0,0,19,6,6,7,3,4,4,6,2,6,0,0,128,8,227,0,82,6,6,0,41,6,6,5,2,7,0,0,62,102,43,2,81,7,7,0,3,6,6,7,2,7,0,0,255,255,0,0,19,6,6,7,135,5,228,0,4,6,0,0,2,6,0,0,140,9,227,0,82,6,6,0,25,6,6,2,2,4,0,0,168,8,227,0,81,4,4,0,3,6,6,4,2,4,0,0,60,102,43,2,80,4,4,0,135,5,228,0,6,4,0,0,2,5,0,0,184,8,227,0,82,3,5,0,2,5,0,0,104,9,227,0,82,2,5,0,2,5,0,0,184,8,227,0,2,4,0,0,255,255,0,0,19,4,1,4,85,5,4,0,2,4,0,0,255,255,0,0,19,4,0,4,0,1,4,0,2,4,0,0,104,9,227,0,85,4,1,0,2,4,0,0,136,9,227,0,41,5,1,4,85,4,5,0,134,5,0,0,92,239,1,0,2,5,0,0,184,8,227,0,85,5,3,0,2,5,0,0,255,255,0,0,19,5,2,5,0,1,5,0,2,5,0,0,104,9,227,0,85,5,1,0,2,5,0,0,136,9,227,0,41,4,1,4,85,5,4,0,139,0,0,0,140,0,6,0,0,0,0,0,136,3,0,0,0,2,3,0,136,3,0,0,25,3,3,16,137,3,0,0,25,1,2,8,1,4,0,0,135,3,91,1,4,0,0,0,1,4,0,0,135,3,122,0,4,0,0,0,2,3,0,0,204,8,227,0,78,3,3,0,121,3,5,0,2,4,0,0,216,84,10,0,135,3,31,0,4,2,0,0,1,4,4,0,135,3,141,0,4,0,0,0,2,3,0,0,168,8,227,0,1,4,0,0,85,3,4,0,2,4,0,0,184,8,227,0,1,3,0,0,85,4,3,0,1,4,1,0,1,5,96,0,135,3,92,1,4,5,0,0,1,5,2,0,1,4,96,0,135,3,92,1,5,4,0,0,1,0,0,0,1,4,0,124,3,4,0,4,1,5,0,0,135,3,179,0,4,5,0,0,25,0,0,1,1,3,0,4,53,3,0,3,76,237,1,0,134,3,0,0,0,225,1,0,121,3,5,0,137,2,0,0,1,3,0,0,139,3,0,0,119,0,5,0,2,5,0,0,22,85,10,0,135,3,31,0,5,1,0,0,1,3,0,0,139,3,0,0,140,1,6,0,0,0,0,0,2,3,0,0,184,8,227,0,82,2,3,0,2,3,0,0,104,9,227,0,82,1,3,0,2,3,0,0,184,8,227,0,1,4,255,0,19,4,0,4,27,4,4,6,1,5,0,16,20,4,4,5,2,5,0,0,62,102,43,2,81,5,5,0,3,4,4,5,85,3,4,0,2,4,0,0,60,102,43,2,81,0,4,0,2,4,0,0,104,9,227,0,85,4,0,0,2,4,0,0,136,9,227,0,41,3,0,4,85,4,3,0,134,3,0,0,92,239,1,0,2,3,0,0,184,8,227,0,85,3,2,0,2,3,0,0,255,255,0,0,19,3,1,3,0,0,3,0,2,3,0,0,104,9,227,0,85,3,0,0,2,3,0,0,136,9,227,0,41,4,0,4,85,3,4,0,139,0,0,0,140,3,6,0,0,0,0,0,2,3,0,0,48,40,13,0,106,4,0,32,41,4,4,2,94,0,3,4,82,4,0,0,106,4,4,12,1,5,255,0,19,4,4,5,135,3,29,1,4,0,1,2,139,3,0,0,140,3,6,0,0,0,0,0,2,3,0,0,48,40,13,0,106,4,0,32,41,4,4,2,94,0,3,4,82,4,0,0,106,4,4,8,1,5,255,0,19,4,4,5,135,3,29,1,4,0,1,2,139,3,0,0,140,1,4,0,0,0,0,0,2,1,0,0,48,40,13,0,106,2,0,32,41,2,2,2,94,0,1,2,82,2,0,0,106,2,2,28,1,3,255,0,19,2,2,3,135,1,27,1,2,0,0,0,139,1,0,0,140,0,4,0,0,0,0,0,2,1,0,0,60,102,43,2,80,1,1,0,2,2,0,0,156,69,69,0,82,2,2,0,41,2,2,5,2,3,0,0,62,102,43,2,81,3,3,0,3,2,2,3,2,3,0,0,255,255,0,0,19,2,2,3,134,0,0,0,8,231,1,0,1,2,0,0,1,0,0,0,139,0,0,0,140,0,1,0,0,0,0,0,134,0,0,0,4,191,1,0,121,0,254,255,139,0,0,0,0,0,0,0],eb+122880);var relocations=[];relocations=relocations.concat([1648,2044,2220,2236,2280,2808,3132,3136,3140,3144,3292,3296,3300,3304,3484,4172,4296,4656,4924,6380,6764,6996,7568,7628,7732,7920,8196,8440,8544,8676,8736,8840,9028,9492,10056,10076,10104,10124,10156,10212,10448,10612,10920,11104,11268,11460,11624,11816,11980,12260,12424,12616,12780,15796,15864,16240,16380,16656,17100,17144,17284,17560,17700,17976,18100,18400,18444,18592,18712,18852,18896,19036,19276,19320,19512,19616,19692,19796,19928,20024,20064,20160,20184,20276,20592,20636,20776,20888,21052,21276,21392,21484,21616,21712,21752,21960,22096,22260,22400,22520,22684,22816,22888,23028,23072,23244,23560,23604,23744,24036,24080,24252,24504,24676,24968,25012,25184,25280,25420,25464,25636,25952,25996,26312,26356,26528,26804,26848,26980,27216,27372,27612,27656,27836,27948,28112,28292,28568,28668,28908,28952,29144,29248,29324,29428,29560,29656,29696,29792,29816,29908,30208,30252,30392,30504,30668,30848,30968,31132,31312,31432,31596,31768,31840,31980,32024,32204,32316,32480,32660,32780,32944,33116,33236,33400,33580,33700,33864,34020,34320,34364,34512,34624,34788,34920,35156,35632,35676,35816,36116,36160,36308,36428,36592,36772,36884,37048,37228,37340,37504,37676,37820,37984,38132,38228,38368,38412,38592,38664,38804,38848,39020,39336,39380,39528,39664,39828,40012,40176,40368,40532,40636,40680,40988,41152,41252,41292,41692,41804,41968,42140,42252,42420,42500,42540,42688,42800,42968,43048,43088,43236,43488,43660,43952,43996,44168,44420,44592,44844,45016,45128,45292,45448,45568,45736,45868,45928,45972,46144,46256,46424,46500,46648,46760,46928,47012,47056,47212,47264,47308,47400,47452,47496,47628,47692,47732,47856,47920,47964,48048,48112,48156,48280,48344,48388,48520,48584,48628,48760,48824,48868,48992,49056,49100,49232,49296,49340,49472,49536,49580,49704,49768,49812,49944,50008,50052,50184,50248,50292,50424,50488,50532,50664,50728,50768,50908,50972,51012,51652,51676,51700,51724,51872,52840,52892,52908,53896,53900,53904,53908,53912,53916,53920,53924,53928,53932,53936,53940,53944,53948,53952,53956,53960,53964,53968,53972,53976,54220,54224,54228,54232,54236,54240,54244,54248,54252,54256,54260,54264,54268,54272,54276,54280,54284,54288,54292,54296,54300,54304,54308,54312,54316,54320,54324,54328,54332,54336,54340,54344,54348,54352,54356,54360,54364,54368,54372,54376,54380,54384,54388,54392,54396,54400,54404,54408,54412,54416,54420,54424,54428,54432,54436,54440,54444,54448,54452,54456,54460,54464,54468,54472,54476,54480,54484,54488,54492,54496,54500,54504,54508,54512,54516,54520,54524,54640,54644,54648,54652,54656,54660,54664,54668,54672,54676,54680,54684,54688,54692,54696,54700,54704,54708,54712,54716,54720,54724,54728,54732,54736,54740,54744,54748,54752,54756,54760,54764,54768,54772,54776,54780,54784,54788,54792,54796,54800,54804,54808,54812,54816,54820,54824,54828,54832,54836,54840,54844,54848,54852,54856,54860,54864,54868,54872,54876,54880,54884,54888,54892,54896,54900,54904,54908,54912,54916,54920,54924,54928,54932,54936,54940,54944,54948,54952,54956,54960,54964,54968,54972,54976,54980,54984,54988,54992,54996,55e3,55004,55008,55012,55016,55020,55024,55028,55032,55036,55040,55044,55048,55052,55056,55060,55064,55068,55072,55076,55080,55084,55088,55092,55196,56448,56492,56496,56500,56504,56508,56512,56648,56652,56656,56660,56664,56668,57224,57228,57232,57236,57240,57244,57248,57252,57256,57260,59884,60456,60832,60920,60968,61028,61356,61400,61476,62404,63832,63836,64268,64272,64276,64280,64284,64288,64292,64296,64980,64984,64988,64992,66780,66812,67352,67384,68676,68680,70820,70824,71048,71052,71056,71060,72608,72612,72616,72620,72624,72628,72632,72636,72640,72644,72648,72652,72656,72660,72664,72668,72672,72676,72680,72684,72688,72692,72696,72700,72704,72708,72712,72716,72720,72724,72728,72732,72736,72740,72836,72888,72920,73424,73528,73916,73920,74296,74316,74864,74868,74872,74876,74880,74884,74888,74892,74896,74900,74904,74908,74912,74916,74920,74924,74928,74932,74936,74940,74980,75136,75140,75144,75148,75152,75156,75160,75164,75168,75172,75176,75180,75184,75188,75192,75196,75200,75204,75208,75212,75216,75220,75224,75360,75380,75400,75424,75428,75432,75436,75440,75444,75448,75452,75456,75460,75464,75468,75472,75476,75480,75588,75632,75912,75992,76044,76068,76220,76344,76556,76580,76716,76776,76852,77068,77072,77076,77080,77084,77088,77092,77096,77232,77284,77512,77600,77824,77896,78180,78208,78224,78576,78672,78880,78972,79124,79220,79348,79448,79520,79572,79612,79704,79828,80096,80120,80124,80128,80132,80136,80140,80144,80148,80152,80156,80160,80164,80168,80172,80176,80180,80184,80188,80192,80196,80200,80204,80208,80212,80216,80220,80224,80228,80232,80236,80240,80244,80248,80252,80256,80260,80264,80268,80272,80276,80280,80284,80288,80292,80296,80300,80304,80308,80312,80316,80320,80324,80328,80332,80336,80340,80344,80348,80352,80356,80360,80364,80368,80372,80376,80380,80384,80388,80392,80396,80400,80404,80408,80412,80416,80420,80424,80428,80432,80436,80440,80444,80448,80452,80456,80460,80464,80468,80472,80476,80480,80484,80488,80492,80496,80500,80504,80508,80512,80516,80520,80524,80528,80532,80536,80540,80544,80548,80552,80556,80560,80564,80568,80572,80576,80580,80584,80588,80592,80596,80600,80604,80608,80612,80616,80620,80624,80628,80632,80636,80640,80644,80648,80652,80656,80660,80664,80668,80672,80676,80680,80684,80688,80692,80696,80700,80704,80708,80712,80716,80720,80724,80728,80732,80736,80740,80744,80748,80752,80756,80760,80764,80768,80772,80776,80780,80784,80788,80792,80796,80800,80804,80808,80812,80816,80820,80824,80828,80832,80836,80840,80844,80848,80852,80856,80860,80864,80868,80872,80876,80880,80884,80888,80892,80896,80900,80904,80908,80912,80916,80920,80924,80928,80932,80936,80940,80944,80948,80952,80956,80960,80964,80968,80972,80976,80980,80984,80988,80992,80996,81e3,81004,81008,81012,81016,81020,81024,81028,81032,81036,81040,81044,81048,81052,81056,81060,81064,81068,81072,81076,81080,81084,81088,81092,81096,81100,81104,81108,81112,81116,81120,81124,81128,81132,81136,81140,81144,81148,81152,81156,81160,81164,81168,81172,81176,81180,81184,81188,81192,81196,81200,81204,81208,81212,81216,81220,81224,81228,81232,81236,81240,81244,81248,81252,81256,81260,81264,81268,81272,81276,81280,81284,81288,81292,81296,81300,81304,81308,81312,81316,81320,81324,81328,81332,81336,81340,81344,81348,81352,81356,81360,81364,81368,81372,81376,81380,81384,81388,81392,81396,81400,81404,81408,81412,81416,81420,81424,81428,81432,81436,81440,81444,81448,81452,81456,81460,81464,81468,81472,81476,81480,81484,81488,81492,81496,81500,81504,81508,81512,81516,81520,81524,81528,81532,81536,81540,81544,81548,81552,81556,81560,81564,81568,81572,81576,81580,81584,81588,81592,81596,81600,81604,81608,81612,81616,81620,81624,81628,81632,81636,81640,81644,81648,81652,81656,81660,81664,81668,81672,81676,81680,81684,81688,81692,81696,81700,81704,81708,81712,81716,81720,81724,81728,81732,81736,81740,81744,81748,81752,81756,81760,81764,81768,81772,81776,81780,81784,81788,81792,81796,81800,81804,81808,81812,81816,81820,81824,81828,81832,81836,81840,81844,81848,81852,81856,81860,81864,81868,81872,81876,81880,81884,81888,81892,81896,81900,81904,81908,81912,81916,81920,81924,81928,81932,81936,81940,81944,81948,81952,81956,81960,81964,81968,81972,81976,81980,81984,81988,81992,81996,82e3,82004,82008,82012,82016,82020,82024,82028,82032,82036,82040,82044,82048,82052,82056,82060,82064,82068,82072,82076,82080,82084,82088,82092,82096,82100,82104,82108,82112,82116,82120,82124,82128,82132,82136,82140,82144,82148,82152,82156,82160,82164,82168,82172,82176,82180,82184,82188,82192,82196,82200,82204,82208,82212,82216,82220,82224,82228,82232,82236,82240,82244,82248,82252,82256,82260,82264,82268,82272,82276,82280,82284,82288,82292,82296,82300,82304,82308,82312,82316,82320,82324,82328,82332,82336,82340,82344,82348,82352,82356,82360,82364,82368,82372,82376,82380,82384,82388,82392,82396,82400,82404,82408,82412,82416,82420,82424,82428,82432,82436,82440,82444,82448,82452,82456,82460,82464,82468,82472,82476,82480,82484,82488,82492,82496,82500,82504,82508,82512,82516,82520,82524,82528,82532,82536,82540,82544,82548,82552,82556,82560,82564,82568,82572,82576,82580,82584,82588,82592,82596,82600,82604,82608,82612,82616,82620,82624,82628,82632,82636,82640,82644,82648,82652,82656,82660,82664,82668,82672,82676,82680,82684,82688,82692,82696,82700,82704,82708,82712,82716,82720,82724,82728,82732,82736,82740,82744,82748,82752,82756,82760,82764,82768,82772,82776,82780,82784,82788,82792,82796,82800,82804,82808,82812,82816,82820,82824,82828,82832,82836,82840,82844,82848,82852,82856,82860,82864,82868,82872,82876,82880,82884,82888,82892,82896,82900,82904,82908,82912,82916,82920,82924,82928,82932,82936,82940,82944,82948,82952,82956,82960,82964,82968,82972,82976,82980,82984,82988,82992,82996,83e3,83004,83008,83012,83016,83020,83024,83028,83032,83036,83040,83044,83048,83052,83056,83060,83064,83068,83072,83076,83080,83084,83088,83092,83096,83100,83104,83108,83112,83116,83120,83124,83128,83132,83136,83140,83144,83148,83152,83156,83160,83164,83168,83172,83176,83180,83184,83188,83192,83196,83200,83204,83208,83212,83216,83220,83224,83228,83232,83236,83240,83244,83248,83252,83256,83260,83264,83268,83272,83276,83280,83284,83288,83292,83296,83300,83304,83308,83312,83316,83320,83324,83328,83332,83336,83340,83344,83348,83352,83356,83360,83364,83368,83372,83376,83380,83384,83388,83392,83396,83400,83404,83408,83412,83416,83420,83424,83428,83432,83436,83440,83444,83448,83452,83456,83460,83464,83468,83472,83476,83480,83484,83488,83492,83496,83500,83504,83508,83512,83516,83520,83524,83528,83532,83536,83540,83544,83548,83552,83556,83560,83564,83568,83572,83576,83580,83584,83588,83592,83596,83600,83604,83608,83612,83616,83620,83624,83628,83632,83636,83640,83644,83648,83652,83656,83660,83664,83668,83672,83676,83680,83684,83688,83692,83696,83700,83704,83708,83712,83716,83720,83724,83728,83732,83736,83740,83744,83748,83752,83756,83760,83764,83768,83772,83776,83780,83784,83788,83792,83796,83800,83804,83808,83812,83816,83820,83824,83828,83832,83836,83840,83844,83848,83852,83856,83860,83864,83868,83872,83876,83880,83884,83888,83892,83896,83900,83904,83908,83912,83916,83920,83924,83928,83932,83936,83940,83944,83948,83952,83956,83960,83964,83968,83972,83976,83980,83984,83988,83992,83996,84e3,84004,84008,84012,84016,84020,84024,84028,84032,84036,84040,84044,84048,84052,84056,84060,84064,84068,84072,84076,84080,84084,84088,84092,84096,84100,84104,84108,84112,84116,84120,84124,84128,84132,84136,84140,84144,84148,84152,84156,84160,84164,84168,84172,84176,84180,84184,84188,84192,84196,84200,84204,84208,84212,84216,84220,84224,84228,84232,84236,84240,84244,84248,84252,84256,84260,84264,84268,84272,84276,84280,84284,84288,84292,84296,84300,84304,84308,84312,84316,84320,84324,84328,84332,84336,84340,84344,84348,84352,84356,84360,84364,84368,84372,84376,84380,84384,84388,84392,84396,84400,84404,84408,84412,84416,84420,84424,84428,84432,84436,84440,84444,84448,84452,84456,84460,84464,84468,84472,84476,84480,84484,84488,84492,84496,84500,84504,84508,84512,84516,84520,84524,84528,84532,84536,84540,84544,84548,84552,84556,84560,84564,84568,84572,84576,84580,84584,84588,84592,84596,84600,84604,84608,84612,84616,84620,84624,84628,84632,84636,84640,84644,84648,84652,84656,84660,84664,84668,84672,84676,84680,84684,84688,84692,84696,84700,84704,84708,84712,84716,84720,84724,84728,84732,84736,84740,84744,84748,84752,84756,84760,84764,84768,84772,84776,84780,84784,84788,84792,84796,84800,84804,84808,84812,84816,84820,84824,84828,84832,84836,84840,84844,84848,84852,84856,84860,84864,84868,84872,84876,84880,84884,84888,84892,84896,84900,84904,84908,84912,84916,84920,84924,84928,84932,84936,84940,84944,84948,84952,84956,84960,84964,84968,84972,84976,84980,84984,84988,84992,84996,85e3,85004,85008,85012,85016,85020,85024,85028,85032,85036,85040,85044,85048,85052,85056,85060,85064,85068,85072,85076,85080,85084,85088,85092,85096,85100,85104,85108,85112,85116,85120,85124,85128,85132,85136,85140,85144,85148,85152,85156,85160,85164,85168,85172,85176,85180,85184,85188,85192,85196,85200,85204,85208,85212,85216,85220,85224,85228,85232,85236,85240,85244,85248,85252,85256,85260,85264,85268,85272,85276,85280,85284,85288,85292,85296,85300,85304,85308,85312,85316,85320,85324,85328,85332,85336,85340,85344,85348,85352,85356,85360,85364,85368,85372,85376,85380,85384,85388,85392,85396,85400,85404,85408,85412,85416,85420,85424,85428,85432,85436,85440,85444,85448,85452,85456,85460,85464,85468,85472,85476,85480,85484,85488,85492,85496,85500,85504,85508,85512,85516,85520,85524,85528,85532,85536,85540,85544,85548,85552,85556,85560,85564,85568,85572,85576,85580,85584,85588,85592,85596,85600,85604,85608,85612,85616,85620,85624,85628,85632,85636,85640,85644,85648,85652,85656,85660,85664,85668,85672,85676,85680,85684,85688,85692,85696,85700,85704,85708,85712,85716,85720,85724,85728,85732,85736,85740,85744,85748,85752,85756,85760,85764,85768,85772,85776,85780,85784,85788,85792,85796,85800,85804,85808,85812,85816,85820,85824,85828,85832,85836,85840,85844,85848,85852,85856,85860,85864,85868,85872,85876,85880,85884,85888,85892,85896,85900,85904,85908,85912,85916,85920,85924,85928,85932,85936,85940,85944,85948,85952,85956,85960,85964,85968,85972,85976,85980,85984,85988,85992,85996,86e3,86004,86008,86012,86016,86020,86024,86028,86032,86036,86040,86044,86048,86052,86056,86060,86064,86068,86072,86076,86080,86084,86088,86092,86096,86100,86104,86108,86112,86116,86120,86124,86128,86132,86136,86140,86144,86148,86152,86156,86160,86164,86168,86172,86176,86180,86184,86188,86192,86196,86200,86204,86208,86212,86216,86220,86224,86228,86232,86236,86240,86244,86248,86252,86256,86260,86264,86268,86272,86276,86280,86284,86288,86292,86296,86300,86304,86308,86312,86316,86320,86324,86328,86332,86336,86340,86344,86348,86352,86356,86360,86364,86368,86372,86376,86380,86384,86388,86392,86396,86400,86404,86408,86412,86416,86420,86424,86428,86432,86436,86440,86444,86448,86452,86456,86460,86464,86468,86472,86476,86480,86484,86488,86492,86496,86500,86504,86508,86512,86516,86520,86524,86528,86532,86536,86540,86544,86548,86552,86556,86560,86564,86568,86572,86576,86580,86584,86588,86592,86596,86600,86604,86608,86612,86616,86620,86624,86628,86632,86636,86640,86644,86648,86652,86656,86660,86664,86668,86672,86676,86680,86684,86688,86692,86696,86700,86704,86708,86712,86716,86720,86724,86728,86732,86736,86740,86744,86748,86752,86756,86760,86764,86768,86772,86776,86780,86784,86788,86792,86796,86800,86804,86808,86812,86816,86820,86824,86828,86832,86836,86840,86844,86848,86852,86856,86860,86864,86868,86872,86876,86880,86884,86888,86892,86896,86900,86904,86908,86912,86916,86920,86924,86928,86932,86936,86940,86944,86948,86952,86956,86960,86964,86968,86972,86976,86980,86984,86988,86992,86996,87e3,87004,87008,87012,87016,87020,87024,87028,87032,87036,87040,87044,87048,87052,87056,87060,87064,87068,87072,87076,87080,87084,87088,87092,87096,87100,87104,87108,87112,87116,87120,87124,87128,87132,87136,87140,87144,87148,87152,87156,87160,87164,87168,87172,87176,87180,87184,87188,87192,87196,87200,87204,87208,87212,87216,87220,87224,87228,87232,87236,87240,87244,87248,87252,87256,87260,87264,87268,87272,87276,87280,87284,87288,87408,88036,88128,88196,88248,88272,88276,88280,88284,88288,88292,88296,88300,88304,88308,88312,88316,88320,88324,88328,88332,88336,88340,88344,88348,88352,88356,88360,88364,88368,88372,88376,88380,88384,88388,88392,88396,88400,88404,88408,88412,88416,88420,88424,88428,88432,88436,88440,88444,88448,88452,88456,88460,88464,88468,88472,88476,88480,88484,88488,88492,88496,88500,88504,88508,88512,88516,88520,88524,88528,88532,88536,88540,88544,88548,88552,88556,88560,88564,88568,88572,88576,88580,88584,88588,88592,88596,88600,88604,88608,88612,88616,88620,88624,88628,88632,88636,88640,88644,88648,88652,88656,88660,88664,88668,88672,88676,88680,88684,88688,88692,88696,88700,88704,88708,88712,88716,88720,88724,88728,88732,88736,88740,88744,88748,88752,88756,88760,88764,88768,88772,88776,88780,88784,88788,88792,88796,88800,88804,88808,88812,88816,88820,88824,88828,88832,88836,88840,88844,88848,88852,88856,88860,88864,88868,88872,88876,88880,88884,88888,88892,88896,88900,88904,88908,88912,88916,88920,88924,88928,88932,88936,88940,88944,88948,88952,88956,88960,88964,88968,88972,88976,88980,88984,88988,88992,88996,89e3,89004,89008,89012,89016,89020,89024,89028,89032,89036,89040,89044,89048,89052,89056,89060,89064,89068,89072,89076,89080,89084,89088,89092,89096,89100,89104,89108,89112,89116,89120,89124,89128,89132,89136,89140,89144,89148,89152,89156,89160,89164,89168,89172,89176,89180,89184,89188,89192,89196,89200,89204,89208,89212,89216,89220,89224,89228,89232,89236,89240,89244,89248,89252,89256,89260,89264,89268,89272,89276,89280,89284,89288,89292,89296,89300,89304,89308,89312,89316,89320,89324,89328,89332,89336,89340,89344,89348,89352,89356,89360,89364,89368,89372,89376,89380,89384,89388,89392,89396,89400,89404,89408,89412,89416,89420,89424,89428,89432,89436,89440,89444,89448,89452,89456,89460,89464,89468,89472,89476,89480,89484,89488,89492,89496,89500,89504,89508,89512,89516,89520,89524,89528,89532,89536,89540,89544,89548,89552,89556,89560,89564,89568,89572,89576,89580,89584,89588,89592,89596,89600,89604,89608,89612,89616,89620,89624,89628,89632,89636,89640,89644,89648,89652,89656,89660,89664,89668,89672,89676,89680,89684,89688,89692,89696,89700,89704,89708,89712,89716,89720,89724,89728,89732,89736,89740,89744,89748,89752,89756,89760,89764,89768,89772,89776,89780,89784,89788,89792,89796,89800,89804,89808,89812,89816,89820,89824,89828,89832,89836,89840,89844,89848,89852,89856,89860,89864,89868,89872,89876,89880,89884,89888,89892,89896,89900,89904,89908,89912,89916,89920,89924,89928,89932,89936,89940,89944,89948,89952,89956,89960,89964,89968,89972,89976,89980,89984,89988,89992,89996,9e4,90004,90008,90012,90016,90020,90024,90028,90032,90036,90040,90044,90048,90052,90056,90060,90064,90068,90072,90076,90080,90084,90088,90092,90096,90100,90104,90108,90112,90116,90120,90124,90128,90132,90136,90140,90144,90148,90152,90156,90160,90164,90168,90172,90176,90180,90184,90188,90192,90196,90200,90204,90208,90212,90216,90220,90224,90228,90232,90236,90240,90244,90248,90252,90256,90260,90264,90268,90272,90276,90280,90284,90288,90292,90296,90300,90304,90308,90312,90316,90320,90472,90508,90896,90920,90940,91084,91144,91196,91200,91204,91208,91212,91216,91220,91224,91228,91232,91236,91240,91244,91248,91252,91256,91260,91264,91268,91272,91276,91280,91284,91288,91292,91296,91300,91304,91308,91312,91316,91320,91324,91328,91332,91336,91340,91344,91348,91352,91356,91360,91364,91368,91372,91376,91380,91384,91388,91392,91396,91400,91404,91408,91412,91416,91420,91424,91428,91432,91436,91440,91444,91448,91452,91456,91460,91464,91468,91472,91476,91480,91484,91488,91492,91496,91500,91504,91508,91512,91516,91520,91524,91528,91532,91536,91540,91544,91548,91552,91556,91560,91564,91568,91572,91576,91580,91584,91588,91592,91596,91600,91604,91608,91612,91616,91620,91624,91628,91632,91636,91640,91644,91648,91652,91656,91660,91664,91668,91672,91676,91680,91684,91688,91692,91696,91700,91704,91708,91712,91716,91720,91724,91728,91732,91736,91740,91744,91748,91752,91756,91760,91764,91768,91772,91776,91780,91784,91788,91792,91796,91800,91804,91808,91812,91816,91820,91824,91828,91832,91836,91840,91844,91848,91852,91856,91860,91864,91868,91872,91876,91880,91884,91888,91892,91896,91900,91904,91908,91912,91916,91920,91924,91928,91932,91936,91940,91944,91948,91952,91956,91960,91964,91968,91972,91976,91980,91984,91988,91992,91996,92e3,92004,92008,92012,92016,92020,92024,92028,92032,92036,92040,92044,92048,92052,92056,92060,92064,92068,92072,92076,92080,92084,92088,92092,92096,92100,92104,92108,92112,92116,92120,92124,92128,92132,92136,92140,92144,92148,92152,92156,92160,92164,92168,92172,92176,92180,92184,92188,92192,92196,92200,92204,92208,92212,92216,92220,92248,92348,92452,92604,92780,92812,92888,92940,92948,93120,93164,93364,93388,93412,93576,93672,93832,93884,94284,94288,94292,94296,94300,94304,94308,94312,94316,94320,94324,94328,94332,94336,94340,94344,94348,94352,94568,94572,94576,94580,94648,94652,94656,94660,94664,94668,94672,94676,94680,94684,94688,94692,94696,94700,94704,94708,94712,94716,94772,94916,94920,94924,94928,94932,94936,94940,94944,94948,94952,94956,94960,94964,94968,94972,94976,94980,94984,94988,94992,94996,95e3,95004,95008,95012,95016,95020,95024,95028,95032,95036,95040,95044,95048,95052,95056,95060,95064,95068,95072,95076,95080,95084,95088,95092,95096,95100,95104,95108,95112,95460,95556,95616,95704,95784,95788,95792,95796,95800,95888,95928,95932,95936,95940,95944,96332,96360,96364,96368,96372,96376,96380,96384,96388,96392,96396,96400,96404,96408,96412,96416,96420,96424,96428,96432,96436,96440,96444,96448,96452,96456,96460,96464,96468,96472,96476,96480,96484,96488,96492,96496,96500,96504,96508,96512,96516,96520,96524,96528,96532,96536,96540,96544,96548,96552,96556,96560,96564,96568,96572,96576,96580,96668,96788,97016,97200,97428,97604,97844,98008,98248,98420,98460,98464,98468,98616,99168,99436,99572,99612,99884,99972,100104,100108,100112,100116,100120,100124,100128,100132,100136,100140,100144,100148,100152,100156,100160,100164,100168,100172,100176,100180,100184,100188,100192,100196,100200,100204,100208,100212,100216,100220,100224,100228,100232,100236,100240,100244,100248,100252,100256,100260,100264,100268,100272,100276,100280,100284,100288,100292,100776,100848,101016,101248,101292,101432,102208,102900,102904,102908,102912,102916,102920,102924,102928,102932,102936,102940,102944,102948,102952,102956,102960,102964,102968,102972,102976,102980,102984,102988,102992,102996,103e3,103004,103008,103012,103016,103020,103024,103028,103032,103036,103128,103132,103136,103140,103144,103148,103152,103156,103160,103164,103168,103172,103176,103180,103184,103188,103192,103196,103200,103204,103208,103212,103216,103220,103224,103228,103232,103236,103240,103244,103248,103252,103256,103260,103264,103268,103272,103276,103280,103284,103288,103292,103296,103300,103304,103308,103312,103316,103320,103324,103328,103332,103336,103340,103344,103348,103352,103356,103360,103364,103368,103372,103376,103380,103384,103388,103392,103396,103400,103404,103408,103412,103416,103420,103424,103428,103432,103436,103440,103444,103448,103452,103456,103460,103464,103468,103472,103476,103480,103484,103488,103492,103496,104288,104408,104532,104764,104792,104976,105004,105452,105672,105824,105932,106232,106328,106680,107120,107124,107128,107132,107136,107140,107144,107148,107152,107156,107160,107164,107168,107172,107176,107180,107184,107200,107352,107564,107700,107704,107708,107712,107716,107720,107724,107728,107732,107736,107740,107744,107748,107752,107756,108356,108592,109360,109576,109684,109688,109692,109696,109700,109704,109708,109712,109716,109720,109724,109728,109732,109736,109740,109744,109748,109752,109756,109760,109764,109768,109772,109776,109780,109784,109788,109792,109796,109800,109804,109808,109812,109948,111292,112468,112472,112476,112480,112484,112488,112492,112496,112500,112504,112508,112512,112516,112520,112524,112528,112532,112536,112540,112544,112548,112552,112556,112560,112564,112568,112572,112576,112580,112584,112588,112592,112596,112992,113820,113840,114944,115192,115388,115448,115512,116148,116740,116820,116824,116828,116832,116836,116840,116956,116960,116964,116968,116972,116976,116980,116984,116988,116992,117488,117728,117732,117736,117740,117744,117748,117752,118264,118524,119192,119236,119424,119428,119432,119436,119440,119444,119448,119452,119456,119460,119464,119468,119472,119476,119480,119484,119488,119492,119496,119500,119504,119508,119512,119516,119520,119524,119528,119532,119536,119540,119544,119548,119552,119556,119560,119564,119568,119572,119576,119580,119584,119588,119592,119596,119600,119604,119696,119816,120020,120080,120388,121788,121792,121796,121800,121804,121808,121812,121816,121820,121824,121828,121832,121836,121840,121844,121848,121852,121856,121860,121864,121868,121872,121876,121880,121884,121888,121892,121896,121900,121904,121908,121912,121916,121920,121924,121928,121932,121936,121940,121944,121948,121952,121956,121960,121964,121968,121972,121976,121980,121984,121988,121992,121996,122e3,122004,122008,122012,122016,122020,122024,122028,122032,122036,122040,122044,122048,122052,122056,122060,122064,122068,122072,122076,122080,122084,122088,122092,122096,122100,122104,122108,122112,122116,122120,122124,122128,122132,122136,122140,122144,122148,122152,122156,122888,123580,124196,124508,125348,126316,51460,55468,55576,55972,56052,56124,56160,56296,56460,56596,56624,56756,56780,56804,56852,57184,57304,59680,60056,60364,61272,61796,62140,62332,63460,63520,65908,66276,66612,66912,67164,67520,67724,68092,68484,68996,74700,74788,75112,75548,75616,75668,75700,75732,76248,76280,76312,76504,76652,76932,77132,77164,77344,77420,77556,77640,77672,77728,79732,79764,79796,79988,80048,87644,87676,87708,87832,87924,88088,88184,90656,90688,90720,90844,91004,91036,91068,91132,92436,92688,92996,93024,93056,93108,93192,94840,94864,95368,96212,97108,97512,97916,98328,98752,99076,99792,101156,101964,102008,102048,102072,103912,103980,104132,104180,105160,105388,105608,105648,105696,105772,105868,106072,106388,106464,106520,106836,106888,106924,110696,110736,110776,110800,111316,111436,111496,111644,111760,112336,112804,112908,114384,114772,116696,116788,116872,116924,117024,117056,117104,117196,117248,117284,117324,117432,117872,118020,118508,118632,118956,119344,119360,120868,122452,122532,122956,122972,123080,123460,123992,125036,125280,125304,125540,126052,126324,126496,126796,126824]);for(var i=0;i<relocations.length;i++){HEAPU32[eb+relocations[i]>>2]=HEAPU32[eb+relocations[i]>>2]+eb}}));function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_uncaught_exception(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(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:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(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:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),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.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=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<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};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(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){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)}}),flush:(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)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}})}};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(ERRNO_CODES.EPERM)}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}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|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);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);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[ERRNO_CODES.ENOENT]}),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(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),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(ERRNO_CODES.EINVAL)}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);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),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){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(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:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(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:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,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:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.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});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});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})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(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:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(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:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}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:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(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(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(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;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}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 err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}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)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(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(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(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(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(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:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}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(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);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;err("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}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:(function(stream){return stream.fd===null}),llseek:(function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(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(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";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:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";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:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return 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 random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto")["randomBytes"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){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","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(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}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(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:(function(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:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(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<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){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:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=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(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(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=(function(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);if(typeof Uint8Array!="undefined")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||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(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;console.log("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((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.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)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return 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-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268<=count){var id;var type;var name=stream.getdents.pop();if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP32[dirp+pos>>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;stringToUTF8(name,dirp+pos+11,256);pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,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 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result==="function"){return addFunction(result)}return result}}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}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";function 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}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;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=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=(function(){Module["dynCall_vi"](func,arg)})}else{browserIterationFunc=(function(){Module["dynCall_v"](func)})}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){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}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)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()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)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"SimulateInfiniteLoop"}}var Browser={mainLoop:{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;_emscripten_set_main_loop(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<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){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);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["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;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("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<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=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;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["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"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});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",(function(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};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}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((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;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=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);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"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),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 requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),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;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];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}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(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<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:(function(code){EGL.errorCode=code}),chooseConfig:(function(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}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}else{EGL.setErrorCode(12300);return 0}}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:(function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4}),onMousemove:(function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_vii"](GLUT.passiveMotionFunc,lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_vii"](GLUT.motionFunc,lastX,lastY)}}),getSpecialKey:(function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key}),getASCIIKey:(function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null}),onKeydown:(function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.specialFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.keyboardFunc,key,Browser.mouseX,Browser.mouseY)}}}}),onKeyup:(function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.specialUpFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.keyboardUpFunc,key,Browser.mouseX,Browser.mouseY)}}}}),touchHandler:(function(event){if(event.target!=Module["canvas"]){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()}),onMouseButtonDown:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<<event["button"];if(event.target==Module["canvas"]&&GLUT.mouseFunc){try{event.target.setCapture()}catch(e){}event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,event["button"],0,Browser.mouseX,Browser.mouseY)}}),onMouseButtonUp:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<<event["button"]);if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,event["button"],1,Browser.mouseX,Browser.mouseY)}}),onMouseWheel:(function(event){Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,button,0,Browser.mouseX,Browser.mouseY)}}),onFullscreenEventChange:(function(event){var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){Module["dynCall_vii"](GLUT.reshapeFunc,width,height)}_glutPostRedisplay()}),requestFullscreen:(function(){Browser.requestFullscreen(false,false)}),requestFullScreen:(function(){err("GLUT.requestFullScreen() is deprecated. Please call GLUT.requestFullscreen instead.");GLUT.requestFullScreen=(function(){return GLUT.requestFullscreen()});return GLUT.requestFullscreen()}),exitFullscreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])}),cancelFullScreen:(function(){err("GLUT.cancelFullScreen() is deprecated. Please call GLUT.exitFullscreen instead.");GLUT.cancelFullScreen=(function(){return GLUT.exitFullscreen()});return GLUT.exitFullscreen()})};function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:(function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}for(var i=0;i<32;i++){GL.tempFixedLengthArray.push(new Array(i))}}),recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:(function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret}),MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:(function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var frag;if(length){var len=HEAP32[length+i*4>>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes["majorVersion"]==="undefined"&&typeof webGLContextAttributes["minorVersion"]==="undefined"){webGLContextAttributes["majorVersion"]=1;webGLContextAttributes["minorVersion"]=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes["majorVersion"]==1&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else if(webGLContextAttributes["majorVersion"]==2&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){out("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;var context=GL.registerContext(ctx,webGLContextAttributes);return context}),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){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),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;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=(function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)});GLctx["drawArraysInstanced"]=(function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)});GLctx["drawElementsInstanced"]=(function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)})}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=(function(){return vaoExt["createVertexArrayOES"]()});GLctx["deleteVertexArray"]=(function(vao){vaoExt["deleteVertexArrayOES"](vao)});GLctx["bindVertexArray"]=(function(vao){vaoExt["bindVertexArrayOES"](vao)});GLctx["isVertexArray"]=(function(vao){return vaoExt["isVertexArrayOES"](vao)})}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=(function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)})}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach((function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");name=name.slice(0,ls)}var loc=GLctx.getUniformLocation(p,name);if(loc!=null){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}})};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){EGL.setErrorCode(12293);return 0}_glutInitDisplayMode(178);EGL.windowID=_glutCreateWindow();if(EGL.windowID!=0){EGL.setErrorCode(12288);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}EGL.setErrorCode(12288);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]=32;return 1;case 12321:HEAP32[value>>2]=8;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]=24;return 1;case 12326:HEAP32[value>>2]=8;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]=4;return 1;case 12338:HEAP32[value>>2]=1;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: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 _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}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}EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(){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}function _eglWaitGL(){return _eglWaitClient.apply(null,arguments)}function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:(function(){if(typeof window!=="undefined"){window.addEventListener("gamepadconnected",(function(){++JSEvents.numGamepadsConnected}));window.addEventListener("gamepaddisconnected",(function(){--JSEvents.numGamepadsConnected}));var firstState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null;if(firstState){JSEvents.numGamepadsConnected=firstState.length}}}),registerRemoveEventListeners:(function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push((function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}}));JSEvents.removeEventListenersRegistered=true}}),findEventTarget:(function(target){if(target){if(typeof target=="number"){target=Pointer_stringify(target)}if(target=="#window")return window;else if(target=="#document")return document;else if(target=="#screen")return window.screen;else if(target=="#canvas")return Module["canvas"];if(typeof target=="string")return document.getElementById(target);else return target}else{return window}}),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.precedence<y.precedence}))}),removeDeferredCalls:(function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}}),canPerformEventHandlerRequests:(function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls}),runDeferredCalls:(function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(this,call.argsList)}}),inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:(function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0}),removeAllHandlersOnTarget:(function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}}),_removeHandler:(function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)}),registerOrRemoveHandler:(function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}}),registerKeyEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.keyEvent){JSEvents.keyEvent=_malloc(164)}var handlerFunc=(function(event){var e=event||window.event;stringToUTF8(e.key?e.key:"",JSEvents.keyEvent+0,32);stringToUTF8(e.code?e.code:"",JSEvents.keyEvent+32,32);HEAP32[JSEvents.keyEvent+64>>2]=e.location;HEAP32[JSEvents.keyEvent+68>>2]=e.ctrlKey;HEAP32[JSEvents.keyEvent+72>>2]=e.shiftKey;HEAP32[JSEvents.keyEvent+76>>2]=e.altKey;HEAP32[JSEvents.keyEvent+80>>2]=e.metaKey;HEAP32[JSEvents.keyEvent+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",JSEvents.keyEvent+88,32);stringToUTF8(e.char?e.char:"",JSEvents.keyEvent+120,32);HEAP32[JSEvents.keyEvent+152>>2]=e.charCode;HEAP32[JSEvents.keyEvent+156>>2]=e.keyCode;HEAP32[JSEvents.keyEvent+160>>2]=e.which;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.keyEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getBoundingClientRectOrZeros:(function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}}),fillMouseEventData:(function(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}),registerMouseEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.mouseEvent){JSEvents.mouseEvent=_malloc(72)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.mouseEvent,e,target);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.mouseEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}),registerWheelEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.wheelEvent){JSEvents.wheelEvent=_malloc(104)}target=JSEvents.findEventTarget(target);var wheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["deltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=e["deltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=e["deltaZ"];HEAP32[JSEvents.wheelEvent+96>>2]=e["deltaMode"];var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}});var mouseWheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["wheelDeltaX"]||0;HEAPF64[JSEvents.wheelEvent+80>>3]=-(e["wheelDeltaY"]?e["wheelDeltaY"]:e["wheelDelta"]);HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:eventTypeString=="wheel"?wheelHandlerFunc:mouseWheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),pageScrollPos:(function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]}),registerUiEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.uiEvent){JSEvents.uiEvent=_malloc(36)}if(eventTypeString=="scroll"&&!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;if(e.target!=target){return}var scrollPos=JSEvents.pageScrollPos();HEAP32[JSEvents.uiEvent>>2]=e.detail;HEAP32[JSEvents.uiEvent+4>>2]=document.body.clientWidth;HEAP32[JSEvents.uiEvent+8>>2]=document.body.clientHeight;HEAP32[JSEvents.uiEvent+12>>2]=window.innerWidth;HEAP32[JSEvents.uiEvent+16>>2]=window.innerHeight;HEAP32[JSEvents.uiEvent+20>>2]=window.outerWidth;HEAP32[JSEvents.uiEvent+24>>2]=window.outerHeight;HEAP32[JSEvents.uiEvent+28>>2]=scrollPos[0];HEAP32[JSEvents.uiEvent+32>>2]=scrollPos[1];var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.uiEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getNodeNameForTarget:(function(target){if(!target)return"";if(target==window)return"#window";if(target==window.screen)return"#screen";return target&&target.nodeName?target.nodeName:""}),registerFocusEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.focusEvent){JSEvents.focusEvent=_malloc(256)}var handlerFunc=(function(event){var e=event||window.event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";stringToUTF8(nodeName,JSEvents.focusEvent+0,128);stringToUTF8(id,JSEvents.focusEvent+128,128);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.focusEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),tick:(function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()}),registerDeviceOrientationEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceOrientationEvent){JSEvents.deviceOrientationEvent=_malloc(40)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceOrientationEvent+8>>3]=e.alpha;HEAPF64[JSEvents.deviceOrientationEvent+16>>3]=e.beta;HEAPF64[JSEvents.deviceOrientationEvent+24>>3]=e.gamma;HEAP32[JSEvents.deviceOrientationEvent+32>>2]=e.absolute;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.deviceOrientationEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerDeviceMotionEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceMotionEvent){JSEvents.deviceMotionEvent=_malloc(80)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceMotionEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceMotionEvent+8>>3]=e.acceleration.x;HEAPF64[JSEvents.deviceMotionEvent+16>>3]=e.acceleration.y;HEAPF64[JSEvents.deviceMotionEvent+24>>3]=e.acceleration.z;HEAPF64[JSEvents.deviceMotionEvent+32>>3]=e.accelerationIncludingGravity.x;HEAPF64[JSEvents.deviceMotionEvent+40>>3]=e.accelerationIncludingGravity.y;HEAPF64[JSEvents.deviceMotionEvent+48>>3]=e.accelerationIncludingGravity.z;HEAPF64[JSEvents.deviceMotionEvent+56>>3]=e.rotationRate.alpha;HEAPF64[JSEvents.deviceMotionEvent+64>>3]=e.rotationRate.beta;HEAPF64[JSEvents.deviceMotionEvent+72>>3]=e.rotationRate.gamma;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.deviceMotionEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),screenOrientation:(function(){if(!window.screen)return undefined;return window.screen.orientation||window.screen.mozOrientation||window.screen.webkitOrientation||window.screen.msOrientation}),fillOrientationChangeEventData:(function(eventStruct,e){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=JSEvents.screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<<orientation;HEAP32[eventStruct+4>>2]=window.orientation}),registerOrientationChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.orientationChangeEvent){JSEvents.orientationChangeEvent=_malloc(8)}if(!target){target=window.screen}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.orientationChangeEvent,userData);if(shouldCancel){e.preventDefault()}});if(eventTypeString=="orientationchange"&&window.screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fullscreenEnabled:(function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}),fillFullscreenChangeEventData:(function(eventStruct,e){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}}),registerFullscreenChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.fullscreenChangeEvent){JSEvents.fullscreenChangeEvent=_malloc(280)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.fullscreenChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),resizeCanvasForFullscreen:(function(target,strategy){var restoreOldStyle=__registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?window.innerWidth:screen.width;var cssHeight=strategy.softFullscreen?window.innerHeight:screen.height;var rect=target.getBoundingClientRect();var windowedCssWidth=rect.right-rect.left;var windowedCssHeight=rect.bottom-rect.top;var windowedRttWidth=target.width;var windowedRttHeight=target.height;if(strategy.scaleMode==3){__setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight<windowedRttWidth*cssHeight){var desiredCssHeight=windowedRttHeight*cssWidth/windowedRttWidth;__setLetterbox(target,(cssHeight-desiredCssHeight)/2,0);cssHeight=desiredCssHeight}else{var desiredCssWidth=windowedRttWidth*cssHeight/windowedRttHeight;__setLetterbox(target,0,(cssWidth-desiredCssWidth)/2);cssWidth=desiredCssWidth}}if(!target.style.backgroundColor)target.style.backgroundColor="black";if(!document.body.style.backgroundColor)document.body.style.backgroundColor="black";target.style.width=cssWidth+"px";target.style.height=cssHeight+"px";if(strategy.filteringMode==1){target.style.imageRendering="optimizeSpeed";target.style.imageRendering="-moz-crisp-edges";target.style.imageRendering="-o-crisp-edges";target.style.imageRendering="-webkit-optimize-contrast";target.style.imageRendering="optimize-contrast";target.style.imageRendering="crisp-edges";target.style.imageRendering="pixelated"}var dpiScale=strategy.canvasResolutionScaleMode==2?window.devicePixelRatio:1;if(strategy.canvasResolutionScaleMode!=0){target.width=cssWidth*dpiScale;target.height=cssHeight*dpiScale;if(target.GLctxObject)target.GLctxObject.GLctx.viewport(0,0,target.width,target.height)}return restoreOldStyle}),requestFullscreen:(function(target,strategy){if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents.resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.msRequestFullscreen){target.msRequestFullscreen()}else if(target.mozRequestFullScreen){target.mozRequestFullScreen()}else if(target.mozRequestFullscreen){target.mozRequestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{if(typeof JSEvents.fullscreenEnabled()==="undefined"){return-1}else{return-3}}if(strategy.canvasResizedCallback){Module["dynCall_iiii"](strategy.canvasResizedCallback,37,0,strategy.canvasResizedCallbackUserData)}return 0}),fillPointerlockChangeEventData:(function(eventStruct,e){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)}),registerPointerlockChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.pointerlockChangeEvent){JSEvents.pointerlockChangeEvent=_malloc(260)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.pointerlockChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerPointerlockErrorEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),requestPointerLock:(function(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}),fillVisibilityChangeEventData:(function(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}),registerVisibilityChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.visibilityChangeEvent){JSEvents.visibilityChangeEvent=_malloc(8)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.visibilityChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerTouchEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.touchEvent){JSEvents.touchEvent=_malloc(1684)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;var touches={};for(var i=0;i<e.touches.length;++i){var touch=e.touches[i];touches[touch.identifier]=touch}for(var i=0;i<e.changedTouches.length;++i){var touch=e.changedTouches[i];touches[touch.identifier]=touch;touch.changed=true}for(var i=0;i<e.targetTouches.length;++i){var touch=e.targetTouches[i];touches[touch.identifier].onTarget=true}var ptr=JSEvents.touchEvent;HEAP32[ptr+4>>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[JSEvents.touchEvent>>2]=numTouches;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.touchEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fillGamepadEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i<e.axes.length;++i){HEAPF64[eventStruct+i*8+16>>3]=e.axes[i]}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAP32[eventStruct+i*4+1040>>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)}),registerGamepadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.gamepadEvent){JSEvents.gamepadEvent=_malloc(1432)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillGamepadEventData(JSEvents.gamepadEvent,e.gamepad);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.gamepadEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerBeforeUnloadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var handlerFunc=(function(event){var e=event||window.event;var confirmationMessage=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=Pointer_stringify(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),battery:(function(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}),fillBatteryEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}),registerBatteryEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.batteryEvent){JSEvents.batteryEvent=_malloc(32)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillBatteryEventData(JSEvents.batteryEvent,JSEvents.battery());var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.batteryEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerWebGlEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=Module["canvas"]}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)})};var __currentFullscreenStrategy={};function _emscripten_exit_fullscreen(){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;JSEvents.removeDeferredCalls(JSEvents.requestFullscreen);if(document.exitFullscreen){document.exitFullscreen()}else if(document.msExitFullscreen){document.msExitFullscreen()}else if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else if(document.webkitExitFullscreen){document.webkitExitFullscreen()}else{return-1}if(__currentFullscreenStrategy.canvasResizedCallback){Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(JSEvents.requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}function _emscripten_force_exit(status){Module["noExitRuntime"]=false;exit(status)}function _emscripten_get_device_pixel_ratio(){return window.devicePixelRatio||1}function _emscripten_get_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __emscripten_sample_gamepad_data(){if(!JSEvents.numGamepadsConnected)return;if(Browser.mainLoop.currentFrameNumber!==JSEvents.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;JSEvents.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber}}function _emscripten_get_gamepad_status(index,gamepadState){__emscripten_sample_gamepad_data();if(!JSEvents.lastGamepadState)return-1;if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;JSEvents.fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){if(!JSEvents.numGamepadsConnected)return 0;__emscripten_sample_gamepad_data();if(!JSEvents.lastGamepadState)return-1;return JSEvents.lastGamepadState.length}function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBeginConditionalRender(){err("missing function: emscripten_glBeginConditionalRender");abort(-1)}function _emscripten_glBeginTransformFeedback(){err("missing function: emscripten_glBeginTransformFeedback");abort(-1)}function _emscripten_glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}function _emscripten_glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _emscripten_glBindBufferBase(){err("missing function: emscripten_glBindBufferBase");abort(-1)}function _emscripten_glBindBufferRange(){err("missing function: emscripten_glBindBufferRange");abort(-1)}function _emscripten_glBindFragDataLocation(){err("missing function: emscripten_glBindFragDataLocation");abort(-1)}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _emscripten_glBindProgramARB(){err("missing function: emscripten_glBindProgramARB");abort(-1)}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glBlitFramebuffer(){err("missing function: emscripten_glBlitFramebuffer");abort(-1)}function _emscripten_glBufferData(target,size,data,usage){if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _emscripten_glClampColor(){err("missing function: emscripten_glClampColor");abort(-1)}function _emscripten_glClear(x0){GLctx["clear"](x0)}function _emscripten_glClearBufferfi(){err("missing function: emscripten_glClearBufferfi");abort(-1)}function _emscripten_glClearBufferfv(){err("missing function: emscripten_glClearBufferfv");abort(-1)}function _emscripten_glClearBufferiv(){err("missing function: emscripten_glClearBufferiv");abort(-1)}function _emscripten_glClearBufferuiv(){err("missing function: emscripten_glClearBufferuiv");abort(-1)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _emscripten_glClearDepth(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}function _emscripten_glClientActiveTexture(){err("missing function: emscripten_glClientActiveTexture");abort(-1)}function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _emscripten_glColorMaski(){err("missing function: emscripten_glColorMaski");abort(-1)}function _emscripten_glColorPointer(){err("missing function: emscripten_glColorPointer");abort(-1)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteObjectARB(){err("missing function: emscripten_glDeleteObjectARB");abort(-1)}function _emscripten_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;GL.programInfos[id]=null}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDisablei(){err("missing function: emscripten_glDisablei");abort(-1)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawBuffers(n,bufs){var bufArray=GL.tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawRangeElements(){err("missing function: emscripten_glDrawRangeElements");abort(-1)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableClientState(){err("missing function: emscripten_glEnableClientState");abort(-1)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEnablei(){err("missing function: emscripten_glEnablei");abort(-1)}function _emscripten_glEndConditionalRender(){err("missing function: emscripten_glEndConditionalRender");abort(-1)}function _emscripten_glEndTransformFeedback(){err("missing function: emscripten_glEndTransformFeedback");abort(-1)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function _emscripten_glFrustum(){err("missing function: emscripten_glFrustum");abort(-1)}function _emscripten_glGenBuffers(n,buffers){for(var i=0;i<n;i++){var buffer=GLctx.createBuffer();if(!buffer){GL.recordError(1282);while(i<n)HEAP32[buffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.buffers);buffer.name=id;GL.buffers[id]=buffer;HEAP32[buffers+i*4>>2]=id}}function _emscripten_glGenFramebuffers(n,ids){for(var i=0;i<n;++i){var framebuffer=GLctx.createFramebuffer();if(!framebuffer){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.framebuffers);framebuffer.name=id;GL.framebuffers[id]=framebuffer;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var renderbuffer=GLctx.createRenderbuffer();if(!renderbuffer){GL.recordError(1282);while(i<n)HEAP32[renderbuffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.renderbuffers);renderbuffer.name=id;GL.renderbuffers[id]=renderbuffer;HEAP32[renderbuffers+i*4>>2]=id}}function _emscripten_glGenTextures(n,textures){for(var i=0;i<n;i++){var texture=GLctx.createTexture();if(!texture){GL.recordError(1282);while(i<n)HEAP32[textures+i++*4>>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _emscripten_glGenVertexArrays(n,arrays){for(var i=0;i<n;i++){var vao=GLctx["createVertexArray"]();if(!vao){GL.recordError(1282);while(i<n)HEAP32[arrays+i++*4>>2]=0;return}var id=GL.getNewId(GL.vaos);vao.name=id;GL.vaos[id]=vao;HEAP32[arrays+i*4>>2]=id}}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;if(bufSize>0&&name){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}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;if(bufSize>0&&name){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}function _emscripten_glGetActiveUniformBlockName(){err("missing function: emscripten_glGetActiveUniformBlockName");abort(-1)}function _emscripten_glGetActiveUniformBlockiv(){err("missing function: emscripten_glGetActiveUniformBlockiv");abort(-1)}function _emscripten_glGetActiveUniformName(){err("missing function: emscripten_glGetActiveUniformName");abort(-1)}function _emscripten_glGetActiveUniformsiv(){err("missing function: emscripten_glGetActiveUniformsiv");abort(-1)}function _emscripten_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<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}function _emscripten_glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _emscripten_glGetBooleani_v(){err("missing function: emscripten_glGetBooleani_v");abort(-1)}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!=="Integer"&&type!=="Integer64"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;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 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<result.length;++i){switch(type){case"Integer":HEAP32[p+i*4>>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer64":tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}function _emscripten_glGetFragDataLocation(){err("missing function: emscripten_glGetFragDataLocation");abort(-1)}function _emscripten_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}function _emscripten_glGetInfoLogARB(){err("missing function: emscripten_glGetInfoLogARB");abort(-1)}function _emscripten_glGetIntegeri_v(){err("missing function: emscripten_glGetIntegeri_v");abort(-1)}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _emscripten_glGetObjectParameterivARB(){err("missing function: emscripten_glGetObjectParameterivARB");abort(-1)}function _emscripten_glGetPointerv(){err("missing function: emscripten_glGetPointerv");abort(-1)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,GLctx.ACTIVE_ATTRIBUTES);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,GLctx.ACTIVE_UNIFORM_BLOCKS);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_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}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;if(bufSize>0&&source){var numBytesWrittenExclNull=stringToUTF8(result,source,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_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)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 37445:case 37446:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=allocate(intArrayFromString(glVersion),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);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=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetStringi(){err("missing function: emscripten_glGetStringi");abort(-1)}function _emscripten_glGetTexParameterIiv(){err("missing function: emscripten_glGetTexParameterIiv");abort(-1)}function _emscripten_glGetTexParameterIuiv(){err("missing function: emscripten_glGetTexParameterIuiv");abort(-1)}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTransformFeedbackVarying(){err("missing function: emscripten_glGetTransformFeedbackVarying");abort(-1)}function _emscripten_glGetUniformBlockIndex(){err("missing function: emscripten_glGetUniformBlockIndex");abort(-1)}function _emscripten_glGetUniformIndices(){err("missing function: emscripten_glGetUniformIndices");abort(-1)}function _emscripten_glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset<uniformInfo[0]){return uniformInfo[1]+arrayOffset}else{return-1}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Float")}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}function _emscripten_glGetUniformuiv(){err("missing function: emscripten_glGetUniformuiv");abort(-1)}function _emscripten_glGetVertexAttribIiv(){err("missing function: emscripten_glGetVertexAttribIiv");abort(-1)}function _emscripten_glGetVertexAttribIuiv(){err("missing function: emscripten_glGetVertexAttribIuiv");abort(-1)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}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["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;case"FloatToInteger":HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;case"FloatToInteger":HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsEnabledi(){err("missing function: emscripten_glIsEnabledi");abort(-1)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(texture){var texture=GL.textures[texture];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.programInfos[program]=null;GL.populateUniformTable(program)}function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glLoadMatrixf(){err("missing function: emscripten_glLoadMatrixf");abort(-1)}function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glNormalPointer(){err("missing function: emscripten_glNormalPointer");abort(-1)}function _emscripten_glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function emscriptenWebGLComputeImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel;var numChannels;switch(format){case 6406:case 6409:case 6402:numChannels=1;break;case 6410:numChannels=2;break;case 6407:case 35904:numChannels=3;break;case 6408:case 35906:numChannels=4;break;default:GL.recordError(1280);return null}switch(type){case 5121:sizePerPixel=numChannels*1;break;case 5123:case 36193:sizePerPixel=numChannels*2;break;case 5125:case 5126:sizePerPixel=numChannels*4;break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;default:GL.recordError(1280);return null}var bytes=emscriptenWebGLComputeImageSize(width,height,sizePerPixel,GL.unpackAlignment);switch(type){case 5121:return HEAPU8.subarray(pixels,pixels+bytes);case 5126:return HEAPF32.subarray(pixels>>2,pixels+bytes>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,pixels+bytes>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,pixels+bytes>>1);default:GL.recordError(1280);return null}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glRenderbufferStorageMultisample(){err("missing function: emscripten_glRenderbufferStorageMultisample");abort(-1)}function _emscripten_glRotatef(){err("missing function: emscripten_glRotatef");abort(-1)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexCoordPointer(){err("missing function: emscripten_glTexCoordPointer");abort(-1)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _emscripten_glTexImage3D(){err("missing function: emscripten_glTexImage3D");abort(-1)}function _emscripten_glTexParameterIiv(){err("missing function: emscripten_glTexParameterIiv");abort(-1)}function _emscripten_glTexParameterIuiv(){err("missing function: emscripten_glTexParameterIuiv");abort(-1)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexStorage2D(){err("missing function: emscripten_glTexStorage2D");abort(-1)}function _emscripten_glTexStorage3D(){err("missing function: emscripten_glTexStorage3D");abort(-1)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glTexSubImage3D(){err("missing function: emscripten_glTexSubImage3D");abort(-1)}function _emscripten_glTransformFeedbackVaryings(){err("missing function: emscripten_glTransformFeedbackVaryings");abort(-1)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){var view;if(count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform1ui(){err("missing function: emscripten_glUniform1ui");abort(-1)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){var view;if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform2ui(){err("missing function: emscripten_glUniform2ui");abort(-1)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){var view;if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform3ui(){err("missing function: emscripten_glUniform3ui");abort(-1)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniform4ui(){err("missing function: emscripten_glUniform4ui");abort(-1)}function _emscripten_glUniformBlockBinding(){err("missing function: emscripten_glUniformBlockBinding");abort(-1)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){var view;if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){var view;if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribI1i(){err("missing function: emscripten_glVertexAttribI1i");abort(-1)}function _emscripten_glVertexAttribI1iv(){err("missing function: emscripten_glVertexAttribI1iv");abort(-1)}function _emscripten_glVertexAttribI1ui(){err("missing function: emscripten_glVertexAttribI1ui");abort(-1)}function _emscripten_glVertexAttribI1uiv(){err("missing function: emscripten_glVertexAttribI1uiv");abort(-1)}function _emscripten_glVertexAttribI2i(){err("missing function: emscripten_glVertexAttribI2i");abort(-1)}function _emscripten_glVertexAttribI2iv(){err("missing function: emscripten_glVertexAttribI2iv");abort(-1)}function _emscripten_glVertexAttribI2ui(){err("missing function: emscripten_glVertexAttribI2ui");abort(-1)}function _emscripten_glVertexAttribI2uiv(){err("missing function: emscripten_glVertexAttribI2uiv");abort(-1)}function _emscripten_glVertexAttribI3i(){err("missing function: emscripten_glVertexAttribI3i");abort(-1)}function _emscripten_glVertexAttribI3iv(){err("missing function: emscripten_glVertexAttribI3iv");abort(-1)}function _emscripten_glVertexAttribI3ui(){err("missing function: emscripten_glVertexAttribI3ui");abort(-1)}function _emscripten_glVertexAttribI3uiv(){err("missing function: emscripten_glVertexAttribI3uiv");abort(-1)}function _emscripten_glVertexAttribI4bv(){err("missing function: emscripten_glVertexAttribI4bv");abort(-1)}function _emscripten_glVertexAttribI4i(){err("missing function: emscripten_glVertexAttribI4i");abort(-1)}function _emscripten_glVertexAttribI4iv(){err("missing function: emscripten_glVertexAttribI4iv");abort(-1)}function _emscripten_glVertexAttribI4sv(){err("missing function: emscripten_glVertexAttribI4sv");abort(-1)}function _emscripten_glVertexAttribI4ubv(){err("missing function: emscripten_glVertexAttribI4ubv");abort(-1)}function _emscripten_glVertexAttribI4ui(){err("missing function: emscripten_glVertexAttribI4ui");abort(-1)}function _emscripten_glVertexAttribI4uiv(){err("missing function: emscripten_glVertexAttribI4uiv");abort(-1)}function _emscripten_glVertexAttribI4usv(){err("missing function: emscripten_glVertexAttribI4usv");abort(-1)}function _emscripten_glVertexAttribIPointer(){err("missing function: emscripten_glVertexAttribIPointer");abort(-1)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function __setLetterbox(element,topBottom,leftRight){if(JSEvents.isInternetExplorer()){element.style.marginLeft=element.style.marginRight=leftRight+"px";element.style.marginTop=element.style.marginBottom=topBottom+"px"}else{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}}function _emscripten_do_request_fullscreen(target,strategy){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!JSEvents.fullscreenEnabled())return-3;if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.msRequestFullscreen&&!target.mozRequestFullScreen&&!target.mozRequestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return JSEvents.requestFullscreen(target,strategy)}function __registerRestoreOldStyle(canvas){var oldWidth=canvas.width;var oldHeight=canvas.height;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.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("mozfullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);document.removeEventListener("MSFullscreenChange",restoreOldStyle);canvas.width=oldWidth;canvas.height=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){Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("mozfullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);document.addEventListener("MSFullscreenChange",restoreOldStyle);return restoreOldStyle}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];__currentFullscreenStrategy=strategy;return _emscripten_do_request_fullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestPointerLock,2,[target]);return 1}else{return-2}}return JSEvents.requestPointerLock(target)}function _emscripten_set_blur_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur");return 0}function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}function _emscripten_set_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;target.style.setProperty("width",width+"px");target.style.setProperty("height",height+"px");return 0}function _emscripten_set_focus_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus");return 0}function _emscripten_set_fullscreenchange_callback(target,userData,useCapture,callbackfunc){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!target)target=document;else{target=JSEvents.findEventTarget(target);if(!target)return-4}JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange");return 0}function _emscripten_set_gamepadconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,26,"gamepadconnected");return 0}function _emscripten_set_gamepaddisconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,27,"gamepaddisconnected");return 0}function _emscripten_set_keydown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown");return 0}function _emscripten_set_keypress_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress");return 0}function _emscripten_set_keyup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup");return 0}function _emscripten_set_mousedown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown");return 0}function _emscripten_set_mouseenter_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter");return 0}function _emscripten_set_mouseleave_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave");return 0}function _emscripten_set_mousemove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove");return 0}function _emscripten_set_mouseup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup");return 0}function _emscripten_set_pointerlockchange_callback(target,userData,useCapture,callbackfunc){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}if(!target)target=document;else{target=JSEvents.findEventTarget(target);if(!target)return-4}JSEvents.registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange");JSEvents.registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange");JSEvents.registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange");JSEvents.registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange");return 0}function _emscripten_set_resize_callback(target,userData,useCapture,callbackfunc){JSEvents.registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize");return 0}function _emscripten_set_touchcancel_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel");return 0}function _emscripten_set_touchend_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend");return 0}function _emscripten_set_touchmove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove");return 0}function _emscripten_set_touchstart_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart");return 0}function _emscripten_set_visibilitychange_callback(userData,useCapture,callbackfunc){JSEvents.registerVisibilityChangeEventCallback(document,userData,useCapture,callbackfunc,21,"visibilitychange");return 0}function _emscripten_set_wheel_callback(target,userData,useCapture,callbackfunc){target=JSEvents.findEventTarget(target);if(typeof target.onwheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel");return 0}else if(typeof target.onmousewheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"mousewheel");return 0}else{return-1}}var EmterpreterAsync={initted:false,state:0,saveStack:"",yieldCallbacks:[],postAsync:null,restartFunc:null,asyncFinalizers:[],ensureInit:(function(){if(this.initted)return;this.initted=true}),setState:(function(s){this.ensureInit();this.state=s;Module["setAsyncState"](s)}),handle:(function(doAsyncOp,yieldDuring){Module["noExitRuntime"]=true;if(EmterpreterAsync.state===0){var stack=new Int32Array(HEAP32.subarray(EMTSTACKTOP>>2,Module["emtStackSave"]()>>2));var resumedCallbacksForYield=false;function resumeCallbacksForYield(){if(resumedCallbacksForYield)return;resumedCallbacksForYield=true;EmterpreterAsync.yieldCallbacks.forEach((function(func){func()}));Browser.resumeAsyncCallbacks()}var callingDoAsyncOp=1;doAsyncOp(function resume(post){if(ABORT){return}if(callingDoAsyncOp){assert(callingDoAsyncOp===1);callingDoAsyncOp++;setTimeout((function(){resume(post)}),0);return}assert(EmterpreterAsync.state===1||EmterpreterAsync.state===3);EmterpreterAsync.setState(3);if(yieldDuring){resumeCallbacksForYield()}HEAP32.set(stack,EMTSTACKTOP>>2);EmterpreterAsync.setState(2);if(Browser.mainLoop.func){Browser.mainLoop.resume()}assert(!EmterpreterAsync.postAsync);EmterpreterAsync.postAsync=post||null;var asyncReturnValue;if(!EmterpreterAsync.restartFunc){Module["emterpret"](stack[0])}else{asyncReturnValue=EmterpreterAsync.restartFunc()}if(!yieldDuring&&EmterpreterAsync.state===0){Browser.resumeAsyncCallbacks()}if(EmterpreterAsync.state===0){EmterpreterAsync.restartFunc=null;var asyncFinalizers=EmterpreterAsync.asyncFinalizers;EmterpreterAsync.asyncFinalizers=[];asyncFinalizers.forEach((function(func){func(asyncReturnValue)}))}});callingDoAsyncOp=0;EmterpreterAsync.setState(1);if(Browser.mainLoop.func){Browser.mainLoop.pause()}if(yieldDuring){setTimeout((function(){resumeCallbacksForYield()}),0)}else{Browser.pauseAsyncCallbacks()}}else{assert(EmterpreterAsync.state===2);EmterpreterAsync.setState(0);if(EmterpreterAsync.postAsync){var ret=EmterpreterAsync.postAsync();EmterpreterAsync.postAsync=null;return ret}}})};function _emscripten_sleep_with_yield(ms){EmterpreterAsync.handle((function(resume){Browser.safeSetTimeout(resume,ms)}),true)}function _execl(){___setErrNo(ERRNO_CODES.ENOEXEC);return-1}function _execlp(){return _execl.apply(null,arguments)}function _execvp(){return _execl.apply(null,arguments)}function __exit(status){exit(status)}function _exit(status){__exit(status)}function _ftime(p){var millis=Date.now();HEAP32[p>>2]=millis/1e3|0;HEAP16[p+4>>1]=millis%1e3;HEAP16[p+6>>1]=0;HEAP16[p+8>>1]=0;return 0}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _getpwnam(){throw"getpwnam: TODO"}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glClear(x0){GLctx["clear"](x0)}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(){return _llvm_exp2_f32.apply(null,arguments)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start<msec){}}else{var start=Date.now();while(Date.now()-start<msec){}}return 0}function _nanosleep(rqtp,rmtp){var seconds=HEAP32[rqtp>>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _putenv(string){if(string===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}string=Pointer_stringify(string);var splitPoint=string.indexOf("=");if(string===""||string.indexOf("=")===-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=string.slice(0,splitPoint);var value=string.slice(splitPoint+1);if(!(name in ENV)||ENV[name]!==value){ENV[name]=value;___buildEnvironment(__get_environ())}return 0}function _sigaction(signum,act,oldact){return 0}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}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 _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?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(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"};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.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?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}else{return thisDate.getFullYear()}}else{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"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%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"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}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){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};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 GLctx;GL.init();JSEvents.staticInit();DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;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}Module["wasmTableSize"]=4650;Module["wasmMaxTableSize"]=4650;Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___cxa_uncaught_exception":___cxa_uncaught_exception,"___lock":___lock,"___map_file":___map_file,"___setErrNo":___setErrNo,"___syscall10":___syscall10,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall194":___syscall194,"___syscall195":___syscall195,"___syscall197":___syscall197,"___syscall220":___syscall220,"___syscall221":___syscall221,"___syscall3":___syscall3,"___syscall33":___syscall33,"___syscall38":___syscall38,"___syscall39":___syscall39,"___syscall4":___syscall4,"___syscall40":___syscall40,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___syscall91":___syscall91,"___unlock":___unlock,"_abort":_abort,"_clock_gettime":_clock_gettime,"_dlclose":_dlclose,"_dlerror":_dlerror,"_dlsym":_dlsym,"_eglBindAPI":_eglBindAPI,"_eglChooseConfig":_eglChooseConfig,"_eglCreateContext":_eglCreateContext,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_eglDestroyContext":_eglDestroyContext,"_eglDestroySurface":_eglDestroySurface,"_eglGetConfigAttrib":_eglGetConfigAttrib,"_eglGetDisplay":_eglGetDisplay,"_eglGetProcAddress":_eglGetProcAddress,"_eglInitialize":_eglInitialize,"_eglMakeCurrent":_eglMakeCurrent,"_eglSwapBuffers":_eglSwapBuffers,"_eglSwapInterval":_eglSwapInterval,"_eglTerminate":_eglTerminate,"_eglWaitGL":_eglWaitGL,"_eglWaitNative":_eglWaitNative,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"_emscripten_asm_const_iiiii":_emscripten_asm_const_iiiii,"_emscripten_asm_const_iiiiii":_emscripten_asm_const_iiiiii,"_emscripten_cancel_main_loop":_emscripten_cancel_main_loop,"_emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"_emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"_emscripten_force_exit":_emscripten_force_exit,"_emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"_emscripten_get_element_css_size":_emscripten_get_element_css_size,"_emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"_emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_emscripten_glBeginConditionalRender":_emscripten_glBeginConditionalRender,"_emscripten_glBeginTransformFeedback":_emscripten_glBeginTransformFeedback,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_emscripten_glBindBufferBase":_emscripten_glBindBufferBase,"_emscripten_glBindBufferRange":_emscripten_glBindBufferRange,"_emscripten_glBindFragDataLocation":_emscripten_glBindFragDataLocation,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"_emscripten_glBindProgramARB":_emscripten_glBindProgramARB,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glBlitFramebuffer":_emscripten_glBlitFramebuffer,"_emscripten_glBufferData":_emscripten_glBufferData,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_emscripten_glClampColor":_emscripten_glClampColor,"_emscripten_glClear":_emscripten_glClear,"_emscripten_glClearBufferfi":_emscripten_glClearBufferfi,"_emscripten_glClearBufferfv":_emscripten_glClearBufferfv,"_emscripten_glClearBufferiv":_emscripten_glClearBufferiv,"_emscripten_glClearBufferuiv":_emscripten_glClearBufferuiv,"_emscripten_glClearColor":_emscripten_glClearColor,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_glClearStencil":_emscripten_glClearStencil,"_emscripten_glClientActiveTexture":_emscripten_glClientActiveTexture,"_emscripten_glColorMask":_emscripten_glColorMask,"_emscripten_glColorMaski":_emscripten_glColorMaski,"_emscripten_glColorPointer":_emscripten_glColorPointer,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_emscripten_glCullFace":_emscripten_glCullFace,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"_emscripten_glDeleteObjectARB":_emscripten_glDeleteObjectARB,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_emscripten_glDisable":_emscripten_glDisable,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_emscripten_glDisablei":_emscripten_glDisablei,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glDrawRangeElements":_emscripten_glDrawRangeElements,"_emscripten_glEnable":_emscripten_glEnable,"_emscripten_glEnableClientState":_emscripten_glEnableClientState,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_emscripten_glEnablei":_emscripten_glEnablei,"_emscripten_glEndConditionalRender":_emscripten_glEndConditionalRender,"_emscripten_glEndTransformFeedback":_emscripten_glEndTransformFeedback,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glFlush":_emscripten_glFlush,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glFrontFace":_emscripten_glFrontFace,"_emscripten_glFrustum":_emscripten_glFrustum,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"_emscripten_glGetActiveUniformBlockName":_emscripten_glGetActiveUniformBlockName,"_emscripten_glGetActiveUniformBlockiv":_emscripten_glGetActiveUniformBlockiv,"_emscripten_glGetActiveUniformName":_emscripten_glGetActiveUniformName,"_emscripten_glGetActiveUniformsiv":_emscripten_glGetActiveUniformsiv,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_emscripten_glGetBooleani_v":_emscripten_glGetBooleani_v,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_emscripten_glGetError":_emscripten_glGetError,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_emscripten_glGetFragDataLocation":_emscripten_glGetFragDataLocation,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_emscripten_glGetInfoLogARB":_emscripten_glGetInfoLogARB,"_emscripten_glGetIntegeri_v":_emscripten_glGetIntegeri_v,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"_emscripten_glGetObjectParameterivARB":_emscripten_glGetObjectParameterivARB,"_emscripten_glGetPointerv":_emscripten_glGetPointerv,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glGetStringi":_emscripten_glGetStringi,"_emscripten_glGetTexParameterIiv":_emscripten_glGetTexParameterIiv,"_emscripten_glGetTexParameterIuiv":_emscripten_glGetTexParameterIuiv,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"_emscripten_glGetTransformFeedbackVarying":_emscripten_glGetTransformFeedbackVarying,"_emscripten_glGetUniformBlockIndex":_emscripten_glGetUniformBlockIndex,"_emscripten_glGetUniformIndices":_emscripten_glGetUniformIndices,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_emscripten_glGetUniformuiv":_emscripten_glGetUniformuiv,"_emscripten_glGetVertexAttribIiv":_emscripten_glGetVertexAttribIiv,"_emscripten_glGetVertexAttribIuiv":_emscripten_glGetVertexAttribIuiv,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_emscripten_glIsEnabledi":_emscripten_glIsEnabledi,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_emscripten_glIsShader":_emscripten_glIsShader,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glIsVertexArray":_emscripten_glIsVertexArray,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_glLoadMatrixf":_emscripten_glLoadMatrixf,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"_emscripten_glNormalPointer":_emscripten_glNormalPointer,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_emscripten_glRenderbufferStorageMultisample":_emscripten_glRenderbufferStorageMultisample,"_emscripten_glRotatef":_emscripten_glRotatef,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_emscripten_glScissor":_emscripten_glScissor,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_emscripten_glShaderSource":_emscripten_glShaderSource,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_emscripten_glTexCoordPointer":_emscripten_glTexCoordPointer,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"_emscripten_glTexImage3D":_emscripten_glTexImage3D,"_emscripten_glTexParameterIiv":_emscripten_glTexParameterIiv,"_emscripten_glTexParameterIuiv":_emscripten_glTexParameterIuiv,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"_emscripten_glTexStorage2D":_emscripten_glTexStorage2D,"_emscripten_glTexStorage3D":_emscripten_glTexStorage3D,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_emscripten_glTexSubImage3D":_emscripten_glTexSubImage3D,"_emscripten_glTransformFeedbackVaryings":_emscripten_glTransformFeedbackVaryings,"_emscripten_glUniform1f":_emscripten_glUniform1f,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_emscripten_glUniform1ui":_emscripten_glUniform1ui,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_emscripten_glUniform2ui":_emscripten_glUniform2ui,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"_emscripten_glUniform3ui":_emscripten_glUniform3ui,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"_emscripten_glUniform4ui":_emscripten_glUniform4ui,"_emscripten_glUniformBlockBinding":_emscripten_glUniformBlockBinding,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glVertexAttribI1i":_emscripten_glVertexAttribI1i,"_emscripten_glVertexAttribI1iv":_emscripten_glVertexAttribI1iv,"_emscripten_glVertexAttribI1ui":_emscripten_glVertexAttribI1ui,"_emscripten_glVertexAttribI1uiv":_emscripten_glVertexAttribI1uiv,"_emscripten_glVertexAttribI2i":_emscripten_glVertexAttribI2i,"_emscripten_glVertexAttribI2iv":_emscripten_glVertexAttribI2iv,"_emscripten_glVertexAttribI2ui":_emscripten_glVertexAttribI2ui,"_emscripten_glVertexAttribI2uiv":_emscripten_glVertexAttribI2uiv,"_emscripten_glVertexAttribI3i":_emscripten_glVertexAttribI3i,"_emscripten_glVertexAttribI3iv":_emscripten_glVertexAttribI3iv,"_emscripten_glVertexAttribI3ui":_emscripten_glVertexAttribI3ui,"_emscripten_glVertexAttribI3uiv":_emscripten_glVertexAttribI3uiv,"_emscripten_glVertexAttribI4bv":_emscripten_glVertexAttribI4bv,"_emscripten_glVertexAttribI4i":_emscripten_glVertexAttribI4i,"_emscripten_glVertexAttribI4iv":_emscripten_glVertexAttribI4iv,"_emscripten_glVertexAttribI4sv":_emscripten_glVertexAttribI4sv,"_emscripten_glVertexAttribI4ubv":_emscripten_glVertexAttribI4ubv,"_emscripten_glVertexAttribI4ui":_emscripten_glVertexAttribI4ui,"_emscripten_glVertexAttribI4uiv":_emscripten_glVertexAttribI4uiv,"_emscripten_glVertexAttribI4usv":_emscripten_glVertexAttribI4usv,"_emscripten_glVertexAttribIPointer":_emscripten_glVertexAttribIPointer,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"_emscripten_glViewport":_emscripten_glViewport,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_emscripten_request_pointerlock":_emscripten_request_pointerlock,"_emscripten_set_blur_callback":_emscripten_set_blur_callback,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_set_element_css_size":_emscripten_set_element_css_size,"_emscripten_set_focus_callback":_emscripten_set_focus_callback,"_emscripten_set_fullscreenchange_callback":_emscripten_set_fullscreenchange_callback,"_emscripten_set_gamepadconnected_callback":_emscripten_set_gamepadconnected_callback,"_emscripten_set_gamepaddisconnected_callback":_emscripten_set_gamepaddisconnected_callback,"_emscripten_set_keydown_callback":_emscripten_set_keydown_callback,"_emscripten_set_keypress_callback":_emscripten_set_keypress_callback,"_emscripten_set_keyup_callback":_emscripten_set_keyup_callback,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_set_mousedown_callback":_emscripten_set_mousedown_callback,"_emscripten_set_mouseenter_callback":_emscripten_set_mouseenter_callback,"_emscripten_set_mouseleave_callback":_emscripten_set_mouseleave_callback,"_emscripten_set_mousemove_callback":_emscripten_set_mousemove_callback,"_emscripten_set_mouseup_callback":_emscripten_set_mouseup_callback,"_emscripten_set_pointerlockchange_callback":_emscripten_set_pointerlockchange_callback,"_emscripten_set_resize_callback":_emscripten_set_resize_callback,"_emscripten_set_touchcancel_callback":_emscripten_set_touchcancel_callback,"_emscripten_set_touchend_callback":_emscripten_set_touchend_callback,"_emscripten_set_touchmove_callback":_emscripten_set_touchmove_callback,"_emscripten_set_touchstart_callback":_emscripten_set_touchstart_callback,"_emscripten_set_visibilitychange_callback":_emscripten_set_visibilitychange_callback,"_emscripten_set_wheel_callback":_emscripten_set_wheel_callback,"_emscripten_sleep_with_yield":_emscripten_sleep_with_yield,"_execlp":_execlp,"_execvp":_execvp,"_exit":_exit,"_ftime":_ftime,"_getenv":_getenv,"_getpwnam":_getpwnam,"_gettimeofday":_gettimeofday,"_glClear":_glClear,"_llvm_exp2_f64":_llvm_exp2_f64,"_llvm_stackrestore":_llvm_stackrestore,"_llvm_stacksave":_llvm_stacksave,"_llvm_trap":_llvm_trap,"_localtime":_localtime,"_mktime":_mktime,"_nanosleep":_nanosleep,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_getspecific":_pthread_getspecific,"_pthread_key_create":_pthread_key_create,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"_putenv":_putenv,"_sigaction":_sigaction,"_signal":_signal,"_strftime_l":_strftime_l,"_time":_time,"_utime":_utime,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"STACKTOP":STACKTOP};Module.asmLibraryArg["EMTSTACKTOP"]=EMTSTACKTOP;Module.asmLibraryArg["EMT_STACK_MAX"]=EMT_STACK_MAX;Module.asmLibraryArg["eb"]=eb;var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var __GLOBAL__sub_I_cpu_cpp=Module["__GLOBAL__sub_I_cpu_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_cpu_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_dos_devices_cpp=Module["__GLOBAL__sub_I_dos_devices_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_dos_devices_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_drives_cpp=Module["__GLOBAL__sub_I_drives_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_drives_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_gus_cpp=Module["__GLOBAL__sub_I_gus_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_gus_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_menu_cpp=Module["__GLOBAL__sub_I_menu_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_menu_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_programs_cpp=Module["__GLOBAL__sub_I_programs_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_programs_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_sdl_mapper_cpp=Module["__GLOBAL__sub_I_sdl_mapper_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_sdl_mapper_cpp"].apply(null,arguments)});var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=(function(){return Module["asm"]["__ZSt18uncaught_exceptionv"].apply(null,arguments)});var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=(function(){return Module["asm"]["___emscripten_environ_constructor"].apply(null,arguments)});var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var __get_daylight=Module["__get_daylight"]=(function(){return Module["asm"]["__get_daylight"].apply(null,arguments)});var __get_environ=Module["__get_environ"]=(function(){return Module["asm"]["__get_environ"].apply(null,arguments)});var __get_timezone=Module["__get_timezone"]=(function(){return Module["asm"]["__get_timezone"].apply(null,arguments)});var __get_tzname=Module["__get_tzname"]=(function(){return Module["asm"]["__get_tzname"].apply(null,arguments)});var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=(function(){return Module["asm"]["_emscripten_GetProcAddress"].apply(null,arguments)});var _free=Module["_free"]=(function(){return Module["asm"]["_free"].apply(null,arguments)});var _main=Module["_main"]=(function(){return Module["asm"]["_main"].apply(null,arguments)});var _malloc=Module["_malloc"]=(function(){return Module["asm"]["_malloc"].apply(null,arguments)});var emtStackRestore=Module["emtStackRestore"]=(function(){return Module["asm"]["emtStackRestore"].apply(null,arguments)});var emtStackSave=Module["emtStackSave"]=(function(){return Module["asm"]["emtStackSave"].apply(null,arguments)});var emterpret=Module["emterpret"]=(function(){return Module["asm"]["emterpret"].apply(null,arguments)});var setAsyncState=Module["setAsyncState"]=(function(){return Module["asm"]["setAsyncState"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_i=Module["dynCall_i"]=(function(){return Module["asm"]["dynCall_i"].apply(null,arguments)});var dynCall_ii=Module["dynCall_ii"]=(function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)});var dynCall_iii=Module["dynCall_iii"]=(function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)});var dynCall_iiii=Module["dynCall_iiii"]=(function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)});var dynCall_iiiii=Module["dynCall_iiiii"]=(function(){return Module["asm"]["dynCall_iiiii"].apply(null,arguments)});var dynCall_iiiiid=Module["dynCall_iiiiid"]=(function(){return Module["asm"]["dynCall_iiiiid"].apply(null,arguments)});var dynCall_iiiiidii=Module["dynCall_iiiiidii"]=(function(){return Module["asm"]["dynCall_iiiiidii"].apply(null,arguments)});var dynCall_iiiiii=Module["dynCall_iiiiii"]=(function(){return Module["asm"]["dynCall_iiiiii"].apply(null,arguments)});var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=(function(){return Module["asm"]["dynCall_iiiiiid"].apply(null,arguments)});var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)});var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiii"].apply(null,arguments)});var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiii"].apply(null,arguments)});var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiiii"].apply(null,arguments)});var dynCall_v=Module["dynCall_v"]=(function(){return Module["asm"]["dynCall_v"].apply(null,arguments)});var dynCall_vd=Module["dynCall_vd"]=(function(){return Module["asm"]["dynCall_vd"].apply(null,arguments)});var dynCall_vdd=Module["dynCall_vdd"]=(function(){return Module["asm"]["dynCall_vdd"].apply(null,arguments)});var dynCall_vdddddd=Module["dynCall_vdddddd"]=(function(){return Module["asm"]["dynCall_vdddddd"].apply(null,arguments)});var dynCall_vf=Module["dynCall_vf"]=(function(){return Module["asm"]["dynCall_vf"].apply(null,arguments)});var dynCall_vff=Module["dynCall_vff"]=(function(){return Module["asm"]["dynCall_vff"].apply(null,arguments)});var dynCall_vffff=Module["dynCall_vffff"]=(function(){return Module["asm"]["dynCall_vffff"].apply(null,arguments)});var dynCall_vfi=Module["dynCall_vfi"]=(function(){return Module["asm"]["dynCall_vfi"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});var dynCall_vif=Module["dynCall_vif"]=(function(){return Module["asm"]["dynCall_vif"].apply(null,arguments)});var dynCall_viff=Module["dynCall_viff"]=(function(){return Module["asm"]["dynCall_viff"].apply(null,arguments)});var dynCall_vifff=Module["dynCall_vifff"]=(function(){return Module["asm"]["dynCall_vifff"].apply(null,arguments)});var dynCall_viffff=Module["dynCall_viffff"]=(function(){return Module["asm"]["dynCall_viffff"].apply(null,arguments)});var dynCall_vii=Module["dynCall_vii"]=(function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)});var dynCall_viif=Module["dynCall_viif"]=(function(){return Module["asm"]["dynCall_viif"].apply(null,arguments)});var dynCall_viifi=Module["dynCall_viifi"]=(function(){return Module["asm"]["dynCall_viifi"].apply(null,arguments)});var dynCall_viii=Module["dynCall_viii"]=(function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)});var dynCall_viiii=Module["dynCall_viiii"]=(function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)});var dynCall_viiiii=Module["dynCall_viiiii"]=(function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)});var dynCall_viiiiii=Module["dynCall_viiiiii"]=(function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)});var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiii"].apply(null,arguments)});var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null,arguments)});Module["asm"]=asm;Module["getMemory"]=getMemory;Module["Pointer_stringify"]=Pointer_stringify;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;var initialEmtStackTop=Module["emtStackSave"]();try{var ret=Module["_main"](argc,argv,0);if(typeof EmterpreterAsync==="object"&&EmterpreterAsync.state!==1){exit(ret,true)}}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;Module["emtStackRestore"](initialEmtStackTop);return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;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}Module["noExitRuntime"]=true;run()



