20 lines
665 KiB
JavaScript
20 lines
665 KiB
JavaScript
var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB;var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var 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}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(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=Runtime.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){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["cwrap"]=cwrap;Module["ccall"]=ccall;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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;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];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;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 Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){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)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;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}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;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}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(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(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){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 ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;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){Runtime.dynCall("v",func)}else{Runtime.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)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;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["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;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}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];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_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function($0,$1){{Module.printErr("bad name in getProcAddress: "+[Pointer_stringify($0),Pointer_stringify($1)])}})];function _emscripten_asm_const_2(code,a0,a1){return ASM_CONSTS[code](a0,a1)|0}STATIC_BASE=8;STATICTOP=STATIC_BASE+122912;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_metaballs_cpp()})},{func:(function(){__GLOBAL__sub_I_entry_asmjs_cpp()})},{func:(function(){__GLOBAL__sub_I_entry_cpp()})});memoryInitializer="example-02-metaballsRelease.bc.html.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},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)}}),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:16,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}),computeImageSize:(function(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}),get:(function(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break;case 35738:ret=5121;break;case 35739:ret=6408;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"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}}),getTexPixelData:(function(type,format,width,height,pixels,internalFormat){var sizePerPixel;var numChannels;switch(format){case 6406:case 6409:case 6402:case 6403:numChannels=1;break;case 6410:case 33319:numChannels=2;break;case 6407:numChannels=3;break;case 6408:numChannels=4;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}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{pixels:null,internalFormat:0}}var bytes=GL.computeImageSize(width,height,sizePerPixel,GL.unpackAlignment);if(type==5121){pixels=HEAPU8.subarray(pixels,pixels+bytes)}else if(type==5126){pixels=HEAPF32.subarray(pixels>>2,pixels+bytes>>2)}else if(type==5125||type==34042){pixels=HEAPU32.subarray(pixels>>2,pixels+bytes>>2)}else{pixels=HEAPU16.subarray(pixels>>1,pixels+bytes>>1)}return{pixels:pixels,internalFormat:internalFormat}}),validateBufferTarget:(function(target){switch(target){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return true;default:return false}}),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)||canvas.getContext("experimental-webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){Module.print("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;return GL.registerContext(ctx,webGLContextAttributes)}),registerContext:(function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,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);context.compressionExt=GLctx.getExtension("WEBGL_compressed_texture_s3tc");context.anisotropicExt=GLctx.getExtension("EXT_texture_filter_anisotropic");context.floatExt=GLctx.getExtension("OES_texture_float");context.instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");context.vaoExt=GLctx.getExtension("OES_vertex_array_object");if(context.version===2){context.drawBuffersExt=(function(n,bufs){GLctx.drawBuffers(n,bufs)})}else{var ext=GLctx.getExtension("WEBGL_draw_buffers");if(ext){context.drawBuffersExt=(function(n,bufs){ext.drawBuffersWEBGL(n,bufs)})}}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","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod"];function shouldEnableAutomatically(extension){var ret=false;automaticallyEnabledExtensions.forEach((function(include){if(ext.indexOf(include)!=-1){ret=true}}));return ret}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};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);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 _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}var _DtoILow=true;var _UItoD=true;function _emscripten_glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}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};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 ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>2]=value;return value}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 fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);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){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](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.buffer.byteLength: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)}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);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()})}))}),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,{encoding:"binary",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 errored=false;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/)}),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&146)>>1}}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)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{return flags}}),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.flagsToPermissionString(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;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),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 _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);function _fflush(stream){}var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},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 accmode=flag&2097155;var perms=["r","w","rw"][accmode];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((flags&2097155)!==0||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}),getStreamFromPtr:(function(ptr){return FS.streams[ptr-1]}),getPtrForStream:(function(stream){return stream?stream.fd+1:0}),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}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(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)}),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){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;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(lookup.node.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(!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;Module["printErr"]("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){try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){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((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=true;if(typeof position==="undefined"){position=stream.position;seeking=false}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((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=true;if(typeof position==="undefined"){position=stream.position;seeking=false}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(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(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";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});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")}),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");HEAP32[_stdin>>2]=FS.getPtrForStream(stdin);assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(stdout);assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(stderr);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]};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()}),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;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 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]}));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.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"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.defineProperty(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})};function _close(fildes){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{FS.close(stream);return 0}catch(e){FS.handleFSError(e);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fclose(stream){var fd=_fileno(stream);return _close(fd)}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}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 _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 _glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.programInfos[program]=null;GL.populateUniformTable(program)}function _glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 7938:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i in exts){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:ret=allocate(intArrayFromString("OpenGL ES GLSL 1.00 (WebGL)"),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glUniform3iv(location,count,value){location=GL.uniforms[location];count*=3;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform3iv(location,value)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _mkport(){throw"TODO"}var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocket=ENVIRONMENT_IS_NODE?require("ws"):window["WebSocket"];ws=new WebSocket(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port||_mkport();if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}Module["_strlen"]=_strlen;function _fputs(s,stream){var fd=_fileno(stream);return _write(fd,s,_strlen(s))}function _emscripten_glIsTexture(texture){var texture=GL.textures[texture];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_get_now(){if(!_emscripten_get_now.actual){if(ENVIRONMENT_IS_NODE){_emscripten_get_now.actual=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now.actual=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now.actual=function _emscripten_get_now_actual(){return self["performance"]["now"]()}}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now.actual=function _emscripten_get_now_actual(){return performance["now"]()}}else{_emscripten_get_now.actual=Date.now}}return _emscripten_get_now.actual()}function _emscripten_glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glSampleCoverage(x0,x1){GLctx.sampleCoverage(x0,x1)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){location=GL.uniforms[location];GLctx.uniform4f(location,v0,v1,v2,v3)}function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}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 _emscripten_glGetTexParameterfv(target,pname,params){HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){location=GL.uniforms[location];GLctx.uniform4i(location,v0,v1,v2,v3)}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glFrustum(){Module["printErr"]("missing function: emscripten_glFrustum");abort(-1)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.programInfos[program]=null;GL.populateUniformTable(program)}function _emscripten_glUniform3f(location,v0,v1,v2){location=GL.uniforms[location];GLctx.uniform3f(location,v0,v1,v2)}function _emscripten_glGetObjectParameterivARB(){Module["printErr"]("missing function: emscripten_glGetObjectParameterivARB");abort(-1)}function _emscripten_glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _emscripten_glUniform3i(location,v0,v1,v2){location=GL.uniforms[location];GLctx.uniform3i(location,v0,v1,v2)}function _emscripten_glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glUniform1i(location,v0){location=GL.uniforms[location];GLctx.uniform1i(location,v0)}function _emscripten_glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}var _cosf=Math_cos;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(data){data=HEAPU8.subarray(data,data+imageSize)}else{data=null}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data)}function _glDisable(x0){GLctx.disable(x0)}function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}Module["_memset"]=_memset;var _BDtoILow=true;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}function _glCullFace(x0){GLctx.cullFace(x0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glNormalPointer(){Module["printErr"]("missing function: emscripten_glNormalPointer");abort(-1)}var _emscripten_GetProcAddress=undefined;Module["_emscripten_GetProcAddress"]=_emscripten_GetProcAddress;function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}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(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}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 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();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}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("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((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));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)Module.printErr("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){Runtime.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);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===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&&canvas.requestPointerLock){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}canvas.style.backgroundColor="black"}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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}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);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),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}}),xhrLoad:(function(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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),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+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||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})};function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}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 _emscripten_glGetVertexAttribfv(index,pname,params){var data=GLctx.getVertexAttrib(index,pname);if(typeof data=="number"){HEAPF32[params>>2]=data}else{for(var i=0;i<data.length;i++){HEAPF32[params+i>>2]=data[i]}}}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,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;writeStringToMemory(e.key?e.key:"",JSEvents.keyEvent+0);writeStringToMemory(e.code?e.code:"",JSEvents.keyEvent+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;writeStringToMemory(e.locale?e.locale:"",JSEvents.keyEvent+88);writeStringToMemory(e.char?e.char:"",JSEvents.keyEvent+120);HEAP32[JSEvents.keyEvent+152>>2]=e.charCode;HEAP32[JSEvents.keyEvent+156>>2]=e.keyCode;HEAP32[JSEvents.keyEvent+160>>2]=e.which;var shouldCancel=Runtime.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}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=Runtime.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=Runtime.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"];HEAPF64[JSEvents.wheelEvent+80>>3]=-e["wheelDeltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=Runtime.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=Runtime.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:"";writeStringToMemory(nodeName,JSEvents.focusEvent+0);writeStringToMemory(id,JSEvents.focusEvent+128);var shouldCancel=Runtime.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=Runtime.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.deviceOrientationEvent>>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=Runtime.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=Runtime.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.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:"";writeStringToMemory(nodeName,eventStruct+8);writeStringToMemory(id,eventStruct+136);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=Runtime.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){Runtime.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:"";writeStringToMemory(nodeName,eventStruct+4);writeStringToMemory(id,eventStruct+132)}),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=Runtime.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)}),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=Runtime.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=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.touchEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,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;writeStringToMemory(e.id,eventStruct+1304);writeStringToMemory(e.mapping,eventStruct+1368)}),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=Runtime.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=Runtime.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=Runtime.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=Runtime.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)})};function _emscripten_set_keyup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup");return 0}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 ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}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_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_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}var _sinf=Math_sin;function _emscripten_glUniformMatrix2fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];for(var i=0;i<4;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(location,transpose,view)}function _glUniform1iv(location,count,value){location=GL.uniforms[location];value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform1iv(location,value)}function _emscripten_glGetVertexAttribiv(index,pname,params){var data=GLctx.getVertexAttrib(index,pname);if(typeof data=="number"||typeof data=="boolean"){HEAP32[params>>2]=data}else{for(var i=0;i<data.length;i++){HEAP32[params+i>>2]=data[i]}}}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[15];for(var i=0;i<16;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(location,transpose,view)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GL.currentContext.instancedArraysExt.drawArraysInstancedANGLE(mode,first,count,primcount)}function _emscripten_glCullFace(x0){GLctx.cullFace(x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function _emscripten_glStencilMask(x0){GLctx.stencilMask(x0)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;Module["_i64Add"]=_i64Add;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){if(info.destructor){Runtime.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}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(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(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["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(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};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 _glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}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)}var __currentFullscreenStrategy={};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){Runtime.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_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glGetProgramiv(program,pname,p){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){var ptable=GL.programInfos[program];if(ptable){HEAP32[p>>2]=ptable.maxUniformLength;return}else if(program<GL.counter){GL.recordError(1282)}else{GL.recordError(1281)}}else if(pname==35722){var ptable=GL.programInfos[program];if(ptable){if(ptable.maxAttributeLength==-1){var 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;return}else if(program<GL.counter){GL.recordError(1282)}else{GL.recordError(1281)}}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glFinish(){GLctx.finish()}function _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 _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDepthFunc(x0){GLctx.depthFunc(x0)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glUniform4iv(location,count,value){location=GL.uniforms[location];count*=4;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform4iv(location,value)}function _glClear(x0){GLctx.clear(x0)}function _emscripten_set_resize_callback(target,userData,useCapture,callbackfunc){JSEvents.registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize");return 0}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_glUniform3fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[2];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2]}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(location,view)}function _glActiveTexture(x0){GLctx.activeTexture(x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glEnable(x0){GLctx.enable(x0)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}function _glReadPixels(x,y,width,height,format,type,pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,format);if(!data.pixels){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,data.pixels)}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}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 _glUniformMatrix3fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[8];for(var i=0;i<9;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(location,transpose,view)}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 _ftell(stream){stream=FS.getStreamFromPtr(stream);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}if(FS.isChrdev(stream.node.mode)){___setErrNo(ERRNO_CODES.ESPIPE);return-1}else{return stream.position}}function _ftello(){return _ftell.apply(null,arguments)}function _emscripten_glUniform4fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2];view[3]=HEAPF32[value+12>>2]}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(location,view)}function _emscripten_glClearStencil(x0){GLctx.clearStencil(x0)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GL.currentContext.vaoExt.deleteVertexArrayOES(GL.vaos[id]);GL.vaos[id]=null}}function _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}}var _tanf=Math_tan;function ___errno_location(){return ___errno_state}function _strerror_r(errnum,strerrbuf,buflen){if(errnum in ERRNO_MESSAGES){if(ERRNO_MESSAGES[errnum].length>buflen-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var msg=ERRNO_MESSAGES[errnum];writeAsciiToMemory(msg,strerrbuf);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(errnum){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(errnum,_strerror.buffer,256);return _strerror.buffer}function _emscripten_glGetTexParameteriv(target,pname,params){HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glActiveTexture(x0){GLctx.activeTexture(x0)}function _emscripten_glGenerateMipmap(x0){GLctx.generateMipmap(x0)}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _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 _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _emscripten_glHint(x0,x1){GLctx.hint(x0,x1)}var _SItoD=true;function _emscripten_glUniform2fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[1];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2]}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(location,view)}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}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 _abort(){Module["abort"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}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_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glUniform2iv(location,count,value){location=GL.uniforms[location];count*=2;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform2iv(location,value)}function _emscripten_glVertexAttrib1fv(index,v){v=HEAPF32.subarray(v>>2,v+4>>2);GLctx.vertexAttrib1fv(index,v)}function _glEnable(x0){GLctx.enable(x0)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,-1);pixels=data.pixels}else{pixels=null}GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}function _emscripten_glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}var _emscripten_asm_const_int=true;function _emscripten_glUniform2f(location,v0,v1){location=GL.uniforms[location];GLctx.uniform2f(location,v0,v1)}function _glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _emscripten_glUniform2i(location,v0,v1){location=GL.uniforms[location];GLctx.uniform2i(location,v0,v1)}function _emscripten_glEnableClientState(){Module["printErr"]("missing function: emscripten_glEnableClientState");abort(-1)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}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_glGetBufferParameteriv(target,value,data){HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetUniformiv(program,location,params){var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){HEAP32[params>>2]=data}else{for(var i=0;i<data.length;i++){HEAP32[params+i>>2]=data[i]}}}function _emscripten_glDepthMask(x0){GLctx.depthMask(x0)}function _emscripten_glGetPointerv(){Module["printErr"]("missing function: emscripten_glGetPointerv");abort(-1)}function _emscripten_glDepthRange(x0,x1){GLctx.depthRange(x0,x1)}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_glUniform1fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[0];view[0]=HEAPF32[value>>2]}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(location,view)}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}}function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}function _emscripten_glBindProgramARB(){Module["printErr"]("missing function: emscripten_glBindProgramARB");abort(-1)}function _emscripten_glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}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_glDisable(x0){GLctx.disable(x0)}function _emscripten_glVertexAttrib3fv(index,v){v=HEAPF32.subarray(v>>2,v+12>>2);GLctx.vertexAttrib3fv(index,v)}function _glFlush(){GLctx.flush()}function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glLineWidth(x0){GLctx.lineWidth(x0)}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 7938:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i in exts){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:ret=allocate(intArrayFromString("OpenGL ES GLSL 1.00 (WebGL)"),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}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 _emscripten_glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _emscripten_glRotatef(){Module["printErr"]("missing function: emscripten_glRotatef");abort(-1)}function _emscripten_glGetIntegerv(name_,p){return GL.get(name_,p,"Integer")}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);HEAP32[params>>2]=result}function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}function _emscripten_glClientActiveTexture(){Module["printErr"]("missing function: emscripten_glClientActiveTexture");abort(-1)}function _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_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_set_mouseup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup");return 0}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}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);Runtime.dynCall("vii",GLUT.passiveMotionFunc,[lastX,lastY])}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.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);Runtime.dynCall("viii",GLUT.specialFunc,[key,Browser.mouseX,Browser.mouseY])}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.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);Runtime.dynCall("viii",GLUT.specialUpFunc,[key,Browser.mouseX,Browser.mouseY])}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.keyboardUpFunc,[key,Browser.mouseX,Browser.mouseY])}}}}),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);Runtime.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);Runtime.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);Runtime.dynCall("viiii",GLUT.mouseFunc,[button,0,Browser.mouseX,Browser.mouseY])}}),onFullScreenEventChange:(function(event){var width;var height;if(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);if(GLUT.reshapeFunc){Runtime.dynCall("vii",GLUT.reshapeFunc,[width,height])}_glutPostRedisplay()}),requestFullScreen:(function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["requestFullScreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||(function(){});RFS.apply(Module["canvas"],[])}),cancelFullScreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])})};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};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}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 _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,format);if(!data.pixels){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,data.pixels)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(data){data=HEAPU8.subarray(data,data+imageSize)}else{data=null}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data)}function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}function _emscripten_glIsEnabled(x0){return GLctx.isEnabled(x0)}function _glClearDepthf(x0){GLctx.clearDepth(x0)}function _glClearStencil(x0){GLctx.clearStencil(x0)}Module["_memmove"]=_memmove;function _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_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}function _glColorMask(x0,x1,x2,x3){GLctx.colorMask(x0,x1,x2,x3)}function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(data){data=HEAPU8.subarray(data,data+imageSize)}else{data=null}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data)}function _emscripten_glClearDepthf(x0){GLctx.clearDepth(x0)}function _emscripten_glClear(x0){GLctx.clear(x0)}function _emscripten_glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _emscripten_glGetUniformfv(program,location,params){var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"){HEAPF32[params>>2]=data}else{for(var i=0;i<data.length;i++){HEAPF32[params+i>>2]=data[i]}}}function _glGetProgramiv(program,pname,p){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){var ptable=GL.programInfos[program];if(ptable){HEAP32[p>>2]=ptable.maxUniformLength;return}else if(program<GL.counter){GL.recordError(1282)}else{GL.recordError(1281)}}else if(pname==35722){var ptable=GL.programInfos[program];if(ptable){if(ptable.maxAttributeLength==-1){var 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;return}else if(program<GL.counter){GL.recordError(1282)}else{GL.recordError(1281)}}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glDepthFunc(x0){GLctx.depthFunc(x0)}function _emscripten_glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=allocate(intArrayFromString("Emscripten"),"i8",ALLOC_NORMAL);break;case 12372:ret=allocate(intArrayFromString("1.4 Emscripten EGL"),"i8",ALLOC_NORMAL);break;case 12373:ret=allocate(intArrayFromString(""),"i8",ALLOC_NORMAL);break;case 12429:ret=allocate(intArrayFromString("OpenGL_ES"),"i8",ALLOC_NORMAL);break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _emscripten_glDrawRangeElements(){Module["printErr"]("missing function: emscripten_glDrawRangeElements");abort(-1)}function _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 _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_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_glFrontFace(x0){GLctx.frontFace(x0)}function _emscripten_glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}function _emscripten_glUniform1iv(location,count,value){location=GL.uniforms[location];value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform1iv(location,value)}function _glUniform4fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2];view[3]=HEAPF32[value+12>>2]}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(location,view)}function _emscripten_glTexCoordPointer(){Module["printErr"]("missing function: emscripten_glTexCoordPointer");abort(-1)}function _emscripten_glGetInfoLogARB(){Module["printErr"]("missing function: emscripten_glGetInfoLogARB");abort(-1)}function _emscripten_set_mousedown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown");return 0}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}function _emscripten_set_mousemove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove");return 0}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glIsProgram(program){var program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}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 _emscripten_glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}function _emscripten_glGetShaderiv(shader,pname,p){if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[8];for(var i=0;i<9;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(location,transpose,view)}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}function _lseek(fildes,offset,whence){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{return FS.llseek(stream,offset,whence)}catch(e){FS.handleFSError(e);return-1}}function _fseek(stream,offset,whence){var fd=_fileno(stream);var ret=_lseek(fd,offset,whence);if(ret==-1){return-1}stream=FS.getStreamFromPtr(stream);stream.eof=false;return 0}function _fseeko(){return _fseek.apply(null,arguments)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}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}}Module["_strcpy"]=_strcpy;function _glGetShaderiv(shader,pname,p){if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glUniform1i(location,v0){location=GL.uniforms[location];GLctx.uniform1i(location,v0)}function _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_glVertexAttrib2fv(index,v){v=HEAPF32.subarray(v>>2,v+8>>2);GLctx.vertexAttrib2fv(index,v)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glDeleteObjectARB(){Module["printErr"]("missing function: emscripten_glDeleteObjectARB");abort(-1)}function _emscripten_glUniform1f(location,v0){location=GL.uniforms[location];GLctx.uniform1f(location,v0)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,normalized,stride,ptr)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _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 _open(path,oflag,varargs){var mode=HEAP32[varargs>>2];path=Pointer_stringify(path);try{var stream=FS.open(path,oflag,mode);return stream.fd}catch(e){FS.handleFSError(e);return-1}}function _fopen(filename,mode){var flags;mode=Pointer_stringify(mode);if(mode[0]=="r"){if(mode.indexOf("+")!=-1){flags=2}else{flags=0}}else if(mode[0]=="w"){if(mode.indexOf("+")!=-1){flags=2}else{flags=1}flags|=64;flags|=512}else if(mode[0]=="a"){if(mode.indexOf("+")!=-1){flags=2}else{flags=1}flags|=64;flags|=1024}else{___setErrNo(ERRNO_CODES.EINVAL);return 0}var fd=_open(filename,flags,allocate([511,0,0,0],"i32",ALLOC_STACK));return fd===-1?0:FS.getPtrForStream(FS.getStream(fd))}var _sqrtf=Math_sqrt;Module["_strncpy"]=_strncpy;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,-1);pixels=data.pixels}else{pixels=null}GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}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_glClearDepth(x0){GLctx.clearDepth(x0)}function _emscripten_set_keypress_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress");return 0}function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}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 _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 _glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _emscripten_glVertexAttrib4fv(index,v){v=HEAPF32.subarray(v>>2,v+16>>2);GLctx.vertexAttrib4fv(index,v)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _glBufferData(target,size,data,usage){switch(usage){case 35041:case 35042:usage=35040;break;case 35045:case 35046:usage=35044;break;case 35049:case 35050:usage=35048;break}if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}var _BDtoIHigh=true;function _emscripten_glGetRenderbufferParameteriv(target,pname,params){HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _emscripten_glDrawBuffers(n,bufs){var bufArray=[];for(var i=0;i<n;i++)bufArray.push(HEAP32[bufs+i*4>>2]);GL.currentContext.drawBuffersExt(bufArray)}function _glGetFloatv(name_,p){return GL.get(name_,p,"Float")}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,normalized,stride,ptr)}function _emscripten_glBlendEquation(x0){GLctx.blendEquation(x0)}function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _emscripten_set_keydown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown");return 0}function _emscripten_glBufferData(target,size,data,usage){switch(usage){case 35041:case 35042:usage=35040;break;case 35045:case 35046:usage=35044;break;case 35049:case 35050:usage=35048;break}if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;var _BItoD=true;function _glGetIntegerv(name_,p){return GL.get(name_,p,"Integer")}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;result=result.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&source){writeStringToMemory(result,source);if(length)HEAP32[length>>2]=result.length}else{if(length)HEAP32[length>>2]=0}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___cxa_guard_release(){}function _emscripten_glGetFloatv(name_,p){return GL.get(name_,p,"Float")}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,internalFormat);pixels=data.pixels;internalFormat=data.internalFormat}else{pixels=null}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glVertexAttribDivisor(index,divisor){GL.currentContext.instancedArraysExt.vertexAttribDivisorANGLE(index,divisor)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GL.currentContext.instancedArraysExt.drawElementsInstancedANGLE(mode,count,type,indices,primcount)}function _recv(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _read(fd,buf,len)}function _pread(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _read(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fread(ptr,size,nitems,stream){var bytesToRead=nitems*size;if(bytesToRead==0){return 0}var bytesRead=0;var streamObj=FS.getStreamFromPtr(stream);if(!streamObj){___setErrNo(ERRNO_CODES.EBADF);return 0}while(streamObj.ungotten.length&&bytesToRead>0){HEAP8[ptr++>>0]=streamObj.ungotten.pop();bytesToRead--;bytesRead++}var err=_read(streamObj.fd,ptr,bytesToRead);if(err==-1){if(streamObj)streamObj.error=true;return 0}bytesRead+=err;if(bytesRead<bytesToRead)streamObj.eof=true;return bytesRead/size|0}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}var _DtoIHigh=true;function _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_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(data){data=HEAPU8.subarray(data,data+imageSize)}else{data=null}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function _emscripten_glBindVertexArray(vao){GL.currentContext.vaoExt.bindVertexArrayOES(GL.vaos[vao])}function _emscripten_glLoadMatrixf(){Module["printErr"]("missing function: emscripten_glLoadMatrixf");abort(-1)}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function _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_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,internalFormat);pixels=data.pixels;internalFormat=data.internalFormat}else{pixels=null}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}function _glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glColorPointer(){Module["printErr"]("missing function: emscripten_glColorPointer");abort(-1)}function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}function _emscripten_glFlush(){GLctx.flush()}function _glDepthMask(x0){GLctx.depthMask(x0)}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glUniformMatrix4fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[15];for(var i=0;i<16;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(location,transpose,view)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _emscripten_glColorMask(x0,x1,x2,x3){GLctx.colorMask(x0,x1,x2,x3)}function _emscripten_glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}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 _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}function _emscripten_glGenVertexArrays(n,arrays){for(var i=0;i<n;i++){var vao=GL.currentContext.vaoExt.createVertexArrayOES();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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _emscripten_glGetBooleanv(name_,p){return GL.get(name_,p,"Boolean")}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);var GLctx;GL.init();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;___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;__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()}__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));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)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);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;asm["setThrew"](1,0)}}function invoke_vd(index,a1){try{Module["dynCall_vd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddd(index,a1,a2,a3,a4){try{Module["dynCall_viddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidddd(index,a1,a2,a3,a4,a5){try{Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdi(index,a1,a2){try{Module["dynCall_vdi"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdddd(index,a1,a2,a3,a4){try{Module["dynCall_vdddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdd(index,a1,a2){try{Module["dynCall_vdd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["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,"invoke_viiiii":invoke_viiiii,"invoke_vd":invoke_vd,"invoke_vid":invoke_vid,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viddd":invoke_viddd,"invoke_iiiiii":invoke_iiiiii,"invoke_vidd":invoke_vidd,"invoke_iiii":invoke_iiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viii":invoke_viii,"invoke_vidddd":invoke_vidddd,"invoke_vdi":invoke_vdi,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_iii":invoke_iii,"invoke_i":invoke_i,"invoke_iiiii":invoke_iiiii,"invoke_vdddddd":invoke_vdddddd,"invoke_vdddd":invoke_vdddd,"invoke_vdd":invoke_vdd,"invoke_v":invoke_v,"invoke_viid":invoke_viid,"invoke_viiii":invoke_viiii,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"_glUseProgram":_glUseProgram,"_glUniformMatrix3fv":_glUniformMatrix3fv,"_emscripten_glShaderSource":_emscripten_glShaderSource,"_glClearStencil":_glClearStencil,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_fread":_fread,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"_emscripten_glCullFace":_emscripten_glCullFace,"___cxa_guard_acquire":___cxa_guard_acquire,"_emscripten_set_keyup_callback":_emscripten_set_keyup_callback,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glViewport":_emscripten_glViewport,"_glReadPixels":_glReadPixels,"_emscripten_glFrontFace":_emscripten_glFrontFace,"_eglTerminate":_eglTerminate,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_glBindBuffer":_glBindBuffer,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_glGetShaderInfoLog":_glGetShaderInfoLog,"_ftell":_ftell,"_eglSwapBuffers":_eglSwapBuffers,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_sbrk":_sbrk,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_glGetAttribLocation":_glGetAttribLocation,"_glDisableVertexAttribArray":_glDisableVertexAttribArray,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_glStencilOpSeparate":_glStencilOpSeparate,"_sysconf":_sysconf,"_close":_close,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_tanf":_tanf,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glClientActiveTexture":_emscripten_glClientActiveTexture,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_fileno":_fileno,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glFrustum":_emscripten_glFrustum,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_write":_write,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_strerror":_strerror,"_glGenBuffers":_glGenBuffers,"_glShaderSource":_glShaderSource,"_glFramebufferRenderbuffer":_glFramebufferRenderbuffer,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"___cxa_atexit":___cxa_atexit,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_emscripten_glScissor":_emscripten_glScissor,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"_emscripten_glBindProgramARB":_emscripten_glBindProgramARB,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_glutCreateWindow":_glutCreateWindow,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_emscripten_do_request_fullscreen":_emscripten_do_request_fullscreen,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"_emscripten_glColorPointer":_emscripten_glColorPointer,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_cosf":_cosf,"_glVertexAttribPointer":_glVertexAttribPointer,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_eglQueryString":_eglQueryString,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_glGetProgramInfoLog":_glGetProgramInfoLog,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_fabsf":_fabsf,"_glBindRenderbuffer":_glBindRenderbuffer,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_glDrawElements":_glDrawElements,"___cxa_guard_release":___cxa_guard_release,"_glBufferSubData":_glBufferSubData,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_strerror_r":_strerror_r,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"___setErrNo":___setErrNo,"_eglGetProcAddress":_eglGetProcAddress,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_glDeleteTextures":_glDeleteTextures,"_glDepthFunc":_glDepthFunc,"_emscripten_set_mousedown_callback":_emscripten_set_mousedown_callback,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"___resumeException":___resumeException,"_emscripten_glFlush":_emscripten_glFlush,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_emscripten_glGetError":_emscripten_glGetError,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_glBufferData":_emscripten_glBufferData,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glRotatef":_emscripten_glRotatef,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_glEnable":_glEnable,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"_glGetIntegerv":_glGetIntegerv,"_glGetString":_glGetString,"_emscripten_glClearStencil":_emscripten_glClearStencil,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_set_mouseup_callback":_emscripten_set_mouseup_callback,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_eglWaitClient":_eglWaitClient,"_emscripten_get_now":_emscripten_get_now,"_glUniform1iv":_glUniform1iv,"_emscripten_glNormalPointer":_emscripten_glNormalPointer,"_glAttachShader":_glAttachShader,"_emscripten_glTexCoordPointer":_emscripten_glTexCoordPointer,"_emscripten_glEnable":_emscripten_glEnable,"_glCreateProgram":_glCreateProgram,"__registerRestoreOldStyle":__registerRestoreOldStyle,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_glLinkProgram":_glLinkProgram,"_read":_read,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_glLoadMatrixf":_emscripten_glLoadMatrixf,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_time":_time,"_glBindFramebuffer":_glBindFramebuffer,"_glDetachShader":_glDetachShader,"_glGenFramebuffers":_glGenFramebuffers,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_emscripten_set_resize_callback":_emscripten_set_resize_callback,"_emscripten_asm_const_2":_emscripten_asm_const_2,"_fputs":_fputs,"_emscripten_glEnableClientState":_emscripten_glEnableClientState,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glDrawRangeElements":_emscripten_glDrawRangeElements,"_glCullFace":_glCullFace,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_set_keypress_callback":_emscripten_set_keypress_callback,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_glDeleteFramebuffers":_glDeleteFramebuffers,"_glCompressedTexImage2D":_glCompressedTexImage2D,"_glDeleteProgram":_glDeleteProgram,"_glDisable":_glDisable,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_eglChooseConfig":_eglChooseConfig,"_lseek":_lseek,"_glCheckFramebufferStatus":_glCheckFramebufferStatus,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glClear":_emscripten_glClear,"___cxa_allocate_exception":___cxa_allocate_exception,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_glBlendFuncSeparate":_glBlendFuncSeparate,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_glClearDepthf":_glClearDepthf,"_pwrite":_pwrite,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_open":_open,"_glClearColor":_glClearColor,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"_glBindTexture":_glBindTexture,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"___errno_location":___errno_location,"_emscripten_glDisable":_emscripten_glDisable,"_eglSwapInterval":_eglSwapInterval,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_glGetFloatv":_glGetFloatv,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_glUniform1i":_glUniform1i,"_glEnableVertexAttribArray":_glEnableVertexAttribArray,"_glutDestroyWindow":_glutDestroyWindow,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_sinf":_sinf,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_glGetError":_glGetError,"_fseek":_fseek,"_glGetActiveAttrib":_glGetActiveAttrib,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_fclose":_fclose,"_sqrtf":_sqrtf,"_glActiveTexture":_glActiveTexture,"__setLetterbox":__setLetterbox,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_recv":_recv,"_emscripten_glColorMask":_emscripten_glColorMask,"_eglMakeCurrent":_eglMakeCurrent,"_emscripten_glGetObjectParameterivARB":_emscripten_glGetObjectParameterivARB,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_send":_send,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"_abort":_abort,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_glDeleteBuffers":_glDeleteBuffers,"_glBufferData":_glBufferData,"_glTexImage2D":_glTexImage2D,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_fopen":_fopen,"_eglCreateContext":_eglCreateContext,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_glFlush":_glFlush,"_emscripten_glGetPointerv":_emscripten_glGetPointerv,"_glDeleteShader":_glDeleteShader,"_emscripten_set_keydown_callback":_emscripten_set_keydown_callback,"_emscripten_glUniform1f":_emscripten_glUniform1f,"_glGetProgramiv":_glGetProgramiv,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"_glUniformMatrix4fv":_glUniformMatrix4fv,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_glCompressedTexSubImage2D":_glCompressedTexSubImage2D,"_glScissor":_glScissor,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_eglDestroySurface":_eglDestroySurface,"_glGetActiveUniform":_glGetActiveUniform,"_glDrawArrays":_glDrawArrays,"_glViewport":_glViewport,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_set_mousemove_callback":_emscripten_set_mousemove_callback,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_glDeleteRenderbuffers":_glDeleteRenderbuffers,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_eglInitialize":_eglInitialize,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_fflush":_fflush,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_glClear":_glClear,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"_glGenRenderbuffers":_glGenRenderbuffers,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_glGetUniformLocation":_glGetUniformLocation,"_emscripten_glGetInfoLogARB":_emscripten_glGetInfoLogARB,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_glUniform4fv":_glUniform4fv,"_glGenTextures":_glGenTextures,"_glRenderbufferStorage":_glRenderbufferStorage,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_fwrite":_fwrite,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_eglGetDisplay":_eglGetDisplay,"_glPixelStorei":_glPixelStorei,"_fseeko":_fseeko,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_glGetShaderiv":_glGetShaderiv,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_glCompileShader":_glCompileShader,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_pread":_pread,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_mkport":_mkport,"_emscripten_glDeleteObjectARB":_emscripten_glDeleteObjectARB,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_set_wheel_callback":_emscripten_set_wheel_callback,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"_glFramebufferTexture2D":_glFramebufferTexture2D,"_eglDestroyContext":_eglDestroyContext,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_glDepthMask":_glDepthMask,"_emscripten_glIsShader":_emscripten_glIsShader,"_glutInitDisplayMode":_glutInitDisplayMode,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"___cxa_throw":___cxa_throw,"_glColorMask":_glColorMask,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glClearColor":_emscripten_glClearColor,"_glStencilFuncSeparate":_glStencilFuncSeparate,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_glTexParameteri":_glTexParameteri,"_ftello":_ftello,"_glBlendColor":_glBlendColor,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_atexit":_atexit,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_glBlendEquationSeparate":_glBlendEquationSeparate,"_glCreateShader":_glCreateShader,"_glTexParameterf":_glTexParameterf,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_glTexSubImage2D":_glTexSubImage2D,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"___dso_handle":___dso_handle,"_stdout":_stdout};// EMSCRIPTEN_START_ASM
|
|
var asm=(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.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.___dso_handle|0;var o=env._stdout|0;var p=0;var q=0;var r=0;var s=0;var t=global.NaN,u=global.Infinity;var v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=0;var O=global.Math.floor;var P=global.Math.abs;var Q=global.Math.sqrt;var R=global.Math.pow;var S=global.Math.cos;var T=global.Math.sin;var U=global.Math.tan;var V=global.Math.acos;var W=global.Math.asin;var X=global.Math.atan;var Y=global.Math.atan2;var Z=global.Math.exp;var _=global.Math.log;var $=global.Math.ceil;var aa=global.Math.imul;var ba=global.Math.min;var ca=global.Math.clz32;var da=env.abort;var ea=env.assert;var fa=env.invoke_viiiii;var ga=env.invoke_vd;var ha=env.invoke_vid;var ia=env.invoke_vi;var ja=env.invoke_vii;var ka=env.invoke_iiiiiii;var la=env.invoke_ii;var ma=env.invoke_viiiiiiiiiii;var na=env.invoke_viddd;var oa=env.invoke_iiiiii;var pa=env.invoke_vidd;var qa=env.invoke_iiii;var ra=env.invoke_viiiiiiii;var sa=env.invoke_viiiiii;var ta=env.invoke_viii;var ua=env.invoke_vidddd;var va=env.invoke_vdi;var wa=env.invoke_viiiiiii;var xa=env.invoke_viiiiiiiii;var ya=env.invoke_viiiiiiiiii;var za=env.invoke_iii;var Aa=env.invoke_i;var Ba=env.invoke_iiiii;var Ca=env.invoke_vdddddd;var Da=env.invoke_vdddd;var Ea=env.invoke_vdd;var Fa=env.invoke_v;var Ga=env.invoke_viid;var Ha=env.invoke_viiii;var Ia=env._emscripten_glGetTexParameterfv;var Ja=env._glUseProgram;var Ka=env._glUniformMatrix3fv;var La=env._emscripten_glShaderSource;var Ma=env._glClearStencil;var Na=env._emscripten_glReleaseShaderCompiler;var Oa=env._emscripten_glBlendFuncSeparate;var Pa=env._emscripten_glCopyTexImage2D;var Qa=env._emscripten_glVertexAttribPointer;var Ra=env._fread;var Sa=env._emscripten_glGetIntegerv;var Ta=env._emscripten_glCullFace;var Ua=env.___cxa_guard_acquire;var Va=env._emscripten_set_keyup_callback;var Wa=env._emscripten_glStencilMaskSeparate;var Xa=env._emscripten_glViewport;var Ya=env._glReadPixels;var Za=env._emscripten_glFrontFace;var _a=env._eglTerminate;var $a=env._emscripten_glDrawArrays;var ab=env._emscripten_glUniform3fv;var bb=env.__ZSt18uncaught_exceptionv;var cb=env._emscripten_glUseProgram;var db=env._emscripten_glBlendColor;var eb=env._glBindBuffer;var fb=env._emscripten_glDepthFunc;var gb=env._glGetShaderInfoLog;var hb=env._ftell;var ib=env._eglSwapBuffers;var jb=env._emscripten_set_main_loop_timing;var kb=env._sbrk;var lb=env._emscripten_glGenerateMipmap;var mb=env._emscripten_glDisableVertexAttribArray;var nb=env._glGetAttribLocation;var ob=env._glDisableVertexAttribArray;var pb=env._emscripten_memcpy_big;var qb=env._glStencilOpSeparate;var rb=env._sysconf;var sb=env._close;var tb=env._emscripten_glVertexPointer;var ub=env._emscripten_glBlendEquationSeparate;var vb=env._tanf;var wb=env._emscripten_glGetBooleanv;var xb=env._emscripten_glClientActiveTexture;var yb=env._emscripten_glGetShaderSource;var zb=env._fileno;var Ab=env._emscripten_glLineWidth;var Bb=env._emscripten_glUniform1i;var Cb=env._emscripten_glFrustum;var Db=env._emscripten_glGenBuffers;var Eb=env._emscripten_glGetString;var Fb=env._emscripten_glTexImage2D;var Gb=env._emscripten_glGetShaderPrecisionFormat;var Hb=env._emscripten_glIsProgram;var Ib=env._write;var Jb=env._emscripten_request_fullscreen_strategy;var Kb=env._strerror;var Lb=env._glGenBuffers;var Mb=env._glShaderSource;var Nb=env._glFramebufferRenderbuffer;var Ob=env._emscripten_glIsFramebuffer;var Pb=env.___cxa_atexit;var Qb=env._emscripten_glIsEnabled;var Rb=env._emscripten_glScissor;var Sb=env._emscripten_glUniform4fv;var Tb=env._emscripten_glTexParameteriv;var Ub=env._emscripten_glBindProgramARB;var Vb=env._emscripten_glStencilOpSeparate;var Wb=env._glutCreateWindow;var Xb=env._emscripten_glHint;var Yb=env._emscripten_glFramebufferRenderbuffer;var Zb=env._emscripten_do_request_fullscreen;var _b=env._emscripten_glIsBuffer;var $b=env._emscripten_glVertexAttrib1f;var ac=env._emscripten_glGetActiveAttrib;var bc=env._emscripten_glColorPointer;var cc=env._emscripten_glAttachShader;var dc=env._cosf;var ec=env._glVertexAttribPointer;var fc=env._emscripten_glUniform2i;var gc=env._emscripten_glUniform2f;var hc=env._eglQueryString;var ic=env._emscripten_glBufferSubData;var jc=env._emscripten_glTexParameterfv;var kc=env._emscripten_glUniformMatrix2fv;var lc=env._glGetProgramInfoLog;var mc=env._emscripten_glTexParameterf;var nc=env._emscripten_glGetAttachedShaders;var oc=env._emscripten_glGenTextures;var pc=env._emscripten_glDrawArraysInstanced;var qc=env.___cxa_find_matching_catch;var rc=env._fabsf;var sc=env._glBindRenderbuffer;var tc=env._emscripten_glShaderBinary;var uc=env._glDrawElements;var vc=env.___cxa_guard_release;var wc=env._glBufferSubData;var xc=env._emscripten_glValidateProgram;var yc=env._strerror_r;var zc=env._emscripten_glUniform3f;var Ac=env._emscripten_glUniform4iv;var Bc=env._emscripten_glGetTexParameteriv;var Cc=env.___setErrNo;var Dc=env._eglGetProcAddress;var Ec=env._emscripten_glBindAttribLocation;var Fc=env._glDeleteTextures;var Gc=env._glDepthFunc;var Hc=env._emscripten_set_mousedown_callback;var Ic=env._emscripten_glDrawElements;var Jc=env._emscripten_set_canvas_size;var Kc=env._emscripten_glVertexAttrib2f;var Lc=env.___resumeException;var Mc=env._emscripten_glFlush;var Nc=env._emscripten_glPolygonOffset;var Oc=env._emscripten_glCheckFramebufferStatus;var Pc=env._emscripten_glGetError;var Qc=env._emscripten_glClearDepthf;var Rc=env._emscripten_glBufferData;var Sc=env._emscripten_glUniform3i;var Tc=env._emscripten_glRotatef;var Uc=env._emscripten_glDeleteShader;var Vc=env._glEnable;var Wc=env._emscripten_glReadPixels;var Xc=env._emscripten_glMatrixMode;var Yc=env._glGetIntegerv;var Zc=env._glGetString;var _c=env._emscripten_glClearStencil;var $c=env._emscripten_glGetUniformLocation;var ad=env._emscripten_set_mouseup_callback;var bd=env._emscripten_glEnableVertexAttribArray;var cd=env._eglWaitClient;var dd=env._emscripten_get_now;var ed=env._glUniform1iv;var fd=env._emscripten_glNormalPointer;var gd=env._glAttachShader;var hd=env._emscripten_glTexCoordPointer;var id=env._emscripten_glEnable;var jd=env._glCreateProgram;var kd=env.__registerRestoreOldStyle;var ld=env._emscripten_glClearDepth;var md=env._glLinkProgram;var nd=env._read;var od=env._emscripten_glUniform1fv;var pd=env._emscripten_glLoadMatrixf;var qd=env._emscripten_glStencilFuncSeparate;var rd=env._emscripten_glVertexAttrib3f;var sd=env._time;var td=env._glBindFramebuffer;var ud=env._glDetachShader;var vd=env._glGenFramebuffers;var wd=env._emscripten_glGetFramebufferAttachmentParameteriv;var xd=env._emscripten_set_resize_callback;var yd=env._emscripten_asm_const_2;var zd=env._fputs;var Ad=env._emscripten_glEnableClientState;var Bd=env._emscripten_glUniform4i;var Cd=env._emscripten_glDeleteVertexArrays;var Dd=env._emscripten_glDrawRangeElements;var Ed=env._glCullFace;var Fd=env._emscripten_glLoadIdentity;var Gd=env._emscripten_set_keypress_callback;var Hd=env._eglCreateWindowSurface;var Id=env._glDeleteFramebuffers;var Jd=env._glCompressedTexImage2D;var Kd=env._glDeleteProgram;var Ld=env._glDisable;var Md=env._emscripten_glUniform4f;var Nd=env._emscripten_glUniform2fv;var Od=env._eglChooseConfig;var Pd=env._lseek;var Qd=env._glCheckFramebufferStatus;var Rd=env._emscripten_glFinish;var Sd=env._emscripten_glClear;var Td=env.___cxa_allocate_exception;var Ud=env._emscripten_glBlendFunc;var Vd=env._emscripten_glGetShaderInfoLog;var Wd=env._glBlendFuncSeparate;var Xd=env._emscripten_glUniform1iv;var Yd=env._emscripten_glGetVertexAttribPointerv;var Zd=env._glClearDepthf;var _d=env._pwrite;var $d=env._emscripten_glCompressedTexSubImage2D;var ae=env._open;var be=env._glClearColor;var ce=env._emscripten_glGetActiveUniform;var de=env._glBindTexture;var ee=env._emscripten_glUniform3iv;var fe=env.___errno_location;var ge=env._emscripten_glDisable;var he=env._eglSwapInterval;var ie=env._emscripten_glGetBufferParameteriv;var je=env._glGetFloatv;var ke=env._emscripten_glDeleteProgram;var le=env._glUniform1i;var me=env._glEnableVertexAttribArray;var ne=env._glutDestroyWindow;var oe=env._emscripten_glDrawElementsInstanced;var pe=env._emscripten_glVertexAttrib4f;var qe=env._emscripten_glGetVertexAttribiv;var re=env._emscripten_glTexSubImage2D;var se=env._sinf;var te=env._emscripten_glPixelStorei;var ue=env._glGetError;var ve=env._fseek;var we=env._glGetActiveAttrib;var xe=env._emscripten_glUniformMatrix3fv;var ye=env._emscripten_glDepthRange;var ze=env._fclose;var Ae=env._sqrtf;var Be=env._glActiveTexture;var Ce=env.__setLetterbox;var De=env._emscripten_glDepthMask;var Ee=env._emscripten_glDrawBuffers;var Fe=env._recv;var Ge=env._emscripten_glColorMask;var He=env._eglMakeCurrent;var Ie=env._emscripten_glGetObjectParameterivARB;var Je=env._emscripten_glFramebufferTexture2D;var Ke=env._emscripten_glTexParameteri;var Le=env._emscripten_glDeleteRenderbuffers;var Me=env._send;var Ne=env._emscripten_glStencilFunc;var Oe=env._abort;var Pe=env._emscripten_glGetUniformiv;var Qe=env._glDeleteBuffers;var Re=env._glBufferData;var Se=env._glTexImage2D;var Te=env._emscripten_glGetShaderiv;var Ue=env._fopen;var Ve=env._eglCreateContext;var We=env._emscripten_glGenFramebuffers;var Xe=env._emscripten_glUniformMatrix4fv;var Ye=env._glFlush;var Ze=env._emscripten_glGetPointerv;var _e=env._glDeleteShader;var $e=env._emscripten_set_keydown_callback;var af=env._emscripten_glUniform1f;var bf=env._glGetProgramiv;var cf=env._emscripten_glBindFramebuffer;var df=env._glUniformMatrix4fv;var ef=env._emscripten_glIsRenderbuffer;var ff=env._glCompressedTexSubImage2D;var gf=env._glScissor;var hf=env._emscripten_glRenderbufferStorage;var jf=env._eglDestroySurface;var kf=env._glGetActiveUniform;var lf=env._glDrawArrays;var mf=env._glViewport;var nf=env._emscripten_glBindVertexArray;var of=env._emscripten_set_mousemove_callback;var pf=env._emscripten_glCreateShader;var qf=env._glDeleteRenderbuffers;var rf=env._emscripten_glStencilMask;var sf=env._emscripten_glCopyTexSubImage2D;var tf=env._eglInitialize;var uf=env._emscripten_glDeleteTextures;var vf=env._emscripten_glBindRenderbuffer;var wf=env._fflush;var xf=env._emscripten_glVertexAttribDivisor;var yf=env._emscripten_glGetUniformfv;var zf=env._glClear;var Af=env._emscripten_glGetVertexAttribfv;var Bf=env._emscripten_glGetRenderbufferParameteriv;var Cf=env._emscripten_glDeleteFramebuffers;var Df=env._glGenRenderbuffers;var Ef=env._emscripten_glVertexAttrib3fv;var Ff=env._glGetUniformLocation;var Gf=env._emscripten_glGetInfoLogARB;var Hf=env._emscripten_glCompileShader;var If=env._emscripten_glSampleCoverage;var Jf=env._glUniform4fv;var Kf=env._glGenTextures;var Lf=env._glRenderbufferStorage;var Mf=env._emscripten_glDepthRangef;var Nf=env._fwrite;var Of=env._emscripten_glStencilOp;var Pf=env._eglGetDisplay;var Qf=env._glPixelStorei;var Rf=env._fseeko;var Sf=env._emscripten_glLinkProgram;var Tf=env._glGetShaderiv;var Uf=env._emscripten_glIsTexture;var Vf=env._emscripten_glGetProgramInfoLog;var Wf=env._emscripten_glGetProgramiv;var Xf=env._glCompileShader;var Yf=env._emscripten_glVertexAttrib1fv;var Zf=env._pread;var _f=env._emscripten_glBindTexture;var $f=env._mkport;var ag=env._emscripten_glDeleteObjectARB;var bg=env._emscripten_glActiveTexture;var cg=env._emscripten_set_wheel_callback;var dg=env._emscripten_glGenRenderbuffers;var eg=env._emscripten_glVertexAttrib4fv;var fg=env._emscripten_glDeleteBuffers;var gg=env._glFramebufferTexture2D;var hg=env._eglDestroyContext;var ig=env._emscripten_set_main_loop;var jg=env._emscripten_glUniform2iv;var kg=env._glDepthMask;var lg=env._emscripten_glIsShader;var mg=env._glutInitDisplayMode;var ng=env._emscripten_glBlendEquation;var og=env.___cxa_throw;var pg=env._glColorMask;var qg=env._emscripten_glCompressedTexImage2D;var rg=env._emscripten_glClearColor;var sg=env._glStencilFuncSeparate;var tg=env._emscripten_glCreateProgram;var ug=env._emscripten_glGenVertexArrays;var vg=env._emscripten_glGetAttribLocation;var wg=env._glTexParameteri;var xg=env._ftello;var yg=env._glBlendColor;var zg=env._emscripten_glBindBuffer;var Ag=env._atexit;var Bg=env._emscripten_glGetFloatv;var Cg=env._emscripten_glDetachShader;var Dg=env._glBlendEquationSeparate;var Eg=env._glCreateShader;var Fg=env._glTexParameterf;var Gg=env._emscripten_glVertexAttrib2fv;var Hg=env._glTexSubImage2D;var Ig=0.0;
|
|
// EMSCRIPTEN_START_FUNCS
|
|
function uj(d,f,j,k){d=d|0;f=f|0;j=j|0;k=k|0;var l=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,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,ca=0,da=0.0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Va=0,Wa=0,Xa=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,hf=0,jf=0,kf=0,lf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,lg=0,mg=0,ng=0,og=0,qg=0,rg=0,tg=0,ug=0,vg=0,wg=0,xg=0,zg=0,Ag=0,Bg=0,Cg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Kg=0,Lg=0,Og=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,ih=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Qh=0,Rh=0,Sh=0,Th=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,bi=0,ci=0,di=0,ei=0,fi=0,gi=0,hi=0,ii=0,ji=0.0,ki=0,li=0.0,mi=0,ni=0,oi=0.0,pi=0,qi=0,ri=0,si=0,ti=0,ui=0.0,vi=0,wi=0,xi=0.0,yi=0.0,zi=0;l=i;i=i+66416|0;m=l+66384|0;n=l+66280|0;o=l+66272|0;p=l+66264|0;q=l+66256|0;r=l+66248|0;s=l+66240|0;t=l+66232|0;u=l+66224|0;v=l+66216|0;w=l+66208|0;x=l+66192|0;y=l+66176|0;z=l+66160|0;A=l+66144|0;B=l+66128|0;C=l+66080|0;D=l+66056|0;F=l+66048|0;G=l+66016|0;H=l+66008|0;I=l+66e3|0;J=l+65992|0;K=l+65984|0;L=l+65976|0;M=l+66376|0;N=l+66368|0;Q=l+65768|0;R=l;S=l+66344|0;T=l+66324|0;U=l+66304|0;V=l+65760|0;W=l+66388|0;X=l+66288|0;Y=l+66392|0;if((e[d+8>>1]|0)>1?(Z=d+595236|0,(a[Z>>0]|0)!=0):0){a[Z>>0]=0;Mg[c[640>>2]&63](0);Z=d+595232|0;Ng[c[648>>2]&63](1,Z);c[Z>>2]=0;Mg[c[640>>2]&63](0);Z=d+595144|0;_=c[c[d+595148>>2]>>2]|0;if(_){ca=_;do{Ng[c[648>>2]&63](1,ca+4|0);ca=c[ca+8>>2]|0}while((ca|0)!=0)}cl(Z)}Z=d+595276|0;Jj(Z,0);ca=c[d+595232>>2]|0;_=(ca|0)!=0;if(_)Mg[c[640>>2]&63](ca);td(36160,c[d+595260>>2]|0);dl(d,f+18572932|0);da=+dd()*1.0e3;ea=~~da>>>0;fa=+P(da)>=1.0?(da>0.0?~~+ba(+O(da/4294967296.0),4294967295.0)>>>0:~~+$((da-+(~~da>>>0))/4294967296.0)>>>0):0;ga=d+595242|0;if(a[ga>>0]|0){ha=d+595136|0;ia=d+595140|0;ja=d+595128|0;ka=d+595132|0;la=d+595104|0;while(1){ma=c[ha>>2]|0;na=c[ia>>2]|0;oa=na-ma|0;pa=c[ja>>2]|0;qa=oa>>31;ra=(pa+oa&qa|oa&~qa)+-1|0;qa=ra>>31;oa=ra&~qa|qa&pa+-1;qa=1-oa>>31;ra=oa&~qa|qa&1;c[ha>>2]=((ra+ma|0)>>>0)%(pa>>>0)|0;if(ra)break;ra=(c[ka>>2]|0)-na|0;ma=ra>>31;if((pa+ra&ma|ra&~ma|0)!=0?(Xg[c[904>>2]&63](c[d+595112+(na<<2)>>2]|0,34919,m),(c[m>>2]|0)!=0):0){Xg[c[912>>2]&63](c[d+595112+(c[ia>>2]<<2)>>2]|0,34918,la);na=c[ia>>2]|0;ma=(c[ka>>2]|0)-na|0;ra=c[ja>>2]|0;pa=ma>>31;qa=ra+ma&pa|ma&~pa;pa=1-qa>>31;c[ia>>2]=(((qa&~pa|pa&1)+na|0)>>>0)%(ra>>>0)|0}}Ng[c[888>>2]&63](35007,c[d+595112+(c[ka>>2]<<2)>>2]|0)}ka=f+18572916|0;ia=c[ka>>2]|0;if(ia){ja=c[f+18572924>>2]|0;la=c[ja>>2]|0;eb(34963,c[d+140+((e[ja+12>>1]|0)*28|0)>>2]|0);wc(34963,0,ia|0,la|0);eb(34963,0)}la=f+18572920|0;ia=c[la>>2]|0;if(ia){ja=c[f+18572928>>2]|0;ha=e[ja+14>>1]|0;ra=c[ja>>2]|0;ja=d+114828+(ha<<5)+4|0;eb(c[ja>>2]|0,c[d+114828+(ha<<5)>>2]|0);wc(c[ja>>2]|0,0,ia|0,ra|0);eb(c[ja>>2]|0,0)}Uh(f);ja=Q+128|0;ra=Q+136|0;ia=Q+164|0;c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;c[ra+12>>2]=0;c[ra+16>>2]=0;c[ra+20>>2]=0;c[ra+24>>2]=0;c[ia>>2]=-1;ha=Q+168|0;c[ha>>2]=0;na=Q+172|0;c[na>>2]=-1;pa=Q+176|0;c[pa>>2]=0;qa=Q+180|0;b[qa>>1]=0;ma=Q+182|0;b[ma>>1]=1;oa=Q+184|0;b[oa>>1]=0;sa=Q+186|0;b[sa>>1]=-1;ta=Q+188|0;b[ta>>1]=1;ua=Q+190|0;b[ua>>1]=-1;va=Q+194|0;b[Q>>1]=-1;wa=Q+8|0;b[wa>>1]=-1;xa=Q+16|0;b[xa>>1]=-1;ya=Q+24|0;b[ya>>1]=-1;za=Q+32|0;b[za>>1]=-1;Aa=Q+40|0;b[Aa>>1]=-1;Ba=Q+48|0;b[Ba>>1]=-1;Ca=Q+56|0;b[Ca>>1]=-1;Da=Q+64|0;b[Da>>1]=-1;Ea=Q+72|0;b[Ea>>1]=-1;Fa=Q+80|0;b[Fa>>1]=-1;Ga=Q+88|0;b[Ga>>1]=-1;Ha=Q+96|0;b[Ha>>1]=-1;Ia=Q+104|0;b[Ia>>1]=-1;Ka=Q+112|0;b[Ka>>1]=-1;La=Q+120|0;b[La>>1]=-1;b[va>>1]=65535;b[va+2>>1]=65535;b[va+4>>1]=65535;b[va+6>>1]=65535;b[va+8>>1]=65535;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;a[f+18732144>>0]=0;Ma=R+65744|0;g[Ma>>2]=0.0;b[R+65748>>1]=-1;b[R+65750>>1]=-1;b[R+65752>>1]=-1;Na=f+9232|0;Oa=R+65536|0;c[Oa>>2]=Na;c[R+65540>>2]=R+16384;el(R+32768|0,Na,f+25616|0);Na=1;do{el(R+32768+(Na<<6)|0,(c[Oa>>2]|0)+(Na<<6)|0,f+25616+(Na<<6)|0);Na=Na+1|0}while((Na|0)!=256);Na=f+18572936|0;Oa=c[Na>>2]|0;Pa=f+18572944|0;Qa=c[Pa>>2]|0;Ra=(Qa&1)<<1&255;Sa=Ra&255;Ta=c[39104+(Sa<<4)>>2]|0;Va=c[39104+(Sa<<4)+4>>2]|0;Wa=c[39104+(Sa<<4)+8>>2]|0;Xa=c[39104+(Sa<<4)+12>>2]|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[T+16>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[U+16>>2]=0;Sa=V;c[Sa>>2]=0;c[Sa+4>>2]=0;if(!(Qa&2)){td(36160,c[d+595264>>2]|0);Qa=R+65544|0;Sa=f+5132|0;Za=Sa;_a=Sa+4|0;Sa=e[_a>>1]|e[_a+2>>1]<<16;_a=Qa;c[_a>>2]=e[Za>>1]|e[Za+2>>1]<<16;c[_a+4>>2]=Sa;Sa=f+14345812|0;_a=e[Sa>>1]|0;Za=f+4876|0;$a=f+14345808|0;ab=Q+198|0;bb=Q+200|0;cb=X+4|0;db=X+12|0;fb=(m&2|0)==0;gb=(m&2|0)==0;hb=(m&2|0)==0;ib=(m&2|0)==0;jb=(m&2|0)==0;kb=d+595144|0;lb=d+595148|0;mb=d+595152|0;nb=M+4|0;ob=(m&2|0)==0;pb=Q+202|0;rb=0;sb=0;tb=0;ub=0;vb=0;wb=0;xb=0;yb=0;zb=-1;Ab=Oa;Oa=0;Bb=Ta;Ta=Xa;Xa=Va;Va=Wa;Wa=Ra;Ra=-1;Cb=0;Db=-1;Eb=0;a:while(1){Fb=rb;Gb=sb;Hb=tb;Ib=ub;Jb=vb;Kb=wb;Lb=xb;Mb=yb;Nb=zb;Ob=Ab;Pb=Oa;Qb=Bb;Rb=Ta;Sb=Xa;Tb=Va;Ub=Wa;Vb=Ra;Wb=Db;Xb=Eb;while(1){Yb=Fb;Zb=Gb;_b=Hb;$b=Ib;ac=Kb;bc=Lb;cc=Mb;dc=Nb;fc=Ob;gc=Pb;hc=Qb;ic=Rb;jc=Sb;kc=Tb;lc=Ub;mc=Vb;nc=Wb;oc=Xb;while(1){pc=Yb;qc=Zb;rc=_b;sc=$b;tc=ac;uc=cc;xc=dc;yc=fc;zc=gc;Ac=hc;Bc=ic;Cc=jc;Dc=kc;Ec=lc;Fc=mc;Hc=nc;Ic=oc;while(1){Jc=pc;Kc=qc;Lc=rc;Mc=sc;Nc=uc;Oc=xc;Pc=yc;Qc=zc;Rc=Fc;Sc=Hc;Tc=Ic;Uc=0;while(1){if((Qc|0)>=(_a|0)){Wc=Cb;break a}Xc=f+58640+(Qc<<3)|0;Yc=c[Xc>>2]|0;Zc=c[Xc+4>>2]|0;Xc=bp(Yc|0,Zc|0,55)|0;_c=Zc&4194304;$c=0==0&(_c|0)==0;ad=a[(Xc&255)+(f+12)>>0]|0;Xc=bp(0,_c|0,54)|0;bd=V+((Xc^1)<<2)|0;c[bd>>2]=(c[bd>>2]|0)+1;bd=(Qc|0)==(_a|0)?1:ad<<24>>24!=Sc<<24>>24;Xc=b[f+582928+(Qc<<1)>>1]|0;cd=Qc+1|0;if(bd){ed=ad&255;fd=b[f+268+(ed<<1)>>1]|0;if(fd<<16>>16==Oc<<16>>16){gd=Oc;hd=Pc}else{id=c[Na>>2]|0;b[W>>1]=fd;b[m>>1]=b[W>>1]|0;gd=fd;hd=fl(d,m,id,Nc,1)|0}id=f+5132+(ed<<3)|0;fd=id;jd=e[fd>>1]|e[fd+2>>1]<<16;fd=id+4|0;id=e[fd>>1]|e[fd+2>>1]<<16;fd=Qa;c[fd>>2]=jd;c[fd+4>>2]=id;fd=f+7180+(ed<<3)|0;kd=fd;ld=(c[kd>>2]|0)==0&(c[kd+4>>2]|0)==0;kd=ld?Qa:fd;fd=kd;md=e[fd>>1]|e[fd+2>>1]<<16;fd=kd+4|0;kd=e[fd>>1]|e[fd+2>>1]<<16;fd=bp(md|0,kd|0,16)|0;nd=bp(md|0,kd|0,48)|0;od=bp(jd|0,id|0,48)|0;pd=bp(jd|0,id|0,16)|0;mf(jd&65535|0,hd-od-(pd&65535)|0,id&65535|0,od|0);od=e[f+780+(ed<<4)+14>>1]|0;if(od&32775)gl(d,j,Qa,f+780+(ed<<4)|0,hd,Za);Ld(2960);Vc(2929);Gc(513);Vc(2884);Ld(3042);qd=nd&65535;rd=kd&65535;sd=fd&65535;ud=md&65535;vd=od&8184;wd=gd;xd=hd;yd=-1;zd=ad;Ad=ld^1}else{qd=Jc;rd=Kc;sd=Lc;ud=Mc;vd=Nc;wd=Oc;xd=Pc;yd=Rc;zd=Sc;Ad=Tc}if($c){Jc=qd;Kc=rd;Lc=sd;Mc=ud;Nc=vd;Oc=wd;Pc=xd;Qc=cd;Rc=yd;Sc=zd;Tc=Ad;Uc=1}else{Bd=bd;Cd=Xc;Dd=cd;Fd=qd;Gd=rd;Hd=sd;Id=ud;Jd=0;Kd=_c;Md=Yc;Nd=Zc;Od=vd;Pd=wd;Qd=xd;Rd=yd;Sd=zd;Td=Ad;Ud=Uc;break}}Uc=bp(Jd|0,Kd|0,53)|0;Tc=bp(Md|0,Nd|0,Uc^34|0)|0;Uc=Tc&511;Tc=Cd&65535;Sc=f+714e3+(Tc*208|0)+128|0;Rc=c[Sc>>2]|0;Qc=c[Sc+4>>2]|0;Sc=ja;Pc=c[Sc>>2]|0;Oc=c[Sc+4>>2]|0;Sc=ja;c[Sc>>2]=Rc;c[Sc+4>>2]=Qc;Sc=f+714e3+(Tc*208|0)+136|0;Nc=c[Sc>>2]|0;Mc=c[Sc+4>>2]|0;Sc=ra;Lc=c[Sc>>2]|0;Kc=c[Sc+4>>2]|0;Sc=ra;c[Sc>>2]=Nc;c[Sc+4>>2]=Mc;if(Ud|Bd){c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;c[ra+12>>2]=0;c[ra+16>>2]=0;c[ra+20>>2]=0;c[ra+24>>2]=0;c[ia>>2]=-1;c[ha>>2]=0;c[na>>2]=-1;c[pa>>2]=0;b[qa>>1]=0;b[ma>>1]=1;b[oa>>1]=0;b[sa>>1]=-1;b[ta>>1]=1;b[Q>>1]=-1;b[wa>>1]=-1;b[xa>>1]=-1;b[ya>>1]=-1;b[za>>1]=-1;b[Aa>>1]=-1;b[Ba>>1]=-1;b[Ca>>1]=-1;b[Da>>1]=-1;b[Ea>>1]=-1;b[Fa>>1]=-1;b[Ga>>1]=-1;b[Ha>>1]=-1;b[Ia>>1]=-1;b[Ka>>1]=-1;b[La>>1]=-1;b[va>>1]=65535;b[va+2>>1]=65535;b[va+4>>1]=65535;b[va+6>>1]=65535;b[va+8>>1]=65535;Sc=b[f+714e3+(Tc*208|0)+190>>1]|0;Jc=Sc<<16>>16==0&1;b[ua>>1]=Jc;Zc=ja;c[Zc>>2]=Rc;c[Zc+4>>2]=Qc;Zc=ra;c[Zc>>2]=Nc;c[Zc+4>>2]=Mc;Vd=Sc;Xd=Jc;Yd=-1;Zd=-1;_d=-1;$d=-1}else{Vd=b[f+714e3+(Tc*208|0)+190>>1]|0;Xd=b[ua>>1]|0;Yd=Lc^Nc;Zd=Kc^Mc;_d=Pc^Rc;$d=Oc^Qc}Oc=Vd&65535;do if(Xd<<16>>16!=Vd<<16>>16){b[ua>>1]=Vd;if(Vd<<16>>16!=-1){Pc=b[f+18540144+(Oc<<3)>>1]|0;Kc=b[f+18540144+(Oc<<3)+2>>1]|0;Lc=(Id&65535)+(Gd&65535)|0;Jc=(e[f+18540144+(Oc<<3)+4>>1]|0)+(Pc&65535)|0;Sc=(Lc&65535)>(Jc&65535)?Jc:Lc;Lc=(Hd&65535)+(Fd&65535)|0;Jc=(e[f+18540144+(Oc<<3)+6>>1]|0)+(Kc&65535)|0;Zc=(Lc&65535)>(Jc&65535)?Jc:Lc;Lc=Sc&65535;Jc=((Id&65535)<(Pc&65535)?Pc:Id)&65535;Pc=Zc&65535;Yc=((Hd&65535)<(Kc&65535)?Kc:Hd)&65535;Vc(3089);Kc=(Pc-Yc|0)>>>0<=Pc>>>0?Zc-Yc&65535:0;gf(Jc|0,Qd-Yc-Kc|0,((Lc-Jc|0)>>>0<=Lc>>>0?Sc-Jc&65535:0)|0,Kc|0);break}if(Td){Vc(3089);Kc=Fd&65535;gf(Id&65535|0,Qd-((Hd&65535)+Kc)|0,Gd&65535|0,Kc|0);break}else{Ld(3089);break}}while(0);do if(!((Yd|0)==0&(Zd|0)==0)){if((Nc|0)==0&(Mc|0)==0){Ld(2960);break}Vc(2960);Oc=(Mc|0)!=(Nc|0)&(Mc|0)!=0;Kc=Oc&1;Jc=Oc?2:1;Oc=0;Sc=0;do{Lc=Oc<<5;Yc=bp(Nc|0,Mc|0,Lc|0)|0;Zc=bp(Yd|0,Zd|0,Lc|0)|0;Lc=c[39184+(Oc+Kc<<2)>>2]|0;if(Zc&1048575)sg(Lc|0,c[37616+((Yc>>>16&15)<<2)>>2]|0,Yc&255|0,Yc>>>8&255|0);if(Zc>>>0>1048575)qb(Lc|0,c[39200+((Yc>>>20&15)<<2)>>2]|0,c[39200+((Yc>>>24&15)<<2)>>2]|0,c[39200+(Yc>>>28<<2)>>2]|0);Sc=Sc+1<<24>>24;Oc=Sc&255}while(Oc>>>0<Jc>>>0)}while(0);if((_d&-3849|0)==0&($d&536346419|0)==0){ae=tc;be=Ac;ce=Bc;ee=Cc;fe=Dc;ge=Ec}else{do if(!(0==0&($d&48|0)==0)){if(!(0==0&(Qc&16|0)==0)){Vc(2884);Ed(1029);break}if(0==0&(Qc&32|0)==0){Ld(2884);break}else{Vc(2884);Ed(1028);break}}while(0);if(!((_d&4|0)==0&0==0)){Mc=bp(Rc|0,Qc|0,2)|0;kg(Mc&1|0)}do if(!((_d&240|0)==0&0==0)){Mc=bp(Rc|0,Qc|0,4)|0;Nc=Mc&15;if(!Nc){Ld(2929);break}else{Vc(2929);Gc(c[37616+(Nc<<2)>>2]|0);break}}while(0);if(!(0==0&($d&65280|0)==0)){Nc=bp(Rc|0,Qc|0,40)|0;g[Ma>>2]=+((Nc&255)>>>0)/255.0}if(!((_d&3|0)==0&0==0)){Nc=bp(Rc|0,Qc|0,1)|0;Mc=Rc&1;pg(Mc|0,Mc|0,Mc|0,Nc&1|0)}if((_d&-4096|0)==0&($d&7|0)==0?(tc|0)==(c[f+714e3+(Tc*208|0)+144>>2]|0):0)he=tc;else{do if((Rc&-4096|0)==0&(Qc&7|0)==0){if((tc|0)!=(c[f+714e3+(Tc*208|0)+144>>2]|0)){ie=75;break}Ld(3042)}else ie=75;while(0);do if((ie|0)==75){ie=0;Nc=Rc&268431360;Mc=bp(Nc|0,0,12)|0;Jc=bp(Rc|0,Qc|0,16)|0;if((Nc|0)==0&0==0){Ld(3042);break}Nc=bp(Rc|0,Qc|0,31)|0;Oc=bp(Rc|0,Qc|0,28)|0;Sc=bp(Rc|0,Qc|0,24)|0;Kc=bp(Rc|0,Qc|0,20)|0;Vc(3042);Wd(c[39232+((Mc&15)*12|0)>>2]|0,c[39232+((Jc&15)*12|0)+4>>2]|0,c[39232+((Kc&15)*12|0)>>2]|0,c[39232+((Sc&15)*12|0)+4>>2]|0);Dg(c[39400+((Oc&7)<<2)>>2]|0,c[39400+((Nc&7)<<2)>>2]|0);if(!((Jc&14|0)==12|(Mc&14|0)==12))break;Mc=c[f+714e3+(Tc*208|0)+144>>2]|0;if((tc|0)==(Mc|0))break;yg(+(+(Mc>>>24>>>0)/255.0),+(+((Mc>>>16&255)>>>0)/255.0),+(+((Mc>>>8&255)>>>0)/255.0),+(+((Mc&255)>>>0)/255.0))}while(0);he=c[f+714e3+(Tc*208|0)+144>>2]|0}Mc=(c[Pa>>2]&1|0)!=0;Jc=bp(Rc|0,Qc|0,48)|0;Nc=Mc?2:Jc&7;Jc=Nc&255;ae=he;be=c[39104+(Jc<<4)>>2]|0;ce=c[39104+(Jc<<4)+12>>2]|0;ee=c[39104+(Jc<<4)+4>>2]|0;fe=c[39104+(Jc<<4)+8>>2]|0;ge=Nc}Nc=c[f+714e3+(Tc*208|0)+148>>2]|0;Jc=c[f+714e3+(Tc*208|0)+152>>2]|0;ai(d,c[$a>>2]|0,Nc,Jc);if(Uc<<16>>16==Rd<<16>>16)if(Rd<<16>>16==-1){pc=Fd;qc=Gd;rc=Hd;sc=Id;tc=ae;uc=Od;xc=Pd;yc=Qd;zc=Dd;Ac=be;Bc=ce;Cc=ee;Dc=fe;Ec=ge;Fc=-1;Hc=Sd;Ic=Td;continue}else{je=Dd;ke=Fd;le=Gd;ne=Hd;oe=Id;pe=Tc;qe=Nc;re=Jc;se=ae;te=Od;ue=Pd;ve=Qd;we=be;xe=ce;ye=ee;ze=fe;Ae=ge;Ce=Rd;De=Sd;Ee=Td;ie=87;break}else{Jc=Uc&65535;Nc=c[d+252044+(Jc*300|0)>>2]|0;Ja(Nc|0);if(!Nc){pc=Fd;qc=Gd;rc=Hd;sc=Id;tc=ae;uc=Od;xc=Pd;yc=Qd;zc=Dd;Ac=be;Bc=ce;Cc=ee;Dc=fe;Ec=ge;Fc=-1;Hc=Sd;Ic=Td;continue}else{Fe=Dd;Ge=Fd;He=Gd;Ie=Hd;Je=Id;Ke=Tc;Le=Jc;Me=Uc;Ne=ae;Oe=Od;Pe=Pd;Qe=Qd;Re=be;Se=ce;Te=ee;Ue=fe;Ve=ge;We=Sd;Xe=Td;ie=85;break}}}if((ie|0)==85){ie=0;Ze=Fe;_e=Ge;$e=He;af=Ie;bf=Je;cf=Ke;df=f+714e3+(Ke*208|0)|0;ef=d+252044+(Le*300|0)|0;ff=Le;hf=1;jf=Ne;kf=Oe;lf=Pe;nf=Qe;of=Re;pf=Se;qf=Te;rf=Ue;sf=Ve;tf=Me;uf=We;vf=Xe;ie=88}else if((ie|0)==87){ie=0;Ic=f+714e3+(pe*208|0)|0;Hc=Ce&65535;Fc=d+252044+(Hc*300|0)|0;if(qe>>>0<re>>>0){Ze=je;_e=ke;$e=le;af=ne;bf=oe;cf=pe;df=Ic;ef=Fc;ff=Hc;hf=0;jf=se;kf=te;lf=ue;nf=ve;of=we;pf=xe;qf=ye;rf=ze;sf=Ae;tf=Ce;uf=De;vf=Ee;ie=88}else{wf=je;xf=ke;yf=le;zf=ne;Af=oe;Bf=Fc;Cf=Ic;Df=pe;Ef=0;Ff=se;Gf=te;Hf=ue;If=ve;Jf=we;Kf=xe;Lf=ye;Mf=ze;Nf=Ae;Of=Ce;Pf=De;Qf=Ee}}if((ie|0)==88){ie=0;Ic=c[d+252044+(ff*300|0)+180>>2]|0;if(!Ic){wf=Ze;xf=_e;yf=$e;zf=af;Af=bf;Bf=ef;Cf=df;Df=cf;Ef=hf;Ff=jf;Gf=kf;Hf=lf;If=nf;Jf=of;Kf=pf;Lf=qf;Mf=rf;Nf=sf;Of=tf;Pf=uf;Qf=vf}else{hl(d,Ic);wf=Ze;xf=_e;yf=$e;zf=af;Af=bf;Bf=ef;Cf=df;Df=cf;Ef=hf;Ff=jf;Gf=kf;Hf=lf;If=nf;Jf=of;Kf=pf;Lf=qf;Mf=rf;Nf=sf;Of=tf;Pf=uf;Qf=vf}}il(R,d,Pf,0,Bf,f,Cf);Ic=0;do{Fc=f+714e3+(Df*208|0)+(Ic<<3)|0;Hc=Q+(Ic<<3)|0;Ec=b[Fc>>1]|0;if((b[Hc>>1]|0)==Ec<<16>>16){if(!(Ec<<16>>16==-1|(Ef|(c[Q+(Ic<<3)+4>>2]|0)!=(c[f+714e3+(Df*208|0)+(Ic<<3)+4>>2]|0))^1))ie=94}else if(Ec<<16>>16!=-1)ie=94;if((ie|0)==94){ie=0;Dc=Ec&65535;Ec=d+405644+(Dc*44|0)|0;Cc=c[f+714e3+(Df*208|0)+(Ic<<3)+4>>2]|0;Be(Ic+33984|0);de(c[d+405644+(Dc*44|0)+8>>2]|0,c[Ec>>2]|0);nj(Ec,Cc)}Cc=Fc;Fc=c[Cc+4>>2]|0;Ec=Hc;c[Ec>>2]=c[Cc>>2];c[Ec+4>>2]=Fc;Ic=Ic+1|0}while((Ic|0)!=16);if(_){Ic=f+714e3+(Df*208|0)+168|0;if((c[Ic>>2]|0)==0?(Fc=f+714e3+(Df*208|0)+176|0,(c[Fc>>2]|0)==0):0){Rf=wf;Sf=xf;Tf=yf;Uf=zf;Vf=Af;Wf=Df;Xf=Bf;Yf=Ic;Zf=Fc;_f=Ef;$f=Ff;ag=bc;bg=Gf;cg=Hf;dg=If;eg=Jf;fg=Kf;gg=Lf;hg=Mf;ig=Nf;jg=Of;lg=Pf;mg=Qf;ie=99;break}if(!bc){ng=Ef;og=0}else{Mg[c[640>>2]&63](ca);b[va>>1]=-1;b[ab>>1]=-1;ng=1;og=0}}else{ng=Ef;og=bc}if(!Ef){Fc=b[va>>1]|0;Ic=b[f+714e3+(Df*208|0)+194>>1]|0;if(Fc<<16>>16==Ic<<16>>16)if(((b[bb>>1]|0)==(b[f+714e3+(Df*208|0)+200>>1]|0)?(c[pa>>2]|0)==(c[f+714e3+(Df*208|0)+176>>2]|0):0)?(b[qa>>1]|0)==(b[f+714e3+(Df*208|0)+180>>1]|0):0)qg=ng;else{rg=Fc;ie=148}else{rg=Ic;ie=148}}else{rg=b[f+714e3+(Df*208|0)+194>>1]|0;ie=148}do if((ie|0)==148){ie=0;b[va>>1]=rg;b[bb>>1]=b[f+714e3+(Df*208|0)+200>>1]|0;c[pa>>2]=c[f+714e3+(Df*208|0)+176>>2];b[qa>>1]=b[f+714e3+(Df*208|0)+180>>1]|0;if(rg<<16>>16==-1){eb(34962,0);qg=ng;break}else{eb(34962,c[d+114828+((rg&65535)<<5)>>2]|0);qg=1;break}}while(0);Ic=b[f+714e3+(Df*208|0)+198>>1]|0;do if((b[ab>>1]|0)!=Ic<<16>>16){b[ab>>1]=Ic;if(Ic<<16>>16==-1){eb(34963,0);break}else{eb(34963,c[d+140+((Ic&65535)*28|0)>>2]|0);break}}while(0);if((b[va>>1]|0)==-1){Yb=xf;Zb=yf;_b=zf;$b=Af;ac=Ff;bc=og;cc=Gf;dc=Hf;fc=If;gc=wf;hc=Jf;ic=Kf;jc=Lf;kc=Mf;lc=Nf;mc=Of;nc=Pf;oc=Qf}else{tg=wf;ug=xf;vg=yf;wg=zf;xg=Af;zg=Df;Ag=Bf;Bg=qg;Cg=Ff;Eg=og;Fg=Gf;Gg=Hf;Hg=If;Ig=Jf;Kg=Kf;Lg=Lf;Og=Mf;Qg=Nf;Rg=Of;Sg=Pf;Tg=Qf;ie=156;break}}b:do if((ie|0)==99){ie=0;if((Jb|0)==0&(_f^1)){oc=b[va>>1]|0;nc=f+714e3+(Wf*208|0)+194|0;mc=b[nc>>1]|0;if(oc<<16>>16==mc<<16>>16)if((((c[pa>>2]|0)==0?(b[ab>>1]|0)==(b[f+714e3+(Wf*208|0)+198>>1]|0):0)?(b[qa>>1]|0)==(b[f+714e3+(Wf*208|0)+180>>1]|0):0)?(b[bb>>1]|0)==(b[f+714e3+(Wf*208|0)+200>>1]|0):0){Ug=Rf;Vg=Sf;Wg=Tf;Yg=Uf;Zg=Vf;_g=Wf;$g=0;ah=$f;bh=ag;ch=bg;dh=cg;eh=dg;fh=eg;gh=fg;ih=gg;kh=hg;lh=ig;mh=jg;nh=lg;oh=mg;break}else{ph=nc;qh=oc}else{ph=nc;qh=mc}}else{mc=f+714e3+(Wf*208|0)+194|0;ph=mc;qh=b[mc>>1]|0};c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0;b[m>>1]=qh;if(fb)wk(X,m,2);else vk(X,m,2);mc=b[ph>>1]|0;if(mc<<16>>16!=-1){nc=d+114828+((mc&65535)<<5)+12|0;b[m>>1]=b[((b[nc>>1]|0)!=-1?nc:f+714e3+(Wf*208|0)+196|0)>>1]|0;if(ob)wk(X,m,2);else vk(X,m,2)}nc=f+714e3+(Wf*208|0)+198|0;b[m>>1]=b[nc>>1]|0;if(gb)wk(X,m,2);else vk(X,m,2);mc=f+714e3+(Wf*208|0)+200|0;b[m>>1]=b[mc>>1]|0;if(hb)wk(X,m,2);else vk(X,m,2);c[m>>2]=c[Zf>>2];wk(X,m,4);oc=f+714e3+(Wf*208|0)+180|0;b[m>>1]=b[oc>>1]|0;if(ib)wk(X,m,2);else vk(X,m,2);b[m>>1]=jg;if(jb)wk(X,m,2);else vk(X,m,2);lc=aa(c[cb>>2]|0,1540483477)|0;kc=aa(lc>>>24^lc,1540483477)|0;c[cb>>2]=kc;lc=kc^(aa(c[X>>2]|0,1540483477)|0);kc=aa(c[db>>2]|0,1540483477)|0;jc=aa(kc>>>24^kc,1540483477)|0;c[db>>2]=jc;kc=(aa(lc,1540483477)|0)^jc;jc=aa(kc>>>13^kc,1540483477)|0;kc=jc>>>15^jc;c[X>>2]=kc;b[va>>1]=b[ph>>1]|0;b[ab>>1]=b[nc>>1]|0;c[pa>>2]=c[Zf>>2];b[qa>>1]=b[oc>>1]|0;lc=c[Yf>>2]|0;ic=c[lb>>2]|0;hc=kc<<24>>24;gc=(kc<<16>>24)-hc+(hc*65600|0)|0;hc=(kc<<8>>24)-gc+(gc*65600|0)|0;gc=(jc>>24)-hc+(hc*65600|0)&((c[mb>>2]|0)-ic>>2)+-2;hc=c[ic+(gc+1<<2)>>2]|0;jc=c[ic+(gc<<2)>>2]|0;c:do if((jc|0)!=(hc|0)){gc=jc;while(1){if((c[gc>>2]|0)==(kc|0)){rh=gc;break}gc=c[gc+8>>2]|0;if((gc|0)==(hc|0)){sh=Rf;th=Sf;uh=Tf;vh=Uf;wh=Vf;xh=bg;yh=cg;zh=dg;Ah=lg;Bh=mg;break c}}if(rh){gc=c[rh+4>>2]|0;if((gc|0)==-1){sh=Rf;th=Sf;uh=Tf;vh=Uf;wh=Vf;xh=bg;yh=cg;zh=dg;Ah=lg;Bh=mg;break}Mg[c[640>>2]&63](gc);Ug=Rf;Vg=Sf;Wg=Tf;Yg=Uf;Zg=Vf;_g=Wf;$g=lc;ah=$f;bh=gc;ch=bg;dh=cg;eh=dg;fh=eg;gh=fg;ih=gg;kh=hg;lh=ig;mh=jg;nh=lg;oh=mg;break b}else{sh=Rf;th=Sf;uh=Tf;vh=Uf;wh=Vf;xh=bg;yh=cg;zh=dg;Ah=lg;Bh=mg}}else{sh=Rf;th=Sf;uh=Tf;vh=Uf;wh=Vf;xh=bg;yh=cg;zh=dg;Ah=lg;Bh=mg}while(0);$k(kb,kc);Ng[c[656>>2]&63](1,m);hc=c[m>>2]|0;c[M>>2]=kc;c[nb>>2]=hc;jl(N,kb,M);hc=c[m>>2]|0;Mg[c[640>>2]&63](hc);c[m>>2]=kc;kl(M,Xf+284|0,m);jc=b[ph>>1]|0;do if(jc<<16>>16==-1)eb(34962,0);else{gc=jc&65535;c[m>>2]=kc;kl(M,d+114828+(gc<<5)+16|0,m);eb(34962,c[d+114828+(gc<<5)>>2]|0);Uc=d+114828+(gc<<5)+12|0;lj(Xf,d+585868+((e[((b[Uc>>1]|0)!=-1?Uc:f+714e3+(Wf*208|0)+196|0)>>1]|0)*72|0)|0,c[Yf>>2]|0);Uc=b[mc>>1]|0;if(Uc<<16>>16==-1)break;gc=Uc&65535;c[m>>2]=kc;kl(M,d+114828+(gc<<5)+16|0,m);eb(34962,c[d+114828+(gc<<5)>>2]|0);gc=e[oc>>1]|0;Uc=c[Xf+88>>2]|0;if((Uc|0)==65535)break;Tc=Uc;Uc=c[Zf>>2]|0;Qc=0;while(1){me(Tc|0);ec(Tc|0,4,5126,0,gc|0,Uc|0);Ng[c[616>>2]&63](Tc,1);Qc=Qc+1|0;Tc=c[Xf+88+(Qc<<2)>>2]|0;if((Tc|0)==65535)break;else Uc=Uc+16|0}}while(0);oc=b[nc>>1]|0;if(oc<<16>>16==-1){eb(34963,0);Ug=sh;Vg=th;Wg=uh;Yg=vh;Zg=wh;_g=Wf;$g=lc;ah=$f;bh=hc;ch=xh;dh=yh;eh=zh;fh=eg;gh=fg;ih=gg;kh=hg;lh=ig;mh=jg;nh=Ah;oh=Bh;break}else{mc=oc&65535;c[m>>2]=kc;kl(M,d+140+(mc*28|0)+8|0,m);eb(34963,c[d+140+(mc*28|0)>>2]|0);Ug=sh;Vg=th;Wg=uh;Yg=vh;Zg=wh;_g=Wf;$g=lc;ah=$f;bh=hc;ch=xh;dh=yh;eh=zh;fh=eg;gh=fg;ih=gg;kh=hg;lh=ig;mh=jg;nh=Ah;oh=Bh;break}}else if((ie|0)==156){ie=0;mc=c[f+714e3+(zg*208|0)+168>>2]|0;if(Bg|(Jb|0)!=(mc|0)){oc=d+114828+(e[f+714e3+(zg*208|0)+194>>1]<<5)+12|0;lj(Ag,d+585868+((e[((b[oc>>1]|0)!=-1?oc:f+714e3+(zg*208|0)+196|0)>>1]|0)*72|0)|0,mc);oc=b[f+714e3+(zg*208|0)+200>>1]|0;if(oc<<16>>16!=-1?(eb(34962,c[d+114828+((oc&65535)<<5)>>2]|0),oc=e[f+714e3+(zg*208|0)+180>>1]|0,jc=c[Ag+88>>2]|0,(jc|0)!=65535):0){Uc=jc;jc=c[f+714e3+(zg*208|0)+176>>2]|0;Tc=0;while(1){me(Uc|0);ec(Uc|0,4,5126,0,oc|0,jc|0);Ng[c[616>>2]&63](Uc,1);Tc=Tc+1|0;Uc=c[Ag+88+(Tc<<2)>>2]|0;if((Uc|0)==65535){Ug=tg;Vg=ug;Wg=vg;Yg=wg;Zg=xg;_g=zg;$g=mc;ah=Cg;bh=Eg;ch=Fg;dh=Gg;eh=Hg;fh=Ig;gh=Kg;ih=Lg;kh=Og;lh=Qg;mh=Rg;nh=Sg;oh=Tg;break}else jc=jc+16|0}}else{Ug=tg;Vg=ug;Wg=vg;Yg=wg;Zg=xg;_g=zg;$g=mc;ah=Cg;bh=Eg;ch=Fg;dh=Gg;eh=Hg;fh=Ig;gh=Kg;ih=Lg;kh=Og;lh=Qg;mh=Rg;nh=Sg;oh=Tg}}else{Ug=tg;Vg=ug;Wg=vg;Yg=wg;Zg=xg;_g=zg;$g=Jb;ah=Cg;bh=Eg;ch=Fg;dh=Gg;eh=Hg;fh=Ig;gh=Kg;ih=Lg;kh=Og;lh=Qg;mh=Rg;nh=Sg;oh=Tg}}while(0);jc=b[va>>1]|0;if(jc<<16>>16==-1){Fb=Vg;Gb=Wg;Hb=Yg;Ib=Zg;Jb=$g;Kb=ah;Lb=bh;Mb=ch;Nb=dh;Ob=eh;Pb=Ug;Qb=fh;Rb=gh;Sb=ih;Tb=kh;Ub=lh;Vb=mh;Wb=nh;Xb=oh}else{Ch=Ug;Dh=Vg;Eh=Wg;Fh=Yg;Gh=Zg;Hh=_g;Ih=jc;Jh=$g;Kh=ah;Lh=bh;Mh=ch;Nh=dh;Oh=eh;Qh=fh;Rh=gh;Sh=ih;Th=kh;Vh=lh;Wh=mh;Xh=nh;Yh=oh;break}}Xb=c[f+714e3+(Hh*208|0)+172>>2]|0;if((Xb|0)==-1){Wb=Ih&65535;Vb=d+114828+(Wb<<5)+12|0;Zh=((c[d+114828+(Wb<<5)+8>>2]|0)>>>0)/((e[d+585868+((e[((b[Vb>>1]|0)!=-1?Vb:f+714e3+(Hh*208|0)+196|0)>>1]|0)*72|0)+4>>1]|0)>>>0)|0}else Zh=Xb;Xb=b[f+714e3+(Hh*208|0)+202>>1]|0;do if(Xb<<16>>16==-1){if((b[pb>>1]|0)!=-1){b[pb>>1]=-1;eb(36671,0)}Vb=b[f+714e3+(Hh*208|0)+198>>1]|0;if(Vb<<16>>16==-1){Wb=((Zh>>>0)/(Th>>>0)|0)-Rh|0;Ub=e[f+714e3+(Hh*208|0)+182>>1]|0;Tb=aa(Ub,Wb)|0;jh[c[624>>2]&63](Qh,0,Zh,Ub);_h=0;$h=Ub;bi=Tb;ci=Wb;di=Qh;ei=Rh;fi=Sh;gi=Th;break}Wb=Vb&65535;Vb=(b[d+140+(Wb*28|0)+24>>1]&4096)>>>11;Tb=Vb+2|0;Ub=Vb+5123|0;Vb=c[f+714e3+(Hh*208|0)+164>>2]|0;if((Vb|0)==-1){Sb=((c[d+140+(Wb*28|0)+4>>2]|0)>>>0)/(Tb>>>0)|0;Wb=((Sb>>>0)/(Th>>>0)|0)-Rh|0;Rb=e[f+714e3+(Hh*208|0)+182>>1]|0;Qb=aa(Rb,Wb)|0;Jg[c[632>>2]&31](Qh,Sb,Ub,0,Rb);_h=Sb;$h=Rb;bi=Qb;ci=Wb;di=Qh;ei=Rh;fi=Sh;gi=Th;break}if(Sh>>>0>Vb>>>0){_h=0;$h=0;bi=0;ci=0;di=Qh;ei=Rh;fi=Sh;gi=Th}else{Wb=((Vb>>>0)/(Th>>>0)|0)-Rh|0;Qb=e[f+714e3+(Hh*208|0)+182>>1]|0;Rb=aa(Qb,Wb)|0;Sb=aa(c[f+714e3+(Hh*208|0)+160>>2]|0,Tb)|0;Jg[c[632>>2]&31](Qh,Vb,Ub,Sb,Qb);_h=Vb;$h=Qb;bi=Rb;ci=Wb;di=Qh;ei=Rh;fi=Sh;gi=Th}}else{Wb=Xb&65535;if((b[pb>>1]|0)!=Xb<<16>>16){b[pb>>1]=Xb;eb(36671,c[d+114828+(Wb<<5)>>2]|0)}Rb=b[f+714e3+(Hh*208|0)+198>>1]|0;if(Rb<<16>>16==-1){Qb=b[f+714e3+(Hh*208|0)+186>>1]|0;if(Qb<<16>>16==-1)hi=(c[d+114828+(Wb<<5)+8>>2]|0)>>>5;else hi=Qb&65535;jh[c[584>>2]&63](Qh,e[f+714e3+(Hh*208|0)+184>>1]<<5,hi,32);_h=0;$h=0;bi=0;ci=0;di=Qh;ei=Rh;fi=Sh;gi=Th;break}else{Qb=b[f+714e3+(Hh*208|0)+186>>1]|0;if(Qb<<16>>16==-1)ii=(c[d+114828+(Wb<<5)+8>>2]|0)>>>5;else ii=Qb&65535;Jg[c[592>>2]&31](Qh,((b[d+140+((Rb&65535)*28|0)+24>>1]&4096)>>>11)+5123|0,e[f+714e3+(Hh*208|0)+184>>1]<<5,ii,32);_h=0;$h=0;bi=0;ci=0;di=Qh;ei=Rh;fi=Sh;gi=Th;break}}while(0);Xb=Vh&255;Rb=S+(Xb<<2)|0;c[Rb>>2]=(c[Rb>>2]|0)+ci;Rb=T+(Xb<<2)|0;c[Rb>>2]=(c[Rb>>2]|0)+bi;Rb=U+(Xb<<2)|0;c[Rb>>2]=(c[Rb>>2]|0)+$h;rb=Dh;sb=Eh;tb=Fh;ub=Gh;vb=Jh;wb=Kh;xb=Lh;yb=Mh;zb=Nh;Ab=Oh;Oa=Ch;Bb=di;Ta=ei;Xa=fi;Va=gi;Wa=Vh;Ra=Wh;Cb=_h+Cb|0;Db=Xh;Eb=Yh}ll(d);if(!(b[Sa>>1]|0)){ji=0.0;ki=Wc}else{if(c[d+595208>>2]&8192)Ye();da=+dd()*1.0e3;Sa=+P(da)>=1.0?(da>0.0?~~+ba(+O(da/4294967296.0),4294967295.0)>>>0:~~+$((da-+(~~da>>>0))/4294967296.0)>>>0):0;Yh=d+595212|0;Eb=c[Yh>>2]|0;if(Eb){Ya(0,0,c[d+595200>>2]|0,c[d+595204>>2]|0,c[d+595256>>2]|0,5121,Eb|0);Eb=c[22]|0;Xg[c[(c[Eb>>2]|0)+40>>2]&63](Eb,c[Yh>>2]|0,c[d+595216>>2]|0)}li=+dd()*1.0e3;Yh=Yo(~~li>>>0|0,(+P(li)>=1.0?(li>0.0?~~+ba(+O(li/4294967296.0),4294967295.0)>>>0:~~+$((li-+(~~li>>>0))/4294967296.0)>>>0):0)|0,~~da>>>0|0,Sa|0)|0;ji=(+(Yh>>>0)+4294967296.0*+(E|0))*.001;ki=Wc}}else{ji=0.0;ki=0}Jj(Z,0);da=+dd()*1.0e3;Z=~~da>>>0;Wc=+P(da)>=1.0?(da>0.0?~~+ba(+O(da/4294967296.0),4294967295.0)>>>0:~~+$((da-+(~~da>>>0))/4294967296.0)>>>0):0;Yh=Yo(Z|0,Wc|0,ea|0,fa|0)|0;fa=E;if((a[39424]|0)==0?(Ua(39424)|0)!=0:0){ea=39432;c[ea>>2]=Z;c[ea+4>>2]=Wc;vc(39424)}ea=39432;Sa=Yo(Z|0,Wc|0,c[ea>>2]|0,c[ea+4>>2]|0)|0;ea=E;Eb=39432;c[Eb>>2]=Z;c[Eb+4>>2]=Wc;if((a[39440]|0)==0?(Ua(39440)|0)!=0:0){Eb=39448;c[Eb>>2]=Sa;c[Eb+4>>2]=ea;vc(39440)}if((a[39456]|0)==0?(Ua(39456)|0)!=0:0){Eb=39464;c[Eb>>2]=Sa;c[Eb+4>>2]=ea;vc(39456)}Eb=39448;Xh=c[Eb>>2]|0;Db=c[Eb+4>>2]|0;Eb=(Db|0)>(ea|0)|(Db|0)==(ea|0)&Xh>>>0>Sa>>>0;Cb=39448;c[Cb>>2]=Eb?Sa:Xh;c[Cb+4>>2]=Eb?ea:Db;Db=39464;Eb=c[Db>>2]|0;Cb=c[Db+4>>2]|0;Db=(Cb|0)<(ea|0)|(Cb|0)==(ea|0)&Eb>>>0<Sa>>>0;Xh=39464;c[Xh>>2]=Db?Sa:Eb;c[Xh+4>>2]=Db?ea:Cb;if(!(a[ga>>0]|0)){mi=0;ni=0;oi=0.0}else{Mg[c[896>>2]&63](35007);ga=d+595132|0;Cb=c[ga>>2]|0;Db=(c[d+595136>>2]|0)-Cb|0;Xh=d+595128|0;Eb=c[Xh>>2]|0;_h=Db>>31;Wh=Eb+Db&_h|Db&~_h;_h=1-Wh>>31;Db=(((Wh&~_h|_h&1)+Cb|0)>>>0)%(Eb>>>0)|0;c[ga>>2]=Db;Cb=d+595140|0;_h=c[Cb>>2]|0;Wh=Db-_h|0;Ra=Wh>>31;d:do if(!(Eb+Wh&Ra|Wh&~Ra)){pi=_h;qi=Db;ri=Eb;si=0;ti=0;ui=0.0}else{Vh=d+595104|0;Wa=_h;gi=0;Va=0;da=0.0;while(1){Xg[c[904>>2]&63](c[d+595112+(Wa<<2)>>2]|0,34919,m);if(!(c[m>>2]|0)){vi=gi;wi=Va;xi=da;break}Xg[c[912>>2]&63](c[d+595112+(c[Cb>>2]<<2)>>2]|0,34918,Vh);fi=c[Cb>>2]|0;Xa=c[ga>>2]|0;ei=Xa-fi|0;Ta=c[Xh>>2]|0;di=ei>>31;Bb=Ta+ei&di|ei&~di;di=1-Bb>>31;ei=(((Bb&~di|di&1)+fi|0)>>>0)%(Ta>>>0)|0;c[Cb>>2]=ei;fi=Vh;di=c[fi>>2]|0;Bb=c[fi+4>>2]|0;li=(+(di>>>0)+4294967296.0*+(Bb>>>0))/1.0e6;yi=+h[4934];h[4934]=li>yi?li:yi;fi=Xa-ei|0;Ch=fi>>31;if(!(Ta+fi&Ch|fi&~Ch)){pi=ei;qi=Xa;ri=Ta;si=di;ti=Bb;ui=li;break d}else{Wa=ei;gi=di;Va=Bb;da=li}}pi=c[Cb>>2]|0;qi=c[ga>>2]|0;ri=c[Xh>>2]|0;si=vi;ti=wi;ui=xi}while(0);wi=c[9870]|0;vi=qi-pi|0;pi=vi>>31;qi=(ri+vi&pi|vi&~pi)+-1|0;pi=qi-wi>>31;c[9870]=qi&~pi|pi&wi;mi=si;ni=ti;oi=ui}ti=f+18732112|0;c[ti>>2]=Sa;c[ti+4>>2]=ea;ti=f+18732120|0;c[ti>>2]=1e6;c[ti+4>>2]=0;ti=f+18732128|0;c[ti>>2]=mi;c[ti+4>>2]=ni;ni=f+18732136|0;c[ni>>2]=1e8;c[ni+4>>2]=0;ni=c[Pa>>2]|0;if(!(ni&6)){if(!(ni&8)){zi=c[106]|0;hh[zi&15]();i=l;return}Ph(d,k,c[f+18731960>>2]|0);zi=c[106]|0;hh[zi&15]();i=l;return}ni=d+595176|0;if((a[39488]|0)==0?(Ua(39488)|0)!=0:0){Pa=39496;c[Pa>>2]=Z;c[Pa+4>>2]=Wc;vc(39488)}Pa=39496;ti=c[Pa+4>>2]|0;if(!((Wc|0)<(ti|0)|((Wc|0)==(ti|0)?Z>>>0<(c[Pa>>2]|0)>>>0:0))){Pa=Zo(Z|0,Wc|0,1e6,0)|0;Wc=39496;c[Wc>>2]=Pa;c[Wc+4>>2]=E;Wc=(c[d+595180>>2]|0)>>>1;if(Wc){Pa=0;Z=c[ni>>2]|0;while(1){a[Z>>0]=0;a[Z+1>>0]=0;Pa=Pa+1|0;if((Pa|0)==(Wc|0))break;else Z=Z+2|0}}c[L>>2]=Pg[c[(c[d>>2]|0)+12>>2]&31](d)|0;ml(ni,0,0,-113,39504,L);c[K>>2]=c[d+595300>>2];ml(ni,0,1,-113,39560,K);c[J>>2]=c[d+595304>>2];ml(ni,0,2,-113,39584,J);c[I>>2]=c[d+595308>>2];ml(ni,0,3,-113,39608,I);c[H>>2]=c[d+595312>>2];ml(ni,0,4,-113,39632,H);ui=+(Sa>>>0)+4294967296.0*+(ea|0);H=39448;xi=(+((c[H>>2]|0)>>>0)+4294967296.0*+(c[H+4>>2]|0))*.001;H=39464;da=(+((c[H>>2]|0)>>>0)+4294967296.0*+(c[H+4>>2]|0))*.001;h[G>>3]=ui*.001;h[G+8>>3]=xi;h[G+16>>3]=da;h[G+24>>3]=1.0e6/ui;ml(ni,10,10,-114,39656,G);c[F>>2]=32;bl(Y,16,39720,F)|0;F=c[d+595208>>2]|0;Y=F>>>4&7;c[D>>2]=(F&128|0)!=0?-2:32;c[D+4>>2]=(Y|0)!=0?-2:32;c[D+8>>2]=1<<Y;c[D+12>>2]=39808;c[D+16>>2]=(F&256|0)!=0?-2:32;ml(ni,10,11,-114,39736,D);ui=(+(Yh>>>0)+4294967296.0*+(fa|0))*.001;fa=c[V>>2]|0;Yh=c[V+4>>2]|0;da=+h[4934];V=c[9870]|0;c[C>>2]=e[f+14345812>>1];c[C+4>>2]=fa;c[C+8>>2]=Yh;h[C+16>>3]=ui;c[C+24>>2]=ui>oi?62:60;h[C+32>>3]=da;c[C+40>>2]=V;ml(ni,10,12,-114,39824,C);c[9870]=0;h[4934]=0.0;C=c[T>>2]|0;V=c[U>>2]|0;Yh=c[S>>2]|0;c[B>>2]=39968;c[B+4>>2]=C;c[B+8>>2]=V;c[B+12>>2]=Yh;ml(ni,10,13,-114,39920,B);B=c[T+4>>2]|0;Yh=c[U+4>>2]|0;V=c[S+4>>2]|0;c[A>>2]=39976;c[A+4>>2]=B;c[A+8>>2]=Yh;c[A+12>>2]=V;ml(ni,10,14,-114,39920,A);A=c[T+8>>2]|0;V=c[U+8>>2]|0;Yh=c[S+8>>2]|0;c[z>>2]=39992;c[z+4>>2]=A;c[z+8>>2]=V;c[z+12>>2]=Yh;ml(ni,10,15,-114,39920,z);z=c[T+12>>2]|0;Yh=c[U+12>>2]|0;V=c[S+12>>2]|0;c[y>>2]=4e4;c[y+4>>2]=z;c[y+8>>2]=Yh;c[y+12>>2]=V;ml(ni,10,16,-114,39920,y);y=c[T+16>>2]|0;T=c[U+16>>2]|0;U=c[S+16>>2]|0;c[x>>2]=40016;c[x+4>>2]=y;c[x+8>>2]=T;c[x+12>>2]=U;ml(ni,10,17,-114,39920,x);if(c[d+4>>2]|0)ml(ni,(e[d+595184>>1]|0)+65509&65535,0,31,40024,w);c[v>>2]=ki;ml(ni,10,18,-114,40056,v);c[u>>2]=c[la>>2];ml(ni,10,19,-114,40080,u);c[t>>2]=c[ka>>2];ml(ni,10,20,-114,40104,t);ml(ni,10,22,-114,40128,s);ml(ni,10,23,-114,40152,r);r=c[d+595160>>2]|0;c[q>>2]=c[d+595144>>2];c[q+4>>2]=r;ml(ni,10,24,-114,40176,q);h[p>>3]=ji;ml(ni,10,26,-114,40192,p);p=f+18732152|0;q=c[p>>2]|0;r=c[p+4>>2]|0;p=f+18732160|0;f=p;s=c[f+4>>2]|0;t=((r|0)<(s|0)|((r|0)==(s|0)?q>>>0<(c[f>>2]|0)>>>0:0))&1;f=a[40224+t>>0]|0;h[o>>3]=(+(q>>>0)+4294967296.0*+(r|0))*.001;ml(ni,10,28,f,40232,o);o=a[40224+(t^1)>>0]|0;t=p;h[n>>3]=(+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0))*.001;ml(ni,10,29,o,40264,n);n=39448;c[n>>2]=Sa;c[n+4>>2]=ea;n=39464;c[n>>2]=Sa;c[n+4>>2]=ea}Ph(d,k,ni);zi=c[106]|0;hh[zi&15]();i=l;return}function vj(){return 0}function wj(){return}function xj(){return 0}function yj(a){a=a|0;return}function zj(){return 0}function Aj(){return}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=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=i;i=i+160|0;d=e+96|0;f=e+88|0;g=e+64|0;h=e+56|0;j=e+156|0;k=e+152|0;l=e+124|0;m=e+120|0;n=e;o=e+116|0;p=e+112|0;q=e+108|0;r=e+104|0;s=e+100|0;c[b>>2]=0;if(c[50]|0){Cj(0);i=e;return}t=c[49]|0;u=Pf(c[48]|0)|0;v=b+16|0;c[v>>2]=u;if(!u){c[h>>2]=0;Gh(3,40296,h);w=c[v>>2]|0}else w=u;c[j>>2]=0;c[k>>2]=0;u=(tf(w|0,j|0,k|0)|0)!=0;w=c[j>>2]|0;j=c[k>>2]|0;if(!(u&(w|0)>0&(j|0)>2)){c[g>>2]=w;c[g+4>>2]=j;Gh(3,40328,g)}hc(c[v>>2]|0,12429)|0;hc(c[v>>2]|0,12371)|0;hc(c[v>>2]|0,12372)|0;g=hc(c[v>>2]|0,12373)|0;dj(g);c[l>>2]=c[10090];c[l+4>>2]=c[10091];c[l+8>>2]=c[10092];c[l+12>>2]=c[10093];c[l+16>>2]=c[10094];c[l+20>>2]=c[10095];c[l+24>>2]=c[10096];c[m>>2]=0;j=b+8|0;if(!(Od(c[v>>2]|0,l|0,j|0,1,m|0)|0))Gh(3,40392,e+72|0);m=Hd(c[v>>2]|0,c[j>>2]|0,t|0,0)|0;t=b+20|0;c[t>>2]=m;if(!m)Gh(3,40408,e+80|0);m=Yn(g,40440)|0;a:do if(!m)x=0;else{l=m;while(1){if((l|0)!=(g|0)?(w=a[l+-1>>0]|0,w<<24>>24==95|(Qn(w<<24>>24)|0)!=0):0)y=l+22|0;else{w=l+22|0;u=a[w>>0]|0;if(u<<24>>24==95|(Qn(u<<24>>24)|0)!=0)y=w;else{x=l;break a}}l=Yn(y,40440)|0;if(!l){x=0;break}}}while(0);y=(x|0)==0;x=Yn(g,40464)|0;b:do if(x){m=x;do{if((m|0)!=(g|0)?(l=a[m+-1>>0]|0,l<<24>>24==95|(Qn(l<<24>>24)|0)!=0):0)z=m+31|0;else{l=m+31|0;w=a[l>>0]|0;if(w<<24>>24==95|(Qn(w<<24>>24)|0)!=0)z=l;else break b}m=Yn(z,40464)|0}while((m|0)!=0)}while(0);z=n+4|0;g=n+40|0;x=n+8|0;m=n+12|0;l=n+44|0;w=n+48|0;u=b+12|0;k=n+16|0;h=n+32|0;A=n+24|0;if(y){y=0;do{c[x>>2]=g;c[m>>2]=0;c[n>>2]=12144;c[z>>2]=12168;c[g>>2]=12192;c[l>>2]=40496;c[w>>2]=64;c[o>>2]=0;c[m>>2]=40496;B=h;c[B>>2]=64;c[B+4>>2]=0;c[10124]=12440;c[10125]=2;B=k;c[B>>2]=8;c[B+4>>2]=0;B=A;c[B>>2]=8;c[B+4>>2]=0;c[s>>2]=12344;xk(n,s,4)|0;B=Ve(c[v>>2]|0,c[j>>2]|0,0,40496)|0;c[u>>2]=B;y=y+1|0}while(y>>>0<2&(B|0)==0);C=B}else{y=0;do{c[x>>2]=g;c[m>>2]=0;c[n>>2]=12144;c[z>>2]=12168;c[g>>2]=12192;c[l>>2]=40496;c[w>>2]=64;c[o>>2]=0;c[m>>2]=40496;B=h;c[B>>2]=64;c[B+4>>2]=0;c[10124]=12440;c[10125]=2;B=k;c[B>>2]=8;c[B+4>>2]=0;B=A;c[B>>2]=8;c[B+4>>2]=0;c[p>>2]=12539;xk(n,p,4)|0;c[q>>2]=0;Ug[c[(c[n>>2]|0)+8>>2]&15](n,q,4)|0;if(!y){c[r>>2]=12540;Ug[c[(c[n>>2]|0)+8>>2]&15](n,r,4)|0;Ug[c[(c[n>>2]|0)+8>>2]&15](n,o,4)|0}c[s>>2]=12344;Ug[c[(c[n>>2]|0)+8>>2]&15](n,s,4)|0;B=Ve(c[v>>2]|0,c[j>>2]|0,0,40496)|0;c[u>>2]=B;y=y+1|0}while(y>>>0<2&(B|0)==0);C=B}if(!C){Gh(3,40560,f);D=c[u>>2]|0}else D=C;C=c[t>>2]|0;if(!(He(c[v>>2]|0,C|0,C|0,D|0)|0))Gh(3,40592,d);c[b+4>>2]=0;he(c[v>>2]|0,0)|0;Cj(0);i=e;return}function Cj(a){a=a|0;if(!(c[104]|0))c[104]=Dc(40616)|0;if(!(c[106]|0))c[106]=Dc(40640)|0;if(!(c[108]|0))c[108]=Dc(40672)|0;if(!(c[110]|0))c[110]=Dc(40712)|0;if(!(c[112]|0))c[112]=Dc(40736)|0;if(!(c[114]|0))c[114]=Dc(40776)|0;if(!(c[116]|0))c[116]=Dc(40808)|0;if(!(c[118]|0))c[118]=Dc(40832)|0;if(!(c[120]|0))c[120]=Dc(40864)|0;if(!(c[122]|0))c[122]=Dc(40888)|0;if(!(c[124]|0))c[124]=Dc(40904)|0;if(!(c[126]|0))c[126]=Dc(40928)|0;if(!(c[128]|0))c[128]=Dc(40960)|0;if(!(c[130]|0))c[130]=Dc(40992)|0;if(!(c[132]|0))c[132]=Dc(41016)|0;if(!(c[134]|0))c[134]=Dc(41040)|0;if(!(c[136]|0))c[136]=Dc(41064)|0;if(!(c[138]|0))c[138]=Dc(41088)|0;if(!(c[140]|0))c[140]=Dc(41112)|0;if(!(c[142]|0))c[142]=Dc(41136)|0;if(!(c[144]|0))c[144]=Dc(41160)|0;if(!(c[146]|0))c[146]=Dc(41192)|0;if(!(c[148]|0))c[148]=Dc(41224)|0;if(!(c[150]|0))c[150]=Dc(41256)|0;if(!(c[152]|0))c[152]=Dc(41280)|0;if(!(c[154]|0))c[154]=Dc(41304)|0;if(!(c[156]|0))c[156]=Dc(41336)|0;if(!(c[158]|0))c[158]=Dc(41368)|0;if(!(c[160]|0))c[160]=Dc(41400)|0;if(!(c[162]|0))c[162]=Dc(41424)|0;if(!(c[164]|0))c[164]=Dc(41448)|0;if(!(c[166]|0))c[166]=Dc(41472)|0;if(!(c[168]|0))c[168]=Dc(41488)|0;if(!(c[170]|0))c[170]=Dc(41504)|0;if(!(c[172]|0))c[172]=Dc(41528)|0;if(!(c[174]|0))c[174]=Dc(41560)|0;if(!(c[176]|0))c[176]=Dc(41584)|0;if(!(c[178]|0))c[178]=Dc(41616)|0;if(!(c[180]|0))c[180]=Dc(41640)|0;if(!(c[182]|0))c[182]=Dc(41664)|0;if(!(c[184]|0))c[184]=Dc(41688)|0;if(!(c[186]|0))c[186]=Dc(41712)|0;if(!(c[188]|0))c[188]=Dc(41736)|0;if(!(c[190]|0))c[190]=Dc(41768)|0;if(!(c[192]|0))c[192]=Dc(41800)|0;if(!(c[194]|0))c[194]=Dc(41824)|0;if(!(c[196]|0))c[196]=Dc(41848)|0;if(!(c[198]|0))c[198]=Dc(41872)|0;if(!(c[200]|0))c[200]=Dc(41904)|0;if(!(c[202]|0))c[202]=Dc(41936)|0;if(!(c[204]|0))c[204]=Dc(41968)|0;if(!(c[206]|0))c[206]=Dc(42e3)|0;if(!(c[208]|0))c[208]=Dc(42040)|0;if(!(c[210]|0))c[210]=Dc(42080)|0;if(!(c[212]|0))c[212]=Dc(42104)|0;if(!(c[214]|0))c[214]=Dc(42128)|0;if(!(c[216]|0))c[216]=Dc(42160)|0;if(!(c[218]|0))c[218]=Dc(42176)|0;if(!(c[220]|0))c[220]=Dc(42192)|0;if(!(c[222]|0))c[222]=Dc(42216)|0;if(!(c[224]|0))c[224]=Dc(42232)|0;if(!(c[226]|0))c[226]=Dc(42248)|0;if(!(c[228]|0))c[228]=Dc(42272)|0;if(c[230]|0)return;c[230]=Dc(42296)|0;return}function Dj(a){a=a|0;var b=0,d=0;b=a+16|0;if(!(c[b>>2]|0))return;He(0,0,0,0)|0;d=a+12|0;hg(c[b>>2]|0,c[d>>2]|0)|0;jf(c[b>>2]|0,c[a+20>>2]|0)|0;_a(c[b>>2]|0)|0;c[d>>2]=0;return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Jc(b|0,d|0);d=c[a+16>>2]|0;if(!d)return;he(d|0,e>>>7&1|0)|0;return}function Fj(a){a=a|0;E=0;return 0}function Gj(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[20]|0;e=Sg[c[(c[d>>2]|0)+8>>2]&3](d,16,0,0,0)|0;nl(e,c[a+16>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,b);return e|0}function Hj(a,b){a=a|0;b=b|0;var d=0;a=c[20]|0;if(!b)return;He(0,0,0,0)|0;d=b+8|0;hg(c[d>>2]|0,c[b+4>>2]|0)|0;jf(c[d>>2]|0,c[b+12>>2]|0)|0;Jg[c[(c[a>>2]|0)+12>>2]&31](a,b,0,0,0);return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+4|0;do if((c[d>>2]|0)==(b|0))if(!b){e=a+16|0;break}else{f=b+8|0;g=b+12|0;h=11;break}else{c[d>>2]=b;if(b){i=b+8|0;j=b+12|0;k=c[j>>2]|0;He(c[i>>2]|0,k|0,k|0,c[b+4>>2]|0)|0;f=i;g=j;h=11;break}j=a+16|0;i=c[j>>2]|0;if(!i)e=j;else{k=c[a+20>>2]|0;He(i|0,k|0,k|0,c[a+12>>2]|0)|0;e=j}}while(0);if((h|0)==11){ib(c[f>>2]|0,c[g>>2]|0)|0;return}g=c[e>>2]|0;if(!g)return;ib(g|0,c[a+20>>2]|0)|0;return}function Jj(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;if((c[d>>2]|0)==(b|0))return;c[d>>2]=b;if(b){d=c[b+12>>2]|0;He(c[b+8>>2]|0,d|0,d|0,c[b+4>>2]|0)|0;return}b=c[a+16>>2]|0;if(!b)return;d=c[a+20>>2]|0;He(b|0,d|0,d|0,c[a+12>>2]|0)|0;return}function Kj(d,e,f){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,p=0,q=0,r=0;if(!e){g=0;return g|0}if((d|0)==8){f=c[e+60>>2]|0;c[10584]=f;h=c[e+64>>2]|0;c[10585]=h;i=c[10586]|0;j=Zn(28)|0;c[j>>2]=5;b[j+4>>1]=0;c[j+8>>2]=f;c[j+12>>2]=h;c[j+16>>2]=i;c[j+20>>2]=0;a[j+24>>0]=0;a[j+25>>0]=1;i=Zn(8)|0;c[i>>2]=j;c[i+4>>2]=0;c[(c[10582]|0)+4>>2]=i;c[10582]=i;i=c[10580]|0;j=c[10581]|0;if((i|0)==(j|0)){g=1;return g|0}else{k=i;l=j}while(1){j=c[k+4>>2]|0;c[10580]=j;if(!k){m=j;n=l}else{$n(k);m=c[10580]|0;n=c[10581]|0}if((m|0)==(n|0)){g=1;break}else{k=m;l=n}}return g|0}else if((d|0)==7|(d|0)==6|(d|0)==5){n=c[e+60>>2]|0;c[10584]=n;l=c[e+64>>2]|0;c[10585]=l;m=b[e+40>>1]|0;e=c[10586]|0;k=Zn(28)|0;c[k>>2]=5;b[k+4>>1]=0;c[k+8>>2]=n;c[k+12>>2]=l;c[k+16>>2]=e;c[k+20>>2]=m<<16>>16==2?3:m<<16>>16==1?2:1;a[k+24>>0]=(d|0)!=6&1;a[k+25>>0]=0;d=Zn(8)|0;c[d>>2]=k;c[d+4>>2]=0;c[(c[10582]|0)+4>>2]=d;c[10582]=d;d=c[10580]|0;k=c[10581]|0;if((d|0)==(k|0)){g=1;return g|0}else{o=d;p=k}while(1){k=c[o+4>>2]|0;c[10580]=k;if(!o){q=k;r=p}else{$n(o);q=c[10580]|0;r=c[10581]|0}if((q|0)==(r|0)){g=1;break}else{o=q;p=r}}return g|0}else{g=0;return g|0}return 0}function Lj(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0;if(!((d|0)==9&(e|0)!=0)){i=0;return i|0}j=+h[e+80>>3]+ +g[10583];g[10583]=j;e=~~j;c[10586]=e;d=c[10584]|0;f=c[10585]|0;k=Zn(28)|0;c[k>>2]=5;b[k+4>>1]=0;c[k+8>>2]=d;c[k+12>>2]=f;c[k+16>>2]=e;c[k+20>>2]=0;a[k+24>>0]=0;a[k+25>>0]=1;e=Zn(8)|0;c[e>>2]=k;c[e+4>>2]=0;c[(c[10582]|0)+4>>2]=e;c[10582]=e;e=c[10580]|0;k=c[10581]|0;if((e|0)==(k|0)){i=1;return i|0}else{l=e;m=k}while(1){k=c[l+4>>2]|0;c[10580]=k;if(!l){n=k;o=m}else{$n(l);n=c[10580]|0;o=c[10581]|0}if((n|0)==(o|0)){i=1;break}else{l=n;m=o}}return i|0}function Mj(d,e,f){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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;if(!e){g=0;return g|0}f=c[e+156>>2]|0;h=(c[e+72>>2]|0)==0?0:48;if(!(c[e+76>>2]|0))i=h;else i=(h&255|3)&255;if(!(c[e+68>>2]|0))j=i;else j=(i&255|12)&255;if(!(c[e+80>>2]|0))k=j;else k=(j&255|192)&255;a:do if(!(c[e+152>>2]|0))do switch(f|0){case 114:{l=30;break a;break}case 113:{l=29;break a;break}case 112:{l=28;break a;break}case 40:{l=7;break a;break}case 38:{l=6;break a;break}case 119:{l=35;break a;break}case 121:{l=37;break a;break}case 115:{l=31;break a;break}case 122:{l=38;break a;break}case 37:{l=8;break a;break}case 117:{l=33;break a;break}case 120:{l=36;break a;break}case 118:{l=34;break a;break}case 116:{l=32;break a;break}case 123:{l=39;break a;break}case 39:{l=9;break a;break}default:{m=25;break a}}while(0);else m=25;while(0);if((m|0)==25){if((f|0)>=256){g=0;return g|0}m=a[42352+f>>0]|0;if(!(m<<24>>24)){g=0;return g|0}else l=m&255}if((d|0)==2|(d|0)==1){if(k<<24>>24<0&(l|0)==76){m=Zn(8)|0;c[m>>2]=2;b[m+4>>1]=-1;e=Zn(8)|0;c[e>>2]=m;c[e+4>>2]=0;c[(c[10582]|0)+4>>2]=e;c[10582]=e;e=c[10580]|0;m=c[10581]|0;if((e|0)==(m|0)){g=0;return g|0}else{n=m;o=e}while(1){e=c[o+4>>2]|0;c[10580]=e;if(!o){p=e;q=n}else{$n(o);p=c[10580]|0;q=c[10581]|0}if((p|0)==(q|0)){g=0;break}else{n=q;o=p}}return g|0}p=Zn(12)|0;c[p>>2]=1;b[p+4>>1]=0;a[p+6>>0]=1;o=p+7|0;q=f&255;a[o>>0]=q;a[o+1>>0]=q>>8;a[o+2>>0]=q>>16;a[o+3>>0]=q>>24;q=Zn(8)|0;c[q>>2]=p;c[q+4>>2]=0;c[(c[10582]|0)+4>>2]=q;c[10582]=q;q=c[10580]|0;p=c[10581]|0;if((q|0)!=(p|0)){o=p;p=q;while(1){q=c[p+4>>2]|0;c[10580]=q;if(!p){r=q;s=o}else{$n(p);r=c[10580]|0;s=c[10581]|0}if((r|0)==(s|0))break;else{o=s;p=r}}}r=Zn(16)|0;c[r>>2]=4;b[r+4>>1]=0;c[r+8>>2]=l;a[r+12>>0]=k;a[r+13>>0]=1;p=Zn(8)|0;c[p>>2]=r;c[p+4>>2]=0;c[(c[10582]|0)+4>>2]=p;c[10582]=p;p=c[10580]|0;r=c[10581]|0;if((p|0)==(r|0)){g=1;return g|0}else{t=r;u=p}while(1){p=c[u+4>>2]|0;c[10580]=p;if(!u){v=p;w=t}else{$n(u);v=c[10580]|0;w=c[10581]|0}if((v|0)==(w|0)){g=1;break}else{t=w;u=v}}return g|0}else if((d|0)==3){d=Zn(16)|0;c[d>>2]=4;b[d+4>>1]=0;c[d+8>>2]=l;a[d+12>>0]=k;a[d+13>>0]=0;k=Zn(8)|0;c[k>>2]=d;c[k+4>>2]=0;c[(c[10582]|0)+4>>2]=k;c[10582]=k;k=c[10580]|0;d=c[10581]|0;if((k|0)==(d|0)){g=1;return g|0}else{x=k;y=d}while(1){d=c[x+4>>2]|0;c[10580]=d;if(!x){z=d;A=y}else{$n(x);z=c[10580]|0;A=c[10581]|0}if((z|0)==(A|0)){g=1;break}else{x=z;y=A}}return g|0}else{g=0;return g|0}return 0}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Pj(){var a=0,b=0,d=0;a=c[10581]|0;if((a|0)==(c[10582]|0)){b=0;return b|0}d=c[a+4>>2]|0;a=c[d>>2]|0;c[10581]=d;b=a;return b|0}function Qj(a){a=a|0;if(!a)return;$n(a);return}function Rj(a,b){a=a|0;b=b|0;return}function Sj(a){a=a|0;return}function Tj(a,b){a=a|0;b=b|0;return}function Uj(a,b){a=a|0;b=b|0;return ol(42320,a,b)|0}function Vj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((e|0)<=1){g=1;return g|0}e=(Ao(a[c[f+4>>2]>>0]|0)|0)<<24>>24;rk((e|0)==116|(e|0)==49);g=0;return g|0}function Wj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=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;e=i;i=i+272|0;d=e+16|0;h=e;j=e+4|0;k=e+8|0;if((f|0)<=1){l=1;i=e;return l|0}m=c[g+4>>2]|0;if(!(Lo(m,42664)|0)){n=c[10664]|0;if((f|0)>2){c[10664]=n&-129;o=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;p=((o|0)==116|(o|0)==49?128:0)|c[10664]}else p=n^128;c[10664]=p;l=0;i=e;return l|0}if(!(Lo(m,42672)|0)){p=c[10664]|0;if((f|0)>2){c[10664]=p&-257;n=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;q=((n|0)==116|(n|0)==49?256:0)|c[10664]}else q=p^256;c[10664]=q;l=0;i=e;return l|0}if(!(Lo(m,42688)|0)){q=c[10664]|0;if((f|0)>2){c[10664]=q&-1025;p=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;r=((p|0)==116|(p|0)==49?1024:0)|c[10664]}else r=q^1024;c[10664]=r;l=0;i=e;return l|0}if(!(Lo(m,42696)|0)){r=c[10664]|0;if((f|0)>2){c[10664]=r&-2049;q=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;s=((q|0)==116|(q|0)==49?2048:0)|c[10664]}else s=r^2048;c[10664]=s;l=0;i=e;return l|0}if(!(Lo(m,42704)|0)){s=c[10664]|0;if((f|0)>2){c[10664]=s&-4097;r=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;t=((r|0)==116|(r|0)==49?4096:0)|c[10664]}else t=s^4096;c[10664]=t;l=0;i=e;return l|0}if(!(Lo(m,42720)|0)){t=c[10664]|0;if((f|0)>2){c[10664]=t&-65;s=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;u=((s|0)==116|(s|0)==49?64:0)|c[10664]}else u=t^64;c[10664]=u;l=0;i=e;return l|0}if(!(Lo(m,42728)|0)){u=c[10664]|0;if((f|0)>2){c[10664]=u&-8193;t=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;v=((t|0)==116|(t|0)==49?8192:0)|c[10664]}else v=u^8192;c[10664]=v;l=0;i=e;return l|0}if(!(Lo(m,42736)|0)){v=c[10664]|0;if((f|0)>2){c[10664]=v&-16385;u=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;w=((u|0)==116|(u|0)==49?16384:0)|c[10664]}else w=v^16384;c[10664]=w;l=0;i=e;return l|0}if(!(Lo(m,42744)|0)){w=c[10664]|0;if((f|0)>2){c[10664]=w&-65537;v=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;x=((v|0)==116|(v|0)==49?65536:0)|c[10664]}else x=w^65536;c[10664]=x;l=0;i=e;return l|0}do if(Lo(m,42760)|0){if(!(Lo(m,42768)|0)){x=c[10688]|0;if((f|0)>2){c[10688]=x&-3;w=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;y=((w|0)==116|(w|0)==49?2:0)|c[10688]}else y=x^2;c[10688]=y;z=y;break}if(!(Lo(m,42776)|0)){x=c[10688]|0;if((f|0)>2){c[10688]=x&-9;w=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;A=((w|0)==116|(w|0)==49?8:0)|c[10688]}else A=x^8;c[10688]=A;z=A;break}if(!(Lo(m,42784)|0)){x=c[10688]|0;if((f|0)>2){c[10688]=x&-2;w=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;B=((w|0)==116|(w|0)==49)&1|c[10688]}else B=x^1;c[10688]=B;z=B;break}if(Lo(m,42800)|0){if(Lo(m,42840)|0){l=1;i=e;return l|0}b[k>>1]=0;b[d>>1]=b[k>>1]|0;l=0;i=e;return l|0}if((f|0)>2){wi(c[g+8>>2]|0);l=0;i=e;return l|0}else{sd(j|0)|0;c[h>>2]=c[j>>2];bl(d,256,42816,h)|0;wi(d);l=0;i=e;return l|0}}else{x=c[10688]|0;if((f|0)>2){c[10688]=x&-5;w=(Ao(a[c[g+8>>2]>>0]|0)|0)<<24>>24;C=((w|0)==116|(w|0)==49?4:0)|c[10688]}else C=x^4;c[10688]=C;z=C}while(0);ji(z);l=0;i=e;return l|0}function Xj(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;a[42856]=1;return 0}function Yj(a,b,d){a=a|0;b=b|0;d=d|0;Xg[c[(c[a>>2]|0)+8>>2]&63](a,b,d);c[10716]=a;ig(7,-1,1);return Pg[c[(c[a>>2]|0)+12>>2]&31](a)|0}function Zj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=Zn(12)|0;c[g>>2]=42880;c[g+4>>2]=42912;c[g+8>>2]=0;c[10732]=g;g=Zn(12)|0;c[g>>2]=42944;c[g+4>>2]=42976;c[g+8>>2]=0;c[10748]=g;ck();ek(43e3,9,0);ek(43016,10,0);ek(43032,11,0);gk();ik(43040,43056);b[f>>1]=0;g=c[d>>2]|0;Xn(g,92)|0;Xn(g,47)|0;Xn(g,58)|0;b[e+2>>1]=b[f>>1]|0;f=uh(a,d)|0;jk(43040);hk();dk();d=c[10732]|0;if(d)Mg[c[(c[d>>2]|0)+4>>2]&63](d);c[10732]=0;d=c[10748]|0;if(!d){c[10748]=0;i=e;return f|0}Mg[c[(c[d>>2]|0)+4>>2]&63](d);c[10748]=0;i=e;return f|0}function _j(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=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;l=i;i=i+32|0;m=l+18|0;n=l+8|0;o=l;p=l+16|0;c[10688]=c[h>>2];c[10664]=c[j>>2];q=qk()|0;r=Pj()|0;if(r){s=k+4|0;t=k+8|0;a:do if((k|0)==0|q){u=r;v=-1;while(1){b:do switch(c[u>>2]|0){case 5:{w=b[u+4>>1]|0;if(!(a[u+25>>0]|0)){pk(c[u+20>>2]|0,a[u+24>>0]|0);x=w;break b}else{ok(c[u+8>>2]|0,c[u+12>>2]|0,c[u+16>>2]|0);x=w;break b}break}case 2:{y=u;z=26;break a;break}case 3:{w=d[u+8>>0]|0;c[o>>2]=e[u+6>>1];c[o+4>>2]=w;uk(43344,o);x=v;break}case 1:{nk(a[u+6>>0]|0,u+7|0);x=v;break}case 6:{w=b[u+4>>1]|0;c[f>>2]=c[u+8>>2];c[g>>2]=c[u+12>>2];c[j>>2]=(c[10664]|0)==0&1;x=w;break}case 0:{b[p>>1]=b[u+16>>1]|0;w=c[u+8>>2]|0;A=c[u+12>>2]|0;b[m>>1]=b[p>>1]|0;sk(m,w,A);x=v;break}case 4:{A=b[u+4>>1]|0;mk(c[u+8>>2]|0,a[u+12>>0]|0,(a[u+13>>0]|0)!=0);x=A;break}default:x=v}while(0);kk();Qj(u);u=Pj()|0;if(!u){B=x;break a}else v=x}}else{v=r;u=-1;while(1){c:do switch(c[v>>2]|0){case 3:{A=d[v+8>>0]|0;c[n>>2]=e[v+6>>1];c[n+4>>2]=A;uk(43344,n);C=u;break}case 2:{y=v;z=26;break a;break}case 5:{A=b[v+4>>1]|0;w=v+25|0;if(!(a[w>>0]|0))pk(c[v+20>>2]|0,a[v+24>>0]|0);else ok(c[v+8>>2]|0,c[v+12>>2]|0,c[v+16>>2]|0);if(!(a[w>>0]|0)){a[(c[v+20>>2]|0)+(k+12)>>0]=a[v+24>>0]|0;C=A;break c}else{c[k>>2]=c[v+8>>2];c[s>>2]=c[v+12>>2];c[t>>2]=c[v+16>>2];C=A;break c}break}case 0:{b[p>>1]=b[v+16>>1]|0;A=c[v+8>>2]|0;w=c[v+12>>2]|0;b[m>>1]=b[p>>1]|0;sk(m,A,w);C=u;break}case 4:{w=b[v+4>>1]|0;mk(c[v+8>>2]|0,a[v+12>>0]|0,(a[v+13>>0]|0)!=0);C=w;break}case 6:{w=b[v+4>>1]|0;c[f>>2]=c[v+8>>2];c[g>>2]=c[v+12>>2];c[j>>2]=(c[10664]|0)==0&1;C=w;break}case 1:{nk(a[v+6>>0]|0,v+7|0);C=u;break}default:C=u}while(0);kk();Qj(v);v=Pj()|0;if(!v){B=C;break a}else u=C}}while(0);if((z|0)==26){Qj(y);D=1;i=l;return D|0}kk();if(B<<16>>16==0?(B=c[10664]|0,(c[j>>2]|0)!=(B|0)):0){c[j>>2]=B;fi(c[f>>2]|0,c[g>>2]|0,B);lk(c[f>>2]&65535,c[g>>2]&65535)}}else kk();c[h>>2]=c[10688];D=(a[42856]|0)!=0;i=l;return D|0}function $j(){return c[10852]|0}function ak(a){a=a|0;var b=0;b=c[10852]|0;return Sg[c[(c[b>>2]|0)+8>>2]&3](b,a,0,0,0)|0}function bk(a,b){a=a|0;b=b|0;if(!a)return;b=c[10852]|0;Jg[c[(c[b>>2]|0)+12>>2]&31](b,a,0,0,0);return}function ck(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a=$j()|0;b=Sg[c[(c[a>>2]|0)+8>>2]&3](a,16,0,0,0)|0;a=b+4|0;d=b+12|0;e=b+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;f=ak(36)|0;g=c[a>>2]|0;h=c[e>>2]|0;if((g|0)==(h|0)){i=a;j=g}else{k=f;l=g;while(1){c[k>>2]=c[l>>2];l=l+4|0;if((l|0)==(h|0))break;else k=k+4|0}i=a;j=c[a>>2]|0}bk(j,36);c[i>>2]=f;c[d>>2]=f+36;Xo(f|0,0,f+(35-f)+4&-4|0)|0;c[e>>2]=(c[a>>2]|0)+36;c[10854]=b;return}function dk(){var a=0,b=0;a=$j()|0;b=c[10854]|0;if(!b)return;ql(b);Jg[c[(c[a>>2]|0)+12>>2]&31](a,b,0,0,0);return}function ek(a,b,d){a=a|0;b=b|0;d=d|0;rl(c[10854]|0,a,b,d);return}function fk(a){a=a|0;sl(c[10854]|0,a);return}function gk(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=$j()|0;e=Sg[c[(c[d>>2]|0)+8>>2]&3](d,1704,0,0,0)|0;d=e+4|0;f=e+12|0;g=e+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;h=ak(36)|0;i=c[d>>2]|0;j=c[g>>2]|0;if((i|0)==(j|0)){k=d;l=i}else{m=h;n=i;while(1){c[m>>2]=c[n>>2];n=n+4|0;if((n|0)==(j|0))break;else m=m+4|0}k=d;l=c[d>>2]|0}bk(l,36);c[k>>2]=h;c[f>>2]=h+36;Xo(h|0,0,h+(35-h)+4&-4|0)|0;c[g>>2]=(c[d>>2]|0)+36;b[e+48>>1]=1280;b[e+50>>1]=720;b[e+52>>1]=120;a[e+54>>0]=0;c[e+1336>>2]=256;c[e+1340>>2]=0;c[e+1344>>2]=0;c[e+1348>>2]=0;d=e+44|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;Xo(e+56|0,0,1024)|0;Xo(e+1080|0,-1,256)|0;d=e+1608|0;g=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[10856]=e;return}function hk(){var a=0,b=0;a=$j()|0;b=c[10856]|0;if(!b)return;tl(b);Jg[c[(c[a>>2]|0)+12>>2]&31](a,b,0,0,0);return}function ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=c[10856]|0;c[e>>2]=a;c[e+4>>2]=b;ul(d,f,e);i=d;return}function jk(a){a=a|0;vl(c[10856]|0,a);return}function kk(){var a=0,b=0,d=0;a=c[10856]|0;b=c[c[a+4>>2]>>2]|0;if(!b)return;else d=b;do{wl(a,c[d+4>>2]|0);d=c[d+8>>2]|0}while((d|0)!=0);return}function lk(a,d){a=a|0;d=d|0;var e=0;e=c[10856]|0;b[e+48>>1]=a;b[e+50>>1]=d;return}function mk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[10856]|0;c[f+56+(b<<2)>>2]=(e&1)<<8|(d&255)<<16;a[f+1080+b>>0]=0;return}function nk(a,b){a=a|0;b=b|0;xl((c[10856]|0)+56|0,a,b);return}function ok(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;f=c[10856]|0;c[f+16>>2]=a;c[f+20>>2]=b;c[f+24>>2]=d;g[f+28>>2]=+(a|0)/+(e[f+48>>1]|0);g[f+32>>2]=+(b|0)/+(e[f+50>>1]|0);g[f+36>>2]=+(d|0)/+(e[f+52>>1]|0);return}function pk(b,d){b=b|0;d=d|0;a[(c[10856]|0)+44+b>>0]=d;return}function qk(){return (a[(c[10856]|0)+54>>0]|0)!=0|0}function rk(e){e=e|0;var f=0,h=0,j=0;f=i;i=i+16|0;h=f;j=(c[10856]|0)+54|0;if((d[j>>0]|0|0)==(e&1|0)){i=f;return}a[j>>0]=e&1;b[h>>1]=0;b[f+2>>1]=b[h>>1]|0;if(!e){i=f;return}e=c[10856]|0;g[e+28>>2]=0.0;g[e+32>>2]=0.0;g[e+36>>2]=0.0;i=f;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;c[(c[10856]|0)+1608+((e[a>>1]|0)*24|0)+(b<<2)>>2]=d;return}function tk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+8192|0;f=e;g=Io(f,8192,b,d)|0;if((g|0)>8192){h=i;i=i+((1*(g+1|0)|0)+15&-16)|0;j=Io(h,g,b,d)|0;k=h}else{j=g;k=f}a[k+j>>0]=0;j=c[o>>2]|0;zd(k|0,j|0)|0;wf(j|0)|0;i=e;return}function uk(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;tk(a,e);i=d;return}function vk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=a+12|0;c[f>>2]=(c[f>>2]|0)+e;f=a+8|0;g=a+4|0;if(!e)return;h=c[f>>2]|0;i=b;b=e;while(1){if((b|0)>3&(h|0)==0){j=i;k=b;break}e=(d[i>>0]|0)<<(h<<3)|c[g>>2];c[g>>2]=e;l=h+1|0;c[f>>2]=l;b=b+-1|0;if((l|0)==4){m=aa(e,1540483477)|0;e=aa(m>>>24^m,1540483477)|0;c[a>>2]=e^(aa(c[a>>2]|0,1540483477)|0);c[g>>2]=0;c[f>>2]=0;n=0}else n=l;if(!b){o=17;break}else{h=n;i=i+1|0}}if((o|0)==17)return;if((k|0)>3){i=k+-4|0;n=i&-4;h=n+4|0;b=c[a>>2]|0;l=j;e=k;while(1){m=aa((d[l+1>>0]|0)<<16|(d[l>>0]|0)<<24|(d[l+2>>0]|0)<<8|(d[l+3>>0]|0),1540483477)|0;b=(aa(m>>>24^m,1540483477)|0)^(aa(b,1540483477)|0);c[a>>2]=b;e=e+-4|0;if((e|0)<=3)break;else l=l+4|0}p=j+h|0;q=i-n|0}else{p=j;q=k}if(!q)return;k=c[f>>2]|0;j=q;q=p;while(1){if((j|0)>3&(k|0)==0){o=17;break}p=(d[q>>0]|0)<<(k<<3)|c[g>>2];c[g>>2]=p;n=k+1|0;c[f>>2]=n;j=j+-1|0;if((n|0)==4){i=aa(p,1540483477)|0;p=aa(i>>>24^i,1540483477)|0;c[a>>2]=p^(aa(c[a>>2]|0,1540483477)|0);c[g>>2]=0;c[f>>2]=0;r=0}else r=n;if(!j){o=17;break}else{k=r;q=q+1|0}}if((o|0)==17)return}function wk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=a+12|0;c[f>>2]=(c[f>>2]|0)+e;f=a+8|0;g=a+4|0;if(!e)return;h=c[f>>2]|0;i=b;b=e;while(1){if((b|0)>3&(h|0)==0){j=i;k=b;break}e=(d[i>>0]|0)<<(h<<3)|c[g>>2];c[g>>2]=e;l=h+1|0;c[f>>2]=l;b=b+-1|0;if((l|0)==4){m=aa(e,1540483477)|0;e=aa(m>>>24^m,1540483477)|0;c[a>>2]=e^(aa(c[a>>2]|0,1540483477)|0);c[g>>2]=0;c[f>>2]=0;n=0}else n=l;if(!b){o=17;break}else{h=n;i=i+1|0}}if((o|0)==17)return;if((k|0)>3){i=k+-4|0;n=i&-4;h=n+4|0;b=c[a>>2]|0;l=j;e=k;while(1){m=aa(c[l>>2]|0,1540483477)|0;b=(aa(m>>>24^m,1540483477)|0)^(aa(b,1540483477)|0);c[a>>2]=b;e=e+-4|0;if((e|0)<=3)break;else l=l+4|0}p=j+h|0;q=i-n|0}else{p=j;q=k}if(!q)return;k=c[f>>2]|0;j=q;q=p;while(1){if((j|0)>3&(k|0)==0){o=17;break}p=(d[q>>0]|0)<<(k<<3)|c[g>>2];c[g>>2]=p;n=k+1|0;c[f>>2]=n;j=j+-1|0;if((n|0)==4){i=aa(p,1540483477)|0;p=aa(i>>>24^i,1540483477)|0;c[a>>2]=p^(aa(c[a>>2]|0,1540483477)|0);c[g>>2]=0;c[f>>2]=0;r=0}else r=n;if(!j){o=17;break}else{k=r;q=q+1|0}}if((o|0)==17)return}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+16|0;f=e;g=c[f>>2]|0;h=c[f+4>>2]|0;f=a+32|0;i=f;j=c[i>>2]|0;k=c[i+4>>2]|0;i=Yo(g|0,h|0,j|0,k|0)|0;l=i+d|0;if((l|0)>0){i=a+8|0;m=c[i>>2]|0;n=a+12|0;c[n>>2]=bh[c[c[m>>2]>>2]&7](m,l+4095&-4096)|0;l=c[i>>2]|0;i=Pg[c[(c[l>>2]|0)+4>>2]&31](l)|0;l=f;c[l>>2]=i;c[l+4>>2]=0;l=e;o=n;p=i;q=0;r=c[l>>2]|0;s=c[l+4>>2]|0}else{o=a+12|0;p=j;q=k;r=g;s=h}h=Yo(p|0,q|0,r|0,s|0)|0;s=E;q=(s|0)>0|(s|0)==0&h>>>0>2147483647?2147483647:h;h=q>>>0<d>>>0?q:d;Wo((c[o>>2]|0)+r|0,b|0,h|0)|0;b=e;r=Zo(h|0,((h|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=E;o=e;c[o>>2]=r;c[o+4>>2]=b;o=a+24|0;a=o;e=c[a>>2]|0;d=c[a+4>>2]|0;a=(d|0)>(b|0)|(d|0)==(b|0)&e>>>0>r>>>0;q=o;c[q>>2]=a?e:r;c[q+4>>2]=a?d:b;return h|0}function yk(a,b){a=a|0;b=b|0;return c[a+4>>2]|0}function zk(a){a=a|0;return c[a+8>>2]|0}function Ak(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+64|0;m=l;n=f;o=(j|0)==0?l+32|0:j;if(Vi(m,c[f>>2]|0,c[f+4>>2]|0)|0)ni(o,c[m+12>>2]&65535,c[m+16>>2]&65535,c[m+20>>2]&65535,(a[m+27>>0]|0)!=0,a[m+25>>0]|0,d[m+24>>0]|0);else{c[o>>2]=17;m=o+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a[m+12>>0]=0}m=e+19678744|0;f=b[m>>1]|0;j=b[e+19678746>>1]|0;if((f&65535)>=(j&65535)){p=-1;i=l;return p|0}b[m>>1]=f+1<<16>>16;q=m+4|0;m=b[q+((f&65535)<<1)>>1]|0;r=m&65535;b[q+(r+(j&65535)<<1)>>1]=f;if(m<<16>>16==-1){p=-1;i=l;return p|0}b[e+19711796+(r*6|0)>>1]=1;a[e+19711796+(r*6|0)+2>>0]=k;a[e+19711796+(r*6|0)+3>>0]=c[o>>2];a[e+19711796+(r*6|0)+4>>0]=0;r=c[e+18732228>>2]|0;e=r+18572948|0;a[(c[e>>2]|0)+(r+18572956)>>0]=11;o=(c[e>>2]|0)+2&-2;c[e>>2]=o;k=r+18572956+o|0;a[k>>0]=m;a[k+1>>0]=m>>8;k=(c[e>>2]|0)+5&-4;c[e>>2]=k;o=r+18572956+k|0;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;n=(c[e>>2]|0)+7&-4;c[e>>2]=n;o=r+18572956+n|0;a[o>>0]=g;a[o+1>>0]=g>>8;a[o+2>>0]=g>>16;a[o+3>>0]=g>>24;g=(c[e>>2]|0)+4|0;c[e>>2]=g;a[r+18572956+g>>0]=h;c[e>>2]=(c[e>>2]|0)+1;p=m;i=l;return p|0}function Bk(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=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;h=i;i=i+320|0;j=h;k=h+36|0;l=h+32|0;m=h+44|0;n=h+304|0;o=h+48|0;p=h+47|0;q=h+46|0;r=h+42|0;s=h+40|0;t=g;u=c[g>>2]|0;v=c[g+4>>2]|0;c[j>>2]=34928;c[j+4>>2]=34952;c[j+8>>2]=u;g=j+16|0;w=g;c[w>>2]=0;c[w+4>>2]=0;w=j+24|0;c[w>>2]=v;c[w+4>>2]=0;w=(v|0)<0?2147483647:v;x=w>>>0<4?w:4;w=u;Wo(k|0,w|0,x|0)|0;u=((x|0)<0)<<31>>31;y=g;c[y>>2]=x;c[y+4>>2]=u;y=c[k>>2]|0;if(!((y|0)==38294339|(y|0)==71848774|(y|0)==71848790)){z=-1;i=h;return z|0}y=f+19674640|0;k=b[y>>1]|0;A=b[f+19674642>>1]|0;if((k&65535)>=(A&65535)){z=-1;i=h;return z|0}b[y>>1]=k+1<<16>>16;B=y+4|0;y=b[B+((k&65535)<<1)>>1]|0;C=y&65535;b[B+(C+(A&65535)<<1)>>1]=k;if(y<<16>>16==-1){z=-1;i=h;return z|0}k=Yo(v|0,0,x|0,u|0)|0;A=E;B=(A|0)>0|(A|0)==0&k>>>0>2147483647?2147483647:k;k=B>>>0<4?B:4;Wo(l|0,w+x|0,k|0)|0;B=Zo(k|0,((k|0)<0)<<31>>31|0,x|0,u|0)|0;u=E;x=g;c[x>>2]=B;c[x+4>>2]=u;x=Yo(v|0,0,B|0,u|0)|0;v=E;k=(v|0)>0|(v|0)==0&x>>>0>2147483647?2147483647:x;x=k>>>0<2?k:2;Wo(m|0,w+B|0,x|0)|0;w=Zo(x|0,((x|0)<0)<<31>>31|0,B|0,u|0)|0;u=g;c[u>>2]=w;c[u+4>>2]=E;b[f+19701556+(C<<4)+8>>1]=1;c[f+19701556+(C<<4)+4>>2]=c[l>>2];l=f+19701556+(C<<4)+10|0;b[l>>1]=0;a[f+19701556+(C<<4)+12>>0]=0;u=f+19701556+(C<<4)|0;c[u>>2]=0;C=b[m>>1]|0;m=C&65535;w=i;i=i+((1*(m<<1)|0)+15&-16)|0;if(C<<16>>16){C=34928;g=0;while(1){Ug[c[C+8>>2]&15](j,n,1)|0;Ug[c[(c[j>>2]|0)+8>>2]&15](j,o,d[n>>0]|0)|0;a[o+(d[n>>0]|0)>>0]=0;Ug[c[(c[j>>2]|0)+8>>2]&15](j,p,1)|0;a[p>>0]=(d[p>>0]|0)&239;Ug[c[(c[j>>2]|0)+8>>2]&15](j,q,1)|0;Ug[c[(c[j>>2]|0)+8>>2]&15](j,r,2)|0;Ug[c[(c[j>>2]|0)+8>>2]&15](j,s,2)|0;if((Sh(o)|0)==12){B=e[l>>1]|0;b[w+(B<<1)>>1]=Vk(f,o,d[p>>0]|0,b[s>>1]|0)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}B=g+1|0;if(B>>>0>=m>>>0)break;C=c[j>>2]|0;g=B}g=b[l>>1]|0;if(g<<16>>16){l=(g&65535)<<1;g=c[20]|0;j=Sg[c[(c[g>>2]|0)+8>>2]&3](g,l,0,0,0)|0;c[u>>2]=j;Wo(j|0,w|0,l|0)|0}}l=c[f+18732228>>2]|0;f=l+18572948|0;a[(c[f>>2]|0)+(l+18572956)>>0]=9;w=(c[f>>2]|0)+2&-2;c[f>>2]=w;j=l+18572956+w|0;a[j>>0]=y;a[j+1>>0]=y>>8;j=(c[f>>2]|0)+5&-4;c[f>>2]=j;w=l+18572956+j|0;a[w>>0]=t;a[w+1>>0]=t>>8;a[w+2>>0]=t>>16;a[w+3>>0]=t>>24;c[f>>2]=(c[f>>2]|0)+4;z=y;i=h;return z|0}function Ck(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+16|0;h=g+2|0;j=g;k=b[e>>1]|0;if(k<<16>>16==-1){l=-1;i=g;return l|0}e=d+19676692|0;m=b[e>>1]|0;n=b[d+19676694>>1]|0;if((m&65535)<(n&65535)?(b[e>>1]=m+1<<16>>16,o=e+4|0,e=b[o+((m&65535)<<1)>>1]|0,p=e&65535,b[o+(p+(n&65535)<<1)>>1]=m,e<<16>>16!=-1):0){m=d+19701556+((k&65535)<<4)+8|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;b[d+19709748+(p<<2)>>1]=k;b[d+19709748+(p<<2)+2>>1]=-1;p=c[d+18732228>>2]|0;m=p+18572948|0;a[(c[m>>2]|0)+(p+18572956)>>0]=10;n=(c[m>>2]|0)+2&-2;c[m>>2]=n;o=p+18572956+n|0;a[o>>0]=e;a[o+1>>0]=e>>8;o=(c[m>>2]|0)+3&-2;c[m>>2]=o;n=p+18572956+o|0;a[n>>0]=k;a[n+1>>0]=k>>8;n=(c[m>>2]|0)+3&-2;c[m>>2]=n;o=p+18572956+n|0;a[o>>0]=-1;a[o+1>>0]=-1>>8;c[m>>2]=(c[m>>2]|0)+2;q=e}else q=-1;if(!f){l=q;i=g;return l|0}f=d+19701556+((k&65535)<<4)+12|0;if(!(a[f>>0]|0)){a[f>>0]=1;b[j>>1]=k;b[h>>1]=b[j>>1]|0;Fk(d,h)}l=q;i=g;return l|0}function Dk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+16|0;j=h+2|0;k=h;l=b[e>>1]|0;if(l<<16>>16==-1){m=-1;i=h;return m|0}e=b[f>>1]|0;if(e<<16>>16==-1){m=-1;i=h;return m|0}f=l&65535;n=e&65535;if((c[d+19701556+(f<<4)+4>>2]|0)!=(c[d+19701556+(n<<4)+4>>2]|0)){m=-1;i=h;return m|0}o=d+19676692|0;p=b[o>>1]|0;q=b[d+19676694>>1]|0;if((p&65535)<(q&65535)?(b[o>>1]=p+1<<16>>16,r=o+4|0,o=b[r+((p&65535)<<1)>>1]|0,s=o&65535,b[r+(s+(q&65535)<<1)>>1]=p,o<<16>>16!=-1):0){p=d+19701556+(f<<4)+8|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;p=d+19701556+(n<<4)+8|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;b[d+19709748+(s<<2)>>1]=l;b[d+19709748+(s<<2)+2>>1]=e;s=c[d+18732228>>2]|0;p=s+18572948|0;a[(c[p>>2]|0)+(s+18572956)>>0]=10;q=(c[p>>2]|0)+2&-2;c[p>>2]=q;r=s+18572956+q|0;a[r>>0]=o;a[r+1>>0]=o>>8;r=(c[p>>2]|0)+3&-2;c[p>>2]=r;q=s+18572956+r|0;a[q>>0]=l;a[q+1>>0]=l>>8;q=(c[p>>2]|0)+3&-2;c[p>>2]=q;r=s+18572956+q|0;a[r>>0]=e;a[r+1>>0]=e>>8;c[p>>2]=(c[p>>2]|0)+2;t=o}else t=-1;if(!g){m=t;i=h;return m|0}g=d+19701556+(f<<4)+12|0;if(!(a[g>>0]|0)){a[g>>0]=1;b[k>>1]=l;b[j>>1]=b[k>>1]|0;Fk(d,j)}l=d+19701556+(n<<4)+12|0;if(!(a[l>>0]|0)){a[l>>0]=1;b[k>>1]=e;b[j>>1]=b[k>>1]|0;Fk(d,j)}m=t;i=h;return m|0}function Ek(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+16|0;h=g+8|0;j=d+19658252|0;k=b[j>>1]|0;l=b[d+19658254>>1]|0;if((k&65535)>=(l&65535)){m=0;i=g;return m|0}b[j>>1]=k+1<<16>>16;n=j+4|0;j=b[n+((k&65535)<<1)>>1]|0;o=j&65535;b[n+(o+(l&65535)<<1)>>1]=k;if(j<<16>>16==-1){m=0;i=g;return m|0}if(!f){p=-1;q=0}else{k=El(d,f)|0;l=c[f>>2]|0;b[d+19737796+(o<<1)>>1]=k;o=d+19737668+((k&65535)<<1)|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;c[h>>2]=l;b[h+4>>1]=k;Fl(g,d+19737652|0,h);p=k;q=b[f+4>>1]|0}f=c[d+18732228>>2]|0;d=f+18572948|0;a[(c[d>>2]|0)+(f+18572956)>>0]=7;k=(c[d>>2]|0)+2&-2;c[d>>2]=k;h=f+18572956+k|0;a[h>>0]=j;a[h+1>>0]=j>>8;h=(c[d>>2]|0)+5&-4;c[d>>2]=h;k=f+18572956+h|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;k=(c[d>>2]|0)+5&-2;c[d>>2]=k;h=f+18572956+k|0;a[h>>0]=0;a[h+1>>0]=0;c[d>>2]=(c[d>>2]|0)+2;d=c[20]|0;h=Sg[c[(c[d>>2]|0)+8>>2]&3](d,e+20|0,0,0,0)|0;c[h>>2]=h+20;c[h+4>>2]=e;c[h+8>>2]=0;b[h+12>>1]=q;b[h+14>>1]=j;b[h+16>>1]=p;m=h;i=g;return m|0}function Fk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=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;f=i;i=i+16|0;g=f+4|0;h=f;j=b[e>>1]|0;e=j&65535;k=d+19701556+(e<<4)|0;l=d+19701556+(e<<4)+8|0;m=(b[l>>1]|0)+-1<<16>>16;b[l>>1]=m;if(m<<16>>16){i=f;return}m=d+18732228|0;l=c[m>>2]|0;n=l+18638492|0;a[(c[n>>2]|0)+(l+18638500)>>0]=24;o=(c[n>>2]|0)+2&-2;c[n>>2]=o;p=l+18638500+o|0;a[p>>0]=j;a[p+1>>0]=j>>8;c[n>>2]=(c[n>>2]|0)+2;n=c[m>>2]|0;p=n+18704042|0;o=b[p>>1]|0;b[n+18720566+((o&65535)<<1)>>1]=j;b[p>>1]=o+1<<16>>16;o=d+19701556+(e<<4)+10|0;e=b[o>>1]|0;if(!(e<<16>>16)){i=f;return}p=d+19697444|0;j=d+19697448|0;l=e&65535;e=n;n=0;while(1){q=b[(c[k>>2]|0)+(n<<1)>>1]|0;r=d+19697460+((q&65535)<<3)+6|0;s=(b[r>>1]|0)+-1<<16>>16;b[r>>1]=s;if(!(s<<16>>16)){s=c[c[j>>2]>>2]|0;a:do if(!s)t=e;else{r=s;u=s;while(1){if((b[r+24>>1]|0)==q<<16>>16){v=u;break}w=c[r+28>>2]|0;if(!w){t=e;break a}else{r=w;u=w}}c[h>>2]=v;c[g>>2]=c[h>>2];Wk(p,g);t=c[m>>2]|0}while(0);s=t+18638492|0;a[(c[s>>2]|0)+(t+18638500)>>0]=28;u=(c[s>>2]|0)+2&-2;c[s>>2]=u;r=t+18638500+u|0;a[r>>0]=q;a[r+1>>0]=q>>8;c[s>>2]=(c[s>>2]|0)+2;s=c[m>>2]|0;r=s+18704050|0;u=b[r>>1]|0;b[s+18730934+((u&65535)<<1)>>1]=q;b[r>>1]=u+1<<16>>16;x=s}else x=e;n=n+1|0;if((n|0)==(l|0))break;else e=x}x=c[20]|0;Jg[c[(c[x>>2]|0)+12>>2]&31](x,c[k>>2]|0,0,0,0);c[k>>2]=0;b[o>>1]=0;i=f;return}function Gk(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=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;h=i;i=i+8192|0;j=h;k=(g|0)==0;l=(g|0)==1;m=0;n=a;o=0;p=d;q=f;r=e;while(1){Xo(j|0,0,8192)|0;if(k){s=o;break}t=n;u=c[t>>2]|0;v=c[t+4>>2]|0;t=bp(u|0,v|0,m|0)|0;w=j+((t&2047)<<2)|0;c[w>>2]=(c[w>>2]|0)+1;if(l){s=o;break}else{x=1;y=v;z=u;A=1}do{u=n+(x<<3)|0;v=z;z=c[u>>2]|0;w=y;y=c[u+4>>2]|0;u=bp(z|0,y|0,m|0)|0;t=j+((u&2047)<<2)|0;c[t>>2]=(c[t>>2]|0)+1;A=A&(w>>>0<y>>>0|(w|0)==(y|0)&v>>>0<=z>>>0);x=x+1|0}while((x|0)!=(g|0));if(A){s=o;break}else{B=0;C=0}while(1){v=j+(B<<2)|0;w=c[v>>2]|0;c[v>>2]=C;B=B+1|0;if((B|0)==2048)break;else C=w+C|0}if(!k){w=0;do{v=n+(w<<3)|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=bp(t|0,u|0,m|0)|0;D=j+((v&2047)<<2)|0;v=c[D>>2]|0;c[D>>2]=v+1;D=p+(v<<3)|0;c[D>>2]=t;c[D+4>>2]=u;b[q+(v<<1)>>1]=b[r+(w<<1)>>1]|0;w=w+1|0}while((w|0)!=(g|0))}w=o+1|0;if(w>>>0<6){v=r;u=p;m=m+11|0;o=w;r=q;q=v;p=n;n=u}else{s=w;break}}if(!(s&1)){i=h;return}Wo(a|0,d|0,g<<3|0)|0;if(k){i=h;return}Wo(e|0,f|0,g<<1|0)|0;i=h;return}function Hk(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[20]|0;f=Sg[c[(c[e>>2]|0)+8>>2]&3](e,524288,0,0,0)|0;c[f>>2]=524280;e=f+8|0;a[e>>0]=1;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;c[f+4>>2]=0;e=d+14345808|0;c[e>>2]=f;Gl(d);f=d+14345792|0;g=d+14345624|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d+14345652>>2]=-1;c[d+14345656>>2]=0;c[d+14345660>>2]=-1;c[d+14345664>>2]=0;b[d+14345668>>1]=0;b[d+14345670>>1]=1;b[d+14345672>>1]=0;b[d+14345674>>1]=-1;b[d+14345676>>1]=1;f=d+14345616|0;c[f>>2]=1;c[f+4>>2]=0;b[d+14345678>>1]=-1;f=d+14345682|0;b[d+14345488>>1]=-1;b[d+14345496>>1]=-1;b[d+14345504>>1]=-1;b[d+14345512>>1]=-1;b[d+14345520>>1]=-1;b[d+14345528>>1]=-1;b[d+14345536>>1]=-1;b[d+14345544>>1]=-1;b[d+14345552>>1]=-1;b[d+14345560>>1]=-1;b[d+14345568>>1]=-1;b[d+14345576>>1]=-1;b[d+14345584>>1]=-1;b[d+14345592>>1]=-1;b[d+14345600>>1]=-1;b[d+14345608>>1]=-1;b[f>>1]=65535;b[f+2>>1]=65535;b[f+4>>1]=65535;b[f+6>>1]=65535;b[f+8>>1]=65535;c[d+14345760>>2]=0;c[d+14345764>>2]=0;c[d+14345768>>2]=0;b[d+14345774>>1]=0;b[d+14345776>>1]=0;b[d+14345778>>1]=0;b[d+14345784>>1]=0;a[d+14345786>>0]=1;b[d+14345772>>1]=-1;b[d+14345780>>1]=0;b[d+14345782>>1]=-1;b[d+14345696>>1]=-1;b[d+14345704>>1]=-1;b[d+14345712>>1]=-1;b[d+14345720>>1]=-1;b[d+14345728>>1]=-1;b[d+14345736>>1]=-1;b[d+14345744>>1]=-1;b[d+14345752>>1]=-1;c[d+18540128>>2]=1;c[d+18572912>>2]=0;c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;b[d+14345812>>1]=0;b[d+14345814>>1]=0;b[d+14345816>>1]=0;c[d+18572916>>2]=0;c[d+18572920>>2]=0;c[d+18572948>>2]=0;c[d+18572952>>2]=65536;c[d+18638492>>2]=0;c[d+18638496>>2]=65536;c[(c[e>>2]|0)+4>>2]=0;a[d+18732168>>0]=0;e=c[20]|0;f=Sg[c[(c[e>>2]|0)+8>>2]&3](e,16,0,0,0)|0;e=f+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+12>>0]=0;b[f+8>>1]=160;b[f+10>>1]=45;c[e>>2]=14400;g=c[20]|0;h=Og[c[(c[g>>2]|0)+16>>2]&3](g,0,14400,0,0,0)|0;c[f>>2]=h;g=c[e>>2]|0;if(!g){i=d+18731960|0;c[i>>2]=f;return}Xo(h|0,0,g|0)|0;g=(c[e>>2]|0)>>>1;if(!g){i=d+18731960|0;c[i>>2]=f;return}e=0;h=c[f>>2]|0;while(1){a[h>>0]=0;a[h+1>>0]=0;e=e+1|0;if((e|0)==(g|0))break;else h=h+2|0}i=d+18731960|0;c[i>>2]=f;return}function Ik(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+8>>2]|0;h=c[20]|0;Jg[c[(c[h>>2]|0)+12>>2]&31](h,e,0,0,0)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=f;if((g+36|0)>>>0>(c[e>>2]|0)>>>0){i=f-g>>2;f=c[20]|0;j=Sg[c[(c[f>>2]|0)+8>>2]&3](f,36,0,0,0)|0;f=c[b>>2]|0;k=c[d>>2]|0;if((f|0)==(k|0)){l=b;m=f}else{n=j;o=f;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=b;m=c[b>>2]|0}if(m){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,m,0,0,0)}c[l>>2]=j;l=j+(i<<2)|0;c[d>>2]=l;c[e>>2]=j+36;p=j;q=l}else{p=g;q=h}if(q>>>0>=(p+36|0)>>>0){r=p;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}Xo(q|0,0,p+32+(3-q)+4&-4|0)|0;r=c[b>>2]|0;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;if((d|0)==1|(d|0)==0){n=c[a>>2]|0;i=f;return n|0}else if((d|0)!=2){o=d>>>1;p=c[a>>2]|0;if(!o)q=p;else{r=o;s=p;while(1){t=c[s+4>>2]|0;if((r|0)>1){r=r+-1|0;s=t}else{q=t;break}}}c[j>>2]=p;c[k>>2]=q;c[h>>2]=c[j>>2];c[g>>2]=c[k>>2];k=Jk(h,g,o,e)|0;c[a>>2]=k;c[l>>2]=q;q=c[b>>2]|0;c[m>>2]=q;c[h>>2]=c[l>>2];c[g>>2]=c[m>>2];m=Jk(h,g,d-o|0,e)|0;e=m+8|0;o=c[e+4>>2]|0;d=k+8|0;g=c[d>>2]|0;h=c[d+4>>2]|0;d=q;if(o>>>0<h>>>0|((o|0)==(h|0)?(c[e>>2]|0)>>>0<g>>>0:0)){e=c[m+4>>2]|0;o=e;a:do if((o|0)==(d|0))u=e;else{q=o;l=e;while(1){j=q+8|0;p=c[j+4>>2]|0;if(!(p>>>0<h>>>0|((p|0)==(h|0)?(c[j>>2]|0)>>>0<g>>>0:0))){u=l;break a}j=c[l+4>>2]|0;q=j;if((q|0)==(d|0)){u=j;break}else l=j}}while(0);g=c[u>>2]|0;h=g+4|0;e=c[m>>2]|0;c[e+4>>2]=c[h>>2];c[c[h>>2]>>2]=e;e=c[k+4>>2]|0;o=c[k>>2]|0;c[o+4>>2]=m;c[m>>2]=o;c[k>>2]=g;c[h>>2]=k;v=u;w=m;x=e}else{v=m;w=k;x=c[k+4>>2]|0}c[a>>2]=x;k=x;m=v;if((k|0)==(m|0)){n=w;i=f;return n|0}else{y=v;z=v;A=m;B=k;C=x}b:while(1){x=z;if((x|0)==(d|0)){n=w;D=23;break}k=x+8|0;m=c[k>>2]|0;v=c[k+4>>2]|0;k=B;e=C;while(1){u=k+8|0;h=c[u+4>>2]|0;if(v>>>0<h>>>0|((v|0)==(h|0)?m>>>0<(c[u>>2]|0)>>>0:0)){E=k;F=e;break}e=c[e+4>>2]|0;c[a>>2]=e;k=e;if((k|0)==(A|0)){n=w;D=23;break b}}k=c[z+4>>2]|0;e=k;c:do if((e|0)==(d|0))G=k;else{m=E+8|0;v=c[m>>2]|0;u=c[m+4>>2]|0;m=e;h=k;while(1){g=m+8|0;o=c[g+4>>2]|0;if(!(o>>>0<u>>>0|((o|0)==(u|0)?(c[g>>2]|0)>>>0<v>>>0:0))){G=h;break c}g=c[h+4>>2]|0;m=g;if((m|0)==(d|0)){G=g;break}else h=g}}while(0);k=c[G>>2]|0;e=k+4|0;h=c[z>>2]|0;c[h+4>>2]=c[e>>2];c[c[e>>2]>>2]=h;C=c[F+4>>2]|0;y=(A|0)==(x|0)?G:y;h=c[E>>2]|0;c[h+4>>2]=x;c[z>>2]=h;c[E>>2]=k;c[e>>2]=E;c[a>>2]=C;B=C;A=y;if((B|0)==(A|0)){n=w;D=23;break}else z=G}if((D|0)==23){i=f;return n|0}}else{D=c[c[b>>2]>>2]|0;c[b>>2]=D;G=D;z=c[a>>2]|0;a=G+8|0;w=c[a+4>>2]|0;A=z+8|0;B=c[A+4>>2]|0;if(!(w>>>0<B>>>0|((w|0)==(B|0)?(c[a>>2]|0)>>>0<(c[A>>2]|0)>>>0:0))){n=z;i=f;return n|0}A=G+4|0;a=c[D>>2]|0;c[a+4>>2]=c[A>>2];c[c[A>>2]>>2]=a;a=c[z>>2]|0;c[a+4>>2]=G;c[D>>2]=a;c[z>>2]=G;c[A>>2]=z;n=c[b>>2]|0;i=f;return n|0}return 0}function Kk(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=b[f>>1]|0;f=m&65535;n=d+19395776+(f*20|0)|0;a:do if(!(b[d+19395776+(f*20|0)+16>>1]&512)){o=d+19608772|0;Hl(o,c[d+19395776+(f*20|0)+4>>2]|0,e[n>>1]|0);p=d+19608776|0;c[k>>2]=c[p>>2];c[l>>2]=o;q=d+19608780|0;r=c[q>>2]|0;c[j>>2]=c[k>>2];c[h>>2]=c[l>>2];Jk(j,h,r,g)|0;r=c[p>>2]|0;s=r;b:do if((r|0)!=(o|0)){t=s;u=s;v=r;while(1){w=u;x=w+8|0;y=w+16|0;w=v;z=t;while(1){A=x;B=c[y>>2]|0;C=Zo(B|0,0,c[A>>2]|0,c[A+4>>2]|0)|0;A=w+8|0;if(!((C|0)==(c[A>>2]|0)?(E|0)==(c[A+4>>2]|0):0)){D=z;break}c[y>>2]=(c[w+16>>2]|0)+B;B=w+4|0;w=c[B>>2]|0;A=z;z=w;C=c[A>>2]|0;c[C+4>>2]=z;c[c[B>>2]>>2]=C;c[q>>2]=(c[q>>2]|0)+-1;$n(A);if((w|0)==(o|0))break b}w=c[D+4>>2]|0;z=w;if((z|0)==(o|0))break;else{t=w;u=D;v=z}}}while(0);if(((c[d+19608784>>2]|0)==0?(o=c[q>>2]|0,(o|0)!=0):0)?(r=c[p>>2]|0,s=r+8|0,v=c[s>>2]|0,u=c[s+4>>2]|0,s=r+4|0,t=c[r>>2]|0,c[t+4>>2]=c[s>>2],c[c[s>>2]>>2]=t,c[q>>2]=o+-1,$n(r),!((v|0)==0&(u|0)==0)):0){v=d+18732228|0;r=u&65535;while(1){u=c[v>>2]|0;o=u+18638492|0;a[(c[o>>2]|0)+(u+18638500)>>0]=20;t=(c[o>>2]|0)+2&-2;c[o>>2]=t;s=u+18638500+t|0;a[s>>0]=r;a[s+1>>0]=r>>8;c[o>>2]=(c[o>>2]|0)+2;o=c[v>>2]|0;s=o+18704036|0;t=b[s>>1]|0;b[o+18704054+((t&65535)<<1)>>1]=r;b[s>>1]=t+1<<16>>16;t=c[q>>2]|0;if(!t)break a;s=c[p>>2]|0;o=s+8|0;u=c[o>>2]|0;z=c[o+4>>2]|0;o=s+4|0;w=c[s>>2]|0;c[w+4>>2]=c[o>>2];c[c[o>>2]>>2]=w;c[q>>2]=t+-1;$n(s);if((u|0)==0&(z|0)==0)break;else r=z&65535}}}else{r=b[n>>1]|0;q=d+18732228|0;p=c[q>>2]|0;v=p+18638492|0;a[(c[v>>2]|0)+(p+18638500)>>0]=20;z=(c[v>>2]|0)+2&-2;c[v>>2]=z;u=p+18638500+z|0;a[u>>0]=r;a[u+1>>0]=r>>8;c[v>>2]=(c[v>>2]|0)+2;v=c[q>>2]|0;q=v+18704036|0;u=b[q>>1]|0;b[v+18704054+((u&65535)<<1)>>1]=r;b[q>>1]=u+1<<16>>16}while(0);n=d+19608800|0;D=n+4|0;h=e[d+19608802>>1]|0;d=b[D+(h+f<<1)>>1]|0;f=(b[n>>1]|0)+-1<<16>>16;b[n>>1]=f;n=D+((f&65535)<<1)|0;f=b[n>>1]|0;b[n>>1]=m;b[D+((f&65535)+h<<1)>>1]=d;b[D+((d&65535)<<1)>>1]=f;i=g;return}function Lk(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=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,F=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;n=b[f>>1]|0;f=n&65535;o=d+19477696+(f*28|0)|0;p=b[d+19737796+((e[o>>1]|0)<<1)>>1]|0;if(p<<16>>16!=-1?(q=d+19737668+((p&65535)<<1)|0,r=(b[q>>1]|0)+-1<<16>>16,b[q>>1]=r,r<<16>>16==0):0){r=c[d+18732228>>2]|0;q=r+18638492|0;a[(c[q>>2]|0)+(r+18638500)>>0]=19;s=(c[q>>2]|0)+2&-2;c[q>>2]=s;t=r+18638500+s|0;a[t>>0]=p;a[t+1>>0]=p>>8;c[q>>2]=(c[q>>2]|0)+2}a:do if(!(b[d+19477696+(f*28|0)+24>>1]&512)){q=d+19625188|0;Hl(q,c[d+19477696+(f*28|0)+4>>2]|0,e[o>>1]|0);p=d+19625192|0;c[k>>2]=c[p>>2];c[l>>2]=q;t=d+19625196|0;s=c[t>>2]|0;c[j>>2]=c[k>>2];c[h>>2]=c[l>>2];Jk(j,h,s,m)|0;s=c[p>>2]|0;r=s;b:do if((s|0)!=(q|0)){u=r;v=r;w=s;while(1){x=v;y=x+8|0;z=x+16|0;x=w;A=u;while(1){B=y;C=c[z>>2]|0;D=Zo(C|0,0,c[B>>2]|0,c[B+4>>2]|0)|0;B=x+8|0;if(!((D|0)==(c[B>>2]|0)?(E|0)==(c[B+4>>2]|0):0)){F=A;break}c[z>>2]=(c[x+16>>2]|0)+C;C=x+4|0;x=c[C>>2]|0;B=A;A=x;D=c[B>>2]|0;c[D+4>>2]=A;c[c[C>>2]>>2]=D;c[t>>2]=(c[t>>2]|0)+-1;$n(B);if((x|0)==(q|0))break b}x=c[F+4>>2]|0;A=x;if((A|0)==(q|0))break;else{u=x;v=F;w=A}}}while(0);if(((c[d+19625200>>2]|0)==0?(q=c[t>>2]|0,(q|0)!=0):0)?(s=c[p>>2]|0,r=s+8|0,w=c[r>>2]|0,v=c[r+4>>2]|0,r=s+4|0,u=c[s>>2]|0,c[u+4>>2]=c[r>>2],c[c[r>>2]>>2]=u,c[t>>2]=q+-1,$n(s),!((w|0)==0&(v|0)==0)):0){w=d+18732228|0;s=v&65535;while(1){v=c[w>>2]|0;q=v+18638492|0;a[(c[q>>2]|0)+(v+18638500)>>0]=21;u=(c[q>>2]|0)+2&-2;c[q>>2]=u;r=v+18638500+u|0;a[r>>0]=s;a[r+1>>0]=s>>8;c[q>>2]=(c[q>>2]|0)+2;q=c[w>>2]|0;r=q+18704040|0;u=b[r>>1]|0;b[q+18712374+((u&65535)<<1)>>1]=s;b[r>>1]=u+1<<16>>16;u=c[t>>2]|0;if(!u)break a;r=c[p>>2]|0;q=r+8|0;v=c[q>>2]|0;A=c[q+4>>2]|0;q=r+4|0;x=c[r>>2]|0;c[x+4>>2]=c[q>>2];c[c[q>>2]>>2]=x;c[t>>2]=u+-1;$n(r);if((v|0)==0&(A|0)==0)break;else s=A&65535}}}else{s=b[o>>1]|0;t=d+18732228|0;p=c[t>>2]|0;w=p+18638492|0;a[(c[w>>2]|0)+(p+18638500)>>0]=21;A=(c[w>>2]|0)+2&-2;c[w>>2]=A;v=p+18638500+A|0;a[v>>0]=s;a[v+1>>0]=s>>8;c[w>>2]=(c[w>>2]|0)+2;w=c[t>>2]|0;t=w+18704040|0;v=b[t>>1]|0;b[w+18712374+((v&65535)<<1)>>1]=s;b[t>>1]=v+1<<16>>16}while(0);o=d+19625216|0;F=o+4|0;m=e[d+19625218>>1]|0;d=b[F+(m+f<<1)>>1]|0;f=(b[o>>1]|0)+-1<<16>>16;b[o>>1]=f;o=F+((f&65535)<<1)|0;f=b[o>>1]|0;b[o>>1]=n;b[F+((f&65535)+m<<1)>>1]=d;b[F+((d&65535)<<1)>>1]=f;i=g;return}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+24|0;f=a+16|0;g=f;h=c[g>>2]|0;i=Yo(c[e>>2]|0,c[e+4>>2]|0,h|0,c[g+4>>2]|0)|0;g=E;e=(g|0)>0|(g|0)==0&i>>>0>2147483647?2147483647:i;i=e>>>0<d>>>0?e:d;Wo(b|0,(c[a+8>>2]|0)+h|0,i|0)|0;h=f;a=Zo(i|0,((i|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=f;c[h>>2]=a;c[h+4>>2]=E;return i|0}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=c[a>>2]|0;if(!d){e=0;i=b;return e|0}f=i;i=i+1024|0;g=i;i=i+1024|0;wm(a+4|0,f,a+1028|0,g,d);e=1;i=b;return e|0}function Ok(d){d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=d+14345824|0;c[d+18540128>>2]=1;f=e;h=f+60|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));g[d+14345884>>2]=1.0;g[d+14345864>>2]=1.0;g[d+14345844>>2]=1.0;g[e>>2]=1.0;c[d+18572912>>2]=0;c[d+18572932>>2]=1280;c[d+18572936>>2]=720;c[d+18572940>>2]=0;a[d+18572956>>0]=17;c[d+18572952>>2]=1;c[d+18572948>>2]=0;a[d+18638500>>0]=17;c[d+18638496>>2]=1;c[d+18638492>>2]=0;a[d+18732144>>0]=0;e=d+18732152|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=d+582920|0;c[e>>2]=0;c[e+4>>2]=4259839;b[d+713998>>1]=-1;c[d+18732224>>2]=d;c[d+18732228>>2]=d;b[d+19592384>>1]=0;b[d+19592386>>1]=0;e=d+19608772|0;c[e>>2]=e;c[d+19608776>>2]=e;e=d+19608780|0;f=d+19608788|0;h=d+19608796|0;i=d+19608792|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;e=c[20]|0;j=Sg[c[(c[e>>2]|0)+8>>2]&3](e,36,0,0,0)|0;e=c[f>>2]|0;k=c[i>>2]|0;if((e|0)==(k|0)){l=f;m=e}else{n=j;o=e;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=f;m=c[f>>2]|0}if(m){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,m,0,0,0)}c[l>>2]=j;c[h>>2]=j+36;Xo(j|0,0,j+(35-j)+4&-4|0)|0;c[i>>2]=(c[f>>2]|0)+36;f=d+19608800|0;b[d+19608802>>1]=4096;b[f>>1]=0;i=f+4|0;f=0;do{b[i+(f<<1)>>1]=f;f=f+1|0}while((f|0)!=4096);f=d+19625188|0;c[f>>2]=f;c[d+19625192>>2]=f;f=d+19625196|0;i=d+19625204|0;j=d+19625212|0;h=d+19625208|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;f=c[20]|0;l=Sg[c[(c[f>>2]|0)+8>>2]&3](f,36,0,0,0)|0;f=c[i>>2]|0;m=c[h>>2]|0;if((f|0)==(m|0)){p=i;q=f}else{n=l;k=f;while(1){c[n>>2]=c[k>>2];k=k+4|0;if((k|0)==(m|0))break;else n=n+4|0}p=i;q=c[i>>2]|0}if(q){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,q,0,0,0)}c[p>>2]=l;c[j>>2]=l+36;Xo(l|0,0,l+(35-l)+4&-4|0)|0;c[h>>2]=(c[i>>2]|0)+36;i=d+19625216|0;b[d+19625218>>1]=4096;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=4096);i=d+19641604|0;b[d+19641606>>1]=4096;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=4096);i=d+19657992|0;b[d+19657994>>1]=64;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=64);i=d+19658252|0;b[d+19658254>>1]=4096;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=4096);i=d+19674640|0;b[d+19674642>>1]=512;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=512);i=d+19676692|0;b[d+19676694>>1]=512;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=512);i=d+19678744|0;b[d+19678746>>1]=4096;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=4096);i=d+19695132|0;b[d+19695134>>1]=64;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=64);i=d+19695392|0;b[d+19695394>>1]=512;b[i>>1]=0;h=i+4|0;i=0;do{b[h+(i<<1)>>1]=i;i=i+1|0}while((i|0)!=512);i=d+19697444|0;h=d+19697448|0;l=d+19697456|0;j=d+19697452|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;i=c[20]|0;p=Sg[c[(c[i>>2]|0)+8>>2]&3](i,36,0,0,0)|0;i=c[h>>2]|0;q=c[j>>2]|0;if((i|0)==(q|0)){r=h;s=i}else{n=p;m=i;while(1){c[n>>2]=c[m>>2];m=m+4|0;if((m|0)==(q|0))break;else n=n+4|0}r=h;s=c[h>>2]|0}if(s){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,s,0,0,0)}c[r>>2]=p;c[l>>2]=p+36;Xo(p|0,0,p+(35-p)+4&-4|0)|0;c[j>>2]=(c[h>>2]|0)+36;h=d+19737652|0;j=d+19737656|0;p=d+19737664|0;l=d+19737660|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;h=c[20]|0;r=Sg[c[(c[h>>2]|0)+8>>2]&3](h,36,0,0,0)|0;h=c[j>>2]|0;s=c[l>>2]|0;if((h|0)==(s|0)){t=j;u=h}else{n=r;q=h;while(1){c[n>>2]=c[q>>2];q=q+4|0;if((q|0)==(s|0))break;else n=n+4|0}t=j;u=c[j>>2]|0}if(!u){c[t>>2]=r;v=r+36|0;c[p>>2]=v;w=r;x=35-w|0;y=r+x|0;z=y;A=z+4|0;B=A&-4;Xo(r|0,0,B|0)|0;C=c[j>>2]|0;D=C+36|0;c[l>>2]=D;E=d+19805648|0;a[E>>0]=0;F=d+19805652|0;c[F>>2]=1280;G=d+19805656|0;c[G>>2]=720;H=d+19805660|0;I=d+19805688|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;yh(I);J=d+19805768|0;yh(J);K=d+19805840|0;b[K>>1]=65535;b[K+2>>1]=65535;b[K+4>>1]=65535;b[K+6>>1]=65535;b[K+8>>1]=65535;b[K+10>>1]=65535;b[K+12>>1]=65535;b[K+14>>1]=65535;L=d+19805856|0;M=d+19805888|0;c[M>>2]=0;N=L;O=N;c[O>>2]=0;P=N+4|0;Q=P;c[Q>>2]=0;return}n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,u,0,0,0);c[t>>2]=r;v=r+36|0;c[p>>2]=v;w=r;x=35-w|0;y=r+x|0;z=y;A=z+4|0;B=A&-4;Xo(r|0,0,B|0)|0;C=c[j>>2]|0;D=C+36|0;c[l>>2]=D;E=d+19805648|0;a[E>>0]=0;F=d+19805652|0;c[F>>2]=1280;G=d+19805656|0;c[G>>2]=720;H=d+19805660|0;I=d+19805688|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;yh(I);J=d+19805768|0;yh(J);K=d+19805840|0;b[K>>1]=65535;b[K+2>>1]=65535;b[K+4>>1]=65535;b[K+6>>1]=65535;b[K+8>>1]=65535;b[K+10>>1]=65535;b[K+12>>1]=65535;b[K+14>>1]=65535;L=d+19805856|0;M=d+19805888|0;c[M>>2]=0;N=L;O=N;c[O>>2]=0;P=N+4|0;Q=P;c[Q>>2]=0;return}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+28>>2]|0;h=c[e>>2]|0;if(!((h|0)==(e+12|0)|(h|0)==0)){i=c[20]|0;Jg[c[(c[i>>2]|0)+12>>2]&31](i,h,0,0,0)}h=c[20]|0;Jg[c[(c[h>>2]|0)+12>>2]&31](h,e,0,0,0)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=f;if((g+36|0)>>>0>(c[e>>2]|0)>>>0){i=f-g>>2;f=c[20]|0;j=Sg[c[(c[f>>2]|0)+8>>2]&3](f,36,0,0,0)|0;f=c[b>>2]|0;k=c[d>>2]|0;if((f|0)==(k|0)){l=b;m=f}else{n=j;o=f;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=b;m=c[b>>2]|0}if(m){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,m,0,0,0)}c[l>>2]=j;l=j+(i<<2)|0;c[d>>2]=l;c[e>>2]=j+36;p=j;q=l}else{p=g;q=h}if(q>>>0>=(p+36|0)>>>0){r=p;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}Xo(q|0,0,p+32+(3-q)+4&-4|0)|0;r=c[b>>2]|0;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a+16|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+12>>2]|0;h=c[20]|0;Jg[c[(c[h>>2]|0)+12>>2]&31](h,e,0,0,0)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+20|0;c[d>>2]=f;e=a+24|0;h=f;if((g+36|0)>>>0>(c[e>>2]|0)>>>0){i=f-g>>2;f=c[20]|0;j=Sg[c[(c[f>>2]|0)+8>>2]&3](f,36,0,0,0)|0;f=c[b>>2]|0;k=c[d>>2]|0;if((f|0)==(k|0)){l=b;m=f}else{n=j;o=f;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=b;m=c[b>>2]|0}if(m){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,m,0,0,0)}c[l>>2]=j;l=j+(i<<2)|0;c[d>>2]=l;c[e>>2]=j+36;p=j;q=l}else{p=g;q=h}if(q>>>0<(p+36|0)>>>0){Xo(q|0,0,p+32+(3-q)+4&-4|0)|0;q=c[b>>2]|0;r=q;s=q}else{r=p;s=c[b>>2]|0}c[d>>2]=r+36;c[a+12>>2]=0;if(s){r=c[20]|0;Jg[c[(c[r>>2]|0)+12>>2]&31](r,s,0,0,0)}s=a+8|0;if(!(c[s>>2]|0))return;r=c[a+4>>2]|0;d=(c[a>>2]|0)+4|0;b=c[r>>2]|0;c[b+4>>2]=c[d>>2];c[c[d>>2]>>2]=b;c[s>>2]=0;if((r|0)==(a|0))return;else t=r;do{r=t;t=c[t+4>>2]|0;$n(r)}while((t|0)!=(a|0));return}function Rk(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=d+19805652|0;c[h>>2]=(e|0)==0?1:e;e=d+19805656|0;c[e>>2]=(f|0)==0?1:f;c[d+19805660>>2]=g;a[d+19805862>>0]=g>>>14&1;Xo(d+19746244|0,-1,512)|0;g=d+19678744|0;f=b[g>>1]|0;if(!(f<<16>>16))return;i=g+4|0;g=d+18732228|0;j=0;do{k=b[i+(j<<1)>>1]|0;l=a[d+19711796+((k&65535)*6|0)+2>>0]|0;if(l<<24>>24!=6){m=c[h>>2]|0;n=m&65535;o=c[e>>2]|0;p=o&65535;switch(l&255|0){case 2:{q=(p&65535)>>>2;r=(n&65535)>>>2;break}case 4:{q=(p&65535)>>>4;r=(n&65535)>>>4;break}case 3:{q=(p&65535)>>>3;r=(n&65535)>>>3;break}case 1:{q=(p&65535)>>>1;r=(n&65535)>>>1;break}case 5:{q=o<<1&65535;r=m<<1&65535;break}default:{q=p;r=n}}n=(r&65535)>1?r:1;p=(q&65535)>1?q:1;m=c[g>>2]|0;o=m+18572948|0;a[(c[o>>2]|0)+(m+18572956)>>0]=13;l=(c[o>>2]|0)+2&-2;c[o>>2]=l;s=m+18572956+l|0;a[s>>0]=k;a[s+1>>0]=k>>8;k=(c[o>>2]|0)+3&-2;c[o>>2]=k;s=m+18572956+k|0;a[s>>0]=n;a[s+1>>0]=n>>8;n=(c[o>>2]|0)+3&-2;c[o>>2]=n;s=m+18572956+n|0;a[s>>0]=p;a[s+1>>0]=p>>8;c[o>>2]=(c[o>>2]|0)+2}j=j+1|0}while((j&65535)<<16>>16!=f<<16>>16);return}function Sk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f+18732228|0;j=c[(c[i>>2]|0)+18731960>>2]|0;k=(c[f+19805652>>2]|0)>>>3&8191;l=(k|0)==0?1:k;k=(c[f+19805656>>2]&65535)>>>(h?3:4);f=(k|0)==0?1:k;k=c[j>>2]|0;m=j+8|0;if(!((((k|0)!=0?(e[m>>1]|0|0)==(l|0):0)?(e[j+10>>1]|0|0)==(f|0):0)?(d[j+12>>0]|0|0)==(h&1|0):0))n=5;if((n|0)==5?(a[j+12>>0]=h&1,b[m>>1]=l,b[j+10>>1]=f,m=j+4|0,h=c[m>>2]|0,n=aa(f<<1&131070,l)|0,c[m>>2]=n,l=c[20]|0,f=Og[c[(c[l>>2]|0)+16>>2]&3](l,k,n,0,0,0)|0,c[j>>2]=f,j=c[m>>2]|0,j>>>0>h>>>0):0)Xo(f+h|0,0,j-h|0)|0;h=c[(c[i>>2]|0)+18731960>>2]|0;i=(c[h+4>>2]|0)>>>1;if(!i)return;j=0;f=c[h>>2]|0;while(1){a[f>>0]=0;a[f+1>>0]=g;j=j+1|0;if((j|0)==(i|0))break;else f=f+2|0}return}function Tk(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;m=f&65535;n=d+8|0;o=b[n>>1]|0;p=o&65535;if((o&65535)<=(f&65535)){i=l;return}if((e[d+10>>1]|0)<=(g&65535)){i=l;return}o=i;i=i+((1*p|0)+15&-16)|0;q=Io(o,p,j,k)|0;if(!q){i=l;return}k=b[n>>1]|0;if((k&65535)<=(f&65535)){i=l;return}f=0;j=(c[d>>2]|0)+((aa(k&65535,g&65535)|0)+m<<1)|0;g=m;while(1){a[j>>0]=a[o+f>>0]|0;a[j+1>>0]=h;f=f+1|0;if(f>>>0>=q>>>0){r=8;break}g=g+1|0;if(g>>>0>=(e[n>>1]|0)>>>0){r=8;break}else j=j+2|0}if((r|0)==8){i=l;return}}function Uk(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=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;j=i;i=i+16|0;k=j+8|0;l=j;m=c[h>>2]|0;n=c[d+19737656>>2]|0;o=m<<24>>24;p=(m<<16>>24)-o+(o*65600|0)|0;o=(m<<8>>24)-p+(p*65600|0)|0;p=(m>>24)-o+(o*65600|0)&((c[d+19737660>>2]|0)-n>>2)+-2;o=c[n+(p+1<<2)>>2]|0;q=c[n+(p<<2)>>2]|0;a:do if((q|0)!=(o|0)){p=q;while(1){if((c[p>>2]|0)==(m|0)){r=p;break}p=c[p+8>>2]|0;if((p|0)==(o|0)){s=5;break a}}if(r){p=b[r+4>>1]|0;n=d+18732228|0;t=c[n>>2]|0;u=c[t+18572928>>2]|0;if(p<<16>>16==-1){v=t;w=n;x=u;s=7}else{y=p;z=u;A=t}}else s=5}else s=5;while(0);if((s|0)==5){r=d+18732228|0;o=c[r>>2]|0;v=o;w=r;x=c[o+18572928>>2]|0;s=7}if((s|0)==7){s=d+19657992|0;o=b[s>>1]|0;r=b[d+19657994>>1]|0;if((o&65535)<(r&65535)){b[s>>1]=o+1<<16>>16;m=s+4|0;s=b[m+((o&65535)<<1)>>1]|0;b[m+((s&65535)+(r&65535)<<1)>>1]=o;B=s;C=c[w>>2]|0}else{B=-1;C=v}v=C+18572948|0;a[(c[v>>2]|0)+(C+18572956)>>0]=2;s=(c[v>>2]|0)+2&-2;c[v>>2]=s;o=C+18572956+s|0;a[o>>0]=B;a[o+1>>0]=B>>8;o=(c[v>>2]|0)+5&-4;c[v>>2]=o;s=C+18572956+o|0;o=h;C=s+72|0;do{a[s>>0]=a[o>>0]|0;s=s+1|0;o=o+1|0}while((s|0)<(C|0));c[v>>2]=(c[v>>2]|0)+72;v=c[h>>2]|0;b[d+19737796+((e[x+14>>1]|0)<<1)>>1]=B;o=d+19737668+((B&65535)<<1)|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;c[k>>2]=v;b[k+4>>1]=B;Fl(l,d+19737652|0,k);y=B;z=x;A=c[w>>2]|0}w=b[h+4>>1]|0;h=A+18572920|0;A=c[h>>2]|0;x=w&65535;B=(A>>>0)%(x>>>0)|0;k=((B|0)!=0?x-B|0:0)+A|0;A=k+(aa(x,g)|0)|0;g=A>>>0>6291456?6291456:A;c[h>>2]=g;h=g-k|0;c[f>>2]=(c[z>>2]|0)+k;c[f+4>>2]=h-((h>>>0)%(x>>>0)|0);h=(k>>>0)%(x>>>0)|0;c[f+8>>2]=((((h|0)!=0?x-h|0:0)+k|0)>>>0)/(x>>>0)|0;b[f+12>>1]=w;b[f+14>>1]=b[z+14>>1]|0;b[f+16>>1]=y;i=j;return}function Vk(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=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;j=i;i=i+96|0;k=j+88|0;l=j+64|0;m=j+32|0;n=j+8|0;o=j;c[k>>2]=g;if((Sh(f)|0)!=12){p=-1;i=j;return p|0}q=e+19697444|0;tm(l,f);r=c[e+19697448>>2]|0;s=(c[e+19697452>>2]|0)-r>>2;t=c[l>>2]|0;u=c[l+4>>2]|0;if((u|0)==(t|0))v=0;else{w=0;x=t;while(1){y=(a[x>>0]|0)-w+(w*65600|0)|0;x=x+1|0;if((x|0)==(u|0)){v=y;break}else w=y}}w=v&s+-2;s=c[r+(w+1<<2)>>2]|0;v=c[r+(w<<2)>>2]|0;a:do if((v|0)==(s|0))z=0;else{w=u-t|0;r=v;while(1){x=c[r+4>>2]|0;y=c[r>>2]|0;if((x-y|0)==(w|0)){A=y;y=t;while(1){if((A|0)==(x|0)){z=r;break a}if((a[A>>0]|0)==(a[y>>0]|0)){A=A+1|0;y=y+1|0}else break}}r=c[r+28>>2]|0;if((r|0)==(s|0)){z=0;break}}}while(0);if(!((t|0)==(l+12|0)|(t|0)==0)){l=c[20]|0;Jg[c[(c[l>>2]|0)+12>>2]&31](l,t,0,0,0)}if(z){t=b[z+24>>1]|0;z=t&65535;l=e+19697460+(z<<3)|0;s=(c[216+(c[l>>2]<<2)>>2]|0)>>>0<(c[216+(g<<2)>>2]|0)>>>0;v=e+19697460+(z<<3)+4|0;u=b[v>>1]|0;if(s|(u&65535)<(h&65535)){c[l>>2]=c[(s?k:l)>>2];b[v>>1]=(u&65535)<(h&65535)?h:u;u=c[e+18732228>>2]|0;s=u+18572948|0;a[(c[s>>2]|0)+(u+18572956)>>0]=15;r=(c[s>>2]|0)+2&-2;c[s>>2]=r;w=u+18572956+r|0;a[w>>0]=t;a[w+1>>0]=t>>8;w=(c[s>>2]|0)+5&-4;c[s>>2]=w;r=u+18572956+w|0;w=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;a[r>>0]=w;a[r+1>>0]=w>>8;a[r+2>>0]=w>>16;a[r+3>>0]=w>>24;w=(c[s>>2]|0)+5&-2;c[s>>2]=w;r=u+18572956+w|0;w=d[v>>0]|d[v+1>>0]<<8;a[r>>0]=w;a[r+1>>0]=w>>8;w=(c[s>>2]|0)+2|0;c[s>>2]=w;r=(Vo(f|0)|0)+1|0;a[u+18572956+w>>0]=r;w=(c[s>>2]|0)+1|0;c[s>>2]=w;v=r&255;Wo(u+18572956+w|0,f|0,v|0)|0;c[s>>2]=(c[s>>2]|0)+v}v=e+19697460+(z<<3)+6|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16;p=t;i=j;return p|0}t=e+19695392|0;v=b[t>>1]|0;z=b[e+19695394>>1]|0;if((v&65535)>=(z&65535)){p=-1;i=j;return p|0}b[t>>1]=v+1<<16>>16;s=t+4|0;t=b[s+((v&65535)<<1)>>1]|0;w=t&65535;b[s+(w+(z&65535)<<1)>>1]=v;if(t<<16>>16==-1){p=-1;i=j;return p|0}b[e+19697460+(w<<3)+6>>1]=1;c[e+19697460+(w<<3)>>2]=g;b[e+19697460+(w<<3)+4>>1]=h;tm(n,f);w=m+12|0;c[m>>2]=w;g=m+4|0;c[g>>2]=w;v=m+8|0;z=m+24|0;c[v>>2]=z;s=n+4|0;u=c[s>>2]|0;r=c[n>>2]|0;l=u-r|0;y=l+1|0;if((y|0)>12){A=c[20]|0;x=Sg[c[(c[A>>2]|0)+8>>2]&3](A,y,0,0,0)|0;y=c[m>>2]|0;A=c[g>>2]|0;if((y|0)==(A|0))B=y;else{C=y;y=x;while(1){a[y>>0]=a[C>>0]|0;C=C+1|0;if((C|0)==(A|0))break;else y=y+1|0}B=c[m>>2]|0}if(!((B|0)==(w|0)|(B|0)==0)){y=c[20]|0;Jg[c[(c[y>>2]|0)+12>>2]&31](y,B,0,0,0)}c[m>>2]=x;c[g>>2]=x;B=x+l|0;c[v>>2]=B;D=c[s>>2]|0;E=c[n>>2]|0;F=x;G=B}else{D=u;E=r;F=w;G=z}z=D+1-E|0;if((F+z|0)>>>0>G>>>0?(r=(z*3|0)>>>1,z=r+1|0,(F+z|0)>>>0>G>>>0):0){G=c[20]|0;u=Sg[c[(c[G>>2]|0)+8>>2]&3](G,z,0,0,0)|0;z=c[m>>2]|0;G=c[g>>2]|0;if((z|0)==(G|0))H=z;else{B=z;z=u;while(1){a[z>>0]=a[B>>0]|0;B=B+1|0;if((B|0)==(G|0))break;else z=z+1|0}H=c[m>>2]|0}if(!((H|0)==(w|0)|(H|0)==0)){z=c[20]|0;Jg[c[(c[z>>2]|0)+12>>2]&31](z,H,0,0,0)}c[m>>2]=u;c[g>>2]=u;c[v>>2]=u+r;I=u}else I=F;if((E|0)==(D|0))J=I;else{F=E;E=I;while(1){a[E>>0]=a[F>>0]|0;I=(c[g>>2]|0)+1|0;c[g>>2]=I;F=F+1|0;if((F|0)==(D|0)){J=I;break}else E=I}}a[J>>0]=0;b[m+24>>1]=t;vm(o,q,m);q=c[m>>2]|0;if(!((q|0)==(w|0)|(q|0)==0)){w=c[20]|0;Jg[c[(c[w>>2]|0)+12>>2]&31](w,q,0,0,0)}q=c[n>>2]|0;if(!((q|0)==(n+12|0)|(q|0)==0)){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,q,0,0,0)}q=c[e+18732228>>2]|0;e=q+18572948|0;a[(c[e>>2]|0)+(q+18572956)>>0]=15;n=(c[e>>2]|0)+2&-2;c[e>>2]=n;w=q+18572956+n|0;a[w>>0]=t;a[w+1>>0]=t>>8;w=(c[e>>2]|0)+5&-4;c[e>>2]=w;n=q+18572956+w|0;w=c[k>>2]|0;a[n>>0]=w;a[n+1>>0]=w>>8;a[n+2>>0]=w>>16;a[n+3>>0]=w>>24;w=(c[e>>2]|0)+5&-2;c[e>>2]=w;n=q+18572956+w|0;a[n>>0]=h;a[n+1>>0]=h>>8;h=(c[e>>2]|0)+2|0;c[e>>2]=h;n=(Vo(f|0)|0)+1|0;a[q+18572956+h>>0]=n;h=(c[e>>2]|0)+1|0;c[e>>2]=h;w=n&255;Wo(q+18572956+h|0,f|0,w|0)|0;c[e>>2]=(c[e>>2]|0)+w;p=t;i=j;return p|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[d>>2]|0;d=c[e>>2]|0;f=c[e+4>>2]|0;if((f|0)==(d|0))g=0;else{h=0;i=d;while(1){d=(a[i>>0]|0)-h+(h*65600|0)|0;i=i+1|0;if((i|0)==(f|0)){g=d;break}else h=d}}h=c[b+4>>2]|0;f=((c[b+8>>2]|0)-h>>2)+-2&g;g=e+28|0;i=c[g>>2]|0;d=h+(f<<2)|0;a:do if((c[d>>2]|0)==(e|0)){j=d;k=f;do{c[j>>2]=i;if(!k)break a;k=k+-1|0;j=h+(k<<2)|0}while((c[j>>2]|0)==(e|0))}while(0);h=c[e+32>>2]|0;if(h)c[h+28>>2]=c[g>>2];if(i)c[i+32>>2]=h;h=c[e>>2]|0;if((h|0)==(e+12|0)|(h|0)==0){l=c[20]|0;m=c[l>>2]|0;n=m+12|0;o=c[n>>2]|0;Jg[o&31](l,e,0,0,0);p=c[b>>2]|0;q=p+-1|0;c[b>>2]=q;return}i=c[20]|0;Jg[c[(c[i>>2]|0)+12>>2]&31](i,h,0,0,0);l=c[20]|0;m=c[l>>2]|0;n=m+12|0;o=c[n>>2]|0;Jg[o&31](l,e,0,0,0);p=c[b>>2]|0;q=p+-1|0;c[b>>2]=q;return}function Xk(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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,K=0,L=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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;c[d>>2]=256;b[d+8>>1]=1;e=d+114828|0;f=d+140|0;do{g=f+8|0;h=f+12|0;i=f+20|0;j=f+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;g=Eh(36)|0;k=c[h>>2]|0;l=c[j>>2]|0;if((k|0)==(l|0)){m=h;n=k}else{o=g;p=k;while(1){c[o>>2]=c[p>>2];p=p+4|0;if((p|0)==(l|0))break;else o=o+4|0}m=h;n=c[h>>2]|0}Fh(n,36);c[m>>2]=g;c[i>>2]=g+36;Xo(g|0,0,g+(35-g)+4&-4|0)|0;c[j>>2]=(c[h>>2]|0)+36;f=f+28|0}while((f|0)!=(e|0));e=d+245900|0;f=d+114828|0;do{m=f+16|0;n=f+20|0;o=f+28|0;l=f+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;m=Eh(36)|0;p=c[n>>2]|0;k=c[l>>2]|0;if((p|0)==(k|0)){q=n;r=p}else{s=m;t=p;while(1){c[s>>2]=c[t>>2];t=t+4|0;if((t|0)==(k|0))break;else s=s+4|0}q=n;r=c[n>>2]|0}Fh(r,36);c[q>>2]=m;c[o>>2]=m+36;Xo(m|0,0,m+(35-m)+4&-4|0)|0;c[l>>2]=(c[n>>2]|0)+36;f=f+32|0}while((f|0)!=(e|0));e=d+252044|0;f=d+245900|0;do{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=f+12|0}while((f|0)!=(e|0));e=d+405644|0;f=d+252044|0;do{c[f>>2]=0;c[f+180>>2]=0;a[f+280>>0]=0;q=f+284|0;r=f+288|0;s=f+296|0;k=f+292|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;q=Eh(36)|0;t=c[r>>2]|0;h=c[k>>2]|0;if((t|0)==(h|0)){u=r;v=t}else{j=q;g=t;while(1){c[j>>2]=c[g>>2];g=g+4|0;if((g|0)==(h|0))break;else j=j+4|0}u=r;v=c[r>>2]|0}Fh(v,36);c[u>>2]=q;c[s>>2]=q+36;Xo(q|0,0,q+(35-q)+4&-4|0)|0;c[k>>2]=(c[r>>2]|0)+36;f=f+300|0}while((f|0)!=(e|0));e=d+585868|0;f=d+405644|0;do{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=3553;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=-1;a[f+40>>0]=0;f=f+44|0}while((f|0)!=(e|0));yh(d+585868|0);yh(d+585940|0);yh(d+586012|0);yh(d+586084|0);yh(d+586156|0);yh(d+586228|0);yh(d+586300|0);yh(d+586372|0);yh(d+586444|0);yh(d+586516|0);yh(d+586588|0);yh(d+586660|0);yh(d+586732|0);yh(d+586804|0);yh(d+586876|0);yh(d+586948|0);yh(d+587020|0);yh(d+587092|0);yh(d+587164|0);yh(d+587236|0);yh(d+587308|0);yh(d+587380|0);yh(d+587452|0);yh(d+587524|0);yh(d+587596|0);yh(d+587668|0);yh(d+587740|0);yh(d+587812|0);yh(d+587884|0);yh(d+587956|0);yh(d+588028|0);yh(d+588100|0);yh(d+588172|0);yh(d+588244|0);yh(d+588316|0);yh(d+588388|0);yh(d+588460|0);yh(d+588532|0);yh(d+588604|0);yh(d+588676|0);yh(d+588748|0);yh(d+588820|0);yh(d+588892|0);yh(d+588964|0);yh(d+589036|0);yh(d+589108|0);yh(d+589180|0);yh(d+589252|0);yh(d+589324|0);yh(d+589396|0);yh(d+589468|0);yh(d+589540|0);yh(d+589612|0);yh(d+589684|0);yh(d+589756|0);yh(d+589828|0);yh(d+589900|0);yh(d+589972|0);yh(d+590044|0);yh(d+590116|0);yh(d+590188|0);yh(d+590260|0);yh(d+590332|0);yh(d+590404|0);e=d+593036|0;f=d+590476|0;do{c[f>>2]=0;b[f+20>>1]=-1;a[f+22>>0]=0;u=f+4|0;c[u>>2]=0;c[u+4>>2]=0;f=f+40|0}while((f|0)!=(e|0));e=d+593036|0;f=d+593040|0;u=d+593048|0;v=d+593044|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=Eh(36)|0;j=c[f>>2]|0;h=c[v>>2]|0;if((j|0)==(h|0)){w=f;x=j}else{g=e;n=j;while(1){c[g>>2]=c[n>>2];n=n+4|0;if((n|0)==(h|0))break;else g=g+4|0}w=f;x=c[f>>2]|0}Fh(x,36);c[w>>2]=e;c[u>>2]=e+36;Xo(e|0,0,e+(35-e)+4&-4|0)|0;c[v>>2]=(c[f>>2]|0)+36;c[d+595128>>2]=4;f=d+595132|0;v=d+595148|0;e=d+595156|0;u=d+595152|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;f=Eh(36)|0;w=c[v>>2]|0;x=c[u>>2]|0;if((w|0)==(x|0)){y=v;z=w}else{g=f;h=w;while(1){c[g>>2]=c[h>>2];h=h+4|0;if((h|0)==(x|0))break;else g=g+4|0}y=v;z=c[v>>2]|0}Fh(z,36);c[y>>2]=f;c[e>>2]=f+36;Xo(f|0,0,f+(35-f)+4&-4|0)|0;c[u>>2]=(c[v>>2]|0)+36;v=d+595160|0;u=d+595164|0;f=d+595172|0;e=d+595168|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;v=Eh(36)|0;y=c[u>>2]|0;z=c[e>>2]|0;if((y|0)==(z|0)){A=u;B=y}else{g=v;x=y;while(1){c[g>>2]=c[x>>2];x=x+4|0;if((x|0)==(z|0))break;else g=g+4|0}A=u;B=c[u>>2]|0}Fh(B,36);c[A>>2]=v;c[f>>2]=v+36;Xo(v|0,0,v+(35-v)+4&-4|0)|0;c[e>>2]=(c[u>>2]|0)+36;u=d+595176|0;e=d+595180|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;a[u+12>>0]=0;b[d+595184>>1]=160;b[d+595186>>1]=45;c[e>>2]=14400;v=c[20]|0;f=Og[c[(c[v>>2]|0)+16>>2]&3](v,0,14400,0,0,0)|0;c[u>>2]=f;v=c[e>>2]|0;if(!v){C=d+595192|0;a[C>>0]=0;D=d+595196|0;b[D>>1]=0;E=d+595200|0;c[E>>2]=1280;F=d+595204|0;c[F>>2]=720;G=d+595208|0;H=d+595248|0;I=H;J=I;c[J>>2]=0;K=I+4|0;L=K;c[L>>2]=0;M=d+595260|0;c[M>>2]=0;N=d+595264|0;c[N>>2]=0;O=d+595280|0;c[O>>2]=0;P=d+595288|0;c[P>>2]=0;Q=d+595292|0;c[Q>>2]=0;R=d+595296|0;c[R>>2]=0;S=d+595320|0;c[S>>2]=0;T=d+595324|0;c[T>>2]=0;U=d+595328|0;V=G;W=V+36|0;do{c[V>>2]=0;V=V+4|0}while((V|0)<(W|0));c[U>>2]=3553;X=d+595332|0;c[X>>2]=0;Y=d+595336|0;c[Y>>2]=0;Z=d+595340|0;c[Z>>2]=0;_=d+595344|0;c[_>>2]=-1;$=d+595360|0;a[$>>0]=0;aa=d+595364|0;c[aa>>2]=0;ba=d+595268|0;ca=ba;da=ca;c[da>>2]=0;ea=ca+4|0;fa=ea;c[fa>>2]=0;return}Xo(f|0,0,v|0)|0;v=(c[e>>2]|0)>>>1;if(!v){C=d+595192|0;a[C>>0]=0;D=d+595196|0;b[D>>1]=0;E=d+595200|0;c[E>>2]=1280;F=d+595204|0;c[F>>2]=720;G=d+595208|0;H=d+595248|0;I=H;J=I;c[J>>2]=0;K=I+4|0;L=K;c[L>>2]=0;M=d+595260|0;c[M>>2]=0;N=d+595264|0;c[N>>2]=0;O=d+595280|0;c[O>>2]=0;P=d+595288|0;c[P>>2]=0;Q=d+595292|0;c[Q>>2]=0;R=d+595296|0;c[R>>2]=0;S=d+595320|0;c[S>>2]=0;T=d+595324|0;c[T>>2]=0;U=d+595328|0;V=G;W=V+36|0;do{c[V>>2]=0;V=V+4|0}while((V|0)<(W|0));c[U>>2]=3553;X=d+595332|0;c[X>>2]=0;Y=d+595336|0;c[Y>>2]=0;Z=d+595340|0;c[Z>>2]=0;_=d+595344|0;c[_>>2]=-1;$=d+595360|0;a[$>>0]=0;aa=d+595364|0;c[aa>>2]=0;ba=d+595268|0;ca=ba;da=ca;c[da>>2]=0;ea=ca+4|0;fa=ea;c[fa>>2]=0;return}e=0;f=c[u>>2]|0;while(1){a[f>>0]=0;a[f+1>>0]=0;e=e+1|0;if((e|0)==(v|0))break;else f=f+2|0}C=d+595192|0;a[C>>0]=0;D=d+595196|0;b[D>>1]=0;E=d+595200|0;c[E>>2]=1280;F=d+595204|0;c[F>>2]=720;G=d+595208|0;H=d+595248|0;I=H;J=I;c[J>>2]=0;K=I+4|0;L=K;c[L>>2]=0;M=d+595260|0;c[M>>2]=0;N=d+595264|0;c[N>>2]=0;O=d+595280|0;c[O>>2]=0;P=d+595288|0;c[P>>2]=0;Q=d+595292|0;c[Q>>2]=0;R=d+595296|0;c[R>>2]=0;S=d+595320|0;c[S>>2]=0;T=d+595324|0;c[T>>2]=0;U=d+595328|0;V=G;W=V+36|0;do{c[V>>2]=0;V=V+4|0}while((V|0)<(W|0));c[U>>2]=3553;X=d+595332|0;c[X>>2]=0;Y=d+595336|0;c[Y>>2]=0;Z=d+595340|0;c[Z>>2]=0;_=d+595344|0;c[_>>2]=-1;$=d+595360|0;a[$>>0]=0;aa=d+595364|0;c[aa>>2]=0;ba=d+595268|0;ca=ba;da=ca;c[da>>2]=0;ea=ca+4|0;fa=ea;c[fa>>2]=0;return}function Yk(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=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,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;f=i;i=i+1040|0;g=f;h=f+16|0;j=f+8|0;k=f+4|0;c[e+4>>2]=xj()|0;b[e+595194>>1]=-1;Xo(e+593052|0,0,2048)|0;l=e+595200|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;xm(e,1280,720,0);l=Zc(7936)|0;ue()|0;c[e+595300>>2]=(l|0)==0?34968:l;l=Zc(7937)|0;ue()|0;c[e+595304>>2]=(l|0)==0?34968:l;l=Zc(7938)|0;ue()|0;c[e+595308>>2]=(l|0)==0?34968:l;l=Zc(35724)|0;ue()|0;c[e+595312>>2]=(l|0)==0?34968:l;c[k>>2]=0;Yc(34466,k|0);l=c[k>>2]|0;if((l|0)>0){m=(l|0)>256?256:l;c[k>>2]=m;l=i;i=i+((1*(m<<2)|0)+15&-16)|0;Yc(34467,l|0);m=c[k>>2]|0;if((m|0)>0){n=0;do{o=c[l+(n<<2)>>2]|0;p=17;q=0;while(1){if((c[34984+(q*20|0)>>2]|0)==(o|0)){a[34984+(q*20|0)+16>>0]=1;r=q}else r=p;q=q+1|0;if(q>>>0>=r>>>0)break;else p=r}n=n+1|0}while((n|0)<(m|0));s=l}else s=l}else s=0;l=Zc(7936)|0;ue()|0;if(!l)t=0;else{m=Vo(l|0)|0;n=h+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;if(!(l&3))wk(h,l,m);else vk(h,l,m);m=aa(c[n>>2]|0,1540483477)|0;l=aa(m>>>24^m,1540483477)|0;c[n>>2]=l;n=l^(aa(c[h>>2]|0,1540483477)|0);l=aa(c[h+12>>2]|0,1540483477)|0;m=(aa(n,1540483477)|0)^(aa(l>>>24^l,1540483477)|0);l=aa(m>>>13^m,1540483477)|0;t=l>>>15^l}l=Zc(7937)|0;ue()|0;if(!l)u=0;else{m=Vo(l|0)|0;n=h+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;if(!(l&3))wk(h,l,m);else vk(h,l,m);m=aa(c[n>>2]|0,1540483477)|0;l=aa(m>>>24^m,1540483477)|0;c[n>>2]=l;n=l^(aa(c[h>>2]|0,1540483477)|0);l=aa(c[h+12>>2]|0,1540483477)|0;m=(aa(n,1540483477)|0)^(aa(l>>>24^l,1540483477)|0);l=aa(m>>>13^m,1540483477)|0;u=l>>>15^l}l=Zc(7938)|0;ue()|0;if(!l)v=0;else{m=Vo(l|0)|0;n=h+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;if(!(l&3))wk(h,l,m);else vk(h,l,m);m=aa(c[n>>2]|0,1540483477)|0;l=aa(m>>>24^m,1540483477)|0;c[n>>2]=l;n=l^(aa(c[h>>2]|0,1540483477)|0);l=aa(c[h+12>>2]|0,1540483477)|0;m=(aa(n,1540483477)|0)^(aa(l>>>24^l,1540483477)|0);l=aa(m>>>13^m,1540483477)|0;v=l>>>15^l}l=cp(v|0,0,16)|0;v=e+595248|0;c[v>>2]=l^u;c[v+4>>2]=E^t;t=Zc(7939)|0;ue()|0;if((t|0)!=0?(v=Vo(t|0)|0,u=t+v|0,(v|0)>0):0){v=h+3|0;l=t;do{t=Vn(l,32)|0;if(!t){m=Vo(l|0)|0;w=m>>>0<1024?m:1024}else{m=t-l|0;w=m>>>0<1024?m:1024}ap(h|0,l|0,w|0)|0;a[h+w>>0]=0;m=0;do{t=35968+(m<<3)+4|0;if(((a[t>>0]|0)==0?(a[35968+(m<<3)+5>>0]|0)!=0:0)?(n=(Mo(h,117504,3)|0)==0,(Lo(n?v:h,c[35968+(m<<3)>>2]|0)|0)==0):0){x=t;y=34;break}m=m+1|0}while(m>>>0<147);if((y|0)==34){y=0;a[x>>0]=1}l=l+(w+1)|0}while(l>>>0<u>>>0)}u=37488;l=u+50|0;do{a[u>>0]=1;u=u+1|0}while((u|0)<(l|0));u=0;do{a[34984+(u*20|0)+16>>0]=(u|0)!=17&(u|0)!=40&1;u=u+1|0}while((u|0)!=49);if(!((a[36868]|a[36692]|a[37092])<<24>>24)){u=a[37132]|0;l=u<<24>>24==0;if(!((a[36020]|u)<<24>>24)){z=l;A=(a[36668]|0)!=0}else{z=l;A=1}}else{z=0;A=1}l=d[35e3]|A&1;a[35e3]=l;a:do if(((l|0)==0?(a[35040]|a[35020])<<24>>24!=0:0)?(A=c[k>>2]|0,(A|0)>0):0){u=0;while(1){if((c[s+(u<<2)>>2]|0)==33776)break;u=u+1|0;if((u|0)>=(A|0))break a}c[8746]=33776;c[8748]=33776;c[8749]=0;a[35e3]=1}while(0);if(z&(a[36028]|0)==0)B=(a[36452]|0)!=0;else B=1;a[35020]=d[35020]|B&1;if(z&(a[36036]|0)==0)C=(a[36460]|0)!=0;else C=1;a[35040]=d[35040]|C&1;if(a[36676]|0){c[8761]=35952;c[8763]=35952;c[8764]=0;c[8766]=35954;c[8768]=35954;c[8769]=0}if((a[36684]|a[36316])<<24>>24){c[8761]=36283;c[8763]=36283;c[8764]=0;c[8766]=36285;c[8768]=36285;c[8769]=0}C=a[37084]|a[36900]|a[35140];a[35140]=C;z=a[36148]|0;B=a[35160]|z;a[35160]=B;a[35180]=a[35180]|z;a[35200]=a[35200]|z;if(!(C<<24>>24!=0|B<<24>>24==0)){c[8781]=37492;c[8783]=37492;a[35140]=1}B=a[37100]|a[36820];a[35220]=a[35220]|B;a[35240]=a[35240]|B;a[35260]=a[35260]|B;a[35280]=a[35280]|B;B=a[36828]|0;a[35300]=a[35300]|B;a[35320]=a[35320]|B;c[8966]=6402;c[8968]=6402;c[8969]=5125;c[8906]=6408;c[8908]=6408;c[8909]=36193;c[8896]=6408;c[8898]=6408;c[8899]=5121;c[8921]=6407;c[8923]=6407;c[8924]=33635;c[8926]=6408;c[8928]=6408;c[8929]=32819;c[8931]=6408;c[8933]=6408;c[8934]=32820;if((a[37004]|a[37028])<<24>>24){B=a[37036]|0;C=a[37012]|0;a[37509]=B;a[37514]=B;a[37520]=B;a[37511]=C;a[37516]=C;a[37522]=C}C=a[36468]|0;B=a[36060]|0;do if((C|a[36708]|a[36836]|B)<<24>>24){if(!((B|C)<<24>>24)){c[8891]=32993;D=32993}else D=c[8891]|0;if(!((D|0)==0|(a[35580]|0)==0)){Kf(1,h|0);de(3553,c[h>>2]|0);fj(29,0);z=ue()|0;Fc(1,h|0);if(!z)break}c[8891]=6408;c[8893]=32993;c[8894]=5121}while(0);c[8841]=6409;c[8843]=6409;D=0;do{if(!((D|0)==17|(D|0)==40)){C=34984+(D*20|0)+16|0;if((a[C>>0]|0)==0?1:(c[34984+(D*20|0)>>2]|0)==0)F=0;else{Kf(1,h|0);de(3553,c[h>>2]|0);fj(D,0);B=ue()|0;Fc(1,h|0);F=(B|0)==0}a[C>>0]=F&1}D=D+1|0}while((D|0)!=49);D=a[36076]|0;if(!(D<<24>>24)){F=0;do{C=34984+(F*20|0)+16|0;B=a[C>>0]|0;if(B<<24>>24==0?1:(c[34984+(F*20|0)+4>>2]|0)==0)G=0;else{Kf(1,h|0);de(3553,c[h>>2]|0);fj(F,0);z=ue()|0;Fc(1,h|0);G=(z|0)==0}z=(G?2:0)|B&255;do if(!(c[34984+(F*20|0)>>2]|0))H=0;else{if(!(a[C>>0]|0)){H=0;break}vd(1,h|0);td(36160,c[h>>2]|0);Kf(1,j|0);de(3553,c[j>>2]|0);fj(F,0);ue()|0;do if(yi(F)|0){B=Ai(F)|0;if(!(a[B+6>>0]|0)){I=36128;break}I=(a[B+7>>0]|0)==0?36096:33306}else I=36064;while(0);gg(36160,I|0,3553,c[j>>2]|0,0);B=ue()|0;if(!B)J=Qd(36160)|0;else J=B;td(36160,0);Id(1,h|0);Fc(1,j|0);H=(J|0)==36053}while(0);a[142+F>>0]=z|(H?32:0);F=F+1|0}while((F|0)!=49)}else{F=0;do{H=34984+(F*20|0)+16|0;J=a[H>>0]|0;if(J<<24>>24==0?1:(c[34984+(F*20|0)+4>>2]|0)==0)K=0;else{Kf(1,h|0);de(3553,c[h>>2]|0);fj(F,0);I=ue()|0;Fc(1,h|0);K=(I|0)==0}if((F+-19|0)>>>0>20)L=0;else{Kf(1,h|0);de(3553,c[h>>2]|0);I=c[112280+(F<<2)>>2]|0;Jg[c[520>>2]&31](3553,1,I,16,16);_g[c[784>>2]&7](0,c[h>>2]|0,0,0,0,35002,I);I=ue()|0;Fc(1,h|0);L=(I|0)==0}I=(K?2:0)|J&255|(L?16:0);do if(!(c[34984+(F*20|0)>>2]|0))M=0;else{if(!(a[H>>0]|0)){M=0;break}vd(1,h|0);td(36160,c[h>>2]|0);Kf(1,j|0);de(3553,c[j>>2]|0);fj(F,0);ue()|0;do if(yi(F)|0){J=Ai(F)|0;if(!(a[J+6>>0]|0)){N=36128;break}N=(a[J+7>>0]|0)==0?36096:33306}else N=36064;while(0);gg(36160,N|0,3553,c[j>>2]|0,0);J=ue()|0;if(!J)O=Qd(36160)|0;else O=J;td(36160,0);Id(1,h|0);Fc(1,j|0);M=(O|0)==36053}while(0);a[142+F>>0]=I|(M?32:0);F=F+1|0}while((F|0)!=49)}F=(a[36996]|0)!=0;M=F?4:0;F=104;O=c[F+4>>2]|0;j=M|c[F>>2];F=(a[36652]|0)!=0;M=F?3:0;F=M|j;j=(a[37060]|0)!=0;M=j?8:0;j=F|M;M=(a[37068]|a[36404])<<24>>24!=0;F=M?16:0;M=F|j;j=(a[36572]|0)!=0;F=j?128:0;j=M|F;F=(a[36124]|0)!=0;M=F?256:0;F=j|M;M=(a[36844]|0)!=0;j=M?1024:0;M=F|j;j=(a[36932]|0)!=0;F=j?8192:0;j=M|F;F=104;c[F>>2]=j;c[F+4>>2]=O;if((a[36132]|a[35980]|a[36220]|a[36604])<<24>>24)if((c[146]|0)==0|(c[148]|0)==0){c[146]=12;c[148]=12;P=16384;Q=0}else{P=16384;Q=0}else{P=0;Q=0}F=104;c[F>>2]=j|P;c[F+4>>2]=O|Q;c[h>>2]=0;Yc(3379,h|0);Q=(ue()|0)==0;b[58]=Q?c[h>>2]&65535:0;if((a[37116]|a[36564])<<24>>24){c[h>>2]=0;Yc(34852,h|0);Q=(ue()|0)==0;O=Q?c[h>>2]|0:0;a[120]=O>>>0>8?8:O&255}O=a[37052]|a[36396];a[e+595236>>0]=O;if(O<<24>>24)Ng[c[656>>2]&63](1,e+595232|0);a[e+595237>>0]=a[36260]|0;a[e+595238>>0]=a[36652]|0;a[e+595239>>0]=(a[36812]|(a[36948]|a[36172]))<<24>>24!=0&1;a[e+595240>>0]=a[36740]|a[36372];O=(a[37140]|(a[36436]|a[35988]|a[36772]|a[36924]|a[36876]|a[37108]))<<24>>24!=0;a[e+595241>>0]=O&1;a[e+595242>>0]=(a[36756]|(a[36380]|a[36044]|a[36556]))<<24>>24!=0&((c[226]|0)!=0&(c[228]|0)!=0)&1;h=O&1;O=104;Q=c[O>>2]|0;F=c[O+4>>2]|0;O=D<<24>>24!=0;D=O?512:0;O=104;c[O>>2]=h|D|Q;c[O+4>>2]=F;F=Fj(e+595276|0)|0;O=104;Q=c[O+4>>2]|E;D=104;c[D>>2]=c[O>>2]|F;c[D+4>>2]=Q;if(a[36700]|0)je(34047,e+595224|0);if((a[36004]|a[36332])<<24>>24)Yc(36183,e+595228|0);do if(!(a[36972]|0))y=113;else{if(!((a[36628]|a[36804])<<24>>24)){y=113;break}c[e+595256>>2]=32993}while(0);if((y|0)==113)c[e+595256>>2]=6408;do if((a[36012]|a[36196])<<24>>24){if(!((c[154]|0)!=0&(c[156]|0)!=0&(c[158]|0)!=0))break;e=104;y=c[e+4>>2]|0;Q=104;c[Q>>2]=c[e>>2]|32;c[Q+4>>2]=y}while(0);if((c[26]&32|0)==0&0==0){c[154]=14;c[156]=13;c[158]=13}do if((a[36852]|a[36100])<<24>>24){y=c[118]|0;if(!((c[114]|0)!=0&(c[116]|0)!=0&(y|0)!=0&(c[120]|0)!=0))break;Ng[y&63](1,0);Wg[c[456>>2]&7](4352,4352,37191,0,0,1)}while(0);if(a[36268]|0)Vc(34895);if(a[36116]|0)Vc(34383);if((c[106]|0)==0|(a[36788]|0)==0)c[106]=8;if((c[134]|0)==0|(a[36532]|0)==0)c[134]=(c[104]|0)==0|(a[36780]|0)==0?16:15;Hh((a[36540]|0)!=0);if(!(c[140]|0))c[140]=14;if(!(c[230]|0)){c[230]=9;R=0}else R=0;do{c[g>>2]=R;bl(46744+(R<<8)|0,7,117512,g)|0;R=R+1|0}while((R|0)!=256);i=f;return}function Zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b+595236|0;if(a[d>>0]|0){Mg[c[640>>2]&63](0);e=b+595232|0;Ng[c[648>>2]&63](1,e);c[e>>2]=0}e=b+595212|0;if(c[e>>2]|0){f=c[22]|0;Mg[c[(c[f>>2]|0)+36>>2]&63](f);f=c[20]|0;Jg[c[(c[f>>2]|0)+12>>2]&31](f,c[e>>2]|0,0,0,0);c[e>>2]=0;c[b+595216>>2]=0}if(a[d>>0]|0){Mg[c[640>>2]&63](0);d=b+595144|0;e=c[c[b+595148>>2]>>2]|0;if(e){f=e;do{Ng[c[648>>2]&63](1,f+4|0);f=c[f+8>>2]|0}while((f|0)!=0)}cl(d)}d=b+595264|0;f=c[d>>2]|0;if((f|0)==0?1:(c[b+595260>>2]|0)==(f|0)){g=b+595276|0;Dj(g);h=b+595243|0;a[h>>0]=0;return}Id(1,d|0);c[d>>2]=0;d=b+595268|0;if(!(c[d>>2]|0)){g=b+595276|0;Dj(g);h=b+595243|0;a[h>>0]=0;return}qf(2,d|0);c[d>>2]=0;c[b+595272>>2]=0;g=b+595276|0;Dj(g);h=b+595243|0;a[h>>0]=0;return}function _k(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=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;e=i;i=i+32|0;f=e;g=f+12|0;c[f>>2]=g;h=f+4|0;c[h>>2]=g;j=f+8|0;k=f+24|0;c[j>>2]=k;if(a[d>>0]|0){l=d;m=0;while(1){n=m+1|0;l=l+1|0;if(!(a[l>>0]|0)){o=n;p=m;break}else m=n}m=p+2|0;if((m|0)>12){p=Eh(m)|0;m=c[f>>2]|0;l=c[h>>2]|0;if((m|0)==(l|0))q=m;else{n=m;m=p;while(1){a[m>>0]=a[n>>0]|0;n=n+1|0;if((n|0)==(l|0))break;else m=m+1|0}q=c[f>>2]|0}if((q|0)!=(g|0))Fh(q,(c[j>>2]|0)-q|0);c[f>>2]=p;c[h>>2]=p;q=p+o|0;c[j>>2]=q;r=p;s=q;t=o}else{r=g;s=k;t=o}}else{r=g;s=k;t=0}k=d+t|0;o=1-d+k|0;if((r+o|0)>>>0>s>>>0?(q=(o*3|0)>>>1,o=q+1|0,(r+o|0)>>>0>s>>>0):0){s=Eh(o)|0;o=c[f>>2]|0;p=c[h>>2]|0;if((o|0)==(p|0))u=o;else{m=o;o=s;while(1){a[o>>0]=a[m>>0]|0;m=m+1|0;if((m|0)==(p|0))break;else o=o+1|0}u=c[f>>2]|0}if((u|0)!=(g|0))Fh(u,(c[j>>2]|0)-u|0);c[f>>2]=s;c[h>>2]=s;c[j>>2]=s+q;v=s}else v=r;if(!t)w=v;else{t=d;d=v;while(1){a[d>>0]=a[t>>0]|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;t=t+1|0;if((t|0)==(k|0)){w=v;break}else d=v}}a[w>>0]=0;w=c[b+4>>2]|0;d=(c[b+8>>2]|0)-w>>2;b=c[f>>2]|0;f=c[h>>2]|0;if((f|0)==(b|0))x=0;else{h=0;k=b;while(1){t=(a[k>>0]|0)-h+(h*65600|0)|0;k=k+1|0;if((k|0)==(f|0)){x=t;break}else h=t}}h=x&d+-2;d=c[w+(h+1<<2)>>2]|0;x=c[w+(h<<2)>>2]|0;a:do if((x|0)==(d|0))y=0;else{h=f-b|0;w=x;while(1){k=c[w+4>>2]|0;t=c[w>>2]|0;if((k-t|0)==(h|0)){v=t;t=b;while(1){if((v|0)==(k|0)){y=w;break a}if((a[v>>0]|0)==(a[t>>0]|0)){v=v+1|0;t=t+1|0}else break}}w=c[w+36>>2]|0;if((w|0)==(d|0)){y=0;break}}}while(0);if((b|0)==(g|0)){z=(y|0)!=0;A=y+24|0;B=z?A:0;i=e;return B|0}Fh(b,(c[j>>2]|0)-b|0);z=(y|0)!=0;A=y+24|0;B=z?A:0;i=e;return B|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;Mg[c[640>>2]&63](0);d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=b<<24>>24;h=(b<<16>>24)-g+(g*65600|0)|0;g=(b<<8>>24)-h+(h*65600|0)|0;h=((c[f>>2]|0)-e>>2)+-2&(b>>24)-g+(g*65600|0);g=c[e+(h+1<<2)>>2]|0;i=c[e+(h<<2)>>2]|0;if((i|0)==(g|0))return;else j=i;while(1){if((c[j>>2]|0)==(b|0)){k=j;break}j=c[j+8>>2]|0;if((j|0)==(g|0)){l=13;break}}if((l|0)==13)return;if(!k)return;Ng[c[648>>2]&63](1,k+4|0);l=c[k>>2]|0;g=l<<24>>24;j=(l<<16>>24)-g+(g*65600|0)|0;g=(l<<8>>24)-j+(j*65600|0)|0;j=c[d>>2]|0;d=(l>>24)-g+(g*65600|0)&((c[f>>2]|0)-j>>2)+-2;f=k+8|0;g=c[f>>2]|0;l=j+(d<<2)|0;a:do if((c[l>>2]|0)==(k|0)){b=l;i=d;do{c[b>>2]=g;if(!i)break a;i=i+-1|0;b=j+(i<<2)|0}while((c[b>>2]|0)==(k|0))}while(0);j=c[k+12>>2]|0;if(j)c[j+8>>2]=c[f>>2];if(g)c[g+12>>2]=j;Fh(k,16);c[a>>2]=(c[a>>2]|0)+-1;return}function al(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+4>>2]|0;Fh(e,12)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=f;if((g+36|0)>>>0>(c[e>>2]|0)>>>0){i=f-g>>2;f=Eh(36)|0;j=c[b>>2]|0;k=c[d>>2]|0;if((j|0)==(k|0)){l=b;m=j}else{n=f;o=j;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=b;m=c[b>>2]|0}Fh(m,36);c[l>>2]=f;l=f+(i<<2)|0;c[d>>2]=l;c[e>>2]=f+36;p=f;q=l}else{p=g;q=h}if(q>>>0>=(p+36|0)>>>0){r=p;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}Xo(q|0,0,p+32+(3-q)+4&-4|0)|0;r=c[b>>2]|0;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}function bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Io(a,b,d,g)|0;i=f;return e|0}function cl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+8>>2]|0;Fh(e,16)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=f;if((g+36|0)>>>0>(c[e>>2]|0)>>>0){i=f-g>>2;f=Eh(36)|0;j=c[b>>2]|0;k=c[d>>2]|0;if((j|0)==(k|0)){l=b;m=j}else{n=f;o=j;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=b;m=c[b>>2]|0}Fh(m,36);c[l>>2]=f;l=f+(i<<2)|0;c[d>>2]=l;c[e>>2]=f+36;p=f;q=l}else{p=g;q=h}if(q>>>0>=(p+36|0)>>>0){r=p;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}Xo(q|0,0,p+32+(3-q)+4&-4|0)|0;r=c[b>>2]|0;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}function dl(d,f){d=d|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=c[f+8>>2]|0;if(!(h&256))i=0.0;else i=+g[d+595224>>2];g[d+595220>>2]=i;j=h&-4353;h=d+595200|0;k=c[f>>2]|0;if((c[h>>2]|0)==(k|0)){l=c[d+595204>>2]|0;m=c[f+4>>2]|0;if((l|0)==(m|0))if((c[d+595208>>2]|0)==(j|0))return;else n=l;else n=m}else n=c[f+4>>2]|0;m=k>>>3;k=(m|0)==0?1:m;m=n>>>4;n=(m|0)==0?1:m;m=d+595176|0;l=c[m>>2]|0;o=d+595184|0;if((((l|0)!=0?(e[o>>1]|0)==(k|0):0)?(e[d+595186>>1]|0)==(n|0):0)?(a[d+595188>>0]|0)==0:0)p=d+595180|0;else{a[d+595188>>0]=0;b[o>>1]=k;b[d+595186>>1]=n;o=d+595180|0;q=c[o>>2]|0;r=aa(n<<1&131070,k&65535)|0;c[o>>2]=r;k=c[20]|0;n=Og[c[(c[k>>2]|0)+16>>2]&3](k,l,r,0,0,0)|0;c[m>>2]=n;r=c[o>>2]|0;if(r>>>0>q>>>0){Xo(n+q|0,0,r-q|0)|0;p=o}else p=o}o=(c[p>>2]|0)>>>1;if(o){p=0;q=c[m>>2]|0;while(1){a[q>>0]=0;a[q+1>>0]=0;p=p+1|0;if((p|0)==(o|0))break;else q=q+2|0}}q=f;f=c[q+4>>2]|0;o=h;c[o>>2]=c[q>>2];c[o+4>>2]=f;f=d+595208|0;c[f>>2]=j;o=d+595204|0;xm(d,c[h>>2]|0,c[o>>2]|0,j);if(!(c[f>>2]&512)){f=d+595212|0;if(!(c[f>>2]|0))s=0;else{j=c[22]|0;Mg[c[(c[j>>2]|0)+36>>2]&63](j);j=c[20]|0;Jg[c[(c[j>>2]|0)+12>>2]&31](j,c[f>>2]|0,0,0,0);c[f>>2]=0;c[d+595216>>2]=0;s=0}}else{f=d+595200|0;j=aa(c[f>>2]<<2,c[o>>2]|0)|0;c[d+595216>>2]=j;h=c[20]|0;q=d+595212|0;c[q>>2]=Og[c[(c[h>>2]|0)+16>>2]&3](h,c[q>>2]|0,j,0,0,0)|0;j=c[22]|0;q=c[f>>2]|0;Wg[c[(c[j>>2]|0)+32>>2]&7](j,q,c[o>>2]|0,q<<2,29,1);s=0}do{sj(d+590476+(s*40|0)|0);s=s+1|0}while((s|0)!=64);return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0,E=0.0,F=0,G=0.0,H=0,I=0.0,J=0,K=0.0,L=0,M=0.0;d=+g[b>>2];e=+g[b+4>>2];f=+g[b+8>>2];h=+g[b+12>>2];i=+g[c>>2];j=c+4|0;k=+g[j>>2];l=c+8|0;m=+g[l>>2];n=c+12|0;o=+g[n>>2];p=c+16|0;q=+g[p>>2];r=c+20|0;s=+g[r>>2];t=c+24|0;u=+g[t>>2];v=c+28|0;w=+g[v>>2];x=c+32|0;y=+g[x>>2];z=c+36|0;A=+g[z>>2];B=c+40|0;C=+g[B>>2];D=c+44|0;E=+g[D>>2];F=c+48|0;G=+g[F>>2];H=c+52|0;I=+g[H>>2];J=c+56|0;K=+g[J>>2];L=c+60|0;M=+g[L>>2];g[a>>2]=d*i+f*y+(e*q+h*G);g[a+4>>2]=d*k+f*A+(e*s+h*I);g[a+8>>2]=d*m+f*C+(e*u+h*K);g[a+12>>2]=d*o+f*E+(e*w+h*M);h=+g[b+16>>2];e=+g[b+20>>2];f=+g[b+24>>2];d=+g[b+28>>2];g[a+16>>2]=h*i+f*y+(e*q+d*G);g[a+20>>2]=h*k+f*A+(e*s+d*I);g[a+24>>2]=h*m+f*C+(e*u+d*K);g[a+28>>2]=h*o+f*E+(e*w+d*M);M=+g[b+32>>2];d=+g[b+36>>2];w=+g[b+40>>2];e=+g[b+44>>2];E=+g[c>>2];f=+g[j>>2];o=+g[l>>2];h=+g[n>>2];K=+g[p>>2];u=+g[r>>2];C=+g[t>>2];m=+g[v>>2];I=+g[x>>2];s=+g[z>>2];A=+g[B>>2];k=+g[D>>2];G=+g[F>>2];q=+g[H>>2];y=+g[J>>2];i=+g[L>>2];g[a+32>>2]=M*E+w*I+(d*K+e*G);g[a+36>>2]=M*f+w*s+(d*u+e*q);g[a+40>>2]=M*o+w*A+(d*C+e*y);g[a+44>>2]=M*h+w*k+(d*m+e*i);e=+g[b+48>>2];d=+g[b+52>>2];w=+g[b+56>>2];M=+g[b+60>>2];g[a+48>>2]=e*E+w*I+(d*K+M*G);g[a+52>>2]=e*f+w*s+(d*u+M*q);g[a+56>>2]=e*o+w*A+(d*C+M*y);g[a+60>>2]=e*h+w*k+(d*m+M*i);return}function fl(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=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;j=i;i=i+48|0;k=j;l=d+595194|0;m=b[l>>1]|0;n=b[e>>1]|0;do if(m<<16>>16==-1)o=21;else{if(m<<16>>16==n<<16>>16){e=d+595276|0;Jj(e,0);p=m;q=e;break}e=d+595196|0;r=b[e>>1]|0;s=a[d+595192>>0]|0;if(r<<16>>16){t=m&65535;if(!(s<<24>>24)){u=r;v=t;o=9}else{w=t;o=8}}else{if(!(s<<24>>24)){o=21;break}w=m&65535;o=8}if((o|0)==8?(tj(d+590476+(w*40|0)|0),s=b[e>>1]|0,s<<16>>16!=0):0){u=s;v=w;o=9}if((o|0)==9){s=u&65535;if((s&2040|0)!=0?(t=a[d+590476+(v*40|0)+22>>0]|0,t<<24>>24!=0):0){r=t&255;t=0;x=0;while(1){if(!(8<<x&s))y=t;else{c[k+(t<<2)>>2]=x+36064;y=t+1|0}x=x+1|0;if((x|0)==(r|0)){z=y;break}else t=y}}else z=0;t=s&6144;if((t|0)==4096){c[k+(z<<2)>>2]=36128;A=z+1|0}else if((t|0)==6144){c[k+(z<<2)>>2]=33306;A=z+1|0}else if((t|0)==2048){c[k+(z<<2)>>2]=36096;A=z+1|0}else A=z;Xg[c[920>>2]&63](36160,A,k)}b[e>>1]=0;o=21}while(0);if((o|0)==21){o=d+595276|0;Jj(o,0);if(n<<16>>16==-1){td(36160,c[d+595264>>2]|0);B=f;C=-1;b[l>>1]=C;D=d+595196|0;b[D>>1]=g;E=d+595192|0;F=h&1;a[E>>0]=F;i=j;return B|0}else{p=n;q=o}}o=p&65535;n=c[d+590476+(o*40|0)+16>>2]|0;if((b[d+590476+(o*40|0)+20>>1]|0)==-1){Jj(q,0);td(36160,c[d+590476+(o*40|0)+4>>2]|0);B=n;C=p;b[l>>1]=C;D=d+595196|0;b[D>>1]=g;E=d+595192|0;F=h&1;a[E>>0]=F;i=j;return B|0}else{Jj(q,c[d+590476+(o*40|0)>>2]|0);td(36160,0);B=n;C=p;b[l>>1]=C;D=d+595196|0;b[D>>1]=g;E=d+595192|0;F=h&1;a[E>>0]=F;i=j;return B|0}return 0}function gl(f,h,j,k,l,m){f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;n=i;i=i+144|0;o=n+16|0;p=n;q=b[f+595194>>1]|0;if(q<<16>>16!=-1?(r=a[f+590476+((q&65535)*40|0)+22>>0]|0,q=r&255,(r&255)>=2):0){s=c[f+595232>>2]|0;if(s)Mg[c[640>>2]&63](s);Ld(3089);Ld(2884);Ld(3042);s=k+14|0;t=b[s>>1]&1;pg(t|0,t|0,t|0,t|0);if(!(b[s>>1]&2))Ld(2929);else{Vc(2929);Gc(519);kg(1)}if(!(b[s>>1]&4))Ld(2960);else{Vc(2960);sg(1032,519,d[k+12>>0]|0,255);qb(1032,7681,7681,7681)}t=c[h>>2]|0;u=e[t+14>>1]|0;v=f+585868+((e[t+16>>1]|0)*72|0)|0;w=c[t>>2]|0;x=+g[k+8>>2]*2.0+-1.0;g[w>>2]=-1.0;g[w+4>>2]=-1.0;g[w+8>>2]=x;g[w+12>>2]=1.0;g[w+16>>2]=-1.0;g[w+20>>2]=x;g[w+24>>2]=-1.0;g[w+28>>2]=1.0;g[w+32>>2]=x;g[w+36>>2]=1.0;g[w+40>>2]=1.0;g[w+44>>2]=x;t=e[h+8>>1]<<2;y=f+114828+(u<<5)+4|0;z=f+114828+(u<<5)|0;eb(c[y>>2]|0,c[z>>2]|0);wc(c[y>>2]|0,0,t|0,w|0);eb(c[y>>2]|0,0);eb(34962,c[z>>2]|0);z=f+252044+((e[h+76+(q+-1<<1)>>1]|0)*300|0)|0;Ja(c[z>>2]|0);lj(z,v,0);if((b[s>>1]|0)<0){if(r<<24>>24){r=0;do{s=a[k+r>>0]|0;v=o+(r<<4)|0;z=m+(((s&255)<15?s&255:15)<<4)|0;c[v>>2]=c[z>>2];c[v+4>>2]=c[z+4>>2];c[v+8>>2]=c[z+8>>2];c[v+12>>2]=c[z+12>>2];r=r+1|0}while((r|0)!=(q|0))}Jf(0,q|0,o|0)}else{g[p>>2]=+(d[k>>0]|0)/255.0;g[p+4>>2]=+(d[k+1>>0]|0)/255.0;g[p+8>>2]=+(d[k+2>>0]|0)/255.0;g[p+12>>2]=+(d[k+3>>0]|0)/255.0;Jf(0,1,p|0)}lf(5,0,4);i=n;return}p=k+14|0;o=b[p>>1]|0;q=o&65535;if(!(q&1)){A=o;B=0}else{o=a[k>>0]|0;r=o&255;if(!(q&32768))be(+(+(r|0)/255.0),+(+(d[k+1>>0]|0)/255.0),+(+(d[k+2>>0]|0)/255.0),+(+(d[k+3>>0]|0)/255.0));else{q=(o&255)<15?r:15;be(+(+g[m+(q<<4)>>2]),+(+g[m+(q<<4)+4>>2]),+(+g[m+(q<<4)+8>>2]),+(+g[m+(q<<4)+12>>2]))}pg(1,1,1,1);A=b[p>>1]|0;B=16384}if(!(A&2)){C=A;D=B}else{Zd(+(+g[k+8>>2]));kg(1);C=b[p>>1]|0;D=B|256}if(!(C&4))if(!D){i=n;return}else E=D;else{Ma(d[k+12>>0]|0);E=D|1024}Vc(3089);D=e[j+6>>1]|0;gf(e[j>>1]|0,l-D-(e[j+2>>1]|0)|0,e[j+4>>1]|0,D|0);zf(E|0);Ld(3089);i=n;return}function hl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+4|0;f=b+8|0;c[e>>2]=4;g=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if((g|0)==1)return;else{h=4;i=0;j=g}do{g=j>>>27;f=j>>>1&1023;if(!(j&1)){k=b+8+h|0;l=i+6|0;c[e>>2]=l;m=l;n=c[a+593052+(((d[k>>0]|d[k+1>>0]<<8)&65535)<<2)>>2]|0}else{k=(aa(c[216+(g<<2)>>2]|0,f)|0)+h|0;c[e>>2]=k;m=k;n=b+8+h|0}k=b+8+m|0;c[e>>2]=m+4;l=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;if(!g)ed(l|0,f|0,n|0);else if((g|0)==2)Jf(l|0,f|0,n|0);else if((g|0)==4)df(l|0,f|0,0,n|0);else if((g|0)==3)Ka(l|0,f|0,0,n|0);i=c[e>>2]|0;f=b+8+i|0;h=i+4|0;c[e>>2]=h;j=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24}while((j|0)!=1);return}function il(f,h,j,k,l,m,n){f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;h=i;i=i+96|0;o=h+80|0;p=h+64|0;q=h;r=a[l+280>>0]|0;if(!(r<<24>>24)){i=h;return}s=f+65544|0;t=f+65546|0;u=o+4|0;v=f+65548|0;w=o+8|0;x=f+65550|0;y=o+12|0;z=p+4|0;A=j&255;j=k&255;k=f+65536+(j<<2)|0;B=A<<1|j;C=f+65748|0;D=f+65552|0;E=B&65535;F=f+65552|0;G=m+25616+(j<<14)+(A<<6)|0;H=f+65750|0;I=f+65616|0;J=f+65616|0;K=m+25616+(j<<14)+(A<<6)|0;L=f+32768+(j<<14)+(A<<6)|0;M=f+65752|0;N=f+65680|0;O=f+65680|0;P=f+32768+(j<<14)+(A<<6)|0;j=n+156|0;Q=n+188|0;n=f+65744|0;f=r&255;r=0;do{R=l+184+(r<<3)|0;do switch((d[l+184+(r<<3)+6>>0]|0)&239|0){case 7:{if((B|0)!=(e[M>>1]|0|0)){b[M>>1]=E;xn(O,P)}S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,N|0);break}case 11:{Jf(c[R>>2]|0,1,n|0);break}case 2:{S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,(c[k>>2]|0)+(A<<6)|0);break}case 6:{S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,L|0);break}case 0:{g[o>>2]=+(e[s>>1]|0);g[u>>2]=+(e[t>>1]|0);g[w>>2]=+(e[v>>1]|0);g[y>>2]=+(e[x>>1]|0);Jf(c[R>>2]|0,1,o|0);break}case 1:{g[p>>2]=1.0/+(e[v>>1]|0);g[z>>2]=1.0/+(e[x>>1]|0);Jf(c[R>>2]|0,1,p|0);break}case 4:{S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,G|0);break}case 5:{if((B|0)!=(e[H>>1]|0|0)){b[H>>1]=E;xn(J,K)}S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,I|0);break}case 8:{S=e[Q>>1]|0;T=e[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S>>>0>T>>>0?T:S)|0,0,m+14345824+(c[j>>2]<<6)|0);break}case 9:{el(q,m+14345824+(c[j>>2]<<6)|0,(c[k>>2]|0)+(A<<6)|0);S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,q|0);break}case 3:{if((B|0)!=(e[C>>1]|0|0)){b[C>>1]=E;xn(F,(c[k>>2]|0)+(A<<6)|0)}S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,D|0);break}case 10:{el(q,m+14345824+(c[j>>2]<<6)|0,P);S=b[l+184+(r<<3)+4>>1]|0;df(c[R>>2]|0,(S<<16>>16==0?S&65535:1)|0,0,q|0);break}default:{}}while(0);r=r+1|0}while((r|0)!=(f|0));i=h;return}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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;f=b+4|0;a[f>>0]=0;g=c[d+4>>2]|0;h=d+8|0;i=c[e>>2]|0;j=i<<24>>24;k=(i<<16>>24)-j+(j*65600|0)|0;j=(i<<8>>24)-k+(k*65600|0)|0;k=(i>>24)-j+(j*65600|0)&((c[h>>2]|0)-g>>2)+-2;j=c[g+(k+1<<2)>>2]|0;l=c[g+(k<<2)>>2]|0;a:do if((l|0)!=(j|0)){k=l;while(1){if((c[k>>2]|0)==(i|0)){m=k;break}k=c[k+8>>2]|0;if((k|0)==(j|0)){n=4;break a}}c[b>>2]=m;if(m)return}else n=4;while(0);if((n|0)==4)c[b>>2]=0;m=Eh(16)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];j=m+12|0;c[j>>2]=0;i=m+8|0;c[i>>2]=0;l=d+4|0;k=c[l>>2]|0;g=(c[h>>2]|0)-k|0;o=c[e>>2]|0;e=o<<24>>24;p=(o<<16>>24)-e+(e*65600|0)|0;e=(o<<8>>24)-p+(p*65600|0)|0;p=(o>>24)-e+(e*65600|0)&(g>>2)+-2;e=c[k+(p+1<<2)>>2]|0;c[i>>2]=e;do if(!e){b:do if(!p)q=0;else{i=p;while(1){if(c[k+(i<<2)>>2]|0){q=i;break b}i=i+-1|0;if(!i){q=0;break}}}while(0);i=c[k+(q<<2)>>2]|0;while(1){if(!i){n=16;break}o=i+8|0;r=c[o>>2]|0;if(!r){s=o;t=i;n=15;break}else i=r}if((n|0)==15){c[j>>2]=t;c[s>>2]=m;break}else if((n|0)==16){c[j>>2]=0;break}}else{i=e+12|0;c[j>>2]=c[i>>2];c[i>>2]=m;i=c[j>>2]|0;if(i)c[i+8>>2]=m}while(0);j=k+(p<<2)|0;c:do if((e|0)==(c[j>>2]|0)){s=j;t=p;do{c[s>>2]=m;if(!t)break c;t=t+-1|0;s=k+(t<<2)|0}while((e|0)==(c[s>>2]|0))}while(0);e=c[d>>2]|0;c[d>>2]=e+1;if((e+2|0)>>>0>g>>>0){g=c[l>>2]|0;e=c[g>>2]|0;k=c[h>>2]|0;p=g;j=k-p<<1;c[h>>2]=g;s=j+-7|0;t=d+12|0;if((g+(s<<2)|0)>>>0>(c[t>>2]|0)>>>0){d=s<<2;q=Eh(d)|0;i=c[l>>2]|0;r=c[h>>2]|0;if((i|0)==(r|0)){u=l;v=i}else{o=q;w=i;while(1){c[o>>2]=c[w>>2];w=w+4|0;if((w|0)==(r|0))break;else o=o+4|0}u=l;v=c[l>>2]|0}Fh(v,d);c[u>>2]=q;c[h>>2]=q;c[t>>2]=q+(s<<2);x=q}else x=g;if((s|0)>0){Xo(x|0,0,x+((k<<1)+-7-(p<<1)<<2)+~x+4&-4|0)|0;p=c[l>>2]|0;y=p;z=p}else{y=x;z=c[l>>2]|0}c[h>>2]=y+(s<<2);if(e){s=j+-9|0;j=e;do{e=j+8|0;y=j;j=c[e>>2]|0;h=y+12|0;c[h>>2]=0;c[e>>2]=0;l=c[y>>2]|0;x=l<<24>>24;p=(l<<16>>24)-x+(x*65600|0)|0;x=(l<<8>>24)-p+(p*65600|0)|0;p=(l>>24)-x+(x*65600|0)&s;x=c[z+(p+1<<2)>>2]|0;c[e>>2]=x;do if(!x){d:do if(!p)A=0;else{e=p;while(1){if(c[z+(e<<2)>>2]|0){A=e;break d}e=e+-1|0;if(!e){A=0;break}}}while(0);e=c[z+(A<<2)>>2]|0;while(1){if(!e){n=42;break}l=e+8|0;k=c[l>>2]|0;if(!k){B=l;C=e;n=41;break}else e=k}if((n|0)==41){n=0;c[h>>2]=C;c[B>>2]=y;break}else if((n|0)==42){n=0;c[h>>2]=0;break}}else{e=x+12|0;c[h>>2]=c[e>>2];c[e>>2]=y;e=c[h>>2]|0;if(e)c[e+8>>2]=y}while(0);h=z+(p<<2)|0;e:do if((x|0)==(c[h>>2]|0)){e=h;k=p;do{c[e>>2]=y;if(!k)break e;k=k+-1|0;e=z+(k<<2)|0}while((x|0)==(c[e>>2]|0))}while(0)}while((j|0)!=0)}}c[b>>2]=m;a[f>>0]=1;return}function kl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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;f=b+4|0;a[f>>0]=0;g=c[d+4>>2]|0;h=d+8|0;i=c[e>>2]|0;j=i<<24>>24;k=(i<<16>>24)-j+(j*65600|0)|0;j=(i<<8>>24)-k+(k*65600|0)|0;k=(i>>24)-j+(j*65600|0)&((c[h>>2]|0)-g>>2)+-2;j=c[g+(k+1<<2)>>2]|0;l=c[g+(k<<2)>>2]|0;a:do if((l|0)!=(j|0)){k=l;while(1){if((c[k>>2]|0)==(i|0)){m=k;break}k=c[k+4>>2]|0;if((k|0)==(j|0)){n=4;break a}}c[b>>2]=m;if(m)return}else n=4;while(0);if((n|0)==4)c[b>>2]=0;m=Eh(12)|0;c[m>>2]=c[e>>2];j=m+8|0;c[j>>2]=0;i=m+4|0;c[i>>2]=0;l=d+4|0;k=c[l>>2]|0;g=(c[h>>2]|0)-k|0;o=c[e>>2]|0;e=o<<24>>24;p=(o<<16>>24)-e+(e*65600|0)|0;e=(o<<8>>24)-p+(p*65600|0)|0;p=(o>>24)-e+(e*65600|0)&(g>>2)+-2;e=c[k+(p+1<<2)>>2]|0;c[i>>2]=e;do if(!e){b:do if(!p)q=0;else{i=p;while(1){if(c[k+(i<<2)>>2]|0){q=i;break b}i=i+-1|0;if(!i){q=0;break}}}while(0);i=c[k+(q<<2)>>2]|0;while(1){if(!i){n=16;break}o=i+4|0;r=c[o>>2]|0;if(!r){s=o;t=i;n=15;break}else i=r}if((n|0)==15){c[j>>2]=t;c[s>>2]=m;break}else if((n|0)==16){c[j>>2]=0;break}}else{i=e+8|0;c[j>>2]=c[i>>2];c[i>>2]=m;i=c[j>>2]|0;if(i)c[i+4>>2]=m}while(0);j=k+(p<<2)|0;c:do if((e|0)==(c[j>>2]|0)){s=j;t=p;do{c[s>>2]=m;if(!t)break c;t=t+-1|0;s=k+(t<<2)|0}while((e|0)==(c[s>>2]|0))}while(0);e=c[d>>2]|0;c[d>>2]=e+1;if((e+2|0)>>>0>g>>>0){g=c[l>>2]|0;e=c[g>>2]|0;k=c[h>>2]|0;p=g;j=k-p<<1;c[h>>2]=g;s=j+-7|0;t=d+12|0;if((g+(s<<2)|0)>>>0>(c[t>>2]|0)>>>0){d=s<<2;q=Eh(d)|0;i=c[l>>2]|0;r=c[h>>2]|0;if((i|0)==(r|0)){u=l;v=i}else{o=q;w=i;while(1){c[o>>2]=c[w>>2];w=w+4|0;if((w|0)==(r|0))break;else o=o+4|0}u=l;v=c[l>>2]|0}Fh(v,d);c[u>>2]=q;c[h>>2]=q;c[t>>2]=q+(s<<2);x=q}else x=g;if((s|0)>0){Xo(x|0,0,x+((k<<1)+-7-(p<<1)<<2)+~x+4&-4|0)|0;p=c[l>>2]|0;y=p;z=p}else{y=x;z=c[l>>2]|0}c[h>>2]=y+(s<<2);if(e){s=j+-9|0;j=e;do{e=j+4|0;y=j;j=c[e>>2]|0;h=y+8|0;c[h>>2]=0;c[e>>2]=0;l=c[y>>2]|0;x=l<<24>>24;p=(l<<16>>24)-x+(x*65600|0)|0;x=(l<<8>>24)-p+(p*65600|0)|0;p=(l>>24)-x+(x*65600|0)&s;x=c[z+(p+1<<2)>>2]|0;c[e>>2]=x;do if(!x){d:do if(!p)A=0;else{e=p;while(1){if(c[z+(e<<2)>>2]|0){A=e;break d}e=e+-1|0;if(!e){A=0;break}}}while(0);e=c[z+(A<<2)>>2]|0;while(1){if(!e){n=42;break}l=e+4|0;k=c[l>>2]|0;if(!k){B=l;C=e;n=41;break}else e=k}if((n|0)==41){n=0;c[h>>2]=C;c[B>>2]=y;break}else if((n|0)==42){n=0;c[h>>2]=0;break}}else{e=x+8|0;c[h>>2]=c[e>>2];c[e>>2]=y;e=c[h>>2]|0;if(e)c[e+4>>2]=y}while(0);h=z+(p<<2)|0;e:do if((x|0)==(c[h>>2]|0)){e=h;k=p;do{c[e>>2]=y;if(!k)break e;k=k+-1|0;e=z+(k<<2)|0}while((x|0)==(c[e>>2]|0))}while(0)}while((j|0)!=0)}}c[b>>2]=m;a[f>>0]=1;return}function ll(a){a=a|0;var b=0,d=0,e=0;b=a+595260|0;d=a+595264|0;e=c[d>>2]|0;if((e|0)==0?1:(c[b>>2]|0)==(e|0))return;Ld(3089);td(36160,c[b>>2]|0);td(36008,c[d>>2]|0);td(36009,0);d=c[a+595200>>2]|0;e=c[a+595204>>2]|0;ah[c[440>>2]&0](0,0,d,e,0,0,d,e,16384,9728);td(36160,c[b>>2]|0);return}function ml(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;j=h;c[j>>2]=g;Tk(a,b,d,e,f,j);i=h;return}function nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;c[a>>2]=f;h=a+8|0;c[h>>2]=b;j=Hd(b|0,d|0,f|0,0)|0;f=a+12|0;c[f>>2]=j;if(!j)Gh(3,40408,g);j=Ve(c[h>>2]|0,d|0,e|0,40496)|0;c[a+4>>2]=j;a=c[f>>2]|0;He(c[h>>2]|0,a|0,a|0,j|0)|0;be(0.0,0.0,0.0,0.0);zf(16384);ib(c[h>>2]|0,c[f>>2]|0)|0;zf(16384);ib(c[h>>2]|0,c[f>>2]|0)|0;i=g;return}function ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;Hc(113200,a|0,1,9)|0;ad(113200,a|0,1,9)|0;of(113200,a|0,1,9)|0;cg(113200,a|0,1,10)|0;Gd(0,a|0,1,11)|0;$e(0,a|0,1,11)|0;Va(0,a|0,1,11)|0;xd(0,a|0,1,12)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+12>>2]=13;c[f+16>>2]=a;Jb(113200,0,f|0)|0;f=Zj(b,d)|0;i=e;return f|0}function pl(){var a=0;a=c[10716]|0;Pg[c[(c[a>>2]|0)+16>>2]&31](a)|0;return}function ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+12>>2]|0;bk(e,20)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=c[e>>2]|0;i=f;if((g+36|0)>>>0>h>>>0){j=f-g>>2;f=ak(36)|0;k=c[b>>2]|0;l=c[d>>2]|0;if((k|0)==(l|0)){m=b;n=k}else{o=f;p=k;while(1){c[o>>2]=c[p>>2];p=p+4|0;if((p|0)==(l|0))break;else o=o+4|0}m=b;n=c[b>>2]|0}bk(n,36);c[m>>2]=f;m=f+(j<<2)|0;c[d>>2]=m;j=f+36|0;c[e>>2]=j;q=f;r=m;s=j}else{q=g;r=i;s=h}if(r>>>0<(q+36|0)>>>0){Xo(r|0,0,q+32+(3-r)+4&-4|0)|0;r=c[b>>2]|0;t=r;u=c[e>>2]|0;v=r;w=t+36|0;c[d>>2]=w;c[a>>2]=0;x=u;y=v;z=x-y|0;bk(v,z);return}else{t=q;u=s;v=c[b>>2]|0;w=t+36|0;c[d>>2]=w;c[a>>2]=0;x=u;y=v;z=x-y|0;bk(v,z);return}}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+48|0;g=f+24|0;h=f+8|0;j=Vo(b|0)|0;k=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if(!(b&3))wk(g,b,j);else vk(g,b,j);j=aa(c[k>>2]|0,1540483477)|0;b=aa(j>>>24^j,1540483477)|0;c[k>>2]=b;k=b^(aa(c[g>>2]|0,1540483477)|0);b=aa(c[g+12>>2]|0,1540483477)|0;g=(aa(k,1540483477)|0)^(aa(b>>>24^b,1540483477)|0);b=aa(g>>>13^g,1540483477)|0;c[h>>2]=b>>>15^b;c[h+4>>2]=d;c[h+8>>2]=e;On(f,a,h);i=f;return}
|
|
function kh(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function lh(){return i|0}function mh(a){a=a|0;i=a}function nh(a,b){a=a|0;b=b|0;i=a;j=b}function oh(a,b){a=a|0;b=b|0;if(!p){p=a;q=b}}function ph(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function qh(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function rh(a){a=a|0;E=a}function sh(){return E|0}function th(b,d,f,h,j,k){b=b|0;d=d|0;f=f|0;h=h|0;j=j|0;k=+k;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0;l=i;i=i+288|0;m=l;n=(+g[c[j+4>>2]>>2]<k?2:0)|+g[c[j>>2]>>2]<k|(+g[c[j+8>>2]>>2]<k?4:0)|(+g[c[j+12>>2]>>2]<k?8:0)|(+g[c[j+16>>2]>>2]<k?16:0)|(+g[c[j+20>>2]>>2]<k?32:0)|(+g[c[j+24>>2]>>2]<k?64:0)|(+g[c[j+28>>2]>>2]<k?128:0);if((n|0)==0|(n|0)==255){o=0;i=l;return o|0}p=e[1280+(n<<1)>>1]|0;q=0;do{if(1<<q&p){r=q&7;s=a[1792+q>>0]|0;t=m+(q*24|0)|0;u=c[j+(r<<2)>>2]|0;v=+g[u>>2];w=c[j+(s<<2)>>2]|0;x=+g[w>>2];y=1184+(r*12|0)|0;z=1184+(s*12|0)|0;do if(+P(+(k-x))<9.999999747378752e-06){c[t>>2]=c[z>>2];c[m+(q*24|0)+4>>2]=c[1184+(s*12|0)+4>>2];c[m+(q*24|0)+8>>2]=c[1184+(s*12|0)+8>>2];A=1.0}else{B=k-v;if(!(+P(+B)<9.999999747378752e-06)?!(+P(+(v-x))<9.999999747378752e-06):0){C=B/(x-v);B=+g[y>>2];g[t>>2]=B+C*(+g[z>>2]-B);B=+g[1184+(r*12|0)+4>>2];g[m+(q*24|0)+4>>2]=B+C*(+g[1184+(s*12|0)+4>>2]-B);B=+g[1184+(r*12|0)+8>>2];g[m+(q*24|0)+8>>2]=B+C*(+g[1184+(s*12|0)+8>>2]-B);A=C;break}c[t>>2]=c[y>>2];c[m+(q*24|0)+4>>2]=c[1184+(r*12|0)+4>>2];c[m+(q*24|0)+8>>2]=c[1184+(r*12|0)+8>>2];A=0.0}while(0);v=+g[u+4>>2];g[m+(q*24|0)+12>>2]=v+A*(+g[w+4>>2]-v);v=+g[u+8>>2];g[m+(q*24|0)+16>>2]=v+A*(+g[w+8>>2]-v);v=+g[u+12>>2];g[m+(q*24|0)+20>>2]=v+A*(+g[w+12>>2]-v)}q=q+1|0}while((q|0)!=12);A=+g[f+12>>2]-+g[f>>2];q=f+4|0;k=+g[f+16>>2]-+g[q>>2];j=f+8|0;v=+g[f+20>>2]-+g[j>>2];if((n|0)==0|(n|0)==255)D=0;else{p=h+4|0;r=h+8|0;y=b;b=a[1808+(n<<4)>>0]|0;t=0;while(1){s=b&255;z=m+(s*24|0)|0;g[y>>2]=+g[h>>2]+ +g[z>>2];E=m+(s*24|0)+4|0;g[y+4>>2]=+g[p>>2]+ +g[E>>2];F=m+(s*24|0)+8|0;g[y+8>>2]=+g[r>>2]+ +g[F>>2];c[y+12>>2]=c[m+(s*24|0)+12>>2];c[y+16>>2]=c[m+(s*24|0)+16>>2];c[y+20>>2]=c[m+(s*24|0)+20>>2];c[y+24>>2]=~~((+g[f>>2]+A*+g[z>>2])*255.0)&255|(~~((+g[q>>2]+k*+g[E>>2])*255.0)&255)<<8|(~~((+g[j>>2]+v*+g[F>>2])*255.0)&255)<<16|-16777216;F=t+1|0;b=a[1808+(n<<4)+F>>0]|0;if(b<<24>>24==-1){D=F;break}else{y=y+d|0;t=F}}}o=D;i=l;return o|0}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+48|0;e=d;c[e>>2]=5912;f=Yj(e,a,b)|0;i=d;return f|0}function vh(a){a=a|0;var b=0;b=5936+(a<<2)|0;c[1484]=c[b>>2];c[1492]=c[b>>2];return}function wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+8192|0;f=e;g=Io(f,8192,b,d)|0;if((g|0)>8192){h=i;i=i+((1*(g+1|0)|0)+15&-16)|0;j=Io(h,g,b,d)|0;k=h}else{j=g;k=f}a[k+j>>0]=0;j=c[o>>2]|0;zd(k|0,j|0)|0;wf(j|0)|0;i=e;return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;wh(a,e);i=d;return}function yh(a){a=a|0;return}function zh(a,d){a=a|0;d=d|0;var e=0;c[a>>2]=d;b[a+4>>1]=0;d=a+38|0;e=d+32|0;do{b[d>>1]=65535;d=d+2|0}while((d|0)<(e|0));d=a+6|0;e=d+32|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(e|0));return a|0}function Ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=d+4|0;f=a+38|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;if(!(f&3))wk(d,f,32);else vk(d,f,32);f=a+6|0;if(!(f&3))wk(d,f,32);else vk(d,f,32);f=aa(c[e>>2]|0,1540483477)|0;g=aa(f>>>24^f,1540483477)|0;c[e>>2]=g;e=g^(aa(c[d>>2]|0,1540483477)|0);g=aa(c[d+12>>2]|0,1540483477)|0;d=(aa(e,1540483477)|0)^(aa(g>>>24^g,1540483477)|0);g=aa(d>>>13^d,1540483477)|0;c[a>>2]=g>>>15^g;i=b;return}function Bh(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;j=(g&255)+-1|0;b[a+38+(f<<1)>>1]=j&3|h<<3&56|(i&1)<<7;i=a+4|0;b[a+6+(f<<1)>>1]=b[i>>1]|0;b[i>>1]=(e[i>>1]|0)+(d[(c[5936+(c[a>>2]<<2)>>2]|0)+(h<<2)+j>>0]|0);return a|0}function Ch(b,d,f,g,h,i){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=e[b+38+(d<<1)>>1]|0;a[f>>0]=(j&3)+1;c[g>>2]=j>>>3&7;a[h>>0]=j>>>7&1;a[i>>0]=j>>>8&1;return}function Dh(a){a=a|0;return}function Eh(a){a=a|0;var b=0;b=c[20]|0;return Sg[c[(c[b>>2]|0)+8>>2]&3](b,a,0,0,0)|0}function Fh(a,b){a=a|0;b=b|0;if(!a)return;b=c[20]|0;Jg[c[(c[b>>2]|0)+12>>2]&31](b,a,0,0,0);return}function Gh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+8208|0;g=f+16|0;h=f;c[h>>2]=e;e=Io(g,8192,d,h)|0;if((e|0)>8192){j=i;i=i+((1*(e+1|0)|0)+15&-16)|0;k=Io(j,e,d,h)|0;l=j}else{k=e;l=g}a[l+k>>0]=0;k=c[22]|0;Xg[c[(c[k>>2]|0)+8>>2]&63](k,b,l);i=f;return}function Hh(b){b=b|0;a[5984]=b&1;return}function Ih(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=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;f=i;i=i+80|0;g=f;h=f+56|0;j=f+78|0;k=f+76|0;l=d+12|0;Ah(Bh(Bh(Bh(Bh(zh(l,0)|0,0,3,4,0,0)|0,4,4,0,1,0)|0,5,4,0,1,0)|0,8,2,4,0,0)|0);m=c[20]|0;n=Sg[c[(c[m>>2]|0)+8>>2]&3](m,49160,0,0,0)|0;c[n+4>>2]=49152;c[n>>2]=n+8;m=0;do{o=m<<3;p=n+(o+8)|0;q=0;while(1){r=a[5992+(q+o)>>0]|0;Xo(p|0,r<<24>>24>>7|0,1)|0;Xo(p+1|0,(r<<1&255)<<24>>24>>7|0,1)|0;Xo(p+2|0,(r<<2&255)<<24>>24>>7|0,1)|0;Xo(p+3|0,(r<<3&255)<<24>>24>>7|0,1)|0;Xo(p+4|0,(r<<4&255)<<24>>24>>7|0,1)|0;Xo(p+5|0,(r<<5&255)<<24>>24>>7|0,1)|0;Xo(p+6|0,(r<<6&255)<<24>>24>>7|0,1)|0;Xo(p+7|0,(r<<7&255)<<24>>24>>7|0,1)|0;q=q+1|0;if((q|0)==8)break;else p=p+2048|0}m=m+1|0}while((m|0)!=256);s=0;do{m=s<<4;p=n+((s<<3)+16392)|0;q=0;while(1){o=a[8040+(q+m)>>0]|0;Xo(p|0,o<<24>>24>>7|0,1)|0;Xo(p+1|0,(o<<1&255)<<24>>24>>7|0,1)|0;Xo(p+2|0,(o<<2&255)<<24>>24>>7|0,1)|0;Xo(p+3|0,(o<<3&255)<<24>>24>>7|0,1)|0;Xo(p+4|0,(o<<4&255)<<24>>24>>7|0,1)|0;Xo(p+5|0,(o<<5&255)<<24>>24>>7|0,1)|0;Xo(p+6|0,(o<<6&255)<<24>>24>>7|0,1)|0;Xo(p+7|0,(o<<7&255)<<24>>24>>7|0,1)|0;q=q+1|0;if((q|0)==16)break;else p=p+2048|0}s=s+1|0}while((s|0)!=256);s=c[20]|0;p=Sg[c[(c[s>>2]|0)+8>>2]&3](s,32,0,0,0)|0;c[p+4>>2]=24;s=p+8|0;c[p>>2]=s;q=s;m=g+40|0;c[g+8>>2]=m;o=g+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[g>>2]=12144;c[g+4>>2]=12168;c[m>>2]=12192;c[g+44>>2]=q;c[g+48>>2]=24;m=g+16|0;c[o>>2]=q;q=g+32|0;c[q>>2]=24;c[q+4>>2]=0;a[s>>0]=84;a[s+1>>0]=69;a[s+2>>0]=88;a[s+3>>0]=0;s=m;q=Zo(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=E;o=m;c[o>>2]=q;c[o+4>>2]=s;o=g+24|0;m=o;r=c[m>>2]|0;t=c[m+4>>2]|0;m=(t|0)>(s|0)|(t|0)==(s|0)&r>>>0>q>>>0;u=o;c[u>>2]=m?r:q;c[u+4>>2]=m?t:s;c[h>>2]=1354;b[h+4>>1]=2048;b[h+6>>1]=24;b[h+8>>1]=0;b[h+10>>1]=0;a[h+12>>0]=1;a[h+13>>0]=19;a[h+14>>0]=0;c[h+16>>2]=n;Ug[c[(c[g>>2]|0)+8>>2]&15](g,h,20)|0;b[d>>1]=Ak(c[1494]|0,p,1354,0,0,6)|0;p=c[24]|0;if((p|0)==1){n=c[20]|0;s=Sg[c[(c[n>>2]|0)+8>>2]&3](n,16,0,0,0)|0;c[s+4>>2]=391;c[s>>2]=12208;c[s+8>>2]=0;c[s+12>>2]=0;v=s}else if((p|0)==3|(p|0)==2){s=c[20]|0;n=Sg[c[(c[s>>2]|0)+8>>2]&3](s,16,0,0,0)|0;c[n+4>>2]=714;c[n>>2]=12600;c[n+8>>2]=0;c[n+12>>2]=0;v=n}else if((p|0)==4){p=c[20]|0;n=Sg[c[(c[p>>2]|0)+8>>2]&3](p,16,0,0,0)|0;c[n+4>>2]=843;c[n>>2]=13320;c[n+8>>2]=0;c[n+12>>2]=0;v=n}else{n=c[20]|0;p=Sg[c[(c[n>>2]|0)+8>>2]&3](n,16,0,0,0)|0;c[p+4>>2]=503;c[p>>2]=14168;c[p+8>>2]=0;c[p+12>>2]=0;v=p}p=Bk(c[1494]|0,v)|0;v=c[24]|0;if((v|0)==1){n=c[20]|0;s=Sg[c[(c[n>>2]|0)+8>>2]&3](n,16,0,0,0)|0;c[s+4>>2]=353;c[s>>2]=14672;c[s+8>>2]=0;c[s+12>>2]=0;w=s}else if((v|0)==3|(v|0)==2){s=c[20]|0;n=Sg[c[(c[s>>2]|0)+8>>2]&3](s,16,0,0,0)|0;c[n+4>>2]=520;c[n>>2]=15032;c[n+8>>2]=0;c[n+12>>2]=0;w=n}else if((v|0)==4){v=c[20]|0;n=Sg[c[(c[v>>2]|0)+8>>2]&3](v,16,0,0,0)|0;c[n+4>>2]=762;c[n>>2]=15552;c[n+8>>2]=0;c[n+12>>2]=0;w=n}else{n=c[20]|0;v=Sg[c[(c[n>>2]|0)+8>>2]&3](n,16,0,0,0)|0;c[v+4>>2]=354;c[v>>2]=16320;c[v+8>>2]=0;c[v+12>>2]=0;w=v}v=Bk(c[1494]|0,w)|0;if(v<<16>>16==-1){w=c[1494]|0;b[h>>1]=p;b[g>>1]=b[h>>1]|0;x=Ck(w,g,1)|0}else{w=c[1494]|0;b[j>>1]=p;b[k>>1]=v;b[h>>1]=b[j>>1]|0;b[g>>1]=b[k>>1]|0;x=Dk(w,h,g,1)|0}b[d+84>>1]=x;c[d+4>>2]=Ek(c[1494]|0,(e[d+16>>1]|0)<<12,l)|0;l=c[1494]|0;x=l+19641604|0;g=b[x>>1]|0;h=b[l+19641606>>1]|0;if((g&65535)>=(h&65535)){y=0;z=d+8|0;c[z>>2]=y;i=f;return}b[x>>1]=g+1<<16>>16;w=x+4|0;x=b[w+((g&65535)<<1)>>1]|0;b[w+((x&65535)+(h&65535)<<1)>>1]=g;if(x<<16>>16==-1){y=0;z=d+8|0;c[z>>2]=y;i=f;return}g=c[l+18732228>>2]|0;l=g+18572948|0;a[(c[l>>2]|0)+(g+18572956)>>0]=5;h=(c[l>>2]|0)+2&-2;c[l>>2]=h;w=g+18572956+h|0;a[w>>0]=x;a[w+1>>0]=x>>8;w=(c[l>>2]|0)+5&-4;c[l>>2]=w;h=g+18572956+w|0;a[h>>0]=0;a[h+1>>0]=48;a[h+2>>0]=0;a[h+3>>0]=0;h=(c[l>>2]|0)+5&-2;c[l>>2]=h;w=g+18572956+h|0;a[w>>0]=0;a[w+1>>0]=0;c[l>>2]=(c[l>>2]|0)+2;l=c[20]|0;w=Sg[c[(c[l>>2]|0)+8>>2]&3](l,12304,0,0,0)|0;c[w>>2]=w+16;c[w+4>>2]=12288;b[w+12>>1]=x;y=w;z=d+8|0;c[z>>2]=y;i=f;return}function Jh(a){a=a|0;var b=0,d=0;b=c[20]|0;d=Sg[c[(c[b>>2]|0)+8>>2]&3](b,a+8|0,0,0,0)|0;c[d+4>>2]=a;c[d>>2]=d+8;return d|0}function Kh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[20]|0;g=Sg[c[(c[f>>2]|0)+8>>2]&3](f,16,0,0,0)|0;c[g+4>>2]=b;c[g>>2]=a;c[g+8>>2]=d;c[g+12>>2]=e;return g|0}function Lh(a){a=a|0;return Bk(c[1494]|0,a)|0}function Mh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f+6|0;h=f+4|0;j=f+2|0;k=f;l=b[d>>1]|0;d=b[a>>1]|0;if(l<<16>>16==-1){a=c[1494]|0;b[h>>1]=d;b[g>>1]=b[h>>1]|0;m=Ck(a,g,e)|0;i=f;return m|0}else{a=c[1494]|0;b[j>>1]=d;b[k>>1]=l;b[h>>1]=b[j>>1]|0;b[g>>1]=b[k>>1]|0;m=Dk(a,h,g,e)|0;i=f;return m|0}return 0}function Nh(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+16|0;g=f+4|0;h=f+2|0;j=f;k=b[e+84>>1]|0;l=c[1494]|0;m=l+18732228|0;n=c[m>>2]|0;o=n+18638492|0;a[(c[o>>2]|0)+(n+18638500)>>0]=25;p=(c[o>>2]|0)+2&-2;c[o>>2]=p;q=n+18638500+p|0;a[q>>0]=k;a[q+1>>0]=k>>8;c[o>>2]=(c[o>>2]|0)+2;o=c[m>>2]|0;m=o+18704044|0;q=b[m>>1]|0;b[o+18721590+((q&65535)<<1)>>1]=k;b[m>>1]=q+1<<16>>16;q=k&65535;b[h>>1]=b[l+19709748+(q<<2)>>1]|0;b[g>>1]=b[h>>1]|0;Fk(l,g);h=b[l+19709748+(q<<2)+2>>1]|0;if(h<<16>>16!=-1){b[j>>1]=h;b[g>>1]=b[j>>1]|0;Fk(l,g)}g=b[e>>1]|0;l=c[1494]|0;if(g<<16>>16!=-1?(j=l+19711796+((g&65535)*6|0)|0,h=(b[j>>1]|0)+-1<<16>>16,b[j>>1]=h,h<<16>>16==0):0){h=l+18732228|0;j=c[h>>2]|0;q=j+18638492|0;a[(c[q>>2]|0)+(j+18638500)>>0]=26;k=(c[q>>2]|0)+2&-2;c[q>>2]=k;m=j+18638500+k|0;a[m>>0]=g;a[m+1>>0]=g>>8;c[q>>2]=(c[q>>2]|0)+2;q=c[h>>2]|0;h=q+18704046|0;m=b[h>>1]|0;b[q+18722614+((m&65535)<<1)>>1]=g;b[h>>1]=m+1<<16>>16;r=c[1494]|0}else r=l;l=c[e+4>>2]|0;m=r+18732228|0;r=c[m>>2]|0;h=r+18638492|0;a[(c[h>>2]|0)+(r+18638500)>>0]=23;g=(c[h>>2]|0)+2&-2;c[h>>2]=g;q=r+18638500+g|0;g=l+14|0;r=d[g>>0]|d[g+1>>0]<<8;a[q>>0]=r;a[q+1>>0]=r>>8;c[h>>2]=(c[h>>2]|0)+2;h=c[m>>2]|0;m=h+18704040|0;r=b[m>>1]|0;b[h+18712374+((r&65535)<<1)>>1]=b[g>>1]|0;b[m>>1]=r+1<<16>>16;r=c[20]|0;Jg[c[(c[r>>2]|0)+12>>2]&31](r,l,0,0,0);l=c[e+8>>2]|0;e=(c[1494]|0)+18732228|0;r=c[e>>2]|0;m=r+18638492|0;a[(c[m>>2]|0)+(r+18638500)>>0]=22;g=(c[m>>2]|0)+2&-2;c[m>>2]=g;h=r+18638500+g|0;g=l+12|0;r=d[g>>0]|d[g+1>>0]<<8;a[h>>0]=r;a[h+1>>0]=r>>8;c[m>>2]=(c[m>>2]|0)+2;m=c[e>>2]|0;e=m+18704036|0;r=b[e>>1]|0;b[m+18704054+((r&65535)<<1)>>1]=b[g>>1]|0;b[e>>1]=r+1<<16>>16;r=c[20]|0;Jg[c[(c[r>>2]|0)+12>>2]&31](r,l,0,0,0);i=f;return}function Oh(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+16|0;f=e+4|0;g=e+2|0;h=e;j=c[1494]|0;k=b[d>>1]|0;d=j+18732228|0;l=c[d>>2]|0;m=l+18638492|0;a[(c[m>>2]|0)+(l+18638500)>>0]=25;n=(c[m>>2]|0)+2&-2;c[m>>2]=n;o=l+18638500+n|0;a[o>>0]=k;a[o+1>>0]=k>>8;c[m>>2]=(c[m>>2]|0)+2;m=c[d>>2]|0;d=m+18704044|0;o=b[d>>1]|0;b[m+18721590+((o&65535)<<1)>>1]=k;b[d>>1]=o+1<<16>>16;o=k&65535;b[g>>1]=b[j+19709748+(o<<2)>>1]|0;b[f>>1]=b[g>>1]|0;Fk(j,f);g=b[j+19709748+(o<<2)+2>>1]|0;if(g<<16>>16==-1){i=e;return}b[h>>1]=g;b[f>>1]=b[h>>1]|0;Fk(j,f);i=e;return}function Ph(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.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.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;i=(c[24]|0)==1;j=i?0.0:.000244140625;k=i?.02083333395421505:0.0;i=(a[h+12>>0]|0)!=0;l=k+(i?0.0:.3333333432674408);m=k+(i?.3333333432674408:1.0);k=i?8.0:16.0;Ng[c[(c[d>>2]|0)+148>>2]&63](d,f);i=h+10|0;n=b[i>>1]|0;if(!(n<<16>>16))return;o=f+4|0;p=f+8|0;q=h+8|0;r=n;n=0;s=0;while(1){a:do if(s>>>0<(r&65535)>>>0){t=b[q>>1]|0;u=c[c[p>>2]>>2]|0;v=0;w=0;x=c[c[o>>2]>>2]|0;y=n;z=s;while(1){A=t&65535;B=y>>>0<A>>>0?y:0;if(v>>>0<6144&B>>>0<A>>>0){C=k*+(z>>>0);D=k*+((z+1|0)>>>0);E=t;F=u;G=(c[h>>2]|0)+(B+(aa(A,z)|0)<<1)|0;A=v;H=w;I=x;J=B;while(1){K=a[G>>0]|0;L=a[G+1>>0]|0;M=K&255;N=L&255;if((L|K)<<24>>24!=0?!(K<<24>>24==32&(N&240|0)==0):0){K=c[16680+((N&15)<<2)>>2]|0;L=c[16680+(N>>>4<<2)>>2]|0;O=+(J>>>0)*8.0;P=+(M|0)*8.0*.00048828125-j;Q=+((J+1|0)>>>0)*8.0;R=+(M+1|0)*8.0*.00048828125-j;g[I>>2]=O;g[I+4>>2]=C;g[I+8>>2]=0.0;c[I+12>>2]=K;c[I+16>>2]=L;g[I+20>>2]=P;g[I+24>>2]=l;g[I+28>>2]=Q;g[I+32>>2]=C;g[I+36>>2]=0.0;c[I+40>>2]=K;c[I+44>>2]=L;g[I+48>>2]=R;g[I+52>>2]=l;g[I+56>>2]=Q;g[I+60>>2]=D;g[I+64>>2]=0.0;c[I+68>>2]=K;c[I+72>>2]=L;g[I+76>>2]=R;g[I+80>>2]=m;g[I+84>>2]=O;g[I+88>>2]=D;g[I+92>>2]=0.0;c[I+96>>2]=K;c[I+100>>2]=L;g[I+104>>2]=P;g[I+108>>2]=m;L=H&65535;b[F>>1]=L;b[F+2>>1]=H+1;K=H+2&65535;b[F+4>>1]=K;b[F+6>>1]=K;b[F+8>>1]=H+3;b[F+10>>1]=L;S=b[q>>1]|0;T=F+12|0;U=A+6|0;V=H+4|0;W=I+112|0}else{S=E;T=F;U=A;V=H;W=I}L=J+1|0;if(U>>>0<6144&L>>>0<(S&65535)>>>0){E=S;F=T;G=G+2|0;A=U;H=V;I=W;J=L}else{X=S;Y=L;Z=T;_=U;$=V;ba=W;break}}if(_>>>0>6143){ca=_;da=Y;ea=z;break a}else{fa=X;ga=Z;ha=_;ia=$;ja=ba;ka=Y}}else{fa=t;ga=u;ha=v;ia=w;ja=x;ka=B}J=z+1|0;if(ha>>>0<6144?J>>>0<(e[i>>1]|0)>>>0:0){t=fa;u=ga;v=ha;w=ia;x=ja;y=ka;z=J}else{ca=ha;da=ka;ea=J;break}}}else{ca=0;da=n;ea=s}while(0);Xg[c[(c[d>>2]|0)+152>>2]&63](d,f,ca);r=b[i>>1]|0;if(ea>>>0>=(r&65535)>>>0)break;else{n=da;s=ea}}return}function Qh(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=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;f=i;i=i+112|0;g=f+40|0;h=f+108|0;j=f;k=f+106|0;l=f+104|0;m=f+8|0;if(!(c[24]|0)){i=f;return}n=d+4|0;Ah(Bh(zh(n,0)|0,0,3,4,0,0)|0);o=c[24]|0;do if((o|0)==1){p=c[20]|0;q=Sg[c[(c[p>>2]|0)+8>>2]&3](p,16,0,0,0)|0;c[q+4>>2]=181;c[q>>2]=16744;c[q+8>>2]=0;c[q+12>>2]=0;p=Bk(c[1494]|0,q)|0;c[g>>2]=16928;c[g+4>>2]=204;c[g+8>>2]=17136;c[g+12>>2]=216;c[g+16>>2]=17352;c[g+20>>2]=228;c[g+24>>2]=17584;c[g+28>>2]=240;c[g+32>>2]=17824;c[g+36>>2]=240;c[g+40>>2]=18064;c[g+44>>2]=240;c[g+48>>2]=18304;c[g+52>>2]=240;c[g+56>>2]=18544;c[g+60>>2]=240;q=a[120]|0;a:do if(q<<24>>24){r=q&255;s=204;t=0;while(1){u=c[g+(t<<3)>>2]|0;v=c[20]|0;w=Sg[c[(c[v>>2]|0)+8>>2]&3](v,16,0,0,0)|0;c[w+4>>2]=s;c[w>>2]=u;c[w+8>>2]=0;c[w+12>>2]=0;c[m+(t<<2)>>2]=w;w=t+1|0;if((w|0)==(r|0))break a;s=c[g+(w<<3)+4>>2]|0;t=w}}while(0);x=p}else{if((o&-2|0)==2){q=c[20]|0;t=Sg[c[(c[q>>2]|0)+8>>2]&3](q,16,0,0,0)|0;c[t+4>>2]=254;c[t>>2]=18784;c[t+8>>2]=0;c[t+12>>2]=0;q=Bk(c[1494]|0,t)|0;c[g>>2]=19040;c[g+4>>2]=259;c[g+8>>2]=19304;c[g+12>>2]=319;c[g+16>>2]=19624;c[g+20>>2]=379;c[g+24>>2]=20008;c[g+28>>2]=439;c[g+32>>2]=20448;c[g+36>>2]=499;c[g+40>>2]=20952;c[g+44>>2]=559;c[g+48>>2]=21512;c[g+52>>2]=619;c[g+56>>2]=22136;c[g+60>>2]=679;t=a[120]|0;b:do if(t<<24>>24){s=t&255;r=259;w=0;while(1){u=c[g+(w<<3)>>2]|0;v=c[20]|0;y=Sg[c[(c[v>>2]|0)+8>>2]&3](v,16,0,0,0)|0;c[y+4>>2]=r;c[y>>2]=u;c[y+8>>2]=0;c[y+12>>2]=0;c[m+(w<<2)>>2]=y;y=w+1|0;if((y|0)==(s|0))break b;r=c[g+(y<<3)+4>>2]|0;w=y}}while(0);x=q;break}if((o+-5|0)>>>0<2){t=c[20]|0;p=Sg[c[(c[t>>2]|0)+8>>2]&3](t,16,0,0,0)|0;c[p+4>>2]=164;c[p>>2]=22816;c[p+8>>2]=0;c[p+12>>2]=0;t=Bk(c[1494]|0,p)|0;c[g>>2]=22984;c[g+4>>2]=128;c[g+8>>2]=23112;c[g+12>>2]=170;c[g+16>>2]=23288;c[g+20>>2]=210;c[g+24>>2]=23504;c[g+28>>2]=250;c[g+32>>2]=23760;c[g+36>>2]=290;c[g+40>>2]=24056;c[g+44>>2]=330;c[g+48>>2]=24392;c[g+52>>2]=370;c[g+56>>2]=24768;c[g+60>>2]=410;p=a[120]|0;c:do if(p<<24>>24){w=p&255;r=128;s=0;while(1){y=c[g+(s<<3)>>2]|0;u=c[20]|0;v=Sg[c[(c[u>>2]|0)+8>>2]&3](u,16,0,0,0)|0;c[v+4>>2]=r;c[v>>2]=y;c[v+8>>2]=0;c[v+12>>2]=0;c[m+(s<<2)>>2]=v;v=s+1|0;if((v|0)==(w|0))break c;r=c[g+(v<<3)+4>>2]|0;s=v}}while(0);x=t;break}if((o|0)!=4){c[j>>2]=o;Gh(3,31944,j);x=-1;break}p=c[20]|0;q=Sg[c[(c[p>>2]|0)+8>>2]&3](p,16,0,0,0)|0;c[q+4>>2]=500;c[q>>2]=25184;c[q+8>>2]=0;c[q+12>>2]=0;p=Bk(c[1494]|0,q)|0;c[g>>2]=25688;c[g+4>>2]=432;c[g+8>>2]=26120;c[g+12>>2]=543;c[g+16>>2]=26664;c[g+20>>2]=639;c[g+24>>2]=27304;c[g+28>>2]=735;c[g+32>>2]=28040;c[g+36>>2]=831;c[g+40>>2]=28872;c[g+44>>2]=927;c[g+48>>2]=29800;c[g+52>>2]=1023;c[g+56>>2]=30824;c[g+60>>2]=1119;q=a[120]|0;d:do if(q<<24>>24){s=q&255;r=432;w=0;while(1){v=c[g+(w<<3)>>2]|0;y=c[20]|0;u=Sg[c[(c[y>>2]|0)+8>>2]&3](y,16,0,0,0)|0;c[u+4>>2]=r;c[u>>2]=v;c[u+8>>2]=0;c[u+12>>2]=0;c[m+(w<<2)>>2]=u;u=w+1|0;if((u|0)==(s|0))break d;r=c[g+(u<<3)+4>>2]|0;w=u}}while(0);x=p}while(0);j=a[120]|0;e:do if(j<<24>>24){o=x&65535;q=j&255;if(x<<16>>16==-1){t=0;while(1){w=Bk(c[1494]|0,c[m+(t<<2)>>2]|0)|0;r=w<<16>>16==-1;if(r)z=-1;else{s=c[1494]|0;b[k>>1]=-1;b[l>>1]=w;b[h>>1]=b[k>>1]|0;b[g>>1]=b[l>>1]|0;z=Dk(s,h,g,0)|0}b[d+76+(t<<1)>>1]=z;s=c[1494]|0;if(!r){b[h>>1]=w;b[g>>1]=b[h>>1]|0;Fk(s,g)}t=t+1|0;if((t|0)==(q|0))break e}}else A=0;do{t=Bk(c[1494]|0,c[m+(A<<2)>>2]|0)|0;p=t<<16>>16==-1;s=c[1494]|0;if(p){w=s+19676692|0;r=b[w>>1]|0;u=b[s+19676694>>1]|0;if((r&65535)<(u&65535)?(b[w>>1]=r+1<<16>>16,v=w+4|0,w=b[v+((r&65535)<<1)>>1]|0,y=w&65535,b[v+(y+(u&65535)<<1)>>1]=r,w<<16>>16!=-1):0){r=s+19701556+(o<<4)+8|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;b[s+19709748+(y<<2)>>1]=x;b[s+19709748+(y<<2)+2>>1]=-1;y=c[s+18732228>>2]|0;r=y+18572948|0;a[(c[r>>2]|0)+(y+18572956)>>0]=10;u=(c[r>>2]|0)+2&-2;c[r>>2]=u;v=y+18572956+u|0;a[v>>0]=w;a[v+1>>0]=w>>8;v=(c[r>>2]|0)+3&-2;c[r>>2]=v;u=y+18572956+v|0;a[u>>0]=x;a[u+1>>0]=x>>8;u=(c[r>>2]|0)+3&-2;c[r>>2]=u;v=y+18572956+u|0;a[v>>0]=-1;a[v+1>>0]=-1>>8;c[r>>2]=(c[r>>2]|0)+2;B=w}else B=-1}else{b[k>>1]=x;b[l>>1]=t;b[h>>1]=b[k>>1]|0;b[g>>1]=b[l>>1]|0;B=Dk(s,h,g,0)|0}b[d+76+(A<<1)>>1]=B;s=c[1494]|0;if(!p){b[h>>1]=t;b[g>>1]=b[h>>1]|0;Fk(s,g)}A=A+1|0}while((A|0)!=(q|0))}while(0);A=c[1494]|0;if(x<<16>>16==-1)C=A;else{b[h>>1]=x;b[g>>1]=b[h>>1]|0;Fk(A,g);C=c[1494]|0}c[d>>2]=Ek(C,(e[d+8>>1]|0)<<2,n)|0;i=f;return}function Rh(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+16|0;g=f+4|0;h=f+2|0;j=f;if(!(c[24]|0)){i=f;return}k=a[120]|0;if(k<<24>>24){l=k&255;k=0;do{m=e+76+(k<<1)|0;n=b[m>>1]|0;if(n<<16>>16!=-1){o=c[1494]|0;p=o+18732228|0;q=c[p>>2]|0;r=q+18638492|0;a[(c[r>>2]|0)+(q+18638500)>>0]=25;s=(c[r>>2]|0)+2&-2;c[r>>2]=s;t=q+18638500+s|0;a[t>>0]=n;a[t+1>>0]=n>>8;c[r>>2]=(c[r>>2]|0)+2;r=c[p>>2]|0;p=r+18704044|0;t=b[p>>1]|0;b[r+18721590+((t&65535)<<1)>>1]=n;b[p>>1]=t+1<<16>>16;t=n&65535;b[h>>1]=b[o+19709748+(t<<2)>>1]|0;b[g>>1]=b[h>>1]|0;Fk(o,g);n=b[o+19709748+(t<<2)+2>>1]|0;if(n<<16>>16!=-1){b[j>>1]=n;b[g>>1]=b[j>>1]|0;Fk(o,g)}b[m>>1]=-1}k=k+1|0}while((k|0)!=(l|0))}l=c[e>>2]|0;e=(c[1494]|0)+18732228|0;k=c[e>>2]|0;g=k+18638492|0;a[(c[g>>2]|0)+(k+18638500)>>0]=23;j=(c[g>>2]|0)+2&-2;c[g>>2]=j;h=k+18638500+j|0;j=l+14|0;k=d[j>>0]|d[j+1>>0]<<8;a[h>>0]=k;a[h+1>>0]=k>>8;c[g>>2]=(c[g>>2]|0)+2;g=c[e>>2]|0;e=g+18704040|0;k=b[e>>1]|0;b[g+18712374+((k&65535)<<1)>>1]=b[j>>1]|0;b[e>>1]=k+1<<16>>16;k=c[20]|0;Jg[c[(c[k>>2]|0)+12>>2]&31](k,l,0,0,0);i=f;return}function Sh(a){a=a|0;var b=0,c=0;if(Lo(a,31976)|0)if(Lo(a,31992)|0)if(Lo(a,32008)|0)if(Lo(a,32016)|0)if(Lo(a,32032)|0)if(Lo(a,32040)|0)if(Lo(a,32056)|0)if(Lo(a,32072)|0)if(Lo(a,32088)|0)if(Lo(a,32096)|0)if(!(Lo(a,32112)|0))b=10;else{c=(Lo(a,32128)|0)==0;return (c?11:12)|0}else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;return b|0}function Th(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=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;j=f+18732168|0;if(a[j>>0]|0){a[j>>0]=0;j=f+14345624|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[f+14345652>>2]=-1;c[f+14345656>>2]=0;c[f+14345660>>2]=-1;c[f+14345664>>2]=0;b[f+14345668>>1]=0;b[f+14345670>>1]=1;b[f+14345672>>1]=0;b[f+14345674>>1]=-1;b[f+14345676>>1]=1;j=f+14345616|0;c[j>>2]=1;c[j+4>>2]=0;b[f+14345678>>1]=-1;j=f+14345682|0;b[f+14345488>>1]=-1;b[f+14345496>>1]=-1;b[f+14345504>>1]=-1;b[f+14345512>>1]=-1;b[f+14345520>>1]=-1;b[f+14345528>>1]=-1;b[f+14345536>>1]=-1;b[f+14345544>>1]=-1;b[f+14345552>>1]=-1;b[f+14345560>>1]=-1;b[f+14345568>>1]=-1;b[f+14345576>>1]=-1;b[f+14345584>>1]=-1;b[f+14345592>>1]=-1;b[f+14345600>>1]=-1;b[f+14345608>>1]=-1;b[j>>1]=65535;b[j+2>>1]=65535;b[j+4>>1]=65535;b[j+6>>1]=65535;b[j+8>>1]=65535;c[f+14345760>>2]=0;c[f+14345764>>2]=0;c[f+14345768>>2]=0;b[f+14345774>>1]=0;b[f+14345776>>1]=0;b[f+14345778>>1]=0;b[f+14345784>>1]=0;a[f+14345786>>0]=1;b[f+14345772>>1]=-1;b[f+14345780>>1]=0;b[f+14345782>>1]=-1;b[f+14345696>>1]=-1;b[f+14345704>>1]=-1;b[f+14345712>>1]=-1;b[f+14345720>>1]=-1;b[f+14345728>>1]=-1;b[f+14345736>>1]=-1;b[f+14345744>>1]=-1;b[f+14345752>>1]=-1;j=f+14345792|0;c[j>>2]=0;c[j+4>>2]=0;k=e[f+14345812>>1]|0;return k|0}j=f+14345812|0;l=b[j>>1]|0;do if((l&65535)<=65533){m=f+14345488|0;n=f+14345660|0;o=f+14345652|0;if((c[n>>2]|0)==0?(c[o>>2]|0)==0:0)break;p=f+14345804|0;c[p>>2]=c[(c[f+14345808>>2]|0)+4>>2];q=b[h>>1]|0;r=f+4|0;b[r>>1]=q<<16>>16==-1?0:q;c[f>>2]=i;a[f+8>>0]=g;q=g&255;s=c[1494]|0;t=s+19804624+(q<<1)|0;u=f+6|0;b[u>>1]=b[s+19805136+(q<<1)>>1]&b[t>>1];b[t>>1]=(b[t>>1]|0)+1<<16>>16;t=e[r>>1]|0;r=cp(d[f+9>>0]|0,0,41)|0;q=E;s=cp(e[u>>1]|0,0,43)|0;u=E;v=cp(g&255|0,0,55)|0;w=f+58640+(e[j>>1]<<3)|0;c[w>>2]=i|r|s|v;c[w+4>>2]=t|q|u|E|4194304;u=f+14345814|0;b[f+582928+(e[j>>1]<<1)>>1]=b[u>>1]|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16;q=f+14345800|0;c[f+14345636>>2]=c[q>>2];c[f+14345640>>2]=c[p>>2];t=f+14345792|0;w=t;v=f+14345616|0;s=v;r=c[s+4>>2]|c[w+4>>2];x=v;c[x>>2]=c[s>>2]|c[w>>2];c[x+4>>2]=r;Wo(f+714e3+((e[u>>1]|0)*208|0)|0,m|0,208)|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;u=f+14345624|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[o>>2]=-1;c[f+14345656>>2]=0;c[n>>2]=-1;c[f+14345664>>2]=0;b[f+14345668>>1]=0;b[f+14345670>>1]=1;b[f+14345672>>1]=0;b[f+14345674>>1]=-1;b[f+14345676>>1]=1;n=v;c[n>>2]=1;c[n+4>>2]=0;b[f+14345678>>1]=-1;n=f+14345682|0;b[m>>1]=-1;b[f+14345496>>1]=-1;b[f+14345504>>1]=-1;b[f+14345512>>1]=-1;b[f+14345520>>1]=-1;b[f+14345528>>1]=-1;b[f+14345536>>1]=-1;b[f+14345544>>1]=-1;b[f+14345552>>1]=-1;b[f+14345560>>1]=-1;b[f+14345568>>1]=-1;b[f+14345576>>1]=-1;b[f+14345584>>1]=-1;b[f+14345592>>1]=-1;b[f+14345600>>1]=-1;b[f+14345608>>1]=-1;b[n>>1]=65535;b[n+2>>1]=65535;b[n+4>>1]=65535;b[n+6>>1]=65535;b[n+8>>1]=65535;c[q>>2]=c[p>>2];p=t;c[p>>2]=0;c[p+4>>2]=0;k=e[j>>1]|0;return k|0}while(0);j=f+14345816|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16;k=l&65535;return k|0}function Uh(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+14345812|0;f=b[e>>1]|0;if(!(f<<16>>16))g=0;else{h=f&65535;f=0;do{i=a+58640+(f<<3)|0;j=i;k=c[j>>2]|0;l=c[j+4>>2]|0;j=bp(k|0,l|0,55)|0;m=cp(d[(j&255)+(a+12)>>0]|0|0,0,55)|0;j=i;c[j>>2]=m|k;c[j+4>>2]=E|l&-2139095041;f=f+1|0}while((f|0)!=(h|0));g=b[e>>1]|0}e=c[1494]|0;Gk(a+58640|0,e+18732232|0,a+582928|0,e+19256512|0,g&65535);return}function Vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=b+19805860|0;if((a[d>>0]|0)!=0?(a[b+19805862>>0]|0)==0:0){e=c[b+19805856>>2]|0;Ng[c[(c[e>>2]|0)+16>>2]&63](e,(c[b+18732224>>2]|0)+18731964|0)}e=b+18732224|0;$h(b,(c[e>>2]|0)+18572948|0);if(a[d>>0]|0){f=c[b+19805856>>2]|0;jh[c[(c[f>>2]|0)+144>>2]&63](f,c[e>>2]|0,b+19805764|0,b+19805676|0)}$h(b,(c[e>>2]|0)+18638492|0);if(!(a[d>>0]|0)){g=b+19805861|0;h=a[g>>0]|0;i=h<<24>>24!=0;return i|0}if(!(a[b+19805862>>0]|0)){g=b+19805861|0;h=a[g>>0]|0;i=h<<24>>24!=0;return i|0}d=c[b+19805856>>2]|0;Ng[c[(c[d>>2]|0)+16>>2]&63](d,(c[e>>2]|0)+18731964|0);g=b+19805861|0;h=a[g>>0]|0;i=h<<24>>24!=0;return i|0}function Wh(d,e,f,g,h){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;i=d+4|0;j=c[i>>2]|0;k=c[d>>2]|0;if((j+4|0)>>>0<k>>>0){l=(f&65535)<<11|e<<27|(h&65535)<<1;h=d+8+j|0;a[h>>0]=l;a[h+1>>0]=l>>8;a[h+2>>0]=l>>16;a[h+3>>0]=l>>24;l=(c[i>>2]|0)+4|0;c[i>>2]=l;m=l;n=c[d>>2]|0}else{m=j;n=k}if((m+2|0)>>>0>=n>>>0)return;n=d+8+m|0;m=b[g>>1]|0;a[n>>0]=m;a[n+1>>0]=m>>8;c[i>>2]=(c[i>>2]|0)+2;return}function Xh(f,h){f=f|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,s=0,t=0,u=0,v=0,w=0,x=0;a[f+19805861>>0]=0;c[f+19805668>>2]=0;c[f+19805672>>2]=0;i=f+18732228|0;Hk(c[i>>2]|0);a[f+19805863>>0]=1;j=0;do{a[f+19745988+j>>0]=j;j=j+1|0}while((j|0)!=256);Xo(f+19746244|0,-1,512)|0;Xo(f+19746756|0,0,4096)|0;Xo(f+19751108|0,0,4096)|0;Xo(f+19804624|0,0,1024)|0;j=0;do{b[f+19751108+(j<<3)+4>>1]=1;b[f+19751108+(j<<3)+6>>1]=1;j=j+1|0}while((j|0)!=256);g[f+19750852>>2]=0.0;g[f+19750856>>2]=0.0;g[f+19750860>>2]=0.0;g[f+19750864>>2]=1.0;g[f+19750868>>2]=0.0;g[f+19750872>>2]=0.0;g[f+19750876>>2]=0.0;g[f+19750880>>2]=1.0;g[f+19750884>>2]=0.0;g[f+19750888>>2]=0.0;g[f+19750892>>2]=0.0;g[f+19750896>>2]=1.0;g[f+19750900>>2]=0.0;g[f+19750904>>2]=0.0;g[f+19750908>>2]=0.0;g[f+19750912>>2]=1.0;g[f+19750916>>2]=0.0;g[f+19750920>>2]=0.0;g[f+19750924>>2]=0.0;g[f+19750928>>2]=1.0;g[f+19750932>>2]=0.0;g[f+19750936>>2]=0.0;g[f+19750940>>2]=0.0;g[f+19750944>>2]=1.0;g[f+19750948>>2]=0.0;g[f+19750952>>2]=0.0;g[f+19750956>>2]=0.0;g[f+19750960>>2]=1.0;g[f+19750964>>2]=0.0;g[f+19750968>>2]=0.0;g[f+19750972>>2]=0.0;g[f+19750976>>2]=1.0;g[f+19750980>>2]=0.0;g[f+19750984>>2]=0.0;g[f+19750988>>2]=0.0;g[f+19750992>>2]=1.0;g[f+19750996>>2]=0.0;g[f+19751e3>>2]=0.0;g[f+19751004>>2]=0.0;g[f+19751008>>2]=1.0;g[f+19751012>>2]=0.0;g[f+19751016>>2]=0.0;g[f+19751020>>2]=0.0;g[f+19751024>>2]=1.0;g[f+19751028>>2]=0.0;g[f+19751032>>2]=0.0;g[f+19751036>>2]=0.0;g[f+19751040>>2]=1.0;g[f+19751044>>2]=0.0;g[f+19751048>>2]=0.0;g[f+19751052>>2]=0.0;g[f+19751056>>2]=1.0;g[f+19751060>>2]=0.0;g[f+19751064>>2]=0.0;g[f+19751068>>2]=0.0;g[f+19751072>>2]=1.0;g[f+19751076>>2]=0.0;g[f+19751080>>2]=0.0;g[f+19751084>>2]=0.0;g[f+19751088>>2]=1.0;g[f+19751092>>2]=0.0;g[f+19751096>>2]=0.0;g[f+19751100>>2]=0.0;g[f+19751104>>2]=1.0;j=f+19737668|0;k=j+128|0;do{b[j>>1]=0;j=j+2|0}while((j|0)<(k|0));Xo(f+19737796|0,-1,8192)|0;j=c[i>>2]|0;k=j+18572948|0;a[(c[k>>2]|0)+(j+18572956)>>0]=0;l=(c[k>>2]|0)+4&-4;c[k>>2]=l;m=j+18572956+l|0;a[m>>0]=h;a[m+1>>0]=h>>8;a[m+2>>0]=h>>16;a[m+3>>0]=h>>24;c[k>>2]=(c[k>>2]|0)+4;_h(f);_h(f);if(!(a[f+19805860>>0]|0)){k=c[i>>2]|0;h=k+18638492|0;a[(c[h>>2]|0)+(k+18638500)>>0]=18;c[h>>2]=(c[h>>2]|0)+1;_h(f);_h(f);h=f+19657992|0;k=f+19737652|0;m=c[c[f+19737656>>2]>>2]|0;if(m){l=h+4|0;j=f+19657994|0;n=m;m=b[h>>1]|0;while(1){o=b[n+4>>1]|0;p=e[j>>1]|0;q=b[l+(p+(o&65535)<<1)>>1]|0;r=m+-1<<16>>16;s=l+((r&65535)<<1)|0;t=b[s>>1]|0;b[s>>1]=o;b[l+((t&65535)+p<<1)>>1]=q;b[l+((q&65535)<<1)>>1]=t;n=c[n+8>>2]|0;if(!n){u=r;break}else m=r}b[h>>1]=u}Ik(k);k=c[i>>2]|0;u=c[20]|0;Jg[c[(c[u>>2]|0)+12>>2]&31](u,c[k+14345808>>2]|0,0,0,0);u=c[20]|0;h=c[k+18731960>>2]|0;if(!h){v=0;return v|0}Jg[c[(c[u>>2]|0)+12>>2]&31](u,c[h>>2]|0,0,0,0);Jg[c[(c[u>>2]|0)+12>>2]&31](u,h,0,0,0);v=0;return v|0}else{h=0;do{u=142+(c[32144+(h<<2)>>2]|0)|0;k=d[u>>0]|0;if(!(k&1))a[u>>0]=k|4;h=h+1|0}while((h|0)!=13);h=c[f+19805856>>2]|0;k=Pg[c[(c[h>>2]|0)+8>>2]&31](h)|0;c[24]=k;vh(k);Ih(f+19805676|0);Qh(f+19805764|0);k=Ek(f,6291456,0)|0;h=c[i>>2]|0;c[h+18572928>>2]=k;k=f+19641604|0;u=b[k>>1]|0;m=b[f+19641606>>1]|0;if((u&65535)<(m&65535)?(b[k>>1]=u+1<<16>>16,n=k+4|0,k=b[n+((u&65535)<<1)>>1]|0,b[n+((k&65535)+(m&65535)<<1)>>1]=u,k<<16>>16!=-1):0){u=h+18572948|0;a[(c[u>>2]|0)+(h+18572956)>>0]=5;m=(c[u>>2]|0)+2&-2;c[u>>2]=m;n=h+18572956+m|0;a[n>>0]=k;a[n+1>>0]=k>>8;n=(c[u>>2]|0)+5&-4;c[u>>2]=n;m=h+18572956+n|0;a[m>>0]=0;a[m+1>>0]=0;a[m+2>>0]=32;a[m+3>>0]=0;m=(c[u>>2]|0)+5&-2;c[u>>2]=m;n=h+18572956+m|0;a[n>>0]=0;a[n+1>>0]=0;c[u>>2]=(c[u>>2]|0)+2;u=c[20]|0;n=Sg[c[(c[u>>2]|0)+8>>2]&3](u,2097168,0,0,0)|0;c[n>>2]=n+16;c[n+4>>2]=2097152;b[n+12>>1]=k;w=c[i>>2]|0;x=n}else{w=h;x=0}c[w+18572924>>2]=x;_h(f);v=1;return v|0}return 0}function Yh(f){f=f|0;var g=0,h=0,j=0,k=0,l=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,F=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;n=f+18732228|0;o=c[n>>2]|0;p=o+18572948|0;a[(c[p>>2]|0)+(o+18572956)>>0]=1;c[p>>2]=(c[p>>2]|0)+1;_h(f);p=c[n>>2]|0;o=c[p+18572928>>2]|0;q=p+18638492|0;a[(c[q>>2]|0)+(p+18638500)>>0]=23;r=(c[q>>2]|0)+2&-2;c[q>>2]=r;s=p+18638500+r|0;r=o+14|0;p=d[r>>0]|d[r+1>>0]<<8;a[s>>0]=p;a[s+1>>0]=p>>8;c[q>>2]=(c[q>>2]|0)+2;q=c[n>>2]|0;p=q+18704040|0;s=b[p>>1]|0;b[q+18712374+((s&65535)<<1)>>1]=b[r>>1]|0;b[p>>1]=s+1<<16>>16;s=c[20]|0;Jg[c[(c[s>>2]|0)+12>>2]&31](s,o,0,0,0);o=c[n>>2]|0;s=c[o+18572924>>2]|0;p=o+18638492|0;a[(c[p>>2]|0)+(o+18638500)>>0]=22;r=(c[p>>2]|0)+2&-2;c[p>>2]=r;q=o+18638500+r|0;r=s+12|0;o=d[r>>0]|d[r+1>>0]<<8;a[q>>0]=o;a[q+1>>0]=o>>8;c[p>>2]=(c[p>>2]|0)+2;p=c[n>>2]|0;o=p+18704036|0;q=b[o>>1]|0;b[p+18704054+((q&65535)<<1)>>1]=b[r>>1]|0;b[o>>1]=q+1<<16>>16;q=c[20]|0;Jg[c[(c[q>>2]|0)+12>>2]&31](q,s,0,0,0);Nh(f+19805676|0);Rh(f+19805764|0);_h(f);_h(f);s=c[n>>2]|0;q=s+18638492|0;a[(c[q>>2]|0)+(s+18638500)>>0]=18;c[q>>2]=(c[q>>2]|0)+1;_h(f);q=f+19625188|0;s=f+19625192|0;c[k>>2]=c[s>>2];c[l>>2]=q;o=f+19625196|0;r=c[o>>2]|0;c[j>>2]=c[k>>2];c[h>>2]=c[l>>2];Jk(j,h,r,m)|0;r=c[s>>2]|0;s=r;a:do if((r|0)!=(q|0)){p=s;t=s;u=r;while(1){v=t;w=v+8|0;x=v+16|0;v=p;y=u;while(1){z=w;A=c[x>>2]|0;B=Zo(A|0,0,c[z>>2]|0,c[z+4>>2]|0)|0;z=y+8|0;if(!((B|0)==(c[z>>2]|0)?(E|0)==(c[z+4>>2]|0):0)){C=v;break}c[x>>2]=(c[y+16>>2]|0)+A;A=y+4|0;y=c[A>>2]|0;z=v;v=y;B=c[z>>2]|0;c[B+4>>2]=v;c[c[A>>2]>>2]=B;c[o>>2]=(c[o>>2]|0)+-1;$n(z);if((y|0)==(q|0))break a}y=c[C+4>>2]|0;v=y;if((v|0)==(q|0))break;else{p=y;t=C;u=v}}}while(0);C=f+19608772|0;q=f+19608776|0;c[k>>2]=c[q>>2];c[l>>2]=C;o=f+19608780|0;r=c[o>>2]|0;c[j>>2]=c[k>>2];c[h>>2]=c[l>>2];Jk(j,h,r,m)|0;m=c[q>>2]|0;q=m;b:do if((m|0)!=(C|0)){r=q;h=q;j=m;while(1){l=h;k=l+8|0;s=l+16|0;l=j;u=r;while(1){t=k;p=c[s>>2]|0;v=Zo(p|0,0,c[t>>2]|0,c[t+4>>2]|0)|0;t=l+8|0;if(!((v|0)==(c[t>>2]|0)?(E|0)==(c[t+4>>2]|0):0)){D=u;break}c[s>>2]=(c[l+16>>2]|0)+p;p=l+4|0;l=c[p>>2]|0;t=u;u=l;v=c[t>>2]|0;c[v+4>>2]=u;c[c[p>>2]>>2]=v;c[o>>2]=(c[o>>2]|0)+-1;$n(t);if((l|0)==(C|0))break b}l=c[D+4>>2]|0;u=l;if((u|0)==(C|0))break;else{r=l;h=D;j=u}}}while(0);D=f+19657992|0;C=f+19737652|0;o=c[c[f+19737656>>2]>>2]|0;if(o){m=D+4|0;q=f+19657994|0;f=o;o=b[D>>1]|0;while(1){j=b[f+4>>1]|0;h=e[q>>1]|0;r=b[m+(h+(j&65535)<<1)>>1]|0;u=o+-1<<16>>16;l=m+((u&65535)<<1)|0;s=b[l>>1]|0;b[l>>1]=j;b[m+((s&65535)+h<<1)>>1]=r;b[m+((r&65535)<<1)>>1]=s;f=c[f+8>>2]|0;if(!f){F=u;break}else o=u}b[D>>1]=F}Ik(C);c[1494]=0;C=c[n>>2]|0;n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,c[C+14345808>>2]|0,0,0,0);n=c[20]|0;F=c[C+18731960>>2]|0;if(!F){i=g;return}Jg[c[(c[n>>2]|0)+12>>2]&31](n,c[F>>2]|0,0,0,0);Jg[c[(c[n>>2]|0)+12>>2]&31](n,F,0,0,0);i=g;return}function Zh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=b[f+18704036>>1]|0;if(g<<16>>16){h=d+19641604|0;i=h+4|0;j=d+19641606|0;k=b[h>>1]|0;l=0;do{m=b[f+18704054+(l<<1)>>1]|0;n=e[j>>1]|0;o=b[i+(n+(m&65535)<<1)>>1]|0;k=k+-1<<16>>16;b[h>>1]=k;p=i+((k&65535)<<1)|0;q=b[p>>1]|0;b[p>>1]=m;b[i+((q&65535)+n<<1)>>1]=o;b[i+((o&65535)<<1)>>1]=q;l=l+1|0}while((l&65535)<<16>>16!=g<<16>>16)}g=b[f+18704038>>1]|0;if(g<<16>>16){l=d+19657992|0;i=l+4|0;k=d+19657994|0;h=b[l>>1]|0;j=0;do{q=b[f+18712246+(j<<1)>>1]|0;o=e[k>>1]|0;n=b[i+(o+(q&65535)<<1)>>1]|0;h=h+-1<<16>>16;b[l>>1]=h;m=i+((h&65535)<<1)|0;p=b[m>>1]|0;b[m>>1]=q;b[i+((p&65535)+o<<1)>>1]=n;b[i+((n&65535)<<1)>>1]=p;j=j+1|0}while((j&65535)<<16>>16!=g<<16>>16)}g=b[f+18704040>>1]|0;if(g<<16>>16){j=d+19658252|0;i=j+4|0;h=d+19658254|0;l=d+18732228|0;k=0;do{p=b[f+18712374+(k<<1)>>1]|0;n=p&65535;o=b[d+19737796+(n<<1)>>1]|0;if(o<<16>>16!=-1?(q=d+19737668+((o&65535)<<1)|0,m=(b[q>>1]|0)+-1<<16>>16,b[q>>1]=m,m<<16>>16==0):0){m=c[l>>2]|0;q=m+18638492|0;a[(c[q>>2]|0)+(m+18638500)>>0]=19;r=(c[q>>2]|0)+2&-2;c[q>>2]=r;s=m+18638500+r|0;a[s>>0]=o;a[s+1>>0]=o>>8;c[q>>2]=(c[q>>2]|0)+2}q=e[h>>1]|0;o=b[i+(q+n<<1)>>1]|0;n=(b[j>>1]|0)+-1<<16>>16;b[j>>1]=n;s=i+((n&65535)<<1)|0;n=b[s>>1]|0;b[s>>1]=p;b[i+((n&65535)+q<<1)>>1]=o;b[i+((o&65535)<<1)>>1]=n;k=k+1|0}while((k&65535)<<16>>16!=g<<16>>16)}g=b[f+18704042>>1]|0;if(g<<16>>16){k=d+19674640|0;i=k+4|0;j=d+19674642|0;h=b[k>>1]|0;l=0;do{n=b[f+18720566+(l<<1)>>1]|0;o=e[j>>1]|0;q=b[i+(o+(n&65535)<<1)>>1]|0;h=h+-1<<16>>16;b[k>>1]=h;p=i+((h&65535)<<1)|0;s=b[p>>1]|0;b[p>>1]=n;b[i+((s&65535)+o<<1)>>1]=q;b[i+((q&65535)<<1)>>1]=s;l=l+1|0}while((l&65535)<<16>>16!=g<<16>>16)}g=b[f+18704044>>1]|0;if(g<<16>>16){l=d+19676692|0;i=l+4|0;h=d+19676694|0;k=b[l>>1]|0;j=0;do{s=b[f+18721590+(j<<1)>>1]|0;q=e[h>>1]|0;o=b[i+(q+(s&65535)<<1)>>1]|0;k=k+-1<<16>>16;b[l>>1]=k;n=i+((k&65535)<<1)|0;p=b[n>>1]|0;b[n>>1]=s;b[i+((p&65535)+q<<1)>>1]=o;b[i+((o&65535)<<1)>>1]=p;j=j+1|0}while((j&65535)<<16>>16!=g<<16>>16)}g=b[f+18704046>>1]|0;if(g<<16>>16){j=d+19678744|0;i=j+4|0;k=d+19678746|0;l=b[j>>1]|0;h=0;do{p=b[f+18722614+(h<<1)>>1]|0;o=e[k>>1]|0;q=b[i+(o+(p&65535)<<1)>>1]|0;l=l+-1<<16>>16;b[j>>1]=l;s=i+((l&65535)<<1)|0;n=b[s>>1]|0;b[s>>1]=p;b[i+((n&65535)+o<<1)>>1]=q;b[i+((q&65535)<<1)>>1]=n;h=h+1|0}while((h&65535)<<16>>16!=g<<16>>16)}g=b[f+18704048>>1]|0;if(g<<16>>16){h=d+19695132|0;i=h+4|0;l=d+19695134|0;j=b[h>>1]|0;k=0;do{n=b[f+18730806+(k<<1)>>1]|0;q=e[l>>1]|0;o=b[i+(q+(n&65535)<<1)>>1]|0;j=j+-1<<16>>16;b[h>>1]=j;p=i+((j&65535)<<1)|0;s=b[p>>1]|0;b[p>>1]=n;b[i+((s&65535)+q<<1)>>1]=o;b[i+((o&65535)<<1)>>1]=s;k=k+1|0}while((k&65535)<<16>>16!=g<<16>>16)}g=b[f+18704050>>1]|0;if(!(g<<16>>16))return;k=d+19695392|0;i=k+4|0;j=d+19695394|0;d=b[k>>1]|0;h=0;do{l=b[f+18730934+(h<<1)>>1]|0;s=e[j>>1]|0;o=b[i+(s+(l&65535)<<1)>>1]|0;d=d+-1<<16>>16;b[k>>1]=d;q=i+((d&65535)<<1)|0;n=b[q>>1]|0;b[q>>1]=l;b[i+((n&65535)+s<<1)>>1]=o;b[i+((o&65535)<<1)>>1]=n;h=h+1|0}while((h&65535)<<16>>16!=g<<16>>16);return}function _h(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f+4|0;h=f+2|0;j=f;k=d+19592384|0;l=b[k>>1]|0;if(l<<16>>16){m=0;do{b[h>>1]=b[d+19592388+(m<<1)>>1]|0;b[g>>1]=b[h>>1]|0;Kk(d,g);m=m+1|0}while((m&65535)<<16>>16!=l<<16>>16)}b[k>>1]=0;k=d+19592386|0;l=b[k>>1]|0;if(l<<16>>16){m=0;do{b[j>>1]=b[d+19600580+(m<<1)>>1]|0;b[g>>1]=b[j>>1]|0;Lk(d,g);m=m+1|0}while((m&65535)<<16>>16!=l<<16>>16)}b[k>>1]=0;k=d+18732228|0;l=(c[k>>2]|0)+18572932|0;m=d+19805652|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];l=c[k>>2]|0;c[l+18572944>>2]=c[d+19805672>>2];Wo(l+12|0,d+19745988|0,256)|0;Wo((c[k>>2]|0)+268|0,d+19746244|0,512)|0;Wo((c[k>>2]|0)+780|0,d+19746756|0,4096)|0;Wo((c[k>>2]|0)+5132|0,d+19751108|0,2048)|0;Wo((c[k>>2]|0)+7180|0,d+19753156|0,2048)|0;Wo((c[k>>2]|0)+9232|0,d+19755216|0,16384)|0;Wo((c[k>>2]|0)+25616|0,d+19771600|0,32768)|0;Wo((c[k>>2]|0)+58384|0,d+19804368|0,256)|0;l=d+19805648|0;g=a[l>>0]|0;if(g<<24>>24){a[l>>0]=g+-1<<24>>24;Wo((c[k>>2]|0)+4876|0,d+19750852|0,256)|0}g=c[k>>2]|0;l=g+18572948|0;a[(c[l>>2]|0)+(g+18572956)>>0]=17;c[g+18572952>>2]=(c[l>>2]|0)+1;c[l>>2]=0;l=g+18638492|0;a[(c[l>>2]|0)+(g+18638500)>>0]=17;c[g+18638496>>2]=(c[l>>2]|0)+1;c[l>>2]=0;l=c[g+14345808>>2]|0;g=l+4|0;j=c[g>>2]|0;if((j+4|0)>>>0<(c[l>>2]|0)>>>0){h=l+8+j|0;a[h>>0]=1;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;c[g>>2]=(c[g>>2]|0)+4}c[g>>2]=0;g=d+18732224|0;h=c[g>>2]|0;c[g>>2]=c[k>>2];c[k>>2]=h;Vh(d)|0;h=d+19805668|0;c[h>>2]=(c[h>>2]|0)+1;h=c[k>>2]|0;j=h+14345792|0;l=h+14345624|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[h+14345652>>2]=-1;c[h+14345656>>2]=0;c[h+14345660>>2]=-1;c[h+14345664>>2]=0;b[h+14345668>>1]=0;b[h+14345670>>1]=1;b[h+14345672>>1]=0;b[h+14345674>>1]=-1;b[h+14345676>>1]=1;j=h+14345616|0;c[j>>2]=1;c[j+4>>2]=0;b[h+14345678>>1]=-1;j=h+14345682|0;b[h+14345488>>1]=-1;b[h+14345496>>1]=-1;b[h+14345504>>1]=-1;b[h+14345512>>1]=-1;b[h+14345520>>1]=-1;b[h+14345528>>1]=-1;b[h+14345536>>1]=-1;b[h+14345544>>1]=-1;b[h+14345552>>1]=-1;b[h+14345560>>1]=-1;b[h+14345568>>1]=-1;b[h+14345576>>1]=-1;b[h+14345584>>1]=-1;b[h+14345592>>1]=-1;b[h+14345600>>1]=-1;b[h+14345608>>1]=-1;b[j>>1]=65535;b[j+2>>1]=65535;b[j+4>>1]=65535;b[j+6>>1]=65535;b[j+8>>1]=65535;c[h+14345760>>2]=0;c[h+14345764>>2]=0;c[h+14345768>>2]=0;b[h+14345774>>1]=0;b[h+14345776>>1]=0;b[h+14345778>>1]=0;b[h+14345784>>1]=0;a[h+14345786>>0]=1;b[h+14345772>>1]=-1;b[h+14345780>>1]=0;b[h+14345782>>1]=-1;b[h+14345696>>1]=-1;b[h+14345704>>1]=-1;b[h+14345712>>1]=-1;b[h+14345720>>1]=-1;b[h+14345728>>1]=-1;b[h+14345736>>1]=-1;b[h+14345744>>1]=-1;b[h+14345752>>1]=-1;c[h+18540128>>2]=1;c[h+18572912>>2]=0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+14345812>>1]=0;b[h+14345814>>1]=0;b[h+14345816>>1]=0;c[h+18572916>>2]=0;c[h+18572920>>2]=0;c[h+18572948>>2]=0;c[h+18572952>>2]=65536;c[h+18638492>>2]=0;c[h+18638496>>2]=65536;c[(c[h+14345808>>2]|0)+4>>2]=0;a[h+18732168>>0]=0;Xo(d+19804624|0,0,512)|0;Zh(d,c[k>>2]|0);h=(c[k>>2]|0)+18704036|0;b[h>>1]=0;b[h+2>>1]=0;b[h+4>>1]=0;b[h+6>>1]=0;b[h+8>>1]=0;b[h+10>>1]=0;b[h+12>>1]=0;b[h+14>>1]=0;h=c[(c[k>>2]|0)+18731960>>2]|0;k=a[(c[(c[g>>2]|0)+18731960>>2]|0)+12>>0]|0;g=(c[m>>2]|0)>>>3;m=(g|0)==0?1:g;g=(c[d+19805656>>2]|0)>>>(k<<24>>24!=0?3:4);d=(g|0)==0?1:g;g=c[h>>2]|0;j=h+8|0;if((((g|0)!=0?(e[j>>1]|0)==(m|0):0)?(e[h+10>>1]|0)==(d|0):0)?(a[h+12>>0]|0)==k<<24>>24:0){i=f;return}a[h+12>>0]=k;b[j>>1]=m;b[h+10>>1]=d;j=h+4|0;k=c[j>>2]|0;l=aa(d<<1&131070,m&65535)|0;c[j>>2]=l;m=c[20]|0;d=Og[c[(c[m>>2]|0)+16>>2]&3](m,g,l,0,0,0)|0;c[h>>2]=d;h=c[j>>2]|0;if(h>>>0<=k>>>0){i=f;return}Xo(d+k|0,0,h-k|0)|0;i=f;return}function $h(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=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,F=0,G=0,H=0,I=0,J=0,K=0,L=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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=i;i=i+176|0;h=g+168|0;j=g+24|0;k=g+166|0;l=g+164|0;m=g+162|0;n=g+160|0;o=g+158|0;p=g+156|0;q=g+154|0;r=g+152|0;s=g+150|0;t=g+148|0;u=g+146|0;v=g+144|0;w=g+142|0;x=g+140|0;y=g+138|0;z=g+136|0;A=g+134|0;B=g+132|0;C=g+130|0;D=g+128|0;F=g+126|0;G=g+20|0;H=g;I=g+124|0;J=g+122|0;K=g+120|0;L=g+104|0;M=g+102|0;N=g+100|0;O=g+98|0;P=g+96|0;c[f>>2]=0;Q=e+19805856|0;do if(!(c[Q>>2]|0)){R=a[f+8>>0]|0;c[f>>2]=1;S=R&255;if((S|0)==18){a[e+19805861>>0]=1;i=g;return}else if((S|0)==17){i=g;return}else{S=f+12|0;R=d[S>>0]|d[S+1>>0]<<8|d[S+2>>0]<<16|d[S+3>>0]<<24;c[f>>2]=8;if((R|0)==8)T=6;else U=R;while(1){if((T|0)==6){T=0;U=(a[32292]|0)==0?0:5}V=ch[c[32200+(U<<4)>>2]&15]()|0;if(V)break;a[32200+(U<<4)+12>>0]=0;T=6}c[8082]=c[32200+(U<<4)+4>>2];c[Q>>2]=V;R=e+19805860|0;a[R>>0]=1;W=R;break}}else W=e+19805860|0;while(0);V=e+19805888|0;U=H+16|0;a:while(1){R=c[f>>2]|0;S=a[f+8+R>>0]|0;X=R+1|0;c[f>>2]=X;do switch(S&255|0){case 22:{Y=R+2&-2;c[f>>2]=Y;Z=f+8+Y|0;_=d[Z>>0]|d[Z+1>>0]<<8;c[f>>2]=Y+2;Y=c[Q>>2]|0;Z=c[(c[Y>>2]|0)+52>>2]|0;b[u>>1]=_;b[h>>1]=b[u>>1]|0;Ng[Z&63](Y,h);continue a;break}case 1:{a[W>>0]=0;continue a;break}case 5:{Y=R+2&-2;c[f>>2]=Y;Z=f+8+Y|0;_=d[Z>>0]|d[Z+1>>0]<<8;Z=Y+5&-4;c[f>>2]=Z;Y=f+8+Z|0;$=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=Z+5&-4;c[f>>2]=Y;Z=f+8+Y|0;aa=d[Z>>0]|d[Z+1>>0]<<8;c[f>>2]=Y|2;Y=c[Q>>2]|0;Z=c[(c[Y>>2]|0)+44>>2]|0;b[s>>1]=_;b[h>>1]=b[s>>1]|0;jh[Z&63](Y,h,$,aa);continue a;break}case 6:{aa=R+2&-2;c[f>>2]=aa;$=f+8+aa|0;Y=d[$>>0]|d[$+1>>0]<<8;$=aa+5&-4;c[f>>2]=$;aa=f+8+$|0;Z=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;aa=$+7&-4;c[f>>2]=aa;$=f+8+aa|0;_=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24;$=aa+7&-4;c[f>>2]=$;aa=f+8+$|0;ba=d[aa>>0]|d[aa+1>>0]<<8|d[aa+2>>0]<<16|d[aa+3>>0]<<24;c[f>>2]=$+4;$=c[Q>>2]|0;aa=c[(c[$>>2]|0)+48>>2]|0;b[t>>1]=Y;Y=ba;b[h>>1]=b[t>>1]|0;Jg[aa&31]($,h,Z,_,Y);_=c[Y>>2]|0;Z=Y+8|0;if((_|0)!=(Z|0)?($=c[Z>>2]|0,($|0)!=0):0)Ng[$&63](_,c[Y+12>>2]|0);Y=c[20]|0;Jg[c[(c[Y>>2]|0)+12>>2]&31](Y,ba,0,0,0);continue a;break}case 2:{ba=R+2&-2;c[f>>2]=ba;Y=f+8+ba|0;_=d[Y>>0]|d[Y+1>>0]<<8;c[f>>2]=ba+2;yh(j);ba=(c[f>>2]|0)+3&-4;c[f>>2]=ba;Y=j;$=f+8+ba|0;Z=Y+72|0;do{a[Y>>0]=a[$>>0]|0;Y=Y+1|0;$=$+1|0}while((Y|0)<(Z|0));c[f>>2]=ba+72;$=c[Q>>2]|0;Y=c[(c[$>>2]|0)+28>>2]|0;b[n>>1]=_;b[h>>1]=b[n>>1]|0;Xg[Y&63]($,h,j);continue a;break}case 20:{$=R+2&-2;c[f>>2]=$;Y=f+8+$|0;Z=d[Y>>0]|d[Y+1>>0]<<8;c[f>>2]=$+2;$=c[Q>>2]|0;Y=c[(c[$>>2]|0)+24>>2]|0;b[m>>1]=Z;b[h>>1]=b[m>>1]|0;Ng[Y&63]($,h);continue a;break}case 23:{$=R+2&-2;c[f>>2]=$;Y=f+8+$|0;Z=d[Y>>0]|d[Y+1>>0]<<8;c[f>>2]=$+2;$=c[Q>>2]|0;Y=c[(c[$>>2]|0)+64>>2]|0;b[x>>1]=Z;b[h>>1]=b[x>>1]|0;Ng[Y&63]($,h);continue a;break}case 7:{$=R+2&-2;c[f>>2]=$;Y=f+8+$|0;Z=d[Y>>0]|d[Y+1>>0]<<8;Y=$+5&-4;c[f>>2]=Y;$=f+8+Y|0;aa=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24;$=Y+5&-4;c[f>>2]=$;Y=f+8+$|0;ca=d[Y>>0]|d[Y+1>>0]<<8;c[f>>2]=$|2;$=c[Q>>2]|0;Y=c[(c[$>>2]|0)+56>>2]|0;b[v>>1]=Z;b[h>>1]=b[v>>1]|0;jh[Y&63]($,h,aa,ca);continue a;break}case 21:{ca=R+2&-2;c[f>>2]=ca;aa=f+8+ca|0;$=d[aa>>0]|d[aa+1>>0]<<8;c[f>>2]=ca+2;ca=c[Q>>2]|0;aa=c[(c[ca>>2]|0)+40>>2]|0;b[r>>1]=$;b[h>>1]=b[r>>1]|0;Ng[aa&63](ca,h);continue a;break}case 18:{T=13;break a;break}case 4:{ca=R+2&-2;c[f>>2]=ca;aa=f+8+ca|0;$=d[aa>>0]|d[aa+1>>0]<<8;aa=ca+5&-4;c[f>>2]=aa;ca=f+8+aa|0;Y=d[ca>>0]|d[ca+1>>0]<<8|d[ca+2>>0]<<16|d[ca+3>>0]<<24;ca=aa+5&-4;c[f>>2]=ca;aa=f+8+ca|0;Z=d[aa>>0]|d[aa+1>>0]<<8;aa=ca|2;c[f>>2]=aa;ca=f+8+aa|0;da=d[ca>>0]|d[ca+1>>0]<<8;c[f>>2]=aa+2;aa=c[Q>>2]|0;ca=c[(c[aa>>2]|0)+36>>2]|0;b[p>>1]=$;$=Y;b[q>>1]=Z;b[j>>1]=b[p>>1]|0;b[h>>1]=b[q>>1]|0;Jg[ca&31](aa,j,$,h,da);da=c[$>>2]|0;aa=$+8|0;if((da|0)!=(aa|0)?(ca=c[aa>>2]|0,(ca|0)!=0):0)Ng[ca&63](da,c[$+12>>2]|0);$=c[20]|0;Jg[c[(c[$>>2]|0)+12>>2]&31]($,Y,0,0,0);continue a;break}case 3:{Y=R+2&-2;c[f>>2]=Y;$=f+8+Y|0;da=d[$>>0]|d[$+1>>0]<<8;$=Y+5&-4;c[f>>2]=$;Y=f+8+$|0;ca=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=$+5&-4;c[f>>2]=Y;$=f+8+Y|0;aa=d[$>>0]|d[$+1>>0]<<8;c[f>>2]=Y|2;Y=c[Q>>2]|0;$=c[(c[Y>>2]|0)+20>>2]|0;b[l>>1]=da;da=ca;b[h>>1]=b[l>>1]|0;jh[$&63](Y,h,da,aa);aa=c[da>>2]|0;Y=da+8|0;if((aa|0)!=(Y|0)?($=c[Y>>2]|0,($|0)!=0):0)Ng[$&63](aa,c[da+12>>2]|0);da=c[20]|0;Jg[c[(c[da>>2]|0)+12>>2]&31](da,ca,0,0,0);continue a;break}case 19:{ca=R+2&-2;c[f>>2]=ca;da=f+8+ca|0;aa=d[da>>0]|d[da+1>>0]<<8;c[f>>2]=ca+2;ca=c[Q>>2]|0;da=c[(c[ca>>2]|0)+32>>2]|0;b[o>>1]=aa;b[h>>1]=b[o>>1]|0;Ng[da&63](ca,h);continue a;break}case 8:{ca=R+2&-2;c[f>>2]=ca;da=f+8+ca|0;aa=d[da>>0]|d[da+1>>0]<<8;da=ca+5&-4;c[f>>2]=da;ca=f+8+da|0;$=d[ca>>0]|d[ca+1>>0]<<8|d[ca+2>>0]<<16|d[ca+3>>0]<<24;ca=da+7&-4;c[f>>2]=ca;da=f+8+ca|0;Y=d[da>>0]|d[da+1>>0]<<8|d[da+2>>0]<<16|d[da+3>>0]<<24;da=ca+7&-4;c[f>>2]=da;ca=f+8+da|0;Z=d[ca>>0]|d[ca+1>>0]<<8|d[ca+2>>0]<<16|d[ca+3>>0]<<24;c[f>>2]=da+4;da=c[Q>>2]|0;ca=c[(c[da>>2]|0)+60>>2]|0;b[w>>1]=aa;aa=Z;b[h>>1]=b[w>>1]|0;Jg[ca&31](da,h,$,Y,aa);Y=c[aa>>2]|0;$=aa+8|0;if((Y|0)!=($|0)?(da=c[$>>2]|0,(da|0)!=0):0)Ng[da&63](Y,c[aa+12>>2]|0);aa=c[20]|0;Jg[c[(c[aa>>2]|0)+12>>2]&31](aa,Z,0,0,0);continue a;break}case 24:{Z=R+2&-2;c[f>>2]=Z;aa=f+8+Z|0;Y=d[aa>>0]|d[aa+1>>0]<<8;c[f>>2]=Z+2;Z=c[Q>>2]|0;aa=c[(c[Z>>2]|0)+72>>2]|0;b[z>>1]=Y;b[h>>1]=b[z>>1]|0;Ng[aa&63](Z,h);continue a;break}case 9:{Z=R+2&-2;c[f>>2]=Z;aa=f+8+Z|0;Y=d[aa>>0]|d[aa+1>>0]<<8;aa=Z+5&-4;c[f>>2]=aa;Z=f+8+aa|0;da=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24;c[f>>2]=aa+4;aa=c[Q>>2]|0;Z=c[(c[aa>>2]|0)+68>>2]|0;b[y>>1]=Y;Y=da;b[h>>1]=b[y>>1]|0;Xg[Z&63](aa,h,Y);aa=c[Y>>2]|0;Z=Y+8|0;if((aa|0)!=(Z|0)?($=c[Z>>2]|0,($|0)!=0):0)Ng[$&63](aa,c[Y+12>>2]|0);Y=c[20]|0;Jg[c[(c[Y>>2]|0)+12>>2]&31](Y,da,0,0,0);continue a;break}case 10:{da=R+2&-2;c[f>>2]=da;Y=f+8+da|0;aa=d[Y>>0]|d[Y+1>>0]<<8;Y=da+3&-2;c[f>>2]=Y;da=f+8+Y|0;$=d[da>>0]|d[da+1>>0]<<8;da=Y+3&-2;c[f>>2]=da;Y=f+8+da|0;Z=d[Y>>0]|d[Y+1>>0]<<8;c[f>>2]=da+2;da=c[Q>>2]|0;Y=c[(c[da>>2]|0)+76>>2]|0;b[A>>1]=aa;b[B>>1]=$;b[C>>1]=Z;b[k>>1]=b[A>>1]|0;b[j>>1]=b[B>>1]|0;b[h>>1]=b[C>>1]|0;jh[Y&63](da,k,j,h);continue a;break}case 25:{da=R+2&-2;c[f>>2]=da;Y=f+8+da|0;Z=d[Y>>0]|d[Y+1>>0]<<8;c[f>>2]=da+2;da=c[Q>>2]|0;Y=c[(c[da>>2]|0)+80>>2]|0;b[D>>1]=Z;b[h>>1]=b[D>>1]|0;Ng[Y&63](da,h);continue a;break}case 11:{da=R+2&-2;c[f>>2]=da;Y=f+8+da|0;Z=d[Y>>0]|d[Y+1>>0]<<8;Y=da+5&-4;c[f>>2]=Y;da=f+8+Y|0;$=d[da>>0]|d[da+1>>0]<<8|d[da+2>>0]<<16|d[da+3>>0]<<24;da=Y+7&-4;c[f>>2]=da;Y=f+8+da|0;aa=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=da+4|0;c[f>>2]=Y;ca=a[f+8+Y>>0]|0;c[f>>2]=da+5;da=c[Q>>2]|0;Y=c[(c[da>>2]|0)+84>>2]|0;b[F>>1]=Z;Z=$;b[h>>1]=b[F>>1]|0;Jg[Y&31](da,h,Z,aa,ca);ca=c[Z+4>>2]|0;aa=(ca|0)<0?2147483647:ca;da=aa>>>0<4?aa:4;aa=c[$>>2]|0;Wo(G|0,aa|0,da|0)|0;if((c[G>>2]|0)==5784916?(Y=Yo(ca|0,0,da|0,((da|0)<0)<<31>>31|0)|0,ca=E,ea=(ca|0)>0|(ca|0)==0&Y>>>0>2147483647?2147483647:Y,Wo(H|0,aa+da|0,(ea>>>0<20?ea:20)|0)|0,ea=c[U>>2]|0,(ea|0)!=0):0){da=c[ea>>2]|0;aa=ea+8|0;if((da|0)!=(aa|0)?(Y=c[aa>>2]|0,(Y|0)!=0):0)Ng[Y&63](da,c[ea+12>>2]|0);da=c[20]|0;Jg[c[(c[da>>2]|0)+12>>2]&31](da,ea,0,0,0)}ea=c[Z>>2]|0;da=Z+8|0;if((ea|0)!=(da|0)?(Y=c[da>>2]|0,(Y|0)!=0):0)Ng[Y&63](ea,c[Z+12>>2]|0);Z=c[20]|0;Jg[c[(c[Z>>2]|0)+12>>2]&31](Z,$,0,0,0);continue a;break}case 12:{$=c[V>>2]|0;if($>>>0>255){bi(e,f);fa=c[f>>2]|0;ga=c[V>>2]|0}else{fa=X;ga=$}$=fa+1&-2;c[f>>2]=$;Z=f+8+$|0;ea=d[Z>>0]|d[Z+1>>0]<<8;Z=$+2|0;c[f>>2]=Z;Y=a[f+8+Z>>0]|0;Z=$+3|0;c[f>>2]=Z;da=a[f+8+Z>>0]|0;c[f>>2]=(((($+13&-2)+3&-2)+3&-2)+3&-2)+7&-4;c[V>>2]=ga+1;c[e+19805892+(ga<<2)>>2]=(Y&255)<<8|(ea&65535)<<16|da&255;c[e+19806916+(ga<<2)>>2]=fa;continue a;break}case 27:{da=R+2&-2;c[f>>2]=da;ea=f+8+da|0;Y=d[ea>>0]|d[ea+1>>0]<<8;c[f>>2]=da+2;da=c[Q>>2]|0;ea=c[(c[da>>2]|0)+116>>2]|0;b[N>>1]=Y;b[h>>1]=b[N>>1]|0;Ng[ea&63](da,h);continue a;break}case 13:{da=R+2&-2;c[f>>2]=da;ea=f+8+da|0;Y=d[ea>>0]|d[ea+1>>0]<<8;ea=da+3&-2;c[f>>2]=ea;da=f+8+ea|0;$=d[da>>0]|d[da+1>>0]<<8;da=ea+3&-2;c[f>>2]=da;ea=f+8+da|0;Z=d[ea>>0]|d[ea+1>>0]<<8;c[f>>2]=da+2;da=c[Q>>2]|0;ea=c[(c[da>>2]|0)+100>>2]|0;b[I>>1]=Y;b[h>>1]=b[I>>1]|0;jh[ea&63](da,h,$,Z);continue a;break}case 26:{Z=R+2&-2;c[f>>2]=Z;$=f+8+Z|0;da=d[$>>0]|d[$+1>>0]<<8;c[f>>2]=Z+2;Z=c[Q>>2]|0;$=c[(c[Z>>2]|0)+104>>2]|0;b[J>>1]=da;b[h>>1]=b[J>>1]|0;Ng[$&63](Z,h);continue a;break}case 14:{Z=R+2&-2;c[f>>2]=Z;$=f+8+Z|0;da=d[$>>0]|d[$+1>>0]<<8;$=Z+2|0;c[f>>2]=$;ea=a[f+8+$>>0]|0;$=Z+3|0;c[f>>2]=$;if(ea<<24>>24){ea=Z+6&-4;c[f>>2]=ea;Y=f+8+ea|0;aa=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;Y=ea+5&-4;c[f>>2]=Y;ea=f+8+Y|0;ca=d[ea>>0]|d[ea+1>>0]<<8;ea=Y|2;c[f>>2]=ea;Y=f+8+ea|0;ha=d[Y>>0]|d[Y+1>>0]<<8;Y=ea+5&-4;c[f>>2]=Y;ea=f+8+Y|0;ia=d[ea>>0]|d[ea+1>>0]<<8|d[ea+2>>0]<<16|d[ea+3>>0]<<24;c[f>>2]=Y+4;Y=c[Q>>2]|0;ea=c[(c[Y>>2]|0)+112>>2]|0;b[K>>1]=da;b[h>>1]=b[K>>1]|0;Wg[ea&7](Y,h,aa,ca&65535,ha&65535,ia);continue a}ia=a[f+8+$>>0]|0;$=Z+4|0;c[f>>2]=$;if(ia<<24>>24){Z=ia&255;ha=$;$=0;do{ca=ha+1&-2;c[f>>2]=ca;aa=f+8+ca|0;b[L+($<<1)>>1]=d[aa>>0]|d[aa+1>>0]<<8;ha=ca+2|0;c[f>>2]=ha;$=$+1|0}while(($|0)!=(Z|0))}Z=c[Q>>2]|0;$=c[(c[Z>>2]|0)+108>>2]|0;b[M>>1]=da;b[h>>1]=b[M>>1]|0;jh[$&63](Z,h,ia,L);continue a;break}case 15:{Z=R+2&-2;c[f>>2]=Z;$=f+8+Z|0;ha=d[$>>0]|d[$+1>>0]<<8;$=Z+5&-4;c[f>>2]=$;Z=f+8+$|0;_=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24;Z=$+5|0;$=Z&-4;c[f>>2]=$;ba=f+8+$|0;ca=d[ba>>0]|d[ba+1>>0]<<8;ba=$|2;c[f>>2]=ba;$=Z|3;c[f>>2]=(d[f+8+ba>>0]|0)+$;ba=c[Q>>2]|0;Z=c[(c[ba>>2]|0)+120>>2]|0;b[O>>1]=ha;b[h>>1]=b[O>>1]|0;Jg[Z&31](ba,h,_,ca,f+8+$|0);continue a;break}case 28:{$=R+2&-2;c[f>>2]=$;ca=f+8+$|0;_=d[ca>>0]|d[ca+1>>0]<<8;c[f>>2]=$+2;$=c[Q>>2]|0;ca=c[(c[$>>2]|0)+124>>2]|0;b[P>>1]=_;b[h>>1]=b[P>>1]|0;Ng[ca&63]($,h);continue a;break}case 29:{$=R+2&-2;c[f>>2]=$;ca=f+8+$|0;_=$+2|0;c[f>>2]=((d[ca>>0]|d[ca+1>>0]<<8)&65535)+_;ca=c[Q>>2]|0;Ng[c[(c[ca>>2]|0)+128>>2]&63](ca,f+8+_|0);continue a;break}case 16:{_=a[f+8+X>>0]|0;ca=R+3&-2;c[f>>2]=ca;$=f+8+ca|0;ba=ca+2|0;c[f>>2]=((d[$>>0]|d[$+1>>0]<<8)&65535)+ba;$=c[Q>>2]|0;Xg[c[(c[$>>2]|0)+132>>2]&63]($,_,f+8+ba|0);continue a;break}case 17:{break a;break}default:continue a}while(0)}if((T|0)==13){hh[c[32328>>2]&15]();c[Q>>2]=0;a[e+19805861>>0]=1}bi(e,f);i=g;return}function ai(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+4|0;c[g>>2]=e;if(e>>>0>=f>>>0)return;h=e;while(1){e=b+8+h|0;i=h+4|0;c[g>>2]=i;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((j|0)==1){k=10;break}e=j>>>11&65535;l=aa(c[216+(j>>>27<<2)>>2]|0,j>>>1&1023)|0;m=b+8+i|0;c[g>>2]=l+i;do if(j>>>0<671088640){i=c[(c[a>>2]|0)+136>>2]|0;if(!(j&1)){jh[i&63](a,e,c[m>>2]|0,l);break}else{jh[i&63](a,e,m,l);break}}else Xg[c[(c[a>>2]|0)+140>>2]&63](a,m,l);while(0);h=c[g>>2]|0;if(h>>>0>=f>>>0){k=10;break}}if((k|0)==10)return}function bi(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=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;g=i;i=i+16|0;h=g+12|0;j=g;k=g+10|0;l=g+8|0;m=e+19805888|0;if(!(Nk(m)|0)){i=g;return}n=c[f>>2]|0;o=c[m>>2]|0;if(o){p=e+19805856|0;q=-1;r=0;while(1){s=(c[e+19806916+(r<<2)>>2]|0)+1&-2;c[f>>2]=s;t=f+8+s|0;u=d[t>>0]|d[t+1>>0]<<8;t=s+2|0;c[f>>2]=t;v=a[f+8+t>>0]|0;t=s+3|0;c[f>>2]=t;w=a[f+8+t>>0]|0;t=s+5&-2;c[f>>2]=t;s=f+8+t|0;x=s;y=s+4|0;s=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;y=j;c[y>>2]=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;c[y+4>>2]=s;s=t+9&-2;c[f>>2]=s;t=f+8+s|0;y=d[t>>0]|d[t+1>>0]<<8;t=s+3&-2;c[f>>2]=t;s=f+8+t|0;x=d[s>>0]|d[s+1>>0]<<8;s=t+3&-2;c[f>>2]=s;t=f+8+s|0;z=d[t>>0]|d[t+1>>0]<<8;t=s+5&-4;c[f>>2]=t;s=f+8+t|0;A=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;c[f>>2]=t+4;t=c[e+19805892+(r<<2)>>2]|0;if((t|0)==(q|0))B=q;else{if((q|0)!=-1){s=c[p>>2]|0;Mg[c[(c[s>>2]|0)+96>>2]&63](s)}s=c[p>>2]|0;C=c[(c[s>>2]|0)+88>>2]|0;b[k>>1]=u;b[h>>1]=b[k>>1]|0;jh[C&63](s,h,v,w);B=t}t=c[p>>2]|0;s=c[(c[t>>2]|0)+92>>2]|0;b[l>>1]=u;u=A;b[h>>1]=b[l>>1]|0;$g[s&7](t,h,v,w,j,y,x,z,u);z=c[u>>2]|0;x=u+8|0;if((z|0)!=(x|0)?(y=c[x>>2]|0,(y|0)!=0):0)Ng[y&63](z,c[u+12>>2]|0);u=c[20]|0;Jg[c[(c[u>>2]|0)+12>>2]&31](u,A,0,0,0);r=r+1|0;if((r|0)==(o|0)){D=B;break}else q=B}if((D|0)!=-1){D=c[e+19805856>>2]|0;Mg[c[(c[D>>2]|0)+96>>2]&63](D)}}c[m>>2]=0;c[f>>2]=n;i=g;return}function ci(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;d=a+8|0;if((b|0)!=(d|0)?(e=c[d>>2]|0,(e|0)!=0):0)Ng[e&63](b,c[a+12>>2]|0);b=c[20]|0;Jg[c[(c[b>>2]|0)+12>>2]&31](b,a,0,0,0);return}function di(d,e,f,g,h){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;i=96;j=i+96|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));b[59]=256;c[28]=65535;a[120]=1;b[61]=e;b[62]=f;if(!h){f=Po(4)|0;c[f>>2]=32344;c[8092]=f;c[20]=f;k=f}else{c[20]=h;k=h}if(!g){h=Sg[c[(c[k>>2]|0)+8>>2]&3](k,4,0,0,0)|0;c[h>>2]=32384;c[8108]=h;c[22]=h;l=c[20]|0}else{c[22]=g;l=k}k=Sg[c[(c[l>>2]|0)+8>>2]&3](l,19808e3,16,0,0)|0;Ok(k);c[1494]=k;if(Xh(k,d)|0){m=1;return m|0}d=c[20]|0;k=c[1494]|0;if(k){Ik(k+19737652|0);l=c[k+19737656>>2]|0;if(l){g=c[20]|0;Jg[c[(c[g>>2]|0)+12>>2]&31](g,l,0,0,0)}Pk(k+19697444|0);l=c[k+19697448>>2]|0;if(l){g=c[20]|0;Jg[c[(c[g>>2]|0)+12>>2]&31](g,l,0,0,0)}Qk(k+19625188|0);Qk(k+19608772|0);Jg[c[(c[d>>2]|0)+12>>2]&31](d,k,16,0,0)}c[1494]=0;k=c[8108]|0;if(k){d=c[20]|0;Mg[c[c[k>>2]>>2]&63](k);Jg[c[(c[d>>2]|0)+12>>2]&31](d,k,0,0,0);c[8108]=0}k=c[8092]|0;if(k){Mg[c[c[k>>2]>>2]&63](k);Qo(k);c[8092]=0}c[22]=0;c[20]=0;m=0;return m|0}function ei(){var a=0,b=0,d=0,e=0;a=c[1494]|0;Yh(a);b=c[20]|0;if(a){Ik(a+19737652|0);d=c[a+19737656>>2]|0;if(d){e=c[20]|0;Jg[c[(c[e>>2]|0)+12>>2]&31](e,d,0,0,0)}Pk(a+19697444|0);d=c[a+19697448>>2]|0;if(d){e=c[20]|0;Jg[c[(c[e>>2]|0)+12>>2]&31](e,d,0,0,0)}Qk(a+19625188|0);Qk(a+19608772|0);Jg[c[(c[b>>2]|0)+12>>2]&31](b,a,16,0,0)}a=c[8108]|0;if(a){b=c[20]|0;Mg[c[c[a>>2]>>2]&63](a);Jg[c[(c[b>>2]|0)+12>>2]&31](b,a,0,0,0);c[8108]=0}a=c[8092]|0;if(!a){c[22]=0;c[20]=0;return}Mg[c[c[a>>2]>>2]&63](a);Qo(a);c[8092]=0;c[22]=0;c[20]=0;return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;Rk(c[1494]|0,a,b,d);return}function gi(){var a=0;a=c[1494]|0;_h(a);return c[a+19805668>>2]|0}function hi(){var b=0;b=c[(c[1494]|0)+18732228>>2]|0;return ((a[b+18732144>>0]|0)==0?0:b+18731964|0)|0}function ii(){return c[24]|0}function ji(a){a=a|0;c[(c[1494]|0)+19805672>>2]=a;return}function ki(a,b){a=a|0;b=b|0;Sk(c[1494]|0,a,b);return}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;Tk(c[(c[(c[1494]|0)+18732228>>2]|0)+18731960>>2]|0,a,b,d,e,h);i=g;return}function mi(a,b,d){a=a|0;b=b|0;d=d|0;Uk(c[1494]|0,a,b,d);return}function ni(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=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,K=0,L=0,M=0;l=Ai(k)|0;m=a[l>>0]|0;n=d[l+1>>0]|0;o=aa(d[l+4>>0]|0,n)|0;p=o&65535;q=(f&65535)+-1+n|0;f=q-((q|0)%(n|0)|0)&65535;q=(p&65535)<(f&65535)?f:p;p=d[l+2>>0]|0;f=aa(d[l+5>>0]|0,p)|0;l=f&65535;r=(g&65535)+-1+p|0;g=r-((r|0)%(p|0)|0)&65535;r=(l&65535)<(g&65535)?g:l;l=(h&65535)>1?h:1;h=j&255;j=(h&65535)>1?h:1;h=j&255;g=i?6:1;if(!(j<<16>>16)){s=0;c[e>>2]=k;t=e+8|0;b[t>>1]=q;u=e+10|0;b[u>>1]=r;v=e+12|0;b[v>>1]=l;w=e+14|0;a[w>>0]=h;x=e+16|0;y=i&1;a[x>>0]=y;z=e+4|0;c[z>>2]=s;A=e+15|0;a[A>>0]=m;return}B=n+-1|0;C=p+-1|0;D=m&255;E=j&65535;j=l&65535;F=r&65535;G=0;H=0;I=q&65535;while(1){J=B+I|0;K=J-((J>>>0)%(n>>>0)|0)|0;J=o>>>0>K>>>0?o:K;K=C+F|0;L=K-((K>>>0)%(p>>>0)|0)|0;K=f>>>0>L>>>0?f:L;L=(j|0)==0?1:j;M=(aa((aa(aa(aa(L,D)|0,J)|0,K)|0)>>>3,g)|0)+H|0;G=G+1|0;if((G|0)==(E|0)){s=M;break}else{j=L>>>1;F=K>>>1;H=M;I=J>>>1}}c[e>>2]=k;t=e+8|0;b[t>>1]=q;u=e+10|0;b[u>>1]=r;v=e+12|0;b[v>>1]=l;w=e+14|0;a[w>>0]=h;x=e+16|0;y=i&1;a[x>>0]=y;z=e+4|0;c[z>>2]=s;A=e+15|0;a[A>>0]=m;return}function oi(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[1494]|0;i=a&255;b[h+19751108+(i<<3)>>1]=d;b[h+19751108+(i<<3)+2>>1]=e;b[h+19751108+(i<<3)+4>>1]=f<<16>>16==0?1:f;b[h+19751108+(i<<3)+6>>1]=g<<16>>16==0?1:g;return}function pi(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=+h;i=i|0;var j=0,k=0;j=c[1494]|0;k=d&255;b[j+19746756+(k<<4)+14>>1]=e;a[j+19746756+(k<<4)>>0]=f>>>24;a[j+19746756+(k<<4)+1>>0]=f>>>16;a[j+19746756+(k<<4)+2>>0]=f>>>8;a[j+19746756+(k<<4)+3>>0]=f;g[j+19746756+(k<<4)+8>>2]=h;a[j+19746756+(k<<4)+12>>0]=i;return}function qi(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[1494]|0;j=b&255;a[i+19804368+j>>0]=f;f=i+19755216+(j<<6)|0;if(!d){k=f;l=k+60|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));g[i+19755216+(j<<6)+60>>2]=1.0;g[i+19755216+(j<<6)+40>>2]=1.0;g[i+19755216+(j<<6)+20>>2]=1.0;g[f>>2]=1.0}else{k=f;m=d;l=k+64|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(l|0))}d=i+19771600+(j<<6)|0;if(!e){k=d;l=k+60|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));g[i+19771600+(j<<6)+60>>2]=1.0;g[i+19771600+(j<<6)+40>>2]=1.0;g[i+19771600+(j<<6)+20>>2]=1.0;g[d>>2]=1.0}else{k=d;m=e;l=k+64|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(l|0))}e=i+19787984+(j<<6)|0;if(!h){k=e;m=d;l=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(l|0));return}else{k=e;m=h;l=k+64|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(l|0));return}}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[(c[1494]|0)+18732228>>2]|0;g=bp(b|0,d|0,12)|0;a[f+9>>0]=a[32440+(((g&255)<<24>>24!=0&1)+(g&15))>>0]|0;g=f+14345616|0;c[g>>2]=b;c[g+4>>2]=d;c[f+14345632>>2]=e;return}function si(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[(c[1494]|0)+18732228>>2]|0;if(!a)f=0;else{g=d&65535;h=e+18540128|0;i=c[h>>2]|0;j=65536-i|0;k=g>>>0>j>>>0?j:g;c[h>>2]=k+i;Wo(e+14345824+(i<<6)|0,a|0,k<<6&4194240|0)|0;f=i}c[e+14345644>>2]=f;b[e+14345676>>1]=d;return f|0}function ti(a,d,f){a=a|0;d=d|0;f=f|0;var g=0;g=c[(c[1494]|0)+18732228>>2]|0;c[g+14345656>>2]=(c[a+8>>2]|0)+d;d=((c[a+4>>2]|0)>>>0)/((e[a+12>>1]|0)>>>0)|0;c[g+14345660>>2]=d>>>0>f>>>0?f:d;b[g+14345682>>1]=b[a+14>>1]|0;b[g+14345684>>1]=b[a+16>>1]|0;return}function ui(a){a=a|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+2|0;f=d;g=c[(c[1494]|0)+18732228>>2]|0;b[f>>1]=-1;b[e>>1]=b[f>>1]|0;f=Th(g,a,e,0)|0;i=d;return f|0}function vi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+2|0;h=f;j=c[(c[1494]|0)+18732228>>2]|0;b[h>>1]=b[d>>1]|0;b[g>>1]=b[h>>1]|0;h=Th(j,a,g,e)|0;i=f;return h|0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[1494]|0)+18732228>>2]|0;e=d+18638492|0;a[(c[e>>2]|0)+(d+18638500)>>0]=29;f=c[e>>2]|0;c[e>>2]=f+1;g=(Vo(b|0)|0)+1|0;h=g&65535;i=f+2&-2;c[e>>2]=i;f=d+18638500+i|0;a[f>>0]=h;a[f+1>>0]=h>>8;h=(c[e>>2]|0)+2|0;c[e>>2]=h;f=g&65535;Wo(d+18638500+h|0,b|0,f|0)|0;c[e>>2]=(c[e>>2]|0)+f;return}function xi(a){a=a|0;return (a|0)<17|0}function yi(a){a=a|0;return (a+-41|0)>>>0<8|0}function zi(b){b=b|0;return a[32464+(b<<3)>>0]|0}function Ai(a){a=a|0;return 32464+(a<<3)|0}function Bi(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((!(b>>>0<4|(b&3|0)!=0)?(f&15|0)==0:0)?(g&15|0)==0:0){h=b>>>2;if(!d)return;i=(h|0)==0;j=h<<4;k=f;l=g;m=0;while(1){if(i)n=l;else{o=l;p=k;q=0;while(1){r=c[p>>2]|0;s=c[p+4>>2]|0;t=c[p+8>>2]|0;u=c[p+12>>2]|0;c[o>>2]=(r<<16|r>>>16)&16711935|r&-16711936;c[o+4>>2]=(s<<16|s>>>16)&16711935|s&-16711936;c[o+8>>2]=(t<<16|t>>>16)&16711935|t&-16711936;c[o+12>>2]=(u<<16|u>>>16)&16711935|u&-16711936;q=q+1|0;if((q|0)==(h|0))break;else{o=o+16|0;p=p+16|0}}n=l+j|0}k=k+e|0;m=m+1|0;if((m|0)==(d|0))break;else l=n}return}if((b|0)==0|(d|0)==0)return;n=b<<2;l=f;f=g;g=0;while(1){m=f;k=l;j=0;while(1){h=a[k>>0]|0;i=a[k+1>>0]|0;p=a[k+3>>0]|0;a[m>>0]=a[k+2>>0]|0;a[m+1>>0]=i;a[m+2>>0]=h;a[m+3>>0]=p;j=j+1|0;if((j|0)==(b|0))break;else{m=m+4|0;k=k+4|0}}g=g+1|0;if((g|0)==(d|0))break;else{l=l+e|0;f=f+n|0}}return}function Ci(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(aa(c,a)|0)>>>3;a=g>>>0<d>>>0?g:d;if(!b)return;else{h=f;i=e;j=0}while(1){Wo(h|0,i|0,a|0)|0;j=j+1|0;if((j|0)==(b|0))break;else{h=h+g|0;i=i+d|0}}return}function Di(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;i=i+32|0;l=k;m=h?3:2;n=h?8:32;h=l;o=h+17|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(o|0));a[l+2>>0]=m;a[l+12>>0]=d;a[l+13>>0]=d>>>8;a[l+14>>0]=e;a[l+15>>0]=e>>>8;a[l+16>>0]=n;a[l+17>>0]=32;Ug[c[(c[b>>2]|0)+8>>2]&15](b,l,18)|0;l=(aa(n&255,d)|0)>>>3;if(j){j=0-f|0;if(!e){i=k;return}d=g+((aa(f,e)|0)-f)|0;n=0;while(1){Ug[c[(c[b>>2]|0)+8>>2]&15](b,d,l)|0;n=n+1|0;if((n|0)==(e|0))break;else d=d+j|0}i=k;return}if((l|0)==(f|0)){j=aa(f,e)|0;Ug[c[(c[b>>2]|0)+8>>2]&15](b,g,j)|0;i=k;return}if(!e){i=k;return}else{p=g;q=0}while(1){Ug[c[(c[b>>2]|0)+8>>2]&15](b,p,l)|0;q=q+1|0;if((q|0)==(e|0))break;else p=p+f|0}i=k;return}function Ei(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;f=e;g=d[c>>0]|0;h=d[c+1>>0]|0;j=((g&31)*255|0)+31|0;k=((j>>>5)+j|0)>>>5;a[f>>0]=k;j=(((h<<8|g)>>>5&63)*255|0)+63|0;g=((j>>>6)+j|0)>>>6;a[f+1>>0]=g;j=((h>>>3)*255|0)+31|0;h=((j>>>5)+j|0)>>>5;a[f+2>>0]=h;j=d[c+2>>0]|0;l=d[c+3>>0]|0;m=((j&31)*255|0)+31|0;n=((m>>>5)+m|0)>>>5;a[f+3>>0]=n;m=(((l<<8|j)>>>5&63)*255|0)+63|0;j=((m>>>6)+m|0)>>>6;a[f+4>>0]=j;m=((l>>>3)*255|0)+31|0;l=((m>>>5)+m|0)>>>5;a[f+5>>0]=l;m=k&255;k=n&255;a[f+6>>0]=(((m<<1)+k|0)>>>0)/3|0;n=g&255;g=j&255;a[f+7>>0]=(((n<<1)+g|0)>>>0)/3|0;j=h&255;h=l&255;a[f+8>>0]=(((j<<1)+h|0)>>>0)/3|0;a[f+9>>0]=(((k<<1)+m|0)>>>0)/3|0;a[f+10>>0]=(((g<<1)+n|0)>>>0)/3|0;a[f+11>>0]=(((h<<1)+j|0)>>>0)/3|0;j=0;h=32;while(1){n=((d[c+(h>>>3)>>0]|0)>>>(h&6)&3)*3|0;a[b+j>>0]=a[f+n>>0]|0;a[b+(j|1)>>0]=a[f+(n+1)>>0]|0;a[b+(j|2)>>0]=a[f+(n+2)>>0]|0;j=j+4|0;if(j>>>0>=64)break;else h=h+2|0}i=e;return}function Fi(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+16|0;f=e;g=d[c>>0]|0;h=d[c+1>>0]|0;j=h<<8|g;k=((g&31)*255|0)+31|0;g=((k>>>5)+k|0)>>>5;a[f>>0]=g;k=((j>>>5&63)*255|0)+63|0;l=((k>>>6)+k|0)>>>6;a[f+1>>0]=l;k=((h>>>3)*255|0)+31|0;h=((k>>>5)+k|0)>>>5;a[f+2>>0]=h;a[f+3>>0]=-1;k=d[c+2>>0]|0;m=d[c+3>>0]|0;n=m<<8|k;o=((k&31)*255|0)+31|0;k=((o>>>5)+o|0)>>>5;a[f+4>>0]=k;o=((n>>>5&63)*255|0)+63|0;p=((o>>>6)+o|0)>>>6;a[f+5>>0]=p;o=((m>>>3)*255|0)+31|0;m=((o>>>5)+o|0)>>>5;a[f+6>>0]=m;a[f+7>>0]=-1;o=g&255;if(j>>>0>n>>>0){n=k&255;a[f+8>>0]=((n+(o<<1)|0)>>>0)/3|0;j=l&255;g=p&255;a[f+9>>0]=(((j<<1)+g|0)>>>0)/3|0;q=h&255;r=m&255;a[f+10>>0]=(((q<<1)+r|0)>>>0)/3|0;a[f+11>>0]=-1;a[f+12>>0]=(((n<<1)+o|0)>>>0)/3|0;s=-1;t=((((r<<1)+q|0)>>>0)/3|0)&255;u=((((g<<1)+j|0)>>>0)/3|0)&255}else{a[f+8>>0]=((k&255)+o|0)>>>1;a[f+9>>0]=((p&255)+(l&255)|0)>>>1;a[f+10>>0]=((m&255)+(h&255)|0)>>>1;a[f+11>>0]=-1;a[f+12>>0]=0;s=0;t=0;u=0}a[f+13>>0]=u;a[f+14>>0]=t;a[f+15>>0]=s;s=0;t=32;while(1){u=(d[c+(t>>>3)>>0]|0)>>>(t&6)<<2&12;a[b+s>>0]=a[f+u>>0]|0;a[b+(s|1)>>0]=a[f+(u|1)>>0]|0;a[b+(s|2)>>0]=a[f+(u|2)>>0]|0;a[b+(s|3)>>0]=a[f+(u|3)>>0]|0;s=s+4|0;if(s>>>0>=64)break;else t=t+2|0}i=e;return}function Gi(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+16|0;f=e;g=a[c>>0]|0;a[f>>0]=g;h=a[c+1>>0]|0;a[f+1>>0]=h;j=g&255;k=h&255;if((g&255)>(h&255)){a[f+2>>0]=(((j*6|0)+k|0)>>>0)/7|0;a[f+3>>0]=(((k<<1)+(j*5|0)|0)>>>0)/7|0;l=((((k*6|0)+j|0)>>>0)/7|0)&255;m=((((k*5|0)+(j<<1)|0)>>>0)/7|0)&255;n=(((k<<2)+(j*3|0)|0)>>>0)/7|0;o=(((k*3|0)+(j<<2)|0)>>>0)/7|0}else{a[f+2>>0]=(((j<<2)+k|0)>>>0)/5|0;a[f+3>>0]=(((k<<1)+(j*3|0)|0)>>>0)/5|0;l=-1;m=0;n=(((k<<2)+j|0)>>>0)/5|0;o=(((k*3|0)+(j<<1)|0)>>>0)/5|0}a[f+4>>0]=o;a[f+5>>0]=n;a[f+6>>0]=m;a[f+7>>0]=l;l=d[c+2>>0]|0;m=d[c+5>>0]|0;n=d[c+3>>0]|0;o=n<<8;j=d[c+6>>0]|0;k=j<<8;h=d[c+4>>0]|0;g=d[c+7>>0]|0;a[b>>0]=a[f+(l&7)>>0]|0;a[b+32>>0]=a[f+(m&7)>>0]|0;a[b+4>>0]=a[f+(l>>>3&7)>>0]|0;a[b+36>>0]=a[f+(m>>>3&7)>>0]|0;a[b+8>>0]=a[f+((o|l)>>>6&7)>>0]|0;a[b+40>>0]=a[f+((k|m)>>>6&7)>>0]|0;a[b+12>>0]=a[f+(n>>>1&7)>>0]|0;a[b+44>>0]=a[f+(j>>>1&7)>>0]|0;a[b+16>>0]=a[f+(n>>>4&7)>>0]|0;a[b+48>>0]=a[f+(j>>>4&7)>>0]|0;a[b+20>>0]=a[f+((o|h<<16)>>>15&7)>>0]|0;a[b+52>>0]=a[f+((k|g<<16)>>>15&7)>>0]|0;a[b+24>>0]=a[f+(h>>>2&7)>>0]|0;a[b+56>>0]=a[f+(g>>>2&7)>>0]|0;a[b+28>>0]=a[f+(h>>>5)>>0]|0;a[b+60>>0]=a[f+(g>>>5)>>0]|0;i=e;return}function Hi(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;f=e;g=d[c>>0]|0;h=a[c+1>>0]|0;j=a[c+2>>0]|0;k=a[c+3>>0]|0;l=((g>>>1&12|g&3)*255|0)+15|0;a[f>>0]=((l>>>4)+l|0)>>>4;l=(((h&255)>>>4&255)*255|0)+15|0;a[f+1>>0]=((l>>>4)+l|0)>>>4;l=((h&15)*255|0)+15|0;a[f+2>>0]=((l>>>4)+l|0)>>>4;l=(((j&255)>>>4&255)*255|0)+15|0;h=((l>>>4)+l|0)>>>4;a[f+8>>0]=h;l=((j&15)*255|0)+15|0;j=((l>>>4)+l|0)>>>4;a[f+9>>0]=j;l=(((k&255)>>>4&255)*255|0)+15|0;g=((l>>>4)+l|0)>>>4;a[f+10>>0]=g;l=d[32856+((k&255)>>>1&7)>>0]|0;k=h&255;h=k+l|0;m=h+-255>>31;n=m&255^255|m&h;a[f+4>>0]=0-n>>31&n;n=j&255;j=n+l|0;h=j+-255>>31;m=h&255^255|h&j;a[f+5>>0]=0-m>>31&m;m=g&255;g=m+l|0;j=g+-255>>31;h=j&255^255|j&g;a[f+6>>0]=0-h>>31&h;h=k-l|0;k=h+-255>>31;g=k&255^255|k&h;a[f+12>>0]=0-g>>31&g;g=n-l|0;n=g+-255>>31;h=n&255^255|n&g;a[f+13>>0]=0-h>>31&h;h=m-l|0;l=h+-255>>31;m=l&255^255|l&h;a[f+14>>0]=0-m>>31&m;m=0;h=(d[c+6>>0]|0)<<8|(d[c+7>>0]|0);l=(d[c+4>>0]|0)<<8|(d[c+5>>0]|0);while(1){c=m<<4&48|m&12;g=(l<<1&2|h&1)<<2;a[b+c>>0]=a[f+(g|2)>>0]|0;a[b+(c|1)>>0]=a[f+(g|1)>>0]|0;a[b+(c|2)>>0]=a[f+g>>0]|0;a[b+(c|3)>>0]=-1;m=m+1|0;if((m|0)==16)break;else{h=h>>>1;l=l>>>1}}i=e;return}function Ii(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+16|0;f=e;g=d[c>>0]|0;h=d[c+1>>0]|0;j=f+1|0;k=d[c+2>>0]|0;l=f+2|0;m=f+8|0;n=d[c+3>>0]|0;o=f+9|0;p=f+10|0;q=((g>>>3&15)*255|0)+15|0;r=((q>>>4)+q|0)>>>4;a[f>>0]=r;q=((h>>>4&1|g<<1&14)*255|0)+15|0;g=((q>>>4)+q|0)>>>4;a[j>>0]=g;q=((h<<1&6|h&8|k>>>7)*255|0)+15|0;h=((q>>>4)+q|0)>>>4;a[l>>0]=h;q=((k>>>3&15)*255|0)+15|0;s=((q>>>4)+q|0)>>>4;q=s&255;a[m>>0]=q;t=((k<<1&14|n>>>7)*255|0)+15|0;k=((t>>>4)+t|0)>>>4;a[o>>0]=k;a[p>>0]=q;q=r&255;r=g&255;g=h&255;h=d[32856+((r<<8|q<<16|g)>>>0>=(k<<8&65280|s<<16&16711680|s&255)>>>0|n&6)>>0]|0;n=q-h|0;s=n+-255>>31;k=s&255^255|s&n;a[f+4>>0]=0-k>>31&k;k=r-h|0;n=k+-255>>31;s=n&255^255|n&k;a[f+5>>0]=0-s>>31&s;s=g-h|0;g=s+-255>>31;k=g&255^255|g&s;a[f+6>>0]=0-k>>31&k;k=q+h|0;q=k+-255>>31;s=q&255^255|q&k;a[f>>0]=0-s>>31&s;s=r+h|0;r=s+-255>>31;k=r&255^255|r&s;a[j>>0]=0-k>>31&k;k=(d[l>>0]|0)+h|0;j=k+-255>>31;s=j&255^255|j&k;a[l>>0]=0-s>>31&s;s=d[m>>0]|0;l=s-h|0;k=l+-255>>31;j=k&255^255|k&l;a[f+12>>0]=0-j>>31&j;j=d[o>>0]|0;l=j-h|0;k=l+-255>>31;r=k&255^255|k&l;a[f+13>>0]=0-r>>31&r;r=d[p>>0]|0;l=r-h|0;k=l+-255>>31;q=k&255^255|k&l;a[f+14>>0]=0-q>>31&q;q=s+h|0;s=q+-255>>31;l=s&255^255|s&q;a[m>>0]=0-l>>31&l;l=j+h|0;j=l+-255>>31;m=j&255^255|j&l;a[o>>0]=0-m>>31&m;m=r+h|0;h=m+-255>>31;r=h&255^255|h&m;a[p>>0]=0-r>>31&r;r=0;p=(d[c+6>>0]|0)<<8|(d[c+7>>0]|0);m=(d[c+4>>0]|0)<<8|(d[c+5>>0]|0);while(1){c=r<<4&48|r&12;h=(m<<1&2|p&1)<<2;a[b+c>>0]=a[f+(h|2)>>0]|0;a[b+(c|1)>>0]=a[f+(h|1)>>0]|0;a[b+(c|2)>>0]=a[f+h>>0]|0;a[b+(c|3)>>0]=-1;r=r+1|0;if((r|0)==16)break;else{p=p>>>1;m=m>>>1}}i=e;return}function Ji(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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;e=d[c>>0]|0;f=d[c+1>>0]|0;g=d[c+2>>0]|0;h=d[c+3>>0]|0;i=a[c+4>>0]|0;j=d[c+5>>0]|0;k=d[c+6>>0]|0;l=d[c+7>>0]|0;c=((e>>>1&63)*255|0)+63|0;m=((f>>>1&63|e<<6&64)*255|0)+127|0;e=((f<<5&32|g&24|g<<1&6|h>>>7)*255|0)+63|0;g=((h>>>1&62|h&1)*255|0)+63|0;h=(((i&255)>>>1&255)*255|0)+127|0;f=(((i&255)<<5&32|j>>>3)*255|0)+63|0;i=((j<<3&56|k>>>5)*255|0)+63|0;j=((k<<2&124|l>>>5)*255|0)+127|0;k=((l&63)*255|0)+63|0;l=((c>>>6)+c|0)>>>6&255;c=(((i>>>6)+i|0)>>>6&255)-l|0;i=((m>>>7)+m|0)>>>7&255;m=(((j>>>7)+j|0)>>>7&255)-i|0;j=((e>>>6)+e|0)>>>6&255;e=(((k>>>6)+k|0)>>>6&255)-j|0;k=((g>>>6)+g|0)>>>4&1020;g=((h>>>7)+h|0)>>>5&1020;h=((f>>>6)+f|0)>>>4&1020;f=l<<2;l=j<<2;j=i<<2;i=0;while(1){n=k<<16>>16;o=f<<16>>16;p=g<<16>>16;q=j<<16>>16;r=h<<16>>16;s=l<<16>>16;t=i<<4;u=r-s>>2;v=p-q>>2;w=n-o>>2;x=0;do{y=(x<<2)+t|0;z=(aa(x,u)|0)+s>>2;A=z+-255>>31;B=A&255^255|A&z;a[b+y>>0]=0-B>>31&B;B=(aa(x,v)|0)+q>>2;z=B+-255>>31;A=z&255^255|z&B;a[b+(y|1)>>0]=0-A>>31&A;A=(aa(x,w)|0)+o>>2;B=A+-255>>31;z=B&255^255|B&A;a[b+(y|2)>>0]=0-z>>31&z;a[b+(y|3)>>0]=-1;x=x+1|0}while((x|0)!=4);i=i+1|0;if((i|0)==4)break;else{k=n+c|0;g=p+m|0;h=r+e|0;f=o+c|0;l=s+e|0;j=q+m|0}}return}function Ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+16|0;g=f+8|0;h=f;j=d[e+3>>0]|0;k=(j&1|0)==0;l=a[e>>0]|0;do if(!(j&2)){m=a[e+1>>0]|0;n=a[e+2>>0]|0;o=(((l&255)>>>4&255)*255|0)+15|0;a[g>>0]=((o>>>4)+o|0)>>>4;o=(((m&255)>>>4&255)*255|0)+15|0;a[g+1>>0]=((o>>>4)+o|0)>>>4;o=(((n&255)>>>4&255)*255|0)+15|0;a[g+2>>0]=((o>>>4)+o|0)>>>4;o=((l&15)*255|0)+15|0;a[g+4>>0]=((o>>>4)+o|0)>>>4;o=((m&15)*255|0)+15|0;a[g+5>>0]=((o>>>4)+o|0)>>>4;o=((n&15)*255|0)+15|0;a[g+6>>0]=((o>>>4)+o|0)>>>4}else{o=(l&255)>>>3;a[g>>0]=o;n=a[e+1>>0]|0;m=(n&255)>>>3;p=g+1|0;a[p>>0]=m;q=a[e+2>>0]|0;r=(q&255)>>>3;s=g+2|0;a[s>>0]=r;t=o&255;o=t+((l&255)<<29>>29)|0;u=r&255;r=((q&255)<<29>>29)+u|0;if((o&255)>31){Hi(b,e);i=f;return}q=m&255;m=((n&255)<<29>>29)+q|0;if((m&255)>31){Ii(b,e);i=f;return}if(r>>>0<=31){n=(t*255|0)+31|0;a[g>>0]=((n>>>5)+n|0)>>>5;n=(q*255|0)+31|0;a[p>>0]=((n>>>5)+n|0)>>>5;n=(u*255|0)+31|0;a[s>>0]=((n>>>5)+n|0)>>>5;n=(o*255|0)+31|0;a[g+4>>0]=((n>>>5)+n|0)>>>5;n=(m*255|0)+31|0;a[g+5>>0]=((n>>>5)+n|0)>>>5;n=(r*255|0)+31|0;a[g+6>>0]=((n>>>5)+n|0)>>>5;break}Ji(b,e);i=f;return}while(0);c[h>>2]=j>>>5;c[h+4>>2]=j>>>2&7;j=(d[e+4>>0]|0)<<8|(d[e+5>>0]|0);l=(d[e+6>>0]|0)<<8|(d[e+7>>0]|0);if(k){k=0;e=l;n=j;while(1){r=k>>>3;m=r<<2;o=k<<4&48|k&12;s=c[32864+(c[h+(r<<2)>>2]<<4)+((n<<1&2|e&1)<<2)>>2]|0;r=(d[g+(m|2)>>0]|0)+s|0;u=r+-255>>31;p=u&255^255|u&r;a[b+o>>0]=0-p>>31&p;p=(d[g+(m|1)>>0]|0)+s|0;r=p+-255>>31;u=r&255^255|r&p;a[b+(o|1)>>0]=0-u>>31&u;u=(d[g+m>>0]|0)+s|0;s=u+-255>>31;m=s&255^255|s&u;a[b+(o|2)>>0]=0-m>>31&m;a[b+(o|3)>>0]=-1;k=k+1|0;if((k|0)==16)break;else{e=e>>>1;n=n>>>1}}i=f;return}else{n=0;e=l;l=j;while(1){j=n>>>1&1;k=j<<2;o=n<<4&48|n&12;m=c[32864+(c[h+(j<<2)>>2]<<4)+((l<<1&2|e&1)<<2)>>2]|0;j=(d[g+(k|2)>>0]|0)+m|0;u=j+-255>>31;s=u&255^255|u&j;a[b+o>>0]=0-s>>31&s;s=(d[g+(k|1)>>0]|0)+m|0;j=s+-255>>31;u=j&255^255|j&s;a[b+(o|1)>>0]=0-u>>31&u;u=(d[g+k>>0]|0)+m|0;m=u+-255>>31;k=m&255^255|m&u;a[b+(o|2)>>0]=0-k>>31&k;a[b+(o|3)>>0]=-1;n=n+1|0;if((n|0)==16)break;else{e=e>>>1;l=l>>>1}}i=f;return}}function Li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!(a&32768)){g=((a>>>8&15)*255|0)+15|0;h=f&255;i=aa(((g>>>4)+g|0)>>>4&255,h)|0;c[b>>2]=(c[b>>2]|0)+i;i=((a>>>4&15)*255|0)+15|0;g=aa(((i>>>4)+i|0)>>>4&255,h)|0;c[d>>2]=(c[d>>2]|0)+g;g=((a>>>1&7)*255|0)+7|0;i=aa(((g>>>3)+g|0)>>>3&255,h)|0;j=(c[e>>2]|0)+i|0;c[e>>2]=j;return}else{i=((a>>>10&31)*255|0)+31|0;h=f&255;f=aa(((i>>>5)+i|0)>>>5&255,h)|0;c[b>>2]=(c[b>>2]|0)+f;f=((a>>>5&31)*255|0)+31|0;b=aa(((f>>>5)+f|0)>>>5&255,h)|0;c[d>>2]=(c[d>>2]|0)+b;b=((a>>>1&15)*255|0)+15|0;a=aa(((b>>>4)+b|0)>>>4&255,h)|0;j=(c[e>>2]|0)+a|0;c[e>>2]=j;return}}function Mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if((a|0)<0){g=((a>>>26&31)*255|0)+31|0;h=f&255;i=aa(((g>>>5)+g|0)>>>5&255,h)|0;c[b>>2]=(c[b>>2]|0)+i;i=((a>>>21&31)*255|0)+31|0;g=aa(((i>>>5)+i|0)>>>5&255,h)|0;c[d>>2]=(c[d>>2]|0)+g;g=((a>>>16&31)*255|0)+31|0;i=aa(((g>>>5)+g|0)>>>5&255,h)|0;j=(c[e>>2]|0)+i|0;c[e>>2]=j;return}else{i=((a>>>24&15)*255|0)+15|0;h=f&255;f=aa(((i>>>4)+i|0)>>>4&255,h)|0;c[b>>2]=(c[b>>2]|0)+f;f=((a>>>20&15)*255|0)+15|0;b=aa(((f>>>4)+f|0)>>>4&255,h)|0;c[d>>2]=(c[d>>2]|0)+b;b=((a>>>16&15)*255|0)+15|0;a=aa(((b>>>4)+b|0)>>>4&255,h)|0;j=(c[e>>2]|0)+a|0;c[e>>2]=j;return}}function Ni(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=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;k=i;i=i+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;r=f&65535;s=(r<<8|r)&16711935;r=(s<<4|s)&252645135;s=(r<<2|r)&858993459;r=g&65535;t=(r<<8|r)&16711935;r=(t<<4|t)&252645135;t=(r<<2|r)&858993459;r=((t<<1|t)&357913941|(s<<1|s)<<1&178956970)<<3;s=(a[e+(r|7)>>0]&1)<<2;t=32992;u=(d[e+(r|2)>>0]|0)<<16|(d[e+(r|3)>>0]|0)<<24|(d[e+(r|1)>>0]|0)<<8|(d[e+r>>0]|0);r=0;while(1){v=(((((r|0)<2)<<31>>31)+g|0)>>>0)%(j>>>0)|0;w=v&65535;x=(w<<8|w)&16711935;w=(x<<4|x)&252645135;x=(w<<2|w)&858993459;w=(x<<1|x)&1431655765;x=(((v+1|0)>>>0)%(j>>>0)|0)&65535;v=(x<<8|x)&16711935;x=(v<<4|v)&252645135;v=(x<<2|x)&858993459;x=(v<<1|v)&1431655765;v=r<<2;y=t;z=u;A=0;while(1){B=(((((A|0)<2)<<31>>31)+f|0)>>>0)%(h>>>0)|0;C=B&65535;D=(C<<8|C)&16711935;C=(D<<4|D)&252645135;D=(C<<2|C)&858993459;C=(D<<1|D)<<1&-1431655766;D=(C|w)<<3;E=(d[e+(D|6)>>0]|0)<<16|(d[e+(D|7)>>0]|0)<<24|(d[e+(D|5)>>0]|0)<<8|(d[e+(D|4)>>0]|0);D=(((B+1|0)>>>0)%(h>>>0)|0)&65535;B=(D<<8|D)&16711935;D=(B<<4|B)&252645135;B=(D<<2|D)&858993459;D=(B<<1|B)<<1&-1431655766;B=(D|w)<<3;F=(d[e+(B|6)>>0]|0)<<16|(d[e+(B|7)>>0]|0)<<24|(d[e+(B|5)>>0]|0)<<8|(d[e+(B|4)>>0]|0);B=(C|x)<<3;C=(d[e+(B|6)>>0]|0)<<16|(d[e+(B|7)>>0]|0)<<24|(d[e+(B|5)>>0]|0)<<8|(d[e+(B|4)>>0]|0);B=(D|x)<<3;D=(d[e+(B|6)>>0]|0)<<16|(d[e+(B|7)>>0]|0)<<24|(d[e+(B|5)>>0]|0)<<8|(d[e+(B|4)>>0]|0);B=a[y>>0]|0;G=a[y+1>>0]|0;H=a[y+2>>0]|0;I=a[y+3>>0]|0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;Li(E,l,m,n,B);Li(F,l,m,n,G);Li(C,l,m,n,H);Li(D,l,m,n,I);c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;Mi(E,o,p,q,B);Mi(F,o,p,q,G);Mi(C,o,p,q,H);Mi(D,o,p,q,I);I=z<<2&12;D=d[33056+(s<<2)+I>>0]|0;H=aa(c[n>>2]|0,D)|0;C=d[(I|1)+(33056+(s<<2))>>0]|0;I=A+v<<2;a[b+I>>0]=((aa(c[q>>2]|0,C)|0)+H|0)>>>7;H=aa(c[m>>2]|0,D)|0;a[b+(I|1)>>0]=((aa(c[p>>2]|0,C)|0)+H|0)>>>7;H=aa(c[l>>2]|0,D)|0;a[b+(I|2)>>0]=((aa(c[o>>2]|0,C)|0)+H|0)>>>7;a[b+(I|3)>>0]=-1;I=z>>>2;A=A+1|0;if((A|0)==4){J=I;break}else{y=y+4|0;z=I}}z=r+1|0;if((z|0)==4)break;else{t=t+16|0;u=J;r=z}}i=k;return}function Oi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(!(a&32768)){h=((a>>>8&15)*255|0)+15|0;i=g&255;j=aa(((h>>>4)+h|0)>>>4&255,i)|0;c[b>>2]=(c[b>>2]|0)+j;j=((a>>>4&15)*255|0)+15|0;h=aa(((j>>>4)+j|0)>>>4&255,i)|0;c[d>>2]=(c[d>>2]|0)+h;h=((a>>>1&7)*255|0)+7|0;j=aa(((h>>>3)+h|0)>>>3&255,i)|0;c[e>>2]=(c[e>>2]|0)+j;j=((a>>>12&7)*255|0)+7|0;h=aa(((j>>>3)+j|0)>>>3&255,i)|0;k=(c[f>>2]|0)+h|0;c[f>>2]=k;return}else{h=((a>>>10&31)*255|0)+31|0;i=g&255;g=aa(((h>>>5)+h|0)>>>5&255,i)|0;c[b>>2]=(c[b>>2]|0)+g;g=((a>>>5&31)*255|0)+31|0;b=aa(((g>>>5)+g|0)>>>5&255,i)|0;c[d>>2]=(c[d>>2]|0)+b;b=((a>>>1&15)*255|0)+15|0;a=aa(((b>>>4)+b|0)>>>4&255,i)|0;c[e>>2]=(c[e>>2]|0)+a;k=(c[f>>2]|0)+255|0;c[f>>2]=k;return}}function Pi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if((a|0)<0){h=((a>>>26&31)*255|0)+31|0;i=g&255;j=aa(((h>>>5)+h|0)>>>5&255,i)|0;c[b>>2]=(c[b>>2]|0)+j;j=((a>>>21&31)*255|0)+31|0;h=aa(((j>>>5)+j|0)>>>5&255,i)|0;c[d>>2]=(c[d>>2]|0)+h;h=((a>>>16&31)*255|0)+31|0;j=aa(((h>>>5)+h|0)>>>5&255,i)|0;c[e>>2]=(c[e>>2]|0)+j;k=(c[f>>2]|0)+255|0;c[f>>2]=k;return}else{j=((a>>>24&15)*255|0)+15|0;i=g&255;g=aa(((j>>>4)+j|0)>>>4&255,i)|0;c[b>>2]=(c[b>>2]|0)+g;g=((a>>>20&15)*255|0)+15|0;b=aa(((g>>>4)+g|0)>>>4&255,i)|0;c[d>>2]=(c[d>>2]|0)+b;b=((a>>>16&15)*255|0)+15|0;d=aa(((b>>>4)+b|0)>>>4&255,i)|0;c[e>>2]=(c[e>>2]|0)+d;d=((a>>>28&7)*255|0)+7|0;a=aa(((d>>>3)+d|0)>>>3&255,i)|0;k=(c[f>>2]|0)+a|0;c[f>>2]=k;return}}function Qi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=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,K=0,L=0;k=i;i=i+32|0;l=k+28|0;m=k+24|0;n=k+20|0;o=k+16|0;p=k+12|0;q=k+8|0;r=k+4|0;s=k;t=f&65535;u=(t<<8|t)&16711935;t=(u<<4|u)&252645135;u=(t<<2|t)&858993459;t=g&65535;v=(t<<8|t)&16711935;t=(v<<4|v)&252645135;v=(t<<2|t)&858993459;t=((v<<1|v)&357913941|(u<<1|u)<<1&178956970)<<3;u=(a[e+(t|7)>>0]&1)<<2;v=32992;w=(d[e+(t|2)>>0]|0)<<16|(d[e+(t|3)>>0]|0)<<24|(d[e+(t|1)>>0]|0)<<8|(d[e+t>>0]|0);t=0;while(1){x=(((((t|0)<2)<<31>>31)+g|0)>>>0)%(j>>>0)|0;y=x&65535;z=(y<<8|y)&16711935;y=(z<<4|z)&252645135;z=(y<<2|y)&858993459;y=(z<<1|z)&1431655765;z=(((x+1|0)>>>0)%(j>>>0)|0)&65535;x=(z<<8|z)&16711935;z=(x<<4|x)&252645135;x=(z<<2|z)&858993459;z=(x<<1|x)&1431655765;x=t<<2;A=v;B=w;C=0;while(1){D=(((((C|0)<2)<<31>>31)+f|0)>>>0)%(h>>>0)|0;E=D&65535;F=(E<<8|E)&16711935;E=(F<<4|F)&252645135;F=(E<<2|E)&858993459;E=(F<<1|F)<<1&-1431655766;F=(E|y)<<3;G=(d[e+(F|6)>>0]|0)<<16|(d[e+(F|7)>>0]|0)<<24|(d[e+(F|5)>>0]|0)<<8|(d[e+(F|4)>>0]|0);F=(((D+1|0)>>>0)%(h>>>0)|0)&65535;D=(F<<8|F)&16711935;F=(D<<4|D)&252645135;D=(F<<2|F)&858993459;F=(D<<1|D)<<1&-1431655766;D=(F|y)<<3;H=(d[e+(D|6)>>0]|0)<<16|(d[e+(D|7)>>0]|0)<<24|(d[e+(D|5)>>0]|0)<<8|(d[e+(D|4)>>0]|0);D=(E|z)<<3;E=(d[e+(D|6)>>0]|0)<<16|(d[e+(D|7)>>0]|0)<<24|(d[e+(D|5)>>0]|0)<<8|(d[e+(D|4)>>0]|0);D=(F|z)<<3;F=(d[e+(D|6)>>0]|0)<<16|(d[e+(D|7)>>0]|0)<<24|(d[e+(D|5)>>0]|0)<<8|(d[e+(D|4)>>0]|0);D=a[A>>0]|0;I=a[A+1>>0]|0;J=a[A+2>>0]|0;K=a[A+3>>0]|0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;Oi(G,l,m,n,o,D);Oi(H,l,m,n,o,I);Oi(E,l,m,n,o,J);Oi(F,l,m,n,o,K);c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;Pi(G,p,q,r,s,D);Pi(H,p,q,r,s,I);Pi(E,p,q,r,s,J);Pi(F,p,q,r,s,K);K=B<<2&12;F=a[(K|2)+(33056+(u<<2))>>0]|0;J=a[(K|3)+(33056+(u<<2))>>0]|0;E=d[33056+(u<<2)+K>>0]|0;I=aa(c[n>>2]|0,E)|0;H=d[(K|1)+(33056+(u<<2))>>0]|0;K=C+x<<2;a[b+K>>0]=((aa(c[r>>2]|0,H)|0)+I|0)>>>7;I=aa(c[m>>2]|0,E)|0;a[b+(K|1)>>0]=((aa(c[q>>2]|0,H)|0)+I|0)>>>7;I=aa(c[l>>2]|0,E)|0;a[b+(K|2)>>0]=((aa(c[p>>2]|0,H)|0)+I|0)>>>7;I=aa(c[o>>2]|0,F&255)|0;a[b+(K|3)>>0]=((aa(c[s>>2]|0,J&255)|0)+I|0)>>>7;I=B>>>2;C=C+1|0;if((C|0)==4){L=I;break}else{A=A+4|0;B=I}}B=t+1|0;if((B|0)==4)break;else{v=v+16|0;w=L;t=B}}i=k;return}function Ri(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=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=i;i=i+112|0;f=e+96|0;g=e+92|0;h=e+88|0;j=e+84|0;k=e+76|0;l=e+72|0;m=e+64|0;n=e+60|0;o=e+56|0;p=e+40|0;q=e+24|0;r=e+16|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;if((c[f>>2]|0)>>>0<124){s=0;i=e;return s|0}Ug[c[(c[d>>2]|0)+8>>2]&15](d,g,4)|0;if((c[g>>2]&4103|0)!=4103){s=0;i=e;return s|0}Ug[c[(c[d>>2]|0)+8>>2]&15](d,h,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,j,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+80|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,k,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,l,4)|0;g=d+4|0;dh[c[(c[g>>2]|0)+8>>2]&15](g,44,0,1)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+68|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,m,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,n,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,o,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,p,16)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,q,16)|0;dh[c[(c[g>>2]|0)+8>>2]&15](g,4,0,1)|0;c[r>>2]=0;if((c[m>>2]|0)==4&(c[n>>2]|0)==808540228){Ug[c[(c[d>>2]|0)+8>>2]&15](d,r,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+12|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+8|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+4|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e,4)|0}if(!(c[q>>2]&4096)){s=0;i=e;return s|0}d=c[q+4>>2]|0;f=d&512;if(!((f|0)==0|(d&64512|0)==64512)){s=0;i=e;return s|0}d=c[m>>2]|0;m=d&1;t=c[r>>2]|0;a:do if(!t){if(!(d&4)){r=c[o>>2]|0;u=c[p>>2]|0;v=c[p+4>>2]|0;w=c[p+8>>2]|0;x=c[p+12>>2]|0;y=0;while(1){if(((((c[33440+(y*24|0)>>2]|0)==(r|0)?(c[33440+(y*24|0)+4>>2]|0)==(u|0):0)?(c[33440+(y*24|0)+8>>2]|0)==(v|0):0)?(c[33440+(y*24|0)+12>>2]|0)==(w|0):0)?(c[33440+(y*24|0)+16>>2]|0)==(x|0):0){z=y;break}y=y+1|0;if(y>>>0>=10){A=17;B=0;break a}}A=c[33440+(z*24|0)+20>>2]|0;B=0;break}y=c[n>>2]|0;do if((y|0)!=827611204)if((y|0)!=844388420)if((y|0)!=861165636)if((y|0)!=877942852)if((y|0)!=894720068)if((y|0)!=826889281)if((y|0)!=1429488450)if((y|0)!=843666497)if((y|0)!=1429553986)if((y|0)!=36)if((y|0)!=113){if((y|0)==65){C=11;break}if((y|0)==32){C=12;break}if((y|0)==131072){C=13;break}if((y|0)==2){C=14;break}if((y|0)==111){C=15;break}if((y|0)==114){C=16;break}if((y|0)==51){C=17;break}if((y|0)==34){C=18;break}if((y|0)==112){C=19;break}if((y|0)==115){C=20;break}if((y|0)==21){C=21;break}if((y|0)==116){C=24;break}if((y|0)==23){C=25;break}if((y|0)==26){C=26;break}if((y|0)==25){C=27;break}if((y|0)==31)C=28;else{A=17;B=0;break a}}else C=10;else C=9;else C=8;else C=7;else C=6;else C=5;else C=4;else C=3;else C=2;else C=1;else C=0;while(0);A=c[33088+(C*12|0)+4>>2]|0;B=0}else{y=0;while(1){if((c[33680+(y*12|0)>>2]|0)==(t|0)){D=y;break}y=y+1|0;if(y>>>0>=35){A=17;B=0;break a}}A=c[33680+(D*12|0)+4>>2]|0;B=a[33680+(D*12|0)+8>>0]|0}while(0);c[b>>2]=0;c[b+4>>2]=0;D=dh[c[(c[g>>2]|0)+8>>2]&15](g,0,0,1)|0;c[b+8>>2]=D;c[b+12>>2]=c[j>>2];c[b+16>>2]=c[h>>2];c[b+20>>2]=c[k>>2];a[b+24>>0]=A;a[b+25>>0]=(c[q>>2]&4194304|0)!=0?c[l>>2]&255:1;a[b+26>>0]=m;a[b+27>>0]=f>>>9;a[b+28>>0]=0;a[b+29>>0]=B;s=(A|0)!=17;i=e;return s|0}function Si(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+16|0;f=e+4|0;g=e+8|0;h=e;Ug[c[(c[d>>2]|0)+8>>2]&15](d,g,8)|0;if((a[g+1>>0]|0)!=49?(a[g+2>>0]|0)!=49:0){j=0;i=e;return j|0}Ug[c[(c[d>>2]|0)+8>>2]&15](d,h,4)|0;g=(c[h>>2]|0)==67305985;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;h=c[f>>2]|0;k=dp(h|0)|0;l=g?h:k;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;k=c[f>>2]|0;h=dp(k|0)|0;m=g?k:h;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;h=c[f>>2]|0;k=dp(h|0)|0;n=g?h:k;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;k=c[f>>2]|0;h=dp(k|0)|0;o=g?k:h;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;h=c[f>>2]|0;k=dp(h|0)|0;p=g?h:k;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;k=c[f>>2]|0;h=g?k:k>>>24;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,4)|0;k=c[f>>2]|0;f=dp(k|0)|0;q=d+4|0;d=dh[c[(c[q>>2]|0)+8>>2]&15](q,g?k:f,0,1)|0;f=0;while(1){if((c[34104+(f<<3)>>2]|0)==(l|0)){r=f;s=5;break}f=f+1|0;if(f>>>0>=36){t=17;break}}if((s|0)==5)t=c[34104+(r<<3)+4>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[b+12>>2]=m;c[b+16>>2]=n;c[b+20>>2]=o;a[b+24>>0]=t;a[b+25>>0]=h;a[b+26>>0]=0;a[b+27>>0]=p>>>0>1&1;a[b+28>>0]=1;j=(t|0)!=17;i=e;return j|0}function Ti(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+48|0;f=e;g=e+40|0;h=e+36|0;j=e+32|0;k=e+28|0;l=e+24|0;m=e+16|0;n=e+12|0;o=e+8|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+44|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,f,8)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,g,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,h,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,j,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,k,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,l,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,e+20|0,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,m,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,n,4)|0;Ug[c[(c[d>>2]|0)+8>>2]&15](d,o,4)|0;p=(d|0)==0?0:d+4|0;d=dh[c[(c[p>>2]|0)+8>>2]&15](p,c[o>>2]|0,0,1)|0;o=f;f=c[o>>2]|0;p=c[o+4>>2]|0;o=c[h>>2]|0;h=0;while(1){q=34392+(h<<4)|0;if(((c[q>>2]|0)==(f|0)?(c[q+4>>2]|0)==(p|0):0)?(o|0)==(c[34392+(h<<4)+8>>2]&o|0):0){r=h;s=4;break}h=h+1|0;if(h>>>0>=33){t=17;break}}if((s|0)==4)t=c[34392+(r<<4)+12>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[b+12>>2]=c[k>>2];c[b+16>>2]=c[j>>2];c[b+20>>2]=c[l>>2];a[b+24>>0]=t;a[b+25>>0]=c[n>>2];a[b+26>>0]=0;a[b+27>>0]=(c[m>>2]|0)>>>0>1&1;a[b+28>>0]=0;a[b+29>>0]=(c[g>>2]|0)!=0&1;i=e;return (t|0)!=17|0}function Ui(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+20|0;h=f;Ug[c[(c[d>>2]|0)+8>>2]&15](d,g,4)|0;j=c[g>>2]|0;if((j|0)==1481919403){k=Si(b,d)|0;i=f;return k|0}else if((j|0)==5784916){Ug[c[(c[d>>2]|0)+8>>2]&15](d,h,20)|0;a[b+24>>0]=a[h+13>>0]|0;c[b+8>>2]=-1;g=c[h+16>>2]|0;if(!g){c[b>>2]=0;l=0}else{c[b>>2]=c[g>>2];l=c[g+4>>2]|0}c[b+4>>2]=l;l=c[h+4>>2]|0;c[b+12>>2]=l&65535;c[b+16>>2]=l>>>16;c[b+20>>2]=e[h+10>>1];l=c[h+12>>2]|0;a[b+25>>0]=l;a[b+26>>0]=0;a[b+27>>0]=l>>>16;a[b+28>>0]=0;a[b+29>>0]=0;k=1;i=f;return k|0}else if((j|0)==542327876){k=Ri(b,d)|0;i=f;return k|0}else if((j|0)==55727696){k=Ti(b,d)|0;i=f;return k|0}else{k=0;i=f;return k|0}return 0}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;c[f>>2]=34928;c[f+4>>2]=34952;c[f+8>>2]=b;b=f+16|0;c[b>>2]=0;c[b+4>>2]=0;b=f+24|0;c[b>>2]=d;c[b+4>>2]=0;b=Ui(a,f)|0;i=e;return b|0}function Wi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=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,K=0,L=0,M=0.0,N=0.0,O=0;k=i;i=i+64|0;l=k;m=f>>>2;n=g>>>2;do switch(j&255|0){case 1:{if(!n){i=k;return}o=(m|0)==0;p=l+16|0;q=h<<1;r=l+32|0;s=h*3|0;t=l+48|0;u=m<<4;v=e;w=0;while(1){if(o)x=v;else{y=aa(w,h)|0;z=v;A=0;do{B=0;do{C=(((d[z+(B>>>3)>>0]|0)>>>(B&4)&15)*255|0)+15|0;a[l+(B|3)>>0]=((C>>>4)+C|0)>>>4;B=B+4|0}while(B>>>0<64);Ei(l,z+8|0);z=z+16|0;B=(A<<2)+y<<2;D=b+B|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+h)|0;E=p;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+q)|0;E=r;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+s)|0;E=t;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));A=A+1|0}while((A|0)!=(m|0));x=v+u|0}w=w+1|0;if((w|0)==(n|0))break;else v=x}i=k;return}case 3:{if(!n){i=k;return}v=(m|0)==0;w=l+16|0;u=h<<1;t=l+32|0;s=h*3|0;r=l+48|0;q=m<<3;p=e;o=0;while(1){if(v)G=p;else{A=aa(o,h)|0;y=p;z=0;do{Gi(l,y);y=y+8|0;B=(z<<2)+A<<2;D=b+B|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+h)|0;E=w;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+u)|0;E=t;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+s)|0;E=r;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));z=z+1|0}while((z|0)!=(m|0));G=p+q|0}o=o+1|0;if((o|0)==(n|0))break;else p=G}i=k;return}case 13:{if((f|0)==0|(g|0)==0){i=k;return}p=b;o=0;while(1){q=p;r=0;while(1){c[q>>2]=((r^o)&16|0)!=0?-256:-16777216;r=r+1|0;if((r|0)==(f|0))break;else q=q+4|0}o=o+1|0;if((o|0)==(g|0))break;else p=p+(f<<2)|0}i=k;return}case 0:{if(!n){i=k;return}p=(m|0)==0;o=l+16|0;q=h<<1;r=l+32|0;s=h*3|0;t=l+48|0;u=m<<3;w=e;v=0;while(1){if(p)H=w;else{z=aa(v,h)|0;A=w;y=0;do{Fi(l,A);A=A+8|0;B=(y<<2)+z<<2;D=b+B|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+h)|0;E=o;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+q)|0;E=r;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+s)|0;E=t;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));y=y+1|0}while((y|0)!=(m|0));H=w+u|0}v=v+1|0;if((v|0)==(n|0))break;else w=H}i=k;return}case 8:case 7:{if(!n){i=k;return}w=(m|0)==0;v=l+16|0;u=h<<1;t=l+32|0;s=h*3|0;r=l+48|0;q=m<<3;o=e;p=0;while(1){if(w)I=o;else{y=aa(p,h)|0;z=o;A=0;do{Ki(l,z);z=z+8|0;B=(A<<2)+y<<2;D=b+B|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+h)|0;E=v;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+u)|0;E=t;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+s)|0;E=r;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));A=A+1|0}while((A|0)!=(m|0));I=o+q|0}p=p+1|0;if((p|0)==(n|0))break;else o=I}i=k;return}case 14:{if(!n){i=k;return}o=(m|0)==0;p=l+16|0;q=h<<1;r=l+32|0;s=h*3|0;t=l+48|0;u=0;do{if(!o){v=aa(u,h)|0;w=0;do{Qi(l,e,w,u,m,n);A=(w<<2)+v<<2;D=b+A|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(A+h)|0;E=p;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(A+q)|0;E=r;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(A+s)|0;E=t;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));w=w+1|0}while((w|0)!=(m|0))}u=u+1|0}while((u|0)!=(n|0));i=k;return}case 4:{if(!n){i=k;return}u=(m|0)==0;t=l+1|0;s=l+2|0;r=l+16|0;q=h<<1;p=l+32|0;o=h*3|0;w=l+48|0;v=m<<4;A=e;y=0;while(1){if(u)J=A;else{z=aa(y,h)|0;B=A;C=0;do{Gi(t,B);Gi(s,B+8|0);K=0;do{L=K<<2;M=+(d[l+(L|2)>>0]|0|0)*2.0/255.0+-1.0;N=+(d[l+(L|1)>>0]|0|0)*2.0/255.0+-1.0;a[l+L>>0]=~~((+Q(+(1.0-M*M-N*N))+1.0)*255.0*.5);a[l+(L|3)>>0]=0;K=K+1|0}while((K|0)!=16);B=B+16|0;K=(C<<2)+z<<2;D=b+K|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(K+h)|0;E=r;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(K+q)|0;E=p;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(K+o)|0;E=w;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));C=C+1|0}while((C|0)!=(m|0));J=A+v|0}y=y+1|0;if((y|0)==(n|0))break;else A=J}i=k;return}case 2:{if(!n){i=k;return}A=(m|0)==0;y=l+3|0;v=l+16|0;w=h<<1;o=l+32|0;p=h*3|0;q=l+48|0;r=m<<4;s=e;t=0;while(1){if(A)O=s;else{u=aa(t,h)|0;C=s;z=0;do{Gi(y,C);Ei(l,C+8|0);C=C+16|0;B=(z<<2)+u<<2;D=b+B|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+h)|0;E=v;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+w)|0;E=o;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(B+p)|0;E=q;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));z=z+1|0}while((z|0)!=(m|0));O=s+r|0}t=t+1|0;if((t|0)==(n|0))break;else s=O}i=k;return}case 9:{if((f|0)==0|(g|0)==0){i=k;return}s=b;t=0;while(1){r=s;q=0;while(1){c[r>>2]=((q^t)&16|0)!=0?-16711936:-16777216;q=q+1|0;if((q|0)==(f|0))break;else r=r+4|0}t=t+1|0;if((t|0)==(g|0))break;else s=s+(f<<2)|0}i=k;return}case 10:{if((f|0)==0|(g|0)==0){i=k;return}s=b;t=0;while(1){r=s;q=0;while(1){c[r>>2]=((q^t)&16|0)!=0?-65536:-16777216;q=q+1|0;if((q|0)==(f|0))break;else r=r+4|0}t=t+1|0;if((t|0)==(g|0))break;else s=s+(f<<2)|0}i=k;return}case 12:{if(!n){i=k;return}s=(m|0)==0;t=l+16|0;r=h<<1;q=l+32|0;p=h*3|0;o=l+48|0;w=0;do{if(!s){v=aa(w,h)|0;y=0;do{Ni(l,e,y,w,m,n);A=(y<<2)+v<<2;D=b+A|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(A+h)|0;E=t;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(A+r)|0;E=q;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));D=b+(A+p)|0;E=o;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));y=y+1|0}while((y|0)!=(m|0))}w=w+1|0}while((w|0)!=(n|0));i=k;return}case 15:{if((f|0)==0|(g|0)==0){i=k;return}w=b;o=0;while(1){p=w;q=0;while(1){c[p>>2]=((q^o)&16|0)!=0?-16776961:-16711936;q=q+1|0;if((q|0)==(f|0))break;else p=p+4|0}o=o+1|0;if((o|0)==(g|0))break;else w=w+(f<<2)|0}i=k;return}case 16:{if((f|0)==0|(g|0)==0){i=k;return}w=b;o=0;while(1){p=w;q=0;while(1){c[p>>2]=((q^o)&16|0)!=0?-1:-16777216;q=q+1|0;if((q|0)==(f|0))break;else p=p+4|0}o=o+1|0;if((o|0)==(g|0))break;else w=w+(f<<2)|0}i=k;return}case 30:{Bi(f,g,h,e,b);i=k;return}case 29:{Wo(b|0,e|0,aa(h,g)|0)|0;i=k;return}case 11:{if((f|0)==0|(g|0)==0){i=k;return}w=b;o=0;while(1){p=w;q=0;while(1){c[p>>2]=((q^o)&16|0)!=0?-65281:-16777216;q=q+1|0;if((q|0)==(f|0))break;else p=p+4|0}o=o+1|0;if((o|0)==(g|0))break;else w=w+(f<<2)|0}i=k;return}default:{if((f|0)==0|(g|0)==0){i=k;return}w=b;o=0;while(1){p=w;q=0;while(1){c[p>>2]=((q^o)&16|0)!=0?-256:-65536;q=q+1|0;if((q|0)==(f|0))break;else p=p+4|0}o=o+1|0;if((o|0)==(g|0))break;else w=w+(f<<2)|0}i=k;return}}while(0)}function Xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=f&255;if((g|0)==30){Wo(a|0,b|0,aa(e,d)|0)|0;return}else if((g|0)==29){Bi(c,d,e,b,a);return}else{Wi(a,b,c,d,e,f);Bi(c,d,e,a,a);return}}function Yi(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;h=c[b+8>>2]|0;j=a[b+24>>0]|0;k=j&255;l=a[b+26>>0]|0;m=a[32464+(k<<3)>>0]|0;n=d[32464+(k<<3)+3>>0]|0;o=d[32464+(k<<3)+1>>0]|0;p=d[32464+(k<<3)+2>>0]|0;q=d[32464+(k<<3)+4>>0]|0;r=d[32464+(k<<3)+5>>0]|0;if((h|0)==-1){k=c[b>>2]|0;if(!k){s=0;return s|0}else{t=k;u=0}}else{t=g;u=h}h=(a[b+27>>0]|0)!=0?6:1;g=c[b+12>>2]|0;k=c[b+16>>2]|0;v=c[b+20>>2]|0;w=a[b+25>>0]|0;x=w<<24>>24==0;y=(a[b+28>>0]|0)!=0?4:0;b=aa(q,o)|0;q=o+-1|0;z=aa(r,p)|0;r=p+-1|0;A=m&255;B=u;u=0;a:while(1){b:do if(x)C=B;else{if(u<<24>>24==e<<24>>24){D=v;E=k;F=0;G=B;H=g}else{I=v;J=k;K=0;L=B;M=g;while(1){N=q+M|0;O=N-((N>>>0)%(o>>>0)|0)|0;N=b>>>0>O>>>0?b:O;O=r+J|0;P=O-((O>>>0)%(p>>>0)|0)|0;O=z>>>0>P>>>0?z:P;P=(I|0)==0?1:I;Q=((aa(aa(aa(P,A)|0,N)|0,O)|0)>>>3)+(y+L)|0;K=K+1<<24>>24;if((K&255)>=(w&255)){C=Q;break b}else{I=P>>>1;J=O>>>1;L=Q;M=N>>>1}}}while(1){M=y+G|0;L=q+H|0;J=L-((L>>>0)%(o>>>0)|0)|0;L=b>>>0>J>>>0?b:J;J=r+E|0;I=J-((J>>>0)%(p>>>0)|0)|0;J=z>>>0>I>>>0?z:I;I=(D|0)==0?1:D;K=(aa(aa(aa(I,A)|0,L)|0,J)|0)>>>3;if(F<<24>>24==f<<24>>24){R=M;S=L;T=J;U=K;break a}N=K+M|0;F=F+1<<24>>24;if((F&255)>=(w&255)){C=N;break}else{D=I>>>1;E=J>>>1;G=N;H=L>>>1}}}while(0);u=u+1<<24>>24;if((u&255)>>>0>=h>>>0){s=0;V=11;break}else B=C}if((V|0)==11)return s|0;c[i>>2]=S;c[i+4>>2]=T;c[i+8>>2]=n;c[i+12>>2]=U;c[i+20>>2]=t+R;a[i+16>>0]=m;a[i+17>>0]=j;a[i+18>>0]=l;s=1;return s|0}function Zi(){return 0}function _i(){return}function $i(){return 0}function aj(){return}function bj(){return 0}function cj(){return}function dj(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=i;i=i+1024|0;d=c;if(!b){i=c;return}e=Vo(b|0)|0;f=b+e|0;if((e|0)>0){e=b;do{b=Vn(e,32)|0;if(!b){g=Vo(e|0)|0;h=g>>>0<1024?g:1024}else{g=b-e|0;h=g>>>0<1024?g:1024}ap(d|0,e|0,h|0)|0;a[d+h>>0]=0;e=e+(h+1)|0}while(e>>>0<f>>>0)}i=c;return}function ej(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;return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[(b?34984+(a*20|0)+4|0:34984+(a*20|0)|0)>>2]|0;b=((zi(a)|0)&255)<<5;f=i;i=i+((1*b|0)+15&-16)|0;if(xi(a)|0){Jd(3553,0,e|0,16,16,0,b|0,f|0);i=d;return}else{Se(3553,0,e|0,16,16,0,c[34984+(a*20|0)+8>>2]|0,c[34984+(a*20|0)+12>>2]|0,f|0);i=d;return}}function gj(){var a=0,b=0;a=c[20]|0;b=Sg[c[(c[a>>2]|0)+8>>2]&3](a,595368,0,0,0)|0;Xk(b);c[60]=b;Yk(b);return c[60]|0}function hj(){var a=0,b=0;Zk(c[60]|0);a=c[20]|0;b=c[60]|0;if(!b){c[60]=0;return}Mg[c[c[b>>2]>>2]&63](b);Jg[c[(c[a>>2]|0)+12>>2]&31](a,b,0,0,0);c[60]=0;return}function ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+1040|0;g=f+8|0;h=f+4|0;j=f;k=jd()|0;c[b>>2]=k;l=c[d+8>>2]|0;m=c[e+8>>2]|0;n=c[60]|0;o=n+595248|0;p=c[o>>2]^m;q=c[o+4>>2]^l;if((a[n+595239>>0]|0)!=0?(n=c[22]|0,o=Ug[c[(c[n>>2]|0)+16>>2]&15](n,p,q)|0,(o|0)!=0):0){n=c[20]|0;r=Sg[c[(c[n>>2]|0)+8>>2]&3](n,o,0,0,0)|0;n=c[22]|0;if(Sg[c[(c[n>>2]|0)+20>>2]&3](n,p,q,r,o)|0){q=(o|0)<0?2147483647:o;p=q>>>0<4?q:4;Wo(g|0,r|0,p|0)|0;jh[c[608>>2]&63](k,c[g>>2]|0,r+p|0,o-p|0)}p=c[20]|0;Jg[c[(c[p>>2]|0)+12>>2]&31](p,r,0,0,0);jj(b);i=f;return}c[j>>2]=0;r=c[d>>2]|0;do if(r){gd(c[b>>2]|0,r|0);p=c[e>>2]|0;if(p)gd(c[b>>2]|0,p|0);md(c[b>>2]|0);bf(c[b>>2]|0,35714,j|0);if((c[j>>2]|0)==0?(lc(c[b>>2]|0,1024,0,g|0),(c[j>>2]|0)==0):0)break;p=c[60]|0;o=c[b>>2]|0;k=p+595248|0;q=c[k>>2]^m;n=c[k+4>>2]^l;if((a[p+595239>>0]|0)!=0?(bf(o|0,34625,g|0),p=c[g>>2]|0,(p|0)>0):0){k=p+4|0;p=c[20]|0;s=Sg[c[(c[p>>2]|0)+8>>2]&3](p,k,0,0,0)|0;Jg[c[600>>2]&31](o,c[g>>2]|0,0,h,s+4|0);c[s>>2]=c[h>>2];o=c[22]|0;Jg[c[(c[o>>2]|0)+24>>2]&31](o,q,n,s,k);k=c[20]|0;Jg[c[(c[k>>2]|0)+12>>2]&31](k,s,0,0,0)}jj(b);ud(c[b>>2]|0,c[d>>2]|0);s=c[e>>2]|0;if(!s){i=f;return}ud(c[b>>2]|0,s|0);i=f;return}while(0);Kd(c[b>>2]|0);a[b+4>>0]=16;c[b>>2]=0;i=f;return}function jj(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;f=i;i=i+80|0;g=f+70|0;h=f+64|0;j=f+60|0;k=f+56|0;l=f+52|0;m=f+48|0;n=f+44|0;o=f+40|0;p=f+28|0;q=f+16|0;r=f+12|0;s=f+8|0;t=f+68|0;u=f+4|0;v=f;c[h>>2]=0;c[j>>2]=0;c[k>>2]=0;w=(a[36252]|0)!=0&(a[36292]|0)!=0;if(w){jh[c[792>>2]&63](c[e>>2]|0,37603,37621,h);jh[c[792>>2]&63](c[e>>2]|0,37601,37621,j);jh[c[792>>2]&63](c[e>>2]|0,37605,37621,k);x=e}else{bf(c[e>>2]|0,35721,h|0);bf(c[e>>2]|0,35718,j|0);x=e}bf(c[x>>2]|0,35722,l|0);bf(c[x>>2]|0,35719,m|0);y=c[l>>2]|0;l=c[m>>2]|0;m=(y>>>0>l>>>0?y:l)+1|0;l=i;i=i+((1*m|0)+15&-16)|0;if((c[h>>2]|0)>0){y=0;do{we(c[x>>2]|0,y|0,m|0,0,n|0,o|0,l|0);y=y+1|0}while((y|0)<(c[h>>2]|0))}h=e+280|0;a[h>>0]=0;y=e+176|0;a[y>>0]=0;a:do if((c[j>>2]|0)>0){o=p+4|0;n=p+8|0;z=e+180|0;A=0;while(1){c[q>>2]=c[9286];c[q+4>>2]=c[9287];c[q+8>>2]=c[9288];if(w){Vg[c[808>>2]&7](c[x>>2]|0,37601,A,3,q,3,0,p);Wg[c[816>>2]&7](c[x>>2]|0,37601,A,m,0,l);c[r>>2]=c[p>>2];B=c[o>>2]|0;C=c[n>>2]|0;c[s>>2]=C;D=C;E=B}else{kf(c[x>>2]|0,A|0,m|0,0,s|0,r|0,l|0);B=Ff(c[x>>2]|0,l|0)|0;D=c[s>>2]|0;E=B}c[s>>2]=D>>>0>1?D:1;B=Vn(l,91)|0;if((B|0)!=0?(a[B>>0]=0,C=Vn(B+1|0,93)|0,(C|0)!=0):0)a[C>>0]=0;switch(c[r>>2]|0){case 36966:case 36955:case 36944:case 36964:case 36953:case 36942:case 36963:case 36952:case 36941:case 36962:case 36951:case 36940:case 35682:case 36308:case 36300:case 35680:case 36307:case 36299:case 35679:case 36306:case 36298:case 35678:{c[e+112+(d[y>>0]<<2)>>2]=E;a[y>>0]=(a[y>>0]|0)+1<<24>>24;break}default:{}}C=Sh(l)|0;if((C|0)==12){B=_k((c[60]|0)+593036|0,l)|0;if(B){F=c[z>>2]|0;if(!F){G=c[20]|0;H=Sg[c[(c[G>>2]|0)+8>>2]&3](G,1024,0,0,0)|0;c[H>>2]=1016;G=H+8|0;a[G>>0]=1;a[G+1>>0]=0;a[G+2>>0]=0;a[G+3>>0]=0;c[H+4>>2]=0;c[z>>2]=H;I=H}else I=F;F=c[r>>2]|0;if((F|0)==35666|(F|0)==35665|(F|0)==35664|(F|0)==5126)J=2;else if((F|0)==35675)J=3;else if((F|0)==35676)J=4;else if((F|0)==36955|(F|0)==36944|(F|0)==36964|(F|0)==36953|(F|0)==36942|(F|0)==36963|(F|0)==36952|(F|0)==36941|(F|0)==36962|(F|0)==36951|(F|0)==36940|(F|0)==35682|(F|0)==36308|(F|0)==36300|(F|0)==35680|(F|0)==36307|(F|0)==36299|(F|0)==35679|(F|0)==36306|(F|0)==36298|(F|0)==35678|(F|0)==36966|(F|0)==5125|(F|0)==5124)J=0;else J=1;b[t>>1]=b[B+8>>1]|0;B=c[s>>2]&65535;b[g>>1]=b[t>>1]|0;Wh(I,J,0,g,B);B=c[z>>2]|0;F=B+4|0;H=c[F>>2]|0;if((H+4|0)>>>0<(c[B>>2]|0)>>>0){G=B+8+H|0;a[G>>0]=E;a[G+1>>0]=E>>8;a[G+2>>0]=E>>16;a[G+3>>0]=E>>24;c[F>>2]=(c[F>>2]|0)+4}}}else{c[e+184+(d[h>>0]<<3)>>2]=E;F=a[h>>0]|0;G=F&255;b[e+184+(G<<3)+4>>1]=c[s>>2];a[e+184+(G<<3)+6>>0]=C;a[h>>0]=F+1<<24>>24}A=A+1|0;if((A|0)>=(c[j>>2]|0)){K=z;break a}}}else K=e+180|0;while(0);j=c[K>>2]|0;if(j){K=j+4|0;h=c[K>>2]|0;if((h+4|0)>>>0<(c[j>>2]|0)>>>0){s=j+8+h|0;a[s>>0]=1;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;c[K>>2]=(c[K>>2]|0)+4}c[K>>2]=0}if(w?(c[v>>2]=37626,(c[k>>2]|0)>0):0){w=0;do{Vg[c[808>>2]&7](c[x>>2]|0,37605,w,1,v,1,0,u);Wg[c[816>>2]&7](c[x>>2]|0,37605,w,m,0,l);w=w+1|0}while((w|0)<(c[k>>2]|0))}k=e+24|0;w=k+64|0;do{c[k>>2]=-1;k=k+4|0}while((k|0)<(w|0));k=0;w=0;while(1){l=nb(c[x>>2]|0,c[37160+(k<<2)>>2]|0)|0;if((l|0)==-1)L=w;else{c[e+24+(k<<2)>>2]=l;a[e+4+w>>0]=k;L=w+1|0}k=k+1|0;if((k|0)==16){M=L;break}else w=L}a[e+4+M>>0]=16;M=nb(c[x>>2]|0,37224)|0;if((M|0)==-1)N=0;else{c[e+88>>2]=M;N=1}M=nb(c[x>>2]|0,37232)|0;if((M|0)==-1)O=N;else{c[e+88+(N<<2)>>2]=M;O=N+1|0}N=nb(c[x>>2]|0,37240)|0;if((N|0)==-1)P=O;else{c[e+88+(O<<2)>>2]=N;P=O+1|0}O=nb(c[x>>2]|0,37248)|0;if((O|0)==-1)Q=P;else{c[e+88+(P<<2)>>2]=O;Q=P+1|0}P=nb(c[x>>2]|0,37256)|0;if((P|0)==-1){R=Q;S=e+88+(R<<2)|0;c[S>>2]=65535;i=f;return}c[e+88+(Q<<2)>>2]=P;R=Q+1|0;S=e+88+(R<<2)|0;c[S>>2]=65535;i=f;return}function kj(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+180|0;e=c[d>>2]|0;if(e){f=c[20]|0;Jg[c[(c[f>>2]|0)+12>>2]&31](f,e,0,0,0);c[d>>2]=0}a[b+280>>0]=0;if(c[b>>2]|0){Ja(0);Kd(c[b>>2]|0);c[b>>2]=0}d=(c[60]|0)+595144|0;e=b+284|0;f=c[c[b+288>>2]>>2]|0;if(!f){al(e);return}else g=f;do{$k(d,c[g>>2]|0);g=c[g+4>>2]|0}while((g|0)!=0);al(e);return}function lj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;i=i+16|0;k=j+6|0;l=j;m=j+5|0;n=j+4|0;o=a[f+4>>0]|0;if(o<<24>>24==16){i=j;return}p=g+4|0;q=o&255;o=0;while(1){r=c[f+24+(q<<2)>>2]|0;Ch(g,q,k,l,m,n);do if((r|0)!=-1)if((b[g+38+(q<<1)>>1]|0)==-1){ob(r|0);break}else{me(r|0);Ng[c[616>>2]&63](r,0);s=e[p>>1]|0;t=aa(s,h)|0;ec(r|0,d[k>>0]|0,c[37264+(c[l>>2]<<2)>>2]|0,a[m>>0]|0,s|0,t+(e[g+6+(q<<1)>>1]|0)|0);break}while(0);o=o+1|0;r=a[f+4+o>>0]|0;if(r<<24>>24==16)break;else q=r&255}i=j;return}function mj(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=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;c[b+8>>2]=e;a[b+40>>0]=j;l=b+20|0;c[l>>2]=k;m=b+28|0;c[m>>2]=f;n=b+32|0;c[n>>2]=g;c[b+36>>2]=h;c[b+24>>2]=-1;o=b+41|0;a[o>>0]=i;p=b+42|0;a[p>>0]=i;q=(k&32768|0)!=0;r=(k&1048576|0)==0;if(q)s=k;else{Kf(1,b|0);de(e|0,c[b>>2]|0);t=i&255;i=b+12|0;c[i>>2]=c[34984+(t*20|0)+8>>2];u=b+16|0;c[u>>2]=c[34984+(t*20|0)+12>>2];t=a[o>>0]|0;if(t<<24>>24==29&(a[35580]|0)==0)v=(a[(c[60]|0)+595240>>0]|0)==0;else v=0;if(xi(t&255)|0){t=a[p>>0]|0;if(v|t<<24>>24!=(a[o>>0]|0))w=9;else{x=t;w=8}}else if(v)w=9;else{x=a[o>>0]|0;w=8}if((w|0)==8?(a[34984+((x&255)*20|0)+16>>0]|0)==0:0)w=9;if((w|0)==9){a[p>>0]=30;c[i>>2]=c[8898];c[u>>2]=c[8899]}do if(!r)if((e|0)==32879){Wg[c[528>>2]&7](32879,j&255,c[34984+((d[p>>0]|0)*20|0)>>2]|0,c[m>>2]|0,c[n>>2]|0,h);break}else{Jg[c[520>>2]&31](e,j&255,c[34984+((d[p>>0]|0)*20|0)>>2]|0,c[m>>2]|0,c[n>>2]|0);break}while(0);nj(b,k);s=c[l>>2]|0}if((s&61440|0)!=0?(l=s>>>12&7,s=(l|0)!=0?l+-1|0:0,l=c[(c[60]|0)+595228>>2]|0,k=(s|0)==0?0:1<<s,s=((l>>>0>k>>>0?k:l)|0)==0,q|s^1):0){l=b+4|0;Df(1,l|0);sc(36161,c[l>>2]|0);if(s)Lf(36161,c[37288+(d[p>>0]<<2)>>2]|0,f|0,g|0);sc(36161,0);if(q){y=0;return y|0}}y=1;return y|0}function nj(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0.0;f=(a[37488+(d[b+42>>0]|0)>>0]|0)==0?e&640|1344:e;if(!(f&268435456))h=f;else h=c[b+20>>2]|0;f=h&985087;e=b+24|0;if((f|0)==(c[e>>2]|0))return;i=b+8|0;j=c[i>>2]|0;k=a[b+40>>0]|0;wg(j|0,10242,c[37544+((h&3)<<2)>>2]|0);wg(j|0,10243,c[37544+((h>>>2&3)<<2)>>2]|0);if(a[36068]|0)wg(j|0,33085,(k&255)+-1|0);if((j|0)==32879)wg(32879,32882,c[37544+((h>>>4&3)<<2)>>2]|0);b=c[37576+((h>>>6&3)*12|0)+(((k&255)>1?(h>>>10&1)+1|0:0)<<2)>>2]|0;wg(j|0,10240,c[37560+((h>>>8&3)<<2)>>2]|0);wg(j|0,10241,b|0);if((h&640|0)!=0?(l=+g[(c[60]|0)+595220>>2],l>0.0):0)Fg(j|0,34046,+l);do if(a[(c[60]|0)+595238>>0]|0){j=h>>>16&15;b=c[i>>2]|0;if(!j){wg(b|0,34892,0);break}else{wg(b|0,34892,34894);wg(c[i>>2]|0,34893,c[37616+(j<<2)>>2]|0);break}}while(0);c[e>>2]=f;return}function oj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=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,K=0,L=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;h=i;i=i+64|0;j=h+24|0;k=h;l=e+4|0;if(Vi(j,c[e>>2]|0,c[l>>2]|0)|0){m=g&255;g=d[j+25>>0]|0;n=g+-1|0;o=m>>>0>n>>>0?n:m;m=o&255;n=g-o|0;g=j+24|0;p=Ai(d[g>>0]|0)|0;q=d[p+1>>0]|0;r=(c[j+12>>2]|0)>>>m;s=q>>>0>r>>>0?q:r;r=d[p+2>>0]|0;p=(c[j+16>>2]|0)>>>m;m=r>>>0>p>>>0?r:p;p=j+20|0;r=c[p>>2]|0;q=j+27|0;if(!(mj(b,(a[q>>0]|0)==0?(r>>>0>1?32879:3553):34067,s,m,r,a[g>>0]|0,n&255,f)|0)){i=h;return}f=c[b+20>>2]|0;g=(f&1048576|0)==0;r=b+8|0;t=c[r>>2]|0;u=(t|0)==34067?34069:t;t=b+42|0;v=d[t>>0]|0;w=c[((f&2097152|0)==0?34984+(v*20|0)|0:34984+(v*20|0)+4|0)>>2]|0;v=b+41|0;f=a[v>>0]|0;if(f<<24>>24==29&(a[35580]|0)==0)x=(a[(c[60]|0)+595240>>0]|0)==0;else x=0;y=xi(f&255)|0;f=x|(a[t>>0]|0)!=(a[v>>0]|0);if(f){v=c[20]|0;x=aa(s<<2,m)|0;z=Sg[c[(c[v>>2]|0)+8>>2]&3](v,x,0,0,0)|0}else z=0;x=(a[q>>0]|0)!=0?6:1;q=n&255;n=(q|0)==0;v=f|y^1;A=k+20|0;B=k+4|0;C=k+17|0;D=b+12|0;E=b+16|0;F=k+12|0;G=0;H=0;do{if(!n){I=G+u|0;J=(I|0)==32879;K=0;L=c[p>>2]|0;M=m;N=0;O=s;while(1){P=(O|0)==0?1:O;Q=(M|0)==0?1:M;R=(L|0)==0?1:L;do if(Yi(j,H,K+o&255,c[e>>2]|0,c[l>>2]|0,k)|0){if(!v){S=c[F>>2]|0;T=c[A>>2]|0;if(J){$g[c[504>>2]&7](32879,K,w,P,Q,R,0,S,T);break}else{Jd(I|0,K|0,w|0,P|0,Q|0,0,S|0,T|0);break}}T=c[A>>2]|0;if(f){S=c[k>>2]|0;Xi(z,T,S,c[B>>2]|0,S<<2,a[C>>0]|0);U=z}else U=T;T=c[D>>2]|0;S=c[E>>2]|0;if(J){ah[c[488>>2]&0](32879,K,w,P,Q,R,0,T,S,U);break}else{Se(I|0,K|0,w|0,P|0,Q|0,0,T|0,S|0,U|0);break}}else if(g)if(y){S=(P+3|0)>>>2;T=(Q+3|0)>>>2;V=(zi(d[t>>0]|0)|0)&255;W=(aa(aa((S|0)==0?16:S<<4,(T|0)==0?1:T)|0,V)|0)>>>3;if(J){$g[c[504>>2]&7](32879,K,w,P,Q,R,0,W,0);break}else{Jd(I|0,K|0,w|0,P|0,Q|0,0,W|0,0);break}}else{W=c[D>>2]|0;V=c[E>>2]|0;if(J){ah[c[488>>2]&0](32879,K,w,P,Q,R,0,W,V,0);break}else{Se(I|0,K|0,w|0,P|0,Q|0,0,W|0,V|0,0);break}}while(0);N=N+1<<24>>24;K=N&255;if(K>>>0>=q>>>0)break;else{L=R>>>1;M=Q>>>1;O=P>>>1}}}H=H+1<<24>>24;G=H&255}while(G>>>0<x>>>0);if(!z)X=r;else{x=c[20]|0;Jg[c[(c[x>>2]|0)+12>>2]&31](x,z,0,0,0);X=r}}else X=b+8|0;de(c[X>>2]|0,0);i=h;return}function pj(b,f,g,h,i,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var 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;m=b+42|0;n=(zi(d[m>>0]|0)|0)&255;o=h+4|0;p=(aa(e[o>>1]|0,n)|0)>>>3;q=k<<16>>16==-1?p:k&65535;k=b+8|0;de(c[k>>2]|0,c[b>>2]|0);Qf(3317,1);r=c[k>>2]|0;k=(r|0)==34067?34069:r;r=b+41|0;s=a[r>>0]|0;if(s<<24>>24==29&(a[35580]|0)==0)t=(a[(c[60]|0)+595240>>0]|0)==0;else t=0;u=(a[36764]|0)!=0;v=xi(s&255)|0;if(v?(a[m>>0]|0)!=(a[r>>0]|0):0)w=1;else w=t;t=e[o>>1]|0;m=h+6|0;s=e[m>>1]|0;x=w|u^1;if(!x)if(u){Qf(3314,(q<<3>>>0)/(n>>>0)|0|0);y=0}else y=0;else{z=c[20]|0;A=aa(s,p)|0;y=Sg[c[(c[z>>2]|0)+8>>2]&3](z,A,0,0,0)|0}A=c[l>>2]|0;do if(v){if(u)B=A;else{Ci(t,s,n,q,A,y);B=y}z=k+(f&255)|0;p=g&255;C=e[h>>1]|0;D=e[h+2>>1]|0;E=e[o>>1]|0;F=e[m>>1]|0;G=c[b+12>>2]|0;H=c[l+4>>2]|0;if((z|0)==32879){Qg[c[512>>2]&0](32879,p,C,D,i&65535,E,F,j&65535,G,H,B);break}else{ff(z|0,p|0,C|0,D|0,E|0,F|0,G|0,H|0,B|0);break}}else{if(!w)if(u)I=A;else{Ci(t,s,n,q,A,y);I=y}else{Xi(y,A,t,s,q,a[r>>0]|0);I=y}H=k+(f&255)|0;G=g&255;F=e[h>>1]|0;E=e[h+2>>1]|0;D=e[o>>1]|0;C=e[m>>1]|0;p=c[b+12>>2]|0;z=c[b+16>>2]|0;if((H|0)==32879){Qg[c[496>>2]&0](32879,G,F,E,i&65535,D,C,j&65535,p,z,I);break}else{Hg(H|0,G|0,F|0,E|0,D|0,C|0,p|0,z|0,I|0);break}}while(0);if(!x)Qf(3314,0);if(!y)return;x=c[20]|0;Jg[c[(c[x>>2]|0)+12>>2]&31](x,y,0,0,0);return}function qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+528|0;f=e+16|0;g=e;c[g>>2]=d;d=Io(f,512,b,g)|0;Ug[c[(c[a>>2]|0)+8>>2]&15](a,f,d)|0;i=e;return}function rj(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=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,K=0,L=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,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;h=i;i=i+1264|0;j=h+1080|0;k=h+1072|0;l=h+1064|0;m=h+1056|0;n=h+32|0;o=h;p=h+1104|0;q=h+1100|0;r=h+1112|0;s=h+1250|0;t=h+1249|0;u=h+1248|0;v=h+1110|0;w=h+1108|0;x=h+1096|0;y=h+1092|0;z=h+1120|0;A=h+1114|0;B=h+1088|0;C=h+1084|0;D=c[g>>2]|0;E=c[g+4>>2]|0;c[o>>2]=34928;c[o+4>>2]=34952;g=o+8|0;c[g>>2]=D;F=o+16|0;G=F;c[G>>2]=0;c[G+4>>2]=0;G=o+24|0;c[G>>2]=E;c[G+4>>2]=0;G=D;H=n+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;if(!(D&3))wk(n,G,E);else vk(n,G,E);E=aa(c[H>>2]|0,1540483477)|0;G=aa(E>>>24^E,1540483477)|0;c[H>>2]=G;H=G^(aa(c[n>>2]|0,1540483477)|0);G=aa(c[n+12>>2]|0,1540483477)|0;E=(aa(H,1540483477)|0)^(aa(G>>>24^G,1540483477)|0);G=aa(E>>>13^E,1540483477)|0;c[f+8>>2]=G>>>15^G;Ug[c[(c[o>>2]|0)+8>>2]&15](o,p,4)|0;G=c[p>>2]|0;if((G|0)==38294339)c[f+4>>2]=37305;else if((G|0)==71848790)c[f+4>>2]=35633;else if((G|0)==71848774)c[f+4>>2]=35632;else{c[m>>2]=G;Gh(2,37656,m)}Ug[c[(c[o>>2]|0)+8>>2]&15](o,q,4)|0;Ug[c[(c[o>>2]|0)+8>>2]&15](o,r,2)|0;q=c[(c[o>>2]|0)+8>>2]|0;if(!(b[r>>1]|0))I=q;else{m=q;q=0;while(1){Ug[m&15](o,s,1)|0;Ug[c[(c[o>>2]|0)+8>>2]&15](o,n,d[s>>0]|0)|0;a[n+(d[s>>0]|0)>>0]=0;Ug[c[(c[o>>2]|0)+8>>2]&15](o,t,1)|0;Ug[c[(c[o>>2]|0)+8>>2]&15](o,u,1)|0;Ug[c[(c[o>>2]|0)+8>>2]&15](o,v,2)|0;Ug[c[(c[o>>2]|0)+8>>2]&15](o,w,2)|0;q=q+1|0;G=c[(c[o>>2]|0)+8>>2]|0;if(q>>>0>=(e[r>>1]|0)>>>0){I=G;break}else m=G}}Ug[I&15](o,x,4)|0;x=f+4|0;o=Eg(c[x>>2]|0)|0;c[f>>2]=o;I=(c[g>>2]|0)+(c[F>>2]|0)|0;c[y>>2]=I;if(!o){i=h;return}if((c[x>>2]|0)==37305)J=o;else{o=Vo(I|0)|0;I=o+4096|0;F=i;i=i+((1*I|0)+15&-16)|0;g=n+40|0;c[n+8>>2]=g;m=n+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[n>>2]=12144;c[n+4>>2]=12168;c[g>>2]=12192;c[n+44>>2]=F;c[n+48>>2]=I;xk(n,37688,50)|0;if(!(a[36988]|0))K=0;else{I=c[y>>2]|0;g=c[9436]|0;a:do if(!g)L=0;else{m=37744;r=g;while(1){q=Vo(r|0)|0;w=Yn(I,r)|0;if(w){v=w;do{if((v|0)!=(I|0)?(w=a[v+-1>>0]|0,w<<24>>24==95|(Qn(w<<24>>24)|0)!=0):0)M=v+q|0;else{w=v+q|0;u=a[w>>0]|0;if(u<<24>>24==95|(Qn(u<<24>>24)|0)!=0)M=w;else{L=v;break a}}v=Yn(M,r)|0}while((v|0)!=0)}m=m+4|0;r=c[m>>2]|0;if(!r){L=0;break}}}while(0);K=(L|0)!=0}L=c[y>>2]|0;M=Yn(L,37760)|0;if(!M){N=L;O=0}else{I=M;while(1){if((I|0)!=(L|0)?(M=a[I+-1>>0]|0,M<<24>>24==95|(Qn(M<<24>>24)|0)!=0):0)P=I+11|0;else{M=I+11|0;g=a[M>>0]|0;if(g<<24>>24==95|(Qn(g<<24>>24)|0)!=0)P=M;else{Q=I;break}}I=Yn(P,37760)|0;if(!I){Q=0;break}}N=c[y>>2]|0;O=Q}Q=(O|0)==0;O=Yn(N,37776)|0;if(!O){R=N;S=0}else{I=O;while(1){if((I|0)!=(N|0)?(O=a[I+-1>>0]|0,O<<24>>24==95|(Qn(O<<24>>24)|0)!=0):0)T=I+12|0;else{O=I+12|0;P=a[O>>0]|0;if(P<<24>>24==95|(Qn(P<<24>>24)|0)!=0)T=O;else{U=I;break}}I=Yn(T,37776)|0;if(!I){U=0;break}}R=c[y>>2]|0;S=U}U=(S|0)==0;S=c[9448]|0;b:do if(!S)V=0;else{I=37792;T=S;while(1){N=Vo(T|0)|0;O=Yn(R,T)|0;if(O){P=O;do{if((P|0)!=(R|0)?(O=a[P+-1>>0]|0,O<<24>>24==95|(Qn(O<<24>>24)|0)!=0):0)W=P+N|0;else{O=P+N|0;L=a[O>>0]|0;if(L<<24>>24==95|(Qn(L<<24>>24)|0)!=0)W=O;else{V=P;break b}}P=Yn(W,T)|0}while((P|0)!=0)}I=I+4|0;T=c[I>>2]|0;if(!T){V=0;break}}}while(0);W=(V|0)==0;if(!(a[36996]|0))X=0;else{V=c[y>>2]|0;R=c[9452]|0;c:do if(!R)Y=0;else{S=37808;T=R;while(1){I=Vo(T|0)|0;P=Yn(V,T)|0;if(P){N=P;do{if((N|0)!=(V|0)?(P=a[N+-1>>0]|0,P<<24>>24==95|(Qn(P<<24>>24)|0)!=0):0)Z=N+I|0;else{P=N+I|0;O=a[P>>0]|0;if(O<<24>>24==95|(Qn(O<<24>>24)|0)!=0)Z=P;else{Y=N;break c}}N=Yn(Z,T)|0}while((N|0)!=0)}S=S+4|0;T=c[S>>2]|0;if(!T){Y=0;break}}}while(0);X=(Y|0)!=0}Y=c[y>>2]|0;Z=c[9458]|0;d:do if(!Z)_=0;else{V=37832;R=Z;while(1){T=Vo(R|0)|0;S=Yn(Y,R)|0;if(S){N=S;do{if((N|0)!=(Y|0)?(S=a[N+-1>>0]|0,S<<24>>24==95|(Qn(S<<24>>24)|0)!=0):0)$=N+T|0;else{S=N+T|0;I=a[S>>0]|0;if(I<<24>>24==95|(Qn(I<<24>>24)|0)!=0)$=S;else{_=N;break d}}N=Yn($,R)|0}while((N|0)!=0)}V=V+4|0;R=c[V>>2]|0;if(!R){_=0;break}}}while(0);$=(_|0)==0;_=c[y>>2]|0;Y=Yn(_,37848)|0;e:do if(!Y)ba=0;else{Z=Y;while(1){if((Z|0)!=(_|0)?(R=a[Z+-1>>0]|0,R<<24>>24==95|(Qn(R<<24>>24)|0)!=0):0)ca=Z+27|0;else{R=Z+27|0;V=a[R>>0]|0;if(V<<24>>24==95|(Qn(V<<24>>24)|0)!=0)ca=R;else{ba=Z;break e}}Z=Yn(ca,37848)|0;if(!Z){ba=0;break}}}while(0);ca=(ba|0)==0;if(K)Ug[c[(c[n>>2]|0)+8>>2]&15](n,37880,48)|0;if(!Q)Ug[c[(c[n>>2]|0)+8>>2]&15](n,37936,40)|0;if(!U)if(!(a[36572]|0))da=1;else{Ug[c[(c[n>>2]|0)+8>>2]&15](n,37984,77)|0;c[l>>2]=(a[36940]|0)!=0?38064:38072;bl(z,128,38080,l)|0;l=Vo(z|0)|0;Ug[c[(c[n>>2]|0)+8>>2]&15](n,z,l)|0;da=0}else da=0;do if(!W){l=c[(c[n>>2]|0)+8>>2]|0;if(!(a[(c[60]|0)+595238>>0]|0)){Ug[l&15](n,38224,216)|0;break}else{Ug[l&15](n,38112,109)|0;break}}while(0);if(X)Ug[c[(c[n>>2]|0)+8>>2]&15](n,38448,38)|0;do if(!$){X=c[(c[n>>2]|0)+8>>2]|0;if(!(a[36644]|0)){Ug[X&15](n,38664,237)|0;break}else{Ug[X&15](n,38488,169)|0;break}}while(0);do if(!ca){$=c[(c[n>>2]|0)+8>>2]|0;if(!(a[36844]|0)){Ug[$&15](n,38960,38)|0;break}else{Ug[$&15](n,38904,54)|0;break}}while(0);c[k>>2]=(c[x>>2]|0)==35632?38072:38064;qj(n,39e3,k);Ug[c[(c[n>>2]|0)+8>>2]&15](n,c[y>>2]|0,o)|0;a[A>>0]=0;Ug[c[(c[n>>2]|0)+8>>2]&15](n,A,1)|0;f:do if(da){A=Yn(F,39024)|0;if(!A)break;o=Vn(A,123)|0;if(!o)break;else{ea=o;fa=0}while(1){A=ea;while(1){k=a[A>>0]|0;x=A+1|0;if(k<<24>>24==123){ga=x;ha=96;break}else if(k<<24>>24==125){ia=x;ja=A;ha=98;break}else if(!(k<<24>>24))break f;else A=x}if((ha|0)==96){ha=0;ka=ga;la=fa+1|0}else if((ha|0)==98){ha=0;A=fa+-1|0;if(!A){ma=ja;break}else{ka=ia;la=A}}if((la|0)>-1){ea=ka;fa=la}else break f}if(!ma)break;A=o+1|0;_o(o+32|0,A|0,(Vo(A|0)|0)+1|0)|0;x=A;A=39040;k=x+31|0;do{a[x>>0]=a[A>>0]|0;x=x+1|0;A=A+1|0}while((x|0)<(k|0))}while(0);ma=Yn(F,37776)|0;g:do if(ma){la=ma;while(1){do if((la|0)==(F|0))ha=105;else{fa=a[la+-1>>0]|0;if(!(fa<<24>>24==95|(Qn(fa<<24>>24)|0)!=0)){ha=105;break}na=la+12|0}while(0);if((ha|0)==105){ha=0;fa=la+12|0;ka=a[fa>>0]|0;if(ka<<24>>24==95|(Qn(ka<<24>>24)|0)!=0)na=fa;else{oa=la;break}}la=Yn(na,37776)|0;if(!la)break g}la=oa+2|0;_o(la|0,oa|0,(Vo(oa|0)|0)+1|0)|0;a[oa>>0]=98;a[oa+1>>0]=103;a[la>>0]=102;a[la+1>>0]=120;la=Yn(oa,37776)|0;if(!la)break;else{pa=la;qa=oa}while(1){la=pa;while(1){do if((la|0)==(qa|0))ha=113;else{fa=a[la+-1>>0]|0;if(!(fa<<24>>24==95|(Qn(fa<<24>>24)|0)!=0)){ha=113;break}ra=la+12|0}while(0);if((ha|0)==113){ha=0;fa=la+12|0;ka=a[fa>>0]|0;if(ka<<24>>24==95|(Qn(ka<<24>>24)|0)!=0)ra=fa;else{sa=la;break}}la=Yn(ra,37776)|0;if(!la)break g}la=sa+2|0;_o(la|0,sa|0,(Vo(sa|0)|0)+1|0)|0;a[sa>>0]=98;a[sa+1>>0]=103;a[la>>0]=102;a[la+1>>0]=120;la=Yn(sa,37776)|0;if(!la)break;else{pa=la;qa=sa}}}while(0);c[y>>2]=F;J=c[f>>2]|0}Mb(J|0,1,y|0,0);Xf(c[f>>2]|0);c[B>>2]=0;Tf(c[f>>2]|0,35713,B|0);if(c[B>>2]|0){i=h;return}gb(c[f>>2]|0,1024,C|0,n|0);_e(c[f>>2]|0);c[f>>2]=0;Gh(2,39072,j);i=h;return}function sj(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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;f=c[e+4>>2]|0;if(!f)return;td(36160,f|0);f=e+23|0;g=a[f>>0]|0;if(g<<24>>24){h=e+12|0;i=e+16|0;j=g;g=0;k=0;l=0;while(1){m=b[e+24+(k<<1)>>1]|0;if(m<<16>>16==-1){n=j;o=g;p=l}else{q=m&65535;m=c[60]|0;r=m+405644+(q*44|0)|0;if(!g){c[h>>2]=c[m+405644+(q*44|0)+28>>2];c[i>>2]=c[m+405644+(q*44|0)+32>>2]}s=d[m+405644+(q*44|0)+42>>0]|0;if(yi(s)|0){t=Ai(s)|0;if(!(a[t+7>>0]|0)){u=(a[t+6>>0]|0)==0?36128:36096;v=g}else{u=33306;v=g}}else{u=g+36064|0;v=g+1|0}t=m+405644+(q*44|0)+4|0;s=c[t>>2]|0;if(!s)gg(36160,u|0,c[m+405644+(q*44|0)+8>>2]|0,c[r>>2]|0,0);else Nb(36160,u|0,36161,s|0);if(!(c[t>>2]|0))w=0;else w=(c[r>>2]|0)!=0;n=a[f>>0]|0;o=v;p=l|w}k=k+1|0;if(k>>>0>=(n&255)>>>0)break;else{j=n;g=o;l=p}}a[e+22>>0]=o;Qd(36160)|0;if(p){p=e+8|0;vd(1,p|0);td(36160,c[p>>2]|0);if(a[f>>0]|0){p=0;o=0;while(1){l=b[e+24+(o<<1)>>1]|0;if((l<<16>>16!=-1?(g=l&65535,l=c[60]|0,n=l+405644+(g*44|0)|0,(c[n>>2]|0)!=0):0)?!(yi(d[l+405644+(g*44|0)+42>>0]|0)|0):0){gg(36160,p+36064|0,c[l+405644+(g*44|0)+8>>2]|0,c[n>>2]|0,0);x=p+1|0}else x=p;o=o+1|0;if(o>>>0>=(d[f>>0]|0)>>>0)break;else p=x}}Qd(36160)|0}}else{a[e+22>>0]=0;Qd(36160)|0}td(36160,c[(c[60]|0)+595264>>2]|0);return}function tj(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;if(!(c[b>>2]|0))return;d=a+4|0;td(36008,c[d>>2]|0);Mg[c[720>>2]&63](36064);td(36009,c[b>>2]|0);b=c[a+12>>2]|0;e=c[a+16>>2]|0;ah[c[440>>2]&0](0,0,b,e,0,0,b,e,16384,9729);td(36008,c[d>>2]|0);Mg[c[720>>2]&63](0);td(36160,c[(c[60]|0)+595264>>2]|0);return}
|
|
function sl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=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,K=0,L=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,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=i;i=i+1360|0;f=e+8|0;g=e;h=e+320|0;j=e+336|0;k=e+64|0;l=e+40|0;m=e+16|0;if(!(a[d>>0]|0)){i=e;return}n=h+4|0;o=h+12|0;p=b+4|0;q=b+8|0;r=l+12|0;s=l+8|0;t=m+12|0;u=m+8|0;v=d;a:while(1){d=0;w=v;x=j;y=0;z=0;A=32;b:while(1){B=d;C=w;D=x;E=y;F=A;c:while(1){G=B;H=C;I=E;J=F;d:while(1){K=(G|0)<64;L=H;M=I;e:while(1){if(K){N=L;O=M}else{P=G;Q=L;R=D;S=13;break b}f:while(1){T=O;while(1){U=a[N>>0]|0;if(U<<24>>24==10|U<<24>>24==0){V=G;W=N;X=D;S=36;break b}if((T|0)==1){Y=U;Z=N;break e}else if(T){_=U;$=N;ba=T;break f}if(!(yo(U<<24>>24)|0))T=1;else{ca=N;break}}while(1){T=ca+1|0;if(!(yo(a[T>>0]|0)|0)){N=T;O=1;continue f}else ca=T}}if(!(_<<24>>24)){V=G;W=$;X=D;S=36;break b}if((ba|0)==4){da=G;ea=$;fa=J;S=34;break d}else if((ba|0)==2){ga=_;ha=G;ia=$;ja=D;ka=J;break c}else if((ba|0)!=3){S=17;break a}T=$+-1|0;U=T;while(1){la=a[U>>0]|0;if(la<<24>>24==34){ma=_;na=G;oa=$;pa=J;S=33;break d}else if(la<<24>>24!=92){qa=U;break}U=U+1|0}U=qa-T|0;if((U|0)>0){ra=T;sa=U;ta=G;ua=qa;va=J;S=31;break d}else{L=T;M=2}}M=Y<<24>>24==34;c[k+(G<<2)>>2]=D;G=G+1|0;H=M?Z+1|0:Z;I=2;J=M?34:32}if((S|0)==31){S=0;J=ra;I=D;H=0;while(1){a[I>>0]=a[J>>0]|0;H=H+1|0;if((H|0)==(sa|0))break;else{J=J+1|0;I=I+1|0}}B=ta;C=ua;D=D+sa|0;E=2;F=va;continue}else if((S|0)==33){S=0;a[D>>0]=ma;B=na;C=oa+1|0;D=D+1|0;E=2;F=pa;continue}else if((S|0)==34){S=0;a[D>>0]=0;B=da;C=ea;D=D+1|0;E=0;F=fa;continue}}if(ga<<24>>24==92){wa=ia;xa=ja;ya=3;za=z}else if(ga<<24>>24==34?ka<<24>>24!=34:0){wa=ia;xa=ja;ya=2;za=z^1}else S=22;if((S|0)==22){S=0;if(z|(yo(ga<<24>>24)|0)==0?(F=a[ia>>0]|0,z|ka<<24>>24!=F<<24>>24):0){a[ja>>0]=F;wa=ia;xa=ja+1|0;ya=2;za=z}else{wa=ia;xa=ja;ya=4;za=0}}d=ha;w=wa+1|0;x=xa;y=ya;z=za;A=ka}do if((S|0)==13){S=0;A=a[Q>>0]|0;if(A<<24>>24==10|A<<24>>24==0){a[R>>0]=0;Aa=P;Ba=Q;S=38;break}else{a[R>>0]=0;Aa=P;Ba=Q;S=38;break}}else if((S|0)==36){S=0;a[X>>0]=0;if((V|0)>0){Aa=V;Ba=W;S=38}else Ca=(a[W>>0]|0)==0?W:W+1|0}while(0);g:do if((S|0)==38){S=0;A=Aa+-1|0;z=(a[Ba>>0]|0)==0?Ba:Ba+1|0;if(!(a[c[k+(A<<2)>>2]>>0]|0))if((Aa|0)>1)Da=A;else{Ca=z;break}else Da=Aa;A=c[k>>2]|0;y=Vo(A|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;if(!(A&3))wk(h,A,y);else vk(h,A,y);y=aa(c[n>>2]|0,1540483477)|0;A=aa(y>>>24^y,1540483477)|0;c[n>>2]=A;y=A^(aa(c[h>>2]|0,1540483477)|0);A=aa(c[o>>2]|0,1540483477)|0;x=(aa(y,1540483477)|0)^(aa(A>>>24^A,1540483477)|0);A=aa(x>>>13^x,1540483477)|0;x=A>>>15^A;y=c[p>>2]|0;w=x<<24>>24;d=(x<<16>>24)-w+(w*65600|0)|0;w=(x<<8>>24)-d+(d*65600|0)|0;d=(A>>24)-w+(w*65600|0)&((c[q>>2]|0)-y>>2)+-2;w=c[y+(d+1<<2)>>2]|0;A=c[y+(d<<2)>>2]|0;h:do if((A|0)!=(w|0)){d=A;while(1){if((c[d>>2]|0)==(x|0)){Ea=d;break}d=c[d+12>>2]|0;if((d|0)==(w|0))break h}if(Ea){d=dh[c[Ea+4>>2]&15](b,c[Ea+8>>2]|0,Da,k)|0;if((d|0)==-1)break;else if(!d){Ca=z;break g}Pn(m,v,z-v+(((a[z>>0]|0)!=0)<<31>>31)|0);c[f>>2]=c[m>>2];c[f+4>>2]=d;uk(112880,f);d=c[m>>2]|0;if((d|0)==(t|0)){Ca=z;break g}bk(d,(c[u>>2]|0)-d|0);Ca=z;break g}}while(0);Pn(l,v,z-v+(((a[z>>0]|0)!=0)<<31>>31)|0);c[g>>2]=c[l>>2];uk(112800,g);w=c[l>>2]|0;if((w|0)==(r|0))Ca=z;else{bk(w,(c[s>>2]|0)-w|0);Ca=z}}while(0);if(!(a[Ca>>0]|0)){S=53;break}else v=Ca}if((S|0)==17)while(1){S=0;S=17}else if((S|0)==53){i=e;return}}function tl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+8>>2]|0;bk(e,16)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=c[e>>2]|0;i=f;if((g+36|0)>>>0>h>>>0){j=f-g>>2;f=ak(36)|0;k=c[b>>2]|0;l=c[d>>2]|0;if((k|0)==(l|0)){m=b;n=k}else{o=f;p=k;while(1){c[o>>2]=c[p>>2];p=p+4|0;if((p|0)==(l|0))break;else o=o+4|0}m=b;n=c[b>>2]|0}bk(n,36);c[m>>2]=f;m=f+(j<<2)|0;c[d>>2]=m;j=f+36|0;c[e>>2]=j;q=f;r=m;s=j}else{q=g;r=i;s=h}if(r>>>0<(q+36|0)>>>0){Xo(r|0,0,q+32+(3-r)+4&-4|0)|0;r=c[b>>2]|0;t=r;u=c[e>>2]|0;v=r;w=t+36|0;c[d>>2]=w;c[a>>2]=0;x=u;y=v;z=x-y|0;bk(v,z);return}else{t=q;u=s;v=c[b>>2]|0;w=t+36|0;c[d>>2]=w;c[a>>2]=0;x=u;y=v;z=x-y|0;bk(v,z);return}}function ul(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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;f=b+4|0;a[f>>0]=0;g=c[d+4>>2]|0;h=d+8|0;i=c[e>>2]|0;j=i;k=j<<24>>24;l=(j<<16>>24)-k+(k*65600|0)|0;k=(j<<8>>24)-l+(l*65600|0)|0;l=(j>>24)-k+(k*65600|0)&((c[h>>2]|0)-g>>2)+-2;k=c[g+(l+1<<2)>>2]|0;j=c[g+(l<<2)>>2]|0;a:do if((j|0)!=(k|0)){l=j;while(1){if((c[l>>2]|0)==(i|0)){m=l;break}l=c[l+8>>2]|0;if((l|0)==(k|0)){n=4;break a}}c[b>>2]=m;if(m)return}else n=4;while(0);if((n|0)==4)c[b>>2]=0;m=ak(16)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];k=m+12|0;c[k>>2]=0;i=m+8|0;c[i>>2]=0;j=d+4|0;l=c[j>>2]|0;g=(c[h>>2]|0)-l|0;o=c[e>>2]|0;e=o<<24>>24;p=(o<<16>>24)-e+(e*65600|0)|0;e=(o<<8>>24)-p+(p*65600|0)|0;p=(o>>24)-e+(e*65600|0)&(g>>2)+-2;e=c[l+(p+1<<2)>>2]|0;c[i>>2]=e;do if(!e){b:do if(!p)q=0;else{i=p;while(1){if(c[l+(i<<2)>>2]|0){q=i;break b}i=i+-1|0;if(!i){q=0;break}}}while(0);i=c[l+(q<<2)>>2]|0;while(1){if(!i){n=16;break}o=i+8|0;r=c[o>>2]|0;if(!r){s=o;t=i;n=15;break}else i=r}if((n|0)==15){c[k>>2]=t;c[s>>2]=m;break}else if((n|0)==16){c[k>>2]=0;break}}else{i=e+12|0;c[k>>2]=c[i>>2];c[i>>2]=m;i=c[k>>2]|0;if(i)c[i+8>>2]=m}while(0);k=l+(p<<2)|0;c:do if((e|0)==(c[k>>2]|0)){s=k;t=p;do{c[s>>2]=m;if(!t)break c;t=t+-1|0;s=l+(t<<2)|0}while((e|0)==(c[s>>2]|0))}while(0);e=c[d>>2]|0;c[d>>2]=e+1;if((e+2|0)>>>0>g>>>0){g=c[j>>2]|0;e=c[g>>2]|0;l=c[h>>2]|0;p=g;k=l-p<<1;c[h>>2]=g;s=k+-7|0;t=d+12|0;if((g+(s<<2)|0)>>>0>(c[t>>2]|0)>>>0){d=s<<2;q=ak(d)|0;i=c[j>>2]|0;r=c[h>>2]|0;if((i|0)==(r|0)){u=j;v=i}else{o=q;w=i;while(1){c[o>>2]=c[w>>2];w=w+4|0;if((w|0)==(r|0))break;else o=o+4|0}u=j;v=c[j>>2]|0}bk(v,d);c[u>>2]=q;c[h>>2]=q;c[t>>2]=q+(s<<2);x=q}else x=g;if((s|0)>0){Xo(x|0,0,x+((l<<1)+-7-(p<<1)<<2)+~x+4&-4|0)|0;p=c[j>>2]|0;y=p;z=p}else{y=x;z=c[j>>2]|0}c[h>>2]=y+(s<<2);if(e){s=k+-9|0;k=e;do{e=k+8|0;y=k;k=c[e>>2]|0;h=y+12|0;c[h>>2]=0;c[e>>2]=0;j=c[y>>2]|0;x=j<<24>>24;p=(j<<16>>24)-x+(x*65600|0)|0;x=(j<<8>>24)-p+(p*65600|0)|0;p=(j>>24)-x+(x*65600|0)&s;x=c[z+(p+1<<2)>>2]|0;c[e>>2]=x;do if(!x){d:do if(!p)A=0;else{e=p;while(1){if(c[z+(e<<2)>>2]|0){A=e;break d}e=e+-1|0;if(!e){A=0;break}}}while(0);e=c[z+(A<<2)>>2]|0;while(1){if(!e){n=42;break}j=e+8|0;l=c[j>>2]|0;if(!l){B=j;C=e;n=41;break}else e=l}if((n|0)==41){n=0;c[h>>2]=C;c[B>>2]=y;break}else if((n|0)==42){n=0;c[h>>2]=0;break}}else{e=x+12|0;c[h>>2]=c[e>>2];c[e>>2]=y;e=c[h>>2]|0;if(e)c[e+8>>2]=y}while(0);h=z+(p<<2)|0;e:do if((x|0)==(c[h>>2]|0)){e=h;l=p;do{c[e>>2]=y;if(!l)break e;l=l+-1|0;e=z+(l<<2)|0}while((x|0)==(c[e>>2]|0))}while(0)}while((k|0)!=0)}}c[b>>2]=m;a[f>>0]=1;return}function vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+4>>2]|0;e=b;f=e<<24>>24;g=(e<<16>>24)-f+(f*65600|0)|0;f=(e<<8>>24)-g+(g*65600|0)|0;g=((c[a+8>>2]|0)-d>>2)+-2|0;h=g&(e>>24)-f+(f*65600|0);f=c[d+(h+1<<2)>>2]|0;e=c[d+(h<<2)>>2]|0;if((e|0)==(f|0))return;else i=e;while(1){if((c[i>>2]|0)==(b|0)){j=i;break}i=c[i+8>>2]|0;if((i|0)==(f|0)){k=13;break}}if((k|0)==13)return;if(!j)return;k=c[j>>2]|0;f=k<<24>>24;i=(k<<16>>24)-f+(f*65600|0)|0;f=(k<<8>>24)-i+(i*65600|0)|0;i=(k>>24)-f+(f*65600|0)&g;g=j+8|0;f=c[g>>2]|0;k=d+(i<<2)|0;a:do if((c[k>>2]|0)==(j|0)){b=k;e=i;do{c[b>>2]=f;if(!e)break a;e=e+-1|0;b=d+(e<<2)|0}while((c[b>>2]|0)==(j|0))}while(0);d=c[j+12>>2]|0;if(d)c[d+8>>2]=c[g>>2];if(f)c[f+12>>2]=d;bk(j,16);c[a>>2]=(c[a>>2]|0)+-1;return}function wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[d>>2]|0;if(!e)return;else{f=d;g=d;h=e}while(1){e=c[b+56+(h<<2)>>2]|0;d=e>>>16&255;i=(e&65280|0)!=0;do if((a[f+5>>0]|0)==1){if(!i){a[b+1080+h>>0]=0;break}if(d<<24>>24==(a[g+4>>0]|0)?(a[b+1080+h>>0]|0)==0:0){e=c[g+8>>2]|0;j=c[g+12>>2]|0;if(!e)fk(j);else Mg[e&63](j);a[(c[f>>2]|0)+(b+1080)>>0]=1}}else if(i?d<<24>>24==(a[g+4>>0]|0):0){j=c[g+8>>2]|0;e=c[g+12>>2]|0;if(!j){fk(e);break}else{Mg[j&63](e);break}}while(0);d=g+16|0;i=c[d>>2]|0;if(!i)break;else{f=d;g=d;h=i}}return}function xl(b,e,f){b=b|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,p=0,q=0,r=0,s=0,t=0;g=b+1288|0;h=c[g>>2]|0;i=b+1292|0;j=c[i>>2]|0;k=j-h|0;l=b+1280|0;m=c[l>>2]|0;n=k>>31;o=(m+k&n|k&~n)+-1|0;n=m+-1|0;k=o>>31;p=o&~k|k&n;k=4-p>>31;o=p&~k|k&4;k=((o+h|0)>>>0)%(m>>>0)|0;c[g>>2]=k;h=e&255;e=b+1284|0;p=c[e>>2]|0;if(o>>>0<h>>>0){o=j;j=k;while(1){k=p-o|0;q=k>>31;r=m+k&q|k&~q;if(!r)s=o;else{q=4-r>>31;k=(((r&~q|q&4)+o|0)>>>0)%(m>>>0)|0;c[i>>2]=k;s=k}k=s-j|0;q=k>>31;r=(m+k&q|k&~q)+-1|0;q=r>>31;k=r&~q|q&n;q=4-k>>31;r=k&~q|q&4;q=((r+j|0)>>>0)%(m>>>0)|0;if(r>>>0<h>>>0){o=s;j=q}else{t=q;break}}c[g>>2]=t}t=b+1296+p|0;p=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;a[t>>0]=p;a[t+1>>0]=p>>8;a[t+2>>0]=p>>16;a[t+3>>0]=p>>24;p=c[e>>2]|0;t=(c[g>>2]|0)-p|0;g=c[l>>2]|0;l=t>>31;f=g+t&l|t&~l;l=4-f>>31;c[e>>2]=(((f&~l|l&4)+p|0)>>>0)%(g>>>0)|0;return}function yl(a){a=a|0;$n(a);return}function zl(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;e=i;i=i+16|0;d=e+6|0;f=e+4|0;g=e+2|0;h=e;j=a+4|0;c[j>>2]=640;k=a+8|0;c[k>>2]=360;l=a+12|0;c[l>>2]=8;m=a+16|0;c[m>>2]=128;di(8,0,0,0,0)|0;fi(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0);ji(c[l>>2]|0);pi(0,3,808464639,1.0,0);Ah(Bh(Bh(Bh(zh(8,0)|0,0,3,4,0,0)|0,1,3,4,0,0)|0,4,4,0,1,0)|0);l=ii()|0;if((l|0)==3|(l|0)==2){m=Kh(44328,726,0,0)|0;n=Kh(45056,660,0,0)|0;o=m}else if((l|0)==1){l=Kh(43432,457,0,0)|0;n=Kh(43896,429,0,0)|0;o=l}else{l=Kh(45720,537,0,0)|0;n=Kh(46264,398,0,0)|0;o=l}l=Lh(o)|0;o=Lh(n)|0;b[g>>1]=l;b[h>>1]=o;b[f>>1]=b[g>>1]|0;b[d>>1]=b[h>>1]|0;b[a+20>>1]=Mh(f,d,1)|0;d=_n(524288)|0;f=d+524288|0;h=d;do{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;h=h+16|0}while((h|0)!=(f|0));c[a+24>>2]=d;p=+dd()*1.0e3;d=+P(p)>=1.0?(p>0.0?~~+ba(+O(p/4294967296.0),4294967295.0)>>>0:~~+$((p-+(~~p>>>0))/4294967296.0)>>>0):0;f=a+32|0;c[f>>2]=~~p>>>0;c[f+4>>2]=d;i=e;return}function Al(a){a=a|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+2|0;f=d;g=c[a+24>>2]|0;if(g)ao(g);b[f>>1]=b[a+20>>1]|0;b[e>>1]=b[f>>1]|0;Oh(e);ei();i=d;return 0}function Bl(d){d=d|0;var f=0,j=0,k=0,l=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.0,A=0,B=0,C=0,D=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,R=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,aa=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;f=i;i=i+528|0;j=f+304|0;k=f+296|0;l=f+288|0;m=f+280|0;n=f+272|0;o=f+256|0;p=f;q=f+504|0;r=f+480|0;s=f+464|0;t=f+432|0;u=f+368|0;v=f+524|0;w=d+4|0;x=d+8|0;if(_j(w,x,d+12|0,d+16|0,0)|0){y=0;i=f;return y|0}oi(0,0,0,c[w>>2]&65535,c[x>>2]&65535);ui(0)|0;z=+dd()*1.0e3;A=~~z>>>0;B=+P(z)>=1.0?(z>0.0?~~+ba(+O(z/4294967296.0),4294967295.0)>>>0:~~+$((z-+(~~z>>>0))/4294967296.0)>>>0):0;if((a[112528]|0)==0?(Ua(112528)|0)!=0:0){C=46664;c[C>>2]=A;c[C+4>>2]=B;vc(112528)}C=46664;D=Yo(A|0,B|0,c[C>>2]|0,c[C+4>>2]|0)|0;C=E;F=46664;c[F>>2]=A;c[F+4>>2]=B;F=d+32|0;G=Yo(A|0,B|0,c[F>>2]|0,c[F+4>>2]|0)|0;z=(+(G>>>0)+4294967296.0*+(E|0))/1.0e6;ki(0,0);li(0,1,79,112536,p);li(0,2,111,112568,j);G=hi()|0;if((G|0)!=0?(a[G+140>>0]&2)!=0:0){H=+g[G>>2];I=-H;J=+g[G+4>>2];K=-J;L=+g[G+8>>2];M=+g[G+12>>2];N=I-H;H=K-J;J=L+L;R=N*I;I=N*K;V=N*L;W=N*M;N=H*K;K=H*L;X=H*M;H=L*J;L=J*M;M=1.0-(N+H);g[j>>2]=M;J=I-L;g[j+4>>2]=J;Y=V+X;g[j+8>>2]=Y;g[j+12>>2]=0.0;Z=I+L;g[j+16>>2]=Z;L=1.0-(R+H);g[j+20>>2]=L;H=K-W;g[j+24>>2]=H;g[j+28>>2]=0.0;I=V-X;g[j+32>>2]=I;X=K+W;g[j+36>>2]=X;W=1.0-(R+N);g[j+40>>2]=W;F=j+44|0;c[F>>2]=0;c[F+4>>2]=0;g[j+60>>2]=1.0;g[j+48>>2]=-(Z*0.0+M*0.0-I*50.0);g[j+52>>2]=-(J*0.0+L*0.0-X*50.0);g[j+56>>2]=-(Y*0.0+H*0.0-W*50.0);W=+g[G+28>>2];H=+g[G+32>>2];Y=+g[G+36>>2];X=+g[G+40>>2];L=2.0/(Y+X);J=2.0/(W+H);I=(Y-X)*L*.5;X=(W-H)*J*.5;_=p;aa=_+64|0;do{c[_>>2]=0;_=_+4|0}while((_|0)<(aa|0));g[p>>2]=L;g[p+20>>2]=J;g[p+32>>2]=I;g[p+36>>2]=-X;g[p+40>>2]=1.001001000404358;g[p+44>>2]=1.0;g[p+56>>2]=-.10010010004043579;qi(0,j,p,1,0);oi(0,0,0,b[G+128>>1]|0,b[G+130>>1]|0)}else{_=j;aa=_+56|0;do{c[_>>2]=0;_=_+4|0}while((_|0)<(aa|0));g[j>>2]=1.0;g[j+4>>2]=0.0;g[j+8>>2]=0.0;g[j+16>>2]=0.0;g[j+20>>2]=1.0;g[j+24>>2]=0.0;g[j+32>>2]=0.0;g[j+36>>2]=0.0;g[j+40>>2]=1.0;g[j+48>>2]=-0.0;g[j+52>>2]=-0.0;g[j+56>>2]=50.0;g[j+60>>2]=1.0;X=1.0/+U(.5235987901687622);I=X/(+((c[w>>2]|0)>>>0)/+((c[x>>2]|0)>>>0));_=p;aa=_+64|0;do{c[_>>2]=0;_=_+4|0}while((_|0)<(aa|0));g[p>>2]=I;g[p+20>>2]=X;g[p+32>>2]=0.0;g[p+36>>2]=-0.0;g[p+40>>2]=1.001001000404358;g[p+44>>2]=1.0;g[p+56>>2]=-.10010010004043579;qi(0,j,p,1,0);oi(0,0,0,c[w>>2]&65535,c[x>>2]&65535)}mi(q,32768,8);x=0;do{X=+(x>>>0);I=X*.3700000047683716;g[p+(x<<4)>>2]=+T(+(I+z*(X*.20999999344348907)))*8.0;g[p+(x<<4)+4>>2]=+T(+(X*.6700000166893005+z*I))*8.0;I=X*.12999999523162842;g[p+(x<<4)+8>>2]=+S(+(I+z*(X*.10999999940395355)))*8.0;g[p+(x<<4)+12>>2]=1.0/((+T(+(z*I))*.5+.5)*2.0+2.0);x=x+1|0}while((x|0)!=16);I=+dd()*1.0e3;x=d+24|0;w=c[x>>2]|0;G=0;do{F=G<<5;X=+(G>>>0)+-16.0;B=0;do{A=B+F<<5;J=+(B>>>0)+-16.0;ca=0;do{L=+(ca>>>0)+-16.0;H=0.0;da=0;W=1.0;while(1){Y=+g[p+(da<<4)>>2]-L;M=+g[p+(da<<4)+4>>2]-J;Z=+g[p+(da<<4)+8>>2]-X;N=+g[p+(da<<4)+12>>2];R=N*N*(Y*Y+M*M+Z*Z);Z=W+H*R;M=W*R;da=da+1|0;if((da|0)==16){ea=Z;fa=M;break}else{H=Z;W=M}}g[w+(ca+A<<4)>>2]=ea/fa+-1.0;ca=ca+1|0}while((ca|0)!=32);B=B+1|0}while((B|0)!=32);G=G+1|0}while((G|0)!=32);G=~~I>>>0;w=+P(I)>=1.0?(I>0.0?~~+ba(+O(I/4294967296.0),4294967295.0)>>>0:~~+$((I-+(~~I>>>0))/4294967296.0)>>>0):0;I=+dd()*1.0e3;p=~~I>>>0;B=+P(I)>=1.0?(I>0.0?~~+ba(+O(I/4294967296.0),4294967295.0)>>>0:~~+$((I-+(~~I>>>0))/4294967296.0)>>>0):0;I=+dd()*1.0e3;F=c[x>>2]|0;ca=1;do{A=ca<<5;da=1;do{ga=da+A<<5;ha=1;do{ia=ha+ga|0;fa=+g[F+(ia+-1<<4)>>2]-+g[F+(ia+1<<4)>>2];ea=+g[F+(ia+-32<<4)>>2]-+g[F+(ia+32<<4)>>2];X=+g[F+(ia+-1024<<4)>>2]-+g[F+(ia+1024<<4)>>2];J=1.0/+Q(+(fa*fa+ea*ea+X*X));g[F+(ia<<4)+4>>2]=fa*J;g[F+(ia<<4)+8>>2]=ea*J;g[F+(ia<<4)+12>>2]=X*J;ha=ha+1|0}while((ha|0)!=31);da=da+1|0}while((da|0)!=31);ca=ca+1|0}while((ca|0)!=31);ca=Yo(p|0,B|0,G|0,w|0)|0;w=E;G=~~I>>>0;B=+P(I)>=1.0?(I>0.0?~~+ba(+O(I/4294967296.0),4294967295.0)>>>0:~~+$((I-+(~~I>>>0))/4294967296.0)>>>0):0;I=+dd()*1.0e3;p=~~I>>>0;F=+P(I)>=1.0?(I>0.0?~~+ba(+O(I/4294967296.0),4294967295.0)>>>0:~~+$((I-+(~~I>>>0))/4294967296.0)>>>0):0;I=+dd()*1.0e3;da=r+8|0;A=r+20|0;ha=r+4|0;ga=r+16|0;ia=r+12|0;ja=s+4|0;ka=s+8|0;la=t+4|0;ma=t+8|0;na=t+12|0;oa=t+16|0;pa=t+20|0;qa=t+24|0;ra=t+28|0;sa=0;ta=c[q>>2]|0;ua=0;while(1){J=+(ua>>>0);g[da>>2]=J*.032258063554763794;va=ua;ua=ua+1|0;g[A>>2]=+(ua>>>0)*.032258063554763794;if((sa+12|0)>>>0<32768){wa=va<<5;X=J+-16.0;va=sa;xa=ta;ya=0;while(1){za=ya+wa<<5;J=+(ya>>>0);g[ha>>2]=J*.032258063554763794;ya=ya+1|0;g[ga>>2]=+(ya>>>0)*.032258063554763794;if((va+12|0)>>>0<32768){ea=J+-16.0;Aa=va;Ba=xa;Ca=0;while(1){Da=Ca+za|0;J=+(Ca>>>0);g[r>>2]=J*.032258063554763794;Ca=Ca+1|0;g[ia>>2]=+(Ca>>>0)*.032258063554763794;g[s>>2]=J+-16.0;g[ja>>2]=ea;g[ka>>2]=X;Ea=c[x>>2]|0;c[t>>2]=Ea+(Da+1056<<4);c[la>>2]=Ea+(Da+1057<<4);c[ma>>2]=Ea+(Da+33<<4);c[na>>2]=Ea+(Da+32<<4);c[oa>>2]=Ea+(Da+1024<<4);c[pa>>2]=Ea+(Da+1025<<4);c[qa>>2]=Ea+(Da+1<<4);c[ra>>2]=Ea+(Da<<4);Da=th(Ba,e[6]|0,r,s,t,.5)|0;Ea=Ba+(Da*28|0)|0;Fa=Da+Aa|0;if(!(Ca>>>0<31&(Fa+12|0)>>>0<32768)){Ga=Fa;Ha=Ea;break}else{Aa=Fa;Ba=Ea}}}else{Ga=va;Ha=xa}if(!(ya>>>0<31&(Ga+12|0)>>>0<32768)){Ia=Ga;Ja=Ha;break}else{va=Ga;xa=Ha}}}else{Ia=sa;Ja=ta}if(!(ua>>>0<31&(Ia+12|0)>>>0<32768)){Ka=Ia;break}else{sa=Ia;ta=Ja}}Ja=Yo(p|0,F|0,G|0,B|0)|0;B=E;G=+P(I)>=1.0?(I>0.0?~~+ba(+O(I/4294967296.0),4294967295.0)>>>0:~~+$((I-+(~~I>>>0))/4294967296.0)>>>0):0;X=+dd()*1.0e3;F=Yo(~~X>>>0|0,(+P(X)>=1.0?(X>0.0?~~+ba(+O(X/4294967296.0),4294967295.0)>>>0:~~+$((X-+(~~X>>>0))/4294967296.0)>>>0):0)|0,~~I>>>0|0,G|0)|0;G=E;I=z*.6700000166893005;X=+T(+I);ea=+S(+I);I=+T(+z);J=+S(+z);_=u;aa=_+60|0;do{c[_>>2]=0;_=_+4|0}while((_|0)<(aa|0));g[u>>2]=J;g[u+8>>2]=I;g[u+16>>2]=X*I;g[u+20>>2]=ea;g[u+24>>2]=-(X*J);g[u+32>>2]=-(ea*I);g[u+36>>2]=X;g[u+40>>2]=ea*J;g[u+60>>2]=1.0;si(u,1)|0;ti(q,0,Ka);ri(23,268435472,0);b[v>>1]=b[d+20>>1]|0;b[j>>1]=b[v>>1]|0;vi(0,j,0)|0;c[o>>2]=Ka;h[o+8>>3]=+(Ka>>>0)*.000030517578125*100.0;li(1,4,15,112640,o);h[n>>3]=(+(ca>>>0)+4294967296.0*+(w|0))*.001;li(1,5,15,112672,n);h[m>>3]=(+(Ja>>>0)+4294967296.0*+(B|0))*.001;li(1,6,15,112704,m);h[l>>3]=(+(F>>>0)+4294967296.0*+(G|0))*.001;li(1,7,15,112736,l);h[k>>3]=(+(D>>>0)+4294967296.0*+(C|0))*.001;li(1,8,15,112768,k);gi()|0;y=1;i=f;return y|0}function Cl(a){a=a|0;return}function Dl(){yh(8);return}function El(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[e>>2]|0;g=c[d+19737656>>2]|0;h=f<<24>>24;i=(f<<16>>24)-h+(h*65600|0)|0;h=(f<<8>>24)-i+(i*65600|0)|0;i=(f>>24)-h+(h*65600|0)&((c[d+19737660>>2]|0)-g>>2)+-2;h=c[g+(i+1<<2)>>2]|0;j=c[g+(i<<2)>>2]|0;a:do if((j|0)!=(h|0)){i=j;while(1){if((c[i>>2]|0)==(f|0)){k=i;break}i=c[i+8>>2]|0;if((i|0)==(h|0))break a}if((k|0)!=0?(i=b[k+4>>1]|0,i<<16>>16!=-1):0){l=i;return l|0}}while(0);k=d+19657992|0;h=b[k>>1]|0;f=b[d+19657994>>1]|0;if((h&65535)<(f&65535)){b[k>>1]=h+1<<16>>16;j=k+4|0;k=b[j+((h&65535)<<1)>>1]|0;b[j+((k&65535)+(f&65535)<<1)>>1]=h;m=k}else m=-1;k=c[d+18732228>>2]|0;d=k+18572948|0;a[(c[d>>2]|0)+(k+18572956)>>0]=2;h=(c[d>>2]|0)+2&-2;c[d>>2]=h;f=k+18572956+h|0;a[f>>0]=m;a[f+1>>0]=m>>8;f=(c[d>>2]|0)+5&-4;c[d>>2]=f;h=k+18572956+f|0;f=e;e=h+72|0;do{a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0}while((h|0)<(e|0));c[d>>2]=(c[d>>2]|0)+72;l=m;return l|0}function Fl(d,e,f){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,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;g=d+4|0;a[g>>0]=0;h=c[e+4>>2]|0;i=e+8|0;j=c[f>>2]|0;k=j<<24>>24;l=(j<<16>>24)-k+(k*65600|0)|0;k=(j<<8>>24)-l+(l*65600|0)|0;l=(j>>24)-k+(k*65600|0)&((c[i>>2]|0)-h>>2)+-2;k=c[h+(l+1<<2)>>2]|0;m=c[h+(l<<2)>>2]|0;a:do if((m|0)!=(k|0)){l=m;while(1){if((c[l>>2]|0)==(j|0)){n=l;break}l=c[l+8>>2]|0;if((l|0)==(k|0)){o=4;break a}}c[d>>2]=n;if(n)return}else o=4;while(0);if((o|0)==4)c[d>>2]=0;n=c[20]|0;k=Sg[c[(c[n>>2]|0)+8>>2]&3](n,16,0,0,0)|0;c[k>>2]=c[f>>2];b[k+4>>1]=b[f+4>>1]|0;n=k+12|0;c[n>>2]=0;j=k+8|0;c[j>>2]=0;m=e+4|0;l=c[m>>2]|0;h=(c[i>>2]|0)-l|0;p=c[f>>2]|0;f=p<<24>>24;q=(p<<16>>24)-f+(f*65600|0)|0;f=(p<<8>>24)-q+(q*65600|0)|0;q=(p>>24)-f+(f*65600|0)&(h>>2)+-2;f=c[l+(q+1<<2)>>2]|0;c[j>>2]=f;do if(!f){b:do if(!q)r=0;else{j=q;while(1){if(c[l+(j<<2)>>2]|0){r=j;break b}j=j+-1|0;if(!j){r=0;break}}}while(0);j=c[l+(r<<2)>>2]|0;while(1){if(!j){o=16;break}p=j+8|0;s=c[p>>2]|0;if(!s){t=p;u=j;o=15;break}else j=s}if((o|0)==15){c[n>>2]=u;c[t>>2]=k;break}else if((o|0)==16){c[n>>2]=0;break}}else{j=f+12|0;c[n>>2]=c[j>>2];c[j>>2]=k;j=c[n>>2]|0;if(j)c[j+8>>2]=k}while(0);n=l+(q<<2)|0;c:do if((f|0)==(c[n>>2]|0)){t=n;u=q;do{c[t>>2]=k;if(!u)break c;u=u+-1|0;t=l+(u<<2)|0}while((f|0)==(c[t>>2]|0))}while(0);f=c[e>>2]|0;c[e>>2]=f+1;if((f+2|0)>>>0>h>>>0){h=c[m>>2]|0;f=c[h>>2]|0;l=c[i>>2]|0;q=h;n=l-q<<1;c[i>>2]=h;t=n+-7|0;u=e+12|0;if((h+(t<<2)|0)>>>0>(c[u>>2]|0)>>>0){e=c[20]|0;r=Sg[c[(c[e>>2]|0)+8>>2]&3](e,t<<2,0,0,0)|0;e=c[m>>2]|0;j=c[i>>2]|0;if((e|0)==(j|0)){v=m;w=e}else{s=r;p=e;while(1){c[s>>2]=c[p>>2];p=p+4|0;if((p|0)==(j|0))break;else s=s+4|0}v=m;w=c[m>>2]|0}if(w){s=c[20]|0;Jg[c[(c[s>>2]|0)+12>>2]&31](s,w,0,0,0)}c[v>>2]=r;c[i>>2]=r;c[u>>2]=r+(t<<2);x=r}else x=h;if((t|0)>0){Xo(x|0,0,x+((l<<1)+-7-(q<<1)<<2)+~x+4&-4|0)|0;q=c[m>>2]|0;y=q;z=q}else{y=x;z=c[m>>2]|0}c[i>>2]=y+(t<<2);if(f){t=n+-9|0;n=f;do{f=n+8|0;y=n;n=c[f>>2]|0;i=y+12|0;c[i>>2]=0;c[f>>2]=0;m=c[y>>2]|0;x=m<<24>>24;q=(m<<16>>24)-x+(x*65600|0)|0;x=(m<<8>>24)-q+(q*65600|0)|0;q=(m>>24)-x+(x*65600|0)&t;x=c[z+(q+1<<2)>>2]|0;c[f>>2]=x;do if(!x){d:do if(!q)A=0;else{f=q;while(1){if(c[z+(f<<2)>>2]|0){A=f;break d}f=f+-1|0;if(!f){A=0;break}}}while(0);f=c[z+(A<<2)>>2]|0;while(1){if(!f){o=44;break}m=f+8|0;l=c[m>>2]|0;if(!l){B=m;C=f;o=43;break}else f=l}if((o|0)==43){o=0;c[i>>2]=C;c[B>>2]=y;break}else if((o|0)==44){o=0;c[i>>2]=0;break}}else{f=x+12|0;c[i>>2]=c[f>>2];c[f>>2]=y;f=c[i>>2]|0;if(f)c[f+8>>2]=y}while(0);i=z+(q<<2)|0;e:do if((x|0)==(c[i>>2]|0)){f=i;l=q;do{c[f>>2]=y;if(!l)break e;l=l+-1|0;f=z+(l<<2)|0}while((x|0)==(c[f>>2]|0))}while(0)}while((n|0)!=0)}}c[d>>2]=k;a[g>>0]=1;return}function Gl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;e=d+14345792|0;f=d+14345624|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+14345652>>2]=-1;c[d+14345656>>2]=0;c[d+14345660>>2]=-1;c[d+14345664>>2]=0;b[d+14345668>>1]=0;b[d+14345670>>1]=1;b[d+14345672>>1]=0;b[d+14345674>>1]=-1;b[d+14345676>>1]=1;e=d+14345616|0;c[e>>2]=1;c[e+4>>2]=0;b[d+14345678>>1]=-1;e=d+14345682|0;b[d+14345488>>1]=-1;b[d+14345496>>1]=-1;b[d+14345504>>1]=-1;b[d+14345512>>1]=-1;b[d+14345520>>1]=-1;b[d+14345528>>1]=-1;b[d+14345536>>1]=-1;b[d+14345544>>1]=-1;b[d+14345552>>1]=-1;b[d+14345560>>1]=-1;b[d+14345568>>1]=-1;b[d+14345576>>1]=-1;b[d+14345584>>1]=-1;b[d+14345592>>1]=-1;b[d+14345600>>1]=-1;b[d+14345608>>1]=-1;b[e>>1]=65535;b[e+2>>1]=65535;b[e+4>>1]=65535;b[e+6>>1]=65535;b[e+8>>1]=65535;c[d+14345760>>2]=0;c[d+14345764>>2]=0;c[d+14345768>>2]=0;b[d+14345774>>1]=0;b[d+14345776>>1]=0;b[d+14345778>>1]=0;b[d+14345784>>1]=0;a[d+14345786>>0]=1;b[d+14345772>>1]=-1;b[d+14345780>>1]=0;b[d+14345782>>1]=-1;b[d+14345696>>1]=-1;b[d+14345704>>1]=-1;b[d+14345712>>1]=-1;b[d+14345720>>1]=-1;b[d+14345728>>1]=-1;b[d+14345736>>1]=-1;b[d+14345744>>1]=-1;b[d+14345752>>1]=-1;c[d+18540128>>2]=1;c[d+18572912>>2]=0;c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;b[d+14345812>>1]=0;b[d+14345814>>1]=0;b[d+14345816>>1]=0;c[d+18572916>>2]=0;c[d+18572920>>2]=0;e=c[d+14345808>>2]|0;f=e+4|0;c[f>>2]=0;a[d+18732168>>0]=0;a[d+18572956>>0]=17;c[d+18572952>>2]=1;c[d+18572948>>2]=0;a[d+18638500>>0]=17;c[d+18638496>>2]=1;c[d+18638492>>2]=0;g=c[f>>2]|0;if((g+4|0)>>>0>=(c[e>>2]|0)>>>0){c[f>>2]=0;h=d+18704036|0;b[h>>1]=0;b[h+2>>1]=0;b[h+4>>1]=0;b[h+6>>1]=0;b[h+8>>1]=0;b[h+10>>1]=0;b[h+12>>1]=0;b[h+14>>1]=0;return}i=e+8+g|0;a[i>>0]=1;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0;c[f>>2]=(c[f>>2]|0)+4;c[f>>2]=0;h=d+18704036|0;b[h>>1]=0;b[h+2>>1]=0;b[h+4>>1]=0;b[h+6>>1]=0;b[h+8>>1]=0;b[h+10>>1]=0;b[h+12>>1]=0;b[h+14>>1]=0;return}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=b<<24>>24;g=(b<<16>>24)-f+(f*65600|0)|0;f=(b<<8>>24)-g+(g*65600|0)|0;g=((c[a+20>>2]|0)-e>>2)+-2|0;h=g&(b>>24)-f+(f*65600|0);f=c[e+(h+1<<2)>>2]|0;i=c[e+(h<<2)>>2]|0;if((i|0)==(f|0))return;else j=i;while(1){i=j;if((c[i>>2]|0)==(b|0)?(c[i+4>>2]|0)==(d|0):0){k=j;break}j=c[j+12>>2]|0;if((j|0)==(f|0)){l=13;break}}if((l|0)==13)return;if(!k)return;l=k;f=c[l>>2]|0;j=c[l+4>>2]|0;l=c[k+8>>2]|0;d=Zn(24)|0;b=d+8|0;c[b>>2]=f;c[b+4>>2]=j;c[d+16>>2]=l;c[d>>2]=a;l=a+4|0;j=c[l>>2]|0;c[d+4>>2]=j;c[j>>2]=d;c[l>>2]=d;d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[k>>2]|0;l=d<<24>>24;j=(d<<16>>24)-l+(l*65600|0)|0;l=(d<<8>>24)-j+(j*65600|0)|0;j=(d>>24)-l+(l*65600|0)&g;g=k+12|0;l=c[g>>2]|0;d=e+(j<<2)|0;a:do if((c[d>>2]|0)==(k|0)){b=d;f=j;do{c[b>>2]=l;if(!f)break a;f=f+-1|0;b=e+(f<<2)|0}while((c[b>>2]|0)==(k|0))}while(0);e=c[k+16>>2]|0;if(e)c[e+12>>2]=c[g>>2];if(l)c[l+16>>2]=e;e=c[20]|0;Jg[c[(c[e>>2]|0)+12>>2]&31](e,k,0,0,0);k=a+12|0;c[k>>2]=(c[k>>2]|0)+-1;return}function Il(a){a=a|0;return}function Jl(a){a=a|0;$n(a+-4|0);return}function Kl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){f=a+12|0;c[f>>2]=b;c[f+4>>2]=d;g=d;h=b;E=g;return h|0}else if((e|0)==2){f=a+20|0;i=c[f>>2]|0;j=c[f+4>>2]|0;f=Yo(i|0,j|0,b|0,d|0)|0;k=E;l=(k|0)<(j|0)|(k|0)==(j|0)&f>>>0<i>>>0;m=l?k:j;j=(m|0)<0;k=j?0:l?f:i;i=j?0:m;m=a+12|0;c[m>>2]=k;c[m+4>>2]=i;g=i;h=k;E=g;return h|0}else if((e|0)==1){e=a+12|0;k=e;i=Zo(c[k>>2]|0,c[k+4>>2]|0,b|0,d|0)|0;d=E;b=a+20|0;k=c[b>>2]|0;m=c[b+4>>2]|0;b=(d|0)<(m|0)|(d|0)==(m|0)&i>>>0<k>>>0;j=b?d:m;m=(j|0)<0;d=m?0:b?i:k;k=m?0:j;j=e;c[j>>2]=d;c[j+4>>2]=k;g=k;h=d;E=g;return h|0}else{d=a+12|0;g=c[d+4>>2]|0;h=c[d>>2]|0;E=g;return h|0}return 0}function Ll(a){a=a|0;return}function Ml(a){a=a|0;$n(a);return}function Nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){f=a+16|0;c[f>>2]=b;c[f+4>>2]=d;g=d;h=b;E=g;return h|0}else if((e|0)==2){f=a+24|0;i=c[f>>2]|0;j=c[f+4>>2]|0;f=Yo(i|0,j|0,b|0,d|0)|0;k=E;l=(k|0)<(j|0)|(k|0)==(j|0)&f>>>0<i>>>0;m=l?k:j;j=(m|0)<0;k=j?0:l?f:i;i=j?0:m;m=a+16|0;c[m>>2]=k;c[m+4>>2]=i;g=i;h=k;E=g;return h|0}else if((e|0)==1){e=a+16|0;k=e;i=Zo(c[k>>2]|0,c[k+4>>2]|0,b|0,d|0)|0;d=E;b=a+24|0;k=c[b>>2]|0;m=c[b+4>>2]|0;b=(d|0)<(m|0)|(d|0)==(m|0)&i>>>0<k>>>0;j=b?d:m;m=(j|0)<0;d=m?0:b?i:k;k=m?0:j;j=e;c[j>>2]=d;c[j+4>>2]=k;g=k;h=d;E=g;return h|0}else{d=a+16|0;g=c[d+4>>2]|0;h=c[d>>2]|0;E=g;return h|0}return 0}function Ol(a){a=a|0;return}function Pl(a){a=a|0;$n(a);return}function Ql(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d>>>0<9){g=Po(b)|0;return g|0}else{h=Sg[c[(c[a>>2]|0)+8>>2]&3](a,d+b|0,0,e,f)|0;f=d+3+h&0-d;d=f;c[d+-4>>2]=f-h;g=d;return g|0}return 0}function Rl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!b)return;if(d>>>0<9){Qo(b);return}else{Jg[c[(c[a>>2]|0)+12>>2]&31](a,b+(0-(c[b+-4>>2]|0))|0,0,e,f);return}}function Sl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(e>>>0<9){h=Ro(b,d)|0;return h|0}if(!b){i=Sg[c[(c[a>>2]|0)+8>>2]&3](a,e+d|0,0,f,g)|0;j=e+3+i&0-e;k=j;c[k+-4>>2]=j-i;h=k;return h|0}k=c[b+-4>>2]|0;i=Og[c[(c[a>>2]|0)+16>>2]&3](a,b+(0-k)|0,e+d|0,0,f,g)|0;g=i;f=e+3+g&0-e;e=f;if((e|0)==(b|0)){h=b;return h|0}_o(e|0,i+k|0,d|0)|0;c[e+-4>>2]=f-g;h=e;return h|0}function Tl(a){a=a|0;return}function Ul(a){a=a|0;$n(a);return}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;if(!b){c[0]=3;return}else Oe()}function Wl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a=i;i=i+16|0;g=a;c[g>>2]=b;c[g+4>>2]=d&65535;xh(112512,g);wh(e,f);i=a;return}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Yl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Zl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function _l(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0;j=i;i=i+16|0;b=j;l=(Vo(d|0)|0)+5|0;m=i;i=i+((1*l|0)+15&-16)|0;$o(m|0,d|0)|0;d=m+(Vo(m|0)|0)|0;a[d>>0]=a[112504]|0;a[d+1>>0]=a[112505]|0;a[d+2>>0]=a[112506]|0;a[d+3>>0]=a[112507]|0;a[d+4>>0]=a[112508]|0;c[b>>2]=42944;c[b+4>>2]=42976;d=b+8|0;l=Ue(m|0,112496)|0;c[d>>2]=l;if(!l){i=j;return}Di(b,e,f,g,h,0,k);ze(c[d>>2]|0)|0;i=j;return}function $l(a){a=a|0;return}function am(a){a=a|0;$n(a+-4|0);return}function bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=a+-4+8|0;Rf(c[d>>2]|0,b|0,e|0)|0;e=xg(c[d>>2]|0)|0;E=((e|0)<0)<<31>>31;return e|0}function cm(a){a=a|0;return}function dm(a){a=a|0;$n(a);return}function em(a,b,d){a=a|0;b=b|0;d=d|0;return Nf(b|0,1,d|0,c[a+8>>2]|0)|0}function fm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=a+8|0;Rf(c[d>>2]|0,b|0,e|0)|0;e=xg(c[d>>2]|0)|0;E=((e|0)<0)<<31>>31;return e|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d)e=Ue(b|0,112488)|0;else e=Ue(b|0,112496)|0;c[a+8>>2]=e;return (e|0)==0|0}function hm(a){a=a|0;ze(c[a+8>>2]|0)|0;return 0}function im(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return}function jm(a){a=a|0;return}function km(a,b,c){a=a|0;b=b|0;c=c|0;return}function lm(a){a=a|0;return}function mm(a){a=a|0;$n(a+-4|0);return}function nm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e){f=a+12|0;c[f>>2]=b;c[f+4>>2]=d;g=d;h=b;E=g;return h|0}else if((e|0)==1){f=a+12|0;i=f;j=Zo(c[i>>2]|0,c[i+4>>2]|0,b|0,d|0)|0;i=E;k=a+20|0;l=c[k>>2]|0;m=c[k+4>>2]|0;k=(i|0)<(m|0)|(i|0)==(m|0)&j>>>0<l>>>0;n=k?i:m;m=(n|0)<0;i=m?0:k?j:l;l=m?0:n;n=f;c[n>>2]=i;c[n+4>>2]=l;g=l;h=i;E=g;return h|0}else if((e|0)==2){e=a+20|0;i=c[e>>2]|0;l=c[e+4>>2]|0;e=Yo(i|0,l|0,b|0,d|0)|0;d=E;b=(d|0)<(l|0)|(d|0)==(l|0)&e>>>0<i>>>0;n=b?d:l;l=(n|0)<0;d=l?0:b?e:i;i=l?0:n;n=a+12|0;c[n>>2]=d;c[n+4>>2]=i;g=i;h=d;E=g;return h|0}else{d=a+12|0;g=c[d+4>>2]|0;h=c[d>>2]|0;E=g;return h|0}return 0}function om(a){a=a|0;return}function pm(a){a=a|0;$n(a);return}function qm(a){a=a|0;$n(a);return}function rm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==2){f=a+24|0;g=c[f>>2]|0;h=c[f+4>>2]|0;f=Yo(g|0,h|0,b|0,d|0)|0;i=E;j=(i|0)<(h|0)|(i|0)==(h|0)&f>>>0<g>>>0;k=j?i:h;h=(k|0)<0;i=h?0:j?f:g;g=h?0:k;k=a+16|0;c[k>>2]=i;c[k+4>>2]=g;l=g;m=i;E=l;return m|0}else if((e|0)==1){i=a+16|0;g=i;k=Zo(c[g>>2]|0,c[g+4>>2]|0,b|0,d|0)|0;g=E;h=a+24|0;f=c[h>>2]|0;j=c[h+4>>2]|0;h=(g|0)<(j|0)|(g|0)==(j|0)&k>>>0<f>>>0;n=h?g:j;j=(n|0)<0;g=j?0:h?k:f;f=j?0:n;n=i;c[n>>2]=g;c[n+4>>2]=f;l=f;m=g;E=l;return m|0}else if(!e){e=a+16|0;c[e>>2]=b;c[e+4>>2]=d;l=d;m=b;E=l;return m|0}else{b=a+16|0;l=c[b+4>>2]|0;m=c[b>>2]|0;E=l;return m|0}return 0}function sm(a){a=a|0;return}function tm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+12|0;c[b>>2]=e;f=b+4|0;c[f>>2]=e;g=b+8|0;c[g>>2]=b+24;if(a[d>>0]|0){h=d;i=0;while(1){j=i+1|0;h=h+1|0;if(!(a[h>>0]|0)){k=j;l=i;break}else i=j}i=l+2|0;if((i|0)>12){l=c[20]|0;h=Sg[c[(c[l>>2]|0)+8>>2]&3](l,i,0,0,0)|0;i=c[b>>2]|0;l=c[f>>2]|0;if((i|0)==(l|0))m=i;else{j=i;i=h;while(1){a[i>>0]=a[j>>0]|0;j=j+1|0;if((j|0)==(l|0))break;else i=i+1|0}m=c[b>>2]|0}if(!((m|0)==(e|0)|(m|0)==0)){e=c[20]|0;Jg[c[(c[e>>2]|0)+12>>2]&31](e,m,0,0,0)}c[b>>2]=h;c[f>>2]=h;c[g>>2]=h+k;n=k}else n=k}else n=0;um(b,d,d+n|0);return}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=b+4|0;g=c[f>>2]|0;h=c[b>>2]|0;i=g-h|0;j=1-d+e+i|0;k=b+8|0;l=c[k>>2]|0;if((h+j|0)>>>0>l>>>0?(m=(j*3|0)>>>1,j=m+1|0,(h+j|0)>>>0>l>>>0):0){l=c[20]|0;h=Sg[c[(c[l>>2]|0)+8>>2]&3](l,j,0,0,0)|0;j=c[b>>2]|0;l=c[f>>2]|0;if((j|0)==(l|0))n=j;else{o=j;j=h;while(1){a[j>>0]=a[o>>0]|0;o=o+1|0;if((o|0)==(l|0))break;else j=j+1|0}n=c[b>>2]|0}if(!((n|0)==(b+12|0)|(n|0)==0)){j=c[20]|0;Jg[c[(c[j>>2]|0)+12>>2]&31](j,n,0,0,0)}c[b>>2]=h;b=h+i|0;c[f>>2]=b;c[k>>2]=h+m;p=b}else p=g;if((d|0)==(e|0)){q=p;a[q>>0]=0;return}else{r=d;s=p}while(1){a[s>>0]=a[r>>0]|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;r=r+1|0;if((r|0)==(e|0)){q=p;break}else s=p}a[q>>0]=0;return}function vm(d,e,f){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,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;g=d+4|0;a[g>>0]=0;h=c[e+4>>2]|0;i=e+8|0;j=(c[i>>2]|0)-h>>2;k=c[f>>2]|0;l=f+4|0;m=c[l>>2]|0;if((m|0)==(k|0))n=0;else{o=0;p=k;while(1){q=(a[p>>0]|0)-o+(o*65600|0)|0;p=p+1|0;if((p|0)==(m|0)){n=q;break}else o=q}}o=n&j+-2;j=c[h+(o+1<<2)>>2]|0;n=c[h+(o<<2)>>2]|0;a:do if((n|0)!=(j|0)){o=m-k|0;h=n;b:while(1){p=c[h+4>>2]|0;q=c[h>>2]|0;if((p-q|0)==(o|0)){r=q;q=k;while(1){if((r|0)==(p|0)){s=h;break b}if((a[r>>0]|0)==(a[q>>0]|0)){r=r+1|0;q=q+1|0}else break}}h=c[h+28>>2]|0;if((h|0)==(j|0)){t=9;break a}}c[d>>2]=s;if(s)return}else t=9;while(0);if((t|0)==9)c[d>>2]=0;s=c[20]|0;j=Sg[c[(c[s>>2]|0)+8>>2]&3](s,36,0,0,0)|0;s=j+12|0;c[j>>2]=s;k=j+4|0;c[k>>2]=s;n=j+8|0;m=j+24|0;c[n>>2]=m;h=c[l>>2]|0;o=c[f>>2]|0;q=h-o|0;r=q+1|0;if((r|0)>12){p=c[20]|0;u=Sg[c[(c[p>>2]|0)+8>>2]&3](p,r,0,0,0)|0;r=c[j>>2]|0;p=c[k>>2]|0;if((r|0)==(p|0))v=r;else{w=r;r=u;while(1){a[r>>0]=a[w>>0]|0;w=w+1|0;if((w|0)==(p|0))break;else r=r+1|0}v=c[j>>2]|0}if(!((v|0)==(s|0)|(v|0)==0)){s=c[20]|0;Jg[c[(c[s>>2]|0)+12>>2]&31](s,v,0,0,0)}c[j>>2]=u;c[k>>2]=u;c[n>>2]=u+q;x=c[f>>2]|0;y=c[l>>2]|0}else{x=o;y=h}um(j,x,y);b[m>>1]=b[f+24>>1]|0;m=j+32|0;c[m>>2]=0;y=j+28|0;c[y>>2]=0;x=e+4|0;h=c[x>>2]|0;o=(c[i>>2]|0)-h|0;q=o>>2;u=c[f>>2]|0;f=c[l>>2]|0;if((f|0)==(u|0))z=0;else{l=0;n=u;while(1){u=(a[n>>0]|0)-l+(l*65600|0)|0;n=n+1|0;if((n|0)==(f|0)){z=u;break}else l=u}}l=z&q+-2;q=c[h+(l+1<<2)>>2]|0;c[y>>2]=q;do if(!q){c:do if(!l)A=0;else{y=l;while(1){if(c[h+(y<<2)>>2]|0){A=y;break c}y=y+-1|0;if(!y){A=0;break}}}while(0);y=c[h+(A<<2)>>2]|0;while(1){if(!y){t=30;break}z=y+28|0;f=c[z>>2]|0;if(!f){B=z;C=y;t=29;break}else y=f}if((t|0)==29){c[m>>2]=C;c[B>>2]=j;break}else if((t|0)==30){c[m>>2]=0;break}}else{y=q+32|0;c[m>>2]=c[y>>2];c[y>>2]=j;y=c[m>>2]|0;if(y)c[y+28>>2]=j}while(0);m=h+(l<<2)|0;d:do if((q|0)==(c[m>>2]|0)){B=m;C=l;do{c[B>>2]=j;if(!C)break d;C=C+-1|0;B=h+(C<<2)|0}while((q|0)==(c[B>>2]|0))}while(0);q=c[e>>2]|0;c[e>>2]=q+1;if((q+2|0)>>>0>o>>>0){o=c[x>>2]|0;q=c[o>>2]|0;h=c[i>>2]|0;l=o;m=h-l<<1;c[i>>2]=o;B=m+-7|0;C=e+12|0;if((o+(B<<2)|0)>>>0>(c[C>>2]|0)>>>0){e=c[20]|0;A=Sg[c[(c[e>>2]|0)+8>>2]&3](e,B<<2,0,0,0)|0;e=c[x>>2]|0;y=c[i>>2]|0;if((e|0)==(y|0)){D=x;E=e}else{f=A;z=e;while(1){c[f>>2]=c[z>>2];z=z+4|0;if((z|0)==(y|0))break;else f=f+4|0}D=x;E=c[x>>2]|0}if(E){f=c[20]|0;Jg[c[(c[f>>2]|0)+12>>2]&31](f,E,0,0,0)}c[D>>2]=A;c[i>>2]=A;c[C>>2]=A+(B<<2);F=A}else F=o;if((B|0)>0){Xo(F|0,0,F+((h<<1)+-7-(l<<1)<<2)+~F+4&-4|0)|0;l=c[x>>2]|0;G=l;H=l}else{G=F;H=c[x>>2]|0}c[i>>2]=G+(B<<2);if(q){B=m+-9|0;m=q;do{q=m+28|0;G=m;m=c[q>>2]|0;i=G+32|0;c[i>>2]=0;c[q>>2]=0;x=c[G>>2]|0;F=c[G+4>>2]|0;if((F|0)==(x|0))I=0;else{l=0;h=x;while(1){x=(a[h>>0]|0)-l+(l*65600|0)|0;h=h+1|0;if((h|0)==(F|0)){I=x;break}else l=x}}l=I&B;F=c[H+(l+1<<2)>>2]|0;c[q>>2]=F;do if(!F){e:do if(!l)J=0;else{h=l;while(1){if(c[H+(h<<2)>>2]|0){J=h;break e}h=h+-1|0;if(!h){J=0;break}}}while(0);h=c[H+(J<<2)>>2]|0;while(1){if(!h){t=60;break}x=h+28|0;o=c[x>>2]|0;if(!o){K=x;L=h;t=59;break}else h=o}if((t|0)==59){t=0;c[i>>2]=L;c[K>>2]=G;break}else if((t|0)==60){t=0;c[i>>2]=0;break}}else{h=F+32|0;c[i>>2]=c[h>>2];c[h>>2]=G;h=c[i>>2]|0;if(h)c[h+28>>2]=G}while(0);i=H+(l<<2)|0;f:do if((F|0)==(c[i>>2]|0)){q=i;h=l;do{c[q>>2]=G;if(!h)break f;h=h+-1|0;q=H+(h<<2)|0}while((F|0)==(c[q>>2]|0))}while(0)}while((m|0)!=0)}}c[d>>2]=j;a[g>>0]=1;return}function wm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=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;g=i;i=i+8192|0;h=g;j=(f|0)==0;Xo(h|0,0,8192)|0;if(j){i=g;return}k=c[a>>2]|0;l=h+((k&2047)<<2)|0;c[l>>2]=(c[l>>2]|0)+1;if((f|0)==1){i=g;return}else{m=k;n=1;o=1}do{k=m;m=c[a+(o<<2)>>2]|0;l=h+((m&2047)<<2)|0;c[l>>2]=(c[l>>2]|0)+1;n=n&k>>>0<=m>>>0;o=o+1|0}while((o|0)!=(f|0));if(n){i=g;return}else{p=0;q=0}while(1){n=h+(p<<2)|0;o=c[n>>2]|0;c[n>>2]=q;p=p+1|0;if((p|0)==2048)break;else q=o+q|0}do if(!j){q=0;do{p=c[a+(q<<2)>>2]|0;o=h+((p&2047)<<2)|0;n=c[o>>2]|0;c[o>>2]=n+1;c[b+(n<<2)>>2]=p;c[e+(n<<2)>>2]=c[d+(q<<2)>>2];q=q+1|0}while((q|0)!=(f|0));Xo(h|0,0,8192)|0;if(!j){q=c[b>>2]|0;n=h+((q>>>11&2047)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;if((f|0)!=1){n=1;p=q;q=1;do{o=p;p=c[b+(n<<2)>>2]|0;m=h+((p>>>11&2047)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;q=q&o>>>0<=p>>>0;n=n+1|0}while((n|0)!=(f|0));if(!q){n=0;p=0;while(1){o=h+(n<<2)|0;m=c[o>>2]|0;c[o>>2]=p;n=n+1|0;if((n|0)==2048)break;else p=m+p|0}if(j){Xo(h|0,0,8192)|0;i=g;return}else r=0;do{p=c[b+(r<<2)>>2]|0;n=h+((p>>>11&2047)<<2)|0;q=c[n>>2]|0;c[n>>2]=q+1;c[a+(q<<2)>>2]=p;c[d+(q<<2)>>2]=c[e+(r<<2)>>2];r=r+1|0}while((r|0)!=(f|0));Xo(h|0,0,8192)|0;if(j){i=g;return}q=c[a>>2]|0;p=h+(q>>>22<<2)|0;c[p>>2]=(c[p>>2]|0)+1;if((f|0)==1){i=g;return}else{s=1;t=q;u=1}do{q=t;t=c[a+(s<<2)>>2]|0;p=h+(t>>>22<<2)|0;c[p>>2]=(c[p>>2]|0)+1;u=u&q>>>0<=t>>>0;s=s+1|0}while((s|0)!=(f|0));if(u){i=g;return}else{v=0;w=0}while(1){q=h+(v<<2)|0;p=c[q>>2]|0;c[q>>2]=w;v=v+1|0;if((v|0)==2048)break;else w=p+w|0}if(j)break;else x=0;do{p=c[a+(x<<2)>>2]|0;q=h+(p>>>22<<2)|0;n=c[q>>2]|0;c[q>>2]=n+1;c[b+(n<<2)>>2]=p;c[e+(n<<2)>>2]=c[d+(x<<2)>>2];x=x+1|0}while((x|0)!=(f|0))}}n=f<<2;Wo(a|0,b|0,n|0)|0;if(j){i=g;return}Wo(d|0,e|0,n|0)|0;i=g;return}}else Xo(h|0,0,8192)|0;while(0);Wo(a|0,b|0,f<<2|0)|0;i=g;return}function xm(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;if(!(e|d)){g=b+595243|0;a[g>>0]=1;return}h=b+595276|0;if(!(c[b+595288>>2]|0)){Bj(h,d,e);g=b+595243|0;a[g>>0]=1;return}i=b+595264|0;j=c[i>>2]|0;if(!((j|0)==0?1:(c[b+595260>>2]|0)==(j|0))?(Id(1,i|0),c[i>>2]=0,i=b+595268|0,(c[i>>2]|0)!=0):0){qf(2,i|0);c[i>>2]=0;c[b+595272>>2]=0}Ej(h,d,e,f);h=f>>>4&7;f=c[b+595228>>2]|0;i=(h|0)==0?0:1<<h;ym(b,d,e,f>>>0>i>>>0?i:f);g=b+595243|0;a[g>>0]=1;return}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a+595264|0;if(!(e>>>0>1&(c[f>>2]|0)==0))return;vd(1,f|0);td(36160,c[f>>2]|0);g=a+595268|0;Df(2,g|0);sc(36161,c[g>>2]|0);Jg[c[448>>2]&31](36161,e,32856,b,d);h=a+595272|0;sc(36161,c[h>>2]|0);Jg[c[448>>2]&31](36161,e,35056,b,d);Nb(36160,36064,36161,c[g>>2]|0);Nb(36160,36096,36161,c[h>>2]|0);td(36160,c[f>>2]|0);return}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)>0){f=b;g=0}else return;while(1){Ng[c[568>>2]&63](a,f);g=g+1|0;if((g|0)==(d|0))break;else f=f+e|0}return}function Am(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if((e|0)>0){g=d;h=0}else return;while(1){Xg[c[576>>2]&63](a,b,g);h=h+1|0;if((h|0)==(e|0))break;else g=g+f|0}return}function Bm(a,b){a=a|0;b=b|0;return}function Cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lf(a|0,b|0,c|0);return}function Dm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;uc(a|0,b|0,c|0,d|0);return}function Em(){return}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if(!a)e=Vo(b|0)|0;else e=a;f=e<<2;e=i;i=i+((1*(f+4|0)|0)+15&-16)|0;Tn(e,b,f|2)|0;Ng[c[416>>2]&63](a,b);i=d;return}function Gm(a,b){a=a|0;b=b|0;return}function Hm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Im(a,b,c){a=a|0;b=b|0;c=c|0;return}function Jm(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=256;b=c[20]|0;Jg[c[(c[b>>2]|0)+12>>2]&31](b,c[a+595176>>2]|0,0,0,0);cl(a+595160|0);b=c[a+595164>>2]|0;Fh(b,(c[a+595172>>2]|0)-b|0);cl(a+595144|0);b=c[a+595148>>2]|0;Fh(b,(c[a+595156>>2]|0)-b|0);Km(a+593036|0);b=c[a+593040>>2]|0;Fh(b,(c[a+593048>>2]|0)-b|0);b=a+252044|0;d=a+405644|0;do{al(d+-16|0);e=c[d+-12>>2]|0;Fh(e,(c[d+-4>>2]|0)-e|0);d=d+-300|0}while((d|0)!=(b|0));b=a+114828|0;d=a+245900|0;do{al(d+-16|0);e=c[d+-12>>2]|0;Fh(e,(c[d+-4>>2]|0)-e|0);d=d+-32|0}while((d|0)!=(b|0));b=a+140|0;d=a+114828|0;do{al(d+-20|0);a=c[d+-16>>2]|0;Fh(a,(c[d+-8>>2]|0)-a|0);d=d+-28|0}while((d|0)!=(b|0));return}function Km(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+4|0;d=c[b>>2]|0;e=c[d>>2]|0;if(!e){f=d;g=d}else{d=e;do{e=d;d=c[d+36>>2]|0;h=c[e>>2]|0;if((h|0)!=(e+12|0))Fh(h,(c[e+8>>2]|0)-h|0);Fh(e,44)}while((d|0)!=0);d=c[b>>2]|0;f=d;g=d}d=a+8|0;c[d>>2]=f;e=a+12|0;h=f;if((g+36|0)>>>0>(c[e>>2]|0)>>>0){i=f-g>>2;f=Eh(36)|0;j=c[b>>2]|0;k=c[d>>2]|0;if((j|0)==(k|0)){l=b;m=j}else{n=f;o=j;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(k|0))break;else n=n+4|0}l=b;m=c[b>>2]|0}Fh(m,36);c[l>>2]=f;l=f+(i<<2)|0;c[d>>2]=l;c[e>>2]=f+36;p=f;q=l}else{p=g;q=h}if(q>>>0>=(p+36|0)>>>0){r=p;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}Xo(q|0,0,p+32+(3-q)+4&-4|0)|0;r=c[b>>2]|0;s=r+36|0;c[d>>2]=s;c[a>>2]=0;return}function Lm(a){a=a|0;Jm(a);$n(a);return}function Mm(a){a=a|0;return 5}function Nm(a){a=a|0;return 117576}function Om(d,f){d=d|0;f=f|0;var g=0,h=0,i=0;if(!(a[d+595243>>0]|0))return;g=b[d+8>>1]|0;h=d+595276|0;if((g&65535)>1){i=g&65535;g=1;do{Ij(h,c[d+590476+((e[d+10+(g<<1)>>1]|0)*40|0)>>2]|0);g=g+1|0}while((g|0)!=(i|0))}a[f+140>>0]=0;b[f+128>>1]=0;b[f+130>>1]=0;Ij(h,0);return}function Pm(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=e[d>>1]|0;d=c[f+4>>2]|0;i=c[f>>2]|0;c[a+140+(h*28|0)+4>>2]=d;b[a+140+(h*28|0)+24>>1]=g;g=a+140+(h*28|0)|0;Lb(1,g|0);eb(34963,c[g>>2]|0);Re(34963,d|0,i|0,((i|0)==0?35048:35044)|0);eb(34963,0);return}function Qm(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=e[b>>1]|0;eb(34963,0);Qe(1,a+140+(d*28|0)|0);b=(c[60]|0)+595144|0;f=a+140+(d*28|0)+8|0;g=c[c[a+140+(d*28|0)+12>>2]>>2]|0;if(!g){al(f);return}else h=g;do{$k(b,c[h>>2]|0);h=c[h+4>>2]|0}while((h|0)!=0);al(f);return}function Rm(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;f=a+585868+((e[b>>1]|0)*72|0)|0;b=d;d=f+72|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));return}function Sm(a,b){a=a|0;b=b|0;return}function Tm(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=e[d>>1]|0;d=c[f+4>>2]|0;j=c[f>>2]|0;f=b[g>>1]|0;c[a+114828+(i<<5)+8>>2]=d;b[a+114828+(i<<5)+12>>1]=f;f=a+114828+(i<<5)+4|0;c[f>>2]=(h&1024)!=0?36671:34962;h=a+114828+(i<<5)|0;Lb(1,h|0);eb(c[f>>2]|0,c[h>>2]|0);Re(c[f>>2]|0,d|0,j|0,((j|0)==0?35048:35044)|0);eb(c[f>>2]|0,0);return}function Um(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=e[b>>1]|0;eb(34962,0);Qe(1,a+114828+(d<<5)|0);b=(c[60]|0)+595144|0;f=a+114828+(d<<5)+16|0;g=c[c[a+114828+(d<<5)+20>>2]>>2]|0;if(!g){al(f);return}else h=g;do{$k(b,c[h>>2]|0);h=c[h+4>>2]|0}while((h|0)!=0);al(f);return}function Vm(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0;h=e[d>>1]|0;c[a+140+(h*28|0)+4>>2]=f;b[a+140+(h*28|0)+24>>1]=g;g=a+140+(h*28|0)|0;Lb(1,g|0);eb(34963,c[g>>2]|0);Re(34963,f|0,0,35048);eb(34963,0);return}function Wm(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=c[g+4>>2]|0;i=c[g>>2]|0;eb(34963,c[a+140+((e[b>>1]|0)*28|0)>>2]|0);wc(34963,d|0,(h>>>0<f>>>0?h:f)|0,i|0);eb(34963,0);return}function Xm(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=e[b>>1]|0;eb(34963,0);Qe(1,a+140+(d*28|0)|0);b=(c[60]|0)+595144|0;f=a+140+(d*28|0)+8|0;g=c[c[a+140+(d*28|0)+12>>2]>>2]|0;if(!g){al(f);return}else h=g;do{$k(b,c[h>>2]|0);h=c[h+4>>2]|0}while((h|0)!=0);al(f);return}function Ym(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0;h=e[d>>1]|0;c[a+114828+(h<<5)+8>>2]=f;b[a+114828+(h<<5)+12>>1]=-1;d=a+114828+(h<<5)+4|0;c[d>>2]=(g&1024)!=0?36671:34962;g=a+114828+(h<<5)|0;Lb(1,g|0);eb(c[d>>2]|0,c[g>>2]|0);Re(c[d>>2]|0,f|0,0,35048);eb(c[d>>2]|0,0);return}function Zm(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=e[b>>1]|0;b=c[g+4>>2]|0;i=c[g>>2]|0;g=a+114828+(h<<5)+4|0;eb(c[g>>2]|0,c[a+114828+(h<<5)>>2]|0);wc(c[g>>2]|0,d|0,(b>>>0<f>>>0?b:f)|0,i|0);eb(c[g>>2]|0,0);return}function _m(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=e[b>>1]|0;eb(34962,0);Qe(1,a+114828+(d<<5)|0);b=(c[60]|0)+595144|0;f=a+114828+(d<<5)+16|0;g=c[c[a+114828+(d<<5)+20>>2]>>2]|0;if(!g){al(f);return}else h=g;do{$k(b,c[h>>2]|0);h=c[h+4>>2]|0}while((h|0)!=0);al(f);return}function $m(a,b,c){a=a|0;b=b|0;c=c|0;rj(a+245900+((e[b>>1]|0)*12|0)|0,c);return}function an(a,b){a=a|0;b=b|0;var d=0;d=a+245900+((e[b>>1]|0)*12|0)|0;b=c[d>>2]|0;if(!b)return;_e(b|0);c[d>>2]=0;return}function bn(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=b[g>>1]|0;ij(a+252044+((e[d>>1]|0)*300|0)|0,a+245900+((e[f>>1]|0)*12|0)|0,k<<16>>16!=-1?a+245900+((k&65535)*12|0)|0:j);i=h;return}function cn(a,b){a=a|0;b=b|0;kj(a+252044+((e[b>>1]|0)*300|0)|0);return}function dn(a,b,c,d,f){a=a|0;b=b|0;c=c|0;d=d|0;f=f|0;oj(a+405644+((e[b>>1]|0)*44|0)|0,c,d,f);return}function en(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function fn(a,b,c,d,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;pj(a+405644+((e[b>>1]|0)*44|0)|0,c,d,f,g,h,i,j);return}function gn(a){a=a|0;return}function hn(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;i=i+80|0;k=j;l=j+76|0;m=j+56|0;n=e[f>>1]|0;f=d+405644+(n*44|0)|0;o=Jh(24)|0;p=c[o>>2]|0;q=c[o+4>>2]|0;r=k+40|0;c[k+8>>2]=r;s=k+12|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[k>>2]=12144;c[k+4>>2]=12168;c[r>>2]=12192;c[k+44>>2]=p;c[k+48>>2]=q;c[l>>2]=5784916;r=k+16|0;c[s>>2]=p;s=k+32|0;c[s>>2]=q;c[s+4>>2]=0;s=(q|0)<0?2147483647:q;q=s>>>0<4?s:4;Wo(p|0,l|0,q|0)|0;l=r;p=Zo(q|0,((q|0)<0)<<31>>31|0,c[l>>2]|0,c[l+4>>2]|0)|0;l=E;q=r;c[q>>2]=p;c[q+4>>2]=l;q=k+24|0;r=q;s=c[r>>2]|0;t=c[r+4>>2]|0;r=(t|0)>(l|0)|(t|0)==(l|0)&s>>>0>p>>>0;u=q;c[u>>2]=r?s:p;c[u+4>>2]=r?t:l;c[m>>2]=c[d+405644+(n*44|0)+20>>2];b[m+4>>1]=g;b[m+6>>1]=h;b[m+8>>1]=0;b[m+10>>1]=0;a[m+12>>0]=1;a[m+13>>0]=a[d+405644+(n*44|0)+41>>0]|0;a[m+14>>0]=0;c[m+16>>2]=0;Ug[c[(c[k>>2]|0)+8>>2]&15](k,m,20)|0;if(c[f>>2]|0){de(c[d+405644+(n*44|0)+8>>2]|0,0);Fc(1,f|0);c[f>>2]=0}k=d+405644+(n*44|0)+4|0;if(!(c[k>>2]|0)){v=c[m>>2]|0;oj(f,o,v,0);ci(o);i=j;return}qf(1,k|0);c[k>>2]=0;v=c[m>>2]|0;oj(f,o,v,0);ci(o);i=j;return}function jn(a,b){a=a|0;b=b|0;var d=0;d=e[b>>1]|0;b=a+405644+(d*44|0)|0;if(c[b>>2]|0){de(c[a+405644+(d*44|0)+8>>2]|0,0);Fc(1,b|0);c[b>>2]=0}b=a+405644+(d*44|0)+4|0;if(!(c[b>>2]|0))return;qf(1,b|0);c[b>>2]=0;return}function kn(b,c,d,f){b=b|0;c=c|0;d=d|0;f=f|0;var g=0;g=e[c>>1]|0;vd(1,b+590476+(g*40|0)+4|0);a[b+590476+(g*40|0)+23>>0]=d;Wo(b+590476+(g*40|0)+24|0,f|0,(d&255)<<1|0)|0;sj(b+590476+(g*40|0)|0);return}function ln(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;h=a+8|0;i=b[h>>1]|0;b[h>>1]=i+1<<16>>16;h=b[d>>1]|0;b[a+10+((i&65535)<<1)>>1]=h;d=h&65535;c[a+590476+(d*40|0)>>2]=Gj((c[60]|0)+595276|0,e)|0;c[a+590476+(d*40|0)+12>>2]=f;c[a+590476+(d*40|0)+16>>2]=g;b[a+590476+(d*40|0)+20>>1]=i;return}function mn(d,f){d=d|0;f=f|0;var g=0,h=0;g=e[f>>1]|0;f=d+590476+(g*40|0)+22|0;if(a[f>>0]|0){Id(((c[d+590476+(g*40|0)+8>>2]|0)==0?1:2)|0,d+590476+(g*40|0)+4|0);a[f>>0]=0}f=d+590476+(g*40|0)|0;h=c[f>>2]|0;if(h){Hj((c[60]|0)+595276|0,h);c[f>>2]=0}f=d+590476+(g*40|0)+4|0;c[f>>2]=0;c[f+4>>2]=0;f=d+590476+(g*40|0)+20|0;g=b[f>>1]|0;b[f>>1]=-1;if(g<<16>>16==-1)return;f=d+8|0;h=(b[f>>1]|0)+-1<<16>>16;b[f>>1]=h;if((h&65535)<=1)return;f=b[d+10+((h&65535)<<1)>>1]|0;b[d+10+((g&65535)<<1)>>1]=f;b[d+590476+((f&65535)*40|0)+20>>1]=g;return}function nn(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;j=h+2|0;k=h;l=b[d>>1]|0;d=a+593052+((l&65535)<<2)|0;m=c[d>>2]|0;if(m){n=c[20]|0;Jg[c[(c[n>>2]|0)+12>>2]&31](n,m,0,0,0)}m=aa(c[216+(e<<2)>>2]|0,f&65535)|0;f=c[20]|0;e=Sg[c[(c[f>>2]|0)+8>>2]&3](f,m,0,0,0)|0;Xo(e|0,0,m|0)|0;c[d>>2]=e;b[k>>1]=l;b[j>>1]=b[k>>1]|0;on(a+593036|0,j,g,e,0)|0;i=h;return}function on(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=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,K=0,L=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;j=i;i=i+112|0;k=j+72|0;l=j+96|0;m=j+64|0;n=j+24|0;o=j;p=k+12|0;c[k>>2]=p;q=k+4|0;c[q>>2]=p;r=k+8|0;s=k+24|0;c[r>>2]=s;if(a[f>>0]|0){t=f;u=0;while(1){v=u+1|0;t=t+1|0;if(!(a[t>>0]|0)){w=v;x=u;break}else u=v}u=x+2|0;if((u|0)>12){x=Eh(u)|0;u=c[k>>2]|0;t=c[q>>2]|0;if((u|0)==(t|0))y=u;else{v=u;u=x;while(1){a[u>>0]=a[v>>0]|0;v=v+1|0;if((v|0)==(t|0))break;else u=u+1|0}y=c[k>>2]|0}if((y|0)!=(p|0))Fh(y,(c[r>>2]|0)-y|0);c[k>>2]=x;c[q>>2]=x;y=x+w|0;c[r>>2]=y;z=x;A=y;B=w}else{z=p;A=s;B=w}}else{z=p;A=s;B=0}s=f+B|0;w=1-f|0;y=s+w|0;if((z+y|0)>>>0>A>>>0?(x=(y*3|0)>>>1,y=x+1|0,(z+y|0)>>>0>A>>>0):0){A=Eh(y)|0;y=c[k>>2]|0;u=c[q>>2]|0;if((y|0)==(u|0))C=y;else{t=y;y=A;while(1){a[y>>0]=a[t>>0]|0;t=t+1|0;if((t|0)==(u|0))break;else y=y+1|0}C=c[k>>2]|0}if((C|0)!=(p|0))Fh(C,(c[r>>2]|0)-C|0);c[k>>2]=A;c[q>>2]=A;c[r>>2]=A+x;D=A}else D=z;if(!B)E=D;else{B=f;z=D;while(1){a[z>>0]=a[B>>0]|0;D=(c[q>>2]|0)+1|0;c[q>>2]=D;B=B+1|0;if((B|0)==(s|0)){E=D;break}else z=D}}a[E>>0]=0;E=c[d+4>>2]|0;z=(c[d+8>>2]|0)-E>>2;s=c[k>>2]|0;k=c[q>>2]|0;if((k|0)==(s|0))F=0;else{q=0;B=s;while(1){D=(a[B>>0]|0)-q+(q*65600|0)|0;B=B+1|0;if((B|0)==(k|0)){F=D;break}else q=D}}q=F&z+-2;z=c[E+(q+1<<2)>>2]|0;F=c[E+(q<<2)>>2]|0;a:do if((F|0)==(z|0))G=0;else{q=k-s|0;E=F;while(1){B=c[E+4>>2]|0;D=c[E>>2]|0;if((B-D|0)==(q|0)){A=D;D=s;while(1){if((A|0)==(B|0)){G=E;break a}if((a[A>>0]|0)==(a[D>>0]|0)){A=A+1|0;D=D+1|0}else break}}E=c[E+36>>2]|0;if((E|0)==(z|0)){G=0;break}}}while(0);if((s|0)!=(p|0))Fh(s,(c[r>>2]|0)-s|0);if(G){s=G+24|0;c[s>>2]=g;c[G+28>>2]=h;b[G+32>>1]=b[e>>1]|0;H=s;i=j;return H|0}s=b[e>>1]|0;e=o+12|0;c[o>>2]=e;G=o+4|0;c[G>>2]=e;r=o+8|0;p=o+24|0;c[r>>2]=p;if(a[f>>0]|0){z=f;F=0;while(1){k=F+1|0;z=z+1|0;if(!(a[z>>0]|0)){I=k;J=F;break}else F=k}F=J+2|0;if((F|0)>12){J=Eh(F)|0;F=c[o>>2]|0;z=c[G>>2]|0;if((F|0)==(z|0))K=F;else{k=F;F=J;while(1){a[F>>0]=a[k>>0]|0;k=k+1|0;if((k|0)==(z|0))break;else F=F+1|0}K=c[o>>2]|0}if((K|0)!=(e|0))Fh(K,(c[r>>2]|0)-K|0);c[o>>2]=J;c[G>>2]=J;K=J+I|0;c[r>>2]=K;L=J;M=K;N=I}else{L=e;M=p;N=I}}else{L=e;M=p;N=0}p=f+N|0;I=p+w|0;if((L+I|0)>>>0>M>>>0?(w=(I*3|0)>>>1,I=w+1|0,(L+I|0)>>>0>M>>>0):0){M=Eh(I)|0;I=c[o>>2]|0;K=c[G>>2]|0;if((I|0)==(K|0))O=I;else{J=I;I=M;while(1){a[I>>0]=a[J>>0]|0;J=J+1|0;if((J|0)==(K|0))break;else I=I+1|0}O=c[o>>2]|0}if((O|0)!=(e|0))Fh(O,(c[r>>2]|0)-O|0);c[o>>2]=M;c[G>>2]=M;c[r>>2]=M+w;P=M}else P=L;if(!N)Q=P;else{N=f;f=P;while(1){a[f>>0]=a[N>>0]|0;P=(c[G>>2]|0)+1|0;c[G>>2]=P;N=N+1|0;if((N|0)==(p|0)){Q=P;break}else f=P}}a[Q>>0]=0;Q=n+12|0;c[n>>2]=Q;f=n+4|0;c[f>>2]=Q;p=n+8|0;N=n+24|0;c[p>>2]=N;P=c[G>>2]|0;L=c[o>>2]|0;M=P-L|0;w=M+1|0;if((w|0)>12){O=Eh(w)|0;w=c[n>>2]|0;I=c[f>>2]|0;if((w|0)==(I|0))R=w;else{K=w;w=O;while(1){a[w>>0]=a[K>>0]|0;K=K+1|0;if((K|0)==(I|0))break;else w=w+1|0}R=c[n>>2]|0}if((R|0)!=(Q|0))Fh(R,(c[p>>2]|0)-R|0);c[n>>2]=O;c[f>>2]=O;R=O+M|0;c[p>>2]=R;S=c[G>>2]|0;T=c[o>>2]|0;U=O;V=R}else{S=P;T=L;U=Q;V=N}N=S+1-T|0;if((U+N|0)>>>0>V>>>0?(L=(N*3|0)>>>1,N=L+1|0,(U+N|0)>>>0>V>>>0):0){V=Eh(N)|0;N=c[n>>2]|0;P=c[f>>2]|0;if((N|0)==(P|0))W=N;else{R=N;N=V;while(1){a[N>>0]=a[R>>0]|0;R=R+1|0;if((R|0)==(P|0))break;else N=N+1|0}W=c[n>>2]|0}if((W|0)!=(Q|0))Fh(W,(c[p>>2]|0)-W|0);c[n>>2]=V;c[f>>2]=V;c[p>>2]=V+L;X=V}else X=U;if((T|0)==(S|0))Y=X;else{U=T;T=X;while(1){a[T>>0]=a[U>>0]|0;X=(c[f>>2]|0)+1|0;c[f>>2]=X;U=U+1|0;if((U|0)==(S|0)){Y=X;break}else T=X}}a[Y>>0]=0;c[n+24>>2]=g;c[n+28>>2]=h;b[n+32>>1]=s;b[n+34>>1]=b[l>>1]|0;pn(m,d,n);d=c[n>>2]|0;if((d|0)!=(Q|0))Fh(d,(c[p>>2]|0)-d|0);d=c[o>>2]|0;if((d|0)!=(e|0))Fh(d,(c[r>>2]|0)-d|0);H=(c[m>>2]|0)+24|0;i=j;return H|0}function pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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,K=0,L=0;f=b+4|0;a[f>>0]=0;g=c[d+4>>2]|0;h=d+8|0;i=(c[h>>2]|0)-g>>2;j=c[e>>2]|0;k=e+4|0;l=c[k>>2]|0;if((l|0)==(j|0))m=0;else{n=0;o=j;while(1){p=(a[o>>0]|0)-n+(n*65600|0)|0;o=o+1|0;if((o|0)==(l|0)){m=p;break}else n=p}}n=m&i+-2;i=c[g+(n+1<<2)>>2]|0;m=c[g+(n<<2)>>2]|0;a:do if((m|0)!=(i|0)){n=l-j|0;g=m;b:while(1){o=c[g+4>>2]|0;p=c[g>>2]|0;if((o-p|0)==(n|0)){q=p;p=j;while(1){if((q|0)==(o|0)){r=g;break b}if((a[q>>0]|0)==(a[p>>0]|0)){q=q+1|0;p=p+1|0}else break}}g=c[g+36>>2]|0;if((g|0)==(i|0)){s=9;break a}}c[b>>2]=r;if(r)return}else s=9;while(0);if((s|0)==9)c[b>>2]=0;r=Eh(44)|0;i=e+24|0;j=r+12|0;c[r>>2]=j;m=r+4|0;c[m>>2]=j;l=r+8|0;g=r+24|0;c[l>>2]=g;n=c[k>>2]|0;p=c[e>>2]|0;q=n-p|0;o=q+1|0;if((o|0)>12){t=Eh(o)|0;o=c[r>>2]|0;u=c[m>>2]|0;if((o|0)==(u|0))v=o;else{w=o;o=t;while(1){a[o>>0]=a[w>>0]|0;w=w+1|0;if((w|0)==(u|0))break;else o=o+1|0}v=c[r>>2]|0}if((v|0)!=(j|0))Fh(v,(c[l>>2]|0)-v|0);c[r>>2]=t;c[m>>2]=t;c[l>>2]=t+q;x=c[e>>2]|0;y=c[k>>2]|0}else{x=p;y=n}um(r,x,y);c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];i=r+40|0;c[i>>2]=0;g=r+36|0;c[g>>2]=0;y=d+4|0;x=c[y>>2]|0;n=(c[h>>2]|0)-x|0;p=n>>2;q=c[e>>2]|0;e=c[k>>2]|0;if((e|0)==(q|0))z=0;else{k=0;t=q;while(1){q=(a[t>>0]|0)-k+(k*65600|0)|0;t=t+1|0;if((t|0)==(e|0)){z=q;break}else k=q}}k=z&p+-2;p=c[x+(k+1<<2)>>2]|0;c[g>>2]=p;do if(!p){c:do if(!k)A=0;else{g=k;while(1){if(c[x+(g<<2)>>2]|0){A=g;break c}g=g+-1|0;if(!g){A=0;break}}}while(0);g=c[x+(A<<2)>>2]|0;while(1){if(!g){s=30;break}z=g+36|0;e=c[z>>2]|0;if(!e){B=z;C=g;s=29;break}else g=e}if((s|0)==29){c[i>>2]=C;c[B>>2]=r;break}else if((s|0)==30){c[i>>2]=0;break}}else{g=p+40|0;c[i>>2]=c[g>>2];c[g>>2]=r;g=c[i>>2]|0;if(g)c[g+36>>2]=r}while(0);i=x+(k<<2)|0;d:do if((p|0)==(c[i>>2]|0)){B=i;C=k;do{c[B>>2]=r;if(!C)break d;C=C+-1|0;B=x+(C<<2)|0}while((p|0)==(c[B>>2]|0))}while(0);p=c[d>>2]|0;c[d>>2]=p+1;if((p+2|0)>>>0>n>>>0){n=c[y>>2]|0;p=c[n>>2]|0;x=c[h>>2]|0;k=n;i=x-k<<1;c[h>>2]=n;B=i+-7|0;C=d+12|0;if((n+(B<<2)|0)>>>0>(c[C>>2]|0)>>>0){d=B<<2;A=Eh(d)|0;g=c[y>>2]|0;e=c[h>>2]|0;if((g|0)==(e|0)){D=y;E=g}else{z=A;t=g;while(1){c[z>>2]=c[t>>2];t=t+4|0;if((t|0)==(e|0))break;else z=z+4|0}D=y;E=c[y>>2]|0}Fh(E,d);c[D>>2]=A;c[h>>2]=A;c[C>>2]=A+(B<<2);F=A}else F=n;if((B|0)>0){Xo(F|0,0,F+((x<<1)+-7-(k<<1)<<2)+~F+4&-4|0)|0;k=c[y>>2]|0;G=k;H=k}else{G=F;H=c[y>>2]|0}c[h>>2]=G+(B<<2);if(p){B=i+-9|0;i=p;do{p=i+36|0;G=i;i=c[p>>2]|0;h=G+40|0;c[h>>2]=0;c[p>>2]=0;y=c[G>>2]|0;F=c[G+4>>2]|0;if((F|0)==(y|0))I=0;else{k=0;x=y;while(1){y=(a[x>>0]|0)-k+(k*65600|0)|0;x=x+1|0;if((x|0)==(F|0)){I=y;break}else k=y}}k=I&B;F=c[H+(k+1<<2)>>2]|0;c[p>>2]=F;do if(!F){e:do if(!k)J=0;else{x=k;while(1){if(c[H+(x<<2)>>2]|0){J=x;break e}x=x+-1|0;if(!x){J=0;break}}}while(0);x=c[H+(J<<2)>>2]|0;while(1){if(!x){s=58;break}y=x+36|0;n=c[y>>2]|0;if(!n){K=y;L=x;s=57;break}else x=n}if((s|0)==57){s=0;c[h>>2]=L;c[K>>2]=G;break}else if((s|0)==58){s=0;c[h>>2]=0;break}}else{x=F+40|0;c[h>>2]=c[x>>2];c[x>>2]=G;x=c[h>>2]|0;if(x)c[x+36>>2]=G}while(0);h=H+(k<<2)|0;f:do if((F|0)==(c[h>>2]|0)){p=h;x=k;do{c[p>>2]=G;if(!x)break f;x=x+-1|0;p=H+(x<<2)|0}while((F|0)==(c[p>>2]|0))}while(0)}while((i|0)!=0)}}c[b>>2]=r;a[f>>0]=1;return}function qn(a,b){a=a|0;b=b|0;var d=0,f=0;d=c[20]|0;f=a+593052+((e[b>>1]|0)<<2)|0;Jg[c[(c[d>>2]|0)+12>>2]&31](d,c[f>>2]|0,0,0,0);c[f>>2]=0;return}function rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+595200|0;e=a+595204|0;f=aa(c[d>>2]<<2,c[e>>2]|0)|0;g=c[20]|0;h=Sg[c[(c[g>>2]|0)+8>>2]&3](g,f,0,0,0)|0;g=c[d>>2]|0;d=c[e>>2]|0;e=a+595256|0;Ya(0,0,g|0,d|0,c[e>>2]|0,5121,h|0);a=g<<2;if((c[e>>2]|0)==6408)Bi(g,d,a,h,h);e=c[22]|0;Vg[c[(c[e>>2]|0)+28>>2]&7](e,b,g,d,a,h,f,1);f=c[20]|0;Jg[c[(c[f>>2]|0)+12>>2]&31](f,h,0,0,0);return}function sn(a,b,c){a=a|0;b=b|0;c=c|0;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Wo(c[a+593052+((b&65535)<<2)>>2]|0,d|0,e|0)|0;return}function un(a,b,d){a=a|0;b=b|0;d=d|0;Ng[c[536>>2]&63](d,b);return}function vn(a,b){a=a|0;b=b|0;var d=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;d=i;i=i+64|0;f=d;h=c[a+595232>>2]|0;if(h)Mg[c[640>>2]&63](h);h=c[a+595200>>2]|0;j=c[a+595204>>2]|0;td(36160,c[a+595260>>2]|0);mf(0,0,h|0,j|0);Ld(3089);Ld(2960);Ld(2929);Gc(519);Ld(2884);Ld(3042);pg(1,1,1,1);k=e[b+84>>1]|0;Ja(c[a+252044+(k*300|0)>>2]|0);le(c[a+252044+(k*300|0)+112>>2]|0,0);l=+(h>>>0);m=+(j>>>0);n=2.0/l;o=2.0/(0.0-m);p=l/(0.0-l);l=m/m;j=f;h=j+56|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(h|0));g[f>>2]=n;g[f+20>>2]=o;g[f+40>>2]=1.0000000474974513e-03;g[f+48>>2]=p+0.0;g[f+52>>2]=l;g[f+56>>2]=-0.0;g[f+60>>2]=1.0;df(c[a+252044+(k*300|0)+184>>2]|0,1,0,f|0);Be(33984);de(3553,c[a+405644+((e[b>>1]|0)*44|0)>>2]|0);i=d;return}function wn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d<<2;if(f>>>0<=5)return;g=b+8|0;h=c[g>>2]|0;i=c[h>>2]|0;eb(34963,c[a+140+((e[h+12>>1]|0)*28|0)>>2]|0);wc(34963,0,d<<1|0,i|0);eb(34963,0);i=b+4|0;h=c[i>>2]|0;j=e[h+14>>1]|0;k=aa(e[b+16>>1]|0,(f>>>0)/6|0)|0;f=c[h>>2]|0;h=a+114828+(j<<5)+4|0;eb(c[h>>2]|0,c[a+114828+(j<<5)>>2]|0);wc(c[h>>2]|0,0,k|0,f|0);eb(c[h>>2]|0,0);eb(34962,c[a+114828+((e[(c[i>>2]|0)+14>>1]|0)<<5)>>2]|0);eb(34963,c[a+140+((e[(c[g>>2]|0)+12>>1]|0)*28|0)>>2]|0);lj(a+252044+((e[b+84>>1]|0)*300|0)|0,b+12|0,0);uc(4,d|0,5123,0);return}function xn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0;c=+g[b>>2];d=+g[b+8>>2];e=+g[b+16>>2];f=+g[b+24>>2];h=+g[b+32>>2];i=+g[b+40>>2];j=+g[b+48>>2];k=+g[b+56>>2];l=+g[b+4>>2];m=+g[b+12>>2];n=+g[b+20>>2];o=+g[b+28>>2];p=+g[b+36>>2];q=+g[b+44>>2];r=+g[b+52>>2];s=+g[b+60>>2];t=d*q;u=f*s;v=i*m;w=k*o;x=d*p;y=f*r;z=i*l;A=k*n;B=l*q;C=n*s;D=m*p;E=o*r;F=i*C+(q*y+(p*w+(0.0-p*u))-A*q)-i*E;G=k*B+(x*s+(v*r+(0.0-r*t))-z*s)-k*D;H=d*E+(m*A+(0.0-l*w+l*u)-m*y)-d*C;I=f*D+(z*o+(0.0-n*v+n*t)-o*x)-f*B;J=c*p;K=e*r;L=h*l;M=j*n;N=c*q;O=e*s;P=h*m;Q=j*o;R=c*i;S=e*k;T=d*h;U=f*j;V=c*F;W=e*G;X=h*H;Y=j*I;Z=1.0/(Y+X+(W+V));_=1.0/(W+X+(Y+V));g[a>>2]=Z*F;g[a+4>>2]=_*G;g[a+8>>2]=Z*H;g[a+12>>2]=_*I;g[a+16>>2]=Z*(S*q+(i*Q+(0.0-h*w+h*u-i*O))-U*q);g[a+20>>2]=_*(R*s+(k*P+(0.0-j*v+j*t-k*N))-T*s);g[a+24>>2]=Z*(U*m+(d*O+(c*w+(0.0-c*u)-d*Q))-S*m);g[a+28>>2]=_*(T*o+(f*N+(e*v+(0.0-e*t)-f*P))-R*o);g[a+32>>2]=Z*(p*O+(M*q+(h*E-h*C-q*K))-p*Q);g[a+36>>2]=_*(r*N+(L*s+(j*D-j*B-J*s))-P*r);g[a+40>>2]=Z*(l*Q+(m*K+(c*C-c*E-m*M))-l*O);g[a+44>>2]=_*(n*P+(o*J+(e*B-e*D-L*o))-n*N);g[a+48>>2]=Z*(U*p+(i*K+(h*A-h*y)-i*M-S*p));g[a+52>>2]=_*(T*r+(k*J+(j*z-j*x)-k*L-R*r));g[a+56>>2]=Z*(l*S+(d*M+(c*y-c*A)-d*K-U*l));g[a+60>>2]=_*(R*n+(f*L+(e*x-e*z)-f*J-T*n));return}function yn(b){b=b|0;var d=0;d=Zn(8)|0;c[d>>2]=0;c[d+4>>2]=0;c[b>>2]=d;c[b+4>>2]=d;c[b+8>>2]=d;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;Xo(42352,0,256)|0;a[42379]=1;a[42365]=2;a[42362]=2;a[42361]=3;a[42479]=5;a[42384]=4;a[42390]=6;a[42392]=7;a[42389]=8;a[42413]=17;a[42395]=17;a[42397]=18;a[42447]=18;a[42411]=21;a[42410]=21;a[42391]=22;a[42386]=22;a[42443]=19;a[42475]=19;a[42445]=20;a[42477]=20;a[42396]=23;a[42412]=23;a[42398]=24;a[42414]=24;a[42399]=25;a[42415]=25;a[42444]=26;a[42476]=26;a[42448]=27;a[42478]=27;a[42400]=50;a[42401]=51;a[42402]=52;a[42403]=53;a[42404]=54;a[42405]=55;a[42406]=56;a[42407]=57;a[42408]=58;a[42409]=59;d=97;do{b=d+219&255;a[42352+(d+224&255)>>0]=b;a[42352+(d&255)>>0]=b;d=d+1|0}while((d|0)!=123);return}function zn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;a:do if((d|0)!=(c[e>>2]|0)?(f=c[d+4>>2]|0,g=c[f>>2]|0,c[b>>2]=f,(g|0)!=0):0){f=g;do{$n(f);g=c[b>>2]|0;if((g|0)==(c[e>>2]|0))break a;h=c[g+4>>2]|0;f=c[h>>2]|0;c[b>>2]=h}while((f|0)!=0)}while(0);b=c[a>>2]|0;if(!b)return;e=b;do{c[a>>2]=c[e+4>>2];$n(e);e=c[a>>2]|0}while((e|0)!=0);return}function An(){yn(42320);Pb(36,42320,n|0)|0;return}function Bn(a){a=a|0;$n(a);return}function Cn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d>>>0<9){g=Po(b)|0;return g|0}else{h=Sg[c[(c[a>>2]|0)+8>>2]&3](a,d+b|0,0,e,f)|0;f=d+3+h&0-d;d=f;c[d+-4>>2]=f-h;g=d;return g|0}return 0}function Dn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(d>>>0<9){Qo(b);return}else{Jg[c[(c[a>>2]|0)+12>>2]&31](a,b+(0-(c[b+-4>>2]|0))|0,0,e,f);return}}function En(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(e>>>0<9){h=Ro(b,d)|0;return h|0}if(!b){i=Sg[c[(c[a>>2]|0)+8>>2]&3](a,e+d|0,0,f,g)|0;j=e+3+i&0-e;k=j;c[k+-4>>2]=j-i;h=k;return h|0}k=c[b+-4>>2]|0;i=Og[c[(c[a>>2]|0)+16>>2]&3](a,b+(0-k)|0,e+d|0,0,f,g)|0;g=i;f=e+3+g&0-e;e=f;if((e|0)==(b|0)){h=b;return h|0}_o(e|0,i+k|0,d|0)|0;c[e+-4>>2]=f-g;h=e;return h|0}function Fn(a){a=a|0;return}function Gn(a){a=a|0;$n(a+-4|0);return}function Hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=a+-4+8|0;Rf(c[d>>2]|0,b|0,e|0)|0;e=xg(c[d>>2]|0)|0;E=((e|0)<0)<<31>>31;return e|0}function In(a){a=a|0;$n(a);return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;return Ra(b|0,1,d|0,c[a+8>>2]|0)|0}function Kn(a,b){a=a|0;b=b|0;var d=0;d=Ue(b|0,112480)|0;c[a+8>>2]=d;return (d|0)==0|0}function Ln(a){a=a|0;ze(c[a+8>>2]|0)|0;return 0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=a+8|0;Rf(c[d>>2]|0,b|0,e|0)|0;e=xg(c[d>>2]|0)|0;E=((e|0)<0)<<31>>31;return e|0}function Nn(){if((a[42608]|0)==0?(Ua(42608)|0)!=0:0){c[10654]=42632;vc(42608)}c[10852]=42616;c[235]=0;c[236]=0;c[237]=0;c[238]=0;c[239]=0;b[464]=-1;c[243]=0;c[244]=0;c[245]=0;c[246]=0;c[247]=0;b[480]=-1;c[251]=0;c[252]=0;c[253]=0;c[254]=0;c[255]=0;b[496]=-1;c[259]=0;c[260]=0;c[261]=0;c[262]=0;c[263]=0;b[512]=-1;c[267]=0;c[268]=0;c[269]=0;c[270]=0;c[271]=0;b[528]=-1;c[275]=0;c[276]=0;c[277]=0;c[278]=0;c[279]=0;b[544]=-1;c[283]=0;c[284]=0;c[285]=0;c[286]=0;c[287]=0;b[560]=-1;c[291]=0;c[292]=0;c[293]=0;c[294]=0;c[295]=0;b[576]=-1;return}function On(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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;f=b+4|0;a[f>>0]=0;g=c[d+4>>2]|0;h=d+8|0;i=c[e>>2]|0;j=i<<24>>24;k=(i<<16>>24)-j+(j*65600|0)|0;j=(i<<8>>24)-k+(k*65600|0)|0;k=(i>>24)-j+(j*65600|0)&((c[h>>2]|0)-g>>2)+-2;j=c[g+(k+1<<2)>>2]|0;l=c[g+(k<<2)>>2]|0;a:do if((l|0)!=(j|0)){k=l;while(1){if((c[k>>2]|0)==(i|0)){m=k;break}k=c[k+12>>2]|0;if((k|0)==(j|0)){n=4;break a}}c[b>>2]=m;if(m)return}else n=4;while(0);if((n|0)==4)c[b>>2]=0;m=ak(20)|0;c[m>>2]=c[e>>2];j=e+4|0;i=c[j+4>>2]|0;l=m+4|0;c[l>>2]=c[j>>2];c[l+4>>2]=i;i=m+16|0;c[i>>2]=0;l=m+12|0;c[l>>2]=0;j=d+4|0;k=c[j>>2]|0;g=(c[h>>2]|0)-k|0;o=c[e>>2]|0;e=o<<24>>24;p=(o<<16>>24)-e+(e*65600|0)|0;e=(o<<8>>24)-p+(p*65600|0)|0;p=(o>>24)-e+(e*65600|0)&(g>>2)+-2;e=c[k+(p+1<<2)>>2]|0;c[l>>2]=e;do if(!e){b:do if(!p)q=0;else{l=p;while(1){if(c[k+(l<<2)>>2]|0){q=l;break b}l=l+-1|0;if(!l){q=0;break}}}while(0);l=c[k+(q<<2)>>2]|0;while(1){if(!l){n=16;break}o=l+12|0;r=c[o>>2]|0;if(!r){s=o;t=l;n=15;break}else l=r}if((n|0)==15){c[i>>2]=t;c[s>>2]=m;break}else if((n|0)==16){c[i>>2]=0;break}}else{l=e+16|0;c[i>>2]=c[l>>2];c[l>>2]=m;l=c[i>>2]|0;if(l)c[l+12>>2]=m}while(0);i=k+(p<<2)|0;c:do if((e|0)==(c[i>>2]|0)){s=i;t=p;do{c[s>>2]=m;if(!t)break c;t=t+-1|0;s=k+(t<<2)|0}while((e|0)==(c[s>>2]|0))}while(0);e=c[d>>2]|0;c[d>>2]=e+1;if((e+2|0)>>>0>g>>>0){g=c[j>>2]|0;e=c[g>>2]|0;k=c[h>>2]|0;p=g;i=k-p<<1;c[h>>2]=g;s=i+-7|0;t=d+12|0;if((g+(s<<2)|0)>>>0>(c[t>>2]|0)>>>0){d=s<<2;q=ak(d)|0;l=c[j>>2]|0;r=c[h>>2]|0;if((l|0)==(r|0)){u=j;v=l}else{o=q;w=l;while(1){c[o>>2]=c[w>>2];w=w+4|0;if((w|0)==(r|0))break;else o=o+4|0}u=j;v=c[j>>2]|0}bk(v,d);c[u>>2]=q;c[h>>2]=q;c[t>>2]=q+(s<<2);x=q}else x=g;if((s|0)>0){Xo(x|0,0,x+((k<<1)+-7-(p<<1)<<2)+~x+4&-4|0)|0;p=c[j>>2]|0;y=p;z=p}else{y=x;z=c[j>>2]|0}c[h>>2]=y+(s<<2);if(e){s=i+-9|0;i=e;do{e=i+12|0;y=i;i=c[e>>2]|0;h=y+16|0;c[h>>2]=0;c[e>>2]=0;j=c[y>>2]|0;x=j<<24>>24;p=(j<<16>>24)-x+(x*65600|0)|0;x=(j<<8>>24)-p+(p*65600|0)|0;p=(j>>24)-x+(x*65600|0)&s;x=c[z+(p+1<<2)>>2]|0;c[e>>2]=x;do if(!x){d:do if(!p)A=0;else{e=p;while(1){if(c[z+(e<<2)>>2]|0){A=e;break d}e=e+-1|0;if(!e){A=0;break}}}while(0);e=c[z+(A<<2)>>2]|0;while(1){if(!e){n=42;break}j=e+12|0;k=c[j>>2]|0;if(!k){B=j;C=e;n=41;break}else e=k}if((n|0)==41){n=0;c[h>>2]=C;c[B>>2]=y;break}else if((n|0)==42){n=0;c[h>>2]=0;break}}else{e=x+16|0;c[h>>2]=c[e>>2];c[e>>2]=y;e=c[h>>2]|0;if(e)c[e+12>>2]=y}while(0);h=z+(p<<2)|0;e:do if((x|0)==(c[h>>2]|0)){e=h;k=p;do{c[e>>2]=y;if(!k)break e;k=k+-1|0;e=z+(k<<2)|0}while((x|0)==(c[e>>2]|0))}while(0)}while((i|0)!=0)}}c[b>>2]=m;a[f>>0]=1;return}function Pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=b+12|0;c[b>>2]=f;g=b+4|0;c[g>>2]=f;h=b+8|0;i=b+24|0;c[h>>2]=i;j=e+1|0;if((j|0)>12){k=ak(j)|0;j=c[b>>2]|0;l=c[g>>2]|0;if((j|0)==(l|0))m=j;else{n=j;j=k;while(1){a[j>>0]=a[n>>0]|0;n=n+1|0;if((n|0)==(l|0))break;else j=j+1|0}m=c[b>>2]|0}if((m|0)!=(f|0))bk(m,(c[h>>2]|0)-m|0);c[b>>2]=k;c[g>>2]=k;m=k+e|0;c[h>>2]=m;o=k;p=m}else{o=f;p=i}i=d+e|0;m=1-d+i|0;if((o+m|0)>>>0>p>>>0?(k=(m*3|0)>>>1,m=k+1|0,(o+m|0)>>>0>p>>>0):0){p=ak(m)|0;m=c[b>>2]|0;j=c[g>>2]|0;if((m|0)==(j|0))q=m;else{l=m;m=p;while(1){a[m>>0]=a[l>>0]|0;l=l+1|0;if((l|0)==(j|0))break;else m=m+1|0}q=c[b>>2]|0}if((q|0)!=(f|0))bk(q,(c[h>>2]|0)-q|0);c[b>>2]=p;c[g>>2]=p;c[h>>2]=p+k;r=p}else r=o;if(!e){s=r;a[s>>0]=0;return}else{t=d;u=r}while(1){a[u>>0]=a[t>>0]|0;r=(c[g>>2]|0)+1|0;c[g>>2]=r;t=t+1|0;if((t|0)==(i|0)){s=r;break}else u=r}a[s>>0]=0;return}function Qn(a){a=a|0;return ((a+-48|0)>>>0<10|(Rn(a)|0)!=0)&1|0}function Rn(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Sn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=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,K=0,L=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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=f;k=i;l=h;m=16}else{c[g>>2]=0;n=b;o=f;p=i;q=h;m=37}else if(!b){r=f;s=h;m=7}else{t=b;u=f;v=h;m=6}a:while(1)if((m|0)==6){m=0;if(!u){w=v;m=26;break}else{x=t;y=u;z=v}while(1){h=a[z>>0]|0;do if(((h&255)+-1|0)>>>0<127?y>>>0>4&(z&3|0)==0:0){i=x;g=y;A=z;while(1){B=c[A>>2]|0;if((B+-16843009|B)&-2139062144){C=i;D=g;E=B;F=A;m=32;break}c[i>>2]=B&255;c[i+4>>2]=d[A+1>>0];c[i+8>>2]=d[A+2>>0];B=A+4|0;G=i+16|0;c[i+12>>2]=d[A+3>>0];H=g+-4|0;if(H>>>0>4){i=G;g=H;A=B}else{I=B;J=G;K=H;m=31;break}}if((m|0)==31){m=0;L=J;M=K;N=a[I>>0]|0;O=I;break}else if((m|0)==32){m=0;L=C;M=D;N=E&255;O=F;break}}else{L=x;M=y;N=h;O=z}while(0);h=N&255;if((h+-1|0)>>>0>=127){P=L;Q=M;R=h;S=O;break}A=O+1|0;c[L>>2]=h;y=M+-1|0;if(!y){w=A;m=26;break a}else{x=L+4|0;z=A}}A=R+-194|0;if(A>>>0>50){T=P;U=Q;V=S;m=48;break}n=P;o=Q;p=c[117600+(A<<2)>>2]|0;q=S+1|0;m=37;continue}else if((m|0)==7){m=0;A=a[s>>0]|0;if(((A&255)+-1|0)>>>0<127?(s&3|0)==0:0){h=c[s>>2]|0;if(!((h+-16843009|h)&-2139062144)){g=r;i=s;while(1){H=i+4|0;G=g+-4|0;B=c[H>>2]|0;if(!((B+-16843009|B)&-2139062144)){g=G;i=H}else{W=G;X=B;Y=H;break}}}else{W=r;X=h;Y=s}Z=W;_=X&255;$=Y}else{Z=r;_=A;$=s}i=_&255;if((i+-1|0)>>>0<127){r=Z+-1|0;s=$+1|0;m=7;continue}else{aa=Z;ba=i;ca=$}i=ba+-194|0;if(i>>>0>50){T=b;U=aa;V=ca;m=48;break}j=aa;k=c[117600+(i<<2)>>2]|0;l=ca+1|0;m=16;continue}else if((m|0)==16){m=0;i=(d[l>>0]|0)>>>3;if((i+-16|i+(k>>26))>>>0>7){m=17;break}i=l+1|0;if(k&33554432){if((a[i>>0]&-64)<<24>>24!=-128){m=20;break}g=l+2|0;if(!(k&524288))da=g;else{if((a[g>>0]&-64)<<24>>24!=-128){m=23;break}da=l+3|0}}else da=i;r=j+-1|0;s=da;m=7;continue}else if((m|0)==37){m=0;i=d[q>>0]|0;g=i>>>3;if((g+-16|g+(p>>26))>>>0>7){m=38;break}g=q+1|0;H=i+-128|p<<6;if((H|0)<0){i=d[g>>0]|0;if((i&192|0)!=128){m=41;break}B=q+2|0;G=i+-128|H<<6;if((G|0)<0){i=d[B>>0]|0;if((i&192|0)!=128){m=44;break}ea=i+-128|G<<6;fa=q+3|0}else{ea=G;fa=B}}else{ea=H;fa=g}c[n>>2]=ea;t=n+4|0;u=o+-1|0;v=fa;m=6;continue}if((m|0)==17){ga=b;ha=j;ia=k;ja=l+-1|0;m=47}else if((m|0)==20){ga=b;ha=j;ia=k;ja=l+-1|0;m=47}else if((m|0)==23){ga=b;ha=j;ia=k;ja=l+-1|0;m=47}else if((m|0)==26){c[e>>2]=w;ka=f;return ka|0}else if((m|0)==38){ga=n;ha=o;ia=p;ja=q+-1|0;m=47}else if((m|0)==41){la=n;ma=q+-1|0}else if((m|0)==44){la=n;ma=q+-1|0}if((m|0)==47)if(!ia){T=ga;U=ha;V=ja;m=48}else{la=ga;ma=ja}if((m|0)==48)if(!(a[V>>0]|0)){if(T){c[T>>2]=0;c[e>>2]=0}ka=f-U|0;return ka|0}else{la=T;ma=V}c[(fe()|0)>>2]=84;if(!la){ka=-1;return ka|0}c[e>>2]=ma;ka=-1;return ka|0}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=Sn(a,f,d,0)|0;i=e;return b|0}function Un(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c&255;c=d;while(1){if(!c){f=0;g=4;break}c=c+-1|0;d=b+c|0;if((a[d>>0]|0)==e<<24>>24){f=d;g=4;break}}if((g|0)==4)return f|0;return 0}function Vn(b,c){b=b|0;c=c|0;var d=0;d=Wn(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function Wn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d&255;if(!e){f=b+(Vo(b|0)|0)|0;return f|0}a:do if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break}j=i+1|0;if(!(j&3)){g=j;break a}else i=j}return f|0}while(0);b=aa(e,16843009)|0;e=c[g>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009)){i=e;h=g;while(1){j=i^b;if((j&-2139062144^-2139062144)&j+-16843009){k=h;break b}j=h+4|0;i=c[j>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009){k=j;break}else h=j}}else k=g;while(0);g=d&255;d=k;while(1){k=a[d>>0]|0;if(k<<24>>24==0?1:k<<24>>24==g<<24>>24){f=d;break}else d=d+1|0}return f|0}function Xn(a,b){a=a|0;b=b|0;return Un(a,b,(Vo(a|0)|0)+1|0)|0}function Yn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=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,K=0,L=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,_=0,$=0,aa=0,ba=0,ca=0;f=i;i=i+1056|0;g=f+1024|0;h=f;j=a[e>>0]|0;if(!(j<<24>>24)){k=b;i=f;return k|0}l=Vn(b,j<<24>>24)|0;if(!l){k=0;i=f;return k|0}b=a[e+1>>0]|0;if(!(b<<24>>24)){k=l;i=f;return k|0}m=l+1|0;n=a[m>>0]|0;if(!(n<<24>>24)){k=0;i=f;return k|0}o=a[e+2>>0]|0;if(!(o<<24>>24)){p=b&255|(j&255)<<8;q=m;m=n;r=l;s=d[l>>0]<<8|n&255;while(1){t=s&65535;if((t|0)==(p|0)){u=r;v=m;break}w=q+1|0;x=a[w>>0]|0;if(!(x<<24>>24)){u=q;v=0;break}else{y=q;q=w;m=x;s=x&255|t<<8;r=y}}k=v<<24>>24!=0?u:0;i=f;return k|0}u=l+2|0;v=a[u>>0]|0;if(!(v<<24>>24)){k=0;i=f;return k|0}r=a[e+3>>0]|0;if(!(r<<24>>24)){s=(b&255)<<16|(j&255)<<24|(o&255)<<8;m=(v&255)<<8|(n&255)<<16|d[l>>0]<<24;if((m|0)==(s|0)){z=u;A=v}else{q=u;u=m;while(1){m=q+1|0;p=a[m>>0]|0;u=(p&255|u)<<8;if(p<<24>>24==0|(u|0)==(s|0)){z=m;A=p;break}else q=m}}k=A<<24>>24!=0?z+-2|0:0;i=f;return k|0}z=l+3|0;A=a[z>>0]|0;if(!(A<<24>>24)){k=0;i=f;return k|0}if(!(a[e+4>>0]|0)){q=(b&255)<<16|(j&255)<<24|(o&255)<<8|r&255;r=(v&255)<<8|(n&255)<<16|A&255|d[l>>0]<<24;if((r|0)==(q|0)){B=z;C=A}else{A=z;z=r;while(1){r=A+1|0;n=a[r>>0]|0;z=n&255|z<<8;if(n<<24>>24==0|(z|0)==(q|0)){B=r;C=n;break}else A=r}}k=C<<24>>24!=0?B+-3|0:0;i=f;return k|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;B=j;j=0;while(1){if(!(a[l+j>>0]|0)){D=0;break}C=g+(((B&255)>>>5&255)<<2)|0;c[C>>2]=c[C>>2]|1<<(B&31);C=j+1|0;c[h+((B&255)<<2)>>2]=C;B=a[e+C>>0]|0;if(!(B<<24>>24)){E=C;F=j;G=23;break}else j=C}a:do if((G|0)==23){b:do if(E>>>0>1){j=1;B=-1;C=0;c:while(1){A=j;q=C;z=1;while(1){r=A;n=q;d:while(1){v=r;o=1;while(1){b=a[e+(o+B)>>0]|0;s=a[e+v>>0]|0;if(b<<24>>24!=s<<24>>24){H=v;I=b;J=s;K=n;break d}if((o|0)==(z|0))break;o=o+1|0;v=o+n|0;if(v>>>0>=E>>>0){L=B;M=z;break c}}n=n+z|0;r=n+1|0;if(r>>>0>=E>>>0){L=B;M=z;break c}}r=H-B|0;if((I&255)<=(J&255)){N=K;break}n=H+1|0;if(n>>>0<E>>>0){A=n;q=H;z=r}else{L=B;M=r;break c}}j=N+2|0;if(j>>>0>=E>>>0){L=N;M=1;break}else{B=N;C=N+1|0}}C=1;B=-1;j=0;while(1){z=C;q=j;A=1;while(1){r=z;n=q;e:while(1){v=r;o=1;while(1){s=a[e+(o+B)>>0]|0;b=a[e+v>>0]|0;if(s<<24>>24!=b<<24>>24){O=v;P=s;Q=b;R=n;break e}if((o|0)==(A|0))break;o=o+1|0;v=o+n|0;if(v>>>0>=E>>>0){S=L;T=B;U=M;V=A;break b}}n=n+A|0;r=n+1|0;if(r>>>0>=E>>>0){S=L;T=B;U=M;V=A;break b}}r=O-B|0;if((P&255)>=(Q&255)){W=R;break}n=O+1|0;if(n>>>0<E>>>0){z=n;q=O;A=r}else{S=L;T=B;U=M;V=r;break b}}C=W+2|0;if(C>>>0>=E>>>0){S=L;T=W;U=M;V=1;break}else{B=W;j=W+1|0}}}else{S=-1;T=-1;U=1;V=1}while(0);j=(T+1|0)>>>0>(S+1|0)>>>0;B=j?V:U;C=j?T:S;j=C+1|0;if(!(Ko(e,e+B|0,j)|0)){A=E-B|0;q=E|63;if((E|0)==(B|0)){X=q;Y=E}else{z=l;r=0;n=l;f:while(1){v=z;do if((n-v|0)>>>0<E>>>0){o=Jo(n,0,q)|0;if(o)if((o-v|0)>>>0<E>>>0){D=0;break a}else{Z=o;break}else{Z=n+q|0;break}}else Z=n;while(0);v=a[z+F>>0]|0;if(!(1<<(v&31)&c[g+(((v&255)>>>5&255)<<2)>>2])){z=z+E|0;r=0;n=Z;continue}o=c[h+((v&255)<<2)>>2]|0;v=E-o|0;if((E|0)!=(o|0)){z=z+((r|0)!=0&v>>>0<B>>>0?A:v)|0;r=0;n=Z;continue}v=j>>>0>r>>>0?j:r;o=a[e+v>>0]|0;g:do if(!(o<<24>>24))_=j;else{b=o;s=v;while(1){if(b<<24>>24!=(a[z+s>>0]|0)){$=s;break}s=s+1|0;b=a[e+s>>0]|0;if(!(b<<24>>24)){_=j;break g}}z=z+($-C)|0;r=0;n=Z;continue f}while(0);do{if(_>>>0<=r>>>0){D=z;break a}_=_+-1|0}while((a[e+_>>0]|0)==(a[z+_>>0]|0));z=z+B|0;r=A;n=Z}}}else{n=E-C+-1|0;X=E|63;Y=(C>>>0>n>>>0?C:n)+1|0}n=e+j|0;A=l;r=l;h:while(1){B=A;do if((r-B|0)>>>0<E>>>0){z=Jo(r,0,X)|0;if(z)if((z-B|0)>>>0<E>>>0){D=0;break a}else{aa=z;break}else{aa=r+X|0;break}}else aa=r;while(0);B=a[A+F>>0]|0;if(!(1<<(B&31)&c[g+(((B&255)>>>5&255)<<2)>>2])){A=A+E|0;r=aa;continue}z=c[h+((B&255)<<2)>>2]|0;if((E|0)!=(z|0)){A=A+(E-z)|0;r=aa;continue}z=a[n>>0]|0;i:do if(!(z<<24>>24))ba=j;else{B=z;q=j;while(1){if(B<<24>>24!=(a[A+q>>0]|0)){ca=q;break}q=q+1|0;B=a[e+q>>0]|0;if(!(B<<24>>24)){ba=j;break i}}A=A+(ca-C)|0;r=aa;continue h}while(0);do{if(!ba){D=A;break a}ba=ba+-1|0}while((a[e+ba>>0]|0)==(a[A+ba>>0]|0));A=A+Y|0;r=aa}}while(0);k=D;i=f;return k|0}function Zn(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==0?1:a;a=Po(b)|0;a:do if(!a){while(1){d=fo()|0;if(!d)break;hh[d&15]();d=Po(b)|0;if(d){e=d;break a}}d=Td(4)|0;c[d>>2]=117816;og(d|0,117848,29)}else e=a;while(0);return e|0}function _n(a){a=a|0;return Zn(a)|0}function $n(a){a=a|0;Qo(a);return}function ao(a){a=a|0;$n(a);return}function bo(a){a=a|0;return}function co(a){a=a|0;$n(a);return}function eo(a){a=a|0;return 118168}function fo(){var a=0;a=c[29466]|0;c[29466]=a+0;return a|0}function go(a){a=a|0;return}function ho(a){a=a|0;return}function io(a){a=a|0;return}function jo(a){a=a|0;return}function ko(a){a=a|0;return}function lo(a){a=a|0;$n(a);return}function mo(a){a=a|0;$n(a);return}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+64|0;f=e;if((a|0)!=(b|0))if((b|0)!=0?(g=ro(b,117960,118016,0)|0,(g|0)!=0):0){b=f;h=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;jh[c[(c[g>>2]|0)+28>>2]&63](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];j=1}else j=0;k=j}else k=0;else k=1;i=e;return k|0}function oo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))oo(0,b,d,e);return}function qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((a|0)==(c[b+8>>2]|0))oo(0,b,d,e);else{f=c[a+8>>2]|0;jh[c[(c[f>>2]|0)+28>>2]&63](f,b,d,e)}return}function ro(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+64|0;j=h;k=c[d>>2]|0;l=d+(c[k+-8>>2]|0)|0;m=c[k+-4>>2]|0;c[j>>2]=f;c[j+4>>2]=d;c[j+8>>2]=e;c[j+12>>2]=g;g=j+16|0;e=j+20|0;d=j+24|0;k=j+28|0;n=j+32|0;o=j+40|0;p=(m|0)==(f|0);q=g;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));b[g+36>>1]=0;a[g+38>>0]=0;do if(p){c[j+48>>2]=1;Wg[c[(c[f>>2]|0)+20>>2]&7](f,j,l,l,1,0);s=(c[d>>2]|0)==1?l:0}else{Jg[c[(c[m>>2]|0)+24>>2]&31](m,j,l,1,0);q=c[j+36>>2]|0;if(!q){s=(c[o>>2]|0)==1&(c[k>>2]|0)==1&(c[n>>2]|0)==1?c[e>>2]|0:0;break}else if((q|0)!=1){s=0;break}if((c[d>>2]|0)!=1?!((c[o>>2]|0)==0&(c[k>>2]|0)==1&(c[n>>2]|0)==1):0){s=0;break}s=c[g>>2]|0}while(0);i=h;return s|0}function so(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;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;h=c[b>>2]|0;if(!h){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((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54>>0]=1;break}h=d+24|0;b=c[h>>2]|0;if((b|0)==2){c[h>>2]=g;i=g}else i=b;if((i|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function to(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,l=0,m=0,n=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;Jg[c[(c[h>>2]|0)+24>>2]&31](h,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;j=d+52|0;a[j>>0]=0;k=d+53|0;a[k>>0]=0;l=c[b+8>>2]|0;Wg[c[(c[l>>2]|0)+20>>2]&7](l,d,e,e,1,g);if(a[k>>0]|0){if(!(a[j>>0]|0)){m=1;n=13}}else{m=0;n=13}do if((n|0)==13){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(m)break}else n=16;if((n|0)==16?m:0)break;c[i>>2]=4;break a}while(0);c[i>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function uo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(g=d+28|0,(c[g>>2]|0)!=1):0)c[g>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(g=d+20|0,(c[g>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[g>>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}while(0);return}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((a|0)==(c[b+8>>2]|0))so(0,b,d,e,f);else{h=c[a+8>>2]|0;Wg[c[(c[h>>2]|0)+20>>2]&7](h,b,d,e,f,g)}return}function wo(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((a|0)==(c[b+8>>2]|0))so(0,b,d,e,f);return}function xo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=b;c[g>>2]=Po((Vo(c[f>>2]|0)|0)+1|0)|0;$o(c[g>>2]|0,c[f>>2]|0)|0;c[h>>2]=Yn(c[g>>2]|0,118184)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;c[h>>2]=Yn(c[g>>2]|0,118192)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;c[h>>2]=Yn(c[g>>2]|0,118200)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;c[h>>2]=Yn(c[g>>2]|0,118208)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;do if(Lo(c[g>>2]|0,118216)|0){if(!(Lo(c[g>>2]|0,118256)|0)){c[g>>2]=118280;break}if(!(Lo(c[g>>2]|0,118296)|0)){c[g>>2]=118320;break}if(!(Lo(c[g>>2]|0,118336)|0)){c[g>>2]=118352;break}if(!(Lo(c[g>>2]|0,118368)|0))c[g>>2]=118384}else c[g>>2]=118240;while(0);do if(Lo(c[g>>2]|0,118400)|0){if(!(Lo(c[g>>2]|0,118416)|0)){c[e>>2]=9;break}if(!(Lo(c[g>>2]|0,118432)|0)){c[e>>2]=18;break}if(!(Lo(c[g>>2]|0,118448)|0)){c[e>>2]=19;break}if(!(Lo(c[g>>2]|0,118464)|0)){c[e>>2]=20;break}if(!(Lo(c[g>>2]|0,118480)|0)){c[e>>2]=21;break}if(!(Lo(c[g>>2]|0,118496)|0)){c[e>>2]=22;break}if(!(Lo(c[g>>2]|0,118520)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,118544)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,118576)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,118592)|0)){c[e>>2]=4;break}if(!(Lo(c[g>>2]|0,118608)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,118624)|0)){c[e>>2]=23;break}if(!(Lo(c[g>>2]|0,118640)|0)){c[e>>2]=10;break}if(!(Lo(c[g>>2]|0,118664)|0)){c[e>>2]=11;break}if(!(Lo(c[g>>2]|0,118688)|0)){c[e>>2]=12;break}if(!(Lo(c[g>>2]|0,118712)|0)){c[e>>2]=13;break}if(!(Lo(c[g>>2]|0,118736)|0)){c[e>>2]=10;break}if(!(Lo(c[g>>2]|0,118752)|0)){c[e>>2]=24;break}if(!(Lo(c[g>>2]|0,118768)|0)){c[e>>2]=25;break}if(!(Lo(c[g>>2]|0,118784)|0)){c[e>>2]=14;break}if(!(Lo(c[g>>2]|0,118808)|0)){c[e>>2]=15;break}if(!(Lo(c[g>>2]|0,118824)|0)){c[e>>2]=16;break}if(!(Lo(c[g>>2]|0,118840)|0)){c[e>>2]=11;break}if(!(Lo(c[g>>2]|0,118856)|0)){c[e>>2]=26;break}if(!(Lo(c[g>>2]|0,118880)|0)){c[e>>2]=27;break}if(!(Lo(c[g>>2]|0,118904)|0)){c[e>>2]=28;break}if(!(Lo(c[g>>2]|0,118928)|0)){c[e>>2]=15;break}if(!(Lo(c[g>>2]|0,118960)|0)){c[e>>2]=12;break}if(!(Lo(c[g>>2]|0,118984)|0)){c[e>>2]=16;break}if(!(Lo(c[g>>2]|0,119e3)|0)){c[e>>2]=17;break}if(!(Lo(c[g>>2]|0,119016)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,119040)|0)){c[e>>2]=18;break}if(!(Lo(c[g>>2]|0,119064)|0)){c[e>>2]=19;break}if(!(Lo(c[g>>2]|0,119088)|0)){c[e>>2]=20;break}if(!(Lo(c[g>>2]|0,119120)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,119144)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,119160)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,119176)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,119192)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,119208)|0)){c[e>>2]=29;break}if(!(Lo(c[g>>2]|0,119224)|0)){c[e>>2]=21;break}if(!(Lo(c[g>>2]|0,119240)|0)){c[e>>2]=17;break}if(!(Lo(c[g>>2]|0,119256)|0)){c[e>>2]=14;break}if(!(Lo(c[g>>2]|0,119272)|0)){c[e>>2]=22;break}if(!(Lo(c[g>>2]|0,119288)|0)){c[e>>2]=23;break}if(!(Lo(c[g>>2]|0,119304)|0)){c[e>>2]=24;break}if(!(Lo(c[g>>2]|0,119320)|0)){c[e>>2]=25;break}if(!(Lo(c[g>>2]|0,119336)|0)){c[e>>2]=26;break}if(!(Lo(c[g>>2]|0,119352)|0)){c[e>>2]=27;break}if(!(Lo(c[g>>2]|0,119368)|0)){c[e>>2]=28;break}if(!(Lo(c[g>>2]|0,119384)|0)){c[e>>2]=29;break}if(!(Lo(c[g>>2]|0,119400)|0)){c[e>>2]=18;break}if(!(Lo(c[g>>2]|0,119424)|0)){c[e>>2]=19;break}if(!(Lo(c[g>>2]|0,119448)|0)){c[e>>2]=20;break}if(!(Lo(c[g>>2]|0,119472)|0)){c[e>>2]=30;break}if(!(Lo(c[g>>2]|0,119488)|0)){c[e>>2]=31;break}if(!(Lo(c[g>>2]|0,119512)|0)){c[e>>2]=32;break}if(!(Lo(c[g>>2]|0,119536)|0)){c[e>>2]=33;break}if(!(Lo(c[g>>2]|0,119560)|0)){c[e>>2]=34;break}if(!(Lo(c[g>>2]|0,119584)|0)){c[e>>2]=4;break}if(!(Lo(c[g>>2]|0,119608)|0)){c[e>>2]=4;break}if(!(Lo(c[g>>2]|0,118320)|0)){c[e>>2]=13;break}if(!(Lo(c[g>>2]|0,119632)|0)){c[e>>2]=37;break}if(!(Lo(c[g>>2]|0,119648)|0)){c[e>>2]=21;break}if(!(Lo(c[g>>2]|0,119672)|0)){c[e>>2]=22;break}if(!(Lo(c[g>>2]|0,119688)|0)){c[e>>2]=23;break}if(!(Lo(c[g>>2]|0,119712)|0)){c[e>>2]=38;break}if(!(Lo(c[g>>2]|0,119728)|0)){c[e>>2]=24;break}if(!(Lo(c[g>>2]|0,119752)|0)){c[e>>2]=30;break}if(!(Lo(c[g>>2]|0,119768)|0)){c[e>>2]=31;break}if(!(Lo(c[g>>2]|0,119784)|0)){c[e>>2]=14;break}if(!(Lo(c[g>>2]|0,118240)|0)){c[e>>2]=7;break}if(!(Lo(c[g>>2]|0,119800)|0)){c[e>>2]=39;break}if(!(Lo(c[g>>2]|0,118352)|0)){c[e>>2]=35;break}if(!(Lo(c[g>>2]|0,118384)|0)){c[e>>2]=36;break}if(!(Lo(c[g>>2]|0,119816)|0)){c[e>>2]=25;break}if(!(Lo(c[g>>2]|0,119848)|0)){c[e>>2]=40;break}if(!(Lo(c[g>>2]|0,119864)|0)){c[e>>2]=26;break}if(!(Lo(c[g>>2]|0,118280)|0)){c[e>>2]=41;break}if(!(Lo(c[g>>2]|0,119888)|0)){c[e>>2]=42;break}if(!(Lo(c[g>>2]|0,119912)|0)){c[e>>2]=15;break}if(!(Lo(c[g>>2]|0,119928)|0)){c[e>>2]=32;break}if(!(Lo(c[g>>2]|0,119952)|0)){c[e>>2]=37;break}if(!(Lo(c[g>>2]|0,119976)|0)){c[e>>2]=38;break}if(!(Lo(c[g>>2]|0,12e4)|0)){c[e>>2]=39;break}if(!(Lo(c[g>>2]|0,120024)|0)){c[e>>2]=27;break}if(!(Lo(c[g>>2]|0,120056)|0)){c[e>>2]=15;break}if(!(Lo(c[g>>2]|0,120080)|0)){c[e>>2]=28;break}if(!(Lo(c[g>>2]|0,120120)|0)){c[e>>2]=16;break}if(!(Lo(c[g>>2]|0,120136)|0)){c[e>>2]=43;break}if(!(Lo(c[g>>2]|0,120152)|0)){c[e>>2]=33;break}if(!(Lo(c[g>>2]|0,120176)|0)){c[e>>2]=29;break}if(!(Lo(c[g>>2]|0,120192)|0)){c[e>>2]=40;break}if(!(Lo(c[g>>2]|0,120208)|0)){c[e>>2]=41;break}if(!(Lo(c[g>>2]|0,120224)|0)){c[e>>2]=5;break}if(!(Lo(c[g>>2]|0,120248)|0)){c[e>>2]=44;break}if(!(Lo(c[g>>2]|0,120272)|0)){c[e>>2]=30;break}if(!(Lo(c[g>>2]|0,120288)|0)){c[e>>2]=31;break}if(!(Lo(c[g>>2]|0,120312)|0)){c[e>>2]=34;break}if(!(Lo(c[g>>2]|0,120328)|0)){c[e>>2]=32;break}if(!(Lo(c[g>>2]|0,120344)|0)){c[e>>2]=45;break}if(!(Lo(c[g>>2]|0,120368)|0)){c[e>>2]=42;break}if(!(Lo(c[g>>2]|0,120392)|0)){c[e>>2]=43;break}if(!(Lo(c[g>>2]|0,120416)|0)){c[e>>2]=46;break}if(!(Lo(c[g>>2]|0,120440)|0)){c[e>>2]=47;break}if(!(Lo(c[g>>2]|0,120456)|0)){c[e>>2]=9;break}if(!(Lo(c[g>>2]|0,120472)|0)){c[e>>2]=48;break}if(!(Lo(c[g>>2]|0,120488)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,120504)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,120520)|0)){c[e>>2]=6;break}if(!(Lo(c[g>>2]|0,120544)|0)){c[e>>2]=49;break}if(!(Lo(c[g>>2]|0,120576)|0)){c[e>>2]=50;break}if(!(Lo(c[g>>2]|0,120608)|0)){c[e>>2]=35;break}if(!(Lo(c[g>>2]|0,120624)|0)){c[e>>2]=33;break}if(!(Lo(c[g>>2]|0,120640)|0)){c[e>>2]=16;break}if(!(Lo(c[g>>2]|0,120656)|0)){c[e>>2]=10;break}if(!(Lo(c[g>>2]|0,120680)|0)){c[e>>2]=8;break}if(!(Lo(c[g>>2]|0,120696)|0)){c[e>>2]=44;break}if(!(Lo(c[g>>2]|0,120720)|0)){c[e>>2]=34;break}if(!(Lo(c[g>>2]|0,120744)|0)){c[e>>2]=17;break}if(!(Lo(c[g>>2]|0,120768)|0)){c[e>>2]=11;break}if(!(Lo(c[g>>2]|0,120784)|0)){c[e>>2]=12;break}if(!(Lo(c[g>>2]|0,120792)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,120808)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,120824)|0)){c[e>>2]=51;break}if(!(Lo(c[g>>2]|0,120840)|0)){c[e>>2]=52;break}if(!(Lo(c[g>>2]|0,120856)|0)){c[e>>2]=53;break}if(!(Lo(c[g>>2]|0,120872)|0)){c[e>>2]=54;break}if(!(Lo(c[g>>2]|0,120888)|0)){c[e>>2]=55;break}if(!(Lo(c[g>>2]|0,120904)|0)){c[e>>2]=56;break}if(!(Lo(c[g>>2]|0,120912)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,120928)|0)){c[e>>2]=57;break}if(!(Lo(c[g>>2]|0,120944)|0)){c[e>>2]=58;break}if(!(Lo(c[g>>2]|0,120960)|0)){c[e>>2]=59;break}if(!(Lo(c[g>>2]|0,120976)|0)){c[e>>2]=17;break}if(!(Lo(c[g>>2]|0,121008)|0)){c[e>>2]=60;break}if(!(Lo(c[g>>2]|0,121032)|0)){c[e>>2]=61;break}if(!(Lo(c[g>>2]|0,121048)|0)){c[e>>2]=62;break}if(!(Lo(c[g>>2]|0,121064)|0)){c[e>>2]=18;break}if(!(Lo(c[g>>2]|0,121080)|0)){c[e>>2]=45;break}if(!(Lo(c[g>>2]|0,121096)|0)){c[e>>2]=46;break}if(!(Lo(c[g>>2]|0,121120)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,121136)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,121152)|0)){c[e>>2]=47;break}if(!(Lo(c[g>>2]|0,121176)|0)){c[e>>2]=48;break}if(!(Lo(c[g>>2]|0,121184)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,121200)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,121224)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,121248)|0)){c[e>>2]=36;break}if(!(Lo(c[g>>2]|0,121264)|0)){c[e>>2]=1;break}if(!(Lo(c[g>>2]|0,121280)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,121304)|0)){c[e>>2]=37;break}if(!(Lo(c[g>>2]|0,121320)|0)){c[e>>2]=38;break}if(!(Lo(c[g>>2]|0,121336)|0)){c[e>>2]=35;break}if(!(Lo(c[g>>2]|0,121352)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,121368)|0)){c[e>>2]=36;break}if(!(Lo(c[g>>2]|0,121384)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,121408)|0)){c[e>>2]=37;break}if(!(Lo(c[g>>2]|0,121424)|0)){c[e>>2]=38;break}if(!(Lo(c[g>>2]|0,121448)|0)){c[e>>2]=39;break}if(!(Lo(c[g>>2]|0,121472)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,121488)|0)){c[e>>2]=40;break}if(!(Lo(c[g>>2]|0,121512)|0)){c[e>>2]=41;break}if(!(Lo(c[g>>2]|0,121536)|0)){c[e>>2]=2;break}if(!(Lo(c[g>>2]|0,121560)|0)){c[e>>2]=3;break}if(!(Lo(c[g>>2]|0,121584)|0)){c[e>>2]=4;break}if(Lo(c[g>>2]|0,121608)|0){yd(0,c[f>>2]|0,c[g>>2]|0)|0;c[e>>2]=0;break}else{c[e>>2]=49;break}}else c[e>>2]=17;while(0);i=d;return c[e>>2]|0}function yo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function zo(a){a=a|0;return (a+-65|0)>>>0<26|0}function Ao(a){a=a|0;var b=0;b=(zo(a)|0)==0;return (b?a:a|32)|0}function Bo(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,l=0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=bp(d|0,e|0,52)|0;g=f&2047;if(!g){if(a!=0.0){i=+Bo(a*18446744073709551616.0,b);j=i;l=(c[b>>2]|0)+-64|0}else{j=a;l=0}c[b>>2]=l;m=j;return +m}else if((g|0)==2047){m=a;return +m}else{c[b>>2]=g+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;m=+h[k>>3];return +m}return +(0.0)}function Co(a,b){a=+a;b=b|0;return +(+Bo(a,b))}function Do(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Eo(a,b,0)|0;return c|0}function Eo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){f=1;return f|0}if(d>>>0<128){a[b>>0]=d;f=1;return f|0}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;return f|0}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;return f|0}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;return f|0}else{c[(fe()|0)>>2]=84;f=-1;return f|0}return 0}function Fo(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0;return f|0}else{c[b>>2]=e|32;f=-1;return f|0}return 0}function Go(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=e+16|0;g=c[f>>2]|0;do if(!g)if(!(Fo(e)|0)){h=c[f>>2]|0;break}else{i=0;return i|0}else h=g;while(0);g=e+20|0;f=c[g>>2]|0;if((h-f|0)>>>0<d>>>0){i=Ug[c[e+36>>2]&15](e,b,d)|0;return i|0}a:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){j=d;k=b;l=f;m=0;break a}n=h+-1|0;if((a[b+n>>0]|0)==10){o=h;break}else h=n}if((Ug[c[e+36>>2]&15](e,b,o)|0)>>>0<o>>>0){i=o;return i|0}else{j=d-o|0;k=b+o|0;l=c[g>>2]|0;m=o;break}}else{j=d;k=b;l=f;m=0}while(0);Wo(l|0,k|0,j|0)|0;c[g>>2]=(c[g>>2]|0)+j;i=m+j|0;return i|0}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+224|0;f=e+120|0;g=e+80|0;h=e;j=e+136|0;k=g;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[f>>2]=c[d>>2];if((No(0,b,f,h,g)|0)<0){m=-1;i=e;return m|0}d=a+48|0;if(!(c[d>>2]|0)){k=a+44|0;l=c[k>>2]|0;c[k>>2]=j;n=a+28|0;c[n>>2]=j;o=a+20|0;c[o>>2]=j;c[d>>2]=80;p=a+16|0;c[p>>2]=j+80;j=No(a,b,f,h,g)|0;if(!l)q=j;else{Ug[c[a+36>>2]&15](a,0,0)|0;r=(c[o>>2]|0)==0?-1:j;c[k>>2]=l;c[d>>2]=0;c[p>>2]=0;c[n>>2]=0;c[o>>2]=0;q=r}}else q=No(a,b,f,h,g)|0;m=q;i=e;return m|0}function Io(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+128|0;h=g+112|0;j=g;k=j;l=121728;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=h;o=1}else{c[(fe()|0)>>2]=75;p=-1;i=g;return p|0}else{n=b;o=d}d=-2-n|0;b=o>>>0>d>>>0?d:o;c[j+48>>2]=b;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;d=n+b|0;n=j+16|0;c[n>>2]=d;c[j+28>>2]=d;d=Ho(j,e,f)|0;if(!b){p=d;i=g;return p|0}b=c[o>>2]|0;a[b+(((b|0)==(c[n>>2]|0))<<31>>31)>>0]=0;p=d;i=g;return p|0}function Jo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=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;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=p;s=n;m=5;break}}}else{q=e;r=g;s=b;m=5}while(0);if((m|0)==5)if(r){k=q;l=s;m=6}else{t=0;u=s}b:do if((m|0)==6){s=d&255;if((a[l>>0]|0)==s<<24>>24){t=k;u=l}else{q=aa(f,16843009)|0;c:do if(k>>>0>3){r=k;b=l;while(1){g=c[b>>2]^q;if((g&-2139062144^-2139062144)&g+-16843009){v=r;w=b;break}g=b+4|0;e=r+-4|0;if(e>>>0>3){r=e;b=g}else{x=e;y=g;m=11;break c}}z=v;A=w}else{x=k;y=l;m=11}while(0);if((m|0)==11)if(!x){t=0;u=y;break}else{z=x;A=y}while(1){if((a[A>>0]|0)==s<<24>>24){t=z;u=A;break b}q=A+1|0;z=z+-1|0;if(!z){t=0;u=q;break}else A=q}}}while(0);return ((t|0)!=0?u:0)|0}function Ko(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!d){e=0;return e|0}else{f=d;g=b;h=c}while(1){c=a[g>>0]|0;b=a[h>>0]|0;if(c<<24>>24!=b<<24>>24){i=c;j=b;break}f=f+-1|0;if(!f){e=0;k=5;break}else{g=g+1|0;h=h+1|0}}if((k|0)==5)return e|0;e=(i&255)-(j&255)|0;return e|0}function Lo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=d;g=e}else{e=b;b=c;do{e=e+1|0;b=b+1|0;c=a[e>>0]|0;d=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));f=c;g=d}return (f&255)-(g&255)|0}function Mo(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e){f=0;return f|0}g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=e;k=g;l=b;m=c;while(1){j=j+-1|0;n=a[m>>0]|0;if(!(k<<24>>24==n<<24>>24&((j|0)!=0&n<<24>>24!=0))){h=k;i=m;break a}l=l+1|0;n=m+1|0;k=a[l>>0]|0;if(!(k<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0;return f|0}function No(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var 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,F=0,G=0,H=0,I=0,J=0,K=0,L=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,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0.0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0.0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0.0,yb=0.0,zb=0.0,Ab=0.0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0.0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0.0,zc=0.0,Ac=0.0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0;m=i;i=i+864|0;n=m+16|0;o=m+8|0;p=m+836|0;q=p;r=m+824|0;s=m+568|0;t=m+528|0;u=m;v=m+520|0;w=(e|0)!=0;x=t+40|0;y=x;z=t+39|0;t=u+4|0;A=u;B=r+12|0;C=r+11|0;r=B;D=r-q|0;F=-2-q|0;G=r+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=f;f=0;O=0;P=0;a:while(1){do if((f|0)>-1)if((O|0)>(2147483647-f|0)){c[(fe()|0)>>2]=75;Q=-1;break}else{Q=O+f|0;break}else Q=f;while(0);R=a[N>>0]|0;if(!(R<<24>>24)){S=Q;T=P;U=344;break}else{V=R;W=N}while(1){if(!(V<<24>>24)){X=W;Y=W;break}else if(V<<24>>24==37){Z=W;_=W;U=9;break}R=W+1|0;V=a[R>>0]|0;W=R}b:do if((U|0)==9)while(1){U=0;if((a[Z+1>>0]|0)!=37){X=Z;Y=_;break b}R=_+1|0;$=Z+2|0;if((a[$>>0]|0)==37){Z=$;_=R;U=9}else{X=$;Y=R;break}}while(0);R=Y-N|0;if(w)Go(N,R,e)|0;if((Y|0)!=(N|0)){N=X;f=Q;O=R;continue}$=X+1|0;ba=a[$>>0]|0;ca=(ba<<24>>24)+-48|0;if(ca>>>0<10){da=(a[X+2>>0]|0)==36;ea=da?X+3|0:$;fa=a[ea>>0]|0;ga=da?ca:-1;ha=da?1:P;ia=ea}else{fa=ba;ga=-1;ha=P;ia=$}$=fa<<24>>24;c:do if(($&-32|0)==32){ba=$;ea=fa;da=0;ca=ia;while(1){if(!(1<<ba+-32&75913)){ja=ea;ka=da;la=ca;break c}ma=1<<(ea<<24>>24)+-32|da;na=ca+1|0;oa=a[na>>0]|0;ba=oa<<24>>24;if((ba&-32|0)!=32){ja=oa;ka=ma;la=na;break}else{ea=oa;da=ma;ca=na}}}else{ja=fa;ka=0;la=ia}while(0);do if(ja<<24>>24==42){$=la+1|0;ca=(a[$>>0]|0)+-48|0;if(ca>>>0<10?(a[la+2>>0]|0)==36:0){c[l+(ca<<2)>>2]=10;pa=1;qa=la+3|0;ra=c[j+((a[$>>0]|0)+-48<<3)>>2]|0}else{if(ha){sa=-1;U=363;break a}if(!w){ta=$;ua=ka;va=0;wa=0;break}ca=(c[g>>2]|0)+(4-1)&~(4-1);da=c[ca>>2]|0;c[g>>2]=ca+4;pa=0;qa=$;ra=da}if((ra|0)<0){ta=qa;ua=ka|8192;va=pa;wa=0-ra|0}else{ta=qa;ua=ka;va=pa;wa=ra}}else{da=(ja<<24>>24)+-48|0;if(da>>>0<10){$=la;ca=0;ea=da;while(1){da=(ca*10|0)+ea|0;ba=$+1|0;ea=(a[ba>>0]|0)+-48|0;if(ea>>>0>=10){xa=da;ya=ba;break}else{$=ba;ca=da}}if((xa|0)<0){sa=-1;U=363;break a}else{ta=ya;ua=ka;va=ha;wa=xa}}else{ta=la;ua=ka;va=ha;wa=0}}while(0);d:do if((a[ta>>0]|0)==46){ca=ta+1|0;$=a[ca>>0]|0;if($<<24>>24!=42){ea=($<<24>>24)+-48|0;if(ea>>>0<10){za=ca;Aa=0;Ba=ea}else{Ca=ca;Da=0;break}while(1){ca=(Aa*10|0)+Ba|0;ea=za+1|0;Ba=(a[ea>>0]|0)+-48|0;if(Ba>>>0>=10){Ca=ea;Da=ca;break d}else{za=ea;Aa=ca}}}ca=ta+2|0;ea=(a[ca>>0]|0)+-48|0;if(ea>>>0<10?(a[ta+3>>0]|0)==36:0){c[l+(ea<<2)>>2]=10;Ca=ta+4|0;Da=c[j+((a[ca>>0]|0)+-48<<3)>>2]|0;break}if(va){sa=-1;U=363;break a}if(w){ea=(c[g>>2]|0)+(4-1)&~(4-1);$=c[ea>>2]|0;c[g>>2]=ea+4;Ca=ca;Da=$}else{Ca=ca;Da=0}}else{Ca=ta;Da=-1}while(0);ca=Ca;$=0;while(1){ea=(a[ca>>0]|0)+-65|0;if(ea>>>0>57){sa=-1;U=363;break a}da=ca+1|0;ba=a[121840+($*58|0)+ea>>0]|0;ea=ba&255;if((ea+-1|0)>>>0<8){ca=da;$=ea}else{Ea=ca;Fa=da;Ga=ba;Ha=ea;Ia=$;break}}if(!(Ga<<24>>24)){sa=-1;U=363;break}$=(ga|0)>-1;e:do if(Ga<<24>>24==19)if($){sa=-1;U=363;break a}else{Ja=L;Ka=M;U=62}else{if($){c[l+(ga<<2)>>2]=Ha;ca=j+(ga<<3)|0;Ja=c[ca+4>>2]|0;Ka=c[ca>>2]|0;U=62;break}if(!w){sa=0;U=363;break a}if((Ga&255)>20){La=M;Ma=L}else do switch(Ha|0){case 13:{ca=(c[g>>2]|0)+(4-1)&~(4-1);ea=c[ca>>2]|0;c[g>>2]=ca+4;La=ea<<16>>16;Ma=(((ea&65535)<<16>>16|0)<0)<<31>>31;break e;break}case 14:{ea=(c[g>>2]|0)+(4-1)&~(4-1);ca=c[ea>>2]|0;c[g>>2]=ea+4;La=ca&65535;Ma=0;break e;break}case 12:{ca=(c[g>>2]|0)+(8-1)&~(8-1);ea=ca;ba=c[ea>>2]|0;da=c[ea+4>>2]|0;c[g>>2]=ca+8;La=ba;Ma=da;break e;break}case 16:{da=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[da>>2]|0;c[g>>2]=da+4;La=ba&255;Ma=0;break e;break}case 15:{ba=(c[g>>2]|0)+(4-1)&~(4-1);da=c[ba>>2]|0;c[g>>2]=ba+4;La=da<<24>>24;Ma=(((da&255)<<24>>24|0)<0)<<31>>31;break e;break}case 17:{da=(c[g>>2]|0)+(8-1)&~(8-1);Na=+h[da>>3];c[g>>2]=da+8;h[k>>3]=Na;La=c[k>>2]|0;Ma=c[k+4>>2]|0;break e;break}case 10:{da=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[da>>2]|0;c[g>>2]=da+4;La=ba;Ma=((ba|0)<0)<<31>>31;break e;break}case 18:{ba=(c[g>>2]|0)+(8-1)&~(8-1);Na=+h[ba>>3];c[g>>2]=ba+8;h[k>>3]=Na;La=c[k>>2]|0;Ma=c[k+4>>2]|0;break e;break}case 9:{ba=(c[g>>2]|0)+(4-1)&~(4-1);da=c[ba>>2]|0;c[g>>2]=ba+4;La=da;Ma=L;break e;break}case 11:{da=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[da>>2]|0;c[g>>2]=da+4;La=ba;Ma=0;break e;break}default:{La=M;Ma=L;break e}}while(0)}while(0);if((U|0)==62){U=0;if(w){La=Ka;Ma=Ja}else{L=Ja;M=Ka;N=Fa;f=Q;O=R;P=va;continue}}$=a[Ea>>0]|0;ba=(Ia|0)!=0&($&15|0)==3?$&-33:$;$=ua&-65537;da=(ua&8192|0)==0?ua:$;f:do switch(ba|0){case 109:{Oa=Kb(c[(fe()|0)>>2]|0)|0;U=94;break}case 105:case 100:{if((Ma|0)<0){ca=Yo(0,0,La|0,Ma|0)|0;Pa=E;Qa=ca;Ra=1;Sa=122320;U=84;break f}if(!(da&2048)){ca=da&1;Pa=Ma;Qa=La;Ra=ca;Sa=(ca|0)==0?122320:122322;U=84}else{Pa=Ma;Qa=La;Ra=1;Sa=122321;U=84}break}case 88:case 120:{Ta=da;Ua=Da;Va=ba;U=73;break}case 115:{Oa=(La|0)!=0?La:122336;U=94;break}case 111:{ca=(La|0)==0&(Ma|0)==0;if(ca)Wa=x;else{ea=x;na=La;ma=Ma;while(1){oa=ea+-1|0;a[oa>>0]=na&7|48;na=bp(na|0,ma|0,3)|0;ma=E;if((na|0)==0&(ma|0)==0){Wa=oa;break}else ea=oa}}ea=(da&8|0)==0|ca;Xa=La;Ya=Ma;Za=Wa;_a=da;$a=Da;ab=ea&1^1;bb=ea?122320:122325;U=89;break}case 110:{switch(Ia|0){case 0:{c[La>>2]=Q;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}case 1:{c[La>>2]=Q;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}case 2:{ea=La;c[ea>>2]=Q;c[ea+4>>2]=((Q|0)<0)<<31>>31;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}case 3:{b[La>>1]=Q;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}case 6:{c[La>>2]=Q;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}case 4:{a[La>>0]=Q;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}case 7:{ea=La;c[ea>>2]=Q;c[ea+4>>2]=((Q|0)<0)<<31>>31;L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a;break}default:{L=Ma;M=La;N=Fa;f=Q;O=R;P=va;continue a}}break}case 112:{Ta=da|8;Ua=Da>>>0>8?Da:8;Va=120;U=73;break}case 99:{a[z>>0]=La;cb=Ma;db=La;eb=z;fb=$;gb=1;hb=0;ib=122320;jb=x;break}case 83:{ea=La;if(!Da){kb=La;lb=ea;mb=0;U=102}else{nb=ea;ob=La;pb=Da;U=97}break}case 67:{c[u>>2]=La;c[t>>2]=0;nb=u;ob=A;pb=-1;U=97;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c[k>>2]=La;c[k+4>>2]=Ma;Na=+h[k>>3];c[o>>2]=0;if((Ma|0)>=0)if(!(da&2048)){ea=da&1;qb=Na;rb=ea;sb=(ea|0)==0?122345:122350}else{qb=Na;rb=1;sb=122347}else{qb=-Na;rb=1;sb=122344}h[k>>3]=qb;ea=c[k+4>>2]&2146435072;do if(ea>>>0<2146435072|(ea|0)==2146435072&0<0){Na=+Co(qb,o)*2.0;ma=Na!=0.0;if(ma)c[o>>2]=(c[o>>2]|0)+-1;na=ba|32;if((na|0)==97){oa=ba&32;tb=(oa|0)==0?sb:sb+9|0;ub=rb|2;vb=12-Da|0;do if(!(Da>>>0>11|(vb|0)==0)){wb=vb;xb=8.0;while(1){wb=wb+-1|0;yb=xb*16.0;if(!wb){zb=yb;break}else xb=yb}if((a[tb>>0]|0)==45){Ab=-(zb+(-Na-zb));break}else{Ab=Na+zb-zb;break}}else Ab=Na;while(0);vb=c[o>>2]|0;wb=(vb|0)<0?0-vb|0:vb;if((wb|0)<0){vb=B;Bb=wb;Cb=((wb|0)<0)<<31>>31;while(1){Db=lp(Bb|0,Cb|0,10,0)|0;Eb=vb+-1|0;a[Eb>>0]=Db|48;Db=kp(Bb|0,Cb|0,10,0)|0;if(Cb>>>0>9|(Cb|0)==9&Bb>>>0>4294967295){vb=Eb;Bb=Db;Cb=E}else{Fb=Eb;Gb=Db;break}}Hb=Fb;Ib=Gb}else{Hb=B;Ib=wb}if(!Ib)Jb=Hb;else{Cb=Hb;Bb=Ib;while(1){vb=Cb+-1|0;a[vb>>0]=(Bb>>>0)%10|0|48;if(Bb>>>0<10){Jb=vb;break}else{Cb=vb;Bb=(Bb>>>0)/10|0}}}if((Jb|0)==(B|0)){a[C>>0]=48;Lb=C}else Lb=Jb;a[Lb+-1>>0]=(c[o>>2]>>31&2)+43;Bb=Lb+-2|0;a[Bb>>0]=ba+15;if(!(da&8))if((Da|0)<1){xb=Ab;Cb=p;while(1){wb=~~xb;vb=Cb+1|0;a[Cb>>0]=d[122304+wb>>0]|oa;xb=(xb-+(wb|0))*16.0;if((vb-q|0)!=1|xb==0.0)Mb=vb;else{a[vb>>0]=46;Mb=Cb+2|0}if(!(xb!=0.0)){Nb=Mb;break}else Cb=Mb}}else{xb=Ab;Cb=p;while(1){vb=~~xb;wb=Cb+1|0;a[Cb>>0]=d[122304+vb>>0]|oa;xb=(xb-+(vb|0))*16.0;if((wb-q|0)==1){a[wb>>0]=46;Ob=Cb+2|0}else Ob=wb;if(!(xb!=0.0)){Nb=Ob;break}else Cb=Ob}}else{xb=Ab;Cb=p;while(1){wb=~~xb;vb=Cb+1|0;a[Cb>>0]=d[122304+wb>>0]|oa;xb=(xb-+(wb|0))*16.0;if((vb-q|0)==1){a[vb>>0]=46;Pb=Cb+2|0}else Pb=vb;if(!(xb!=0.0)){Nb=Pb;break}else Cb=Pb}}Cb=Nb;oa=(Da|0)!=0&(F+Cb|0)<(Da|0)?G+Da-Bb|0:D-Bb+Cb|0;vb=oa+ub|0;wb=da&73728;Db=(wa|0)>(vb|0);if((wb|0)==0&Db){Eb=wa-vb|0;Xo(s|0,32,(Eb>>>0>256?256:Eb)|0)|0;if(Eb>>>0>255){Qb=Eb;do{Go(s,256,e)|0;Qb=Qb+-256|0}while(Qb>>>0>255);Rb=Eb&255}else Rb=Eb;Go(s,Rb,e)|0}Go(tb,ub,e)|0;if((wb|0)==65536&Db){Qb=wa-vb|0;Xo(s|0,48,(Qb>>>0>256?256:Qb)|0)|0;if(Qb>>>0>255){Sb=Qb;do{Go(s,256,e)|0;Sb=Sb+-256|0}while(Sb>>>0>255);Tb=Qb&255}else Tb=Qb;Go(s,Tb,e)|0}Sb=Cb-q|0;Go(p,Sb,e)|0;ub=r-Bb|0;tb=oa-ub-Sb|0;if((tb|0)>0){Xo(s|0,48,(tb>>>0>256?256:tb)|0)|0;if(tb>>>0>255){Sb=tb;do{Go(s,256,e)|0;Sb=Sb+-256|0}while(Sb>>>0>255);Ub=tb&255}else Ub=tb;Go(s,Ub,e)|0}Go(Bb,ub,e)|0;if((wb|0)==8192&Db){Sb=wa-vb|0;Xo(s|0,32,(Sb>>>0>256?256:Sb)|0)|0;if(Sb>>>0>255){oa=Sb;do{Go(s,256,e)|0;oa=oa+-256|0}while(oa>>>0>255);Vb=Sb&255}else Vb=Sb;Go(s,Vb,e)|0}Wb=Db?wa:vb;break}oa=(Da|0)<0?6:Da;if(ma){wb=(c[o>>2]|0)+-28|0;c[o>>2]=wb;Xb=Na*268435456.0;Yb=wb}else{Xb=Na;Yb=c[o>>2]|0}wb=(Yb|0)<0?n:H;ub=wb;xb=Xb;Bb=wb;while(1){tb=~~xb>>>0;c[Bb>>2]=tb;Cb=Bb+4|0;xb=(xb-+(tb>>>0))*1.0e9;if(!(xb!=0.0)){Zb=Cb;break}else Bb=Cb}Bb=c[o>>2]|0;if((Bb|0)>0){ma=Bb;vb=wb;Db=Zb;while(1){Sb=(ma|0)>29?29:ma;Cb=Db+-4|0;do if(Cb>>>0<vb>>>0)_b=vb;else{tb=0;Qb=Cb;while(1){Eb=cp(c[Qb>>2]|0,0,Sb|0)|0;$b=Zo(Eb|0,E|0,tb|0,0)|0;Eb=E;ac=lp($b|0,Eb|0,1e9,0)|0;c[Qb>>2]=ac;ac=kp($b|0,Eb|0,1e9,0)|0;Qb=Qb+-4|0;if(Qb>>>0<vb>>>0){bc=ac;break}else tb=ac}if(!bc){_b=vb;break}tb=vb+-4|0;c[tb>>2]=bc;_b=tb}while(0);Cb=Db;while(1){if(Cb>>>0<=_b>>>0){cc=Cb;break}tb=Cb+-4|0;if(!(c[tb>>2]|0))Cb=tb;else{cc=Cb;break}}Cb=(c[o>>2]|0)-Sb|0;c[o>>2]=Cb;if((Cb|0)>0){ma=Cb;vb=_b;Db=cc}else{dc=Cb;ec=_b;fc=cc;break}}}else{dc=Bb;ec=wb;fc=Zb}g:do if((dc|0)<0){Db=((oa+25|0)/9|0)+1|0;if((na|0)!=102){vb=dc;ma=ec;Cb=fc;while(1){tb=0-vb|0;Qb=(tb|0)>9?9:tb;do if(ma>>>0<Cb>>>0){tb=(1<<Qb)+-1|0;ac=1e9>>>Qb;Eb=0;$b=ma;while(1){gc=c[$b>>2]|0;c[$b>>2]=(gc>>>Qb)+Eb;hc=aa(gc&tb,ac)|0;$b=$b+4|0;if($b>>>0>=Cb>>>0){ic=hc;break}else Eb=hc}Eb=(c[ma>>2]|0)==0?ma+4|0:ma;if(!ic){jc=Eb;kc=Cb;break}c[Cb>>2]=ic;jc=Eb;kc=Cb+4|0}else{jc=(c[ma>>2]|0)==0?ma+4|0:ma;kc=Cb}while(0);Eb=(kc-jc>>2|0)>(Db|0)?jc+(Db<<2)|0:kc;vb=(c[o>>2]|0)+Qb|0;c[o>>2]=vb;if((vb|0)>=0){lc=jc;mc=Eb;break g}else{ma=jc;Cb=Eb}}}Cb=wb+(Db<<2)|0;ma=dc;vb=ec;Sb=fc;while(1){Eb=0-ma|0;$b=(Eb|0)>9?9:Eb;do if(vb>>>0<Sb>>>0){Eb=(1<<$b)+-1|0;ac=1e9>>>$b;tb=0;hc=vb;while(1){gc=c[hc>>2]|0;c[hc>>2]=(gc>>>$b)+tb;nc=aa(gc&Eb,ac)|0;hc=hc+4|0;if(hc>>>0>=Sb>>>0){oc=nc;break}else tb=nc}tb=(c[vb>>2]|0)==0?vb+4|0:vb;if(!oc){pc=tb;qc=Sb;break}c[Sb>>2]=oc;pc=tb;qc=Sb+4|0}else{pc=(c[vb>>2]|0)==0?vb+4|0:vb;qc=Sb}while(0);Qb=(qc-ub>>2|0)>(Db|0)?Cb:qc;ma=(c[o>>2]|0)+$b|0;c[o>>2]=ma;if((ma|0)>=0){lc=pc;mc=Qb;break}else{vb=pc;Sb=Qb}}}else{lc=ec;mc=fc}while(0);do if(lc>>>0<mc>>>0){Bb=(ub-lc>>2)*9|0;Sb=c[lc>>2]|0;if(Sb>>>0<10){rc=Bb;break}else{sc=Bb;tc=10}while(1){tc=tc*10|0;Bb=sc+1|0;if(Sb>>>0<tc>>>0){rc=Bb;break}else sc=Bb}}else rc=0;while(0);Sb=(na|0)==103;Bb=(oa|0)!=0;vb=oa-((na|0)!=102?rc:0)+((Bb&Sb)<<31>>31)|0;if((vb|0)<(((mc-ub>>2)*9|0)+-9|0)){ma=vb+9216|0;vb=(ma|0)/9|0;Cb=wb+(vb+-1023<<2)|0;Db=((ma|0)%9|0)+1|0;if((Db|0)<9){ma=10;Qb=Db;while(1){Db=ma*10|0;Qb=Qb+1|0;if((Qb|0)==9){uc=Db;break}else ma=Db}}else uc=10;ma=c[Cb>>2]|0;Qb=(ma>>>0)%(uc>>>0)|0;if((Qb|0)==0?(wb+(vb+-1022<<2)|0)==(mc|0):0){vc=lc;wc=Cb;xc=rc}else U=221;do if((U|0)==221){U=0;xb=(((ma>>>0)/(uc>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;na=(uc|0)/2|0;do if(Qb>>>0<na>>>0)yc=.5;else{if((Qb|0)==(na|0)?(wb+(vb+-1022<<2)|0)==(mc|0):0){yc=1.0;break}yc=1.5}while(0);do if(!rb){zc=xb;Ac=yc}else{if((a[sb>>0]|0)!=45){zc=xb;Ac=yc;break}zc=-xb;Ac=-yc}while(0);na=ma-Qb|0;c[Cb>>2]=na;if(!(zc+Ac!=zc)){vc=lc;wc=Cb;xc=rc;break}Db=na+uc|0;c[Cb>>2]=Db;if(Db>>>0>999999999){Db=lc;na=Cb;while(1){tb=na+-4|0;c[na>>2]=0;if(tb>>>0<Db>>>0){hc=Db+-4|0;c[hc>>2]=0;Bc=hc}else Bc=Db;hc=(c[tb>>2]|0)+1|0;c[tb>>2]=hc;if(hc>>>0>999999999){Db=Bc;na=tb}else{Cc=Bc;Dc=tb;break}}}else{Cc=lc;Dc=Cb}na=(ub-Cc>>2)*9|0;Db=c[Cc>>2]|0;if(Db>>>0<10){vc=Cc;wc=Dc;xc=na;break}else{Ec=na;Fc=10}while(1){Fc=Fc*10|0;na=Ec+1|0;if(Db>>>0<Fc>>>0){vc=Cc;wc=Dc;xc=na;break}else Ec=na}}while(0);Cb=wc+4|0;Gc=vc;Hc=xc;Ic=mc>>>0>Cb>>>0?Cb:mc}else{Gc=lc;Hc=rc;Ic=mc}Cb=0-Hc|0;Qb=Ic;while(1){if(Qb>>>0<=Gc>>>0){Jc=0;Kc=Qb;break}ma=Qb+-4|0;if(!(c[ma>>2]|0))Qb=ma;else{Jc=1;Kc=Qb;break}}do if(Sb){Qb=(Bb&1^1)+oa|0;if((Qb|0)>(Hc|0)&(Hc|0)>-5){Lc=ba+-1|0;Mc=Qb+-1-Hc|0}else{Lc=ba+-2|0;Mc=Qb+-1|0}Qb=da&8;if(Qb){Nc=Lc;Oc=Mc;Pc=Qb;break}do if(Jc){Qb=c[Kc+-4>>2]|0;if(!Qb){Qc=9;break}if(!((Qb>>>0)%10|0)){Rc=10;Sc=0}else{Qc=0;break}while(1){Rc=Rc*10|0;ma=Sc+1|0;if((Qb>>>0)%(Rc>>>0)|0){Qc=ma;break}else Sc=ma}}else Qc=9;while(0);Qb=((Kc-ub>>2)*9|0)+-9|0;if((Lc|32|0)==102){$b=Qb-Qc|0;ma=($b|0)<0?0:$b;Nc=Lc;Oc=(Mc|0)<(ma|0)?Mc:ma;Pc=0;break}else{ma=Qb+Hc-Qc|0;Qb=(ma|0)<0?0:ma;Nc=Lc;Oc=(Mc|0)<(Qb|0)?Mc:Qb;Pc=0;break}}else{Nc=ba;Oc=oa;Pc=da&8}while(0);oa=Oc|Pc;ub=(oa|0)!=0&1;Bb=(Nc|32|0)==102;if(Bb){Tc=(Hc|0)>0?Hc:0;Uc=0}else{Sb=(Hc|0)<0?Cb:Hc;if((Sb|0)<0){Qb=B;ma=Sb;$b=((Sb|0)<0)<<31>>31;while(1){vb=lp(ma|0,$b|0,10,0)|0;Db=Qb+-1|0;a[Db>>0]=vb|48;vb=kp(ma|0,$b|0,10,0)|0;if($b>>>0>9|($b|0)==9&ma>>>0>4294967295){Qb=Db;ma=vb;$b=E}else{Vc=Db;Wc=vb;break}}Xc=Vc;Yc=Wc}else{Xc=B;Yc=Sb}if(!Yc)Zc=Xc;else{$b=Xc;ma=Yc;while(1){Qb=$b+-1|0;a[Qb>>0]=(ma>>>0)%10|0|48;if(ma>>>0<10){Zc=Qb;break}else{$b=Qb;ma=(ma>>>0)/10|0}}}if((r-Zc|0)<2){ma=Zc;while(1){$b=ma+-1|0;a[$b>>0]=48;if((r-$b|0)<2)ma=$b;else{_c=$b;break}}}else _c=Zc;a[_c+-1>>0]=(Hc>>31&2)+43;ma=_c+-2|0;a[ma>>0]=Nc;Tc=r-ma|0;Uc=ma}ma=rb+1+Oc+ub+Tc|0;$b=da&73728;Sb=(wa|0)>(ma|0);if(($b|0)==0&Sb){Qb=wa-ma|0;Xo(s|0,32,(Qb>>>0>256?256:Qb)|0)|0;if(Qb>>>0>255){Cb=Qb;do{Go(s,256,e)|0;Cb=Cb+-256|0}while(Cb>>>0>255);$c=Qb&255}else $c=Qb;Go(s,$c,e)|0}Go(sb,rb,e)|0;if(($b|0)==65536&Sb){Cb=wa-ma|0;Xo(s|0,48,(Cb>>>0>256?256:Cb)|0)|0;if(Cb>>>0>255){ub=Cb;do{Go(s,256,e)|0;ub=ub+-256|0}while(ub>>>0>255);ad=Cb&255}else ad=Cb;Go(s,ad,e)|0}if(Bb){ub=Gc>>>0>wb>>>0?wb:Gc;Qb=ub;while(1){vb=c[Qb>>2]|0;if(!vb)bd=I;else{Db=I;na=vb;while(1){vb=Db+-1|0;a[vb>>0]=(na>>>0)%10|0|48;if(na>>>0<10){bd=vb;break}else{Db=vb;na=(na>>>0)/10|0}}}do if((Qb|0)==(ub|0)){if((bd|0)!=(I|0)){cd=bd;break}a[K>>0]=48;cd=K}else{if(bd>>>0>p>>>0)dd=bd;else{cd=bd;break}while(1){na=dd+-1|0;a[na>>0]=48;if(na>>>0>p>>>0)dd=na;else{cd=na;break}}}while(0);Go(cd,J-cd|0,e)|0;na=Qb+4|0;if(na>>>0>wb>>>0){ed=na;break}else Qb=na}if(oa)Go(122400,1,e)|0;if((Oc|0)>0&ed>>>0<Kc>>>0){Qb=Oc;wb=ed;while(1){ub=c[wb>>2]|0;if(ub){Bb=I;Cb=ub;while(1){ub=Bb+-1|0;a[ub>>0]=(Cb>>>0)%10|0|48;if(Cb>>>0<10){fd=ub;break}else{Bb=ub;Cb=(Cb>>>0)/10|0}}if(fd>>>0>p>>>0){gd=fd;U=289}else hd=fd}else{gd=I;U=289}if((U|0)==289)while(1){U=0;Cb=gd+-1|0;a[Cb>>0]=48;if(Cb>>>0>p>>>0){gd=Cb;U=289}else{hd=Cb;break}}Cb=(Qb|0)>9;Go(hd,Cb?9:Qb,e)|0;wb=wb+4|0;Bb=Qb+-9|0;if(!(Cb&wb>>>0<Kc>>>0)){id=Bb;break}else Qb=Bb}}else id=Oc;if((id|0)>0){Xo(s|0,48,(id>>>0>256?256:id)|0)|0;if(id>>>0>255){Qb=id;do{Go(s,256,e)|0;Qb=Qb+-256|0}while(Qb>>>0>255);jd=id&255}else jd=id;Go(s,jd,e)|0}}else{Qb=Jc?Kc:Gc+4|0;do if((Oc|0)>-1){wb=(Pc|0)==0;oa=Oc;Bb=Gc;while(1){Cb=c[Bb>>2]|0;if(Cb){ub=I;na=Cb;while(1){Cb=ub+-1|0;a[Cb>>0]=(na>>>0)%10|0|48;if(na>>>0<10){kd=ub;ld=Cb;break}else{ub=Cb;na=(na>>>0)/10|0}}if((ld|0)!=(I|0)){md=kd;nd=ld}else U=303}else U=303;if((U|0)==303){U=0;a[K>>0]=48;md=I;nd=K}do if((Bb|0)==(Gc|0)){Go(nd,1,e)|0;if(wb&(oa|0)<1){od=md;break}Go(122400,1,e)|0;od=md}else{if(nd>>>0>p>>>0)pd=nd;else{od=nd;break}while(1){na=pd+-1|0;a[na>>0]=48;if(na>>>0>p>>>0)pd=na;else{od=na;break}}}while(0);na=J-od|0;Go(od,(oa|0)>(na|0)?na:oa,e)|0;ub=oa-na|0;Bb=Bb+4|0;if(!(Bb>>>0<Qb>>>0&(ub|0)>-1)){qd=ub;break}else oa=ub}if((qd|0)<=0)break;Xo(s|0,48,(qd>>>0>256?256:qd)|0)|0;if(qd>>>0>255){oa=qd;do{Go(s,256,e)|0;oa=oa+-256|0}while(oa>>>0>255);rd=qd&255}else rd=qd;Go(s,rd,e)|0}while(0);Go(Uc,r-Uc|0,e)|0}if(($b|0)==8192&Sb){Qb=wa-ma|0;Xo(s|0,32,(Qb>>>0>256?256:Qb)|0)|0;if(Qb>>>0>255){oa=Qb;do{Go(s,256,e)|0;oa=oa+-256|0}while(oa>>>0>255);sd=Qb&255}else sd=Qb;Go(s,sd,e)|0}Wb=Sb?wa:ma}else{oa=(ba&32|0)!=0;$b=qb!=qb|0.0!=0.0;Bb=$b?0:rb;wb=$b?(oa?122384:122392):oa?122368:122376;oa=Bb+3|0;$b=(wa|0)>(oa|0);if((da&8192|0)==0&$b){ub=wa-oa|0;Xo(s|0,32,(ub>>>0>256?256:ub)|0)|0;if(ub>>>0>255){na=ub;do{Go(s,256,e)|0;na=na+-256|0}while(na>>>0>255);td=ub&255}else td=ub;Go(s,td,e)|0}Go(sb,Bb,e)|0;Go(wb,3,e)|0;if((da&73728|0)==8192&$b){na=wa-oa|0;Xo(s|0,32,(na>>>0>256?256:na)|0)|0;if(na>>>0>255){ma=na;do{Go(s,256,e)|0;ma=ma+-256|0}while(ma>>>0>255);ud=na&255}else ud=na;Go(s,ud,e)|0}Wb=$b?wa:oa}while(0);L=Ma;M=La;N=Fa;f=Q;O=Wb;P=va;continue a;break}case 117:{Pa=Ma;Qa=La;Ra=0;Sa=122320;U=84;break}default:{cb=Ma;db=La;eb=N;fb=da;gb=Da;hb=0;ib=122320;jb=x}}while(0);if((U|0)==73){U=0;ba=Va&32;if(!((La|0)==0&(Ma|0)==0)){R=x;ea=La;ca=Ma;while(1){ma=R+-1|0;a[ma>>0]=d[122304+(ea&15)>>0]|ba;ea=bp(ea|0,ca|0,4)|0;ca=E;if((ea|0)==0&(ca|0)==0){vd=ma;break}else R=ma}if(!(Ta&8)){Xa=La;Ya=Ma;Za=vd;_a=Ta;$a=Ua;ab=0;bb=122320;U=89}else{Xa=La;Ya=Ma;Za=vd;_a=Ta;$a=Ua;ab=2;bb=122320+(Va>>4)|0;U=89}}else{Xa=La;Ya=Ma;Za=x;_a=Ta;$a=Ua;ab=0;bb=122320;U=89}}else if((U|0)==84){U=0;if(Pa>>>0>0|(Pa|0)==0&Qa>>>0>4294967295){R=x;ca=Qa;ea=Pa;while(1){ba=lp(ca|0,ea|0,10,0)|0;ma=R+-1|0;a[ma>>0]=ba|48;ba=kp(ca|0,ea|0,10,0)|0;if(ea>>>0>9|(ea|0)==9&ca>>>0>4294967295){R=ma;ca=ba;ea=E}else{wd=ma;xd=ba;break}}yd=wd;zd=xd}else{yd=x;zd=Qa}if(!zd){Xa=Qa;Ya=Pa;Za=yd;_a=da;$a=Da;ab=Ra;bb=Sa;U=89}else{ea=yd;ca=zd;while(1){R=ea+-1|0;a[R>>0]=(ca>>>0)%10|0|48;if(ca>>>0<10){Xa=Qa;Ya=Pa;Za=R;_a=da;$a=Da;ab=Ra;bb=Sa;U=89;break}else{ea=R;ca=(ca>>>0)/10|0}}}}else if((U|0)==94){U=0;ca=Jo(Oa,0,Da)|0;ea=(ca|0)==0;cb=Ma;db=La;eb=Oa;fb=$;gb=ea?Da:ca-Oa|0;hb=0;ib=122320;jb=ea?Oa+Da|0:ca}else if((U|0)==97){U=0;ca=0;ea=0;R=nb;while(1){ba=c[R>>2]|0;if(!ba){Ad=ca;Bd=ea;break}ma=Do(v,ba)|0;if((ma|0)<0|ma>>>0>(pb-ca|0)>>>0){Ad=ca;Bd=ma;break}ba=ma+ca|0;if(pb>>>0>ba>>>0){ca=ba;ea=ma;R=R+4|0}else{Ad=ba;Bd=ma;break}}if((Bd|0)<0){sa=-1;U=363;break}else{kb=ob;lb=nb;mb=Ad;U=102}}if((U|0)==89){U=0;R=($a|0)>-1?_a&-65537:_a;ea=(Xa|0)!=0|(Ya|0)!=0;if(ea|($a|0)!=0){ca=(ea&1^1)+(y-Za)|0;cb=Ya;db=Xa;eb=Za;fb=R;gb=($a|0)>(ca|0)?$a:ca;hb=ab;ib=bb;jb=x}else{cb=Ya;db=Xa;eb=x;fb=R;gb=0;hb=ab;ib=bb;jb=x}}else if((U|0)==102){U=0;R=da&73728;ca=(wa|0)>(mb|0);if((R|0)==0&ca){ea=wa-mb|0;Xo(s|0,32,(ea>>>0>256?256:ea)|0)|0;if(ea>>>0>255){$=ea;do{Go(s,256,e)|0;$=$+-256|0}while($>>>0>255);Cd=ea&255}else Cd=ea;Go(s,Cd,e)|0}h:do if(mb){$=0;da=lb;while(1){ma=c[da>>2]|0;if(!ma)break h;ba=Do(v,ma)|0;$=ba+$|0;if(($|0)>(mb|0))break h;Go(v,ba,e)|0;if($>>>0>=mb>>>0)break;else da=da+4|0}}while(0);if((R|0)==8192&ca){ea=wa-mb|0;Xo(s|0,32,(ea>>>0>256?256:ea)|0)|0;if(ea>>>0>255){da=ea;do{Go(s,256,e)|0;da=da+-256|0}while(da>>>0>255);Dd=ea&255}else Dd=ea;Go(s,Dd,e)|0}L=Ma;M=kb;N=Fa;f=Q;O=ca?wa:mb;P=va;continue}da=jb-eb|0;R=(gb|0)<(da|0)?da:gb;$=hb+R|0;ba=(wa|0)<($|0)?$:wa;ma=fb&73728;wb=(ba|0)>($|0);if((ma|0)==0&wb){Bb=ba-$|0;Xo(s|0,32,(Bb>>>0>256?256:Bb)|0)|0;if(Bb>>>0>255){ub=Bb;do{Go(s,256,e)|0;ub=ub+-256|0}while(ub>>>0>255);Ed=Bb&255}else Ed=Bb;Go(s,Ed,e)|0}Go(ib,hb,e)|0;if((ma|0)==65536&wb){ub=ba-$|0;Xo(s|0,48,(ub>>>0>256?256:ub)|0)|0;if(ub>>>0>255){ca=ub;do{Go(s,256,e)|0;ca=ca+-256|0}while(ca>>>0>255);Fd=ub&255}else Fd=ub;Go(s,Fd,e)|0}if((R|0)>(da|0)){ca=R-da|0;Xo(s|0,48,(ca>>>0>256?256:ca)|0)|0;if(ca>>>0>255){Bb=ca;do{Go(s,256,e)|0;Bb=Bb+-256|0}while(Bb>>>0>255);Gd=ca&255}else Gd=ca;Go(s,Gd,e)|0}Go(eb,da,e)|0;if((ma|0)==8192&wb){Bb=ba-$|0;Xo(s|0,32,(Bb>>>0>256?256:Bb)|0)|0;if(Bb>>>0>255){R=Bb;do{Go(s,256,e)|0;R=R+-256|0}while(R>>>0>255);Hd=Bb&255}else Hd=Bb;Go(s,Hd,e)|0}L=cb;M=db;N=Fa;f=Q;O=ba;P=va}if((U|0)==344){if(e){sa=S;i=m;return sa|0}if(!T){sa=0;i=m;return sa|0}else Id=1;while(1){T=c[l+(Id<<2)>>2]|0;if(!T){Jd=Id;break}S=j+(Id<<3)|0;i:do if(T>>>0<=20)do switch(T|0){case 9:{e=(c[g>>2]|0)+(4-1)&~(4-1);va=c[e>>2]|0;c[g>>2]=e+4;c[S>>2]=va;break i;break}case 10:{va=(c[g>>2]|0)+(4-1)&~(4-1);e=c[va>>2]|0;c[g>>2]=va+4;va=S;c[va>>2]=e;c[va+4>>2]=((e|0)<0)<<31>>31;break i;break}case 11:{e=(c[g>>2]|0)+(4-1)&~(4-1);va=c[e>>2]|0;c[g>>2]=e+4;e=S;c[e>>2]=va;c[e+4>>2]=0;break i;break}case 12:{e=(c[g>>2]|0)+(8-1)&~(8-1);va=e;P=c[va>>2]|0;O=c[va+4>>2]|0;c[g>>2]=e+8;e=S;c[e>>2]=P;c[e+4>>2]=O;break i;break}case 13:{O=(c[g>>2]|0)+(4-1)&~(4-1);e=c[O>>2]|0;c[g>>2]=O+4;O=(e&65535)<<16>>16;e=S;c[e>>2]=O;c[e+4>>2]=((O|0)<0)<<31>>31;break i;break}case 14:{O=(c[g>>2]|0)+(4-1)&~(4-1);e=c[O>>2]|0;c[g>>2]=O+4;O=S;c[O>>2]=e&65535;c[O+4>>2]=0;break i;break}case 15:{O=(c[g>>2]|0)+(4-1)&~(4-1);e=c[O>>2]|0;c[g>>2]=O+4;O=(e&255)<<24>>24;e=S;c[e>>2]=O;c[e+4>>2]=((O|0)<0)<<31>>31;break i;break}case 16:{O=(c[g>>2]|0)+(4-1)&~(4-1);e=c[O>>2]|0;c[g>>2]=O+4;O=S;c[O>>2]=e&255;c[O+4>>2]=0;break i;break}case 17:{O=(c[g>>2]|0)+(8-1)&~(8-1);qb=+h[O>>3];c[g>>2]=O+8;h[S>>3]=qb;break i;break}case 18:{O=(c[g>>2]|0)+(8-1)&~(8-1);qb=+h[O>>3];c[g>>2]=O+8;h[S>>3]=qb;break i;break}default:break i}while(0);while(0);Id=Id+1|0;if((Id|0)>=10){sa=1;U=363;break}}if((U|0)==363){i=m;return sa|0}if((Jd|0)<10)Kd=Jd;else{sa=1;i=m;return sa|0}while(1){if(c[l+(Kd<<2)>>2]|0){sa=-1;U=363;break}Kd=Kd+1|0;if((Kd|0)>=10){sa=1;U=363;break}}if((U|0)==363){i=m;return sa|0}}else if((U|0)==363){i=m;return sa|0}return 0}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Wo(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}
|
|
function Po(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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,K=0,L=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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[30602]|0;f=e>>>d;if(f&3){g=(f&1^1)+d|0;h=g<<1;i=122448+(h<<2)|0;j=122448+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do if((i|0)!=(l|0)){if(l>>>0<(c[30606]|0)>>>0)Oe();m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else Oe()}else c[30602]=e&~(1<<g);while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}j=c[30604]|0;if(b>>>0>j>>>0){if(f){l=2<<d;i=f<<d&(l|0-l);l=(i&0-i)+-1|0;i=l>>>12&16;m=l>>>i;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|i|m|o|p)+(q>>>p)|0;p=r<<1;q=122448+(p<<2)|0;o=122448+(p+2<<2)|0;p=c[o>>2]|0;m=p+8|0;i=c[m>>2]|0;do if((q|0)!=(i|0)){if(i>>>0<(c[30606]|0)>>>0)Oe();l=i+12|0;if((c[l>>2]|0)==(p|0)){c[l>>2]=q;c[o>>2]=i;s=c[30604]|0;break}else Oe()}else{c[30602]=e&~(1<<r);s=j}while(0);j=r<<3;e=j-b|0;c[p+4>>2]=b|3;i=p+b|0;c[p+(b|4)>>2]=e|1;c[p+j>>2]=e;if(s){j=c[30607]|0;o=s>>>3;q=o<<1;d=122448+(q<<2)|0;f=c[30602]|0;k=1<<o;if(f&k){o=122448+(q+2<<2)|0;h=c[o>>2]|0;if(h>>>0<(c[30606]|0)>>>0)Oe();else{t=o;u=h}}else{c[30602]=f|k;t=122448+(q+2<<2)|0;u=d}c[t>>2]=j;c[u+12>>2]=j;c[j+8>>2]=u;c[j+12>>2]=d}c[30604]=e;c[30607]=i;n=m;return n|0}i=c[30603]|0;if(i){e=(i&0-i)+-1|0;i=e>>>12&16;d=e>>>i;e=d>>>5&8;j=d>>>e;d=j>>>2&4;q=j>>>d;j=q>>>1&2;k=q>>>j;q=k>>>1&1;f=c[122712+((e|i|d|j|q)+(k>>>q)<<2)>>2]|0;q=(c[f+4>>2]&-8)-b|0;k=f;j=f;while(1){f=c[k+16>>2]|0;if(!f){d=c[k+20>>2]|0;if(!d){v=q;w=j;break}else x=d}else x=f;f=(c[x+4>>2]&-8)-b|0;d=f>>>0<q>>>0;q=d?f:q;k=x;j=d?x:j}j=c[30606]|0;if(w>>>0<j>>>0)Oe();k=w+b|0;if(w>>>0>=k>>>0)Oe();q=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){p=w+20|0;r=c[p>>2]|0;if(!r){d=w+16|0;f=c[d>>2]|0;if(!f){y=0;break}else{z=f;A=d}}else{z=r;A=p}while(1){p=z+20|0;r=c[p>>2]|0;if(r){z=r;A=p;continue}p=z+16|0;r=c[p>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=p}}if(C>>>0<j>>>0)Oe();else{c[C>>2]=0;y=B;break}}else{p=c[w+8>>2]|0;if(p>>>0<j>>>0)Oe();r=p+12|0;if((c[r>>2]|0)!=(w|0))Oe();d=m+8|0;if((c[d>>2]|0)==(w|0)){c[r>>2]=m;c[d>>2]=p;y=m;break}else Oe()}while(0);do if(q){m=c[w+28>>2]|0;j=122712+(m<<2)|0;if((w|0)==(c[j>>2]|0)){c[j>>2]=y;if(!y){c[30603]=c[30603]&~(1<<m);break}}else{if(q>>>0<(c[30606]|0)>>>0)Oe();m=q+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[q+20>>2]=y;if(!y)break}m=c[30606]|0;if(y>>>0<m>>>0)Oe();c[y+24>>2]=q;j=c[w+16>>2]|0;do if(j)if(j>>>0<m>>>0)Oe();else{c[y+16>>2]=j;c[j+24>>2]=y;break}while(0);j=c[w+20>>2]|0;if(j)if(j>>>0<(c[30606]|0)>>>0)Oe();else{c[y+20>>2]=j;c[j+24>>2]=y;break}}while(0);if(v>>>0<16){q=v+b|0;c[w+4>>2]=q|3;j=w+(q+4)|0;c[j>>2]=c[j>>2]|1}else{c[w+4>>2]=b|3;c[w+(b|4)>>2]=v|1;c[w+(v+b)>>2]=v;j=c[30604]|0;if(j){q=c[30607]|0;m=j>>>3;j=m<<1;p=122448+(j<<2)|0;d=c[30602]|0;r=1<<m;if(d&r){m=122448+(j+2<<2)|0;f=c[m>>2]|0;if(f>>>0<(c[30606]|0)>>>0)Oe();else{D=m;E=f}}else{c[30602]=d|r;D=122448+(j+2<<2)|0;E=p}c[D>>2]=q;c[E+12>>2]=q;c[q+8>>2]=E;c[q+12>>2]=p}c[30604]=v;c[30607]=k}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){p=a+11|0;q=p&-8;j=c[30603]|0;if(j){r=0-q|0;d=p>>>8;if(d)if(q>>>0>16777215)G=31;else{p=(d+1048320|0)>>>16&8;f=d<<p;d=(f+520192|0)>>>16&4;m=f<<d;f=(m+245760|0)>>>16&2;i=14-(d|p|f)+(m<<f>>>15)|0;G=q>>>(i+7|0)&1|i<<1}else G=0;i=c[122712+(G<<2)>>2]|0;a:do if(!i){H=r;I=0;J=0;K=86}else{f=r;m=0;p=q<<((G|0)==31?0:25-(G>>>1)|0);d=i;e=0;while(1){h=c[d+4>>2]&-8;o=h-q|0;if(o>>>0<f>>>0)if((h|0)==(q|0)){L=o;M=d;N=d;K=90;break a}else{O=o;P=d}else{O=f;P=e}o=c[d+20>>2]|0;d=c[d+16+(p>>>31<<2)>>2]|0;h=(o|0)==0|(o|0)==(d|0)?m:o;if(!d){H=O;I=h;J=P;K=86;break}else{f=O;m=h;p=p<<1;e=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){i=2<<G;r=j&(i|0-i);if(!r){F=q;break}i=(r&0-r)+-1|0;r=i>>>12&16;b=i>>>r;i=b>>>5&8;k=b>>>i;b=k>>>2&4;e=k>>>b;k=e>>>1&2;p=e>>>k;e=p>>>1&1;Q=c[122712+((i|r|b|k|e)+(p>>>e)<<2)>>2]|0;R=0}else{Q=I;R=J}if(!Q){S=H;T=R}else{L=H;M=Q;N=R;K=90}}if((K|0)==90)while(1){K=0;e=(c[M+4>>2]&-8)-q|0;p=e>>>0<L>>>0;k=p?e:L;e=p?M:N;p=c[M+16>>2]|0;if(p){L=k;M=p;N=e;K=90;continue}M=c[M+20>>2]|0;if(!M){S=k;T=e;break}else{L=k;N=e;K=90}}if((T|0)!=0?S>>>0<((c[30604]|0)-q|0)>>>0:0){j=c[30606]|0;if(T>>>0<j>>>0)Oe();e=T+q|0;if(T>>>0>=e>>>0)Oe();k=c[T+24>>2]|0;p=c[T+12>>2]|0;do if((p|0)==(T|0)){b=T+20|0;r=c[b>>2]|0;if(!r){i=T+16|0;m=c[i>>2]|0;if(!m){U=0;break}else{V=m;W=i}}else{V=r;W=b}while(1){b=V+20|0;r=c[b>>2]|0;if(r){V=r;W=b;continue}b=V+16|0;r=c[b>>2]|0;if(!r){X=V;Y=W;break}else{V=r;W=b}}if(Y>>>0<j>>>0)Oe();else{c[Y>>2]=0;U=X;break}}else{b=c[T+8>>2]|0;if(b>>>0<j>>>0)Oe();r=b+12|0;if((c[r>>2]|0)!=(T|0))Oe();i=p+8|0;if((c[i>>2]|0)==(T|0)){c[r>>2]=p;c[i>>2]=b;U=p;break}else Oe()}while(0);do if(k){p=c[T+28>>2]|0;j=122712+(p<<2)|0;if((T|0)==(c[j>>2]|0)){c[j>>2]=U;if(!U){c[30603]=c[30603]&~(1<<p);break}}else{if(k>>>0<(c[30606]|0)>>>0)Oe();p=k+16|0;if((c[p>>2]|0)==(T|0))c[p>>2]=U;else c[k+20>>2]=U;if(!U)break}p=c[30606]|0;if(U>>>0<p>>>0)Oe();c[U+24>>2]=k;j=c[T+16>>2]|0;do if(j)if(j>>>0<p>>>0)Oe();else{c[U+16>>2]=j;c[j+24>>2]=U;break}while(0);j=c[T+20>>2]|0;if(j)if(j>>>0<(c[30606]|0)>>>0)Oe();else{c[U+20>>2]=j;c[j+24>>2]=U;break}}while(0);b:do if(S>>>0>=16){c[T+4>>2]=q|3;c[T+(q|4)>>2]=S|1;c[T+(S+q)>>2]=S;k=S>>>3;if(S>>>0<256){j=k<<1;p=122448+(j<<2)|0;b=c[30602]|0;i=1<<k;if(b&i){k=122448+(j+2<<2)|0;r=c[k>>2]|0;if(r>>>0<(c[30606]|0)>>>0)Oe();else{Z=k;_=r}}else{c[30602]=b|i;Z=122448+(j+2<<2)|0;_=p}c[Z>>2]=e;c[_+12>>2]=e;c[T+(q+8)>>2]=_;c[T+(q+12)>>2]=p;break}p=S>>>8;if(p)if(S>>>0>16777215)$=31;else{j=(p+1048320|0)>>>16&8;i=p<<j;p=(i+520192|0)>>>16&4;b=i<<p;i=(b+245760|0)>>>16&2;r=14-(p|j|i)+(b<<i>>>15)|0;$=S>>>(r+7|0)&1|r<<1}else $=0;r=122712+($<<2)|0;c[T+(q+28)>>2]=$;c[T+(q+20)>>2]=0;c[T+(q+16)>>2]=0;i=c[30603]|0;b=1<<$;if(!(i&b)){c[30603]=i|b;c[r>>2]=e;c[T+(q+24)>>2]=r;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break}b=c[r>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(S|0)){r=S<<(($|0)==31?0:25-($>>>1)|0);i=b;while(1){j=i+16+(r>>>31<<2)|0;p=c[j>>2]|0;if(!p){aa=j;ba=i;break}if((c[p+4>>2]&-8|0)==(S|0)){ca=p;break c}else{r=r<<1;i=p}}if(aa>>>0<(c[30606]|0)>>>0)Oe();else{c[aa>>2]=e;c[T+(q+24)>>2]=ba;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break b}}else ca=b;while(0);b=ca+8|0;i=c[b>>2]|0;r=c[30606]|0;if(i>>>0>=r>>>0&ca>>>0>=r>>>0){c[i+12>>2]=e;c[b>>2]=e;c[T+(q+8)>>2]=i;c[T+(q+12)>>2]=ca;c[T+(q+24)>>2]=0;break}else Oe()}else{i=S+q|0;c[T+4>>2]=i|3;b=T+(i+4)|0;c[b>>2]=c[b>>2]|1}while(0);n=T+8|0;return n|0}else F=q}else F=q}else F=-1;while(0);T=c[30604]|0;if(T>>>0>=F>>>0){S=T-F|0;ca=c[30607]|0;if(S>>>0>15){c[30607]=ca+F;c[30604]=S;c[ca+(F+4)>>2]=S|1;c[ca+T>>2]=S;c[ca+4>>2]=F|3}else{c[30604]=0;c[30607]=0;c[ca+4>>2]=T|3;S=ca+(T+4)|0;c[S>>2]=c[S>>2]|1}n=ca+8|0;return n|0}ca=c[30605]|0;if(ca>>>0>F>>>0){S=ca-F|0;c[30605]=S;ca=c[30608]|0;c[30608]=ca+F;c[ca+(F+4)>>2]=S|1;c[ca+4>>2]=F|3;n=ca+8|0;return n|0}do if(!(c[30720]|0)){ca=rb(30)|0;if(!(ca+-1&ca)){c[30722]=ca;c[30721]=ca;c[30723]=-1;c[30724]=-1;c[30725]=0;c[30713]=0;c[30720]=(sd(0)|0)&-16^1431655768;break}else Oe()}while(0);ca=F+48|0;S=c[30722]|0;T=F+47|0;ba=S+T|0;aa=0-S|0;S=ba&aa;if(S>>>0<=F>>>0){n=0;return n|0}$=c[30712]|0;if(($|0)!=0?(_=c[30710]|0,Z=_+S|0,Z>>>0<=_>>>0|Z>>>0>$>>>0):0){n=0;return n|0}d:do if(!(c[30713]&4)){$=c[30608]|0;e:do if($){Z=122856;while(1){_=c[Z>>2]|0;if(_>>>0<=$>>>0?(U=Z+4|0,(_+(c[U>>2]|0)|0)>>>0>$>>>0):0){da=Z;ea=U;break}Z=c[Z+8>>2]|0;if(!Z){K=174;break e}}Z=ba-(c[30605]|0)&aa;if(Z>>>0<2147483647){U=kb(Z|0)|0;_=(U|0)==((c[da>>2]|0)+(c[ea>>2]|0)|0);X=_?Z:0;if(_)if((U|0)==(-1|0))fa=X;else{ga=U;ha=X;K=194;break d}else{ia=U;ja=Z;ka=X;K=184}}else fa=0}else K=174;while(0);do if((K|0)==174){$=kb(0)|0;if(($|0)!=(-1|0)){q=$;X=c[30721]|0;Z=X+-1|0;if(!(Z&q))la=S;else la=S-q+(Z+q&0-X)|0;X=c[30710]|0;q=X+la|0;if(la>>>0>F>>>0&la>>>0<2147483647){Z=c[30712]|0;if((Z|0)!=0?q>>>0<=X>>>0|q>>>0>Z>>>0:0){fa=0;break}Z=kb(la|0)|0;q=(Z|0)==($|0);X=q?la:0;if(q){ga=$;ha=X;K=194;break d}else{ia=Z;ja=la;ka=X;K=184}}else fa=0}else fa=0}while(0);f:do if((K|0)==184){X=0-ja|0;do if(ca>>>0>ja>>>0&(ja>>>0<2147483647&(ia|0)!=(-1|0))?(Z=c[30722]|0,$=T-ja+Z&0-Z,$>>>0<2147483647):0)if((kb($|0)|0)==(-1|0)){kb(X|0)|0;fa=ka;break f}else{ma=$+ja|0;break}else ma=ja;while(0);if((ia|0)==(-1|0))fa=ka;else{ga=ia;ha=ma;K=194;break d}}while(0);c[30713]=c[30713]|4;na=fa;K=191}else{na=0;K=191}while(0);if((((K|0)==191?S>>>0<2147483647:0)?(fa=kb(S|0)|0,S=kb(0)|0,fa>>>0<S>>>0&((fa|0)!=(-1|0)&(S|0)!=(-1|0))):0)?(ma=S-fa|0,S=ma>>>0>(F+40|0)>>>0,S):0){ga=fa;ha=S?ma:na;K=194}if((K|0)==194){na=(c[30710]|0)+ha|0;c[30710]=na;if(na>>>0>(c[30711]|0)>>>0)c[30711]=na;na=c[30608]|0;g:do if(na){ma=122856;do{S=c[ma>>2]|0;fa=ma+4|0;ia=c[fa>>2]|0;if((ga|0)==(S+ia|0)){oa=S;pa=fa;qa=ia;ra=ma;K=204;break}ma=c[ma+8>>2]|0}while((ma|0)!=0);if(((K|0)==204?(c[ra+12>>2]&8|0)==0:0)?na>>>0<ga>>>0&na>>>0>=oa>>>0:0){c[pa>>2]=qa+ha;ma=(c[30605]|0)+ha|0;ia=na+8|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ma-fa|0;c[30608]=na+fa;c[30605]=ia;c[na+(fa+4)>>2]=ia|1;c[na+(ma+4)>>2]=40;c[30609]=c[30724];break}ma=c[30606]|0;if(ga>>>0<ma>>>0){c[30606]=ga;sa=ga}else sa=ma;ma=ga+ha|0;ia=122856;while(1){if((c[ia>>2]|0)==(ma|0)){ta=ia;ua=ia;K=212;break}ia=c[ia+8>>2]|0;if(!ia){va=122856;break}}if((K|0)==212)if(!(c[ua+12>>2]&8)){c[ta>>2]=ga;ia=ua+4|0;c[ia>>2]=(c[ia>>2]|0)+ha;ia=ga+8|0;ma=(ia&7|0)==0?0:0-ia&7;ia=ga+(ha+8)|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ga+(fa+ha)|0;S=ma+F|0;ka=ga+S|0;ja=ia-(ga+ma)-F|0;c[ga+(ma+4)>>2]=F|3;h:do if((ia|0)!=(na|0)){if((ia|0)==(c[30607]|0)){T=(c[30604]|0)+ja|0;c[30604]=T;c[30607]=ka;c[ga+(S+4)>>2]=T|1;c[ga+(T+S)>>2]=T;break}T=ha+4|0;ca=c[ga+(T+fa)>>2]|0;if((ca&3|0)==1){la=ca&-8;ea=ca>>>3;i:do if(ca>>>0>=256){da=c[ga+((fa|24)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;do if((aa|0)==(ia|0)){ba=fa|16;X=ga+(T+ba)|0;$=c[X>>2]|0;if(!$){Z=ga+(ba+ha)|0;ba=c[Z>>2]|0;if(!ba){wa=0;break}else{xa=ba;ya=Z}}else{xa=$;ya=X}while(1){X=xa+20|0;$=c[X>>2]|0;if($){xa=$;ya=X;continue}X=xa+16|0;$=c[X>>2]|0;if(!$){za=xa;Aa=ya;break}else{xa=$;ya=X}}if(Aa>>>0<sa>>>0)Oe();else{c[Aa>>2]=0;wa=za;break}}else{X=c[ga+((fa|8)+ha)>>2]|0;if(X>>>0<sa>>>0)Oe();$=X+12|0;if((c[$>>2]|0)!=(ia|0))Oe();Z=aa+8|0;if((c[Z>>2]|0)==(ia|0)){c[$>>2]=aa;c[Z>>2]=X;wa=aa;break}else Oe()}while(0);if(!da)break;aa=c[ga+(ha+28+fa)>>2]|0;X=122712+(aa<<2)|0;do if((ia|0)!=(c[X>>2]|0)){if(da>>>0<(c[30606]|0)>>>0)Oe();Z=da+16|0;if((c[Z>>2]|0)==(ia|0))c[Z>>2]=wa;else c[da+20>>2]=wa;if(!wa)break i}else{c[X>>2]=wa;if(wa)break;c[30603]=c[30603]&~(1<<aa);break i}while(0);aa=c[30606]|0;if(wa>>>0<aa>>>0)Oe();c[wa+24>>2]=da;X=fa|16;Z=c[ga+(X+ha)>>2]|0;do if(Z)if(Z>>>0<aa>>>0)Oe();else{c[wa+16>>2]=Z;c[Z+24>>2]=wa;break}while(0);Z=c[ga+(T+X)>>2]|0;if(!Z)break;if(Z>>>0<(c[30606]|0)>>>0)Oe();else{c[wa+20>>2]=Z;c[Z+24>>2]=wa;break}}else{Z=c[ga+((fa|8)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;da=122448+(ea<<1<<2)|0;do if((Z|0)!=(da|0)){if(Z>>>0<sa>>>0)Oe();if((c[Z+12>>2]|0)==(ia|0))break;Oe()}while(0);if((aa|0)==(Z|0)){c[30602]=c[30602]&~(1<<ea);break}do if((aa|0)==(da|0))Ba=aa+8|0;else{if(aa>>>0<sa>>>0)Oe();X=aa+8|0;if((c[X>>2]|0)==(ia|0)){Ba=X;break}Oe()}while(0);c[Z+12>>2]=aa;c[Ba>>2]=Z}while(0);Ca=ga+((la|fa)+ha)|0;Da=la+ja|0}else{Ca=ia;Da=ja}ea=Ca+4|0;c[ea>>2]=c[ea>>2]&-2;c[ga+(S+4)>>2]=Da|1;c[ga+(Da+S)>>2]=Da;ea=Da>>>3;if(Da>>>0<256){T=ea<<1;ca=122448+(T<<2)|0;da=c[30602]|0;X=1<<ea;do if(!(da&X)){c[30602]=da|X;Ea=122448+(T+2<<2)|0;Fa=ca}else{ea=122448+(T+2<<2)|0;$=c[ea>>2]|0;if($>>>0>=(c[30606]|0)>>>0){Ea=ea;Fa=$;break}Oe()}while(0);c[Ea>>2]=ka;c[Fa+12>>2]=ka;c[ga+(S+8)>>2]=Fa;c[ga+(S+12)>>2]=ca;break}T=Da>>>8;do if(!T)Ga=0;else{if(Da>>>0>16777215){Ga=31;break}X=(T+1048320|0)>>>16&8;da=T<<X;la=(da+520192|0)>>>16&4;$=da<<la;da=($+245760|0)>>>16&2;ea=14-(la|X|da)+($<<da>>>15)|0;Ga=Da>>>(ea+7|0)&1|ea<<1}while(0);T=122712+(Ga<<2)|0;c[ga+(S+28)>>2]=Ga;c[ga+(S+20)>>2]=0;c[ga+(S+16)>>2]=0;ca=c[30603]|0;ea=1<<Ga;if(!(ca&ea)){c[30603]=ca|ea;c[T>>2]=ka;c[ga+(S+24)>>2]=T;c[ga+(S+12)>>2]=ka;c[ga+(S+8)>>2]=ka;break}ea=c[T>>2]|0;j:do if((c[ea+4>>2]&-8|0)!=(Da|0)){T=Da<<((Ga|0)==31?0:25-(Ga>>>1)|0);ca=ea;while(1){da=ca+16+(T>>>31<<2)|0;$=c[da>>2]|0;if(!$){Ha=da;Ia=ca;break}if((c[$+4>>2]&-8|0)==(Da|0)){Ja=$;break j}else{T=T<<1;ca=$}}if(Ha>>>0<(c[30606]|0)>>>0)Oe();else{c[Ha>>2]=ka;c[ga+(S+24)>>2]=Ia;c[ga+(S+12)>>2]=ka;c[ga+(S+8)>>2]=ka;break h}}else Ja=ea;while(0);ea=Ja+8|0;ca=c[ea>>2]|0;T=c[30606]|0;if(ca>>>0>=T>>>0&Ja>>>0>=T>>>0){c[ca+12>>2]=ka;c[ea>>2]=ka;c[ga+(S+8)>>2]=ca;c[ga+(S+12)>>2]=Ja;c[ga+(S+24)>>2]=0;break}else Oe()}else{ca=(c[30605]|0)+ja|0;c[30605]=ca;c[30608]=ka;c[ga+(S+4)>>2]=ca|1}while(0);n=ga+(ma|8)|0;return n|0}else va=122856;while(1){S=c[va>>2]|0;if(S>>>0<=na>>>0?(ka=c[va+4>>2]|0,ja=S+ka|0,ja>>>0>na>>>0):0){Ka=S;La=ka;Ma=ja;break}va=c[va+8>>2]|0}ma=Ka+(La+-39)|0;ja=Ka+(La+-47+((ma&7|0)==0?0:0-ma&7))|0;ma=na+16|0;ka=ja>>>0<ma>>>0?na:ja;ja=ka+8|0;S=ga+8|0;ia=(S&7|0)==0?0:0-S&7;S=ha+-40-ia|0;c[30608]=ga+ia;c[30605]=S;c[ga+(ia+4)>>2]=S|1;c[ga+(ha+-36)>>2]=40;c[30609]=c[30724];S=ka+4|0;c[S>>2]=27;c[ja>>2]=c[30714];c[ja+4>>2]=c[30715];c[ja+8>>2]=c[30716];c[ja+12>>2]=c[30717];c[30714]=ga;c[30715]=ha;c[30717]=0;c[30716]=ja;ja=ka+28|0;c[ja>>2]=7;if((ka+32|0)>>>0<Ma>>>0){ia=ja;do{ja=ia;ia=ia+4|0;c[ia>>2]=7}while((ja+8|0)>>>0<Ma>>>0)}if((ka|0)!=(na|0)){ia=ka-na|0;c[S>>2]=c[S>>2]&-2;c[na+4>>2]=ia|1;c[ka>>2]=ia;ja=ia>>>3;if(ia>>>0<256){fa=ja<<1;ca=122448+(fa<<2)|0;ea=c[30602]|0;T=1<<ja;if(ea&T){ja=122448+(fa+2<<2)|0;Z=c[ja>>2]|0;if(Z>>>0<(c[30606]|0)>>>0)Oe();else{Na=ja;Oa=Z}}else{c[30602]=ea|T;Na=122448+(fa+2<<2)|0;Oa=ca}c[Na>>2]=na;c[Oa+12>>2]=na;c[na+8>>2]=Oa;c[na+12>>2]=ca;break}ca=ia>>>8;if(ca)if(ia>>>0>16777215)Pa=31;else{fa=(ca+1048320|0)>>>16&8;T=ca<<fa;ca=(T+520192|0)>>>16&4;ea=T<<ca;T=(ea+245760|0)>>>16&2;Z=14-(ca|fa|T)+(ea<<T>>>15)|0;Pa=ia>>>(Z+7|0)&1|Z<<1}else Pa=0;Z=122712+(Pa<<2)|0;c[na+28>>2]=Pa;c[na+20>>2]=0;c[ma>>2]=0;T=c[30603]|0;ea=1<<Pa;if(!(T&ea)){c[30603]=T|ea;c[Z>>2]=na;c[na+24>>2]=Z;c[na+12>>2]=na;c[na+8>>2]=na;break}ea=c[Z>>2]|0;k:do if((c[ea+4>>2]&-8|0)!=(ia|0)){Z=ia<<((Pa|0)==31?0:25-(Pa>>>1)|0);T=ea;while(1){fa=T+16+(Z>>>31<<2)|0;ca=c[fa>>2]|0;if(!ca){Qa=fa;Ra=T;break}if((c[ca+4>>2]&-8|0)==(ia|0)){Sa=ca;break k}else{Z=Z<<1;T=ca}}if(Qa>>>0<(c[30606]|0)>>>0)Oe();else{c[Qa>>2]=na;c[na+24>>2]=Ra;c[na+12>>2]=na;c[na+8>>2]=na;break g}}else Sa=ea;while(0);ea=Sa+8|0;ia=c[ea>>2]|0;ma=c[30606]|0;if(ia>>>0>=ma>>>0&Sa>>>0>=ma>>>0){c[ia+12>>2]=na;c[ea>>2]=na;c[na+8>>2]=ia;c[na+12>>2]=Sa;c[na+24>>2]=0;break}else Oe()}}else{ia=c[30606]|0;if((ia|0)==0|ga>>>0<ia>>>0)c[30606]=ga;c[30714]=ga;c[30715]=ha;c[30717]=0;c[30611]=c[30720];c[30610]=-1;ia=0;do{ea=ia<<1;ma=122448+(ea<<2)|0;c[122448+(ea+3<<2)>>2]=ma;c[122448+(ea+2<<2)>>2]=ma;ia=ia+1|0}while((ia|0)!=32);ia=ga+8|0;ma=(ia&7|0)==0?0:0-ia&7;ia=ha+-40-ma|0;c[30608]=ga+ma;c[30605]=ia;c[ga+(ma+4)>>2]=ia|1;c[ga+(ha+-36)>>2]=40;c[30609]=c[30724]}while(0);ha=c[30605]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[30605]=ga;ha=c[30608]|0;c[30608]=ha+F;c[ha+(F+4)>>2]=ga|1;c[ha+4>>2]=F|3;n=ha+8|0;return n|0}}c[(fe()|0)>>2]=12;n=0;return n|0}function Qo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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,K=0,L=0,M=0;if(!a)return;b=a+-8|0;d=c[30606]|0;if(b>>>0<d>>>0)Oe();e=c[a+-4>>2]|0;f=e&3;if((f|0)==1)Oe();g=e&-8;h=a+(g+-8)|0;do if(!(e&1)){i=c[b>>2]|0;if(!f)return;j=-8-i|0;k=a+j|0;l=i+g|0;if(k>>>0<d>>>0)Oe();if((k|0)==(c[30607]|0)){m=a+(g+-4)|0;n=c[m>>2]|0;if((n&3|0)!=3){o=k;p=l;break}c[30604]=l;c[m>>2]=n&-2;c[a+(j+4)>>2]=l|1;c[h>>2]=l;return}n=i>>>3;if(i>>>0<256){i=c[a+(j+8)>>2]|0;m=c[a+(j+12)>>2]|0;q=122448+(n<<1<<2)|0;if((i|0)!=(q|0)){if(i>>>0<d>>>0)Oe();if((c[i+12>>2]|0)!=(k|0))Oe()}if((m|0)==(i|0)){c[30602]=c[30602]&~(1<<n);o=k;p=l;break}if((m|0)!=(q|0)){if(m>>>0<d>>>0)Oe();q=m+8|0;if((c[q>>2]|0)==(k|0))r=q;else Oe()}else r=m+8|0;c[i+12>>2]=m;c[r>>2]=i;o=k;p=l;break}i=c[a+(j+24)>>2]|0;m=c[a+(j+12)>>2]|0;do if((m|0)==(k|0)){q=a+(j+20)|0;n=c[q>>2]|0;if(!n){s=a+(j+16)|0;t=c[s>>2]|0;if(!t){u=0;break}else{v=t;w=s}}else{v=n;w=q}while(1){q=v+20|0;n=c[q>>2]|0;if(n){v=n;w=q;continue}q=v+16|0;n=c[q>>2]|0;if(!n){x=v;y=w;break}else{v=n;w=q}}if(y>>>0<d>>>0)Oe();else{c[y>>2]=0;u=x;break}}else{q=c[a+(j+8)>>2]|0;if(q>>>0<d>>>0)Oe();n=q+12|0;if((c[n>>2]|0)!=(k|0))Oe();s=m+8|0;if((c[s>>2]|0)==(k|0)){c[n>>2]=m;c[s>>2]=q;u=m;break}else Oe()}while(0);if(i){m=c[a+(j+28)>>2]|0;q=122712+(m<<2)|0;if((k|0)==(c[q>>2]|0)){c[q>>2]=u;if(!u){c[30603]=c[30603]&~(1<<m);o=k;p=l;break}}else{if(i>>>0<(c[30606]|0)>>>0)Oe();m=i+16|0;if((c[m>>2]|0)==(k|0))c[m>>2]=u;else c[i+20>>2]=u;if(!u){o=k;p=l;break}}m=c[30606]|0;if(u>>>0<m>>>0)Oe();c[u+24>>2]=i;q=c[a+(j+16)>>2]|0;do if(q)if(q>>>0<m>>>0)Oe();else{c[u+16>>2]=q;c[q+24>>2]=u;break}while(0);q=c[a+(j+20)>>2]|0;if(q)if(q>>>0<(c[30606]|0)>>>0)Oe();else{c[u+20>>2]=q;c[q+24>>2]=u;o=k;p=l;break}else{o=k;p=l}}else{o=k;p=l}}else{o=b;p=g}while(0);if(o>>>0>=h>>>0)Oe();b=a+(g+-4)|0;u=c[b>>2]|0;if(!(u&1))Oe();if(!(u&2)){if((h|0)==(c[30608]|0)){d=(c[30605]|0)+p|0;c[30605]=d;c[30608]=o;c[o+4>>2]=d|1;if((o|0)!=(c[30607]|0))return;c[30607]=0;c[30604]=0;return}if((h|0)==(c[30607]|0)){d=(c[30604]|0)+p|0;c[30604]=d;c[30607]=o;c[o+4>>2]=d|1;c[o+d>>2]=d;return}d=(u&-8)+p|0;x=u>>>3;do if(u>>>0>=256){y=c[a+(g+16)>>2]|0;w=c[a+(g|4)>>2]|0;do if((w|0)==(h|0)){v=a+(g+12)|0;r=c[v>>2]|0;if(!r){f=a+(g+8)|0;e=c[f>>2]|0;if(!e){z=0;break}else{A=e;B=f}}else{A=r;B=v}while(1){v=A+20|0;r=c[v>>2]|0;if(r){A=r;B=v;continue}v=A+16|0;r=c[v>>2]|0;if(!r){C=A;D=B;break}else{A=r;B=v}}if(D>>>0<(c[30606]|0)>>>0)Oe();else{c[D>>2]=0;z=C;break}}else{v=c[a+g>>2]|0;if(v>>>0<(c[30606]|0)>>>0)Oe();r=v+12|0;if((c[r>>2]|0)!=(h|0))Oe();f=w+8|0;if((c[f>>2]|0)==(h|0)){c[r>>2]=w;c[f>>2]=v;z=w;break}else Oe()}while(0);if(y){w=c[a+(g+20)>>2]|0;l=122712+(w<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=z;if(!z){c[30603]=c[30603]&~(1<<w);break}}else{if(y>>>0<(c[30606]|0)>>>0)Oe();w=y+16|0;if((c[w>>2]|0)==(h|0))c[w>>2]=z;else c[y+20>>2]=z;if(!z)break}w=c[30606]|0;if(z>>>0<w>>>0)Oe();c[z+24>>2]=y;l=c[a+(g+8)>>2]|0;do if(l)if(l>>>0<w>>>0)Oe();else{c[z+16>>2]=l;c[l+24>>2]=z;break}while(0);l=c[a+(g+12)>>2]|0;if(l)if(l>>>0<(c[30606]|0)>>>0)Oe();else{c[z+20>>2]=l;c[l+24>>2]=z;break}}}else{l=c[a+g>>2]|0;w=c[a+(g|4)>>2]|0;y=122448+(x<<1<<2)|0;if((l|0)!=(y|0)){if(l>>>0<(c[30606]|0)>>>0)Oe();if((c[l+12>>2]|0)!=(h|0))Oe()}if((w|0)==(l|0)){c[30602]=c[30602]&~(1<<x);break}if((w|0)!=(y|0)){if(w>>>0<(c[30606]|0)>>>0)Oe();y=w+8|0;if((c[y>>2]|0)==(h|0))E=y;else Oe()}else E=w+8|0;c[l+12>>2]=w;c[E>>2]=l}while(0);c[o+4>>2]=d|1;c[o+d>>2]=d;if((o|0)==(c[30607]|0)){c[30604]=d;return}else F=d}else{c[b>>2]=u&-2;c[o+4>>2]=p|1;c[o+p>>2]=p;F=p}p=F>>>3;if(F>>>0<256){u=p<<1;b=122448+(u<<2)|0;d=c[30602]|0;E=1<<p;if(d&E){p=122448+(u+2<<2)|0;h=c[p>>2]|0;if(h>>>0<(c[30606]|0)>>>0)Oe();else{G=p;H=h}}else{c[30602]=d|E;G=122448+(u+2<<2)|0;H=b}c[G>>2]=o;c[H+12>>2]=o;c[o+8>>2]=H;c[o+12>>2]=b;return}b=F>>>8;if(b)if(F>>>0>16777215)I=31;else{H=(b+1048320|0)>>>16&8;G=b<<H;b=(G+520192|0)>>>16&4;u=G<<b;G=(u+245760|0)>>>16&2;E=14-(b|H|G)+(u<<G>>>15)|0;I=F>>>(E+7|0)&1|E<<1}else I=0;E=122712+(I<<2)|0;c[o+28>>2]=I;c[o+20>>2]=0;c[o+16>>2]=0;G=c[30603]|0;u=1<<I;a:do if(G&u){H=c[E>>2]|0;b:do if((c[H+4>>2]&-8|0)!=(F|0)){b=F<<((I|0)==31?0:25-(I>>>1)|0);d=H;while(1){h=d+16+(b>>>31<<2)|0;p=c[h>>2]|0;if(!p){J=h;K=d;break}if((c[p+4>>2]&-8|0)==(F|0)){L=p;break b}else{b=b<<1;d=p}}if(J>>>0<(c[30606]|0)>>>0)Oe();else{c[J>>2]=o;c[o+24>>2]=K;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else L=H;while(0);H=L+8|0;d=c[H>>2]|0;b=c[30606]|0;if(d>>>0>=b>>>0&L>>>0>=b>>>0){c[d+12>>2]=o;c[H>>2]=o;c[o+8>>2]=d;c[o+12>>2]=L;c[o+24>>2]=0;break}else Oe()}else{c[30603]=G|u;c[E>>2]=o;c[o+24>>2]=E;c[o+12>>2]=o;c[o+8>>2]=o}while(0);o=(c[30610]|0)+-1|0;c[30610]=o;if(!o)M=122864;else return;while(1){o=c[M>>2]|0;if(!o)break;else M=o+8|0}c[30610]=-1;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Po(b)|0;return d|0}if(b>>>0>4294967231){c[(fe()|0)>>2]=12;d=0;return d|0}e=So(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e){d=e+8|0;return d|0}e=Po(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Wo(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Qo(a);d=e;return d|0}function So(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[30606]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))Oe();j=a+(f|4)|0;k=c[j>>2]|0;if(!(k&1))Oe();if(!i){if(b>>>0<256){l=0;return l|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[30722]<<1>>>0:0){l=a;return l|0}l=0;return l|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){l=a;return l|0}c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=i|3;c[j>>2]=c[j>>2]|1;To(a+b|0,i);l=a;return l|0}if((g|0)==(c[30608]|0)){i=(c[30605]|0)+f|0;if(i>>>0<=b>>>0){l=0;return l|0}j=i-b|0;c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=j|1;c[30608]=a+b;c[30605]=j;l=a;return l|0}if((g|0)==(c[30607]|0)){j=(c[30604]|0)+f|0;if(j>>>0<b>>>0){l=0;return l|0}i=j-b|0;if(i>>>0>15){c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=i|1;c[a+j>>2]=i;m=a+(j+4)|0;c[m>>2]=c[m>>2]&-2;n=a+b|0;o=i}else{c[d>>2]=e&1|j|2;i=a+(j+4)|0;c[i>>2]=c[i>>2]|1;n=0;o=0}c[30604]=o;c[30607]=n;l=a;return l|0}if(k&2){l=0;return l|0}n=(k&-8)+f|0;if(n>>>0<b>>>0){l=0;return l|0}o=n-b|0;i=k>>>3;do if(k>>>0>=256){j=c[a+(f+24)>>2]|0;m=c[a+(f+12)>>2]|0;do if((m|0)==(g|0)){p=a+(f+20)|0;q=c[p>>2]|0;if(!q){r=a+(f+16)|0;s=c[r>>2]|0;if(!s){t=0;break}else{u=s;v=r}}else{u=q;v=p}while(1){p=u+20|0;q=c[p>>2]|0;if(q){u=q;v=p;continue}p=u+16|0;q=c[p>>2]|0;if(!q){w=u;x=v;break}else{u=q;v=p}}if(x>>>0<h>>>0)Oe();else{c[x>>2]=0;t=w;break}}else{p=c[a+(f+8)>>2]|0;if(p>>>0<h>>>0)Oe();q=p+12|0;if((c[q>>2]|0)!=(g|0))Oe();r=m+8|0;if((c[r>>2]|0)==(g|0)){c[q>>2]=m;c[r>>2]=p;t=m;break}else Oe()}while(0);if(j){m=c[a+(f+28)>>2]|0;p=122712+(m<<2)|0;if((g|0)==(c[p>>2]|0)){c[p>>2]=t;if(!t){c[30603]=c[30603]&~(1<<m);break}}else{if(j>>>0<(c[30606]|0)>>>0)Oe();m=j+16|0;if((c[m>>2]|0)==(g|0))c[m>>2]=t;else c[j+20>>2]=t;if(!t)break}m=c[30606]|0;if(t>>>0<m>>>0)Oe();c[t+24>>2]=j;p=c[a+(f+16)>>2]|0;do if(p)if(p>>>0<m>>>0)Oe();else{c[t+16>>2]=p;c[p+24>>2]=t;break}while(0);p=c[a+(f+20)>>2]|0;if(p)if(p>>>0<(c[30606]|0)>>>0)Oe();else{c[t+20>>2]=p;c[p+24>>2]=t;break}}}else{p=c[a+(f+8)>>2]|0;m=c[a+(f+12)>>2]|0;j=122448+(i<<1<<2)|0;if((p|0)!=(j|0)){if(p>>>0<h>>>0)Oe();if((c[p+12>>2]|0)!=(g|0))Oe()}if((m|0)==(p|0)){c[30602]=c[30602]&~(1<<i);break}if((m|0)!=(j|0)){if(m>>>0<h>>>0)Oe();j=m+8|0;if((c[j>>2]|0)==(g|0))y=j;else Oe()}else y=m+8|0;c[p+12>>2]=m;c[y>>2]=p}while(0);if(o>>>0<16){c[d>>2]=n|e&1|2;y=a+(n|4)|0;c[y>>2]=c[y>>2]|1;l=a;return l|0}else{c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=o|3;e=a+(n|4)|0;c[e>>2]=c[e>>2]|1;To(a+b|0,o);l=a;return l|0}return 0}function To(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=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;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[30606]|0;if(g>>>0<i>>>0)Oe();if((g|0)==(c[30607]|0)){j=a+(b+4)|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[30604]=h;c[j>>2]=k&-2;c[a+(4-f)>>2]=h|1;c[d>>2]=h;return}k=f>>>3;if(f>>>0<256){j=c[a+(8-f)>>2]|0;n=c[a+(12-f)>>2]|0;o=122448+(k<<1<<2)|0;if((j|0)!=(o|0)){if(j>>>0<i>>>0)Oe();if((c[j+12>>2]|0)!=(g|0))Oe()}if((n|0)==(j|0)){c[30602]=c[30602]&~(1<<k);l=g;m=h;break}if((n|0)!=(o|0)){if(n>>>0<i>>>0)Oe();o=n+8|0;if((c[o>>2]|0)==(g|0))p=o;else Oe()}else p=n+8|0;c[j+12>>2]=n;c[p>>2]=j;l=g;m=h;break}j=c[a+(24-f)>>2]|0;n=c[a+(12-f)>>2]|0;do if((n|0)==(g|0)){o=16-f|0;k=a+(o+4)|0;q=c[k>>2]|0;if(!q){r=a+o|0;o=c[r>>2]|0;if(!o){s=0;break}else{t=o;u=r}}else{t=q;u=k}while(1){k=t+20|0;q=c[k>>2]|0;if(q){t=q;u=k;continue}k=t+16|0;q=c[k>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=k}}if(w>>>0<i>>>0)Oe();else{c[w>>2]=0;s=v;break}}else{k=c[a+(8-f)>>2]|0;if(k>>>0<i>>>0)Oe();q=k+12|0;if((c[q>>2]|0)!=(g|0))Oe();r=n+8|0;if((c[r>>2]|0)==(g|0)){c[q>>2]=n;c[r>>2]=k;s=n;break}else Oe()}while(0);if(j){n=c[a+(28-f)>>2]|0;i=122712+(n<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=s;if(!s){c[30603]=c[30603]&~(1<<n);l=g;m=h;break}}else{if(j>>>0<(c[30606]|0)>>>0)Oe();n=j+16|0;if((c[n>>2]|0)==(g|0))c[n>>2]=s;else c[j+20>>2]=s;if(!s){l=g;m=h;break}}n=c[30606]|0;if(s>>>0<n>>>0)Oe();c[s+24>>2]=j;i=16-f|0;k=c[a+i>>2]|0;do if(k)if(k>>>0<n>>>0)Oe();else{c[s+16>>2]=k;c[k+24>>2]=s;break}while(0);k=c[a+(i+4)>>2]|0;if(k)if(k>>>0<(c[30606]|0)>>>0)Oe();else{c[s+20>>2]=k;c[k+24>>2]=s;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);s=c[30606]|0;if(d>>>0<s>>>0)Oe();v=a+(b+4)|0;w=c[v>>2]|0;if(!(w&2)){if((d|0)==(c[30608]|0)){u=(c[30605]|0)+m|0;c[30605]=u;c[30608]=l;c[l+4>>2]=u|1;if((l|0)!=(c[30607]|0))return;c[30607]=0;c[30604]=0;return}if((d|0)==(c[30607]|0)){u=(c[30604]|0)+m|0;c[30604]=u;c[30607]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(w&-8)+m|0;t=w>>>3;do if(w>>>0>=256){p=c[a+(b+24)>>2]|0;e=c[a+(b+12)>>2]|0;do if((e|0)==(d|0)){k=a+(b+20)|0;n=c[k>>2]|0;if(!n){f=a+(b+16)|0;j=c[f>>2]|0;if(!j){x=0;break}else{y=j;z=f}}else{y=n;z=k}while(1){k=y+20|0;n=c[k>>2]|0;if(n){y=n;z=k;continue}k=y+16|0;n=c[k>>2]|0;if(!n){A=y;B=z;break}else{y=n;z=k}}if(B>>>0<s>>>0)Oe();else{c[B>>2]=0;x=A;break}}else{k=c[a+(b+8)>>2]|0;if(k>>>0<s>>>0)Oe();n=k+12|0;if((c[n>>2]|0)!=(d|0))Oe();f=e+8|0;if((c[f>>2]|0)==(d|0)){c[n>>2]=e;c[f>>2]=k;x=e;break}else Oe()}while(0);if(p){e=c[a+(b+28)>>2]|0;h=122712+(e<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=x;if(!x){c[30603]=c[30603]&~(1<<e);break}}else{if(p>>>0<(c[30606]|0)>>>0)Oe();e=p+16|0;if((c[e>>2]|0)==(d|0))c[e>>2]=x;else c[p+20>>2]=x;if(!x)break}e=c[30606]|0;if(x>>>0<e>>>0)Oe();c[x+24>>2]=p;h=c[a+(b+16)>>2]|0;do if(h)if(h>>>0<e>>>0)Oe();else{c[x+16>>2]=h;c[h+24>>2]=x;break}while(0);h=c[a+(b+20)>>2]|0;if(h)if(h>>>0<(c[30606]|0)>>>0)Oe();else{c[x+20>>2]=h;c[h+24>>2]=x;break}}}else{h=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;p=122448+(t<<1<<2)|0;if((h|0)!=(p|0)){if(h>>>0<s>>>0)Oe();if((c[h+12>>2]|0)!=(d|0))Oe()}if((e|0)==(h|0)){c[30602]=c[30602]&~(1<<t);break}if((e|0)!=(p|0)){if(e>>>0<s>>>0)Oe();p=e+8|0;if((c[p>>2]|0)==(d|0))C=p;else Oe()}else C=e+8|0;c[h+12>>2]=e;c[C>>2]=h}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[30607]|0)){c[30604]=u;return}else D=u}else{c[v>>2]=w&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){w=m<<1;v=122448+(w<<2)|0;u=c[30602]|0;C=1<<m;if(u&C){m=122448+(w+2<<2)|0;d=c[m>>2]|0;if(d>>>0<(c[30606]|0)>>>0)Oe();else{E=m;F=d}}else{c[30602]=u|C;E=122448+(w+2<<2)|0;F=v}c[E>>2]=l;c[F+12>>2]=l;c[l+8>>2]=F;c[l+12>>2]=v;return}v=D>>>8;if(v)if(D>>>0>16777215)G=31;else{F=(v+1048320|0)>>>16&8;E=v<<F;v=(E+520192|0)>>>16&4;w=E<<v;E=(w+245760|0)>>>16&2;C=14-(v|F|E)+(w<<E>>>15)|0;G=D>>>(C+7|0)&1|C<<1}else G=0;C=122712+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;E=c[30603]|0;w=1<<G;if(!(E&w)){c[30603]=E|w;c[C>>2]=l;c[l+24>>2]=C;c[l+12>>2]=l;c[l+8>>2]=l;return}w=c[C>>2]|0;a:do if((c[w+4>>2]&-8|0)==(D|0))H=w;else{C=D<<((G|0)==31?0:25-(G>>>1)|0);E=w;while(1){F=E+16+(C>>>31<<2)|0;v=c[F>>2]|0;if(!v){I=F;J=E;break}if((c[v+4>>2]&-8|0)==(D|0)){H=v;break a}else{C=C<<1;E=v}}if(I>>>0<(c[30606]|0)>>>0)Oe();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}while(0);J=H+8|0;I=c[J>>2]|0;D=c[30606]|0;if(!(I>>>0>=D>>>0&H>>>0>=D>>>0))Oe();c[I+12>>2]=l;c[J>>2]=l;c[l+8>>2]=I;c[l+12>>2]=H;c[l+24>>2]=0;return}function Uo(){}function Vo(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function Wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return pb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Xo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (E=e,a-c>>>0|0)|0}function Zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (E=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function _o(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Wo(b,c,d)|0;return b|0}function $o(b,c){b=b|0;c=c|0;var d=0;do{a[b+d>>0]=a[c+d>>0];d=d+1|0}while(a[c+(d-1)>>0]|0);return b|0}function ap(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){a[b+e>>0]=f?0:a[c+e>>0]|0;f=f?1:(a[c+e>>0]|0)==0;e=e+1|0}return b|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}E=0;return b>>>c-32|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}E=a<<c-32;return 0}function dp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}E=(b|0)<0?-1:0;return b>>c-32|0}function fp(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=aa(d,c)|0;f=a>>>16;a=(e>>>16)+(aa(d,f)|0)|0;d=b>>>16;b=aa(d,c)|0;return (E=(a>>>16)+(aa(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Yo(e^a,f^b,e,f)|0;b=E;a=g^e;e=h^f;return Yo((mp(i,b,Yo(g^c,h^d,g,h)|0,E,0)|0)^a,E^e,a,e)|0}function ip(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=Yo(h^a,j^b,h,j)|0;b=E;mp(m,b,Yo(k^d,l^e,k,l)|0,E,g)|0;l=Yo(c[g>>2]^h,c[g+4>>2]^j,h,j)|0;j=E;i=f;return (E=j,l)|0}function jp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=gp(e,a)|0;f=E;return (E=(aa(b,a)|0)+(aa(d,e)|0)+f|f&0,c|0|0)|0}function kp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return mp(a,b,c,d,0)|0}function lp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+8|0;g=f|0;mp(a,b,d,e,g)|0;i=f;return (E=c[g+4>>2]|0,c[g>>2]|0)|0}function mp(a,b,d,e,f){a=a|0;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,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,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (E=n,o)|0}else{if(!m){n=0;o=0;return (E=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (E=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(ca(l|0)|0)-(ca(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (E=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (E=n,o)|0}r=j-1|0;if(r&j){s=(ca(j|0)|0)+33-(ca(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (E=n,o)|0}else{r=fp(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (E=n,o)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (E=n,o)|0}if(!g){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (E=n,o)|0}r=l-1|0;if(!(r&l)){if(f){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((fp(l|0)|0)>>>0);return (E=n,o)|0}r=(ca(l|0)|0)-(ca(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (E=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (E=n,o)|0}while(0);if(!t){B=x;C=w;D=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Zo(b|0,d|0,-1,-1)|0;k=E;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Yo(e,k,g,a)|0;i=E;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Yo(g,a,l&b,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d)|0;w=E;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;F=v;G=0;H=t}t=C;C=0;if(f){c[f>>2]=F;c[f+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (E=n,o)|0}function np(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Jg[a&31](b|0,c|0,d|0,e|0,f|0)}function op(a,b){a=a|0;b=+b;Kg[a&3](+b)}function pp(a,b,c){a=a|0;b=b|0;c=+c;Lg[a&3](b|0,+c)}function qp(a,b){a=a|0;b=b|0;Mg[a&63](b|0)}function rp(a,b,c){a=a|0;b=b|0;c=c|0;Ng[a&63](b|0,c|0)}function sp(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;return Og[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function tp(a,b){a=a|0;b=b|0;return Pg[a&31](b|0)|0}function up(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;Qg[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function vp(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;Rg[a&3](b|0,+c,+d,+e)}function wp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Sg[a&3](b|0,c|0,d|0,e|0,f|0)|0}function xp(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Tg[a&3](b|0,+c,+d)}function yp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ug[a&15](b|0,c|0,d|0)|0}function zp(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Vg[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ap(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;Wg[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function Bp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xg[a&63](b|0,c|0,d|0)}function Cp(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;Yg[a&3](b|0,+c,+d,+e,+f)}function Dp(a,b,c){a=a|0;b=+b;c=c|0;Zg[a&1](+b,c|0)}function Ep(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;_g[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Fp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;$g[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Gp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ah[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Hp(a,b,c){a=a|0;b=b|0;c=c|0;return bh[a&7](b|0,c|0)|0}function Ip(a){a=a|0;return ch[a&15]()|0}function Jp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dh[a&15](b|0,c|0,d|0,e|0)|0}function Kp(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;eh[a&1](+b,+c,+d,+e,+f,+g)}function Lp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;fh[a&3](+b,+c,+d,+e)}function Mp(a,b,c){a=a|0;b=+b;c=+c;gh[a&3](+b,+c)}function Np(a){a=a|0;hh[a&15]()}function Op(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ih[a&1](b|0,c|0,+d)}function Pp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;jh[a&63](b|0,c|0,d|0,e|0)}function Qp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(0)}function Rp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Bd(a|0,b|0,c|0,d|0,e|0)}function Sp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Je(a|0,b|0,c|0,d|0,e|0)}function Tp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;tc(a|0,b|0,c|0,d|0,e|0)}function Up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oe(a|0,b|0,c|0,d|0,e|0)}function Vp(a){a=+a;da(1)}function Wp(a){a=+a;ld(+a)}function Xp(a){a=+a;Qc(+a)}function Yp(a){a=+a;Ab(+a)}function Zp(a,b){a=a|0;b=+b;da(2)}function _p(a,b){a=a|0;b=+b;af(a|0,+b)}function $p(a,b){a=a|0;b=+b;$b(a|0,+b)}function aq(a){a=a|0;da(3)}function bq(a){a=a|0;Uc(a|0)}function cq(a){a=a|0;Hf(a|0)}function dq(a){a=a|0;ke(a|0)}function eq(a){a=a|0;Sf(a|0)}function fq(a){a=a|0;cb(a|0)}function gq(a){a=a|0;xc(a|0)}function hq(a){a=a|0;ag(a|0)}function iq(a){a=a|0;Ad(a|0)}function jq(a){a=a|0;xb(a|0)}function kq(a){a=a|0;nf(a|0)}function lq(a){a=a|0;Xc(a|0)}function mq(a){a=a|0;pd(a|0)}function nq(a){a=a|0;bd(a|0)}function oq(a){a=a|0;mb(a|0)}function pq(a){a=a|0;fb(a|0)}function qq(a){a=a|0;id(a|0)}function rq(a){a=a|0;ge(a|0)}function sq(a){a=a|0;Za(a|0)}function tq(a){a=a|0;Ta(a|0)}function uq(a){a=a|0;Sd(a|0)}function vq(a){a=a|0;_c(a|0)}function wq(a){a=a|0;De(a|0)}function xq(a){a=a|0;rf(a|0)}function yq(a){a=a|0;lb(a|0)}function zq(a){a=a|0;bg(a|0)}function Aq(a){a=a|0;ng(a|0)}function Bq(a,b){a=a|0;b=b|0;da(4)}function Cq(a,b){a=a|0;b=b|0;te(a|0,b|0)}function Dq(a,b){a=a|0;b=b|0;Sa(a|0,b|0)}function Eq(a,b){a=a|0;b=b|0;Bg(a|0,b|0)}function Fq(a,b){a=a|0;b=b|0;wb(a|0,b|0)}function Gq(a,b){a=a|0;b=b|0;oc(a|0,b|0)}function Hq(a,b){a=a|0;b=b|0;uf(a|0,b|0)}function Iq(a,b){a=a|0;b=b|0;_f(a|0,b|0)}function Jq(a,b){a=a|0;b=b|0;Db(a|0,b|0)}function Kq(a,b){a=a|0;b=b|0;fg(a|0,b|0)}function Lq(a,b){a=a|0;b=b|0;dg(a|0,b|0)}function Mq(a,b){a=a|0;b=b|0;Le(a|0,b|0)}function Nq(a,b){a=a|0;b=b|0;vf(a|0,b|0)}function Oq(a,b){a=a|0;b=b|0;Bb(a|0,b|0)}function Pq(a,b){a=a|0;b=b|0;zg(a|0,b|0)}function Qq(a,b){a=a|0;b=b|0;Yf(a|0,b|0)}function Rq(a,b){a=a|0;b=b|0;Gg(a|0,b|0)}function Sq(a,b){a=a|0;b=b|0;Ef(a|0,b|0)}function Tq(a,b){a=a|0;b=b|0;eg(a|0,b|0)}function Uq(a,b){a=a|0;b=b|0;cc(a|0,b|0)}function Vq(a,b){a=a|0;b=b|0;Cg(a|0,b|0)}function Wq(a,b){a=a|0;b=b|0;cf(a|0,b|0)}function Xq(a,b){a=a|0;b=b|0;We(a|0,b|0)}function Yq(a,b){a=a|0;b=b|0;Cf(a|0,b|0)}function Zq(a,b){a=a|0;b=b|0;Ub(a|0,b|0)}function _q(a,b){a=a|0;b=b|0;Ze(a|0,b|0)}function $q(a,b){a=a|0;b=b|0;ug(a|0,b|0)}function ar(a,b){a=a|0;b=b|0;Cd(a|0,b|0)}function br(a,b){a=a|0;b=b|0;xf(a|0,b|0)}function cr(a,b){a=a|0;b=b|0;Ud(a|0,b|0)}function dr(a,b){a=a|0;b=b|0;ub(a|0,b|0)}function er(a,b){a=a|0;b=b|0;Wa(a|0,b|0)}function fr(a,b){a=a|0;b=b|0;Xb(a|0,b|0)}function gr(a,b){a=a|0;b=b|0;Ee(a|0,b|0)}function hr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;da(5);return 0}function ir(a){a=a|0;da(6);return 0}function jr(a){a=a|0;return Eb(a|0)|0}function kr(a){a=a|0;return Uf(a|0)|0}function lr(a){a=a|0;return _b(a|0)|0}function mr(a){a=a|0;return ef(a|0)|0}function nr(a){a=a|0;return pf(a|0)|0}function or(a){a=a|0;return lg(a|0)|0}function pr(a){a=a|0;return Hb(a|0)|0}function qr(a){a=a|0;return Ob(a|0)|0}function rr(a){a=a|0;return Oc(a|0)|0}function sr(a){a=a|0;return Qb(a|0)|0}function tr(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;da(7)}function ur(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;da(8)}function vr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;zc(a|0,+b,+c,+d)}function wr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;rd(a|0,+b,+c,+d)}function xr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(9);return 0}function yr(a,b,c){a=a|0;b=+b;c=+c;da(10)}function zr(a,b,c){a=a|0;b=+b;c=+c;gc(a|0,+b,+c)}function Ar(a,b,c){a=a|0;b=+b;c=+c;Kc(a|0,+b,+c)}function Br(a,b,c){a=a|0;b=b|0;c=c|0;da(11);return 0}function Cr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;da(12)}function Dr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;qg(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Er(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Pa(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Fr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;sf(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Gr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;da(13)}function Hr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Dd(a|0,b|0,c|0,d|0,e|0,f|0)}function Ir(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|0,b|0,c|0,d|0,e|0,f|0)}function Jr(a,b,c){a=a|0;b=b|0;c=c|0;da(14)}function Kr(a,b,c){a=a|0;b=b|0;c=c|0;Ia(a|0,b|0,c|0)}function Lr(a,b,c){a=a|0;b=b|0;c=c|0;Bc(a|0,b|0,c|0)}function Mr(a,b,c){a=a|0;b=b|0;c=c|0;jc(a|0,b|0,c|0)}function Nr(a,b,c){a=a|0;b=b|0;c=c|0;Tb(a|0,b|0,c|0)}function Or(a,b,c){a=a|0;b=b|0;c=c|0;ie(a|0,b|0,c|0)}function Pr(a,b,c){a=a|0;b=b|0;c=c|0;Bf(a|0,b|0,c|0)}function Qr(a,b,c){a=a|0;b=b|0;c=c|0;yf(a|0,b|0,c|0)}function Rr(a,b,c){a=a|0;b=b|0;c=c|0;Pe(a|0,b|0,c|0)}function Sr(a,b,c){a=a|0;b=b|0;c=c|0;Af(a|0,b|0,c|0)}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;qe(a|0,b|0,c|0)}function Ur(a,b,c){a=a|0;b=b|0;c=c|0;Yd(a|0,b|0,c|0)}function Vr(a,b,c){a=a|0;b=b|0;c=c|0;fc(a|0,b|0,c|0)}function Wr(a,b,c){a=a|0;b=b|0;c=c|0;Xd(a|0,b|0,c|0)}function Xr(a,b,c){a=a|0;b=b|0;c=c|0;jg(a|0,b|0,c|0)}function Yr(a,b,c){a=a|0;b=b|0;c=c|0;ee(a|0,b|0,c|0)}function Zr(a,b,c){a=a|0;b=b|0;c=c|0;Ac(a|0,b|0,c|0)}function _r(a,b,c){a=a|0;b=b|0;c=c|0;od(a|0,b|0,c|0)}function $r(a,b,c){a=a|0;b=b|0;c=c|0;Nd(a|0,b|0,c|0)}function as(a,b,c){a=a|0;b=b|0;c=c|0;ab(a|0,b|0,c|0)}function bs(a,b,c){a=a|0;b=b|0;c=c|0;Sb(a|0,b|0,c|0)}function cs(a,b,c){a=a|0;b=b|0;c=c|0;Te(a|0,b|0,c|0)}function ds(a,b,c){a=a|0;b=b|0;c=c|0;Wf(a|0,b|0,c|0)}function es(a,b,c){a=a|0;b=b|0;c=c|0;Ec(a|0,b|0,c|0)}function fs(a,b,c){a=a|0;b=b|0;c=c|0;Ie(a|0,b|0,c|0)}function gs(a,b,c){a=a|0;b=b|0;c=c|0;fd(a|0,b|0,c|0)}function hs(a,b,c){a=a|0;b=b|0;c=c|0;$a(a|0,b|0,c|0)}function is(a,b,c){a=a|0;b=b|0;c=c|0;Ke(a|0,b|0,c|0)}function js(a,b,c){a=a|0;b=b|0;c=c|0;Ne(a|0,b|0,c|0)}function ks(a,b,c){a=a|0;b=b|0;c=c|0;Of(a|0,b|0,c|0)}function ls(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;da(15)}function ms(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Md(a|0,+b,+c,+d,+e)}function ns(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;pe(a|0,+b,+c,+d,+e)}function os(a,b){a=+a;b=b|0;da(16)}function ps(a,b){a=+a;b=b|0;If(+a,b|0)}function qs(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;da(17)}function rs(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;Wc(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function ss(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;ce(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function ts(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;ac(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function us(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;da(18)}function vs(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;$d(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ws(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Fb(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function xs(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;re(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ys(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;da(19)}function zs(a,b){a=a|0;b=b|0;da(20);return 0}function As(a,b){a=a|0;b=b|0;return $c(a|0,b|0)|0}function Bs(a,b){a=a|0;b=b|0;return vg(a|0,b|0)|0}function Cs(){da(21);return 0}function Ds(){return tg()|0}function Es(){return Pc()|0}function Fs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;da(22);return 0}function Gs(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;da(23)}function Hs(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;Cb(+a,+b,+c,+d,+e,+f)}function Is(a,b,c,d){a=+a;b=+b;c=+c;d=+d;da(24)}function Js(a,b,c,d){a=+a;b=+b;c=+c;d=+d;Tc(+a,+b,+c,+d)}function Ks(a,b,c,d){a=+a;b=+b;c=+c;d=+d;rg(+a,+b,+c,+d)}function Ls(a,b,c,d){a=+a;b=+b;c=+c;d=+d;db(+a,+b,+c,+d)}function Ms(a,b){a=+a;b=+b;da(25)}function Ns(a,b){a=+a;b=+b;ye(+a,+b)}function Os(a,b){a=+a;b=+b;Mf(+a,+b)}function Ps(a,b){a=+a;b=+b;Nc(+a,+b)}function Qs(){da(26)}function Rs(){Fd()}function Ss(){Na()}function Ts(){Rd()}function Us(){Mc()}function Vs(a,b,c){a=a|0;b=b|0;c=+c;da(27)}function Ws(a,b,c){a=a|0;b=b|0;c=+c;mc(a|0,b|0,+c)}function Xs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;da(28)}function Ys(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rc(a|0,b|0,c|0,d|0)}function Zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ic(a|0,b|0,c|0,d|0)}function _s(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sc(a|0,b|0,c|0,d|0)}function $s(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;kc(a|0,b|0,c|0,d|0)}function at(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;xe(a|0,b|0,c|0,d|0)}function bt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xe(a|0,b|0,c|0,d|0)}function ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nc(a|0,b|0,c|0,d|0)}function dt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(a|0,b|0,c|0,d|0)}function et(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yb(a|0,b|0,c|0,d|0)}function ft(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vd(a|0,b|0,c|0,d|0)}function gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Gb(a|0,b|0,c|0,d|0)}function ht(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vf(a|0,b|0,c|0,d|0)}function it(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Yb(a|0,b|0,c|0,d|0)}function jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wd(a|0,b|0,c|0,d|0)}function kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Gf(a|0,b|0,c|0,d|0)}function lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;tb(a|0,b|0,c|0,d|0)}function mt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hd(a|0,b|0,c|0,d|0)}function nt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bc(a|0,b|0,c|0,d|0)}function ot(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ic(a|0,b|0,c|0,d|0)}function pt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pc(a|0,b|0,c|0,d|0)}function qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa(a|0,b|0,c|0,d|0)}function rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rb(a|0,b|0,c|0,d|0)}function st(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ge(a|0,b|0,c|0,d|0)}function tt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hf(a|0,b|0,c|0,d|0)}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oa(a|0,b|0,c|0,d|0)}function vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qd(a|0,b|0,c|0,d|0)}function wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vb(a|0,b|0,c|0,d|0)}
|
|
|
|
// EMSCRIPTEN_END_FUNCS
|
|
var Jg=[Qp,Tm,Wm,Zm,dn,nn,Rl,Wl,Zl,Dn,uo,to,Am,Dm,Rp,Sp,Tp,Up,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp,Qp];var Kg=[Vp,Wp,Xp,Yp];var Lg=[Zp,_p,$p,Zp];var Mg=[aq,Jm,Lm,gn,Cl,yl,sm,qm,lm,mm,om,pm,Ol,Pl,Tl,Ul,jm,Ll,Ml,Il,Jl,Bn,In,Fn,Gn,cm,dm,$l,am,bo,co,io,lo,jo,ko,mo,zn,bq,cq,dq,eq,fq,gq,hq,iq,jq,kq,lq,mq,nq,oq,pq,qq,rq,sq,tq,uq,vq,wq,xq,yq,zq,Aq,aq];var Ng=[Bq,Om,Qm,Sm,Um,Xm,_m,an,cn,jn,mn,qn,rn,vn,Bm,Fm,Gm,Cq,Dq,Eq,Fq,Gq,Hq,Iq,Jq,Kq,Lq,Mq,Nq,Oq,Pq,Qq,Rq,Sq,Tq,Uq,Vq,Wq,Xq,Yq,Zq,_q,$q,ar,br,cr,dr,er,fr,gr,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq,Bq];var Og=[hr,Sl,En,hr];var Pg=[ir,Mm,Nm,Al,Bl,zk,Ln,hm,eo,jr,kr,lr,mr,nr,or,pr,qr,rr,sr,ir,ir,ir,ir,ir,ir,ir,ir,ir,ir,ir,ir,ir];var Qg=[tr];var Rg=[ur,vr,wr,ur];var Sg=[xr,Ql,Yl,Cn];var Tg=[yr,zr,Ar,yr];var Ug=[Br,xk,Xl,Mk,Jn,em,gm,no,Oo,Kj,Lj,Mj,Nj,Oj,Br,Br];var Vg=[Cr,_l,Dr,Er,Fr,Cr,Cr,Cr];var Wg=[Gr,ln,im,wo,vo,Hr,Ir,Gr];var Xg=[Jr,Rm,$m,sn,un,wn,zl,Vl,km,Im,Kr,Lr,Mr,Nr,Or,Pr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,Yr,Zr,_r,$r,as,bs,cs,ds,es,fs,gs,hs,is,js,ks,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr,Jr];var Yg=[ls,ms,ns,ls];var Zg=[os,ps];var _g=[qs,ej,rs,ss,ts,qs,qs,qs];var $g=[us,fn,vs,ws,xs,us,us,us];var ah=[ys];var bh=[zs,yk,Kn,As,Bs,zs,zs,zs];var ch=[Cs,$i,bj,zj,vj,gj,Zi,Ds,Es,Cs,Cs,Cs,Cs,Cs,Cs,Cs];var dh=[Fs,rm,nm,Nl,Kl,Mn,Hn,fm,bm,Vj,Wj,Xj,Fs,Fs,Fs,Fs];var eh=[Gs,Hs];var fh=[Is,Js,Ks,Ls];var gh=[Ms,Ns,Os,Ps];var hh=[Qs,aj,cj,Aj,wj,hj,_i,pl,Em,Rs,Ss,Ts,Us,Qs,Qs,Qs];var ih=[Vs,Ws];var jh=[Xs,Pm,Vm,Ym,bn,en,hn,kn,tn,uj,po,qo,zm,Cm,Hm,Ys,Zs,_s,$s,at,bt,ct,dt,et,ft,gt,ht,it,jt,kt,lt,mt,nt,ot,pt,qt,rt,st,tt,ut,vt,wt,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs,Xs];return{_strlen:Vo,_free:Qo,_main:Uj,_i64Add:Zo,_memmove:_o,_strstr:Yn,_i64Subtract:Yo,_memset:Xo,_malloc:Po,_strncpy:ap,_memcpy:Wo,_bitshift64Lshr:bp,_emscripten_GetProcAddress:xo,_strcpy:$o,_llvm_bswap_i32:dp,_bitshift64Shl:cp,__GLOBAL__sub_I_metaballs_cpp:Dl,__GLOBAL__sub_I_entry_asmjs_cpp:An,__GLOBAL__sub_I_entry_cpp:Nn,runPostSets:Uo,stackAlloc:kh,stackSave:lh,stackRestore:mh,establishStackSpace:nh,setThrew:oh,setTempRet0:rh,getTempRet0:sh,dynCall_viiiii:np,dynCall_vd:op,dynCall_vid:pp,dynCall_vi:qp,dynCall_vii:rp,dynCall_iiiiiii:sp,dynCall_ii:tp,dynCall_viiiiiiiiiii:up,dynCall_viddd:vp,dynCall_iiiiii:wp,dynCall_vidd:xp,dynCall_iiii:yp,dynCall_viiiiiiii:zp,dynCall_viiiiii:Ap,dynCall_viii:Bp,dynCall_vidddd:Cp,dynCall_vdi:Dp,dynCall_viiiiiii:Ep,dynCall_viiiiiiiii:Fp,dynCall_viiiiiiiiii:Gp,dynCall_iii:Hp,dynCall_i:Ip,dynCall_iiiii:Jp,dynCall_vdddddd:Kp,dynCall_vdddd:Lp,dynCall_vdd:Mp,dynCall_v:Np,dynCall_viid:Op,dynCall_viiii:Pp}})
|
|
|
|
|
|
// EMSCRIPTEN_END_ASM
|
|
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __GLOBAL__sub_I_metaballs_cpp=Module["__GLOBAL__sub_I_metaballs_cpp"]=asm["__GLOBAL__sub_I_metaballs_cpp"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _strlen=Module["_strlen"]=asm["_strlen"];var __GLOBAL__sub_I_entry_cpp=Module["__GLOBAL__sub_I_entry_cpp"]=asm["__GLOBAL__sub_I_entry_cpp"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _strstr=Module["_strstr"]=asm["_strstr"];var __GLOBAL__sub_I_entry_asmjs_cpp=Module["__GLOBAL__sub_I_entry_asmjs_cpp"]=asm["__GLOBAL__sub_I_entry_asmjs_cpp"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _strncpy=Module["_strncpy"]=asm["_strncpy"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=asm["_emscripten_GetProcAddress"];var _strcpy=Module["_strcpy"]=asm["_strcpy"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vd=Module["dynCall_vd"]=asm["dynCall_vd"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viddd=Module["dynCall_viddd"]=asm["dynCall_viddd"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_vidddd=Module["dynCall_vidddd"]=asm["dynCall_vidddd"];var dynCall_vdi=Module["dynCall_vdi"]=asm["dynCall_vdi"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_vdddddd=Module["dynCall_vdddddd"]=asm["dynCall_vdddddd"];var dynCall_vdddd=Module["dynCall_vdddd"]=asm["dynCall_vdddd"];var dynCall_vdd=Module["dynCall_vdd"]=asm["dynCall_vdd"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(str.charAt(0)=="-"){return goog.math.Long.fromString(str.substring(1),radix).negate()}else if(str.indexOf("-")>=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i<str.length;i+=8){var size=Math.min(8,str.length-i);var value=parseInt(str.substring(i,i+size),radix);if(size<8){var power=goog.math.Long.fromNumber(Math.pow(radix,size));result=result.multiply(power).add(goog.math.Long.fromNumber(value))}else{result=result.multiply(radixToPower);result=result.add(goog.math.Long.fromNumber(value))}}return result});goog.math.Long.TWO_PWR_16_DBL_=1<<16;goog.math.Long.TWO_PWR_24_DBL_=1<<24;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2;goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.ZERO=goog.math.Long.fromInt(0);goog.math.Long.ONE=goog.math.Long.fromInt(1);goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1);goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(4294967295|0,2147483647|0);goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,2147483648|0);goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24);goog.math.Long.prototype.toInt=(function(){return this.low_});goog.math.Long.prototype.toNumber=(function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()});goog.math.Long.prototype.toString=(function(opt_radix){var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(this.isZero()){return"0"}if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var radixLong=goog.math.Long.fromNumber(radix);var div=this.div(radixLong);var rem=div.multiply(radixLong).subtract(this);return div.toString(radix)+rem.toInt().toString(radix)}else{return"-"+this.negate().toString(radix)}}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,6));var rem=this;var result="";while(true){var remDiv=rem.div(radixToPower);var intval=rem.subtract(remDiv.multiply(radixToPower)).toInt();var digits=intval.toString(radix);rem=remDiv;if(rem.isZero()){return digits+result}else{while(digits.length<6){digits="0"+digits}result=""+digits+result}}});goog.math.Long.prototype.getHighBits=(function(){return this.high_});goog.math.Long.prototype.getLowBits=(function(){return this.low_});goog.math.Long.prototype.getLowBitsUnsigned=(function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<<bit)!=0){break}}return this.high_!=0?bit+33:bit+1}});goog.math.Long.prototype.isZero=(function(){return this.high_==0&&this.low_==0});goog.math.Long.prototype.isNegative=(function(){return this.high_<0});goog.math.Long.prototype.isOdd=(function(){return(this.low_&1)==1});goog.math.Long.prototype.equals=(function(other){return this.high_==other.high_&&this.low_==other.low_});goog.math.Long.prototype.notEquals=(function(other){return this.high_!=other.high_||this.low_!=other.low_});goog.math.Long.prototype.lessThan=(function(other){return this.compare(other)<0});goog.math.Long.prototype.lessThanOrEqual=(function(other){return this.compare(other)<=0});goog.math.Long.prototype.greaterThan=(function(other){return this.compare(other)>0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<<numBits,high<<numBits|low>>>32-numBits)}else{return goog.math.Long.fromBits(0,low<<numBits-32)}}});goog.math.Long.prototype.shiftRight=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<<dbits)-1;BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";var BI_RC=new Array;var rr,vv;rr="0".charCodeAt(0);for(vv=0;vv<=9;++vv)BI_RC[rr++]=vv;rr="a".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;rr="A".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return c==null?-1:c}function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<<this.DB-sh)-1)<<sh;this[this.t++]=x>>this.DB-sh}else this[this.t-1]|=x<<sh;sh+=k;if(sh>=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<<this.DB-sh)-1<<sh}this.clamp();if(mi)BigInteger.ZERO.subTo(this,this)}function bnpClamp(){var c=this.s&this.DM;while(this.t>0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<<k)-1,d,m=false,r="",i=this.t;var p=this.DB-i*this.DB%k;if(i-->0){if(p<this.DB&&(d=this[i]>>p)>0){m=true;r=int2char(d)}while(i>=0){if(p<k){d=(this[i]&(1<<p)-1)<<k-p;d|=this[--i]>>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r[i-n]=this[i];r.t=Math.max(this.t-n,0);r.s=this.s}function bnpLShiftTo(n,r){var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<cbs)-1;var ds=Math.floor(n/this.DB),c=this.s<<bs&this.DM,i;for(i=this.t-1;i>=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<<bs}for(i=ds-1;i>=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<bs)-1;r[0]=this[ds]>>bs;for(var i=ds+1;i<this.t;++i){r[i-ds-1]|=(this[i]&bm)<<cbs;r[i-ds]=this[i]>>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<<cbs;r.t=this.t-ds;r.clamp()}function bnpSubTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]-a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c-=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c-=a[i];r[i++]=c&this.DM;c>>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i<y.t;++i)r[i+x.t]=x.am(0,y[i],r,i,0,x.t);r.s=0;r.clamp();if(this.s!=a.s)BigInteger.ZERO.subTo(r,r)}function bnpSquareTo(r){var x=this.abs();var i=r.t=2*x.t;while(--i>=0)r[i]=0;for(i=0;i<x.t-1;++i){var c=x.am(i,x[i],r,2*i,0,1);if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1))>=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t<pm.t){if(q!=null)q.fromInt(0);if(r!=null)this.copyTo(r);return}if(r==null)r=nbi();var y=nbi(),ts=this.s,ms=m.s;var nsh=this.DB-nbits(pm[pm.t-1]);if(nsh>0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<<this.F1)+(ys>1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<<this.F1)/yt,e=1<<this.F2;var i=r.t,j=i-ys,t=q==null?nbi():q;y.dlShiftTo(j,t);if(r.compareTo(t)>=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t<ys)y[y.t++]=0;while(--j>=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))<qd){y.dlShiftTo(j,t);r.subTo(t,r);while(r[i]<--qd)r.subTo(t,r)}}if(q!=null){r.drShiftTo(ys,q);if(ts!=ms)BigInteger.ZERO.subTo(q,q)}r.t=ys;r.clamp();if(nsh>0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<m.DB-15)-1;this.mt2=2*m.t}function montConvert(x){var r=nbi();x.abs().dlShiftTo(this.m.t,r);r.divRemTo(this.m,null,r);if(x.s<0&&r.compareTo(BigInteger.ZERO)>0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i<this.m.t;++i){var j=x[i]&32767;var u0=j*this.mpl+((j*this.mph+(x[i]>>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<<i)>0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i<s.length;++i){var x=intAt(s,i);if(x<0){if(s.charAt(i)=="-"&&this.signum()==0)mi=true;continue}w=b*w+x;if(++j>=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpAddTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]+a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c+=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c+=a[i];r[i++]=c&this.DM;c>>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();if(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,STATIC_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")});var request=Module["memoryInitializerRequest"];if(request){if(request.response){setTimeout((function(){applyMemoryInitializer(request.response)}),0)}else{request.addEventListener("load",(function(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status)}if(!request.response||typeof request.response!=="object"||!request.response.byteLength){console.warn("a problem seems to have happened with Module.memoryInitializerRequest response (expected ArrayBuffer): "+request.response)}applyMemoryInitializer(request.response)}))}}else{Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}}}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 preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);initialStackTop=STACKTOP;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();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(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}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"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=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}run()
|
|
|
|
|
|
|
|
|