text: var Module=typeof Module!=="undefined"?Module:{};var Module={};onmessage=(function(event){switch(event.data.type){case"run":try{var data_offset=[Module._get_static_buffer(),Module._get_dynamic_buffer()];for(var i=0;i<event.data.inputs.length;i++){var var_alloc=event.data.inputs[i];var data_buf=new Float32Array(Module.buffer,data_offset[var_alloc.space]+var_alloc.offset*Float32Array.BYTES_PER_ELEMENT,var_alloc.size);data_buf.set(var_alloc.data)}Module._run();var outputs=[];var output_buffers=[];for(var i=0;i<event.data.outputs.length;i++){var var_alloc=event.data.outputs[i];var data_buf_view=new Float32Array(Module.buffer,data_offset[var_alloc.space]+var_alloc.offset*Float32Array.BYTES_PER_ELEMENT,var_alloc.size);var data_buf_copy=new Float32Array(data_buf_view.length);data_buf_copy.set(data_buf_view);outputs.push(data_buf_copy);output_buffers.push(data_buf_copy.buffer)}postMessage(outputs,output_buffers)}catch(ex){postMessage({"error":ex.message})}break;case"weight":try{var weight_buf=new Float32Array(Module.buffer,Module._get_static_buffer(),event.data.data.length);weight_buf.set(event.data.data);postMessage(0)}catch(ex){postMessage({"error":ex.message})}break;case"set_dynamic_buffer":try{var dynamic_ptr=Module._allocate_dynamic_buffer(event.data.size);if(dynamic_ptr===0){throw Error("Dynamic buffer cannot be allocated")}var data_to_set=event.data.data;var data_idx=0;while(data_idx<data_to_set.length){Module._set_placeholder_value(data_to_set[data_idx],data_to_set[data_idx+1],data_to_set[data_idx+2]);data_idx+=3}postMessage(0)}catch(ex){postMessage({"error":ex.message})}break;default:postMessage({"error":"Unknown message"});break}});Module.quit=(function(status,toThrow){postMessage({"error":toThrow,"status":status})});Module.onRuntimeInitialized=(function(){postMessage(0)});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;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{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}if(ENVIRONMENT_IS_NODE){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["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,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){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)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);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;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};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 GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}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_STATIC=2;var ALLOC_NONE=4;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)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&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 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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;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 but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) 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"]||67108864;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";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_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;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 memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+44502544;__ATINIT__.push();memoryInitializer="kernels_asmjs.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;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"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){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 ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}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_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}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 ___gxx_personality_v0(){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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;var ASSERTIONS=false;function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_ii":invoke_ii,"invoke_iiii":invoke_iiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_viiii":invoke_viiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___assert_fail":___assert_fail,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};// EMSCRIPTEN_START_ASM
  var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
  "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0;var y=0;var z=global.Math.floor;var A=global.Math.abs;var B=global.Math.sqrt;var C=global.Math.pow;var D=global.Math.cos;var E=global.Math.sin;var F=global.Math.tan;var G=global.Math.acos;var H=global.Math.asin;var I=global.Math.atan;var J=global.Math.atan2;var K=global.Math.exp;var L=global.Math.log;var M=global.Math.ceil;var N=global.Math.imul;var O=global.Math.min;var P=global.Math.max;var Q=global.Math.clz32;var R=env.abort;var S=env.assert;var T=env.enlargeMemory;var U=env.getTotalMemory;var V=env.abortOnCannotGrowMemory;var W=env.invoke_ii;var X=env.invoke_iiii;var Y=env.invoke_v;var Z=env.invoke_vi;var _=env.invoke_viiii;var $=env.invoke_viiiii;var aa=env.invoke_viiiiii;var ba=env.__ZSt18uncaught_exceptionv;var ca=env.___assert_fail;var da=env.___cxa_allocate_exception;var ea=env.___cxa_find_matching_catch;var fa=env.___cxa_throw;var ga=env.___gxx_personality_v0;var ha=env.___resumeException;var ia=env.___setErrNo;var ja=env._emscripten_memcpy_big;var ka=0.0;
  // EMSCRIPTEN_START_FUNCS
  function sa(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function ta(){return l|0}function ua(a){a=a|0;l=a}function va(a,b){a=a|0;b=b|0;l=a;m=b}function wa(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function xa(a){a=a|0;y=a}function ya(){return y|0}function za(){return}function Aa(){return 2352}function Ba(a){a=a|0;var b=0;b=c[11125503]|0;if(b|0){Wa(b);c[11125503]=0}b=Va(a<<2)|0;c[11125503]=b;return b|0}function Ca(){return c[11125503]|0}function Da(a,b,d){a=a|0;b=b|0;d=d|0;c[(c[244+(a<<2)>>2]|0)+(b<<2)>>2]=d;return}function Ea(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0;ba=l;l=l+96|0;L=ba+72|0;R=ba;Y=c[a>>2]|0;aa=2352+(c[a+4>>2]<<2)|0;Z=2352+(c[a+8>>2]<<2)|0;M=2352+(c[a+12>>2]<<2)|0;O=2352+(c[a+16>>2]<<2)|0;P=c[a+20>>2]|0;Q=c[a+24>>2]|0;S=c[a+28>>2]|0;T=c[a+32>>2]|0;U=T<<2;V=T<<1;W=T*3|0;X=2352+(c[a+36>>2]<<2)|0;if((T|0)<=-1)ca(368,381,163,432);d=2352+(c[a+40>>2]<<2)|0;_=N(T,S)|0;$=(_|0)>0;if($){b=0;do{c[Z+(b<<2)>>2]=c[d+(b<<2)>>2];b=b+1|0}while((b|0)!=(_|0))}I=_>>>0>1073741823?-1:_<<2;J=$a(I)|0;Eb(J|0,0,I|0)|0;if($)Db(J|0,2352+(c[a+44>>2]<<2)|0,_<<2|0)|0;w=N(U,S)|0;w=w>>>0>1073741823?-1:w<<2;H=$a(w)|0;Eb(H|0,0,w|0)|0;w=N(S,P)|0;w=w>>>0>1073741823?-1:w<<2;I=$a(w)|0;Eb(I|0,0,w|0)|0;c[L>>2]=H;w=L+4|0;c[w>>2]=S;x=L+8|0;c[x>>2]=U;if((U|S|0)<=-1)ca(440,381,175,432);if((T|S|0)<=-1)ca(440,381,175,432);if((S|P|0)<=-1)ca(440,381,175,432);if(!((M|0)==0|(U|P|0)>-1))ca(440,381,175,432);if(!((O|0)==0|(U|T|0)>-1))ca(440,381,175,432);a:do if((Q|0)>0){y=(S|0)>0;m=R+4|0;n=R+8|0;o=R+16|0;p=R+20|0;u=R+24|0;k=R+32|0;q=R+36|0;r=R+40|0;s=R+48|0;t=R+52|0;v=R+56|0;z=R+16|0;A=R+32|0;B=R+48|0;C=(T|0)>0;D=P<<2;E=N(Q,P)|0;G=(P|0)<1|y^1;j=0;F=S;while(1){d=Y+(N(P,j)|0)|0;if(!G){b=0;do{Db(I+(N(D,b)|0)|0,2352+(d+(N(E,b)|0)<<2)|0,D|0)|0;b=b+1|0}while((b|0)!=(S|0))}c[R>>2]=I;c[m>>2]=S;c[n>>2]=P;c[o>>2]=M;c[p>>2]=P;c[u>>2]=U;c[k>>2]=J;c[q>>2]=S;c[r>>2]=T;c[s>>2]=O;c[t>>2]=T;c[v>>2]=U;if((F|0)!=(S|0)){b=24;break}Ha(L,R,z);if((c[w>>2]|0)!=(c[q>>2]|0)){b=27;break}if((c[x>>2]|0)!=(c[v>>2]|0)){b=27;break}Pa(L,A,B);a=c[L>>2]|0;F=c[w>>2]|0;if((c[x>>2]|0)!=(U|0)){b=29;break}if(C&(F|0)>0){b=0;do{e=N(b,U)|0;d=0;do{i=a+(d+e<<2)|0;g[i>>2]=+g[X+(d<<2)>>2]+ +g[i>>2];d=d+1|0}while((d|0)!=(U|0));b=b+1|0}while((b|0)!=(F|0))}if(y){d=0;do{if(C){a=N(d,U)|0;e=a+T|0;f=a+V|0;h=a+W|0;i=N(d,T)|0;b=0;do{ea=+g[H+(h+b<<2)>>2];ia=1.0/(+K(+-+g[H+(b+a<<2)>>2])+1.0);fa=1.0/(+K(+-+g[H+(e+b<<2)>>2])+1.0);da=b+i|0;ga=Z+(da<<2)|0;ha=+g[ga>>2];fa=+Za(+g[H+(f+b<<2)>>2])*ia+ha*fa;g[ga>>2]=fa;g[J+(da<<2)>>2]=+Za(fa)*(1.0/(+K(+-ea)+1.0));b=b+1|0}while((b|0)!=(T|0))}d=d+1|0}while((d|0)!=(S|0))}j=j+1|0;if((j|0)>=(Q|0))break a}if((b|0)==24)ca(937,1042,257,1095);else if((b|0)==27)ca(2067,2120,161,1524);else if((b|0)==29)ca(2067,1102,710,1161)}while(0);if(!$){bb(J);bb(H);bb(I);l=ba;return}Db(aa|0,J|0,_<<2|0)|0;bb(J);bb(H);bb(I);l=ba;return}function Fa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+48|0;b=j+32|0;g=j;h=2352+(c[a>>2]<<2)|0;i=2352+(c[a+4>>2]<<2)|0;d=2352+(c[a+8>>2]<<2)|0;e=c[a+12>>2]|0;f=c[a+20>>2]|0;if(!((h|0)==0|(f|e|0)>-1))ca(440,381,175,432);a=c[a+16>>2]|0;if(!((i|0)==0|(a|f|0)>-1))ca(440,381,175,432);c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=a;if((d|0)==0|(a|e|0)>-1){c[g>>2]=h;c[g+4>>2]=e;c[g+8>>2]=f;c[g+16>>2]=i;c[g+20>>2]=f;c[g+24>>2]=a;Qa(b,g,g+16|0);l=j;return}else ca(440,381,175,432)}function Ga(){var a=0,b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0;d=2352+(c[22]<<2)|0;h=2352+(c[23]<<2)|0;i=2352+(c[24]<<2)|0;j=c[28]|0;k=N(c[27]|0,c[26]|0)|0;if((k|0)>0&(j|0)>0){a=0;do{e=N(j,~~+g[d+(a<<2)>>2])|0;f=N(a,j)|0;b=0;do{c[h+(b+f<<2)>>2]=c[i+(b+e<<2)>>2];b=b+1|0}while((b|0)!=(j|0));a=a+1|0}while((a|0)!=(k|0))}b=2352+(c[29]<<2)|0;d=2352+(c[30]<<2)|0;e=2352+(c[31]<<2)|0;f=2352+(c[32]<<2)|0;h=2352+(c[33]<<2)|0;i=c[34]|0;if((i|0)>0){a=0;do{g[h+(a<<2)>>2]=+g[d+(a<<2)>>2]*+g[f+(a<<2)>>2]+ +g[b+(a<<2)>>2]*+g[e+(a<<2)>>2];a=a+1|0}while((a|0)!=(i|0))}Ea(140);Fa(188);b=2352+(c[53]<<2)|0;d=2352+(c[54]<<2)|0;e=2352+(c[55]<<2)|0;f=c[56]|0;if((f|0)>0){a=0;do{g[e+(a<<2)>>2]=+g[b+(a<<2)>>2]+ +g[d+(a<<2)>>2];a=a+1|0}while((a|0)!=(f|0))}d=2352+(c[57]<<2)|0;e=2352+(c[58]<<2)|0;f=c[59]|0;h=c[60]|0;if((f|0)>0&(h|0)>0)b=0;else return;do{i=N(b,h)|0;m=+g[d+(i<<2)>>2];a=0;do{l=+g[d+(a+i<<2)>>2];m=l>m?l:m;a=a+1|0}while((a|0)!=(h|0));a=0;l=0.0;do{k=a+i|0;n=+K(+(+g[d+(k<<2)>>2]-m));l=l+n;g[e+(k<<2)>>2]=n;a=a+1|0}while((a|0)!=(h|0));a=0;do{k=e+(a+i<<2)|0;g[k>>2]=+g[k>>2]/l;a=a+1|0}while((a|0)!=(h|0));b=b+1|0}while((b|0)!=(f|0));return}function Ha(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q;k=c[d+4>>2]|0;n=a+4|0;e=c[n>>2]|0;o=a+8|0;m=c[o>>2]|0;if(!((k|0)>0&(e+k+m|0)<20)){if((m|e|0)<=-1)ca(1528,1677,74,1735);e=N(m,e)|0;if((e|0)>0)Eb(c[a>>2]|0,0,e<<2|0)|0;g[p>>2]=1.0;Ia(a,b,d,p);l=q;return}f=c[b>>2]|0;h=c[b+4>>2]|0;j=d;i=c[j>>2]|0;j=c[j+4>>2]|0;d=c[d+8>>2]|0;if((c[b+8>>2]|0)!=(k|0))ca(610,750,97,801);c[p>>2]=f;c[p+4>>2]=h;c[p+8>>2]=k;b=p+16|0;c[b>>2]=i;c[b+4>>2]=j;c[p+24>>2]=d;c[p+32>>2]=f;c[p+40>>2]=k;c[p+44>>2]=i;c[p+52>>2]=d;c[p+56>>2]=k;if(!((e|0)==(h|0)&(m|0)==(d|0)))ca(937,1042,257,1095);i=c[a>>2]|0;if((e|0)>0){h=0;d=m;do{if((d|0)>0){f=N(h,m)|0;e=0;do{g[i+(e+f<<2)>>2]=+Ja(p,h,e);e=e+1|0;d=c[o>>2]|0}while((e|0)<(d|0));e=c[n>>2]|0}h=h+1|0}while((h|0)<(e|0))}l=q;return}function Ia(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;p=l;l=l+32|0;o=p;m=c[a+4>>2]|0;n=b+4|0;if((m|0)!=(c[n>>2]|0))ca(1750,1803,460,1875);f=a+8|0;h=c[f>>2]|0;i=d+8|0;if((h|0)!=(c[i>>2]|0))ca(1750,1803,460,1875);j=b+8|0;k=c[j>>2]|0;if((h|0)==0|((m|0)==0|(k|0)==0)){l=p;return}q=+g[e>>2];r=o;c[r>>2]=0;c[r+4>>2]=0;r=o+8|0;c[r>>2]=h;h=o+12|0;c[h>>2]=m;e=o+16|0;c[e>>2]=k;Ka(e,r,h,1);e=c[e>>2]|0;c[o+20>>2]=N(e,c[r>>2]|0)|0;c[o+24>>2]=N(c[h>>2]|0,e)|0;e=c[i>>2]|0;m=c[j>>2]|0;La(e,c[n>>2]|0,m,c[d>>2]|0,e,c[b>>2]|0,m,c[a>>2]|0,c[f>>2]|0,q,o,0);a=c[o>>2]|0;if(a|0)Wa(c[a+-4>>2]|0);a=c[o+4>>2]|0;if(a|0)Wa(c[a+-4>>2]|0);l=p;return}function Ja(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0;h=c[a+8>>2]|0;i=(c[a>>2]|0)+((N(h,b)|0)<<2)|0;if(!((h|0)>-1|(i|0)==0))ca(440,381,175,432);if((b|0)<=-1)ca(1179,1346,122,1395);if((c[a+4>>2]|0)<=(b|0))ca(1179,1346,122,1395);f=(c[a+16>>2]|0)+(d<<2)|0;b=c[a+20>>2]|0;if(!((f|0)==0|(b|0)>-1))ca(440,381,175,432);a=c[a+24>>2]|0;if(!((d|0)>-1&(a|0)>(d|0)))ca(1179,1346,122,1395);if((h|0)!=(b|0))ca(809,866,110,923);if(!h){e=0.0;return +e}if((h|0)<=0)ca(1401,1469,413,1518);e=+g[i>>2]*+g[f>>2];if((h|0)==1)return +e;else b=1;do{e=e+ +g[i+(b<<2)>>2]*+g[f+((N(b,a)|0)<<2)>>2];b=b+1|0}while((b|0)<(h|0));return +e}function Ka(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((a[2344]|0)==0?yb(2344)|0:0){c[11125630]=16384;c[11125631]=524288;c[11125632]=524288}m=c[11125630]|0;o=c[11125631]|0;n=c[11125632]|0;if((f|0)>1){h=(m+-16|0)/20|0;h=(h|0)<320?h:320;g=c[b>>2]|0;if((h|0)<(g|0)){g=h-((h|0)%8|0)|0;c[b>>2]=g}g=((o-m|0)>>>0)/(g<<4>>>0)|0;h=c[e>>2]|0;j=f+-1|0;i=(j+h|0)/(f|0)|0;if((g|0)>(i|0)){g=i+3|0;g=g-((g|0)%4|0)|0;g=(g|0)<(h|0)?g:h}else g=g-((g|0)%4|0)|0;c[e>>2]=g;if((n|0)<=(o|0))return;h=((n-o|0)>>>0)/((N(f<<2,c[b>>2]|0)|0)>>>0)|0;i=c[d>>2]|0;g=(j+i|0)/(f|0)|0;if((h|0)>0&(h|0)<(g|0)){c[d>>2]=h;return}else{c[d>>2]=(g|0)<(i|0)?g:i;return}}g=c[d>>2]|0;h=c[e>>2]|0;k=(g|0)<(h|0)?h:g;l=c[b>>2]|0;if((((l|0)<(k|0)?k:l)|0)<48)return;f=m+-16|0;k=((f|0)/20|0)&-8;k=(k|0)>1?k:1;if((l|0)>(k|0)){g=(l|0)%(k|0)|0;if(!g)g=k;else g=k-(((k+-1-g|0)/((((l|0)/(k|0)|0)<<3)+8|0)|0)<<3)|0;c[b>>2]=g;b=c[d>>2]|0;i=g;j=c[e>>2]|0}else{b=g;i=l;j=h}f=f-(N(b<<2,i)|0)|0;g=(f|0)<(i<<4|0);k=((g?4718592:f)>>>0)/((g?k<<4:i<<2)>>>0)|0;g=1572864/(i<<3>>>0)|0;g=((k|0)<(g|0)?k:g)&-4;if((j|0)>(g|0)){h=(j|0)%(g|0)|0;if(h)g=g-(((g-h|0)/((((j|0)/(g|0)|0)<<2)+4|0)|0)<<2)|0;c[e>>2]=g;return}if((l|0)!=(i|0))return;g=N(l<<2,j)|0;if((g|0)<1025){h=b;g=m}else{g=(n|0)!=0&(g|0)<32769;h=g?((b|0)<576?b:576):b;g=g?o:1572864}g=(g>>>0)/((l*12|0)>>>0)|0;g=(h|0)<(g|0)?h:g;if(!g)return;h=(b|0)%(g|0)|0;if(h)g=g-((g-h|0)/(((b|0)/(g|0)|0)+1|0)|0)|0;c[d>>2]=g;return}function La(a,b,d,e,f,g,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0;O=l;l=l+16|0;I=O+10|0;J=O+9|0;K=O+8|0;L=O;M=c[m+16>>2]|0;H=c[m+8>>2]|0;r=(H|0)<(a|0);H=r?H:a;G=c[m+12>>2]|0;s=(G|0)<(b|0);G=s?G:b;n=N(H,M)|0;q=N(G,M)|0;if(n>>>0>1073741823){j=da(4)|0;Ab(j);fa(j|0,72,6)}o=c[m>>2]|0;p=n<<2;if(!o)do if(p>>>0>=131073){n=Va(p+16|0)|0;o=n+16&-16;if(!n){j=da(4)|0;Ab(j);fa(j|0,72,6)}c[o+-4>>2]=n;if(!o){j=da(4)|0;Ab(j);fa(j|0,72,6)}else{n=c[m>>2]|0;break}}else{o=l;l=l+((1*(p+15|0)|0)+15&-16)|0;o=o+15&-16;n=0}while(0);else n=o;F=(n|0)==0?o:0;E=p>>>0>131072;if(q>>>0>1073741823){j=da(4)|0;Ab(j);fa(j|0,72,6)}m=m+4|0;p=c[m>>2]|0;q=q<<2;if(!p)do if(q>>>0>=131073){n=Va(q+16|0)|0;p=n+16&-16;if(!n){j=da(4)|0;Ab(j);fa(j|0,72,6)}c[p+-4>>2]=n;if(!p){j=da(4)|0;Ab(j);fa(j|0,72,6)}else{n=c[m>>2]|0;break}}else{p=l;l=l+((1*(q+15|0)|0)+15&-16)|0;p=p+15&-16;n=0}while(0);else n=p;D=(n|0)==0?p:0;C=q>>>0>131072;q=s|(M|0)==(d|0)&r^1;if((a|0)>0){v=(d|0)>0;w=L+4|0;x=(b|0)>0;y=L+4|0;z=L+4|0;s=0;do{t=s;s=s+H|0;A=((s|0)>(a|0)?a:s)-t|0;if(v){B=q|(t|0)==0;r=0;do{m=r;r=r+M|0;u=((r|0)>(d|0)?d:r)-m|0;c[L>>2]=e+((N(m,f)|0)+t<<2);c[w>>2]=f;Ma(I,o,L,u,A,0,0);if(x)if(B){n=0;do{Q=n;n=n+G|0;P=((n|0)>(b|0)?b:n)-Q|0;c[L>>2]=g+((N(Q,h)|0)+m<<2);c[y>>2]=h;Na(J,p,L,u,P,0,0);c[L>>2]=i+((N(Q,j)|0)+t<<2);c[z>>2]=j;Oa(K,L,o,p,A,u,P,k,-1,-1,0,0)}while((n|0)<(b|0))}else{n=0;do{Q=n;n=n+G|0;c[L>>2]=i+((N(Q,j)|0)+t<<2);c[z>>2]=j;Oa(K,L,o,p,A,u,((n|0)>(b|0)?b:n)-Q|0,k,-1,-1,0,0)}while((n|0)<(b|0))}}while((r|0)<(d|0))}}while((s|0)<(a|0))}if(!((D|0)==0|C^1))Wa(c[D+-4>>2]|0);if((F|0)==0|E^1){l=O;return}Wa(c[F+-4>>2]|0);l=O;return}function Ma(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if(h|g|0)ca(1889,1980,1705,2056);if((f|0)<=0)return;j=c[d>>2]|0;i=c[d+4>>2]|0;if((e|0)>0){g=0;h=0}else return;while(1){a=0;d=h;while(1){c[b+(d<<2)>>2]=c[j+((N(i,a)|0)+g<<2)>>2];a=a+1|0;if((a|0)==(e|0))break;else d=d+1|0}g=g+1|0;if((g|0)==(f|0))break;else h=h+e|0}return}function Na(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(h|g|0)ca(1889,1980,1906,2056);j=((f|0)/4|0)<<2;if((f|0)>3?(q=c[d>>2]|0,r=c[d+4>>2]|0,(e|0)>0):0){k=e<<2;p=(j|0)>4?j:4;g=0;h=0;while(1){l=q+((N(r,g)|0)<<2)|0;m=q+((N(r,g|1)|0)<<2)|0;n=q+((N(r,g|2)|0)<<2)|0;o=q+((N(r,g|3)|0)<<2)|0;a=0;i=h;while(1){c[b+(i<<2)>>2]=c[l+(a<<2)>>2];c[b+((i|1)<<2)>>2]=c[m+(a<<2)>>2];c[b+((i|2)<<2)>>2]=c[n+(a<<2)>>2];c[b+((i|3)<<2)>>2]=c[o+(a<<2)>>2];a=a+1|0;if((a|0)==(e|0))break;else i=i+4|0}g=g+4|0;if((g|0)>=(j|0))break;else h=k+h|0}a=N(p,e)|0}else a=0;if((j|0)>=(f|0))return;l=c[d>>2]|0;k=c[d+4>>2]|0;if((e|0)<=0)return;while(1){i=l+((N(k,j)|0)<<2)|0;g=0;h=a;while(1){c[b+(h<<2)>>2]=c[i+(g<<2)>>2];g=g+1|0;if((g|0)==(e|0))break;else h=h+1|0}j=j+1|0;if((j|0)==(f|0))break;else a=a+e|0}return}function Oa(a,b,d,e,f,h,i,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0;K=(k|0)==-1?h:k;B=(l|0)==-1?h:l;a=(i|0)/4|0;C=a<<2;D=h&-8;if((f|0)<=0)return;E=(i|0)>3;F=b+4|0;G=n<<2;H=(D|0)>0;I=(D|0)<(h|0);J=(C|0)<(i|0);z=D+-1&-8;A=e+(((N(B,a)|0)<<2)+n+z+8<<2)|0;y=0;z=d+(z+m+8<<2)|0;while(1){if(E){x=d+((N(y,K)|0)+m<<2)|0;p=0;do{a=c[b>>2]|0;w=c[F>>2]|0;q=a+((N(w,p)|0)+y<<2)|0;u=a+((N(w,p|1)|0)+y<<2)|0;v=a+((N(w,p|2)|0)+y<<2)|0;w=a+((N(w,p|3)|0)+y<<2)|0;a=e+((N(p,B)|0)+G<<2)|0;if(H){l=0;k=x;t=0.0;r=0.0;o=0.0;s=0.0;do{T=+g[k>>2];S=+g[k+4>>2];R=+g[k+8>>2];Q=+g[k+12>>2];P=+g[k+16>>2];O=+g[k+20>>2];M=+g[k+24>>2];L=+g[k+28>>2];s=s+T*+g[a>>2]+S*+g[a+16>>2]+R*+g[a+32>>2]+Q*+g[a+48>>2]+P*+g[a+64>>2]+O*+g[a+80>>2]+M*+g[a+96>>2]+L*+g[a+112>>2];t=t+T*+g[a+4>>2]+S*+g[a+20>>2]+R*+g[a+36>>2]+Q*+g[a+52>>2]+P*+g[a+68>>2]+O*+g[a+84>>2]+M*+g[a+100>>2]+L*+g[a+116>>2];r=r+T*+g[a+8>>2]+S*+g[a+24>>2]+R*+g[a+40>>2]+Q*+g[a+56>>2]+P*+g[a+72>>2]+O*+g[a+88>>2]+M*+g[a+104>>2]+L*+g[a+120>>2];o=o+T*+g[a+12>>2]+S*+g[a+28>>2]+R*+g[a+44>>2]+Q*+g[a+60>>2]+P*+g[a+76>>2]+O*+g[a+92>>2]+M*+g[a+108>>2]+L*+g[a+124>>2];a=a+128|0;k=k+32|0;l=l+8|0}while((l|0)<(D|0))}else{s=0.0;k=x;t=0.0;r=0.0;o=0.0}if(I){l=D;while(1){T=+g[k>>2];s=s+T*+g[a>>2];t=t+T*+g[a+4>>2];r=r+T*+g[a+8>>2];o=o+T*+g[a+12>>2];l=l+1|0;if((l|0)==(h|0))break;else{a=a+16|0;k=k+4|0}}}T=t*j+ +g[u>>2];g[q>>2]=s*j+ +g[q>>2];g[u>>2]=T;T=o*j+ +g[w>>2];g[v>>2]=r*j+ +g[v>>2];g[w>>2]=T;p=p+4|0}while((p|0)<(C|0))}a:do if(J){x=d+((N(y,K)|0)+m<<2)|0;v=c[b>>2]|0;w=c[F>>2]|0;if(H){q=C;u=A}else{p=C;while(1){q=v+((N(w,p)|0)+y<<2)|0;if(I){a=D;k=x;o=0.0;l=e+((N(p,B)|0)+n<<2)|0;while(1){o=o+ +g[k>>2]*+g[l>>2];a=a+1|0;if((a|0)==(h|0))break;else{k=k+4|0;l=l+4|0}}}else o=0.0;g[q>>2]=o*j+ +g[q>>2];p=p+1|0;if((p|0)==(i|0))break a}}while(1){p=(N(w,q)|0)+y|0;a=0;k=e+((N(q,B)|0)+n<<2)|0;l=x;o=0.0;while(1){o=o+ +g[l>>2]*+g[k>>2]+ +g[l+4>>2]*+g[k+4>>2]+ +g[l+8>>2]*+g[k+8>>2]+ +g[l+12>>2]*+g[k+12>>2]+ +g[l+16>>2]*+g[k+16>>2]+ +g[l+20>>2]*+g[k+20>>2]+ +g[l+24>>2]*+g[k+24>>2]+ +g[l+28>>2]*+g[k+28>>2];a=a+8|0;if((a|0)>=(D|0))break;else{k=k+32|0;l=l+32|0}}p=v+(p<<2)|0;if(I){k=D;l=z;a=u;while(1){o=o+ +g[l>>2]*+g[a>>2];k=k+1|0;if((k|0)==(h|0))break;else{l=l+4|0;a=a+4|0}}}g[p>>2]=o*j+ +g[p>>2];q=q+1|0;if((q|0)==(i|0))break;else u=u+(B<<2)|0}}while(0);y=y+1|0;if((y|0)==(f|0))break;else z=z+(K<<2)|0}return}function Pa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;n=q;k=c[d+4>>2]|0;o=a+4|0;e=c[o>>2]|0;p=a+8|0;m=c[p>>2]|0;if(!((k|0)>0&(e+k+m|0)<20)){g[n>>2]=1.0;Ia(a,b,d,n);l=q;return}f=c[b>>2]|0;h=c[b+4>>2]|0;j=d;i=c[j>>2]|0;j=c[j+4>>2]|0;d=c[d+8>>2]|0;if((c[b+8>>2]|0)!=(k|0))ca(610,750,97,801);c[n>>2]=f;c[n+4>>2]=h;c[n+8>>2]=k;b=n+16|0;c[b>>2]=i;c[b+4>>2]=j;c[n+24>>2]=d;c[n+32>>2]=f;c[n+40>>2]=k;c[n+44>>2]=i;c[n+52>>2]=d;c[n+56>>2]=k;if(!((e|0)==(h|0)&(m|0)==(d|0)))ca(2067,1102,710,1161);a=c[a>>2]|0;if((e|0)>0){h=0;d=m;do{if((d|0)>0){f=N(h,m)|0;e=0;do{d=a+(e+f<<2)|0;r=+Ja(n,h,e);g[d>>2]=r+ +g[d>>2];e=e+1|0;d=c[p>>2]|0}while((e|0)<(d|0));e=c[o>>2]|0}h=h+1|0}while((h|0)<(e|0))}l=q;return}function Qa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q;k=c[d+4>>2]|0;n=a+4|0;e=c[n>>2]|0;o=a+8|0;m=c[o>>2]|0;if(!((k|0)>0&(e+k+m|0)<20)){if((m|e|0)<=-1)ca(1528,1677,74,1735);e=N(m,e)|0;if((e|0)>0)Eb(c[a>>2]|0,0,e<<2|0)|0;g[p>>2]=1.0;Ra(a,b,d,p);l=q;return}f=c[b>>2]|0;h=c[b+4>>2]|0;j=d;i=c[j>>2]|0;j=c[j+4>>2]|0;d=c[d+8>>2]|0;if((c[b+8>>2]|0)!=(k|0))ca(610,750,97,801);c[p>>2]=f;c[p+4>>2]=h;c[p+8>>2]=k;b=p+16|0;c[b>>2]=i;c[b+4>>2]=j;c[p+24>>2]=d;c[p+32>>2]=f;c[p+40>>2]=k;c[p+44>>2]=i;c[p+52>>2]=j;c[p+56>>2]=k;if(!((e|0)==(h|0)&(m|0)==(d|0)))ca(937,1042,257,1095);i=c[a>>2]|0;if((e|0)>0){h=0;d=m;do{if((d|0)>0){f=N(h,m)|0;e=0;do{g[i+(e+f<<2)>>2]=+Sa(p,h,e);e=e+1|0;d=c[o>>2]|0}while((e|0)<(d|0));e=c[n>>2]|0}h=h+1|0}while((h|0)<(e|0))}l=q;return}function Ra(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;p=l;l=l+32|0;o=p;m=c[a+4>>2]|0;n=b+4|0;if((m|0)!=(c[n>>2]|0))ca(1750,1803,460,1875);f=a+8|0;h=c[f>>2]|0;i=d+8|0;if((h|0)!=(c[i>>2]|0))ca(1750,1803,460,1875);j=b+8|0;k=c[j>>2]|0;if((h|0)==0|((m|0)==0|(k|0)==0)){l=p;return}q=+g[e>>2];r=o;c[r>>2]=0;c[r+4>>2]=0;r=o+8|0;c[r>>2]=h;e=o+12|0;c[e>>2]=m;m=o+16|0;c[m>>2]=k;Ka(m,r,e,1);m=c[m>>2]|0;c[o+20>>2]=N(m,c[r>>2]|0)|0;c[o+24>>2]=N(c[e>>2]|0,m)|0;m=c[j>>2]|0;Ta(c[i>>2]|0,c[n>>2]|0,m,c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,m,c[a>>2]|0,c[f>>2]|0,q,o,0);a=c[o>>2]|0;if(a|0)Wa(c[a+-4>>2]|0);a=c[o+4>>2]|0;if(a|0)Wa(c[a+-4>>2]|0);l=p;return}function Sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0;h=c[a+8>>2]|0;i=(c[a>>2]|0)+((N(h,b)|0)<<2)|0;if(!((h|0)>-1|(i|0)==0))ca(440,381,175,432);if((b|0)<=-1)ca(1179,1346,122,1395);if((c[a+4>>2]|0)<=(b|0))ca(1179,1346,122,1395);b=c[a+20>>2]|0;f=(c[a+16>>2]|0)+((N(b,d)|0)<<2)|0;if(!((b|0)>-1|(f|0)==0))ca(440,381,175,432);if((d|0)<=-1)ca(1179,1346,122,1395);if((c[a+24>>2]|0)<=(d|0))ca(1179,1346,122,1395);if((h|0)!=(b|0))ca(809,866,110,923);if(!h){e=0.0;return +e}if((h|0)<=0)ca(1401,1469,413,1518);e=+g[i>>2]*+g[f>>2];if((h|0)==1)return +e;else b=1;do{e=e+ +g[i+(b<<2)>>2]*+g[f+(b<<2)>>2];b=b+1|0}while((b|0)<(h|0));return +e}function Ta(a,b,d,e,f,g,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;P=l;l=l+16|0;J=P+10|0;K=P+9|0;L=P+8|0;M=P;O=c[m+16>>2]|0;I=c[m+8>>2]|0;r=(I|0)<(a|0);I=r?I:a;H=c[m+12>>2]|0;s=(H|0)<(b|0);H=s?H:b;n=N(I,O)|0;q=N(H,O)|0;if(n>>>0>1073741823){j=da(4)|0;Ab(j);fa(j|0,72,6)}o=c[m>>2]|0;p=n<<2;if(!o)do if(p>>>0>=131073){n=Va(p+16|0)|0;o=n+16&-16;if(!n){j=da(4)|0;Ab(j);fa(j|0,72,6)}c[o+-4>>2]=n;if(!o){j=da(4)|0;Ab(j);fa(j|0,72,6)}else{n=c[m>>2]|0;break}}else{o=l;l=l+((1*(p+15|0)|0)+15&-16)|0;o=o+15&-16;n=0}while(0);else n=o;G=(n|0)==0?o:0;F=p>>>0>131072;if(q>>>0>1073741823){j=da(4)|0;Ab(j);fa(j|0,72,6)}m=m+4|0;p=c[m>>2]|0;q=q<<2;if(!p)do if(q>>>0>=131073){n=Va(q+16|0)|0;p=n+16&-16;if(!n){j=da(4)|0;Ab(j);fa(j|0,72,6)}c[p+-4>>2]=n;if(!p){j=da(4)|0;Ab(j);fa(j|0,72,6)}else{n=c[m>>2]|0;break}}else{p=l;l=l+((1*(q+15|0)|0)+15&-16)|0;p=p+15&-16;n=0}while(0);else n=p;E=(n|0)==0?p:0;D=q>>>0>131072;q=s|(O|0)==(d|0)&r^1;if((a|0)>0){v=(d|0)>0;w=M+4|0;x=(b|0)>0;y=M+4|0;z=M+4|0;s=0;do{t=s;s=s+I|0;A=((s|0)>(a|0)?a:s)-t|0;if(v){B=N(t,f)|0;C=q|(t|0)==0;r=0;do{m=r;r=r+O|0;u=((r|0)>(d|0)?d:r)-m|0;c[M>>2]=e+(m+B<<2);c[w>>2]=f;Ua(J,o,M,u,A,0,0);if(x)if(C){n=0;do{R=n;n=n+H|0;Q=((n|0)>(b|0)?b:n)-R|0;c[M>>2]=g+((N(R,h)|0)+m<<2);c[y>>2]=h;Na(K,p,M,u,Q,0,0);c[M>>2]=i+((N(R,j)|0)+t<<2);c[z>>2]=j;Oa(L,M,o,p,A,u,Q,k,-1,-1,0,0)}while((n|0)<(b|0))}else{n=0;do{R=n;n=n+H|0;c[M>>2]=i+((N(R,j)|0)+t<<2);c[z>>2]=j;Oa(L,M,o,p,A,u,((n|0)>(b|0)?b:n)-R|0,k,-1,-1,0,0)}while((n|0)<(b|0))}}while((r|0)<(d|0))}}while((s|0)<(a|0))}if(!((E|0)==0|D^1))Wa(c[E+-4>>2]|0);if((G|0)==0|F^1){l=P;return}Wa(c[G+-4>>2]|0);l=P;return}function Ua(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;if(h|g|0)ca(1889,1980,1813,2056);n=(e|0)>0;k=c[d>>2]|0;m=d+4|0;l=c[m>>2]|0;if((f|0)>0){a=0;g=0;do{if(n){j=N(l,a)|0;h=0;i=g;while(1){c[b+(i<<2)>>2]=c[k+(j+h<<2)>>2];h=h+1|0;if((h|0)==(e|0))break;else i=i+1|0}g=g+e|0}a=a+1|0}while((a|0)<(f|0))}else{g=0;a=0}if((a|0)>=(f|0))return;l=c[d>>2]|0;k=c[m>>2]|0;if(n)j=a;else return;while(1){i=N(k,j)|0;a=0;h=g;while(1){c[b+(h<<2)>>2]=c[l+(i+a<<2)>>2];a=a+1|0;if((a|0)==(e|0))break;else h=h+1|0}j=j+1|0;if((j|0)==(f|0))break;else g=g+e|0}return}function Va(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[11125504]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=44502056+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[11125504]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[11125506]|0;if(m>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=44502056+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[11125504]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[11125509]|0;b=n>>>3;d=44502056+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[11125504]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11125506]=h;c[11125509]=f;w=i;l=x;return w|0}j=c[11125505]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[44502320+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0<d>>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=44502320+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[11125505]=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[11125509]|0;b=n>>>3;d=44502056+(b<<1<<2)|0;b=1<<b;if(!(o&b)){c[11125504]=o|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11125506]=h;c[11125509]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[11125505]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<<o;n=(v+520192|0)>>>16&4;v=v<<n;j=(v+245760|0)>>>16&2;j=14-(n|o|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[44502320+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0<e>>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<j;a=k&(a|0-a);if(!a){n=m;break}o=(a&0-a)+-1|0;i=o>>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[44502320+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0<e>>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[11125506]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=44502320+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<<a);c[11125505]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=44502056+(b<<1<<2)|0;a=c[11125504]|0;b=1<<b;if(!(a&b)){c[11125504]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=44502320+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[11125505]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[11125506]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[11125509]|0;if(b>>>0>15){w=a+n|0;c[11125509]=w;c[11125506]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[11125506]=0;c[11125509]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[11125507]|0;if(i>>>0>n>>>0){u=i-n|0;c[11125507]=u;w=c[11125510]|0;v=w+n|0;c[11125510]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[11125622]|0)){c[11125624]=4096;c[11125623]=4096;c[11125625]=-1;c[11125626]=-1;c[11125627]=0;c[11125615]=0;c[11125622]=p&-16^1431655768;a=4096}else a=c[11125624]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[11125614]|0;if(a|0?(o=c[11125612]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[11125615]&4)){d=c[11125510]|0;c:do if(d){e=44502464;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=Fb(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=Fb(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[11125623]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[11125612]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[11125614]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=Fb(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[11125624]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((Fb(a|0)|0)==(-1|0)){Fb(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[11125615]=c[11125615]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=Fb(m|0)|0,s=Fb(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[11125612]|0)+h|0;c[11125612]=b;if(b>>>0>(c[11125613]|0)>>>0)c[11125613]=b;j=c[11125510]|0;do if(j){b=44502464;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[11125507]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[11125510]=v;c[11125507]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[11125511]=c[11125626];break}if(g>>>0<(c[11125508]|0)>>>0)c[11125508]=g;a=g+h|0;b=44502464;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=44502464;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[11125509]|0)==(b|0)){w=(c[11125506]|0)+i|0;c[11125506]=w;c[11125509]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[11125504]=c[11125504]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=44502320+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[11125505]=c[11125505]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=44502056+(b<<1<<2)|0;a=c[11125504]|0;b=1<<b;if(!(a&b)){c[11125504]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=44502320+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[11125505]|0;d=1<<b;if(!(a&d)){c[11125505]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[11125507]|0)+i|0;c[11125507]=w;c[11125510]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=44502464;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[11125510]=v;c[11125507]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[11125511]=c[11125626];d=a+4|0;c[d>>2]=27;c[b>>2]=c[11125616];c[b+4>>2]=c[11125617];c[b+8>>2]=c[11125618];c[b+12>>2]=c[11125619];c[11125616]=g;c[11125617]=h;c[11125619]=0;c[11125618]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=44502056+(b<<1<<2)|0;a=c[11125504]|0;b=1<<b;if(!(a&b)){c[11125504]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=44502320+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[11125505]|0;a=1<<d;if(!(b&a)){c[11125505]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[11125508]|0;if((w|0)==0|g>>>0<w>>>0)c[11125508]=g;c[11125616]=g;c[11125617]=h;c[11125619]=0;c[11125513]=c[11125622];c[11125512]=-1;c[11125517]=44502056;c[11125516]=44502056;c[11125519]=44502064;c[11125518]=44502064;c[11125521]=44502072;c[11125520]=44502072;c[11125523]=44502080;c[11125522]=44502080;c[11125525]=44502088;c[11125524]=44502088;c[11125527]=44502096;c[11125526]=44502096;c[11125529]=44502104;c[11125528]=44502104;c[11125531]=44502112;c[11125530]=44502112;c[11125533]=44502120;c[11125532]=44502120;c[11125535]=44502128;c[11125534]=44502128;c[11125537]=44502136;c[11125536]=44502136;c[11125539]=44502144;c[11125538]=44502144;c[11125541]=44502152;c[11125540]=44502152;c[11125543]=44502160;c[11125542]=44502160;c[11125545]=44502168;c[11125544]=44502168;c[11125547]=44502176;c[11125546]=44502176;c[11125549]=44502184;c[11125548]=44502184;c[11125551]=44502192;c[11125550]=44502192;c[11125553]=44502200;c[11125552]=44502200;c[11125555]=44502208;c[11125554]=44502208;c[11125557]=44502216;c[11125556]=44502216;c[11125559]=44502224;c[11125558]=44502224;c[11125561]=44502232;c[11125560]=44502232;c[11125563]=44502240;c[11125562]=44502240;c[11125565]=44502248;c[11125564]=44502248;c[11125567]=44502256;c[11125566]=44502256;c[11125569]=44502264;c[11125568]=44502264;c[11125571]=44502272;c[11125570]=44502272;c[11125573]=44502280;c[11125572]=44502280;c[11125575]=44502288;c[11125574]=44502288;c[11125577]=44502296;c[11125576]=44502296;c[11125579]=44502304;c[11125578]=44502304;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[11125510]=v;c[11125507]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[11125511]=c[11125626]}while(0);b=c[11125507]|0;if(b>>>0>n>>>0){u=b-n|0;c[11125507]=u;w=c[11125510]|0;v=w+n|0;c[11125510]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(Xa()|0)>>2]=12;w=0;l=x;return w|0}function Wa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[11125508]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[11125509]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[11125506]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[11125504]=c[11125504]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=44502320+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[11125505]=c[11125505]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[11125510]|0)==(j|0)){j=(c[11125507]|0)+b|0;c[11125507]=j;c[11125510]=i;c[i+4>>2]=j|1;if((i|0)!=(c[11125509]|0))return;c[11125509]=0;c[11125506]=0;return}if((c[11125509]|0)==(j|0)){j=(c[11125506]|0)+b|0;c[11125506]=j;c[11125509]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[11125504]=c[11125504]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=44502320+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[11125505]=c[11125505]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[11125509]|0)){c[11125506]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=44502056+(a<<1<<2)|0;b=c[11125504]|0;a=1<<a;if(!(b&a)){c[11125504]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=44502320+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[11125505]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[11125505]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[11125512]|0)+-1|0;c[11125512]=j;if(!j)a=44502472;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[11125512]=-1;return}function Xa(){return 44502512}function Ya(a){a=+a;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,k=0.0;d=(g[j>>2]=a,c[j>>2]|0);b=d&2147483647;d=d>>>31;do if(b>>>0>1100331075){if(b>>>0<=2139095040)if(!d)if(a>88.7216796875)a=a*1701411834604692317316873.0e14;else i=11;else a=-1.0}else{if(b>>>0<=1051816472)if(b>>>0<855638016)break;else{h=0.0;b=0;i=14;break}if(b>>>0<1065686418)if(!d){b=1;e=a+-.6931381225585938;f=9.05800061445916e-06;i=12;break}else{b=-1;e=a+.6931381225585938;f=-9.05800061445916e-06;i=12;break}else i=11}while(0);if((i|0)==11){b=~~(a*1.4426950216293335+(d|0?-.5:.5));f=+(b|0);e=a-f*.6931381225585938;f=f*9.05800061445916e-06;i=12}if((i|0)==12){h=e-f;a=h;h=e-h-f;i=14}a:do if((i|0)==14){f=a*.5;e=a*f;k=e*(e*1.5807170420885086e-03+-.03333321213722229)+1.0;f=3.0-f*k;f=e*((k-f)/(6.0-a*f));if(!b){a=a-(a*f-e);break}e=a*(f-h)-h-e;switch(b|0){case -1:{a=(a-e)*.5+-.5;break a}case 1:if(a<-.25){a=(e-(a+.5))*-2.0;break a}else{a=(a-e)*2.0+1.0;break a}default:{f=(c[j>>2]=(b<<23)+1065353216,+g[j>>2]);if(b>>>0>56){a=a-e+1.0;a=((b|0)==128?a*2.0*1701411834604692317316873.0e14:a*f)+-1.0;break a}else{i=(b|0)<23;k=(c[j>>2]=127-b<<23,+g[j>>2]);a=((i?1.0-k:1.0)+(a-(i?e:e+k)))*f;break a}}}}while(0);return +a}function Za(a){a=+a;var b=0,d=0;d=(g[j>>2]=a,c[j>>2]|0);b=d&2147483647;a=(c[j>>2]=b,+g[j>>2]);do if(b>>>0>1057791828)if(b>>>0>1092616192){a=0.0/a+1.0;break}else{a=1.0-2.0/(+Ya(a*2.0)+2.0);break}else{if(b>>>0>1048757624){a=+Ya(a*2.0);a=a/(a+2.0);break}if(b>>>0>8388607){a=+Ya(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function _a(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Va(b)|0;if(a|0)break;a=Bb()|0;if(!a){a=0;break}na[a&0]()}return a|0}function $a(a){a=a|0;return _a(a)|0}function ab(a){a=a|0;Wa(a);return}function bb(a){a=a|0;ab(a);return}function cb(a){a=a|0;return}function db(a){a=a|0;cb(a);ab(a);return}function eb(a){a=a|0;return}function fb(a){a=a|0;return}function gb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;f=h;if(!(kb(a,b,0)|0))if((b|0)!=0?(g=ob(b,32,16,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;pa[c[(c[g>>2]|0)+28>>2]&3](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;l=h;return b|0}function hb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(kb(a,c[b+8>>2]|0,g)|0)nb(0,b,d,e,f);return}function ib(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(kb(b,c[d+8>>2]|0,g)|0)){if(kb(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else mb(0,d,e,f);while(0);return}function jb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(kb(a,c[b+8>>2]|0,0)|0)lb(0,b,d,e);return}function kb(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function lb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function nb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function ob(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;o=q;n=c[d>>2]|0;p=d+(c[n+-8>>2]|0)|0;n=c[n+-4>>2]|0;c[o>>2]=f;c[o+4>>2]=d;c[o+8>>2]=e;c[o+12>>2]=g;d=o+16|0;e=o+20|0;g=o+24|0;h=o+28|0;i=o+32|0;j=o+40|0;k=d;m=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(kb(n,f,0)|0){c[o+48>>2]=1;ra[c[(c[n>>2]|0)+20>>2]&3](n,o,p,p,1,0);d=(c[g>>2]|0)==1?p:0}else{qa[c[(c[n>>2]|0)+24>>2]&3](n,o,p,1,0);switch(c[o+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);l=q;return d|0}function pb(a){a=a|0;cb(a);ab(a);return}function qb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(kb(a,c[b+8>>2]|0,g)|0)nb(0,b,d,e,f);else{a=c[a+8>>2]|0;ra[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function rb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(kb(b,c[d+8>>2]|0,g)|0)){if(!(kb(b,c[d>>2]|0,g)|0)){j=c[b+8>>2]|0;qa[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;ra[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[k>>0]|0)if(!(a[f>>0]|0)){f=3;j=11}else f=3;else{f=4;j=11}if((j|0)==11){c[h>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1}c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else mb(0,d,e,f);while(0);return}function sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(kb(a,c[b+8>>2]|0,0)|0)lb(0,b,d,e);else{a=c[a+8>>2]|0;pa[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function tb(a){a=a|0;return}function ub(a){a=a|0;return}function vb(a){a=a|0;ub(a);ab(a);return}function wb(a){a=a|0;return 2311}function xb(a){a=a|0;return}function yb(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function zb(a){a=a|0;return}function Ab(a){a=a|0;c[a>>2]=356;return}function Bb(){var a=0;a=c[11125629]|0;c[11125629]=a+0;return a|0}function Cb(){}function Db(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ja(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Eb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Fb(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){V()|0;ia(12);return -1}c[i>>2]=a;if((a|0)>(U()|0)?(T()|0)==0:0){c[i>>2]=b;ia(12);return -1}return b|0}function Gb(a,b){a=a|0;b=b|0;return la[a&1](b|0)|0}function Hb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma[a&1](b|0,c|0,d|0)|0}function Ib(a){a=a|0;na[a&0]()}function Jb(a,b){a=a|0;b=b|0;oa[a&7](b|0)}function Kb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;pa[a&3](b|0,c|0,d|0,e|0)}function Lb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa[a&3](b|0,c|0,d|0,e|0,f|0)}function Mb(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Nb(a){a=a|0;R(0);return 0}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;R(1);return 0}function Pb(){R(2)}function Qb(a){a=a|0;R(3)}function Rb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(4)}function Sb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;R(5)}function Tb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;R(6)}
  
  // EMSCRIPTEN_END_FUNCS
  var la=[Nb,wb];var ma=[Ob,gb];var na=[Pb];var oa=[Qb,cb,db,eb,fb,pb,ub,vb];var pa=[Rb,jb,sb,Rb];var qa=[Sb,ib,rb,Sb];var ra=[Tb,hb,qb,Tb];return{___errno_location:Xa,_allocate_dynamic_buffer:Ba,_free:Wa,_get_dynamic_buffer:Ca,_get_static_buffer:Aa,_init:za,_malloc:Va,_memcpy:Db,_memset:Eb,_run:Ga,_sbrk:Fb,_set_placeholder_value:Da,dynCall_ii:Gb,dynCall_iiii:Hb,dynCall_v:Ib,dynCall_vi:Jb,dynCall_viiii:Kb,dynCall_viiiii:Lb,dynCall_viiiiii:Mb,establishStackSpace:va,getTempRet0:ya,runPostSets:Cb,setTempRet0:xa,setThrew:wa,stackAlloc:sa,stackRestore:ua,stackSave:ta}})
  
  
  // EMSCRIPTEN_END_ASM
  (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _allocate_dynamic_buffer=Module["_allocate_dynamic_buffer"]=asm["_allocate_dynamic_buffer"];var _free=Module["_free"]=asm["_free"];var _get_dynamic_buffer=Module["_get_dynamic_buffer"]=asm["_get_dynamic_buffer"];var _get_static_buffer=Module["_get_static_buffer"]=asm["_get_static_buffer"];var _init=Module["_init"]=asm["_init"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memset=Module["_memset"]=asm["_memset"];var _run=Module["_run"]=asm["_run"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _set_placeholder_value=Module["_set_placeholder_value"]=asm["_set_placeholder_value"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}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;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};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"]();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)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(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()()}}Module["noExitRuntime"]=true;run()
  
  
  
  
  