mirror of
https://git.mirrors.martin98.com/https://github.com/google/draco
synced 2025-04-21 21:30:01 +08:00

Improved compression for smaller meshes Enhancements for upcoming Draco glTF2.0 extension Fixed Android build issues New, easier to use DRACOLoader.js
31 lines
1.1 MiB
31 lines
1.1 MiB
var DracoDecoderModule = function(DracoDecoderModule) {
|
|
DracoDecoderModule = DracoDecoderModule || {};
|
|
var Module = DracoDecoderModule;
|
|
|
|
var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};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 shell_read(){throw"no read() available"}}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}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}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]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(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]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(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=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}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 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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}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*[a-zA-Z$_0-9]*\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=null;function ensureJSsource(){if(!JSsource){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){ensureJSsource();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){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();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)}}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}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,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}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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(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)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";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){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];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"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+27888;__ATINIT__.push();allocate([52,24,0,0,183,24,0,0,92,24,0,0,144,24,0,0,8,0,0,0,0,0,0,0,92,24,0,0,212,24,0,0,8,0,0,0,0,0,0,0,92,24,0,0,253,24,0,0,64,0,0,0,0,0,0,0,52,24,0,0,25,25,0,0,92,24,0,0,233,26,0,0,48,0,0,0,0,0,0,0,52,24,0,0,11,27,0,0,92,24,0,0,48,27,0,0,48,0,0,0,0,0,0,0,92,24,0,0,112,40,0,0,88,0,0,0,0,0,0,0,92,24,0,0,96,27,0,0,144,0,0,0,0,0,0,0,92,24,0,0,185,27,0,0,160,0,0,0,0,0,0,0,92,24,0,0,13,28,0,0,176,0,0,0,0,0,0,0,92,24,0,0,65,28,0,0,192,0,0,0,0,0,0,0,52,24,0,0,108,28,0,0,92,24,0,0,144,28,0,0,216,0,0,0,0,0,0,0,52,24,0,0,46,29,0,0,92,24,0,0,119,30,0,0,240,0,0,0,0,0,0,0,92,24,0,0,15,31,0,0,144,0,0,0,0,0,0,0,92,24,0,0,152,31,0,0,240,0,0,0,0,0,0,0,92,24,0,0,50,32,0,0,240,0,0,0,0,0,0,0,92,24,0,0,196,32,0,0,240,0,0,0,0,0,0,0,92,24,0,0,106,33,0,0,240,0,0,0,0,0,0,0,92,24,0,0,5,34,0,0,240,0,0,0,0,0,0,0,92,24,0,0,155,34,0,0,96,1,0,0,0,0,0,0,52,24,0,0,70,35,0,0,92,24,0,0,241,35,0,0,120,1,0,0,0,0,0,0,92,24,0,0,150,36,0,0,144,0,0,0,0,0,0,0,92,24,0,0,44,37,0,0,120,1,0,0,0,0,0,0,92,24,0,0,211,37,0,0,120,1,0,0,0,0,0,0,92,24,0,0,114,38,0,0,120,1,0,0,0,0,0,0,92,24,0,0,37,39,0,0,120,1,0,0,0,0,0,0,92,24,0,0,205,39,0,0,120,1,0,0,0,0,0,0,92,24,0,0,240,77,0,0,112,0,0,0,0,0,0,0,92,24,0,0,21,45,0,0,248,1,0,0,0,0,0,0,92,24,0,0,134,45,0,0,160,0,0,0,0,0,0,0,92,24,0,0,179,47,0,0,24,2,0,0,0,0,0,0,52,24,0,0,105,48,0,0,92,24,0,0,208,50,0,0,48,2,0,0,0,0,0,0,92,24,0,0,128,51,0,0,248,1,0,0,0,0,0,0,92,24,0,0,193,52,0,0,48,2,0,0,0,0,0,0,92,24,0,0,10,54,0,0,48,2,0,0,0,0,0,0,92,24,0,0,180,54,0,0,48,2,0,0,0,0,0,0,92,24,0,0,114,55,0,0,48,2,0,0,0,0,0,0,92,24,0,0,37,56,0,0,48,2,0,0,0,0,0,0,92,24,0,0,211,56,0,0,160,2,0,0,0,0,0,0,52,24,0,0,150,57,0,0,92,24,0,0,89,58,0,0,184,2,0,0,0,0,0,0,92,24,0,0,22,59,0,0,248,1,0,0,0,0,0,0,92,24,0,0,196,59,0,0,184,2,0,0,0,0,0,0,92,24,0,0,131,60,0,0,184,2,0,0,0,0,0,0,92,24,0,0,58,61,0,0,184,2,0,0,0,0,0,0,92,24,0,0,5,62,0,0,184,2,0,0,0,0,0,0,92,24,0,0,197,62,0,0,184,2,0,0,0,0,0,0,92,24,0,0,128,63,0,0,40,3,0,0,0,0,0,0,92,24,0,0,204,63,0,0,56,3,0,0,0,0,0,0,52,24,0,0,20,64,0,0,92,24,0,0,243,64,0,0,80,3,0,0,0,0,0,0,92,24,0,0,87,65,0,0,160,0,0,0,0,0,0,0,92,24,0,0,182,65,0,0,112,3,0,0,0,0,0,0,52,24,0,0,95,66,0,0,92,24,0,0,8,67,0,0,136,3,0,0,0,0,0,0,92,24,0,0,171,67,0,0,80,3,0,0,0,0,0,0,92,24,0,0,63,68,0,0,136,3,0,0,0,0,0,0,92,24,0,0,228,68,0,0,136,3,0,0,0,0,0,0,92,24,0,0,129,69,0,0,136,3,0,0,0,0,0,0,92,24,0,0,50,70,0,0,136,3,0,0,0,0,0,0,92,24,0,0,216,70,0,0,136,3,0,0,0,0,0,0,92,24,0,0,121,71,0,0,248,3,0,0,0,0,0,0,52,24,0,0,47,72,0,0,92,24,0,0,229,72,0,0,16,4,0,0,0,0,0,0,92,24,0,0,149,73,0,0,80,3,0,0,0,0,0,0,92,24,0,0,54,74,0,0,16,4,0,0,0,0,0,0,92,24,0,0,232,74,0,0,16,4,0,0,0,0,0,0,92,24,0,0,146,75,0,0,16,4,0,0,0,0,0,0,92,24,0,0,80,76,0,0,16,4,0,0,0,0,0,0,92,24,0,0,3,77,0,0,16,4,0,0,0,0,0,0,92,24,0,0,177,77,0,0,56,3,0,0,0,0,0,0,92,24,0,0,27,78,0,0,112,0,0,0,0,0,0,0,92,24,0,0,179,78,0,0,80,5,0,0,0,0,0,0,92,24,0,0,201,78,0,0,144,4,0,0,0,0,0,0,92,24,0,0,183,81,0,0,8,5,0,0,0,0,0,0,52,24,0,0,234,78,0,0,92,24,0,0,50,79,0,0,216,4,0,0,0,0,0,0,52,24,0,0,252,79,0,0,52,24,0,0,22,80,0,0,92,24,0,0,81,80,0,0,216,4,0,0,0,0,0,0,92,24,0,0,250,80,0,0,216,4,0,0,0,0,0,0,52,24,0,0,3,82,0,0,92,24,0,0,49,82,0,0,8,5,0,0,0,0,0,0,92,24,0,0,135,82,0,0,8,5,0,0,0,0,0,0,92,24,0,0,244,82,0,0,144,4,0,0,0,0,0,0,92,24,0,0,218,82,0,0,216,4,0,0,0,0,0,0,52,24,0,0,20,83,0,0,92,24,0,0,71,84,0,0,80,5,0,0,0,0,0,0,92,24,0,0,105,84,0,0,80,5,0,0,0,0,0,0,92,24,0,0,117,85,0,0,136,5,0,0,0,0,0,0,52,24,0,0,122,86,0,0,52,24,0,0,247,100,0,0,92,24,0,0,87,101,0,0,168,5,0,0,0,0,0,0,92,24,0,0,4,101,0,0,184,5,0,0,0,0,0,0,52,24,0,0,37,101,0,0,92,24,0,0,50,101,0,0,152,5,0,0,0,0,0,0,92,24,0,0,72,102,0,0,144,5,0,0,0,0,0,0,92,24,0,0,121,102,0,0,168,5,0,0,0,0,0,0,92,24,0,0,85,102,0,0,224,5,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,72,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,9,0,0,0,5,0,0,0,0,0,0,0,88,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,192,0,0,0,0,96,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,12,0,0,0,13,0,0,0,6,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,19,0,0,0,0,0,0,0,144,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,16,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,14,0,0,0,17,0,0,0,14,0,0,0,8,0,0,0,15,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,2,0,0,0,0,0,0,0,48,1,0,0,14,0,0,0,18,0,0,0,16,0,0,0,8,0,0,0,17,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,3,0,0,0,0,0,0,0,32,1,0,0,19,0,0,0,20,0,0,0,18,0,0,0,8,0,0,0,19,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,0,0,0,0,16,1,0,0,21,0,0,0,22,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,24,0,0,0,25,0,0,0,10,0,0,0,11,0,0,0,26,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,23,0,0,0,24,0,0,0,23,0,0,0,8,0,0,0,24,0,0,0,25,0,0,0,27,0,0,0,28,0,0,0,10,0,0,0,11,0,0,0,29,0,0,0,6,0,0,0,0,0,0,0,224,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,8,0,0,0,27,0,0,0,28,0,0,0,30,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,32,0,0,0,7,0,0,0,0,0,0,0,200,0,0,0,27,0,0,0,28,0,0,0,33,0,0,0,29,0,0,0,2,0,0,0,0,0,0,0,200,1,0,0,14,0,0,0,29,0,0,0,30,0,0,0,8,0,0,0,31,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,184,1,0,0,14,0,0,0,30,0,0,0,32,0,0,0,8,0,0,0,33,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,9,0,0,0,0,0,0,0,168,1,0,0,31,0,0,0,32,0,0,0,34,0,0,0,8,0,0,0,35,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,10,0,0,0,0,0,0,0,152,1,0,0,33,0,0,0,34,0,0,0,36,0,0,0,8,0,0,0,37,0,0,0,38,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,11,0,0,0,37,0,0,0,11,0,0,0,0,0,0,0,136,1,0,0,35,0,0,0,36,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,41,0,0,0,38,0,0,0,39,0,0,0,10,0,0,0,11,0,0,0,40,0,0,0,12,0,0,0,0,0,0,0,104,1,0,0,37,0,0,0,38,0,0,0,42,0,0,0,8,0,0,0,43,0,0,0,44,0,0,0,41,0,0,0,42,0,0,0,10,0,0,0,11,0,0,0,43,0,0,0,13,0,0,0,0,0,0,0,80,1,0,0,39,0,0,0,40,0,0,0,44,0,0,0,45,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,12,0,0,0,41,0,0,0,9,0,0,0,10,0,0,0,3,0,0,0,10,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,11,0,0,0,2,0,0,0,46,0,0,0,45,0,0,0,0,0,0,0,112,4,0,0,42,0,0,0,43,0,0,0,47,0,0,0,0,0,0,0,24,3,0,0,42,0,0,0,44,0,0,0,48,0,0,0,0,0,0,0,232,1,0,0,45,0,0,0,46,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,14,0,0,0,0,0,0,0,128,2,0,0,45,0,0,0,47,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,15,0,0,0,0,0,0,0,112,2,0,0,45,0,0,0,48,0,0,0,57,0,0,0,50,0,0,0,58,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,16,0,0,0,0,0,0,0,96,2,0,0,49,0,0,0,50,0,0,0,59,0,0,0,50,0,0,0,60,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,49,0,0,0,17,0,0,0,0,0,0,0,80,2,0,0,51,0,0,0,52,0,0,0,61,0,0,0,50,0,0,0,62,0,0,0,63,0,0,0,50,0,0,0,51,0,0,0,53,0,0,0,54,0,0,0,52,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,53,0,0,0,54,0,0,0,64,0,0,0,50,0,0,0,65,0,0,0,66,0,0,0,53,0,0,0,54,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,19,0,0,0,0,0,0,0,32,2,0,0,55,0,0,0,56,0,0,0,67,0,0,0,50,0,0,0,68,0,0,0,69,0,0,0,56,0,0,0,57,0,0,0,53,0,0,0,54,0,0,0,58,0,0,0,20,0,0,0,0,0,0,0,8,2,0,0,57,0,0,0,58,0,0,0,59,0,0,0,70,0,0,0,4,0,0,0,0,0,0,0,8,3,0,0,45,0,0,0,59,0,0,0,71,0,0,0,50,0,0,0,72,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,21,0,0,0,0,0,0,0,248,2,0,0,45,0,0,0,60,0,0,0,73,0,0,0,50,0,0,0,74,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,22,0,0,0,0,0,0,0,232,2,0,0,61,0,0,0,62,0,0,0,75,0,0,0,50,0,0,0,76,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,60,0,0,0,23,0,0,0,0,0,0,0,216,2,0,0,63,0,0,0,64,0,0,0,77,0,0,0,50,0,0,0,78,0,0,0,79,0,0,0,61,0,0,0,62,0,0,0,53,0,0,0,54,0,0,0,63,0,0,0,24,0,0,0,0,0,0,0,200,2,0,0,65,0,0,0,66,0,0,0,80,0,0,0,50,0,0,0,81,0,0,0,82,0,0,0,64,0,0,0,65,0,0,0,53,0,0,0,54,0,0,0,66,0,0,0,25,0,0,0,0,0,0,0,168,2,0,0,67,0,0,0,68,0,0,0,83,0,0,0,50,0,0,0,84,0,0,0,85,0,0,0,67,0,0,0,68,0,0,0,53,0,0,0,54,0,0,0,69,0,0,0,26,0,0,0,0,0,0,0,144,2,0,0,69,0,0,0,70,0,0,0,70,0,0,0,86,0,0,0,5,0,0,0,0,0,0,0,64,3,0,0,71,0,0,0,72,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,27,0,0,0,0,0,0,0,216,3,0,0,71,0,0,0,73,0,0,0,93,0,0,0,88,0,0,0,94,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,28,0,0,0,0,0,0,0,200,3,0,0,71,0,0,0,74,0,0,0,95,0,0,0,88,0,0,0,96,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,29,0,0,0,0,0,0,0,184,3,0,0,75,0,0,0,76,0,0,0,97,0,0,0,88,0,0,0,98,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,74,0,0,0,30,0,0,0,0,0,0,0,168,3,0,0,77,0,0,0,78,0,0,0,99,0,0,0,88,0,0,0,100,0,0,0,101,0,0,0,75,0,0,0,76,0,0,0,91,0,0,0,92,0,0,0,77,0,0,0,31,0,0,0,0,0,0,0,152,3,0,0,79,0,0,0,80,0,0,0,102,0,0,0,88,0,0,0,103,0,0,0,104,0,0,0,78,0,0,0,79,0,0,0,91,0,0,0,92,0,0,0,80,0,0,0,32,0,0,0,0,0,0,0,120,3,0,0,81,0,0,0,82,0,0,0,105,0,0,0,88,0,0,0,106,0,0,0,107,0,0,0,81,0,0,0,82,0,0,0,91,0,0,0,92,0,0,0,83,0,0,0,33,0,0,0,0,0,0,0,96,3,0,0,83,0,0,0,84,0,0,0,84,0,0,0,108,0,0,0,6,0,0,0,0,0,0,0,96,4,0,0,71,0,0,0,85,0,0,0,109,0,0,0,88,0,0,0,110,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,34,0,0,0,0,0,0,0,80,4,0,0,71,0,0,0,86,0,0,0,111,0,0,0,88,0,0,0,112,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,35,0,0,0,0,0,0,0,64,4,0,0,87,0,0,0,88,0,0,0,113,0,0,0,88,0,0,0,114,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,85,0,0,0,36,0,0,0,0,0,0,0,48,4,0,0,89,0,0,0,90,0,0,0,115,0,0,0,88,0,0,0,116,0,0,0,117,0,0,0,86,0,0,0,87,0,0,0,91,0,0,0,92,0,0,0,88,0,0,0,37,0,0,0,0,0,0,0,32,4,0,0,91,0,0,0,92,0,0,0,118,0,0,0,88,0,0,0,119,0,0,0,120,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,91,0,0,0,38,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,94,0,0,0,121,0,0,0,88,0,0,0,122,0,0,0,123,0,0,0,92,0,0,0,93,0,0,0,91,0,0,0,92,0,0,0,94,0,0,0,39,0,0,0,0,0,0,0,232,3,0,0,95,0,0,0,96,0,0,0,95,0,0,0,124,0,0,0,7,0,0,0,0,0,0,0,128,4,0,0,97,0,0,0,98,0,0,0,12,0,0,0,10,0,0,0,3,0,0,0,13,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,14,0,0,0,1,0,0,0,7,0,0,0,96,0,0,0,125,0,0,0,97,0,0,0,0,0,0,0,144,4,0,0,99,0,0,0,100,0,0,0,126,0,0,0,127,0,0,0,1,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,98,0,0,0,99,0,0,0,1,0,0,0,0,0,0,0,160,4,0,0,101,0,0,0,102,0,0,0,126,0,0,0,133,0,0,0,100,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,134,0,0,0,135,0,0,0,101,0,0,0,102,0,0,0,136,0,0,0,0,0,0,0,176,4,0,0,103,0,0,0,104,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,137,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,0,0,0,0,200,4,0,0,105,0,0,0,106,0,0,0,107,0,0,0,141,0,0,0,0,0,0,0,192,4,0,0,107,0,0,0,108,0,0,0,109,0,0,0,0,0,0,192,0,0,0,0,232,4,0,0,110,0,0,0,111,0,0,0,108,0,0,0,142,0,0,0,0,0,0,0,224,4,0,0,112,0,0,0,113,0,0,0,114,0,0,0,0,0,0,0,248,4,0,0,115,0,0,0,116,0,0,0,109,0,0,0,143,0,0,0,0,0,0,0,16,5,0,0,117,0,0,0,118,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,144,0,0,0,145,0,0,0,146,0,0,0,147,0,0,0,0,0,0,0,32,5,0,0,119,0,0,0,120,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,148,0,0,0,149,0,0,0,150,0,0,0,151,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,0,0,0,0,48,5,0,0,99,0,0,0,121,0,0,0,126,0,0,0,127,0,0,0,118,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,98,0,0,0,99,0,0,0,152,0,0,0,0,0,0,0,64,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,153,0,0,0,0,0,0,0,80,5,0,0,99,0,0,0,124,0,0,0,154,0,0,0,127,0,0,0,1,0,0,0,155,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,88,5,0,0,99,0,0,0,125,0,0,0,154,0,0,0,127,0,0,0,120,0,0,0,156,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,104,5,0,0,99,0,0,0,126,0,0,0,154,0,0,0,127,0,0,0,121,0,0,0,157,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,120,5,0,0,127,0,0,0,128,0,0,0,8,0,0,0,3,0,0,0,158,0,0,0,129,0,0,0,9,0,0,0,0,0,0,192,0,0,0,0,136,5,0,0,130,0,0,0,131,0,0,0,10,0,0,0,4,0,0,0,158,0,0,0,129,0,0,0,11,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,56,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,228,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,16,0,0,0,236,104,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,2,0,0,0,238,100,0,0,0,0,0,0,152,5,0,0,132,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,192,5,0,0,132,0,0,0,136,0,0,0,134,0,0,0,135,0,0,0,19,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,208,5,0,0,137,0,0,0,138,0,0,0,160,0,0,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,69,0,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0,40,118,97,108,46,115,105,122,101,40,41,41,32,61,61,32,40,100,105,109,101,110,115,105,111,110,95,116,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,100,101,99,111,100,101,114,46,99,99,0,111,112,101,114,97,116,111,114,61,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,40,105,110,95,115,41,32,62,61,32,40,48,41,0,79,99,116,97,104,101,114,100,97,108,67,111,111,114,100,115,84,111,85,110,105,116,86,101,99,116,111,114,0,40,105,110,95,116,41,32,62,61,32,40,48,41,0,40,105,110,95,115,41,32,60,61,32,40,49,41,0,40,105,110,95,116,41,32,60,61,32,40,49,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,99,97,110,111,110,105,99,97,108,105,122,101,100,95,100,101,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,49,93,41,0,40,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,100,101,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,95,112,111,114,116,97,98,108,101,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,0,78,53,100,114,97,99,111,53,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,78,53,100,114,97,99,111,52,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,100,101,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,0,78,53,100,114,97,99,111,51,50,83,101,113,117,101,110,116,105,97,108,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,109,101,115,104,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,112,111,105,110,116,32,99,108,111,117,100,46,0,115,107,105,112,95,97,116,116,114,105,98,117,116,101,95,116,114,97,110,115,102,111,114,109,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,49,53,80,111,105],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,53,80,114,101,100,105,99,116,105,111,110,68,101,103,114,101,101,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,69,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,56,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,86,97,108,101,110,99,101,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,68,114,97,99,111,32,104,101,97,100,101,114,46,0,68,82,65,67,79,0,78,111,116,32,97,32,68,114,97,99,111,32,102,105,108,101,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,85,115,105,110,103,32,105,110,99,111,109,112,97,116,105,98,108,101,32,100,101,99,111,100,101,114,32,102,111,114,32,116,104,101,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,85,110,107,110,111,119,110,32,109,97,106,111,114,32,118,101,114,115,105,111,110,46,0,85,110,107,110,111,119,110,32,109,105,110,111,114,32,118,101,114,115,105,111,110,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,100,101,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,37,100,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,100,101,99,111,100,101,114,95,98,117,102,102,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,100,101,99,111,100,101,114,46,99,99,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,100,121,110,97,109,105,99,95,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,68,101,99,111,100,101,73,110,116,101,114,110,97,108,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,100,105,114,101,99,116,95,98,105,116,95,100,101,99,111,100,101,114,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,110,97,109,101,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,62,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,83,116,57,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}Module["_i64Add"]=_i64Add;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_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___divdi3"]=___divdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}Module["___uremdi3"]=___uremdi3;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["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;Module["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;Module["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;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"_pthread_key_create":_pthread_key_create,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall54":___syscall54,"___syscall140":___syscall140,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___assert_fail":___assert_fail,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
|
|
var asm=(function(global,env,buffer) {
|
|
"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env._pthread_setspecific;var sa=env.___cxa_throw;var ta=env.___gxx_personality_v0;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env._pthread_key_create;var za=env.___syscall146;var Aa=env._pthread_once;var Ba=env._emscripten_memcpy_big;var Ca=env.___syscall54;var Da=env.___syscall140;var Ea=env.___resumeException;var Fa=env.___cxa_find_matching_catch;var Ga=env.___assert_fail;var Ha=env.___cxa_pure_virtual;var Ia=env.___cxa_allocate_exception;var Ja=env.__ZSt18uncaught_exceptionv;var Ka=$(0);const La=$(0);function Ma(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true}
|
|
// EMSCRIPTEN_START_FUNCS
|
|
function Oe(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}n=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)Ns(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)g=c&m;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){b:do if(n){l=i;j=c;while(1){c=e;while(1){k=f[c+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}else{l=i;j=c;while(1){c=e;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}while(0);f[e>>2]=h;e=f[c>>2]|0;if(!e){c=34;break}else i=c}if((c|0)==34)return}function Pe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ns(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}n=Xo(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)Ns(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(n)g=d&m;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){b:do if(n){l=i;j=d;while(1){d=e;while(1){k=f[d+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}else{l=i;j=d;while(1){d=e;while(1){k=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}while(0);f[e>>2]=h;e=f[d>>2]|0;if(!e){d=34;break}else i=d}if((d|0)==34)return}function Qe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535)<<16>>16;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;i=i+4|0;i=lp(zp(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0,h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24|0,48)|0,I|0,48)|0;j=d;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}m=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Ns(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function Se(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,2,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8)<<16>>16);k=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;e=v+24|0;q=v+20|0;t=v+8|0;s=v+4|0;m=v;f[e>>2]=0;_k(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(lf(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=v;return d|0}while(0);f[q>>2]=0;_k(q,f[a>>2]|0)|0;b:do if(!(f[q>>2]|0))d=1;else{i=0;while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;g=f[a>>2]|0;w=g+8|0;x=f[w+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(f[w>>2]|0)>>>0>d>>>0:0)?(l=b[(f[g>>2]|0)+d>>0]|0,j=sq(d|0,e|0,1,0)|0,p=h,f[p>>2]=j,f[p+4>>2]=I,p=l&255,bl(t,p,0),j=f[a>>2]|0,o=_m(t,0)|0,g=j+8|0,w=f[g>>2]|0,g=f[g+4>>2]|0,r=j+16|0,x=r,k=f[x>>2]|0,l=l&255,x=sq(k|0,f[x+4>>2]|0,l|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&w>>>0<x>>>0)):0){li(o|0,(f[j>>2]|0)+k|0,p|0)|0;w=r;w=sq(f[w>>2]|0,f[w+4>>2]|0,l|0,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=Xo(40)|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[x+16>>2]=$(1.0);w=x+20|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;n[x+36>>2]=$(1.0);f[s>>2]=x;if(Te(a,x)|0){d=f[s>>2]|0;f[s>>2]=0;f[m>>2]=d;Qh(c,t,m)|0;lk(m);d=0}else d=1;lk(s)}else d=1;wq(t);i=i+1|0;if(d|0){d=0;break b}if(i>>>0>=(f[q>>2]|0)>>>0){d=1;break}}}while(0);x=d;u=v;return x|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[b>>2]|0;d=(c|0)<0;b=c+1|0;do if(!d){b=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function Ve(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Si(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function We(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Vi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Xe(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Wi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ye(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Xi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ze(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Yi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function _e(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=_i(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function $e(a,c){a=a|0;c=c|0;var e=0,g=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;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(_k(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0<k>>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{Tj(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=sq(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Gk((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=sq(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=$i(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,2,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8)&65535);k=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function bf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{Tj(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Ks(r)|0;Gk(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Ls(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Ls(s);return 1}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i+2|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[d+4>>2]=j&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;j=Ep(i|0,j|0,16)|0;f[d+4>>2]=j&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=sq(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=_g(a,c,d)|0;return j|0}case 2:{j=_g(a,c,d)|0;return j|0}case 3:{j=_g(a,c,d)|0;return j|0}case 4:{j=_g(a,c,d)|0;return j|0}case 5:{j=_g(a,c,d)|0;return j|0}case 6:{j=_g(a,c,d)|0;return j|0}case 7:{j=_g(a,c,d)|0;return j|0}case 8:{j=_g(a,c,d)|0;return j|0}case 9:{j=Zg(a,c,d)|0;return j|0}case 10:{j=Xg(a,c,d)|0;return j|0}case 11:{j=Wg(a,c,d)|0;return j|0}case 12:{j=Vg(a,c,d)|0;return j|0}case 13:{j=Ug(a,c,d)|0;return j|0}case 14:{j=Tg(a,c,d)|0;return j|0}case 15:{j=Tg(a,c,d)|0;return j|0}case 16:{j=Tg(a,c,d)|0;return j|0}case 17:{j=Tg(a,c,d)|0;return j|0}case 18:{j=Tg(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=lp(0,h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24|0,32)|0;j=d;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function ff(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4580;d=a+376|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ss(b)}while((b|0)!=(c|0))}Ls(d)}Ss(a+360|0);Ss(a+320|0);Ss(a+304|0);Ss(a+264|0);ak(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Ns(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ns(b);b=f[a+132>>2]|0;if(b|0)Ns(b);b=f[a+120>>2]|0;if(b|0)Ns(b);b=f[a+108>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+60>>2]|0;if(b|0)Ns(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Ns(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Vk(b);Ns(b);return}function gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=b[g>>0];f[d+4>>2]=i<<24>>24;f[d+8>>2]=j<<24>>24;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;f[d+8>>2]=j<<8>>24;f[d+12>>2]=j>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=d;f[j>>2]=h[g>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=i&255;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;a=g;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,24)|0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,32)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function kf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=h[g>>0];f[d+4>>2]=i&255;f[d+8>>2]=j&255;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;f[d+8>>2]=j>>>16&255;f[d+12>>2]=j>>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function lf(a,c){a=a|0;c=c|0;var d=0,e=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;n=u;u=u+32|0;m=n+16|0;k=n+12|0;l=n;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=f[a>>2]|0;j=d+8|0;i=f[j+4>>2]|0;h=d+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(f[j>>2]|0)>>>0>g>>>0:0))){l=0;wq(m);u=n;return l|0}q=b[(f[d>>2]|0)+g>>0]|0;d=sq(g|0,e|0,1,0)|0;i=h;f[i>>2]=d;f[i+4>>2]=I;i=q&255;bl(m,i,0);d=f[a>>2]|0;h=_m(m,0)|0;r=d+8|0;p=f[r>>2]|0;r=f[r+4>>2]|0;j=d+16|0;o=j;e=f[o>>2]|0;g=q&255;o=sq(e|0,f[o+4>>2]|0,g|0,0)|0;q=I;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0<o>>>0){r=0;wq(m);u=n;return r|0}li(h|0,(f[d>>2]|0)+e|0,i|0)|0;i=j;i=sq(f[i>>2]|0,f[i+4>>2]|0,g|0,0)|0;d=j;f[d>>2]=i;f[d+4>>2]=I;f[k>>2]=0;_k(k,f[a>>2]|0)|0;d=f[k>>2]|0;f[l>>2]=0;i=l+4|0;f[i>>2]=0;f[l+8>>2]=0;if(!d)h=0;else{if((d|0)<0)xr(l);e=Xo(d)|0;f[i>>2]=e;f[l>>2]=e;f[l+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[k>>2]|0}d=f[a>>2]|0;o=d+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;r=g;e=f[r>>2]|0;r=sq(e|0,f[r+4>>2]|0,h|0,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0<r>>>0)e=0;else{li(f[l>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;r=g;r=sq(f[r>>2]|0,f[r+4>>2]|0,h|0,0)|0;e=g;f[e>>2]=r;f[e+4>>2]=I;so(c,m,l);e=1}d=f[l>>2]|0;if(d|0){if((f[i>>2]|0)!=(d|0))f[i>>2]=d;Ns(d)}r=e;wq(m);u=n;return r|0}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}j=$((b[c+e>>0]|0)!=0&1);n[d>>2]=j;n[d+4>>2]=$(0.0);i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;k=h[k>>0]|h[k+1>>0]<<8;j=$((k&255)<<24>>24!=0&1);n[d>>2]=j;j=$((k&65535)>255&1);n[d+4>>2]=j;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;k=b[i+1>>0]|0;j=$((b[i>>0]|0)!=0&1);n[d>>2]=j;j=$(k<<24>>24!=0&1);n[d+4>>2]=j;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=$((k&255)<<24>>24!=0&1);n[d>>2]=j;j=$((k&65280|0)!=0&1);n[d+4>>2]=j;k=1;return k|0}default:{k=0;return k|0}}return 0}function nf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;x=y+4|0;w=y;f[a+72>>2]=e;f[a+64>>2]=g;t=Ks(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)Ls(d);t=a+8|0;f[t>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);o=a+56|0;h=f[o>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;s=r>>2;if((r|0)<=0){u=y;return 1}q=a+16|0;n=a+32|0;r=a+12|0;p=a+20|0;i=h;h=0;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];Kc(a,x,c,h);m=X(h,e)|0;i=f[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((f[t>>2]|0)>0){j=0;do{d=f[i+(j<<2)>>2]|0;g=f[q>>2]|0;if((d|0)>(g|0)){k=f[n>>2]|0;f[k+(j<<2)>>2]=g}else{g=f[r>>2]|0;k=f[n>>2]|0;f[k+(j<<2)>>2]=(d|0)<(g|0)?g:d}j=j+1|0;d=f[t>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;g=m+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[q>>2]|0)){if((d|0)<(f[r>>2]|0)){d=(f[p>>2]|0)+d|0;z=24}}else{d=d-(f[p>>2]|0)|0;z=24}if((z|0)==24){z=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[t>>2]|0))}}h=h+1|0;if((h|0)>=(s|0))break;i=f[o>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=y;return 1}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=La,l=0;switch(b[a+24>>0]|0){case 1:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=sq(Wo(f[e>>2]|0,f[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=I;g=f[a>>2]|0;e=f[g>>2]|0;if(!((i|0)<0|((i|0)==0?c>>>0<((f[g+4>>2]|0)-e|0)>>>0:0))){i=0;return i|0}k=$(b[e+c>>0]|0);j=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:j;i=1;return i|0}case 2:{l=f[c>>2]|0;c=a+48|0;g=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,g|0,c|0)|0;g=sq(c|0,I|0,2,0)|0;l=I;i=f[a>>2]|0;e=f[i>>2]|0;if((l|0)>0|((l|0)==0?g>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$(((h[l>>0]|h[l+1>>0]<<8)&255)<<24>>24);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,3,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}j=$(b[e+c>>0]|0);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,4,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$(((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)&255)<<24>>24);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}default:{l=0;return l|0}}return 0}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,12)|0;n[d+12>>2]=$(0.0);j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function qf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;x=y+4|0;w=y;f[a+72>>2]=e;f[a+64>>2]=g;t=Ks(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)Ls(d);t=a+8|0;f[t>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);o=a+56|0;h=f[o>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;s=r>>2;if((r|0)<=0){u=y;return 1}q=a+16|0;n=a+32|0;r=a+12|0;p=a+20|0;i=h;h=0;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];Hc(a,x,c,h);m=X(h,e)|0;i=f[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((f[t>>2]|0)>0){j=0;do{d=f[i+(j<<2)>>2]|0;g=f[q>>2]|0;if((d|0)>(g|0)){k=f[n>>2]|0;f[k+(j<<2)>>2]=g}else{g=f[r>>2]|0;k=f[n>>2]|0;f[k+(j<<2)>>2]=(d|0)<(g|0)?g:d}j=j+1|0;d=f[t>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;g=m+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[q>>2]|0)){if((d|0)<(f[r>>2]|0)){d=(f[p>>2]|0)+d|0;z=24}}else{d=d-(f[p>>2]|0)|0;z=24}if((z|0)==24){z=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[t>>2]|0))}}h=h+1|0;if((h|0)>=(s|0))break;i=f[o>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=y;return 1}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,12)|0;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=La,l=0;switch(b[a+24>>0]|0){case 1:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=sq(Wo(f[e>>2]|0,f[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=I;g=f[a>>2]|0;e=f[g>>2]|0;if(!((i|0)<0|((i|0)==0?c>>>0<((f[g+4>>2]|0)-e|0)>>>0:0))){i=0;return i|0}k=$(h[e+c>>0]|0);j=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:j;i=1;return i|0}case 2:{l=f[c>>2]|0;c=a+48|0;g=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,g|0,c|0)|0;g=sq(c|0,I|0,2,0)|0;l=I;i=f[a>>2]|0;e=f[i>>2]|0;if((l|0)>0|((l|0)==0?g>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$((h[l>>0]|h[l+1>>0]<<8)&255);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,3,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}j=$(h[e+c>>0]|0);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,4,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)&255);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}default:{l=0;return l|0}}return 0}function tf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i+2|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;f[d+4>>2]=j<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=Ks((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{li(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ls(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=Ks((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{li(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ls(i);c=1;return c|0}case 4:{Dj(a,c);c=1;return c|0}case 3:{Dj(a,c);c=1;return c|0}case 6:{Ej(a,c);c=1;return c|0}case 5:{Ej(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=b[g>>0];f[d+4>>2]=i<<24>>24;f[d+8>>2]=j<<24>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;f[d+8>>2]=j<<8>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function wf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=h[g>>0];f[d+4>>2]=i&255;f[d+8>>2]=j&255;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;f[d+8>>2]=j>>>16&255;j=1;return j|0}default:{j=0;return j|0}}return 0}function yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;n[d+8>>2]=$(0.0);j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,12)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,12)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;a=g;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,24)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,24)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,12)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,12)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8)&255)<<24>>24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=b[c+e>>0]|0;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&255)<<24>>24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<<k&f[c>>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0<m>>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<<e);f[h>>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<<j-k:i>>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<<e;if(g>>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<<f[l>>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<<f[l>>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<<f[l>>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+16|0;q=r;f[i>>2]=0;do if((j[b+38>>1]|0)<514){k=b+8|0;l=f[k>>2]|0;k=f[k+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=sq(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&l>>>0<c>>>0){q=0;u=r;return q|0}else{l=(f[b>>2]|0)+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[i>>2]=l;k=g;f[k>>2]=c;f[k+4>>2]=d;c=l;break}}else if(_k(i,b)|0){c=f[i>>2]|0;break}else{q=0;u=r;return q|0}while(0);e=a+76|0;jg(e,c,0);is(q);if(lg(q,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((km(q)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);g=f[l>>2]|0;f[l>>2]=d?g|k:g&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}d=b+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;l=b+16|0;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=sq(e|0,g|0,4,0)|0;k=I;if(!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0<i>>>0)?(m=f[b>>2]|0,n=m+e|0,n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24,o=l,f[o>>2]=i,f[o+4>>2]=k,o=sq(e|0,g|0,8,0)|0,p=I,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0<o>>>0)):0){b=m+i|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;c=l;f[c>>2]=o;f[c+4>>2]=p;f[a+12>>2]=n;f[a+16>>2]=b;b=b+(1-n)|0;f[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(b&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ss(q);q=c;u=r;return q|0}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=sq(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0<q>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=sq(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0<r>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(lg(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(lg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];lb(a,r,n);r=1;u=p;return r|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=sq(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0<q>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=sq(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0<r>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(lg(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(lg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];pb(a,r,n);r=1;u=p;return r|0}function Hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=sq(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0<q>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=sq(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0<r>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(lg(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(lg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];mb(a,r,n);r=1;u=p;return r|0}function If(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Kf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=sq(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Wa[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Na[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Wa[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Sa[f[(f[j>>2]|0)+24>>2]&255](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Wa[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){Tj(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0<g>>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0;return a|0}function Lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+4194304|0;f[a+48>>2]=p;a=p>>>0<1073741824;u=q;return a|0}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+2097152|0;f[a+48>>2]=p;a=p>>>0<536870912;u=q;return a|0}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+1048576|0;f[a+48>>2]=p;a=p>>>0<268435456;u=q;return a|0}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+262144|0;f[a+48>>2]=p;a=p>>>0<67108864;u=q;return a|0}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+131072|0;f[a+48>>2]=p;a=p>>>0<33554432;u=q;return a|0}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+32768|0;f[a+48>>2]=p;a=p>>>0<8388608;u=q;return a|0}function Rf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=sq(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0<k>>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(vk(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=Ip(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=sq(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+16384|0;f[a+48>>2]=p;a=p>>>0<4194304;u=q;return a|0}function Sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=b[i+1>>0]|0;f[d>>2]=b[i>>0];f[d+4>>2]=j<<24>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Tf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Rb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function Uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=sq(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0<q>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=sq(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0<r>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(lg(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(lg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];jb(a,r,n);r=1;u=p;return r|0}function Vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=sq(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0<q>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=sq(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0<r>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(lg(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(lg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];nb(a,r,n);r=1;u=p;return r|0}function Wf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=sq(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0<q>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=sq(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0<r>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=sq(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(lg(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(lg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(mh(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];kb(a,r,n);r=1;u=p;return r|0}function Xf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4744;ol(a+240|0);ak(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Ns(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ns(b);b=f[a+132>>2]|0;if(b|0)Ns(b);b=f[a+120>>2]|0;if(b|0)Ns(b);b=f[a+108>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+60>>2]|0;if(b|0)Ns(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Ns(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Vk(b);Ns(b);return}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;a=g;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}_n(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<<e&f[c>>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0<m>>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<<c);f[g>>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<<j-n:i>>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<<e;if(h>>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<<f[l>>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<<f[l>>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<<f[l>>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function _f(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4792;mi(a+240|0);ak(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Ns(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ns(b);b=f[a+132>>2]|0;if(b|0)Ns(b);b=f[a+120>>2]|0;if(b|0)Ns(b);b=f[a+108>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+60>>2]|0;if(b|0)Ns(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Ns(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Vk(b);Ns(b);return}function $f(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Pb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<16>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<16>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=b[i+1>>0]|0;f[d>>2]=h[i>>0];f[d+4>>2]=j&255;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;j=1;return j|0}default:{j=0;return j|0}}return 0}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+16|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))Ga(11106,10407,250,11129);if((e|0)<(g|0))Ga(11141,10407,251,11129);h=0-e|0;if((i|0)<(h|0))Ga(11164,10407,252,11129);if((g|0)<(h|0))Ga(11188,10407,253,11129);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){vj(b+4|0,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+8>>2]|0)+e|0}else e=e-(f[b+8>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+8>>2]|0)+g|0}else g=g-(f[b+8>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}vj(b+4|0,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}j=$((b[c+e>>0]|0)!=0&1);n[d>>2]=j;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;j=$(((h[k>>0]|h[k+1>>0]<<8)&255)<<24>>24!=0&1);n[d>>2]=j;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}j=$((b[c+e>>0]|0)!=0&1);n[d>>2]=j;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;j=$(((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)&255)<<24>>24!=0&1);n[d>>2]=j;k=1;return k|0}default:{k=0;return k|0}}return 0}function fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=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,v=0,w=0,x=0,y=0;w=u;u=u+48|0;s=w+40|0;t=w+24|0;p=w+20|0;q=w+16|0;n=w;r=w+8|0;f[t>>2]=0;v=t+4|0;f[v>>2]=0;f[t+8>>2]=0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;o=c+16|0;e=o;m=f[e>>2]|0;e=f[e+4>>2]|0;g=sq(m|0,e|0,4,0)|0;i=I;a:do if((l|0)<(i|0)|(l|0)==(i|0)&k>>>0<g>>>0)i=0;else{j=f[c>>2]|0;x=j+m|0;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=o;f[y>>2]=g;f[y+4>>2]=i;b:do switch(x|0){case 3:{if(!((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>g>>>0)){i=0;break a}y=b[j+g>>0]|0;m=sq(m|0,e|0,5,0)|0;x=o;f[x>>2]=m;f[x+4>>2]=I;f[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(pc(a,c,t)|0)break b;else{i=0;break a}else{qn(6682,23,1,f[1293]|0)|0;i=0;break a}}case 2:{if(!(pc(a,c,t)|0)){i=0;break a}break}default:{qn(6706,24,1,f[1293]|0)|0;i=0;break a}}while(0);f[p>>2]=f[t>>2];f[q>>2]=f[v>>2];x=d;y=f[x+4>>2]|0;i=n;f[i>>2]=f[x>>2];f[i+4>>2]=y;f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];Hg(r,p,q,a,s);i=1}while(0);e=f[t>>2]|0;if(!e){u=w;return i|0}g=f[v>>2]|0;if((g|0)!=(e|0))f[v>>2]=g+(~(((g+-12-e|0)>>>0)/12|0)*12|0);Ns(e);u=w;return i|0}function gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8)&255;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=d;f[j>>2]=h[c+e>>0];f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;k=p+16|0;i=p;if((j[c+38>>1]|0)<514){o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;u=p;return a|0}o=b[(f[c>>2]|0)+e>>0]|0;m=sq(e|0,d|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if(o<<24>>24){a=0;u=p;return a|0}}g=0;do{_k(k,c)|0;d=f[k>>2]|0;if(d|0){e=a+60+(g*12|0)|0;jg(e,d,0);is(i);lg(i,c)|0;if(f[k>>2]|0){d=0;do{l=km(i)|0;o=(f[e>>2]|0)+(d>>>5<<2)|0;n=1<<(d&31);m=f[o>>2]|0;f[o>>2]=l?m|n:m&~n;d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}Ss(i)}g=g+1|0}while((g|0)<4);m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=c+16|0;e=o;d=f[e>>2]|0;e=f[e+4>>2]|0;n=sq(d|0,e|0,4,0)|0;g=I;if((m|0)<(g|0)|(m|0)==(g|0)&l>>>0<n>>>0){a=0;u=p;return a|0}i=f[c>>2]|0;k=i+d|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=o;f[c>>2]=n;f[c+4>>2]=g;d=sq(d|0,e|0,8,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&l>>>0<d>>>0){a=0;u=p;return a|0}c=i+n|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=d;f[o+4>>2]=e;f[a+12>>2]=k;f[a+16>>2]=c;c=c+(1-k)|0;f[a+20>>2]=c;d=(c|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(c&1|0){a=1;u=p;return a|0}f[e>>2]=d+-1;a=1;u=p;return a|0}function ig(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=Ks(s)|0;Gk(r|0,0,s|0)|0;s=a+8|0;Hj(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){Ls(r);return 1}l=p+12|0;m=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){wr(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;k=X(a,e)|0;if((d|0)>=0?(t=f[(f[l>>2]|0)+(d<<2)>>2]|0,(t|0)>=0):0){g=f[p>>2]|0;h=f[q>>2]|0;i=f[h+(f[g+(t<<2)>>2]<<2)>>2]|0;d=t+1|0;d=((d|0)%3|0|0)==0?t+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(m){d=0;do{f[r+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}Hj(s,r,b+(k<<2)|0,c+(k<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;Hj(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(k<<2)|0,c+(k<<2)|0)}a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}Ls(r);return 1}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0<d>>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){xr(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;Qj(o,e<<5>>>0<1073741823?(h>>>0<b>>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;_n(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Ns(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<<b;g=g+4|0;e=g;d=d-q|0}q=d>>>5;Gk(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<<b);g=g+4|0;e=g;d=d-q|0}q=d>>>5;Gk(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function kg(a,b){a=a|0;b=b|0;var c=0,d=La,e=La,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=La;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=Xo(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;Lj(a,b>>>0<c>>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function lg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;m=q;e=c+8|0;l=e;i=f[l+4>>2]|0;p=c+16|0;k=p;d=f[k>>2]|0;k=f[k+4>>2]|0;if(!((i|0)>(k|0)|((i|0)==(k|0)?(f[l>>2]|0)>>>0>d>>>0:0))){a=0;u=q;return a|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;g=p;d=f[g>>2]|0;g=f[g+4>>2]|0;i=sq(d|0,g|0,1,0)|0;l=p;f[l>>2]=i;f[l+4>>2]=I;if((j[c+38>>1]|0)<514){k=e;e=f[k>>2]|0;k=f[k+4>>2]|0;d=sq(d|0,g|0,5,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&e>>>0<d>>>0)d=0;else{i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[m>>2]=i;g=p;f[g>>2]=d;f[g+4>>2]=l;g=k;k=d;n=7}}else if(_k(m,c)|0){g=e;l=p;e=f[g>>2]|0;g=f[g+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;i=f[m>>2]|0;n=7}else d=0;a:do if((n|0)==7){n=Ip(e|0,g|0,k|0,l|0)|0;m=I;if(!(0>(m|0)|0==(m|0)&i>>>0>n>>>0)?(o=(f[c>>2]|0)+k|0,(i|0)>=1):0){f[a>>2]=o;e=i+-1|0;d=o+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((i|0)<2){d=0;break a}f[a+4>>2]=i+-2;d=o+i+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((i|0)<3){d=0;break a}f[a+4>>2]=i+-3;d=o+i+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}o=d+4096|0;f[a+8>>2]=o;if(o>>>0<=1048575){a=sq(k|0,l|0,i|0,0)|0;d=p;f[d>>2]=a;f[d+4>>2]=I;d=1}else d=0}else d=0}while(0);a=d;u=q;return a|0}function mg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=Ks(s)|0;Gk(r|0,0,s|0)|0;s=a+8|0;Kj(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){Ls(r);return 1}l=p+12|0;m=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){wr(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;k=X(a,e)|0;if((d|0)>=0?(t=f[(f[l>>2]|0)+(d<<2)>>2]|0,(t|0)>=0):0){g=f[p>>2]|0;h=f[q>>2]|0;i=f[h+(f[g+(t<<2)>>2]<<2)>>2]|0;d=t+1|0;d=((d|0)%3|0|0)==0?t+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(m){d=0;do{f[r+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}Kj(s,r,b+(k<<2)|0,c+(k<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;Kj(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(k<<2)|0,c+(k<<2)|0)}a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}Ls(r);return 1}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;m=p;k=Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0;if((k|0)<=0){a=1;o=1;o=a|o;u=p;return o|0}j=a+36|0;l=a+48|0;b=0;while(1){i=(Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0)+40|0;if(f[i>>2]|0){h=f[(f[(f[j>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;g=(Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0)+40|0;g=f[g>>2]|0;h=f[h+56>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;ql(m,20122,24);i=g+16|0;d=f[i>>2]|0;if(d){c=i;e=d;a:while(1){d=e;while(1){if((f[d+16>>2]|0)>=(h|0))break;d=f[d+4>>2]|0;if(!d)break a}e=f[d>>2]|0;if(!e){c=d;break}else c=d}if(((c|0)!=(i|0)?(n=c+20|0,(h|0)>=(f[c+16>>2]|0)):0)?(uj(n,m)|0)!=0:0)c=xl(n,m,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=xl(g,m,0)|0}wq(m);if(c){o=15;break}}i=f[(f[j>>2]|0)+(b<<2)>>2]|0;if(!(Wa[f[(f[i>>2]|0)+24>>2]&127](i,l)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(k|0)){b=1;c=1;o=18;break}}if((o|0)==15){a=f[(f[j>>2]|0)+(b<<2)>>2]|0;o=f[a+8>>2]|0;Ig(o,zi(a)|0);a=0;o=1;o=a|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function og(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=Ks(s)|0;Gk(r|0,0,s|0)|0;s=a+8|0;Hj(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){Ls(r);return 1}m=p+64|0;k=p+28|0;l=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){wr(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;j=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(w|0)>=0):0)?(v=f[k>>2]|0,i=f[q>>2]|0,t=f[i+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[i+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[i+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(a|0)&(u|0)<(a|0)&(v|0)<(a|0)):0){g=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(l){d=0;do{f[r+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}Hj(s,r,b+(j<<2)|0,c+(j<<2)|0)}else Hj(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0);a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}Ls(r);return 1}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=((h[j>>0]|h[j+1>>0]<<8)&65535)<<24>>24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}f[d>>2]=b[c+e>>0];j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<24>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)&255;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}f[d>>2]=h[c+e>>0];j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&255;j=1;return j|0}default:{j=0;return j|0}}return 0}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(mh(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];hb(a,q,n);q=1;u=o;return q|0}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(mh(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];fb(a,q,n);q=1;u=o;return q|0}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(lg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ub(a,q,n);q=1;u=o;return q|0}function vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(lg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];tb(a,q,n);q=1;u=o;return q|0}function wg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=Ks(s)|0;Gk(r|0,0,s|0)|0;s=a+8|0;Kj(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){Ls(r);return 1}m=p+64|0;k=p+28|0;l=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){wr(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;j=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(w|0)>=0):0)?(v=f[k>>2]|0,i=f[q>>2]|0,t=f[i+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[i+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[i+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(a|0)&(u|0)<(a|0)&(v|0)<(a|0)):0){g=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(l){d=0;do{f[r+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}Kj(s,r,b+(j<<2)|0,c+(j<<2)|0)}else Kj(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0);a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}Ls(r);return 1}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+16|0;p=q;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;o=b+16|0;d=o;c=f[d>>2]|0;d=sq(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0<d>>>0){p=0;u=q;return p|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=o;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){p=0;u=q;return p|0}jg(a+76|0,g,0);is(p);if(lg(p,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((km(p)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;r=1<<(d&31);s=f[j>>2]|0;f[j>>2]=e?s|r:s&~r;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;i=sq(e|0,g|0,4,0)|0;j=I;if(!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0<i>>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=o,f[m>>2]=i,f[m+4>>2]=j,m=sq(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0<m>>>0)):0){s=k+i|0;s=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;c=o;f[c>>2]=m;f[c+4>>2]=n;f[a+12>>2]=l;f[a+16>>2]=s;s=s+(1-l)|0;f[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(s&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ss(p);s=c;u=q;return s|0}function yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(mh(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];gb(a,q,n);q=1;u=o;return q|0}function zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(mh(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];eb(a,q,n);q=1;u=o;return q|0}function Ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(lg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];sb(a,q,n);q=1;u=o;return q|0}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=sq(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<p>>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=sq(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=sq(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0<q>>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=sq(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(lg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(mh(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];rb(a,q,n);q=1;u=o;return q|0}function Cg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(uc(a,c)|0)){a=0;u=m;return a|0}j=Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0<g>>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Jh(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=sq(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&15](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0;o=Wa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Na[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;h=l;c=a+40|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if(hi(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;i=a+8|0;m=i;k=a+16|0;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;m=Ip(f[m>>2]|0,f[m+4>>2]|0,c|0,d|0)|0;n=I;if(!(g>>>0>n>>>0|(g|0)==(n|0)&e>>>0>m>>>0)){m=sq(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;do if((j[a+38>>1]|0)<514){c=a+96|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if(hi(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;n=i;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;n=Ip(f[n>>2]|0,f[n+4>>2]|0,c|0,d|0)|0;m=I;if(!(g>>>0>m>>>0|(g|0)==(m|0)&e>>>0>n>>>0)){m=sq(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;break}}n=0;u=l;return n|0}else lg(a+80|0,a)|0;while(0);if(!(bk(a)|0)){n=0;u=l;return n|0}d=b;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));n=1;u=l;return n|0}}n=0;u=l;return n|0}function Eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Xo(124)|0;f[h+4>>2]=0;f[h>>2]=4676;f[h+12>>2]=4700;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=4700;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=4700;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;xi(l+8|0,c,i);Pa[f[(f[l>>2]|0)+8>>2]&255](l);f[m>>2]=f[j>>2];Oh(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Rh(h,m);f[a>>2]=g;f[l>>2]=4700;e=f[l+20>>2]|0;if(e|0)Ns(e);e=f[l+8>>2]|0;if(!e){fk(m);u=n;return}Ns(e);fk(m);u=n;return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(km((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else hk(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{hk(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(km((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else hk(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{hk(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Hg(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=La,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0;w=u;u=u+32|0;t=w+16|0;v=w;h=$(n[e+4>>2]);if(!(h>=$(0.0)))Ga(6731,6751,66,6871);s=(1<<f[e>>2])+-1|0;hr(t);pp(t,h,s);e=f[c>>2]|0;if((e|0)==(f[d>>2]|0)){t=g;t=f[t>>2]|0;g=g+4|0;g=f[g>>2]|0;v=a;d=v;f[d>>2]=t;v=v+4|0;f[v>>2]=g;u=w;return}p=t+4|0;q=v+4|0;r=v+8|0;j=g+4|0;l=f[g>>2]|0;o=l+84|0;k=l+68|0;m=l+40|0;l=l+64|0;i=f[j>>2]|0;do{B=(f[e>>2]|0)-s|0;c=(B|0)<0;y=$((c?0-B|0:B)|0);h=$(n[p>>2]);y=$(h*y);x=$(-y);A=$(n[t>>2]);y=$(A*(c?x:y));c=(f[e+4>>2]|0)-s|0;B=(c|0)<0;x=$(h*$((B?0-c|0:c)|0));z=$(-x);x=$(A*(B?z:x));B=(f[e+8>>2]|0)-s|0;c=(B|0)<0;h=$(h*$((c?0-B|0:B)|0));z=$(-h);h=$(A*(c?z:h));n[v>>2]=y;n[q>>2]=x;n[r>>2]=h;c=i;i=i+1|0;f[j>>2]=i;if(!(b[o>>0]|0))c=f[(f[k>>2]|0)+(c<<2)>>2]|0;C=m;B=f[C>>2]|0;c=Wo(c|0,((c|0)<0)<<31>>31|0,B|0,f[C+4>>2]|0)|0;li((f[f[l>>2]>>2]|0)+c|0,v|0,B|0)|0;e=e+12|0}while((e|0)!=(f[d>>2]|0));B=g;g=B;g=f[g>>2]|0;B=B+4|0;B=f[B>>2]|0;C=a;v=C;f[v>>2]=g;C=C+4|0;f[C>>2]=B;u=w;return}function Ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Xo(32)|0;hp(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(g);d=f[h>>2]|0}cm(a,d,0,0,0,0);d=a}else d=a;if(!(Ak(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))ih(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d);return}l=Xo(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)xr(e);k=Xo(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){li(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(g);return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Kg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Ga(22591,22607,59,22698);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(22708,22607,60,22698);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&255](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&255](b)|0;k=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;ad(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;$c(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=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;s=u;u=u+16|0;p=s+4|0;q=s;c=f[b>>2]|0;f[p>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){f[p+4>>2]=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{f[p+4>>2]=c;b=c}while(0);f[p+8>>2]=b;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((c|0)>=0?(f[(f[(f[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((f[k>>2]|0)!=(f[l>>2]|0)){g=0;do{if(km((f[j>>2]|0)+(g<<4)|0)|0){a=f[l>>2]|0;f[q>>2]=c;e=a+(g*116|0)+108|0;d=f[e>>2]|0;if(d>>>0<(f[a+(g*116|0)+112>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else hk(a+(g*116|0)+104|0,q)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,n=f[k>>2]|0,o=f[l>>2]|0,(n|0)!=(o|0)):0){a=o;d=n;i=0;do{e=a;f[q>>2]=c;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=c;f[h>>2]=g+4}else{hk(e+(i*116|0)+104|0,q);a=f[l>>2]|0;d=f[k>>2]|0}i=i+1|0}while(i>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[p+(b<<2)>>2]|0}u=s;return 1}function Mg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Ga(22591,22607,59,22698);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(22708,22607,60,22698);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&255](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&255](b)|0;k=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;cd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;bd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(b)if(d>>>0>1073741823){xr(m);o=Ia(4)|0;ps(o);sa(o|0,1488,137)}else{j=b*12|0;c=Xo(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;Gk(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(yk(d,1,f[a+32>>2]|0,c)|0)if((b|0)>0){h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))Oj(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if((e|0)>=(b|0)){a=1;break}else k=k+3|0}}else a=1;else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c);u=o;return a|0}function Og(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Ga(22591,22607,59,22698);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(22708,22607,60,22698);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&255](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&255](b)|0;k=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Fc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Ec(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;c=h;g=Xo(52)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);d=g+20|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;n[g+36>>2]=$(1.0);f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;d=g;ls(e);if(!(ji(e,f[b+32>>2]|0,g)|0)){f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;ql(c,21350,26);f[a>>2]=-1;Rm(a+4|0,c);wq(c);d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{a=b+-4|0;f[e>>2]=a;b=f[a>>2]|0;f[a>>2]=0;if(b|0){qk(b);Ns(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Ns(c)}qk(g);Ns(g);u=h;return}e=(f[b+4>>2]|0)+4|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0){d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{i=b+-4|0;f[e>>2]=i;b=f[i>>2]|0;f[i>>2]=0;if(b|0){qk(b);Ns(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Ns(c)}qk(g);Ns(g)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=h;return}function Qg(a,c){a=a|0;c=c|0;var d=0,e=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;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0<l>>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Di(j,m-l|0,4664);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Ga(22874,22792,64,22869);else if((e|0)==12)Ga(21891,21910,89,22004);else if((e|0)==14)return d|0;return 0}function Rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;Yn(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[j>>2]|0)+116|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/116|0)+c|0;if(i>>>0>37025580){xr(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/116|0;g=j<<1;g=j>>>0<18512790?(g>>>0<i>>>0?i:g):37025580;d=(d-e|0)/116|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(g)if(g>>>0>37025580){l=Ia(4)|0;ps(l);sa(l|0,1488,137)}else{e=Xo(g*116|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*116|0)|0;h=k+8|0;f[h>>2]=d;f[k+4>>2]=d;f[k+12>>2]=e+(g*116|0);do{f[d>>2]=-1;Yn(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);Md(a,k);_j(k);u=l;return}function Sg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0<l>>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Di(j,m-l|0,4664);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Ga(22874,22792,64,22869);else if((e|0)==12)Ga(21891,21910,89,22004);else if((e|0)==13)return d|0;return 0}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ve(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Lf(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<4194304){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>20)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(We(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Mf(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<2097152){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>19)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Xe(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Nf(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<1048576){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>18)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ye(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Of(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<262144){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>16)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function Xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ze(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Pf(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<131072){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>15)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function Yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0<l>>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Di(j,m-l|0,4664);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Ga(22874,22792,64,22869);else if((e|0)==12)Ga(21891,21910,89,22004);else if((e|0)==13)return d|0;return 0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(_e(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Qf(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<32768){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>13)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function _g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if($e(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Rf(m,b)|0;if(d&e){j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}else g=d}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Ns(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ns(b);u=n;return g|0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)_n(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Ns(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){xr(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0<h>>>0?h:d):1073741823;if(d>>>0>1073741823){xr(a);c=Ia(4)|0;ps(c);sa(c|0,1488,137)}h=Xo(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)_n(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Ns(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){xr(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0<h>>>0?h:d):1073741823;if(d>>>0>1073741823){xr(a);c=Ia(4)|0;ps(c);sa(c|0,1488,137)}h=Xo(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function bh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=Ks(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Ls(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=sq(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0<k>>>0){n=0;return n|0}li(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=sq(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=sq(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0<n>>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=sq(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=sq(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Gk(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){xr(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0<h>>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{h=Xo(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;Gk(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Ns(g)}}while((e|0)!=(h|0));if(!i)return;Ns(i);return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=4652;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)xr(h);c=((c+-1|0)>>>5)+1|0;o=Xo(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];yh(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)xr(h);o=((c+-1|0)>>>5)+1|0;a=Xo(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];yh(h,k,m);u=n;return}function eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0<b>>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){xr(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0<b>>>0?b:d):1073741823;if(d>>>0>1073741823){xr(a);c=Ia(4)|0;ps(c);sa(c|0,1488,137)}h=Xo(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+636|0;b=f[g>>2]|0;if(b|0){h=a+640|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}g=a+624|0;b=f[g>>2]|0;if(b|0){h=a+628|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}b=f[a+612>>2]|0;if(b|0){d=a+616|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+600>>2]|0;if(!b){h=a+580|0;Om(h);h=a+560|0;Om(h);h=a+540|0;Om(h);h=a+524|0;Ss(h);a=a+12|0;Fk(a);return}d=a+604|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);h=a+580|0;Om(h);h=a+560|0;Om(h);h=a+540|0;Om(h);h=a+524|0;Ss(h);a=a+12|0;Fk(a);return}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+16|0;n=p;o=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;k=d+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=d+16|0;e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){i=b[(f[d>>2]|0)+g>>0]|0;g=sq(g|0,e|0,1,0)|0;e=I;q=l;f[q>>2]=g;f[q+4>>2]=e;if(i<<24>>24!=-2)m=3}else{i=0;m=3}if((m|0)==3){if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){q=b[(f[d>>2]|0)+g>>0]|0;m=sq(g|0,e|0,1,0)|0;e=l;f[e>>2]=m;f[e+4>>2]=I;e=q}else e=0;Xa[f[(f[a>>2]|0)+40>>2]&7](n,a,i<<24>>24,e<<24>>24);q=a+20|0;m=f[n>>2]|0;f[n>>2]=0;e=f[q>>2]|0;f[q>>2]=m;if(e){Pa[f[(f[e>>2]|0)+4>>2]&255](e);e=f[n>>2]|0;f[n>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&255](e)}else f[n>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Wa[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){q=0;u=p;return q|0}if(!(Na[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){q=0;u=p;return q|0}q=f[a+4>>2]|0;if((q|0?((h[q+36>>0]|0)<<8&65535)<512:0)?!(Wa[f[(f[a>>2]|0)+48>>2]&127](a,o)|0):0){q=0;u=p;return q|0}q=1;u=p;return q|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=4700;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)xr(h);c=((c+-1|0)>>>5)+1|0;o=Xo(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];yh(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)xr(h);o=((c+-1|0)>>>5)+1|0;a=Xo(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];yh(h,k,m);u=n;return}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0<h>>>0?h:d):1073741823;if(d>>>0>1073741823){xr(a);b=Ia(4)|0;ps(b);sa(b|0,1488,137)}e=Xo(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;li(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;li(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){Gk(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0<g>>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ia(4)|0;ps(n);sa(n|0,1488,137)}else{d=Xo(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);Gk(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Cj(m);u=n;return}function kh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function lh(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=0.0,h=La,i=La,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))Ga(10554,10407,191,10568);if(!(c>=$(0.0)))Ga(10597,10407,192,10568);if(!(b<=$(1.0)))Ga(10611,10407,193,10568);if(!(c<=$(1.0)))Ga(10625,10407,194,10568);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m<k?m:k;j=l<j?l:j;c=$(g*(k<j?k:j));e=$($(b*b)+$($(h*h)+$(c*c)));if(+e<1.0e-06){n[d>>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=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;m=f[a>>2]|0;p=a+4|0;c=f[p>>2]|0;l=m;d=c+(~((c+-4-l|0)>>>2)<<2)|0;if((c|0)==(m|0))d=m;else{f[p>>2]=d;c=d}s=a+16|0;f[s>>2]=0;t=a+12|0;f[t>>2]=d;k=b+8|0;d=k;n=f[d>>2]|0;d=f[d+4>>2]|0;r=b+16|0;g=r;i=f[g>>2]|0;g=sq(i|0,f[g+4>>2]|0,4,0)|0;e=I;if((d|0)<(e|0)|(d|0)==(e|0)&n>>>0<g>>>0){a=0;return a|0}o=(f[b>>2]|0)+i|0;o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;j=r;f[j>>2]=g;f[j+4>>2]=e;if(!((o|0)!=0&(o&3|0)==0)){a=0;return a|0}j=Ip(n|0,d|0,g|0,e|0)|0;i=I;if(0>(i|0)|0==(i|0)&o>>>0>j>>>0){a=0;return a|0}j=o>>>2;i=c-l>>2;if(j>>>0<=i>>>0)if(j>>>0<i>>>0?(q=m+(j<<2)|0,(c|0)!=(q|0)):0){f[p>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=n}else c=n;else{Tj(a,j-i|0);c=k;e=r;g=f[e>>2]|0;e=f[e+4>>2]|0;d=f[c+4>>2]|0;c=f[c>>2]|0}q=sq(g|0,e|0,o|0,0)|0;p=I;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0<q>>>0){a=0;return a|0}li(f[a>>2]|0,(f[b>>2]|0)+g|0,o|0)|0;q=r;q=sq(f[q>>2]|0,f[q+4>>2]|0,o|0,0)|0;b=r;f[b>>2]=q;f[b+4>>2]=I;f[t>>2]=f[a>>2];f[s>>2]=0;a=1;return a|0}function nh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ic(a,l,j);if(f[a>>2]|0){l=l+24|0;Ss(l);u=m;return}h=a+4|0;wq(h);if(b[j+7>>0]|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,20094,27);f[a>>2]=-1;Rm(h,k);wq(k);l=l+24|0;Ss(l);u=m;return}Hi(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;ie(a,g,c,d,e);if(!(f[a>>2]|0)){wq(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&255](g)}else{f[a>>2]=g;Rm(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&255](g);wq(k+4|0);l=l+24|0;Ss(l);u=m;return}function oh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ic(a,l,j);if(f[a>>2]|0){l=l+24|0;Ss(l);u=m;return}h=a+4|0;wq(h);if((b[j+7>>0]|0)!=1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,20073,20);f[a>>2]=-1;Rm(h,k);wq(k);l=l+24|0;Ss(l);u=m;return}Pj(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;Un(a,g,c,d,e);if(!(f[a>>2]|0)){wq(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&255](g)}else{f[a>>2]=g;Rm(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&255](g);wq(k+4|0);l=l+24|0;Ss(l);u=m;return}function ph(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}g=a+116|0;b=f[g>>2]|0;if(b|0){h=a+120|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;Om(h);h=a+52|0;Om(h);h=a+32|0;Om(h);a=a+12|0;Om(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);h=a+72|0;Om(h);h=a+52|0;Om(h);h=a+32|0;Om(h);a=a+12|0;Om(a);return}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Ns(b)}wq(k+8|0);Ns(k);return l|0}function rh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0<i>>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Di(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];Qb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];Qb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function sh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+124|0;b=f[g>>2]|0;if(b|0){h=a+128|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}g=a+112|0;b=f[g>>2]|0;if(b|0){h=a+116|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}b=f[a+100>>2]|0;if(b|0){d=a+104|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+88>>2]|0;if(!b){h=a+68|0;Om(h);h=a+48|0;Om(h);h=a+28|0;Om(h);a=a+12|0;Ss(a);return}d=a+92|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);h=a+68|0;Om(h);h=a+48|0;Om(h);h=a+28|0;Om(h);a=a+12|0;Ss(a);return}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(He(j,a,h)|0){g=f[i>>2]|0;ah(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[j+56>>2]|0;if(c|0)Ns(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}Vk(c);Ns(c);u=k;return g|0}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+32|0;i=l+16|0;k=l;f[i>>2]=0;do if((j[b+38>>1]|0)<514){n=b+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=sq(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0<c>>>0){n=0;u=l;return n|0}else{n=(f[b>>2]|0)+e|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=n;m=g;f[m>>2]=c;f[m+4>>2]=d;c=n;break}}else if(_k(i,b)|0){c=f[i>>2]|0;break}else{n=0;u=l;return n|0}while(0);e=a+60|0;jg(e,c,0);is(k);if(lg(k,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((km(k)|0)^1);n=(f[e>>2]|0)+(c>>>5<<2)|0;m=1<<(c&31);g=f[n>>2]|0;f[n>>2]=d?g|m:g&~m;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}c=Ij(a+8|0,b)|0}else c=0;Ss(k);n=c;u=l;return n|0}function vh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){im(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){im(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){im(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)_n(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;li(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Ns(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0<g>>>0?g:d):1073741823;if(d>>>0>1073741823){xr(a);b=Ia(4)|0;ps(b);sa(b|0,1488,137)}e=Xo(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;li(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+32|0;i=l+16|0;k=l;f[i>>2]=0;do if((j[b+38>>1]|0)<514){n=b+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=sq(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0<c>>>0){n=0;u=l;return n|0}else{n=(f[b>>2]|0)+e|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=n;m=g;f[m>>2]=c;f[m+4>>2]=d;c=n;break}}else if(_k(i,b)|0){c=f[i>>2]|0;break}else{n=0;u=l;return n|0}while(0);e=a+60|0;jg(e,c,0);is(k);if(lg(k,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((km(k)|0)^1);n=(f[e>>2]|0)+(c>>>5<<2)|0;m=1<<(c&31);g=f[n>>2]|0;f[n>>2]=d?g|m:g&~m;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}c=fj(a+8|0,b)|0}else c=0;Ss(k);n=c;u=l;return n|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];Df(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<<b;f[g>>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;_n(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function zh(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0;v=u;u=u+16|0;s=v;e=f[a+40>>2]|0;j=f[a+44>>2]|0;if((e|0)==(j|0)){t=0;u=v;return t|0}k=s+11|0;m=s+4|0;l=d+11|0;n=d+4|0;a=e;a:while(1){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;do if(Hk(f[a>>2]|0,c,s)|0?(p=b[k>>0]|0,q=p<<24>>24<0,p=p&255,o=q?f[m>>2]|0:p,i=b[l>>0]|0,r=i<<24>>24<0,(o|0)==((r?f[n>>2]|0:i&255)|0)):0){g=f[s>>2]|0;i=q?g:s;e=r?f[d>>2]|0:d;h=(o|0)==0;if(q){if(h)break a;if(!(Wm(i,e,o)|0))break a;else break}if(h)break a;if((g&255)<<24>>24==(b[e>>0]|0)){g=p;h=s;do{g=g+-1|0;h=h+1|0;if(!g)break a;e=e+1|0}while((b[h>>0]|0)==(b[e>>0]|0))}}while(0);wq(s);a=a+4|0;if((a|0)==(j|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=f[a>>2]|0;wq(s);u=v;return t|0}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}Ga(21891,21910,89,22004)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0<i>>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{Di(h,q-i|0,5152);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function Bh(a,c){a=a|0;c=c|0;var d=0,e=La,g=La,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=0,z=0;v=u;u=u+16|0;p=v;m=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;t=o<<2;s=Ks(o>>>0>1073741823?-1:o<<2)|0;hr(p);pp(p,$(n[a+32>>2]),(1<<m)+-1|0);m=f[a+16>>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){Ls(s);u=v;return 1}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){li((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,s|0,t|0)|0;a=a+1|0;if((a|0)==(c|0))break;else d=d+t|0}Ls(s);u=v;return 1}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[s+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}li((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,s|0,t|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{i=i+t|0;j=o+j|0}}Ls(s);u=v;return 1}function Ch(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=d[b>>1]|0;k=d[b+2>>1]|0;l=d[b+4>>1]|0;i=d[b+6>>1]|0;b=((((j^318)&65535)+239^k&65535)+239^l&65535)+239^i&65535;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;c=(h&e|0)==0;if(c)g=b&h;else g=(b>>>0)%(e>>>0)|0;b=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!b){l=0;return l|0}b=f[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((f[b+4>>2]&h|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+16|0;l=f[k>>2]|0;g=(f[c>>2]|0)-l|0;i=c+4|0;e=(f[i>>2]|0)-l|0;j=c;f[j>>2]=g;f[j+4>>2]=e;j=f[k>>2]|0;if((j|0)<(g|0))Ga(11106,10407,250,11129);if((j|0)<(e|0))Ga(11141,10407,251,11129);h=0-j|0;if((g|0)<(h|0))Ga(11164,10407,252,11129);if((e|0)<(h|0))Ga(11188,10407,253,11129);if((((e|0)>-1?e:0-e|0)+((g|0)>-1?g:0-g|0)|0)>(j|0)){vj(b+4|0,c,i);g=f[c>>2]|0;e=f[i>>2]|0;h=f[k>>2]|0;i=0}else{h=j;i=1}c=(f[d>>2]|0)+g|0;f[a>>2]=c;e=(f[d+4>>2]|0)+e|0;g=a+4|0;f[g>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(f[b+8>>2]|0)+c|0}else c=c-(f[b+8>>2]|0)|0;f[a>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+8>>2]|0)+e|0}else e=e-(f[b+8>>2]|0)|0;f[g>>2]=e;if(i){d=c;b=e;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}vj(b+4|0,a,g);d=f[a>>2]|0;b=f[g>>2]|0;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}function Eh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b[c>>0]|0;k=b[c+1>>0]|0;l=b[c+2>>0]|0;i=b[c+3>>0]|0;c=(((j&255^318)+239^k&255)+239^l&255)+239^i&255;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;d=(h&e|0)==0;if(d)g=c&h;else g=(c>>>0)%(e>>>0)|0;c=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!c){l=0;return l|0}c=f[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((f[c+4>>2]&h|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((f[c+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Ga(22021,22033,110,22125);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))Zi(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){hk(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}Ns(b);u=j;return}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;q=c+16|0;o=q;p=f[o>>2]|0;o=f[o+4>>2]|0;e=sq(p|0,o|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0<e>>>0){a=0;return a|0}l=f[c>>2]|0;g=l+p|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=q;f[i>>2]=e;f[i+4>>2]=d;i=sq(p|0,o|0,8,0)|0;k=I;if((n|0)<(k|0)|(n|0)==(k|0)&m>>>0<i>>>0){a=0;return a|0}d=l+e|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;e=q;f[e>>2]=i;f[e+4>>2]=k;f[a+12>>2]=g;f[a+16>>2]=d;g=d+(1-g)|0;f[a+20>>2]=g;d=(g|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(!(g&1))f[e>>2]=d+-1;do if((j[c+38>>1]|0)<514){if(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>i>>>0)){a=0;return a|0}d=b[l+i>>0]|0;p=sq(p|0,o|0,9,0)|0;f[q>>2]=p;f[q+4>>2]=I;if((d&255)<2){f[a+88>>2]=d&255;break}else{a=0;return a|0}}while(0);a=lg(a+108|0,c)|0;return a|0}function Hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Ns(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){xr(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0<h>>>0?h:g):2147483647;if((g|0)<0)xr(a);e=Xo(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)_n(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;k=u;u=u+32|0;i=k+16|0;h=k;if((j[c+38>>1]|0)<514){l=c+8|0;m=f[l+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(f[l>>2]|0)>>>0>e>>>0:0))){m=0;u=k;return m|0}m=b[(f[c>>2]|0)+e>>0]|0;e=sq(e|0,d|0,1,0)|0;l=g;f[l>>2]=e;f[l+4>>2]=I;if(m<<24>>24){m=0;u=k;return m|0}}g=0;do{_k(i,c)|0;d=f[i>>2]|0;if(d|0){e=a+44+(g*12|0)|0;jg(e,d,0);is(h);lg(h,c)|0;if(f[i>>2]|0){d=0;do{o=km(h)|0;m=(f[e>>2]|0)+(d>>>5<<2)|0;l=1<<(d&31);n=f[m>>2]|0;f[m>>2]=o?n|l:n&~l;d=d+1|0}while(d>>>0<(f[i>>2]|0)>>>0)}Ss(h)}g=g+1|0}while((g|0)<4);o=Ij(a+8|0,c)|0;u=k;return o|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){Gk(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){xr(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0<h>>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{i=Xo(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;Gk(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d)}while((c|0)!=(e|0));if(!g)return;Ns(g);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=f[b>>2]|0;j=f[b+4>>2]|0;k=f[b+8>>2]|0;h=f[b+12>>2]|0;b=(((i^318)+239^j)+239^k)+239^h;d=f[a+4>>2]|0;if(!d){k=0;return k|0}g=d+-1|0;c=(g&d|0)==0;if(c)e=b&g;else e=(b>>>0)%(d>>>0)|0;b=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){while(1){if((f[b+4>>2]&g|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;k=u;u=u+32|0;i=k+16|0;h=k;if((j[c+38>>1]|0)<514){l=c+8|0;m=f[l+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(f[l>>2]|0)>>>0>e>>>0:0))){m=0;u=k;return m|0}m=b[(f[c>>2]|0)+e>>0]|0;e=sq(e|0,d|0,1,0)|0;l=g;f[l>>2]=e;f[l+4>>2]=I;if(m<<24>>24){m=0;u=k;return m|0}}g=0;do{_k(i,c)|0;d=f[i>>2]|0;if(d|0){e=a+44+(g*12|0)|0;jg(e,d,0);is(h);lg(h,c)|0;if(f[i>>2]|0){d=0;do{o=km(h)|0;m=(f[e>>2]|0)+(d>>>5<<2)|0;l=1<<(d&31);n=f[m>>2]|0;f[m>>2]=o?n|l:n&~l;d=d+1|0}while(d>>>0<(f[i>>2]|0)>>>0)}Ss(h)}g=g+1|0}while((g|0)<4);o=fj(a+8|0,c)|0;u=k;return o|0}function Mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;e=f[c+4>>2]|0;if(!e)Ga(11762,11970,62,12190);c=f[c+8>>2]|0;if(!c)Ga(11762,11970,62,12190);c=f[c+(d<<2)>>2]|0;if(!(b[e+84>>0]|0))c=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;switch(b[e+24>>0]|0){case 1:{f[g>>2]=c;f[k>>2]=f[g>>2];re(e,k,a)|0;u=l;return}case 2:{f[h>>2]=c;f[k>>2]=f[h>>2];qe(e,k,a)|0;u=l;return}case 3:{f[i>>2]=c;f[k>>2]=f[i>>2];pe(e,k,a)|0;u=l;return}case 4:{f[j>>2]=c;f[k>>2]=f[j>>2];oe(e,k,a)|0;u=l;return}default:{u=l;return}}}function Nh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=sq(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&255](c);switch(h<<24>>24){case 0:{c=Xo(392)|0;wl(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&255](d);i=11}break}case 1:{c=Xo(432)|0;Jk(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&255](d);i=11}break}case 2:{c=Xo(448)|0;kk(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&255](d);i=11}break}default:i=11}if((i|0)==11){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Wa[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function Oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){Ns(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)xr(g);d=((c+-1|0)>>>5)+1|0;c=Xo(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}_n(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Ns(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)xr(h);d=((c+-1|0)>>>5)+1|0;c=Xo(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}_n(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){xr(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0<h>>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ia(4)|0;ps(k);sa(k|0,1488,137)}else{e=Xo(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)li(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Ns(d);return}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(be(a,b)|0){e=0;return e|0}d=tc(a,b)|0;b=f[c>>2]|0;f[c>>2]=0;e=f[d>>2]|0;f[d>>2]=b;if(!e){e=1;return e|0}a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;Nj(d+8|0);Ns(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Ns(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Ns(b)}wq(d+8|0);Ns(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Ns(a);Ns(e);e=1;return e|0}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Oh(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ih(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ih(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ih(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];wh(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;rn(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Ln(5)|0,d)|0;Zk(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Xo(96)|0;dn(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Sk(h,c)|0;f[i>>2]=h;tk(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}Ns(h);u=j;return}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=5124;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}Fj(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){qk(c);Ns(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Ns(b)}qk(e);Ns(e);return}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Ga(22767,22792,63,22869);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Ga(22874,22792,64,22869);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))hk(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){hk(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Vh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+56>>2]=e;f[a+48>>2]=g;l=Ks(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)Ls(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){wr(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];Jc(a,o,c,h);i=X(h,e)|0;Hj(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function Wh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=Um(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;cl(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}Ql(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);Ns(e)}u=n;return}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;Zf(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<<b;f[l>>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;_n(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0<e>>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{e=Xo(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){qk(d);Ns(d)}}while((c|0)!=(e|0));if(!g)return;Ns(g);return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;Fh(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(c)}Ns(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){Ji(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function _h(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0<l>>>0;a=h?d:l;if((a|0)!=0?(n=Wm(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0<d>>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0<d>>>0?l:d;if((a|0)!=0?(m=Wm(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function $h(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0<k>>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{_n(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ia(4)|0;ps(b);sa(b|0,1488,137)}h=Xo(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{Ns(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function bi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+56>>2]=e;f[a+48>>2]=g;l=Ks(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)Ls(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){wr(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];Gc(a,o,c,h);i=X(h,e)|0;Hj(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function ci(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+56>>2]=e;f[a+48>>2]=g;l=Ks(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)Ls(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){wr(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];Jc(a,o,c,h);i=X(h,e)|0;Kj(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+48|0;j=m+32|0;e=m+28|0;g=m+24|0;h=m+20|0;i=m+16|0;l=m;k=b[a+24>>0]|0;f[l>>2]=f[1289];f[l+4>>2]=f[1290];f[l+8>>2]=f[1291];f[l+12>>2]=f[1292];k=k<<24>>24;switch(k|0){case 1:{f[e>>2]=c;f[j>>2]=f[e>>2];e=ze(a,j,l)|0;break}case 2:{f[g>>2]=c;f[j>>2]=f[g>>2];e=ye(a,j,l)|0;break}case 3:{f[h>>2]=c;f[j>>2]=f[h>>2];e=xe(a,j,l)|0;break}case 4:{f[i>>2]=c;f[j>>2]=f[i>>2];e=we(a,j,l)|0;break}default:{l=0;u=m;return l|0}}if(!e){l=0;u=m;return l|0}$g(d,l,l+(k<<2)|0);l=1;u=m;return l|0}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i+4|0;h=i;b=f[b>>2]|0;if((b|0)<0){a=-1073741824;u=i;return a|0}d=a+4|0;c=f[d>>2]|0;e=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){a=-1073741824;u=i;return a|0}k=b+1|0;f[h>>2]=((k|0)%3|0|0)==0?b+-2|0:k;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=Zl(g,c,k)|0;f[h>>2]=(((e>>>0)%3|0|0)==0?2:-1)+e;j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];if((k|0)!=(Zl(g,j,c)|0)){k=-1073741824;u=i;return k|0}f[h>>2]=b+(((b>>>0)%3|0|0)==0?2:-1);j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];c=Zl(g,j,c)|0;j=e+1|0;f[h>>2]=((j|0)%3|0|0)==0?e+-2|0:j;j=f[d>>2]|0;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=(c|0)!=(Zl(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{_n(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ia(4)|0;ps(b);sa(b|0,1488,137)}h=Xo(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){Ns(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function gi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+56>>2]=e;f[a+48>>2]=g;l=Ks(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)Ls(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){wr(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];Gc(a,o,c,h);i=X(h,e)|0;Kj(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function hi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0;do if(c){if((j[a+38>>1]|0)>=514){if(vk(d,a)|0)break;else c=0;return c|0}l=a+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;e=a+16|0;g=e;c=f[g>>2]|0;g=sq(c|0,f[g+4>>2]|0,8,0)|0;k=I;if((l|0)<(k|0)|(l|0)==(k|0)&i>>>0<g>>>0){l=0;return l|0}else{l=(f[a>>2]|0)+c|0;g=l;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;k=d;i=k;b[i>>0]=g;b[i+1>>0]=g>>8;b[i+2>>0]=g>>16;b[i+3>>0]=g>>24;k=k+4|0;b[k>>0]=l;b[k+1>>0]=l>>8;b[k+2>>0]=l>>16;b[k+3>>0]=l>>24;k=e;k=sq(f[k>>2]|0,f[k+4>>2]|0,8,0)|0;l=e;f[l>>2]=k;f[l+4>>2]=I;break}}while(0);b[a+36>>0]=1;l=a+16|0;i=f[l>>2]|0;k=(f[a>>2]|0)+i|0;g=a+8|0;l=Ip(f[g>>2]|0,f[g+4>>2]|0,i|0,f[l+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=k;f[a+28>>2]=k+l;l=1;return l|0}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=u;u=u+16|0;j=k;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=sq(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0<d>>>0){l=0;u=k;return l|0}i=(f[b>>2]|0)+c|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;l=g;f[l>>2]=d;f[l+4>>2]=e;if((i|0)<0){l=0;u=k;return l|0}jg(a+60|0,i,0);is(j);if(lg(j,b)|0){if((i|0)>0){c=a+60|0;d=0;e=1;do{e=e^((km(j)|0)^1);l=(f[c>>2]|0)+(d>>>5<<2)|0;g=1<<(d&31);m=f[l>>2]|0;f[l>>2]=e?m|g:m&~g;d=d+1|0}while((d|0)<(i|0))}c=Ij(a+8|0,b)|0}else c=0;Ss(j);m=c;u=k;return m|0}function ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;_k(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){_k(g,f[a>>2]|0)|0;b=Xo(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(Te(a,b)|0))break;f[e>>2]=b;Dl(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){qk(b);Ns(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}qk(b);Ns(b);b=0}while(0);if((i|0)==8)b=Te(a,c)|0;k=b;u=j;return k|0}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0<g>>>0?m:g;if((d|0)!=0?(i=Wm(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0<m>>>0?e:m;if(c|0?(n=Wm(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ba(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Ns(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Ss(h);h=a+80|0;Ss(h);h=a+64|0;Ss(h);a=a+24|0;Ss(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ss(b)}while((b|0)!=(c|0))}Ls(d);h=a+120|0;Ss(h);h=a+80|0;Ss(h);h=a+64|0;Ss(h);a=a+24|0;Ss(a);return}
|
|
function Jc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;h=a+32|0;g=f[b>>2]|0;b=g+1|0;do if((g|0)>=0){b=((b|0)%3|0|0)==0?g+-2|0:b;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else b=g;while(0);v=f[(f[h>>2]|0)+28>>2]|0;t=f[v+(b<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;b=f[h+4>>2]|0;p=f[h>>2]|0;if(b-p>>2>>>0>t>>>0){j=b;o=h;b=p;g=p}else{wr(h);g=f[g>>2]|0;j=f[g+4>>2]|0;o=g;b=f[h>>2]|0;g=f[g>>2]|0}b=f[b+(t<<2)>>2]|0;if(j-g>>2>>>0<=v>>>0){wr(o);g=f[o>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+56>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+52>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}wi(C,a,d);wi(A,a,b);wi(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+72>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+64|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+60>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+52>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+56|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+56|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;h=a+48|0;g=f[b>>2]|0;b=g+1|0;do if((g|0)>=0){b=((b|0)%3|0|0)==0?g+-2|0:b;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else b=g;while(0);v=f[(f[h>>2]|0)+28>>2]|0;t=f[v+(b<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+52|0;h=f[g>>2]|0;b=f[h+4>>2]|0;p=f[h>>2]|0;if(b-p>>2>>>0>t>>>0){j=b;o=h;b=p;g=p}else{wr(h);g=f[g>>2]|0;j=f[g+4>>2]|0;o=g;b=f[h>>2]|0;g=f[g>>2]|0}b=f[b+(t<<2)>>2]|0;if(j-g>>2>>>0<=v>>>0){wr(o);g=f[o>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+72>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+68>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}Ai(C,a,d);Ai(A,a,b);Ai(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+88>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+80|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+68>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+72|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+72|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}function Lc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>340){f[c>>2]=b+-341;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{_n(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=Ia(4)|0;ps(o);sa(o|0,1488,137)}g=Xo(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){Ns(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=Ia(4)|0;ps(o);sa(o|0,1488,137)}d=Xo(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=Xo(4092)|0;f[j>>2]=e;fi(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;ai(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Ns(d);u=o;return}if((c|0)!=(b|0)){n=Xo(4092)|0;f[k>>2]=n;fi(a,k);u=o;return}j=Xo(4092)|0;f[k>>2]=j;ai(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{_n(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=Ia(4)|0;ps(o);sa(o|0,1488,137)}g=Xo(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){Ns(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La,m=La,o=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m;f[d+4>>2]=~~l;f[d+8>>2]=~~k;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];o=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];k=$(n[s>>2]);i=j+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+12|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~o;f[d+4>>2]=~~k;f[d+8>>2]=~~l;f[d+12>>2]=~~m;j=1;return j|0}default:{j=0;return j|0}}return 0}function Nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,4,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);i=$(e*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}c=g+c|0;l=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c>>>0)}else{e=$(e*$(2.32830644e-10));n[d>>2]=e;e=$($(c>>>0)*$(2.32830644e-10))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,12,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c>>>0);e=$(g>>>0)}else{i=$(e*$(2.32830644e-10));n[d>>2]=i;i=$($(c>>>0)*$(2.32830644e-10));e=$($(g>>>0)*$(2.32830644e-10))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,16,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=l+12|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c>>>0);n[d+4>>2]=i;i=$(g>>>0);n[d+8>>2]=i;i=$(j>>>0);n[d+12>>2]=i;l=1;return l|0}else{i=$(e*$(2.32830644e-10));n[d>>2]=i;i=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=i;i=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=i;i=$($(j>>>0)*$(2.32830644e-10));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,4,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);i=$(e*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}c=g+c|0;l=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c|0)}else{e=$(e*$(4.65661287e-10));n[d>>2]=e;e=$($(c|0)*$(4.65661287e-10))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,12,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c|0);e=$(g|0)}else{i=$(e*$(4.65661287e-10));n[d>>2]=i;i=$($(c|0)*$(4.65661287e-10));e=$($(g|0)*$(4.65661287e-10))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,16,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=l+12|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c|0);n[d+4>>2]=i;i=$(g|0);n[d+8>>2]=i;i=$(j|0);n[d+12>>2]=i;l=1;return l|0}else{i=$(e*$(4.65661287e-10));n[d>>2]=i;i=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=i;i=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=i;i=$($(j|0)*$(4.65661287e-10));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))hk(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))hk(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))hk(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){hk(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];b[s+4>>0]=b[g+4>>0];b[s+5>>0]=b[g+5>>0];b[s+6>>0]=b[g+6>>0];b[s+7>>0]=b[g+7>>0];i=+p[s>>3];g=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~i>>>0;f[h+4>>2]=g;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=+p[s>>3];h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=+p[s>>3];h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=+p[s>>3];h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[a+12>>2]|0;if((d|0)<=1)Ga(10396,10407,60,10522);if((d|0)>=31)Ga(10542,10407,61,10522);f[a+76>>2]=d;t=1<<d;f[a+80>>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11762,12575,99,12732);if((e|0)!=2)Ga(12754,12575,102,12732);p=a+40|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+92|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){wr(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Vb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=sq(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=sq(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Wo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Tl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Wo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Tl(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=km(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Hj(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(12778,12575,116,12732);else if((d|0)==23)Ga(12845,10407,99,12933);return 0}function Sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);e=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c>>>0)}else{e=$(e*$(2.32830644e-10));n[d>>2]=e;e=$($(c>>>0)*$(2.32830644e-10))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c>>>0);n[d+4>>2]=l;l=$(g>>>0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;l=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c>>>0);n[d+4>>2]=l;l=$(g>>>0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;l=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Tc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[a+12>>2]|0;if((d|0)<=1)Ga(10396,10407,60,10522);if((d|0)>=31)Ga(10542,10407,61,10522);f[a+76>>2]=d;t=1<<d;f[a+80>>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11762,12575,99,12732);if((e|0)!=2)Ga(12754,12575,102,12732);p=a+40|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+92|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){wr(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Tb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=sq(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=sq(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Wo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Tl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Wo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Tl(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=km(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Hj(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(12778,12575,116,12732);else if((d|0)==23)Ga(12845,10407,99,12933);return 0}function Uc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[a+12>>2]|0;if((d|0)<=1)Ga(10396,10407,60,10522);if((d|0)>=31)Ga(10542,10407,61,10522);f[a+76>>2]=d;t=1<<d;f[a+80>>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11762,12575,99,12732);if((e|0)!=2)Ga(12754,12575,102,12732);p=a+40|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+92|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){wr(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Vb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=sq(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=sq(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Wo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Tl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Wo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Tl(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=km(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Kj(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(12778,12575,116,12732);else if((d|0)==23)Ga(12845,10407,99,12933);return 0}function Vc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[a+12>>2]|0;if((d|0)<=1)Ga(10396,10407,60,10522);if((d|0)>=31)Ga(10542,10407,61,10522);f[a+76>>2]=d;t=1<<d;f[a+80>>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11762,12575,99,12732);if((e|0)!=2)Ga(12754,12575,102,12732);p=a+40|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+92|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){wr(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Tb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=sq(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=sq(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Wo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Tl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Wo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Tl(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=km(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Kj(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(12778,12575,116,12732);else if((d|0)==23)Ga(12845,10407,99,12933);return 0}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);e=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c|0)}else{e=$(e*$(4.65661287e-10));n[d>>2]=e;e=$($(c|0)*$(4.65661287e-10))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c|0);n[d+4>>2]=l;l=$(g|0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;l=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c|0);n[d+4>>2]=l;l=$(g|0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;l=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8)<<16>>16);i=$(e/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>16&65535;e=$((l&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<16>>16)}else{e=$(e/$(32767.0));n[d>>2]=e;e=$($(c<<16>>16)/$(32767.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,6,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=l+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[l>>0]|h[l+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<16>>16);e=$(g<<16>>16)}else{i=$(e/$(32767.0));n[d>>2]=i;i=$($(c<<16>>16)/$(32767.0));e=$($(g<<16>>16)/$(32767.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}j=g+c|0;k=j;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;l=(b[a+32>>0]|0)==0;c=(Ep(k|0,j|0,16)|0)&65535;g=j&65535;a=(Ep(k|0,j|0,48)|0)&65535;e=$((k&65535)<<16>>16);if(l){n[d>>2]=e;i=$(c<<16>>16);n[d+4>>2]=i;i=$(g<<16>>16);n[d+8>>2]=i;i=$(a<<16>>16);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(32767.0));n[d>>2]=i;i=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=i;i=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=i;i=$($(a<<16>>16)/$(32767.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La,m=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m;f[d+4>>2]=~~l;f[d+8>>2]=~~k;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~k;f[d+4>>2]=~~l;f[d+8>>2]=~~m;j=1;return j|0}default:{j=0;return j|0}}return 0}function Zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8)&65535);i=$(e/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>16&65535;e=$(l&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&65535)}else{e=$(e/$(65535.0));n[d>>2]=e;e=$($(c&65535)/$(65535.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,6,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=l+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[l>>0]|h[l+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&65535);e=$(g&65535)}else{i=$(e/$(65535.0));n[d>>2]=i;i=$($(c&65535)/$(65535.0));e=$($(g&65535)/$(65535.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}j=g+c|0;k=j;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;l=(b[a+32>>0]|0)==0;c=(Ep(k|0,j|0,16)|0)&65535;g=j&65535;a=(Ep(k|0,j|0,48)|0)&65535;e=$(k&65535);if(l){n[d>>2]=e;i=$(c&65535);n[d+4>>2]=i;i=$(g&65535);n[d+8>>2]=i;i=$(a&65535);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(65535.0));n[d>>2]=i;i=$($(c&65535)/$(65535.0));n[d+4>>2]=i;i=$($(g&65535)/$(65535.0));n[d+8>>2]=i;i=$($(a&65535)/$(65535.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=lp(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=lp(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;e=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=i+4|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;g=i+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+12|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=e;f[j+4>>2]=((e|0)<0)<<31>>31;j=d+8|0;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+16|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+24|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function $c(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3244;e=b;f[a>>2]=e;return}case 2:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3300;e=b;f[a>>2]=e;return}case 4:{b=Xo(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2804;h=b+28|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=3356;h=b+44|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Xo(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3412;e=b+44|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Xo(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3468;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Xo(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3524;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+44>>2]=3580;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;is(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function ad(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2880;e=b;f[a>>2]=e;return}case 2:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2936;e=b;f[a>>2]=e;return}case 4:{b=Xo(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2804;h=b+28|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2992;h=b+44|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Xo(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3048;e=b+44|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Xo(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3104;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Xo(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3160;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+44>>2]=3216;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;is(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function bd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=4028;e=b;f[a>>2]=e;return}case 2:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=4084;e=b;f[a>>2]=e;return}case 4:{b=Xo(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2784;h=b+28|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=4140;h=b+44|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Xo(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=4196;e=b+44|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Xo(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=4252;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Xo(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=4308;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+44>>2]=4364;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;is(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function cd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3664;e=b;f[a>>2]=e;return}case 2:{b=Xo(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3720;e=b;f[a>>2]=e;return}case 4:{b=Xo(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2784;h=b+28|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=3776;h=b+44|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Xo(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3832;e=b+44|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Xo(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3888;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Xo(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3944;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+44>>2]=4e3;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;is(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);e=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$((k&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<16>>16)}else{e=$(e/$(32767.0));n[d>>2]=e;e=$($(c<<16>>16)/$(32767.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=k+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;l=$(g<<16>>16);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;l=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|0;j=g;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;k=(b[a+32>>0]|0)==0;c=(Ep(j|0,g|0,16)|0)&65535;g=g&65535;e=$((j&65535)<<16>>16);if(k){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;l=$(g<<16>>16);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;l=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)&65535);e=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$(k&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&65535)}else{e=$(e/$(65535.0));n[d>>2]=e;e=$($(c&65535)/$(65535.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=k+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;l=$(g&65535);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;l=$($(g&65535)/$(65535.0));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|0;j=g;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;k=(b[a+32>>0]|0)==0;c=(Ep(j|0,g|0,16)|0)&65535;g=g&65535;e=$(j&65535);if(k){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;l=$(g&65535);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;l=$($(g&65535)/$(65535.0));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;a=(h[a>>0]|h[a+1>>0]<<8)<<16>>16;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<16>>16;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=lp(zp(j|0,i|0,48)|0,I|0,48)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;g=lp(0,j|0,48)|0;a=d+8|0;f[a>>2]=g;f[a+4>>2]=I;a=lp(zp(j|0,i|0,16)|0,I|0,48)|0;g=d+16|0;f[g>>2]=a;f[g+4>>2]=I;i=lp(j|0,i|0,48)|0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}e=c+e|0;a=e+4|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;g=e+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=e+12|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=a;f[j+4>>2]=0;j=d+16|0;f[j>>2]=g;f[j+4>>2]=0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if(!((k|0)<0|((k|0)==0?c>>>0<((f[j+4>>2]|0)-g|0)>>>0:0))){k=0;return k|0}e=$(b[g+c>>0]|0);i=$(e/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;k=1;return k|0}case 2:{l=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,2,0)|0;l=I;k=f[a>>2]|0;g=f[k>>2]|0;if((l|0)>0|((l|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<24>>24)}else{e=$(e/$(127.0));n[d>>2]=e;e=$($(c<<24>>24)/$(127.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,3,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<24>>24);e=$(g<<24>>24)}else{i=$(e/$(127.0));n[d>>2]=i;i=$($(c<<24>>24)/$(127.0));e=$($(g<<24>>24)/$(127.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;j=l>>>24&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<24>>24);n[d+4>>2]=i;i=$(g<<24>>24);n[d+8>>2]=i;i=$(j<<24>>24);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(127.0));n[d>>2]=i;i=$($(c<<24>>24)/$(127.0));n[d+4>>2]=i;i=$($(g<<24>>24)/$(127.0));n[d+8>>2]=i;i=$($(j<<24>>24)/$(127.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;l=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);g=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}c=e+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=lp(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=lp(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;l=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);g=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}c=e+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if(!((k|0)<0|((k|0)==0?c>>>0<((f[j+4>>2]|0)-g|0)>>>0:0))){k=0;return k|0}e=$(h[g+c>>0]|0);i=$(e/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;k=1;return k|0}case 2:{l=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,2,0)|0;l=I;k=f[a>>2]|0;g=f[k>>2]|0;if((l|0)>0|((l|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&255)}else{e=$(e/$(255.0));n[d>>2]=e;e=$($(c&255)/$(255.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,3,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&255);e=$(g&255)}else{i=$(e/$(255.0));n[d>>2]=i;i=$($(c&255)/$(255.0));e=$($(g&255)/$(255.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;j=l>>>24&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&255);n[d+4>>2]=i;i=$(g&255);n[d+8>>2]=i;i=$(j&255);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(255.0));n[d>>2]=i;i=$($(c&255)/$(255.0));n[d+4>>2]=i;i=$($(g&255)/$(255.0));n[d+8>>2]=i;i=$($(j&255)/$(255.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function md(a,b){a=a|0;b=b|0;var c=0,e=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;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}q=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)Ns(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)g=c&p;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){o=c;b:while(1){c:do if(q){c=e;while(1){n=f[c+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}else{c=e;while(1){n=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}while(0);e=f[c>>2]|0;if(!e){c=40;break a}else{i=c;o=c}}f[e>>2]=o;e=f[c>>2]|0;if(!e){c=40;break}else i=c}if((c|0)==40)return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}p=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)Ns(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=f[c+4>>2]&o;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}while(0);d=f[c>>2]|0;if(!d){c=40;break a}else{h=c;n=c}}f[d>>2]=n;d=f[c>>2]|0;if(!d){c=40;break}else h=c}if((c|0)==40)return}function od(a,c){a=a|0;c=c|0;var d=0,e=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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ns(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}q=Xo(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)Ns(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(q)g=d&p;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}else{d=e;while(1){n=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}while(0);e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){d=40;break}else i=d}if((d|0)==40)return}function pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=La,j=0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=$(+p[s>>3]);n[d>>2]=i;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=$(+p[s>>3]);n[d>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=$(+p[s>>3]);n[d>>2]=i;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=$(+p[s>>3]);n[d>>2]=i;j=1;return j|0}default:{j=0;return j|0}}return 0}function qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);e=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$((k&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;j=c;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;c=c+4|0;k=(b[a+32>>0]|0)==0;c=(Ep(j|0,h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24|0,16)|0)&65535;e=$((j&65535)<<16>>16);if(k){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;g=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-g|0)>>>0:0))){j=0;return j|0}k=$(b[g+c>>0]|0);e=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:e;j=d+4|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<24>>24)}else{e=$(e/$(127.0));n[d>>2]=e;e=$($(c<<24>>24)/$(127.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c<<24>>24);n[d+4>>2]=k;k=$(g<<24>>24);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;k=$($(g<<24>>24)/$(127.0));n[d+8>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c<<24>>24);n[d+4>>2]=k;k=$(g<<24>>24);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;k=$($(g<<24>>24)/$(127.0));n[d+8>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];l=$(n[s>>2]);j=j+4|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~l;f[d+4>>2]=~~k;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);j=j+4|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];l=$(n[s>>2]);f[d>>2]=~~k;f[d+4>>2]=~~l;j=1;return j|0}default:{j=0;return j|0}}return 0}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)&65535);e=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$(k&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;j=c;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;c=c+4|0;k=(b[a+32>>0]|0)==0;c=(Ep(j|0,h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24|0,16)|0)&65535;e=$(j&65535);if(k){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;a=(h[a>>0]|h[a+1>>0]<<8)<<16>>16;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<16>>16;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=lp(zp(j|0,i|0,48)|0,I|0,48)|0;a=d;f[a>>2]=g;f[a+4>>2]=I;a=lp(0,j|0,48)|0;g=d+8|0;f[g>>2]=a;f[g+4>>2]=I;i=lp(zp(j|0,i|0,16)|0,I|0,48)|0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=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;r=Sa[f[(f[a>>2]|0)+44>>2]&255](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;Sh(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=sq(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=sq(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Ln(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0<g>>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=sq(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0<t>>>0){t=0;return t|0}else{li(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=sq(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0<i>>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=Ip(h|0,j|0,e|0,g|0)|0;k=I;m=((i|0)<0)<<31>>31;if((k|0)<(m|0)|(k|0)==(m|0)&t>>>0<i>>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=sq(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0<t>>>0)){li(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=sq(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(yk(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if((s|0)>0){g=a+20|0;e=f[g>>2]|0;if(e|0?Sa[f[(f[e>>2]|0)+32>>2]&255](e)|0:0){h=1;break}eo(q,s,q);h=1}else i=19;while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Wa[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Ra[f[(f[t>>2]|0)+44>>2]&63](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;j=(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];f[d>>2]=~~+p[s>>3];h=1;return h|0}case 2:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;i=I;h=f[a>>2]|0;c=f[h>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];f[d>>2]=~~+p[s>>3];i=1;return i|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];f[d>>2]=~~+p[s>>3];i=1;return i|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];f[d>>2]=~~+p[s>>3];i=1;return i|0}default:{i=0;return i|0}}return 0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;g=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-g|0)>>>0:0))){j=0;return j|0}k=$(h[g+c>>0]|0);e=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:e;j=d+4|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&255)}else{e=$(e/$(255.0));n[d>>2]=e;e=$($(c&255)/$(255.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c&255);n[d+4>>2]=k;k=$(g&255);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;k=$($(g&255)/$(255.0));n[d+8>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c&255);n[d+4>>2]=k;k=$(g&255);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;k=$($(g&255)/$(255.0));n[d+8>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[a>>0]|h[a+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=d;f[a>>2]=j&65535;f[a+4>>2]=0;a=Ep(j|0,i|0,16)|0;g=d+8|0;f[g>>2]=a&65535;f[g+4>>2]=0;g=d+16|0;f[g>>2]=i&65535;f[g+4>>2]=0;i=Ep(j|0,i|0,48)|0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Bd(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0;w=u;u=u+48|0;s=w+32|0;o=w+28|0;p=w+24|0;q=w+20|0;r=w+16|0;v=w;t=c+24|0;k=b[t>>0]|0;m=k<<24>>24;n=f[a+80>>2]|0;h=X(n,m)|0;f[v>>2]=f[1289];f[v+4>>2]=f[1290];f[v+8>>2]=f[1291];f[v+12>>2]=f[1292];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0<i>>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else Tj(d,h-i|0);if((n|0)<=0){v=1;u=w;return v|0}l=c+84|0;j=c+68|0;a:do if(k<<24>>24>0){h=0;i=0;while(1){if(!(b[l>>0]|0))a=f[(f[j>>2]|0)+(i<<2)>>2]|0;else a=i;switch(b[t>>0]|0){case 1:{f[o>>2]=a;f[s>>2]=f[o>>2];a=ze(c,s,v)|0;break}case 2:{f[p>>2]=a;f[s>>2]=f[p>>2];a=ye(c,s,v)|0;break}case 3:{f[q>>2]=a;f[s>>2]=f[q>>2];a=xe(c,s,v)|0;break}case 4:{f[r>>2]=a;f[s>>2]=f[r>>2];a=we(c,s,v)|0;break}default:break a}if(!a){a=0;e=29;break}a=f[d>>2]|0;e=h;g=0;while(1){f[a+(e<<2)>>2]=f[v+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}i=i+1|0;if((i|0)>=(n|0)){a=1;e=29;break}else h=m+h|0}if((e|0)==29){u=w;return a|0}}else{e=0;while(1){if(!(b[l>>0]|0))a=f[(f[j>>2]|0)+(e<<2)>>2]|0;else a=e;switch(b[t>>0]|0){case 1:{f[o>>2]=a;f[s>>2]=f[o>>2];a=ze(c,s,v)|0;break}case 2:{f[p>>2]=a;f[s>>2]=f[p>>2];a=ye(c,s,v)|0;break}case 3:{f[q>>2]=a;f[s>>2]=f[q>>2];a=xe(c,s,v)|0;break}case 4:{f[r>>2]=a;f[s>>2]=f[r>>2];a=we(c,s,v)|0;break}default:break a}if(!a){a=0;e=29;break}e=e+1|0;if((e|0)>=(n|0)){a=1;e=29;break}}if((e|0)==29){u=w;return a|0}}while(0);v=0;u=w;return v|0}function Cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;a=b[a>>0]|0;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=(i>>>8&255)<<24>>24;g=d+8|0;f[g>>2]=j;f[g+4>>2]=((j|0)<0)<<31>>31;g=(i>>>16&255)<<24>>24;j=d+16|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>24&255)<<24>>24;j=d+24|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Dd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if($e(E,d)|0?Rf(E,d)|0:0){g=(a|0)>0;b:do if(g){if(!(f[E+12>>2]|0)){k=0;break a}hi(d,0,0)|0;if(g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0<m>>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<<n|j;n=n+1|0}while((n|0)!=(r|0))}else j=0;g=o+1|0;f[e+(o<<2)>>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if((B|0)>=(a|0))break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}Ga(21760,21665,156,21752)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}Ga(21650,21665,155,21752)}}}else hi(d,0,0)|0;while(0);Qn(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Ns(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Ns(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Ns(j);u=F;return k|0}function Ed(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;x=e>>>0>1073741823?-1:e<<2;t=Ks(x)|0;Gk(t|0,0,x|0)|0;u=Ks(x)|0;Gk(u|0,0,x|0)|0;x=a+8|0;Hj(x,t,b,c);s=f[a+32>>2]|0;v=a+40|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;w=r>>2;if((r|0)<=4){Ls(u);Ls(t);return 1}n=f[a+36>>2]|0;q=(e|0)>0;r=s+64|0;p=s+28|0;o=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){wr(h);d=f[h>>2]|0}m=f[d+(a<<2)>>2]|0;if(q)Gk(t|0,0,o|0)|0;if((m|0)>-1){l=f[s>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(B=f[(f[(f[r>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(B|0)>=0):0)?(A=f[p>>2]|0,i=f[n>>2]|0,y=f[i+(f[A+(B<<2)>>2]<<2)>>2]|0,z=B+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?B+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(y|0)<(a|0)&(z|0)<(a|0)&(A|0)<(a|0)):0){g=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(q){d=0;do{f[u+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(q){d=0;do{i=t+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[r>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);k=(d|0)==(m|0)?-1073741824:d}while((k|0)>-1);d=X(a,e)|0;if(!j)C=29;else{if(q){g=0;do{m=t+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(j|0)|0;g=g+1|0}while((g|0)!=(e|0))}Hj(x,t,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;C=29}if((C|0)==29){C=0;Hj(x,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(w|0))break;d=f[v>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}Ls(u);Ls(t);return 1}function Fd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;y=e>>>0>1073741823?-1:e<<2;u=Ks(y)|0;Gk(u|0,0,y|0)|0;v=Ks(y)|0;Gk(v|0,0,y|0)|0;y=a+8|0;Hj(y,u,b,c);t=f[a+32>>2]|0;w=a+40|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;x=s>>2;if((s|0)<=4){Ls(v);Ls(u);return 1}p=f[a+36>>2]|0;s=(e|0)>0;r=t+12|0;q=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){wr(h);d=f[h>>2]|0}o=f[d+(a<<2)>>2]|0;if(s)Gk(u|0,0,q|0)|0;if((o|0)>-1){n=f[r>>2]|0;m=o;l=0;while(1){g=f[n+(m<<2)>>2]|0;if((g|0)>=0){h=f[t>>2]|0;i=f[p>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(s){d=0;do{f[v+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(s){d=0;do{k=u+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[v+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=f[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d;if((m|0)<=-1)break;else l=h}d=X(a,e)|0;if(!h)z=31;else{if(s){g=0;do{o=u+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}Hj(y,u,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;z=31}if((z|0)==31){z=0;Hj(y,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(x|0))break;d=f[w>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}Ls(v);Ls(u);return 1}function Gd(a,c){a=a|0;c=c|0;var d=0,e=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+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ns(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}s=Xo(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Ns(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?Wm(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function Hd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}p=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)Ns(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)g=c&o;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){n=c;b:while(1){c:do if(p){c=e;while(1){m=f[c+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}else{c=e;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}while(0);e=f[c>>2]|0;if(!e){c=38;break a}else{i=c;n=c}}f[e>>2]=n;e=f[c>>2]|0;if(!e){c=38;break}else i=c}if((c|0)==38)return}function Id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}o=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)Ns(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=f[c+4>>2]&n;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}while(0);d=f[c>>2]|0;if(!d){c=38;break a}else{h=c;m=c}}f[d>>2]=m;d=f[c>>2]|0;if(!d){c=38;break}else h=c}if((c|0)==38)return}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ns(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}p=Xo(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)Ns(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(p)g=d&o;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}else{d=e;while(1){m=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}while(0);e=f[d>>2]|0;if(!e){d=38;break a}else{i=d;n=d}}f[e>>2]=n;e=f[d>>2]|0;if(!e){d=38;break}else i=d}if((d|0)==38)return}function Kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;x=e>>>0>1073741823?-1:e<<2;t=Ks(x)|0;Gk(t|0,0,x|0)|0;u=Ks(x)|0;Gk(u|0,0,x|0)|0;x=a+8|0;Kj(x,t,b,c);s=f[a+32>>2]|0;v=a+40|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;w=r>>2;if((r|0)<=4){Ls(u);Ls(t);return 1}n=f[a+36>>2]|0;q=(e|0)>0;r=s+64|0;p=s+28|0;o=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){wr(h);d=f[h>>2]|0}m=f[d+(a<<2)>>2]|0;if(q)Gk(t|0,0,o|0)|0;if((m|0)>-1){l=f[s>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(B=f[(f[(f[r>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(B|0)>=0):0)?(A=f[p>>2]|0,i=f[n>>2]|0,y=f[i+(f[A+(B<<2)>>2]<<2)>>2]|0,z=B+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?B+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(y|0)<(a|0)&(z|0)<(a|0)&(A|0)<(a|0)):0){g=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(q){d=0;do{f[u+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(q){d=0;do{i=t+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[r>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);k=(d|0)==(m|0)?-1073741824:d}while((k|0)>-1);d=X(a,e)|0;if(!j)C=29;else{if(q){g=0;do{m=t+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(j|0)|0;g=g+1|0}while((g|0)!=(e|0))}Kj(x,t,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;C=29}if((C|0)==29){C=0;Kj(x,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(w|0))break;d=f[v>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}Ls(u);Ls(t);return 1}function Ld(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;y=e>>>0>1073741823?-1:e<<2;u=Ks(y)|0;Gk(u|0,0,y|0)|0;v=Ks(y)|0;Gk(v|0,0,y|0)|0;y=a+8|0;Kj(y,u,b,c);t=f[a+32>>2]|0;w=a+40|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;x=s>>2;if((s|0)<=4){Ls(v);Ls(u);return 1}p=f[a+36>>2]|0;s=(e|0)>0;r=t+12|0;q=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){wr(h);d=f[h>>2]|0}o=f[d+(a<<2)>>2]|0;if(s)Gk(u|0,0,q|0)|0;if((o|0)>-1){n=f[r>>2]|0;m=o;l=0;while(1){g=f[n+(m<<2)>>2]|0;if((g|0)>=0){h=f[t>>2]|0;i=f[p>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(s){d=0;do{f[v+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(s){d=0;do{k=u+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[v+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=f[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d;if((m|0)<=-1)break;else l=h}d=X(a,e)|0;if(!h)z=31;else{if(s){g=0;do{o=u+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}Kj(y,u,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;z=31}if((z|0)==31){z=0;Kj(y,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(x|0))break;d=f[w>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}Ls(v);Ls(u);return 1}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=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;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}qr(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];Gi(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=Xo(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}rg(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}Wk(q+4|0,f[n>>2]|0);Wk(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+8|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=j;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;g=j;i=j+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+16|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[d+4>>2]=i;f[d+8>>2]=j;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;a=j;g=j+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=j+16|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+24|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[d+4>>2]=g;f[d+8>>2]=i;f[d+12>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((ei(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))hk(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=ei(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0<e>>>0);u=y;return}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;i=j;j=j+4|0;l=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0));k=$(l*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;i=j;j=j+4|0;k=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0));l=$(k*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;k=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0));l=$(k*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;i=j;j=j+4|0;k=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0));l=$(k*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Rd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0<o>>>0;g=k?h:o;if((g|0)!=0?(j=Wm(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0<h>>>0:0)break;g=o>>>0<h>>>0?o:h;if((g|0)!=0?(m=Wm(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0<o>>>0?i:o;if((g|0)!=0?(q=Wm(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0<i>>>0:0)break;d=_h(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0<h>>>0?i:h;if((g|0)!=0?(r=Wm(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0<i>>>0:0)break;d=_h(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;i=j;j=j+4|0;l=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0));k=$(l*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;i=j;j=j+4|0;k=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0));l=$(k*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;k=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0));l=$(k*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;i=j;j=j+4|0;k=$(+((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)>>>0)+4294967296.0*+(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0));l=$(k*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0;v=u;u=u+48|0;r=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;t=v;s=c+24|0;e=b[s>>0]|0;j=e<<24>>24;k=f[a+80>>2]|0;m=X(k,j)|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;ah(d,0,0+(m<<2)|0);if((k|0)<=0){t=1;u=v;return t|0}m=c+84|0;l=c+68|0;a:do if(e<<24>>24>0){h=0;i=0;while(1){if(!(b[m>>0]|0))a=f[(f[l>>2]|0)+(i<<2)>>2]|0;else a=i;switch(b[s>>0]|0){case 1:{f[n>>2]=a;f[r>>2]=f[n>>2];a=ve(c,r,t)|0;break}case 2:{f[o>>2]=a;f[r>>2]=f[o>>2];a=ue(c,r,t)|0;break}case 3:{f[p>>2]=a;f[r>>2]=f[p>>2];a=te(c,r,t)|0;break}case 4:{f[q>>2]=a;f[r>>2]=f[q>>2];a=se(c,r,t)|0;break}default:break a}if(!a){a=0;e=24;break}a=f[d>>2]|0;e=h;g=0;while(1){f[a+(e<<2)>>2]=f[t+(g<<2)>>2];g=g+1|0;if((g|0)==(j|0))break;else e=e+1|0}i=i+1|0;if((i|0)>=(k|0)){a=1;e=24;break}else h=j+h|0}if((e|0)==24){u=v;return a|0}}else{e=0;while(1){if(!(b[m>>0]|0))a=f[(f[l>>2]|0)+(e<<2)>>2]|0;else a=e;switch(b[s>>0]|0){case 1:{f[n>>2]=a;f[r>>2]=f[n>>2];a=ve(c,r,t)|0;break}case 2:{f[o>>2]=a;f[r>>2]=f[o>>2];a=ue(c,r,t)|0;break}case 3:{f[p>>2]=a;f[r>>2]=f[p>>2];a=te(c,r,t)|0;break}case 4:{f[q>>2]=a;f[r>>2]=f[q>>2];a=se(c,r,t)|0;break}default:break a}if(!a){a=0;e=24;break}e=e+1|0;if((e|0)>=(k|0)){a=1;e=24;break}}if((e|0)==24){u=v;return a|0}}while(0);t=0;u=v;return t|0}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=sq(Wo(f[e>>2]|0,f[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;e=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-e|0)>>>0:0))){j=0;return j|0}k=$(b[e+c>>0]|0);g=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:g;n[d+4>>2]=$(0.0);j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;e=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;g=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;c=b[l+1>>0]|0;g=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=lp(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=lp(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Wd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!e){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ko(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ko(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!e){o=0;p=0;return (I=o,p)|0}f[e>>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=sq(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Ip(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ip(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=sq(Wo(f[e>>2]|0,f[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;e=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-e|0)>>>0:0))){j=0;return j|0}k=$(h[e+c>>0]|0);g=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:g;n[d+4>>2]=$(0.0);j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;e=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;g=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;c=b[l+1>>0]|0;g=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=sq(Wo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;n[d+4>>2]=$(0.0);i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;t=u;u=u+16|0;o=t+8|0;p=t+4|0;r=t;q=a+68|0;f[q>>2]=(f[q>>2]|0)+1;q=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=q>>2;if((q|0)<=0){u=t;return}n=a+4|0;m=a+56|0;q=a+72|0;k=f[c>>2]|0;i=k+4|0;j=k+8|0;l=a+76|0;c=f[a+44+(b<<2)>>2]|0;h=0;do{g=(c|0)<0;b=g?-1073741824:(c>>>0)/3|0;d=(f[m>>2]|0)+(b>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(b&31);f[q>>2]=(f[q>>2]|0)+1;do if(h){f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Zl(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else hk(k,o);if(!(h&1)){b=c+1|0;if(g)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!g)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Zl(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else hk(k,r);b=c+1|0;if(g)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Zl(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else hk(k,r);do if(!g)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Zl(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else hk(k,o);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=f[(f[(f[n>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}h=h+1|0}while((h|0)<(s|0));u=t;return}function $d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[a>>0]|h[a+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g&65535;f[j+4>>2]=0;g=Ep(g|0,i|0,16)|0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function ae(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}o=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)Ns(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)g=c&n;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){m=c;b:while(1){c:do if(o){c=e;while(1){l=f[c+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}else{c=e;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}while(0);e=f[c>>2]|0;if(!e){c=36;break a}else{i=c;m=c}}f[e>>2]=m;e=f[c>>2]|0;if(!e){c=36;break}else i=c}if((c|0)==36)return}function be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(Wm(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(Wm(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;a=b[a>>0]|0;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(i&255)<<24>>24;g=d;f[g>>2]=j;f[g+4>>2]=((j|0)<0)<<31>>31;g=(i>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&255)<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ns(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}n=Xo(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)Ns(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){k=f[c+4>>2]&m;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}while(0);d=f[c>>2]|0;if(!d){c=36;break a}else{h=c;l=c}}f[d>>2]=l;d=f[c>>2]|0;if(!d){c=36;break}else h=c}if((c|0)==36)return}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ns(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}o=Xo(c<<2)|0;d=f[a>>2]|0;f[a>>2]=o;if(d|0)Ns(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;n=c+-1|0;o=(n&c|0)==0;if(o)g=d&n;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}else{d=e;while(1){l=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}while(0);e=f[d>>2]|0;if(!e){d=36;break a}else{i=d;m=d}}f[e>>2]=m;e=f[d>>2]|0;if(!e){d=36;break}else i=d}if((d|0)==36)return}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=g+4|0;g=lp(zp(i|0,h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24|0,48)|0,I|0,48)|0;j=d;f[j>>2]=g;f[j+4>>2]=I;i=lp(0,i|0,48)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+8|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=j;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;g=j;i=j+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+16|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[d+4>>2]=i;f[d+8>>2]=j;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;g=j;i=j+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+16|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[d+4>>2]=i;f[d+8>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function he(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;j=d;f[j>>2]=h[a>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&255;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i>>>16&255;f[j+4>>2]=0;j=d+24|0;f[j>>2]=i>>>24;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function ie(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+12|0;l=m;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;Ic(a,g,k);if(f[a>>2]|0){u=m;return}i=a+4|0;wq(i);g=h[k+7>>0]|0;if((g|0)!=(Sa[f[(f[c>>2]|0)+8>>2]&255](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;ql(l,21377,50);f[a>>2]=-1;Rm(i,l);wq(l);u=m;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;ql(l,21428,22);f[a>>2]=-5;Rm(i,l);wq(l);u=m;return}if(e<<24>>24==2&(g&255)>2){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;ql(l,21451,22);f[a>>2]=-5;Rm(i,l);wq(l);u=m;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;do if((g&65535)>258?(d[k+10>>1]|0)<0:0){Pg(a,c);if(!(f[a>>2]|0)){wq(i);break}else{u=m;return}}while(0);if(!(Sa[f[(f[c>>2]|0)+12>>2]&255](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;ql(l,21474,33);f[a>>2]=-1;Rm(i,l);wq(l);u=m;return}if(!(Sa[f[(f[c>>2]|0)+20>>2]&255](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;ql(l,21508,31);f[a>>2]=-1;Rm(i,l);wq(l);u=m;return}if(Sa[f[(f[c>>2]|0)+24>>2]&255](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=m;return}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;ql(l,21540,34);f[a>>2]=-1;Rm(i,l);wq(l);u=m;return}}function je(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;f[d+4>>2]=i<<16>>16;f[d+8>>2]=j<<16>>16;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i<<16>>16;f[d+4>>2]=i>>16;g=zp(j|0,0,16)|0;f[d+8>>2]=g>>16;j=zp(Ep(i|0,j|0,48)|0,I|0,16)|0;f[d+12>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;g=Ep(i|0,j|0,16)|0;f[d+4>>2]=g&65535;f[d+8>>2]=j&65535;j=Ep(i|0,j|0,48)|0;f[d+12>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function me(a,c,d){a=a|0;c=c|0;d=d|0;var e=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;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Xo(88)|0;f[n+4>>2]=0;f[n>>2]=4720;k=n+12|0;f[k>>2]=4700;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=4700;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=4700;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;xi(o+8|0,g,h);Pa[f[(f[o>>2]|0)+8>>2]&255](o);hh(j,o);hh(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;Oh(g,h)|0;f[h>>2]=4700;c=f[h+20>>2]|0;if(c|0)Ns(c);c=f[h+8>>2]|0;if(c|0)Ns(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=4700;c=f[j+20>>2]|0;if(c|0)Ns(c);c=f[j+8>>2]|0;if(c|0)Ns(c);f[n+8>>2]=f[s>>2];Oh(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;ih(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=4700;c=f[o+20>>2]|0;if(c|0)Ns(c);c=f[o+8>>2]|0;if(c|0)Ns(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ns(c)}f[q>>2]=4700;c=f[s+24>>2]|0;if(c|0)Ns(c);c=f[s+12>>2]|0;if(!c){u=t;return}Ns(c);u=t;return}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;a=g;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[i+4>>2]=g;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}default:{j=0;return j|0}}return 0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=Cd(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=he(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=fd(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=Ad(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=_c(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=gd(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=jf(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=jf(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=_b(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=Ab(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=he(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=ce(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=De(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=ud(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=$d(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=jd(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=zd(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=Af(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=Af(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=oc(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=Gb(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=De(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=Ee(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=hf(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=fe(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=Be(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Vd(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=je(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=Yf(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=Yf(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=Bc(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=jc(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=hf(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=Cf(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=gg(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=Qe(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=zf(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=ef(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=wf(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=ne(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=ne(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=wd(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=Qc(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=gg(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=gf(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=kf(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=ke(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=le(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=rf(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=rf(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=Od(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=Od(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=Mc(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=gc(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=kf(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=vf(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=xf(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=Ge(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=Ie(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Bf(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=Bf(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=ge(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=ge(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=Yc(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=qc(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=xf(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=Sf(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=bg(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=tf(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=cf(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Zd(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=Zd(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=Je(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=Je(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=sd(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=Ac(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=bg(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=pg(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=qg(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=ag(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=cg(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Jf(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=Jf(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=If(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=If(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=Fe(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=xd(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=qg(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=hd(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=ld(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=Xc(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=Zc(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Oc(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=Nc(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=lc(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=kc(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=pf(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=Yb(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=Ce(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=rd(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=yd(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=dd(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=ed(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Wc(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=Sc(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=sc(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=rc(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=yf(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=mc(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=Me(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=Ud(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=Xd(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=qd(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=td(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=kd(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=id(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=Dc(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=Cc(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=Yd(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=zc(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=mf(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;d=q+40|0;l=q+36|0;o=q+32|0;p=q+28|0;e=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;if(!c){a=0;u=q;return a|0}do switch(f[a+28>>2]|0){case 1:{f[d>>2]=f[b>>2];f[n>>2]=f[d>>2];a=of(a,n,c)|0;u=q;return a|0}case 2:{f[l>>2]=f[b>>2];f[n>>2]=f[l>>2];a=sf(a,n,c)|0;u=q;return a|0}case 3:{f[o>>2]=f[b>>2];f[n>>2]=f[o>>2];a=Se(a,n,c)|0;u=q;return a|0}case 4:{f[p>>2]=f[b>>2];f[n>>2]=f[p>>2];a=af(a,n,c)|0;u=q;return a|0}case 5:{f[e>>2]=f[b>>2];f[n>>2]=f[e>>2];a=Le(a,n,c)|0;u=q;return a|0}case 6:{f[g>>2]=f[b>>2];f[n>>2]=f[g>>2];a=Ke(a,n,c)|0;u=q;return a|0}case 7:{f[h>>2]=f[b>>2];f[n>>2]=f[h>>2];a=Sd(a,n,c)|0;u=q;return a|0}case 8:{f[i>>2]=f[b>>2];f[n>>2]=f[i>>2];a=Qd(a,n,c)|0;u=q;return a|0}case 9:{f[j>>2]=f[b>>2];f[n>>2]=f[j>>2];a=Jf(a,n,c)|0;u=q;return a|0}case 10:{f[k>>2]=f[b>>2];f[n>>2]=f[k>>2];a=pd(a,n,c)|0;u=q;return a|0}case 11:{f[m>>2]=f[b>>2];f[n>>2]=f[m>>2];a=eg(a,n,c)|0;u=q;return a|0}default:{a=0;u=q;return a|0}}while(0);return 0}function Ae(a,c){a=a|0;c=c|0;var d=0,e=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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ns(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}v=Xo(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)Ns(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(v)g=d&u;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;t=a+24|0;i=h;e=d;d=h;a:while(1){s=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(v)r=e&u;else r=(e>>>0)%(c>>>0)|0;if((r|0)==(g|0))break;e=(f[a>>2]|0)+(r<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{p=f[d+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=d;else while(1){h=f[e>>2]|0;if(!h)break c;else e=h}while(1){m=f[e+8>>2]|0;n=0;do{h=f[o+(n<<2)>>2]|0;j=(b[h+84>>0]|0)==0;if(j)k=f[(f[h+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=35;break a}if(j)h=f[(f[h+68>>2]|0)+(m<<2)>>2]|0;else h=m;n=n+1|0;if((k|0)!=(h|0)){e=l;break c}}while((n|0)<(q|0));h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[s>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(r<<2)>>2]>>2];f[f[(f[a>>2]|0)+(r<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;s=d}}f[e>>2]=s;e=f[d>>2]|0;if(!e){d=40;break}else{i=d;g=r}}if((d|0)==35)Ga(22708,22607,68,22698);else if((d|0)==40)return}function Be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=d;f[g>>2]=j&65535;f[g+4>>2]=0;i=Ep(j|0,i|0,16)|0;j=d+8|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}j=$((b[c+e>>0]|0)!=0&1);n[d>>2]=j;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;k=h[k>>0]|h[k+1>>0]<<8;j=$((k&255)<<24>>24!=0&1);n[d>>2]=j;j=$((k&65535)>255&1);n[d+4>>2]=j;k=d+8|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}g=c+e|0;i=b[g+1>>0]|0;k=b[g+2>>0]|0;j=$((b[g>>0]|0)!=0&1);n[d>>2]=j;j=$(i<<24>>24!=0&1);n[d+4>>2]=j;j=$(k<<24>>24!=0&1);n[d+8>>2]=j;n[d+12>>2]=$(0.0);k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=$((k&255)<<24>>24!=0&1);n[d>>2]=j;j=$((k&65280|0)!=0&1);n[d+4>>2]=j;j=$((k&16711680|0)!=0&1);n[d+8>>2]=j;j=$(k>>>0>16777215&1);n[d+12>>2]=j;k=1;return k|0}default:{k=0;return k|0}}return 0}function De(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;j=d;f[j>>2]=h[a>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&255;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i>>>16&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ee(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;g=b[g>>0]|0;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=~~(f[s>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,$(n[s>>2]));f[d>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];j=~~$(n[s>>2]);f[d>>2]=j;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];j=~~$(n[s>>2]);f[d>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;f[d+4>>2]=i<<16>>16;f[d+8>>2]=j<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i<<16>>16;f[d+4>>2]=i>>16;j=zp(j|0,0,16)|0;f[d+8>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;z=B+8|0;x=B;y=B+4|0;if(!(Rk(a,b)|0)){a=0;u=B;return a|0}A=b+96|0;n=b+100|0;d=f[n>>2]|0;b=f[A>>2]|0;if((d-b|0)<=0){a=1;u=B;return a|0}m=a+56|0;t=a+8|0;q=a+12|0;r=a+20|0;o=a+24|0;s=a+32|0;p=a+36|0;v=a+68|0;w=a+76|0;l=f[c>>2]|0;h=l+4|0;j=l+8|0;i=a+4|0;k=a+72|0;g=l;e=0;do{if(!(f[(f[m>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31))){C=e*3|0;f[x>>2]=C;f[z>>2]=f[x>>2];Pd(a,0,z);d=(f[q>>2]|0)-(f[t>>2]|0)>>2;f[x>>2]=C+1;f[z>>2]=f[x>>2];Pd(a,1,z);b=(f[o>>2]|0)-(f[r>>2]|0)>>2;c=b>>>0>d>>>0;f[x>>2]=C+2;f[z>>2]=f[x>>2];Pd(a,2,z);d=(f[p>>2]|0)-(f[s>>2]|0)>>2>>>0>(c?b:d)>>>0?2:c?1:((d|0)==0)<<31>>31;if((f[v>>2]|0)>0){b=f[w>>2]|0;f[z>>2]=b;c=f[h>>2]|0;if(c>>>0<(f[j>>2]|0)>>>0){f[c>>2]=b;f[h>>2]=c+4}else hk(l,z);f[x>>2]=f[a+44+(d<<2)>>2];b=f[i>>2]|0;c=f[a>>2]|0;f[z>>2]=f[x>>2];c=Zl(z,b,c)|0;f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else hk(l,z);C=(f[k>>2]|0)+2|0;f[k>>2]=C;if(C&1|0){f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else hk(l,z);f[k>>2]=(f[k>>2]|0)+1}}f[y>>2]=g;f[z>>2]=f[y>>2];_d(a,d,z);b=f[A>>2]|0;d=f[n>>2]|0}e=e+1|0}while((e|0)<((d-b|0)/12|0|0));b=1;u=B;return b|0}function Ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;i=Ep(i|0,j|0,16)|0;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function Je(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+8|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+8|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=j;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+8|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,4,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);k=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=sq(Wo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,4,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);k=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Me(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}j=$((b[c+e>>0]|0)!=0&1);n[d>>2]=j;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;k=h[k>>0]|h[k+1>>0]<<8;j=$((k&255)<<24>>24!=0&1);n[d>>2]=j;j=$((k&65535)>255&1);n[d+4>>2]=j;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,3,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}g=c+e|0;i=b[g+1>>0]|0;k=b[g+2>>0]|0;j=$((b[g>>0]|0)!=0&1);n[d>>2]=j;j=$(i<<24>>24!=0&1);n[d+4>>2]=j;j=$(k<<24>>24!=0&1);n[d+8>>2]=j;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,4,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=$((k&255)<<24>>24!=0&1);n[d>>2]=j;j=$((k&65280|0)!=0&1);n[d+4>>2]=j;j=$((k&16711680|0)!=0&1);n[d+8>>2]=j;k=1;return k|0}default:{k=0;return k|0}}return 0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+148|0;i=f[b>>2]|0;j=(i|0)<0;l=i+1|0;do if(!j){b=((l|0)%3|0|0)==0?i+-2|0:l;if(!((i>>>0)%3|0)){d=b;g=i+2|0;break}else{d=b;g=i+-1|0;break}}else{d=i;g=i}while(0);h=a+184|0;b=f[h>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){b=c+(b<<2)|0;f[b>>2]=(f[b>>2]|0)+d;b=f[h>>2]|0}switch(b|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}b=f[k>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=f[(f[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;f[a+188>>2]=(f[(f[a+156>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}
|
|
function zb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=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;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=zs()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Wq(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<<j;if(!(j&75913)){m=l;break d}l=j|l;k=k+1|0;f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=$n(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=$n(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(22928+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Jg(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Bo(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=23392;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=Ip(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=23392;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?23392:23394):23393;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=23392;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=23392;i=x;break}case 109:{i=zs()|0;i=br(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:23402;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Fm(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=yb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=23392;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=fo(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?23392:23392+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=Xl(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=Mj(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=23392;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=ar(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Fm(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=ar(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Wq(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Fm(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Fm(a,32,i,l,n);Wq(a,j,k);Fm(a,48,i,l,n^65536);Fm(a,48,q,r,0);Wq(a,o,r);Fm(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Jg(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function Ab(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];b[s+4>>0]=b[g+4>>0];b[s+5>>0]=b[g+5>>0];b[s+6>>0]=b[g+6>>0];b[s+7>>0]=b[g+7>>0];i=+p[s>>3];g=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~i>>>0;f[h+4>>2]=g;h=d+8|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];j=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~k>>>0;f[h+4>>2]=j;h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d+8|0;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];l=+p[s>>3];j=h+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];h=h+16|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];h=+K(l)>=1.0?(l>0.0?~~+Y(+J(l/4294967296.0),4294967295.0)>>>0:~~+W((l-+(~~l>>>0))/4294967296.0)>>>0):0;j=d;f[j>>2]=~~l>>>0;f[j+4>>2]=h;j=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d+8|0;f[h>>2]=~~i>>>0;f[h+4>>2]=j;h=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;j=d+16|0;f[j>>2]=~~k>>>0;f[j+4>>2]=h;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];m=+p[s>>3];h=j+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=+p[s>>3];h=j+16|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];j=j+24|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];j=+K(m)>=1.0?(m>0.0?~~+Y(+J(m/4294967296.0),4294967295.0)>>>0:~~+W((m-+(~~m>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~m>>>0;f[h+4>>2]=j;h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d+8|0;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;h=d+16|0;f[h>>2]=~~k>>>0;f[h+4>>2]=j;h=+K(l)>=1.0?(l>0.0?~~+Y(+J(l/4294967296.0),4294967295.0)>>>0:~~+W((l-+(~~l>>>0))/4294967296.0)>>>0):0;j=d+24|0;f[j>>2]=~~l>>>0;f[j+4>>2]=h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Bb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,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;K=u;u=u+64|0;J=K+16|0;H=K;d=J;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[H>>2]=0;if(!e){d=0;g=0}else{Di(J,e,H);d=f[J+12>>2]|0;g=f[J+16>>2]|0}f[H>>2]=0;h=J+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Di(J+12|0,e-i|0,H);i=J+24|0;f[H>>2]=0;h=J+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Di(i,e-j|0,H);i=J+36|0;f[H>>2]=0;h=J+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Di(i,e-j|0,H);C=a+8|0;Hj(C,f[J>>2]|0,b,c);v=f[a+32>>2]|0;t=f[a+36>>2]|0;D=Xo(16)|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;fm(H,e);A=a+40|0;h=f[A>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;z=g-d|0;B=z>>2;a:do if((z|0)>4){z=v+64|0;x=v+28|0;y=(e|0)>0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=42;break b}i=f[J+(d*12|0)>>2]|0;if(((f[(f[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(I=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(G=f[x>>2]|0,m=f[t>>2]|0,E=f[m+(f[G+(I<<2)>>2]<<2)>>2]|0,F=I+1|0,F=f[m+(f[G+((((F|0)%3|0|0)==0?I+-2|0:F)<<2)>>2]<<2)>>2]|0,G=f[m+(f[G+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(E|0)<(h|0)&(F|0)<(h|0)&(G|0)<(h|0)):0){k=X(E,e)|0;l=X(F,e)|0;m=X(G,e)|0;if(y){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=23;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;j=g+1|0;if((g|0)>=0)g=((j|0)%3|0|0)==0?g+-2|0:j}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;i=f[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(o|0)){o=42;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[z>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==42)if((d|0)>0)o=23;else{d=X(h,e)|0;o=54}if((o|0)==23){o=0;if(y){Gk(f[H>>2]|0,0,w|0)|0;k=d+-1|0;m=D+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[H>>2]|0;n=0;j=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){g=f[J+(n*12|0)>>2]|0;i=0;do{s=l+(i<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=D+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{s=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=54;else{g=f[H>>2]|0;if(y){i=0;do{s=g+(i<<2)|0;f[s>>2]=(f[s>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}Hj(C,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==54)Hj(C,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(B|0)){d=H;break a}i=f[A>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=H;while(0);h=f[d>>2]|0;if(h|0){g=H+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h)}Ns(D);d=f[J+36>>2]|0;if(d|0){h=J+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[J+24>>2]|0;if(d|0){h=J+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[J+12>>2]|0;if(d|0){h=J+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}h=f[J>>2]|0;if(!h){u=K;return 1}g=J+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h);u=K;return 1}function Cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,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;K=u;u=u+64|0;J=K+16|0;H=K;d=J;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[H>>2]=0;if(!e){d=0;g=0}else{Di(J,e,H);d=f[J+12>>2]|0;g=f[J+16>>2]|0}f[H>>2]=0;h=J+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Di(J+12|0,e-i|0,H);i=J+24|0;f[H>>2]=0;h=J+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Di(i,e-j|0,H);i=J+36|0;f[H>>2]=0;h=J+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Di(i,e-j|0,H);C=a+8|0;Kj(C,f[J>>2]|0,b,c);v=f[a+32>>2]|0;t=f[a+36>>2]|0;D=Xo(16)|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;fm(H,e);A=a+40|0;h=f[A>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;z=g-d|0;B=z>>2;a:do if((z|0)>4){z=v+64|0;x=v+28|0;y=(e|0)>0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=42;break b}i=f[J+(d*12|0)>>2]|0;if(((f[(f[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(I=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(G=f[x>>2]|0,m=f[t>>2]|0,E=f[m+(f[G+(I<<2)>>2]<<2)>>2]|0,F=I+1|0,F=f[m+(f[G+((((F|0)%3|0|0)==0?I+-2|0:F)<<2)>>2]<<2)>>2]|0,G=f[m+(f[G+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(E|0)<(h|0)&(F|0)<(h|0)&(G|0)<(h|0)):0){k=X(E,e)|0;l=X(F,e)|0;m=X(G,e)|0;if(y){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=23;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;j=g+1|0;if((g|0)>=0)g=((j|0)%3|0|0)==0?g+-2|0:j}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;i=f[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(o|0)){o=42;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[z>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==42)if((d|0)>0)o=23;else{d=X(h,e)|0;o=54}if((o|0)==23){o=0;if(y){Gk(f[H>>2]|0,0,w|0)|0;k=d+-1|0;m=D+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[H>>2]|0;n=0;j=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){g=f[J+(n*12|0)>>2]|0;i=0;do{s=l+(i<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=D+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{s=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=54;else{g=f[H>>2]|0;if(y){i=0;do{s=g+(i<<2)|0;f[s>>2]=(f[s>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}Kj(C,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==54)Kj(C,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(B|0)){d=H;break a}i=f[A>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=H;while(0);h=f[d>>2]|0;if(h|0){g=H+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h)}Ns(D);d=f[J+36>>2]|0;if(d|0){h=J+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[J+24>>2]|0;if(d|0){h=J+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[J+12>>2]|0;if(d|0){h=J+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}h=f[J>>2]|0;if(!h){u=K;return 1}g=J+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h);u=K;return 1}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,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;H=u;u=u+64|0;G=H+16|0;F=H;d=G;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[F>>2]=0;if(!e){d=0;g=0}else{Di(G,e,F);d=f[G+12>>2]|0;g=f[G+16>>2]|0}f[F>>2]=0;h=G+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Di(G+12|0,e-i|0,F);i=G+24|0;f[F>>2]=0;h=G+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Di(i,e-j|0,F);i=G+36|0;f[F>>2]=0;h=G+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Di(i,e-j|0,F);D=a+8|0;Hj(D,f[G>>2]|0,b,c);x=f[a+32>>2]|0;w=f[a+36>>2]|0;E=Xo(16)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;fm(F,e);B=a+40|0;i=f[B>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;A=g-d|0;C=A>>2;a:do if((A|0)>4){z=x+12|0;A=(e|0)>0;y=e<<2;h=1;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=43;break b}o=f[G+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[x>>2]|0;l=f[w>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(A){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=26;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(s|0)){o=43;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==43)if((d|0)>0)o=26;else{d=X(h,e)|0;o=55}if((o|0)==26){o=0;if(A){Gk(f[F>>2]|0,0,y|0)|0;k=d+-1|0;m=E+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[F>>2]|0;n=0;j=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){g=f[G+(n*12|0)>>2]|0;i=0;do{v=l+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=E+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{v=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=55;else{g=f[F>>2]|0;if(A){i=0;do{v=g+(i<<2)|0;f[v>>2]=(f[v>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}Hj(D,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==55)Hj(D,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(C|0)){d=F;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=F;while(0);h=f[d>>2]|0;if(h|0){g=F+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h)}Ns(E);d=f[G+36>>2]|0;if(d|0){h=G+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[G+24>>2]|0;if(d|0){h=G+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[G+12>>2]|0;if(d|0){h=G+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}h=f[G>>2]|0;if(!h){u=H;return 1}g=G+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h);u=H;return 1}function Eb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=La,p=La,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=La;P=u;u=u+48|0;O=P+12|0;K=P+32|0;N=P;G=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;fm(N,f[M>>2]|0);h=f[M>>2]|0;a:do if((h|0)>0){D=c+48|0;E=c+40|0;B=K+2|0;C=K+4|0;x=O+4|0;A=O+12|0;y=O+8|0;F=a+40|0;z=a+64|0;w=f[e>>2]|0;r=0;v=0;t=0;while(1){l=w+v|0;j=D;k=f[j>>2]|0;j=f[j+4>>2]|0;s=E;l=Wo(f[s>>2]|0,f[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;j=sq(l|0,I|0,k|0,j|0)|0;j=(f[f[c>>2]>>2]|0)+j|0;b[K>>0]=b[j>>0]|0;b[K+1>>0]=b[j+1>>0]|0;b[K+2>>0]=b[j+2>>0]|0;b[K+3>>0]=b[j+3>>0]|0;b[K+4>>0]=b[j+4>>0]|0;b[K+5>>0]=b[j+5>>0]|0;j=d[K>>1]|0;k=d[B>>1]|0;l=d[C>>1]|0;s=(((j^318)&65535)+239^k&65535)+239^l&65535;q=(r|0)==0;b:do if(!q){h=r+-1|0;g=(h&r|0)==0;if(g)i=s&h;else i=(s>>>0)%(r>>>0)|0;e=f[(f[O>>2]|0)+(i<<2)>>2]|0;do if(e|0?(J=f[e>>2]|0,J|0):0){c:do if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}while(0);if((i|0)==21){i=0;f[(f[N>>2]|0)+(v<<2)>>2]=f[e+16>>2];g=t;break b}else if((i|0)==22)if(q){e=0;i=39;break b}else break}while(0);i=r+-1|0;h=(i&r|0)==0;if(h)e=i&s;else e=(s>>>0)%(r>>>0)|0;g=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(H=f[g>>2]|0,(H|0)!=0):0)if(h){g=H;while(1){if((f[g+4>>2]&i|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else{g=H;while(1){if((((f[g+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else i=39}else{e=0;i=39}while(0);if((i|0)==39){i=0;m=Xo(20)|0;d[m+8>>1]=j;d[m+10>>1]=k;d[m+12>>1]=l;f[m+16>>2]=t;f[m+4>>2]=s;f[m>>2]=0;p=$(((f[A>>2]|0)+1|0)>>>0);Q=$(r>>>0);o=$(n[G>>2]);do if(q|p>$(Q*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;g=~~$(W($(p/o)))>>>0;kj(O,e>>>0<g>>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){h=e;e=g&s;break}else{h=e;e=(s>>>0)%(e>>>0)|0;break}}else h=r;while(0);g=(f[O>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[m>>2]=f[y>>2];f[y>>2]=m;f[g>>2]=y;e=f[m>>2]|0;if(e|0){e=f[e+4>>2]|0;g=h+-1|0;if(!(g&h))e=e&g;else e=(e>>>0)%(h>>>0)|0;e=(f[O>>2]|0)+(e<<2)|0;i=50}}else{f[m>>2]=f[e>>2];i=50}if((i|0)==50)f[e>>2]=m;f[A>>2]=(f[A>>2]|0)+1;i=52}if((i|0)==52){s=F;g=f[s>>2]|0;s=Wo(g|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;li((f[f[z>>2]>>2]|0)+s|0,K|0,g|0)|0;f[(f[N>>2]|0)+(v<<2)>>2]=t;g=t+1|0}e=v+1|0;h=f[M>>2]|0;if((e|0)>=(h|0)){m=g;break a}r=f[x>>2]|0;v=e;t=g}}else m=0;while(0);if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;e=(f[a+72>>2]|0)-h|0;if((e|0)>0){i=f[N>>2]|0;g=e>>2;e=0;do{a=h+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;g=f[i>>2]|0;e=f[j>>2]|0;k=g-e>>2;if(h>>>0<=k>>>0){if(h>>>0<k>>>0?(L=e+(h<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}else{Di(j,h-k|0,1592);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)Ga(21891,21910,89,22004);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[i+(g<<2)>>2];g=g+1|0}while((g|0)<(h|0))}}f[M>>2]=m}h=f[N>>2]|0;if(h|0){g=N+4|0;e=f[g>>2]|0;if((e|0)!=(h|0))f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);Ns(h)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;Ns(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return m|0}Ns(e);u=P;return m|0}function Fb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,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;H=u;u=u+64|0;G=H+16|0;F=H;d=G;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[F>>2]=0;if(!e){d=0;g=0}else{Di(G,e,F);d=f[G+12>>2]|0;g=f[G+16>>2]|0}f[F>>2]=0;h=G+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Di(G+12|0,e-i|0,F);i=G+24|0;f[F>>2]=0;h=G+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Di(i,e-j|0,F);i=G+36|0;f[F>>2]=0;h=G+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Di(i,e-j|0,F);D=a+8|0;Kj(D,f[G>>2]|0,b,c);x=f[a+32>>2]|0;w=f[a+36>>2]|0;E=Xo(16)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;fm(F,e);B=a+40|0;i=f[B>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;A=g-d|0;C=A>>2;a:do if((A|0)>4){z=x+12|0;A=(e|0)>0;y=e<<2;h=1;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=43;break b}o=f[G+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[x>>2]|0;l=f[w>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(A){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=26;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(s|0)){o=43;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==43)if((d|0)>0)o=26;else{d=X(h,e)|0;o=55}if((o|0)==26){o=0;if(A){Gk(f[F>>2]|0,0,y|0)|0;k=d+-1|0;m=E+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[F>>2]|0;n=0;j=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){g=f[G+(n*12|0)>>2]|0;i=0;do{v=l+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=E+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{v=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=55;else{g=f[F>>2]|0;if(A){i=0;do{v=g+(i<<2)|0;f[v>>2]=(f[v>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}Kj(D,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==55)Kj(D,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(C|0)){d=F;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=F;while(0);h=f[d>>2]|0;if(h|0){g=F+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h)}Ns(E);d=f[G+36>>2]|0;if(d|0){h=G+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[G+24>>2]|0;if(d|0){h=G+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[G+12>>2]|0;if(d|0){h=G+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}h=f[G>>2]|0;if(!h){u=H;return 1}g=G+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h);u=H;return 1}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0.0,l=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];b[s+4>>0]=b[g+4>>0];b[s+5>>0]=b[g+5>>0];b[s+6>>0]=b[g+6>>0];b[s+7>>0]=b[g+7>>0];i=+p[s>>3];g=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~i>>>0;f[h+4>>2]=g;h=d+8|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];j=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~k>>>0;f[h+4>>2]=j;h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d+8|0;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];l=+p[s>>3];j=h+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];h=h+16|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];h=+K(l)>=1.0?(l>0.0?~~+Y(+J(l/4294967296.0),4294967295.0)>>>0:~~+W((l-+(~~l>>>0))/4294967296.0)>>>0):0;j=d;f[j>>2]=~~l>>>0;f[j+4>>2]=h;j=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d+8|0;f[h>>2]=~~i>>>0;f[h+4>>2]=j;h=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;j=d+16|0;f[j>>2]=~~k>>>0;f[j+4>>2]=h;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=+p[s>>3];j=h+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];h=h+16|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];l=+p[s>>3];h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;h=d+8|0;f[h>>2]=~~k>>>0;f[h+4>>2]=j;h=+K(l)>=1.0?(l>0.0?~~+Y(+J(l/4294967296.0),4294967295.0)>>>0:~~+W((l-+(~~l>>>0))/4294967296.0)>>>0):0;j=d+16|0;f[j>>2]=~~l>>>0;f[j+4>>2]=h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=La;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;fm(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+1|0;B=J+2|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){k=v+t|0;i=C;j=f[i>>2]|0;i=f[i+4>>2]|0;r=D;k=Wo(f[r>>2]|0,f[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=sq(k|0,I|0,j|0,i|0)|0;i=(f[f[c>>2]>>2]|0)+i|0;b[J>>0]=b[i>>0]|0;b[J+1>>0]=b[i+1>>0]|0;b[J+2>>0]=b[i+2>>0]|0;i=b[J>>0]|0;j=b[A>>0]|0;k=b[B>>0]|0;r=((i&255^318)+239^j&255)+239^k&255;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)h=r&g;else h=(r>>>0)%(q>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+12>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=q+-1|0;g=(h&q|0)==0;if(g)d=h&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=Xo(16)|0;b[l+8>>0]=i;b[l+9>>0]=j;b[l+10>>0]=k;f[l+12>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(q>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;rj(N,d>>>0<e>>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Wo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;li((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}q=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0<j>>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Di(i,g-j|0,1592);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;Ns(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}Ns(d);u=O;return l|0}function Ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=La;O=u;u=u+48|0;N=O+24|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;fm(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+4|0;B=J+8|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;t=0;s=0;while(1){g=v+t|0;e=C;d=f[e>>2]|0;e=f[e+4>>2]|0;q=D;g=Wo(f[q>>2]|0,f[q+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=sq(g|0,I|0,d|0,e|0)|0;d=J;e=(f[f[c>>2]>>2]|0)+e|0;g=d+12|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));i=f[J>>2]|0;j=f[A>>2]|0;k=f[B>>2]|0;q=((i^318)+239^j)+239^k;p=(r|0)==0;b:do if(!p){g=r+-1|0;e=(g&r|0)==0;if(e)h=q&g;else h=(q>>>0)%(r>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+20>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=r+-1|0;g=(h&r|0)==0;if(g)d=h&q;else d=(q>>>0)%(r>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=Xo(24)|0;f[l+8>>2]=i;f[l+12>>2]=j;f[l+16>>2]=k;f[l+20>>2]=s;f[l+4>>2]=q;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~$(W($(o/m)))>>>0;oj(N,d>>>0<e>>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&q;break}else{g=d;d=(q>>>0)%(d>>>0)|0;break}}else g=r;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Wo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;li((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}r=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0<j>>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Di(i,g-j|0,1592);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;Ns(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}Ns(d);u=O;return l|0}function Jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0<j>>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{Di(I,i-j|0,5068);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ia(4)|0;ps(M);sa(M|0,1488,137)}else{i=Xo(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0<g>>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{Di(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){xr(J);M=Ia(4)|0;ps(M);sa(M|0,1488,137)}g=Xo(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){xr(z);M=Ia(4)|0;ps(M);sa(M|0,1488,137)}else{D=Xo(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;Gk(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0<h>>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);Ns(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);Ns(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}L=1;u=M;return L|0}function Kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=La;M=u;u=u+48|0;L=M+20|0;G=M;K=M+8|0;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;fm(K,f[J>>2]|0);g=f[J>>2]|0;a:do if((g|0)>0){A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){p=v+t|0;k=A;j=f[k>>2]|0;k=f[k+4>>2]|0;r=B;r=Wo(p|0,((p|0)<0)<<31>>31|0,f[r>>2]|0,f[r+4>>2]|0)|0;k=sq(r|0,I|0,j|0,k|0)|0;k=(f[f[c>>2]>>2]|0)+k|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;r=G;f[r>>2]=j;f[r+4>>2]=k;r=(j^318)+239^k;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)i=r&g;else i=(r>>>0)%(q>>>0)|0;d=f[(f[L>>2]|0)+(i<<2)>>2]|0;do if(d|0?(F=f[d>>2]|0,F|0):0){c:do if(e){d=F;while(1){if((f[d+4>>2]&g|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}else{d=F;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}while(0);if((i|0)==19){i=0;f[(f[K>>2]|0)+(t<<2)>>2]=f[d+16>>2];e=s;break b}else if((i|0)==20)if(p){d=0;i=35;break b}else break}while(0);i=q+-1|0;g=(i&q|0)==0;if(g)d=i&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[L>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(E=f[e>>2]|0,(E|0)!=0):0)if(g){e=E;while(1){if((f[e+4>>2]&i|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else{e=E;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else i=35}else{d=0;i=35}while(0);if((i|0)==35){i=0;l=Xo(20)|0;g=l+8|0;f[g>>2]=j;f[g+4>>2]=k;f[l+16>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);N=$(q>>>0);m=$(n[D>>2]);do if(p|o>$(N*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;pj(L,d>>>0<e>>>0?e:d);d=f[x>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[L>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[w>>2];f[w>>2]=l;f[e>>2]=w;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[L>>2]|0)+(d<<2)|0;i=46}}else{f[l>>2]=f[d>>2];i=46}if((i|0)==46)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;i=48}if((i|0)==48){r=C;e=f[r>>2]|0;r=Wo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;li((f[f[y>>2]>>2]|0)+r|0,G|0,e|0)|0;f[(f[K>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[J>>2]|0;if((d|0)>=(g|0)){p=e;break a}q=f[x>>2]|0;t=d;s=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[K>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0<k>>>0?(H=d+(g<<2)|0,(e|0)!=(H|0)):0)f[i>>2]=e+(~((e+-4-H|0)>>>2)<<2)}else{Di(j,g-k|0,1592);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[J>>2]=p}g=f[K>>2]|0;if(g|0){e=K+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[L+8>>2]|0;if(d|0)do{K=d;d=f[d>>2]|0;Ns(K)}while((d|0)!=0);d=f[L>>2]|0;f[L>>2]=0;if(!d){u=M;return p|0}Ns(d);u=M;return p|0}function Lb(a,c){a=a|0;c=c|0;var d=0,e=0,g=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+20|0;B=C+8|0;A=C+4|0;y=C;x=a+4|0;do if((h[(f[x>>2]|0)+36>>0]<<8&65535)<512){t=c+8|0;v=f[t>>2]|0;t=f[t+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=sq(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((t|0)<(g|0)|(t|0)==(g|0)&v>>>0<e>>>0){B=-1;u=C;return B|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[w>>2]=d;v=i;f[v>>2]=e;f[v+4>>2]=g;break}}else if(_k(w,c)|0){d=f[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(d|0){v=f[x>>2]|0;if(((h[v+36>>0]<<8|h[v+37>>0])&65535)<=257){q=c+8|0;r=c+16|0;t=B+4|0;s=B+8|0;o=a+40|0;p=a+44|0;v=a+36|0;n=0;while(1){j=q;i=f[j>>2]|0;j=f[j+4>>2]|0;l=r;k=f[l>>2]|0;l=f[l+4>>2]|0;e=sq(k|0,l|0,4,0)|0;g=I;if((j|0)<(g|0)|(j|0)==(g|0)&i>>>0<e>>>0)break;m=f[c>>2]|0;D=m+k|0;f[B>>2]=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=r;f[D>>2]=e;f[D+4>>2]=g;g=sq(k|0,l|0,8,0)|0;D=I;if((j|0)<(D|0)|(j|0)==(D|0)&i>>>0<g>>>0)break;e=m+e|0;f[t>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;e=sq(k|0,l|0,8,0)|0;D=I;g=r;f[g>>2]=e;f[g+4>>2]=D;if(!((j|0)>(D|0)|(j|0)==(D|0)&i>>>0>e>>>0))break;e=b[m+e>>0]|0;m=sq(k|0,l|0,9,0)|0;D=r;f[D>>2]=m;f[D+4>>2]=I;b[s>>0]=b[s>>0]&-2|e&1;e=f[o>>2]|0;if((e|0)==(f[p>>2]|0)){Oj(v,B);d=f[w>>2]|0}else{f[e>>2]=f[B>>2];f[e+4>>2]=f[B+4>>2];f[e+8>>2]=f[B+8>>2];f[o>>2]=(f[o>>2]|0)+12}n=n+1|0;if(n>>>0>=d>>>0)break a}D=-1;u=C;return D|0}k=B+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{_k(A,c)|0;f[k>>2]=(f[A>>2]|0)+j;_k(A,c)|0;j=f[k>>2]|0;f[B>>2]=j-(f[A>>2]|0);d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))Oj(l,B);else{f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[w>>2]|0)>>>0);hi(c,0,0)|0;j=f[w>>2]|0;if(j|0){n=c+36|0;o=c+32|0;l=c+24|0;m=c+28|0;k=a+36|0;d=0;p=0;do{D=f[x>>2]|0;e=(b[n>>0]|0)==0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)<514){if(!e){d=f[o>>2]|0;g=f[l>>2]|0;i=f[m>>2]|0;e=g+(d>>>3)|0;if(e>>>0<i>>>0){D=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[o>>2]=e;d=D}else{e=d;d=0}if((g+(e>>>3)|0)>>>0<i>>>0)f[o>>2]=e+1}}else if(!e){d=f[o>>2]|0;e=(f[l>>2]|0)+(d>>>3)|0;if(e>>>0<(f[m>>2]|0)>>>0){D=(h[e>>0]|0)>>>(d&7)&1;f[o>>2]=d+1;d=D}else d=0}D=(f[k>>2]|0)+(p*12|0)+8|0;b[D>>0]=b[D>>0]&-2|d&1;p=p+1|0}while(p>>>0<j>>>0)}Qn(c)}while(0);f[B>>2]=0;d=f[x>>2]|0;d=(h[d+36>>0]<<8|h[d+37>>0])&65535;if((d&65535)<512){w=c+8|0;D=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=sq(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&D>>>0<e>>>0)d=-1;else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;z=i;f[z>>2]=e;f[z+4>>2]=g;z=40}}else if(d<<16>>16==512)if(_k(B,c)|0){d=f[B>>2]|0;z=40}else d=-1;else z=54;b:do if((z|0)==40)if(!d)z=54;else{D=f[x>>2]|0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)>257){j=a+52|0;k=a+56|0;e=a+48|0;g=0;i=0;while(1){f[A>>2]=0;_k(y,c)|0;i=(f[y>>2]|0)+i|0;f[A>>2]=i;d=f[j>>2]|0;if((d|0)==(f[k>>2]|0))hk(e,A);else{f[d>>2]=i;f[j>>2]=d+4}g=g+1|0;if(g>>>0>=(f[B>>2]|0)>>>0){z=54;break b}}}n=c+8|0;o=c+16|0;l=a+52|0;m=a+56|0;j=a+48|0;k=0;while(1){f[A>>2]=0;a=n;D=f[a>>2]|0;a=f[a+4>>2]|0;e=o;d=f[e>>2]|0;e=sq(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((a|0)<(g|0)|(a|0)==(g|0)&D>>>0<e>>>0)break;i=(f[c>>2]|0)+d|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[A>>2]=i;d=o;f[d>>2]=e;f[d+4>>2]=g;d=f[l>>2]|0;if((d|0)==(f[m>>2]|0))hk(j,A);else{f[d>>2]=i;f[l>>2]=d+4}k=k+1|0;if(k>>>0>=(f[B>>2]|0)>>>0){z=54;break b}}d=-1}while(0);if((z|0)==54)d=f[c+16>>2]|0;D=d;u=C;return D|0}function Mb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=La,p=La,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=La;O=u;u=u+48|0;N=O+16|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;fm(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Wo(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=sq(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[J>>2]=m;k=m&65535;t=m>>>16;l=t&65535;t=(m&65535^318)+239^t;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=Xo(16)|0;l=j+8|0;d[l>>1]=m;d[l+2>>1]=m>>>16;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;lj(N,e>>>0<g>>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Wo(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;li((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0<l>>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Di(k,i-l|0,1592);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Ga(21891,21910,89,22004);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Ns(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;Ns(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}Ns(e);u=O;return q|0}function Nb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=La,p=La,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=La;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;fm(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Wo(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=sq(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[J>>1]=m;k=m&255;t=(m&65535)>>>8;l=t&255;t=((m&255^318)+239<<16>>16^t)&65535;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=Xo(16)|0;l=j+8|0;b[l>>0]=m;b[l+1>>0]=m>>8;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;sj(N,e>>>0<g>>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Wo(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;li((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0<l>>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Di(k,i-l|0,1592);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Ga(21891,21910,89,22004);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Ns(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;Ns(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}Ns(e);u=O;return q|0}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=dc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Kb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ib(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=$b(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=fc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Nb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Hb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Xb(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=fc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Nb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Hb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Xb(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Mb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Eb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Ub(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Mb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Eb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Ub(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=dc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Kb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ib(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=$b(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=dc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Kb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ib(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=$b(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function Pb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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,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,J=0;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=f[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=f[(f[f[g>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){k=b;l=-1073741824}else{k=b;l=f[(f[f[g>>2]>>2]|0)+(e<<2)>>2]|0}}else{k=-1073741824;l=-1073741824}b=a+36|0;i=f[b>>2]|0;e=f[i+4>>2]|0;j=f[i>>2]|0;if(e-j>>2>>>0>k>>>0){b=j;g=e;h=i;e=j}else{wr(i);h=f[b>>2]|0;b=f[h>>2]|0;g=f[h+4>>2]|0;e=f[i>>2]|0}t=f[e+(k<<2)>>2]|0;if(g-b>>2>>>0<=l>>>0){wr(h);b=f[h>>2]|0}b=f[b+(l<<2)>>2]|0;m=(t|0)<(d|0);do if(m&(b|0)<(d|0)){p=t<<1;n=f[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=f[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;l=b<<1;k=f[c+(l<<2)>>2]|0;l=f[c+((l|1)<<2)>>2]|0;if(!((k|0)!=(n|0)|(l|0)!=(p|0))){f[a+8>>2]=n;f[a+12>>2]=p;u=D;return}si(z,a,d);si(r,a,t);si(s,a,b);v=s;h=r;g=f[h>>2]|0;h=f[h+4>>2]|0;v=Ip(f[v>>2]|0,f[v+4>>2]|0,g|0,h|0)|0;w=I;x=s+8|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=Ip(f[x>>2]|0,f[x+4>>2]|0,i|0,j|0)|0;y=I;s=s+16|0;e=r+16|0;b=f[e>>2]|0;e=f[e+4>>2]|0;r=Ip(f[s>>2]|0,f[s+4>>2]|0,b|0,e|0)|0;s=I;B=Wo(v|0,w|0,v|0,w|0)|0;E=I;A=Wo(x|0,y|0,x|0,y|0)|0;E=sq(A|0,I|0,B|0,E|0)|0;B=I;A=Wo(r|0,s|0,r|0,s|0)|0;A=sq(E|0,B|0,A|0,I|0)|0;B=I;if((A|0)==0&(B|0)==0)break;J=z;J=Ip(f[J>>2]|0,f[J+4>>2]|0,g|0,h|0)|0;H=I;G=z+8|0;G=Ip(f[G>>2]|0,f[G+4>>2]|0,i|0,j|0)|0;F=I;g=z+16|0;g=Ip(f[g>>2]|0,f[g+4>>2]|0,b|0,e|0)|0;h=I;E=Wo(J|0,H|0,v|0,w|0)|0;b=I;j=Wo(G|0,F|0,x|0,y|0)|0;b=sq(j|0,I|0,E|0,b|0)|0;E=I;j=Wo(g|0,h|0,r|0,s|0)|0;j=sq(b|0,E|0,j|0,I|0)|0;E=I;b=Ip(k|0,((k|0)<0)<<31>>31|0,n|0,o|0)|0;k=I;t=Ip(l|0,((l|0)<0)<<31>>31|0,p|0,q|0)|0;d=I;n=Wo(A|0,B|0,n|0,o|0)|0;m=I;p=Wo(A|0,B|0,p|0,q|0)|0;o=I;c=Wo(j|0,E|0,b|0,k|0)|0;z=I;i=Wo(j|0,E|0,t|0,d|0)|0;l=I;m=sq(c|0,z|0,n|0,m|0)|0;n=I;o=sq(i|0,l|0,p|0,o|0)|0;p=I;l=Wo(j|0,E|0,v|0,w|0)|0;i=I;z=Wo(j|0,E|0,x|0,y|0)|0;c=I;E=Wo(j|0,E|0,r|0,s|0)|0;j=I;i=Tl(l|0,i|0,A|0,B|0)|0;l=I;c=Tl(z|0,c|0,A|0,B|0)|0;z=I;j=Tl(E|0,j|0,A|0,B|0)|0;E=I;l=Ip(J|0,H|0,i|0,l|0)|0;i=I;z=Ip(G|0,F|0,c|0,z|0)|0;c=I;E=Ip(g|0,h|0,j|0,E|0)|0;j=I;i=Wo(l|0,i|0,l|0,i|0)|0;l=I;c=Wo(z|0,c|0,z|0,c|0)|0;l=sq(c|0,I|0,i|0,l|0)|0;i=I;j=Wo(E|0,j|0,E|0,j|0)|0;j=sq(l|0,i|0,j|0,I|0)|0;i=I;k=Ip(0,0,b|0,k|0)|0;l=I;i=Wo(j|0,i|0,A|0,B|0)|0;j=I;b=j&2147483647;switch(i|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;g=i;h=j;C=19}break}case 1:{if(!b){e=1;b=0;C=20}else{e=1;b=0;g=i;h=j;C=19}break}default:{e=1;b=0;g=i;h=j;C=19}}if((C|0)==19)while(1){e=zp(e|0,b|0,1)|0;b=I;J=g;g=Ep(g|0,h|0,2)|0;if(!(h>>>0>0|(h|0)==0&J>>>0>7)){C=20;break}else{h=I;C=19}}if((C|0)==20)while(1){J=pr(i|0,j|0,e|0,b|0)|0;e=sq(J|0,I|0,e|0,b|0)|0;e=Ep(e|0,I|0,1)|0;b=I;J=Wo(e|0,b|0,e|0,b|0)|0;H=I;if(H>>>0>j>>>0|(H|0)==(j|0)&J>>>0>i>>>0)C=20;else break}E=Wo(e|0,b|0,t|0,d|0)|0;F=I;C=Wo(e|0,b|0,k|0,l|0)|0;G=I;H=a+20|0;c=(f[H>>2]|0)+-1|0;J=(1<<(c&31)&f[(f[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;f[H>>2]=c;H=Ip(0,0,E|0,F|0)|0;F=sq(m|0,n|0,(J?E:H)|0,(J?F:I)|0)|0;H=I;E=Ip(0,0,C|0,G|0)|0;G=sq(o|0,p|0,(J?C:E)|0,(J?G:I)|0)|0;J=I;H=Tl(F|0,H|0,A|0,B|0)|0;J=Tl(G|0,J|0,A|0,B|0)|0;f[a+8>>2]=H;f[a+12>>2]=J;u=D;return}while(0);do if(m)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}J=a+8|0;f[J>>2]=0;f[J+4>>2]=0;u=D;return}while(0);f[a+8>>2]=f[c+(b<<2)>>2];f[a+12>>2]=f[c+(b+1<<2)>>2];u=D;return}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))hk(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[b>>2]|0;c=d+1|0;if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Uh(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Uh(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Uh(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Uh(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))hk(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))hk(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function Rb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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,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,J=0;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=f[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else b=e;while(0);l=f[(f[g>>2]|0)+28>>2]|0;k=f[l+(b<<2)>>2]|0;l=f[l+(e<<2)>>2]|0;e=a+36|0;g=f[e>>2]|0;b=f[g+4>>2]|0;j=f[g>>2]|0;if(b-j>>2>>>0>k>>>0){h=b;i=g;e=j;b=j}else{wr(g);b=f[e>>2]|0;h=f[b+4>>2]|0;i=b;e=f[g>>2]|0;b=f[b>>2]|0}y=f[e+(k<<2)>>2]|0;if(h-b>>2>>>0<=l>>>0){wr(i);b=f[i>>2]|0}b=f[b+(l<<2)>>2]|0;m=(y|0)<(d|0);do if(m&(b|0)<(d|0)){p=y<<1;n=f[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=f[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;l=b<<1;k=f[c+(l<<2)>>2]|0;l=f[c+((l|1)<<2)>>2]|0;if(!((k|0)!=(n|0)|(l|0)!=(p|0))){f[a+8>>2]=n;f[a+12>>2]=p;u=D;return}si(z,a,d);si(r,a,y);si(s,a,b);t=s;h=r;g=f[h>>2]|0;h=f[h+4>>2]|0;t=Ip(f[t>>2]|0,f[t+4>>2]|0,g|0,h|0)|0;v=I;w=s+8|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;w=Ip(f[w>>2]|0,f[w+4>>2]|0,i|0,j|0)|0;x=I;s=s+16|0;e=r+16|0;b=f[e>>2]|0;e=f[e+4>>2]|0;r=Ip(f[s>>2]|0,f[s+4>>2]|0,b|0,e|0)|0;s=I;B=Wo(t|0,v|0,t|0,v|0)|0;E=I;A=Wo(w|0,x|0,w|0,x|0)|0;E=sq(A|0,I|0,B|0,E|0)|0;B=I;A=Wo(r|0,s|0,r|0,s|0)|0;A=sq(E|0,B|0,A|0,I|0)|0;B=I;if((A|0)==0&(B|0)==0)break;J=z;J=Ip(f[J>>2]|0,f[J+4>>2]|0,g|0,h|0)|0;H=I;G=z+8|0;G=Ip(f[G>>2]|0,f[G+4>>2]|0,i|0,j|0)|0;F=I;g=z+16|0;g=Ip(f[g>>2]|0,f[g+4>>2]|0,b|0,e|0)|0;h=I;E=Wo(J|0,H|0,t|0,v|0)|0;b=I;j=Wo(G|0,F|0,w|0,x|0)|0;b=sq(j|0,I|0,E|0,b|0)|0;E=I;j=Wo(g|0,h|0,r|0,s|0)|0;j=sq(b|0,E|0,j|0,I|0)|0;E=I;b=Ip(k|0,((k|0)<0)<<31>>31|0,n|0,o|0)|0;k=I;y=Ip(l|0,((l|0)<0)<<31>>31|0,p|0,q|0)|0;d=I;n=Wo(A|0,B|0,n|0,o|0)|0;m=I;p=Wo(A|0,B|0,p|0,q|0)|0;o=I;c=Wo(j|0,E|0,b|0,k|0)|0;z=I;i=Wo(j|0,E|0,y|0,d|0)|0;l=I;m=sq(c|0,z|0,n|0,m|0)|0;n=I;o=sq(i|0,l|0,p|0,o|0)|0;p=I;l=Wo(j|0,E|0,t|0,v|0)|0;i=I;z=Wo(j|0,E|0,w|0,x|0)|0;c=I;E=Wo(j|0,E|0,r|0,s|0)|0;j=I;i=Tl(l|0,i|0,A|0,B|0)|0;l=I;c=Tl(z|0,c|0,A|0,B|0)|0;z=I;j=Tl(E|0,j|0,A|0,B|0)|0;E=I;l=Ip(J|0,H|0,i|0,l|0)|0;i=I;z=Ip(G|0,F|0,c|0,z|0)|0;c=I;E=Ip(g|0,h|0,j|0,E|0)|0;j=I;i=Wo(l|0,i|0,l|0,i|0)|0;l=I;c=Wo(z|0,c|0,z|0,c|0)|0;l=sq(c|0,I|0,i|0,l|0)|0;i=I;j=Wo(E|0,j|0,E|0,j|0)|0;j=sq(l|0,i|0,j|0,I|0)|0;i=I;k=Ip(0,0,b|0,k|0)|0;l=I;i=Wo(j|0,i|0,A|0,B|0)|0;j=I;b=j&2147483647;switch(i|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;g=i;h=j;C=18}break}case 1:{if(!b){e=1;b=0;C=19}else{e=1;b=0;g=i;h=j;C=18}break}default:{e=1;b=0;g=i;h=j;C=18}}if((C|0)==18)while(1){e=zp(e|0,b|0,1)|0;b=I;J=g;g=Ep(g|0,h|0,2)|0;if(!(h>>>0>0|(h|0)==0&J>>>0>7)){C=19;break}else{h=I;C=18}}if((C|0)==19)while(1){J=pr(i|0,j|0,e|0,b|0)|0;e=sq(J|0,I|0,e|0,b|0)|0;e=Ep(e|0,I|0,1)|0;b=I;J=Wo(e|0,b|0,e|0,b|0)|0;H=I;if(H>>>0>j>>>0|(H|0)==(j|0)&J>>>0>i>>>0)C=19;else break}E=Wo(e|0,b|0,y|0,d|0)|0;F=I;C=Wo(e|0,b|0,k|0,l|0)|0;G=I;H=a+20|0;c=(f[H>>2]|0)+-1|0;J=(1<<(c&31)&f[(f[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;f[H>>2]=c;H=Ip(0,0,E|0,F|0)|0;F=sq(m|0,n|0,(J?E:H)|0,(J?F:I)|0)|0;H=I;E=Ip(0,0,C|0,G|0)|0;G=sq(o|0,p|0,(J?C:E)|0,(J?G:I)|0)|0;J=I;H=Tl(F|0,H|0,A|0,B|0)|0;J=Tl(G|0,J|0,A|0,B|0)|0;f[a+8>>2]=H;f[a+12>>2]=J;u=D;return}while(0);do if(m)b=y<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}J=a+8|0;f[J>>2]=0;f[J+4>>2]=0;u=D;return}while(0);f[a+8>>2]=f[c+(b<<2)>>2];f[a+12>>2]=f[c+(b+1<<2)>>2];u=D;return}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=La,j=0,k=La,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=La;A=u;u=u+48|0;y=A+24|0;z=A;e=be(a,c)|0;if(e|0){f[z>>2]=e;f[y>>2]=f[z>>2];qh(a,y)|0}Rm(z,c);c=z+12|0;f[c>>2]=0;x=z+16|0;f[x>>2]=0;f[z+20>>2]=0;j=d+4|0;g=(f[j>>2]|0)-(f[d>>2]|0)|0;if(g){if((g|0)<0)xr(c);e=Xo(g)|0;f[x>>2]=e;f[c>>2]=e;f[z+20>>2]=e+g;g=f[d>>2]|0;c=(f[j>>2]|0)-g|0;if((c|0)>0){li(e|0,g|0,c|0)|0;f[x>>2]=e+c}}else e=0;s=b[z+11>>0]|0;v=s<<24>>24<0;t=v?f[z>>2]|0:z;s=v?f[z+4>>2]|0:s&255;if(s>>>0>3){g=t;c=s;j=s;while(1){v=X(h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,1540483477)|0;c=(X(v>>>24^v,1540483477)|0)^(X(c,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else g=g+4|0}v=s+-4|0;g=v&-4;j=t+(g+4)|0;g=v-g|0}else{j=t;c=s;g=s}switch(g|0){case 3:{c=h[j+2>>0]<<16^c;w=13;break}case 2:{w=13;break}case 1:{w=14;break}default:{}}if((w|0)==13){c=h[j+1>>0]<<8^c;w=14}if((w|0)==14)c=X(h[j>>0]^c,1540483477)|0;v=X(c>>>13^c,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(d)c=v&p;else c=(v>>>0)%(j>>>0)|0;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){if((f[g+4>>2]&p|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((f[o+4>>2]&p|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(Wm(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}else{if(g){g=o;while(1){if((((f[g+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((((f[o+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(Wm(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}}else w=48}else{c=0;w=48}while(0);if((w|0)==48){wj(y,a,v,z);d=a+12|0;k=$(((f[d>>2]|0)+1|0)>>>0);B=$(j>>>0);i=$(n[a+16>>2]);do if(r|k>$(B*i)){e=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;c=~~$(W($(k/i)))>>>0;xj(a,e>>>0<c>>>0?c:e);e=f[q>>2]|0;c=e+-1|0;if(!(c&e)){j=e;c=c&v;break}else{j=e;c=(v>>>0)%(e>>>0)|0;break}}while(0);e=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!e){g=a+8|0;f[f[y>>2]>>2]=f[g>>2];f[g>>2]=f[y>>2];f[(f[a>>2]|0)+(c<<2)>>2]=g;g=f[y>>2]|0;e=f[g>>2]|0;if(!e)e=y;else{e=f[e+4>>2]|0;c=j+-1|0;if(!(c&j))e=e&c;else e=(e>>>0)%(j>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=g;e=y}}else{f[f[y>>2]>>2]=f[e>>2];f[e>>2]=f[y>>2];e=y}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;e=f[z+12>>2]|0}if(!e){wq(z);u=A;return}if((f[x>>2]|0)!=(e|0))f[x>>2]=e;Ns(e);wq(z);u=A;return}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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,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;P=u;u=u+96|0;E=P+72|0;J=P+48|0;K=P+24|0;L=P;H=a+4|0;if(!(f[H>>2]|0))Ga(11762,11784,46,11948);G=a+8|0;if(!(f[G>>2]|0))Ga(11762,11784,46,11948);F=a+16|0;i=f[F>>2]|0;l=f[c>>2]|0;f[E>>2]=i;f[E+4>>2]=l;D=E+8|0;f[D>>2]=l;b[E+12>>0]=1;m=(l|0)<0;if(m)k=-1073741824;else k=f[(f[i>>2]|0)+(l<<2)>>2]|0;C=a+20|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){wr(i);c=f[i>>2]|0}Mh(J,a,f[c+(k<<2)>>2]|0);i=f[D>>2]|0;v=a+28|0;c=(f[v>>2]|0)==0;a:do if((i|0)>=0){z=K+8|0;w=J+8|0;B=K+16|0;x=J+16|0;y=L+8|0;A=L+16|0;s=l+1|0;t=l+(m?0:((l>>>0)%3|0|0)==0?2:-1)|0;s=m?l:((s|0)%3|0|0)==0?l+-2|0:s;r=0;q=0;l=0;o=0;m=0;p=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){n=i+2|0;break}else{n=i+-1|0;break}}else{c=s;n=t}while(0);if(!(f[H>>2]|0)){c=17;break}if(!(f[G>>2]|0)){c=17;break}if((c|0)<0)k=-1073741824;else k=f[(f[f[F>>2]>>2]|0)+(c<<2)>>2]|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){wr(i);c=f[i>>2]|0}Mh(K,a,f[c+(k<<2)>>2]|0);if(!(f[H>>2]|0)){c=25;break}if(!(f[G>>2]|0)){c=25;break}if((n|0)<0)k=-1073741824;else k=f[(f[f[F>>2]>>2]|0)+(n<<2)>>2]|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){wr(i);c=f[i>>2]|0}Mh(L,a,f[c+(k<<2)>>2]|0);i=K;Z=J;Y=f[Z>>2]|0;Z=f[Z+4>>2]|0;i=Ip(f[i>>2]|0,f[i+4>>2]|0,Y|0,Z|0)|0;c=I;Q=z;$=w;_=f[$>>2]|0;$=f[$+4>>2]|0;Q=Ip(f[Q>>2]|0,f[Q+4>>2]|0,_|0,$|0)|0;R=I;U=B;S=x;T=f[S>>2]|0;S=f[S+4>>2]|0;U=Ip(f[U>>2]|0,f[U+4>>2]|0,T|0,S|0)|0;V=I;n=L;Z=Ip(f[n>>2]|0,f[n+4>>2]|0,Y|0,Z|0)|0;Y=I;n=y;$=Ip(f[n>>2]|0,f[n+4>>2]|0,_|0,$|0)|0;_=I;n=A;S=Ip(f[n>>2]|0,f[n+4>>2]|0,T|0,S|0)|0;T=I;n=Wo(S|0,T|0,Q|0,R|0)|0;k=I;X=Wo($|0,_|0,U|0,V|0)|0;W=I;V=Wo(Z|0,Y|0,U|0,V|0)|0;U=I;T=Wo(S|0,T|0,i|0,c|0)|0;S=I;c=Wo($|0,_|0,i|0,c|0)|0;i=I;R=Wo(Z|0,Y|0,Q|0,R|0)|0;Q=I;r=Ip(r|0,q|0,X|0,W|0)|0;k=sq(r|0,I|0,n|0,k|0)|0;n=I;l=sq(V|0,U|0,l|0,o|0)|0;l=Ip(l|0,I|0,T|0,S|0)|0;o=I;m=Ip(m|0,p|0,R|0,Q|0)|0;m=sq(m|0,I|0,c|0,i|0)|0;p=I;yi(E);i=f[D>>2]|0;c=(f[v>>2]|0)==0;if((i|0)<0){j=n;N=k;O=o;h=l;g=p;e=m;M=c;break a}else{r=k;q=n}}if((c|0)==17)Ga(11762,11970,70,12134);else if((c|0)==25)Ga(11762,11970,70,12134)}else{j=0;N=0;O=0;h=0;g=0;e=0;M=c}while(0);$=(j|0)>-1|(j|0)==-1&N>>>0>4294967295;i=Ip(0,0,N|0,j|0)|0;c=$?j:I;W=(O|0)>-1|(O|0)==-1&h>>>0>4294967295;X=Ip(0,0,h|0,O|0)|0;Y=W?O:I;_=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Z=Ip(0,0,e|0,g|0)|0;_=sq((W?h:X)|0,Y|0,(_?e:Z)|0,(_?g:I)|0)|0;c=sq(_|0,I|0,($?N:i)|0,c|0)|0;i=I;if(M)if((c|0)>536870912){$=Ep(c|0,i|0,29)|0;$=$&7;i=Tl(N|0,j|0,$|0,0)|0;j=I;h=Tl(h|0,O|0,$|0,0)|0;c=I;e=Tl(e|0,g|0,$|0,0)|0;g=I}else{i=N;c=O}else if((i|0)>0|(i|0)==0&c>>>0>536870912){_=Ep(c|0,i|0,29)|0;$=I;i=Tl(N|0,j|0,_|0,$|0)|0;j=I;h=Tl(h|0,O|0,_|0,$|0)|0;c=I;e=Tl(e|0,g|0,_|0,$|0)|0;g=I}else{i=N;c=O}Z=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;_=Ip(0,0,i|0,j|0)|0;$=Z?j:I;U=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;V=Ip(0,0,h|0,c|0)|0;W=U?c:I;Y=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;X=Ip(0,0,e|0,g|0)|0;Y=sq((U?h:V)|0,W|0,(Y?e:X)|0,(Y?g:I)|0)|0;$=sq(Y|0,I|0,(Z?i:_)|0,$|0)|0;_=I;if((_|0)<0|(_|0)==0&$>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=P;return}else Ga(12155,11784,95,11948)}function Ub(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=La,p=La,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=La;T=u;u=u+48|0;S=T+28|0;N=T+8|0;O=T;R=T+16|0;L=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;fm(R,f[Q>>2]|0);i=f[Q>>2]|0;if((i|0)>0){B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=S+4|0;F=S+12|0;D=S+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;e=H;e=Wo(w|0,((w|0)<0)<<31>>31|0,f[e>>2]|0,f[e+4>>2]|0)|0;y=sq(e|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;e=N;f[e>>2]=x;f[e+4>>2]=y;e=O;f[e>>2]=x;f[e+4>>2]=y;e=Ch(S,O)|0;if(!e){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=Ep(s|0,t|0,16)|0;m=y&65535;q=t&65535;v=Ep(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(j)e=y&k;else e=(y>>>0)%(i>>>0)|0;g=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(M=f[g>>2]|0,(M|0)!=0):0)if(j){g=M;while(1){if((f[g+4>>2]&k|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else{g=M;while(1){if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else A=25}else{e=0;A=25}while(0);if((A|0)==25){A=0;j=Xo(20)|0;v=zp(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;p=$(((f[F>>2]|0)+1|0)>>>0);U=$(i>>>0);o=$(n[L>>2]);do if(x|p>$(U*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;jj(S,e>>>0<g>>>0?g:e);e=f[E>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&y;break}else{i=e;e=(y>>>0)%(e>>>0)|0;break}}while(0);g=(f[S>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[D>>2];f[D>>2]=j;f[g>>2]=D;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[S>>2]|0)+(e<<2)|0;A=36}}else{f[j>>2]=f[e>>2];A=36}if((A|0)==36){A=0;f[e>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;e=f[y>>2]|0;y=Wo(e|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;li((f[f[C>>2]>>2]|0)+y|0,N|0,e|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;e=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[e+16>>2];e=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){q=e;break}else z=e}}else q=0;if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[R>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0<l>>>0?(P=e+(i<<2)|0,(g|0)!=(P|0)):0)f[j>>2]=g+(~((g+-4-P|0)>>>2)<<2)}else{Di(k,i-l|0,1592);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)Ga(21891,21910,89,22004);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[Q>>2]=q}i=f[R>>2]|0;if(i|0){g=R+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Ns(i)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;Ns(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return q|0}Ns(e);u=T;return q|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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,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;P=u;u=u+96|0;E=P+72|0;J=P+48|0;K=P+24|0;L=P;H=a+4|0;if(!(f[H>>2]|0))Ga(11762,11784,46,11948);G=a+8|0;if(!(f[G>>2]|0))Ga(11762,11784,46,11948);F=a+16|0;k=f[F>>2]|0;l=f[c>>2]|0;f[E>>2]=k;f[E+4>>2]=l;C=E+8|0;f[C>>2]=l;b[E+12>>0]=1;k=f[(f[k+28>>2]|0)+(l<<2)>>2]|0;D=a+20|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){wr(i);c=f[i>>2]|0}Mh(J,a,f[c+(k<<2)>>2]|0);i=f[C>>2]|0;v=a+28|0;c=(f[v>>2]|0)==0;a:do if((i|0)>=0){z=K+8|0;w=J+8|0;B=K+16|0;x=J+16|0;y=L+8|0;A=L+16|0;r=(l|0)<0;s=l+1|0;t=l+(r?0:((l>>>0)%3|0|0)==0?2:-1)|0;s=r?l:((s|0)%3|0|0)==0?l+-2|0:s;r=0;q=0;l=0;o=0;m=0;p=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){n=i+2|0;break}else{n=i+-1|0;break}}else{c=s;n=t}while(0);if(!(f[H>>2]|0)){c=15;break}if(!(f[G>>2]|0)){c=15;break}k=f[(f[(f[F>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){wr(i);c=f[i>>2]|0}Mh(K,a,f[c+(k<<2)>>2]|0);if(!(f[H>>2]|0)){c=21;break}if(!(f[G>>2]|0)){c=21;break}k=f[(f[(f[F>>2]|0)+28>>2]|0)+(n<<2)>>2]|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){wr(i);c=f[i>>2]|0}Mh(L,a,f[c+(k<<2)>>2]|0);i=K;Z=J;Y=f[Z>>2]|0;Z=f[Z+4>>2]|0;i=Ip(f[i>>2]|0,f[i+4>>2]|0,Y|0,Z|0)|0;c=I;Q=z;$=w;_=f[$>>2]|0;$=f[$+4>>2]|0;Q=Ip(f[Q>>2]|0,f[Q+4>>2]|0,_|0,$|0)|0;R=I;U=B;S=x;T=f[S>>2]|0;S=f[S+4>>2]|0;U=Ip(f[U>>2]|0,f[U+4>>2]|0,T|0,S|0)|0;V=I;n=L;Z=Ip(f[n>>2]|0,f[n+4>>2]|0,Y|0,Z|0)|0;Y=I;n=y;$=Ip(f[n>>2]|0,f[n+4>>2]|0,_|0,$|0)|0;_=I;n=A;S=Ip(f[n>>2]|0,f[n+4>>2]|0,T|0,S|0)|0;T=I;n=Wo(S|0,T|0,Q|0,R|0)|0;k=I;X=Wo($|0,_|0,U|0,V|0)|0;W=I;V=Wo(Z|0,Y|0,U|0,V|0)|0;U=I;T=Wo(S|0,T|0,i|0,c|0)|0;S=I;c=Wo($|0,_|0,i|0,c|0)|0;i=I;R=Wo(Z|0,Y|0,Q|0,R|0)|0;Q=I;r=Ip(r|0,q|0,X|0,W|0)|0;k=sq(r|0,I|0,n|0,k|0)|0;n=I;l=sq(V|0,U|0,l|0,o|0)|0;l=Ip(l|0,I|0,T|0,S|0)|0;o=I;m=Ip(m|0,p|0,R|0,Q|0)|0;m=sq(m|0,I|0,c|0,i|0)|0;p=I;kh(E);i=f[C>>2]|0;c=(f[v>>2]|0)==0;if((i|0)<0){j=n;N=k;O=o;h=l;g=p;e=m;M=c;break a}else{r=k;q=n}}if((c|0)==15)Ga(11762,11970,70,12134);else if((c|0)==21)Ga(11762,11970,70,12134)}else{j=0;N=0;O=0;h=0;g=0;e=0;M=c}while(0);$=(j|0)>-1|(j|0)==-1&N>>>0>4294967295;i=Ip(0,0,N|0,j|0)|0;c=$?j:I;W=(O|0)>-1|(O|0)==-1&h>>>0>4294967295;X=Ip(0,0,h|0,O|0)|0;Y=W?O:I;_=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Z=Ip(0,0,e|0,g|0)|0;_=sq((W?h:X)|0,Y|0,(_?e:Z)|0,(_?g:I)|0)|0;c=sq(_|0,I|0,($?N:i)|0,c|0)|0;i=I;if(M)if((c|0)>536870912){$=Ep(c|0,i|0,29)|0;$=$&7;i=Tl(N|0,j|0,$|0,0)|0;j=I;h=Tl(h|0,O|0,$|0,0)|0;c=I;e=Tl(e|0,g|0,$|0,0)|0;g=I}else{i=N;c=O}else if((i|0)>0|(i|0)==0&c>>>0>536870912){_=Ep(c|0,i|0,29)|0;$=I;i=Tl(N|0,j|0,_|0,$|0)|0;j=I;h=Tl(h|0,O|0,_|0,$|0)|0;c=I;e=Tl(e|0,g|0,_|0,$|0)|0;g=I}else{i=N;c=O}Z=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;_=Ip(0,0,i|0,j|0)|0;$=Z?j:I;U=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;V=Ip(0,0,h|0,c|0)|0;W=U?c:I;Y=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;X=Ip(0,0,e|0,g|0)|0;Y=sq((U?h:V)|0,W|0,(Y?e:X)|0,(Y?g:I)|0)|0;$=sq(Y|0,I|0,(Z?i:_)|0,$|0)|0;_=I;if((_|0)<0|(_|0)==0&$>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=P;return}else Ga(12155,11784,95,11948)}function Wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=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,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=sq(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=sq(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+224>>2]|0;if(i>>>0<(((f[a+228>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=sq(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+196|0;else{d=r<<24>>24;w=f[a+224>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{me(s,a,d);d=f[s>>2]|0;break}case 1:{Eg(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Xo(88)|0;i=f[a+224>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=4628;l=d+12|0;f[l>>2]=4652;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=4652;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=4652;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;xi(v+8|0,i,s);Pa[f[(f[v>>2]|0)+8>>2]&255](v);dh(t,v);dh(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;Oh(i,s)|0;f[s>>2]=4652;e=f[s+20>>2]|0;if(e|0)Ns(e);e=f[s+8>>2]|0;if(e|0)Ns(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=4652;e=f[t+20>>2]|0;if(e|0)Ns(e);e=f[t+8>>2]|0;if(e|0)Ns(e);f[d+8>>2]=f[w>>2];Oh(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;ih(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=4652;e=f[v+20>>2]|0;if(e|0)Ns(e);e=f[v+8>>2]|0;if(e|0)Ns(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}f[p>>2]=4652;e=f[w+24>>2]|0;if(e|0)Ns(e);e=f[w+12>>2]|0;if(e|0)Ns(e)}l=Xo(64)|0;f[x>>2]=d;Vm(l,x);d=f[x>>2]|0;f[x>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d);j=f[y>>2]|0;k=j+8|0;j=j+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Jh(k,g-i|0);break}if(g>>>0<i>>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Pa[f[(f[d>>2]|0)+4>>2]&255](d);c=1;u=A;return c|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=La;S=u;u=u+48|0;R=S+20|0;M=S+16|0;N=S+12|0;Q=S;K=R+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;fm(Q,f[P>>2]|0);g=f[P>>2]|0;if((g|0)>0){A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=R+4|0;E=R+12|0;C=R+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;d=F;x=f[d>>2]|0;d=f[d+4>>2]|0;w=G;w=Wo(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;d=sq(w|0,I|0,x|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[M>>2]=d;f[N>>2]=d;d=Eh(R,N)|0;if(!d){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;p=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(i)d=x&j;else d=(x>>>0)%(g>>>0)|0;e=f[(f[R>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(L=f[e>>2]|0,(L|0)!=0):0)if(i){e=L;while(1){if((f[e+4>>2]&j|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else{e=L;while(1){if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else z=25}else{d=0;z=25}while(0);if((z|0)==25){z=0;i=Xo(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;o=$(((f[E>>2]|0)+1|0)>>>0);T=$(g>>>0);m=$(n[K>>2]);do if(w|o>$(T*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;qj(R,d>>>0<e>>>0?e:d);d=f[D>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&x;break}else{g=d;d=(x>>>0)%(d>>>0)|0;break}}while(0);e=(f[R>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[C>>2];f[C>>2]=i;f[e>>2]=C;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[R>>2]|0)+(d<<2)|0;z=36}}else{f[i>>2]=f[d>>2];z=36}if((z|0)==36){z=0;f[d>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;d=f[x>>2]|0;x=Wo(d|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;li((f[f[B>>2]>>2]|0)+x|0,M|0,d|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;d=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[d+12>>2];d=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){p=d;break}else y=d}}else p=0;if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[Q>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0<k>>>0?(O=d+(g<<2)|0,(e|0)!=(O|0)):0)f[i>>2]=e+(~((e+-4-O|0)>>>2)<<2)}else{Di(j,g-k|0,1592);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[P>>2]=p}g=f[Q>>2]|0;if(g|0){e=Q+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[R+8>>2]|0;if(d|0)do{Q=d;d=f[d>>2]|0;Ns(Q)}while((d|0)!=0);d=f[R>>2]|0;f[R>>2]=0;if(!d){u=S;return p|0}Ns(d);u=S;return p|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=La,j=0,k=0.0,l=0.0,m=0.0,o=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=$(+p[s>>3]);n[d>>2]=i;h=d+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];i=$(l);n[d>>2]=i;i=$(k);n[d+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];m=+p[s>>3];h=j+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];j=j+16|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];i=$(m);n[d>>2]=i;i=$(k);n[d+4>>2]=i;i=$(l);n[d+8>>2]=i;n[d+12>>2]=$(0.0);j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];o=+p[s>>3];h=j+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];h=j+16|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];l=+p[s>>3];j=j+24|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];m=+p[s>>3];i=$(o);n[d>>2]=i;i=$(k);n[d+4>>2]=i;i=$(l);n[d+8>>2]=i;i=$(m);n[d+12>>2]=i;j=1;return j|0}default:{j=0;return j|0}}return 0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+736|0;C=D+720|0;s=D+16|0;B=D+72|0;r=D+64|0;v=D+56|0;w=D+48|0;x=D+40|0;y=D+32|0;z=D+24|0;A=D+8|0;t=D;e=Wa[f[(f[a>>2]|0)+20>>2]&127](a,0)|0;a=(Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0)+4|0;a=f[a>>2]|0;if((e|0)<=-1)Ga(22591,22607,67,22698);d=f[a+8>>2]|0;if(((f[a+12>>2]|0)-d>>2|0)<=(e|0))Ga(22708,22607,68,22698);a=f[d+(e<<2)>>2]|0;b[a+84>>0]=1;d=f[a+68>>2]|0;g=a+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=c+16|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0)){C=0;u=D;return C|0}n=f[c>>2]|0;g=b[n+j>>0]|0;d=sq(j|0,k|0,1,0)|0;e=I;E=o;f[E>>2]=d;f[E+4>>2]=e;switch(g<<24>>24){case 0:{if(((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0?(i=sq(j|0,k|0,2,0)|0,p=o,f[p>>2]=i,f[p+4>>2]=I,p=sq(j|0,k|0,6,0)|0,q=I,!((m|0)<(q|0)|(m|0)==(q|0)&l>>>0<p>>>0)):0)?(E=n+i|0,E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24,A=o,f[A>>2]=p,f[A+4>>2]=q,Sk(a,E)|0,oq(B),f[r>>2]=a,f[r+4>>2]=0,f[C>>2]=f[r>>2],f[C+4>>2]=f[r+4>>2],fg(B,c,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0){i=b[n+d>>0]|0;g=sq(j|0,k|0,2,0)|0;E=o;f[E>>2]=g;f[E+4>>2]=I;if((i&255)>6){f[s>>2]=i&255;tp(6462,s)|0;break}d=sq(j|0,k|0,6,0)|0;e=I;if(!((m|0)<(e|0)|(m|0)==(e|0)&l>>>0<d>>>0)){E=n+g|0;E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;s=o;f[s>>2]=d;f[s+4>>2]=e;Sk(a,E)|0;switch(i<<24>>24){case 0:{zj(B,3);f[v>>2]=a;f[v+4>>2]=0;f[C>>2]=f[v>>2];f[C+4>>2]=f[v+4>>2];E=zg(B,c,C)|0;ph(B);if(E)a=1;else break a;u=D;return a|0}case 1:{zj(B,3);f[w>>2]=a;f[w+4>>2]=0;f[C>>2]=f[w>>2];f[C+4>>2]=f[w+4>>2];E=yg(B,c,C)|0;ph(B);if(E)a=1;else break a;u=D;return a|0}case 2:{Aj(B,3);f[x>>2]=a;f[x+4>>2]=0;f[C>>2]=f[x>>2];f[C+4>>2]=f[x+4>>2];E=Bg(B,c,C)|0;sh(B);if(E)a=1;else break a;u=D;return a|0}case 3:{Aj(B,3);f[y>>2]=a;f[y+4>>2]=0;f[C>>2]=f[y>>2];f[C+4>>2]=f[y+4>>2];E=Ag(B,c,C)|0;sh(B);if(E)a=1;else break a;u=D;return a|0}case 4:{ij(B,3);f[z>>2]=a;f[z+4>>2]=0;f[C>>2]=f[z>>2];f[C+4>>2]=f[z+4>>2];E=Wf(B,c,C)|0;fh(B);if(E)a=1;else break a;u=D;return a|0}case 5:{ij(B,3);f[A>>2]=a;f[A+4>>2]=0;f[C>>2]=f[A>>2];f[C+4>>2]=f[A+4>>2];E=Vf(B,c,C)|0;fh(B);if(E)a=1;else break a;u=D;return a|0}case 6:{ij(B,3);f[t>>2]=a;f[t+4>>2]=0;f[C>>2]=f[t>>2];f[C+4>>2]=f[t+4>>2];E=Uf(B,c,C)|0;fh(B);if(E)a=1;else break a;u=D;return a|0}default:break a}}}while(0);E=0;u=D;return E|0}default:{E=0;u=D;return E|0}}return 0}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0,l=La,m=La,o=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+24|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];o=$(n[s>>2]);i=k+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=k+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);k=k+12|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];m=$(n[s>>2]);k=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+o>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+16|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d+24|0;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=La;Q=u;u=u+80|0;P=Q+48|0;K=Q+32|0;L=Q+16|0;O=Q;H=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;fm(O,f[N>>2]|0);g=f[N>>2]|0;if((g|0)>0){v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;d=A;e=f[d>>2]|0;d=f[d+4>>2]|0;h=B;g=Wo(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;d=sq(g|0,I|0,e|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;e=K;g=d;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));_n(L|0,d|0,16)|0;d=Kh(P,L)|0;if(!d){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(g)d=r&h;else d=(r>>>0)%(p>>>0)|0;e=f[(f[P>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(J=f[e>>2]|0,(J|0)!=0):0)if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else t=25}else{d=0;t=25}while(0);if((t|0)==25){t=0;h=Xo(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);R=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(R*m)){d=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;e=~~$(W($(o/m)))>>>0;nj(P,d>>>0<e>>>0?e:d);d=f[y>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=p;while(0);e=(f[P>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[x>>2];f[x>>2]=h;f[e>>2]=x;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[P>>2]|0)+(d<<2)|0;t=36}}else{f[h>>2]=f[d>>2];t=36}if((t|0)==36){t=0;f[d>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;d=f[r>>2]|0;r=Wo(d|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;li((f[f[w>>2]>>2]|0)+r|0,K|0,d|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;d=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[d+24>>2];d=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=d;break}else s=d}}else l=0;if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[O>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0<j>>>0?(M=d+(g<<2)|0,(e|0)!=(M|0)):0)f[h>>2]=e+(~((e+-4-M|0)>>>2)<<2)}else{Di(i,g-j|0,1592);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[N>>2]=l}g=f[O>>2]|0;if(g|0){e=O+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[P+8>>2]|0;if(d|0)do{O=d;d=f[d>>2]|0;Ns(O)}while((d|0)!=0);d=f[P>>2]|0;f[P>>2]=0;if(!d){u=Q;return l|0}Ns(d);u=Q;return l|0}function ac(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;C=a+8|0;f[C>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);z=e>>>0>1073741823?-1:e<<2;A=Ks(z)|0;Gk(A|0,0,z|0)|0;B=Ks(z)|0;Gk(B|0,0,z|0)|0;if((f[C>>2]|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[A+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;H=18}}else{d=d-(f[i>>2]|0)|0;H=18}if((H|0)==18){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}s=f[a+48>>2]|0;w=a+56|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;y=g-d|0;z=y>>2;if((y|0)<=4){Ls(B);Ls(A);return 1}t=f[a+52>>2]|0;v=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;r=a+20|0;q=s+12|0;p=e<<2;i=g;o=1;while(1){if(i-d>>2>>>0<=o>>>0){wr(h);d=f[h>>2]|0}n=f[d+(o<<2)>>2]|0;if(v)Gk(A|0,0,p|0)|0;if((n|0)>-1){m=f[q>>2]|0;a=n;l=0;while(1){g=f[m+(a<<2)>>2]|0;if((g|0)>=0){h=f[s>>2]|0;i=f[t>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(o|0)&(j|0)<(o|0)&(d|0)<(o|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(v){d=0;do{f[B+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(v){d=0;do{k=A+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[B+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((a>>>0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=f[m+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);a=(d|0)==(n|0)?-1073741824:d;if((a|0)<=-1)break;else l=h}g=X(o,e)|0;if(h){if(v){d=0;do{n=A+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((f[C>>2]|0)>0){h=0;do{d=f[A+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{n=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(n|0)?n:d}h=h+1|0;d=f[C>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[r>>2]|0)+d|0;H=72}}else{d=d-(f[r>>2]|0)|0;H=72}if((H|0)==72){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}}else{G=g;H=50}}else{G=X(o,e)|0;H=50}if((H|0)==50?(H=0,D=c+((X(o+-1|0,e)|0)<<2)|0,E=b+(G<<2)|0,F=c+(G<<2)|0,(f[C>>2]|0)>0):0){h=0;do{d=f[D+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{n=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(n|0)?n:d}h=h+1|0;d=f[C>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[E+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=F+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[r>>2]|0)+d|0;H=60}}else{d=d-(f[r>>2]|0)|0;H=60}if((H|0)==60){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}g=o+1|0;if((g|0)>=(z|0))break;h=f[w>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;o=g}Ls(B);Ls(A);return 1}function bc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;B=a+8|0;f[B>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);y=e>>>0>1073741823?-1:e<<2;z=Ks(y)|0;Gk(z|0,0,y|0)|0;A=Ks(y)|0;Gk(A|0,0,y|0)|0;if((f[B>>2]|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[z+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{y=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(y|0)?y:d}i=i+1|0;d=f[B>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;K=18}}else{d=d-(f[i>>2]|0)|0;K=18}if((K|0)==18){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}r=f[a+48>>2]|0;v=a+56|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;x=g-d|0;y=x>>2;if((x|0)<=4){Ls(A);Ls(z);return 1}s=f[a+52>>2]|0;u=(e|0)>0;w=a+16|0;t=a+32|0;x=a+12|0;q=a+20|0;p=r+64|0;o=r+28|0;n=e<<2;i=g;m=1;while(1){if(i-d>>2>>>0<=m>>>0){wr(h);d=f[h>>2]|0}a=f[d+(m<<2)>>2]|0;if(u)Gk(z|0,0,n|0)|0;if((a|0)>-1){l=f[r>>2]|0;k=a;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(J=f[(f[(f[p>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(J|0)>=0):0)?(E=f[o>>2]|0,i=f[s>>2]|0,C=f[i+(f[E+(J<<2)>>2]<<2)>>2]|0,D=J+1|0,D=f[i+(f[E+((((D|0)%3|0|0)==0?J+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[i+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(C|0)<(m|0)&(D|0)<(m|0)&(E|0)<(m|0)):0){g=X(C,e)|0;h=X(D,e)|0;i=X(E,e)|0;if(u){d=0;do{f[A+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(u){d=0;do{i=z+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[A+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);k=(d|0)==(a|0)?-1073741824:d}while((k|0)>-1);g=X(m,e)|0;if(j){if(u){d=0;do{a=z+(d<<2)|0;f[a>>2]=(f[a>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((f[B>>2]|0)>0){h=0;do{d=f[z+(h<<2)>>2]|0;g=f[w>>2]|0;if((d|0)>(g|0)){i=f[t>>2]|0;f[i+(h<<2)>>2]=g}else{a=f[x>>2]|0;i=f[t>>2]|0;f[i+(h<<2)>>2]=(d|0)<(a|0)?a:d}h=h+1|0;d=f[B>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[w>>2]|0)){if((d|0)<(f[x>>2]|0)){d=(f[q>>2]|0)+d|0;K=70}}else{d=d-(f[q>>2]|0)|0;K=70}if((K|0)==70){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}}else{I=g;K=48}}else{I=X(m,e)|0;K=48}if((K|0)==48?(K=0,F=c+((X(m+-1|0,e)|0)<<2)|0,G=b+(I<<2)|0,H=c+(I<<2)|0,(f[B>>2]|0)>0):0){h=0;do{d=f[F+(h<<2)>>2]|0;g=f[w>>2]|0;if((d|0)>(g|0)){i=f[t>>2]|0;f[i+(h<<2)>>2]=g}else{a=f[x>>2]|0;i=f[t>>2]|0;f[i+(h<<2)>>2]=(d|0)<(a|0)?a:d}h=h+1|0;d=f[B>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[G+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=H+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[w>>2]|0)){if((d|0)<(f[x>>2]|0)){d=(f[q>>2]|0)+d|0;K=58}}else{d=d-(f[q>>2]|0)|0;K=58}if((K|0)==58){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}g=m+1|0;if((g|0)>=(y|0))break;h=f[v>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;m=g}Ls(A);Ls(z);return 1}function cc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=La,p=La,q=0,r=0,s=0,t=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,J=0,K=0,L=La;K=u;u=u+48|0;J=K+12|0;E=K+32|0;H=K;D=J+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;n[D>>2]=$(1.0);G=a+80|0;fm(H,f[G>>2]|0);i=f[G>>2]|0;a:do if((i|0)>0){A=c+48|0;B=c+40|0;x=J+4|0;z=J+12|0;w=J+8|0;C=a+40|0;y=a+64|0;v=f[e>>2]|0;i=0;t=0;s=0;while(1){k=v+t|0;m=A;q=f[m>>2]|0;m=f[m+4>>2]|0;l=B;l=Wo(k|0,((k|0)<0)<<31>>31|0,f[l>>2]|0,f[l+4>>2]|0)|0;m=sq(l|0,I|0,q|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[E>>1]=m;q=(m^318)&65535;b:do if(i){l=i+-1|0;k=(l&i|0)==0;if(k)g=l&q;else g=(q>>>0)%(i>>>0)|0;j=f[J>>2]|0;e=f[j+(g<<2)>>2]|0;c:do if(e|0){if(k)do{e=f[e>>2]|0;if(!e)break c;if((f[e+4>>2]&l|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);else do{e=f[e>>2]|0;if(!e)break c;if((((f[e+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);f[(f[H>>2]|0)+(t<<2)>>2]=f[e+12>>2];g=s;break b}while(0);if(k)e=l&q;else e=(q>>>0)%(i>>>0)|0;g=f[j+(e<<2)>>2]|0;if(g)if(k)while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((f[g+4>>2]&l|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else{g=0;r=28}}else{i=0;e=0;g=1;r=28}while(0);if((r|0)==28){r=0;j=Xo(16)|0;d[j+8>>1]=m;f[j+12>>2]=s;f[j+4>>2]=q;f[j>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);L=$(i>>>0);o=$(n[D>>2]);do if(g|p>$(L*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;mj(J,e>>>0<g>>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&q;break}else{i=e;e=(q>>>0)%(e>>>0)|0;break}}while(0);g=(f[J>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[w>>2];f[w>>2]=j;f[g>>2]=w;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[J>>2]|0)+(e<<2)|0;r=39}}else{f[j>>2]=f[e>>2];r=39}if((r|0)==39)f[e>>2]=j;f[z>>2]=(f[z>>2]|0)+1;r=41}if((r|0)==41){r=0;q=C;g=f[q>>2]|0;q=Wo(g|0,f[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;li((f[f[y>>2]>>2]|0)+q|0,E|0,g|0)|0;f[(f[H>>2]|0)+(t<<2)>>2]=s;g=s+1|0}e=t+1|0;i=f[G>>2]|0;if((e|0)>=(i|0)){q=g;break a}i=f[x>>2]|0;t=e;s=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[H>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0<l>>>0?(F=e+(i<<2)|0,(g|0)!=(F|0)):0)f[j>>2]=g+(~((g+-4-F|0)>>>2)<<2)}else{Di(k,i-l|0,1592);i=f[G>>2]|0}if((i|0)>0){j=f[H>>2]|0;if(b[m>>0]|0)Ga(21891,21910,89,22004);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[G>>2]=q}i=f[H>>2]|0;if(i|0){g=H+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Ns(i)}e=f[J+8>>2]|0;if(e|0)do{H=e;e=f[e>>2]|0;Ns(H)}while((e|0)!=0);e=f[J>>2]|0;f[J>>2]=0;if(!e){u=K;return q|0}Ns(e);u=K;return q|0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=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,J=0,K=La;J=u;u=u+48|0;H=J+16|0;D=J+12|0;G=J;C=H+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;n[C>>2]=$(1.0);F=a+80|0;fm(G,f[F>>2]|0);g=f[F>>2]|0;a:do if((g|0)>0){z=c+48|0;A=c+40|0;w=H+4|0;y=H+12|0;v=H+8|0;B=a+40|0;x=a+64|0;t=f[d>>2]|0;g=0;s=0;r=0;while(1){j=t+s|0;l=z;p=f[l>>2]|0;l=f[l+4>>2]|0;k=A;k=Wo(j|0,((j|0)<0)<<31>>31|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=sq(k|0,I|0,p|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[D>>2]=l;p=l^318;b:do if(g){k=g+-1|0;j=(k&g|0)==0;if(j)e=k&p;else e=(p>>>0)%(g>>>0)|0;i=f[H>>2]|0;d=f[i+(e<<2)>>2]|0;c:do if(d|0){if(j)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&k|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));f[(f[G>>2]|0)+(s<<2)>>2]=f[d+12>>2];e=r;break b}while(0);if(j)d=k&p;else d=(p>>>0)%(g>>>0)|0;e=f[i+(d<<2)>>2]|0;if(e)if(j)while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((f[e+4>>2]&k|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else{e=0;q=28}}else{g=0;d=0;e=1;q=28}while(0);if((q|0)==28){q=0;i=Xo(16)|0;f[i+8>>2]=l;f[i+12>>2]=r;f[i+4>>2]=p;f[i>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);K=$(g>>>0);m=$(n[C>>2]);do if(e|o>$(K*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;Lj(H,d>>>0<e>>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&p;break}else{g=d;d=(p>>>0)%(d>>>0)|0;break}}while(0);e=(f[H>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[v>>2];f[v>>2]=i;f[e>>2]=v;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[H>>2]|0)+(d<<2)|0;q=39}}else{f[i>>2]=f[d>>2];q=39}if((q|0)==39)f[d>>2]=i;f[y>>2]=(f[y>>2]|0)+1;q=41}if((q|0)==41){q=0;p=B;e=f[p>>2]|0;p=Wo(e|0,f[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;li((f[f[x>>2]>>2]|0)+p|0,D|0,e|0)|0;f[(f[G>>2]|0)+(s<<2)>>2]=r;e=r+1|0}d=s+1|0;g=f[F>>2]|0;if((d|0)>=(g|0)){p=e;break a}g=f[w>>2]|0;s=d;r=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[G>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0<k>>>0?(E=d+(g<<2)|0,(e|0)!=(E|0)):0)f[i>>2]=e+(~((e+-4-E|0)>>>2)<<2)}else{Di(j,g-k|0,1592);g=f[F>>2]|0}if((g|0)>0){i=f[G>>2]|0;if(b[l>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[F>>2]=p}g=f[G>>2]|0;if(g|0){e=G+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[H+8>>2]|0;if(d|0)do{G=d;d=f[d>>2]|0;Ns(G)}while((d|0)!=0);d=f[H>>2]|0;f[H>>2]=0;if(!d){u=J;return p|0}Ns(d);u=J;return p|0}function ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=u;u=u+16|0;z=A;m=a+144|0;l=f[m>>2]|0;l=Sa[f[(f[l>>2]|0)+32>>2]&255](l)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){e=a+40|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if(hi(e,1,z)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));e=z;l=f[e>>2]|0;e=f[e+4>>2]|0;B=a+8|0;g=a+16|0;k=g;i=f[k>>2]|0;k=f[k+4>>2]|0;B=Ip(f[B>>2]|0,f[B+4>>2]|0,i|0,k|0)|0;C=I;if(!(e>>>0>C>>>0|(e|0)==(C|0)&l>>>0>B>>>0)){B=sq(i|0,k|0,l|0,e|0)|0;C=g;f[C>>2]=B;f[C+4>>2]=I;break}}C=0;u=A;return C|0}while(0);do if((j[a+38>>1]|0)<514){e=a+96|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if(hi(e,1,z)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));g=z;e=f[g>>2]|0;g=f[g+4>>2]|0;C=a+8|0;i=a+16|0;l=i;k=f[l>>2]|0;l=f[l+4>>2]|0;C=Ip(f[C>>2]|0,f[C+4>>2]|0,k|0,l|0)|0;B=I;if(!(g>>>0>B>>>0|(g|0)==(B|0)&e>>>0>C>>>0)){B=sq(k|0,l|0,e|0,g|0)|0;C=i;f[C>>2]=B;f[C+4>>2]=I;break}}C=0;u=A;return C|0}else lg(a+80|0,a)|0;while(0);if(!(bk(a)|0)){C=0;u=A;return C|0}g=c;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));C=f[m>>2]|0;C=Sa[f[(f[C>>2]|0)+32>>2]&255](C)|0;do if((((h[C+36>>0]|0)<<8|(h[C+37>>0]|0))&65535)<514){C=f[m>>2]|0;C=(Sa[f[(f[C>>2]|0)+32>>2]&255](C)|0)+36|0;if(((h[C>>0]|0)<<8&65535)<512){g=c+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;m=c+16|0;k=m;i=f[k>>2]|0;k=sq(i|0,f[k+4>>2]|0,4,0)|0;l=I;if(!((g|0)<(l|0)|(g|0)==(l|0)&e>>>0<k>>>0)){n=(f[c>>2]|0)+i|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[z>>2]=n;o=m;f[o>>2]=k;f[o+4>>2]=l;o=g;p=l;q=e;r=k;s=m;t=19}}else if(_k(z,c)|0){q=c+8|0;s=c+16|0;r=s;n=f[z>>2]|0;o=f[q+4>>2]|0;p=f[r+4>>2]|0;q=f[q>>2]|0;r=f[r>>2]|0;t=19}if(((t|0)==19?(C=a+152|0,d=(f[C>>2]|0)+n|0,f[C>>2]=d,(o|0)>(p|0)|(o|0)==(p|0)&q>>>0>r>>>0):0)?(C=b[(f[c>>2]|0)+r>>0]|0,t=sq(r|0,p|0,1,0)|0,B=s,f[B>>2]=t,f[B+4>>2]=I,C<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;break}C=0;u=A;return C|0}else{f[a+176>>2]=2;f[a+180>>2]=7;d=f[a+152>>2]|0}while(0);l=a+156|0;f[z>>2]=0;i=a+160|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;if(d>>>0<=k>>>0)if(d>>>0<k>>>0?(v=e+(d<<2)|0,(g|0)!=(v|0)):0){f[i>>2]=g+(~((g+-4-v|0)>>>2)<<2);d=2;e=7}else{d=2;e=7}else{Di(l,d-k|0,z);d=f[a+176>>2]|0;e=f[a+180>>2]|0}i=e-d+1|0;q=a+184|0;p=a+188|0;e=f[p>>2]|0;g=f[q>>2]|0;k=(e-g|0)/12|0;d=e;if(i>>>0<=k>>>0){if(i>>>0<k>>>0?(w=g+(i*12|0)|0,(d|0)!=(w|0)):0){do{e=d+-12|0;f[p>>2]=e;g=f[e>>2]|0;if(!g)d=e;else{e=d+-8|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g);d=f[p>>2]|0}}while((d|0)!=(w|0));e=d}}else{ch(q,i-k|0);e=f[p>>2]|0}o=a+196|0;d=f[q>>2]|0;m=(e-d|0)/12|0;k=a+200|0;i=f[k>>2]|0;g=f[o>>2]|0;l=i-g>>2;if(m>>>0<=l>>>0){if(m>>>0<l>>>0?(x=g+(m<<2)|0,(i|0)!=(x|0)):0)f[k>>2]=i+(~((i+-4-x|0)>>>2)<<2)}else{Tj(o,m-l|0);e=f[p>>2]|0;d=f[q>>2]|0}if((e|0)==(d|0)){C=1;u=A;return C|0}n=0;do{_k(z,c)|0;d=f[z>>2]|0;if(d|0){e=f[q>>2]|0;l=e+(n*12|0)|0;k=e+(n*12|0)+4|0;i=f[k>>2]|0;g=f[l>>2]|0;m=i-g>>2;if(d>>>0<=m>>>0){if(d>>>0<m>>>0?(y=g+(d<<2)|0,(i|0)!=(y|0)):0)f[k>>2]=i+(~((i+-4-y|0)>>>2)<<2)}else{Tj(l,d-m|0);e=f[q>>2]|0;d=f[z>>2]|0}yk(d,1,c,f[e+(n*12|0)>>2]|0)|0;f[(f[o>>2]|0)+(n<<2)>>2]=f[z>>2]}n=n+1|0}while(n>>>0<(((f[p>>2]|0)-(f[q>>2]|0)|0)/12|0)>>>0);d=1;u=A;return d|0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=La,m=La,o=0,p=0,q=0,r=0,s=0,t=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,J=La;H=u;u=u+48|0;G=H+12|0;C=H+32|0;F=H;B=G+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;n[B>>2]=$(1.0);E=a+80|0;fm(F,f[E>>2]|0);g=f[E>>2]|0;a:do if((g|0)>0){y=c+48|0;z=c+40|0;v=G+4|0;x=G+12|0;t=G+8|0;A=a+40|0;w=a+64|0;s=f[d>>2]|0;g=0;r=0;q=0;while(1){i=s+r|0;k=y;o=f[k>>2]|0;k=f[k+4>>2]|0;j=z;j=Wo(i|0,((i|0)<0)<<31>>31|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=sq(j|0,I|0,o|0,k|0)|0;k=b[(f[f[c>>2]>>2]|0)+k>>0]|0;b[C>>0]=k;o=k&255^318;b:do if(g){j=g+-1|0;i=(j&g|0)==0;if(i)e=j&o;else e=(o>>>0)%(g>>>0)|0;h=f[G>>2]|0;d=f[h+(e<<2)>>2]|0;c:do if(d|0){if(i)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&j|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);f[(f[F>>2]|0)+(r<<2)>>2]=f[d+12>>2];e=q;break b}while(0);if(i)d=j&o;else d=(o>>>0)%(g>>>0)|0;e=f[h+(d<<2)>>2]|0;if(e)if(i)while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((f[e+4>>2]&j|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else{e=0;p=28}}else{g=0;d=0;e=1;p=28}while(0);if((p|0)==28){p=0;h=Xo(16)|0;b[h+8>>0]=k;f[h+12>>2]=q;f[h+4>>2]=o;f[h>>2]=0;m=$(((f[x>>2]|0)+1|0)>>>0);J=$(g>>>0);l=$(n[B>>2]);do if(e|m>$(J*l)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(m/l)))>>>0;tj(G,d>>>0<e>>>0?e:d);d=f[v>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&o;break}else{g=d;d=(o>>>0)%(d>>>0)|0;break}}while(0);e=(f[G>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[t>>2];f[t>>2]=h;f[e>>2]=t;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[G>>2]|0)+(d<<2)|0;p=39}}else{f[h>>2]=f[d>>2];p=39}if((p|0)==39)f[d>>2]=h;f[x>>2]=(f[x>>2]|0)+1;p=41}if((p|0)==41){p=0;o=A;e=f[o>>2]|0;o=Wo(e|0,f[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;li((f[f[w>>2]>>2]|0)+o|0,C|0,e|0)|0;f[(f[F>>2]|0)+(r<<2)>>2]=q;e=q+1|0}d=r+1|0;g=f[E>>2]|0;if((d|0)>=(g|0)){o=e;break a}g=f[v>>2]|0;r=d;q=e}}else o=0;while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[F>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0<j>>>0?(D=d+(g<<2)|0,(e|0)!=(D|0)):0)f[h>>2]=e+(~((e+-4-D|0)>>>2)<<2)}else{Di(i,g-j|0,1592);g=f[E>>2]|0}if((g|0)>0){h=f[F>>2]|0;if(b[k>>0]|0)Ga(21891,21910,89,22004);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[E>>2]=o}g=f[F>>2]|0;if(g|0){e=F+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[G+8>>2]|0;if(d|0)do{F=d;d=f[d>>2]|0;Ns(F)}while((d|0)!=0);d=f[G>>2]|0;f[G>>2]=0;if(!d){u=H;return o|0}Ns(d);u=H;return o|0}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];f[d>>2]=~~+p[s>>3];h=d+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;h=1;return h|0}case 2:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;i=I;h=f[a>>2]|0;c=f[h>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];j=+p[s>>3];f[d>>2]=~~k;f[d+4>>2]=~~j;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];l=+p[s>>3];h=i+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];j=+p[s>>3];i=i+16|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];f[d>>2]=~~l;f[d+4>>2]=~~j;f[d+8>>2]=~~k;f[d+12>>2]=0;i=1;return i|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];m=+p[s>>3];h=i+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];j=+p[s>>3];h=i+16|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];i=i+24|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];l=+p[s>>3];f[d>>2]=~~m;f[d+4>>2]=~~j;f[d+8>>2]=~~k;f[d+12>>2]=~~l;i=1;return i|0}default:{i=0;return i|0}}return 0}function hc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[6572]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0<d>>>0)return;if((g|0)==(f[6573]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[6570]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[6568]=f[6568]&~(1<<c);i=g;j=g;b=h;break}else{f[a+12>>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=26576+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6569]=f[6569]&~(1<<a);i=g;j=g;b=h;break}}else{f[e+16+(((f[e+16>>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[6573]|0;if((k|0)==(f[6574]|0)){k=(f[6571]|0)+b|0;f[6571]=k;f[6574]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[6573]=0;f[6570]=0;return}if((k|0)==(a|0)){k=(f[6570]|0)+b|0;f[6570]=k;f[6573]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[6568]=f[6568]&~(1<<c);break}else{f[b+12>>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=26576+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6569]=f[6569]&~(1<<a);break}}else{f[g+16+(((f[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[6573]|0)){f[6570]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=26312+(a<<1<<2)|0;b=f[6568]|0;a=1<<a;if(!(b&a)){f[6568]=b|a;a=c+8|0;b=c}else{b=c+8|0;a=b;b=f[b>>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<<i;h=(k+520192|0)>>>16&4;k=k<<h;b=(k+245760|0)>>>16&2;b=14-(h|i|b)+(k<<b>>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=26576+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[6569]|0;c=1<<b;do if(a&c){b=e<<((b|0)==31?0:25-(b>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[6569]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[6576]|0)+-1|0;f[6576]=k;if(!k)a=26728;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[6576]=-1;return}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))hk(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Uh(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Uh(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Uh(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;y=40}else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){hk(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];b[s+4>>0]=b[g+4>>0];b[s+5>>0]=b[g+5>>0];b[s+6>>0]=b[g+6>>0];b[s+7>>0]=b[g+7>>0];i=+p[s>>3];g=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~i>>>0;f[h+4>>2]=g;h=d+8|0;f[h>>2]=0;f[h+4>>2]=0;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];j=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~k>>>0;f[h+4>>2]=j;h=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;j=d+8|0;f[j>>2]=~~i>>>0;f[j+4>>2]=h;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~i>>>0;f[h+4>>2]=j;h=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;j=d+8|0;f[j>>2]=~~k>>>0;f[j+4>>2]=h;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];i=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;h=d;f[h>>2]=~~i>>>0;f[h+4>>2]=j;h=+K(k)>=1.0?(k>0.0?~~+Y(+J(k/4294967296.0),4294967295.0)>>>0:~~+W((k-+(~~k>>>0))/4294967296.0)>>>0):0;j=d+8|0;f[j>>2]=~~k>>>0;f[j+4>>2]=h;j=1;return j|0}default:{j=0;return j|0}}return 0}function kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0,m=0,o=0,p=0;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,8,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}m=g+c|0;l=m;m=m+4|0;e=$(+((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0)+4294967296.0*+((h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24)>>>0));i=$(e*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?e:i;d=d+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;d=1;return d|0}case 2:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,16,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}g=g+c|0;m=g;l=m;m=m+4|0;g=g+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(+((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0)+4294967296.0*+((h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(+(c>>>0)+4294967296.0*+(g>>>0))}else{e=$(e*$(5.42101086e-20));n[d>>2]=e;e=$($(+(c>>>0)+4294967296.0*+(g>>>0))*$(5.42101086e-20))}n[d+4>>2]=e;d=d+8|0;f[d>>2]=0;f[d+4>>2]=0;d=1;return d|0}case 3:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,24,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}k=g+c|0;m=k;l=m;m=m+4|0;g=k+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;k=k+16|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;e=$(+((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0)+4294967296.0*+((h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(+(c>>>0)+4294967296.0*+(g>>>0));e=$(+(j>>>0)+4294967296.0*+(k>>>0))}else{i=$(e*$(5.42101086e-20));n[d>>2]=i;i=$($(+(c>>>0)+4294967296.0*+(g>>>0))*$(5.42101086e-20));e=$($(+(j>>>0)+4294967296.0*+(k>>>0))*$(5.42101086e-20))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);d=1;return d|0}case 4:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,32,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}m=g+c|0;o=m;p=o;o=o+4|0;g=m+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;k=m+16|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;m=m+24|0;l=m;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=$(+((h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24)>>>0)+4294967296.0*+((h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(+(c>>>0)+4294967296.0*+(g>>>0));n[d+4>>2]=i;i=$(+(j>>>0)+4294967296.0*+(k>>>0));n[d+8>>2]=i;i=$(+(l>>>0)+4294967296.0*+(m>>>0));n[d+12>>2]=i;p=1;return p|0}else{i=$(e*$(5.42101086e-20));n[d>>2]=i;i=$($(+(c>>>0)+4294967296.0*+(g>>>0))*$(5.42101086e-20));n[d+4>>2]=i;i=$($(+(j>>>0)+4294967296.0*+(k>>>0))*$(5.42101086e-20));n[d+8>>2]=i;i=$($(+(l>>>0)+4294967296.0*+(m>>>0))*$(5.42101086e-20));n[d+12>>2]=i;p=1;return p|0}}default:{p=0;return p|0}}return 0}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0,m=0,o=0,p=0;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,8,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}m=g+c|0;l=m;m=m+4|0;e=$(+((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0)+4294967296.0*+(h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24|0));i=$(e*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?e:i;d=d+4|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;d=1;return d|0}case 2:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,16,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}g=g+c|0;m=g;l=m;m=m+4|0;g=g+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(+((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0)+4294967296.0*+(h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(+(c>>>0)+4294967296.0*+(g|0))}else{e=$(e*$(1.08420217e-19));n[d>>2]=e;e=$($(+(c>>>0)+4294967296.0*+(g|0))*$(1.08420217e-19))}n[d+4>>2]=e;d=d+8|0;f[d>>2]=0;f[d+4>>2]=0;d=1;return d|0}case 3:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,24,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}k=g+c|0;m=k;l=m;m=m+4|0;g=k+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;k=k+16|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;e=$(+((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0)+4294967296.0*+(h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(+(c>>>0)+4294967296.0*+(g|0));e=$(+(j>>>0)+4294967296.0*+(k|0))}else{i=$(e*$(1.08420217e-19));n[d>>2]=i;i=$($(+(c>>>0)+4294967296.0*+(g|0))*$(1.08420217e-19));e=$($(+(j>>>0)+4294967296.0*+(k|0))*$(1.08420217e-19))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);d=1;return d|0}case 4:{k=f[c>>2]|0;c=a+48|0;l=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,l|0,c|0)|0;l=sq(c|0,I|0,32,0)|0;k=I;m=f[a>>2]|0;g=f[m>>2]|0;if((k|0)>0|((k|0)==0?l>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){d=0;return d|0}m=g+c|0;o=m;p=o;o=o+4|0;g=m+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;k=m+16|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;m=m+24|0;l=m;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=$(+((h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24)>>>0)+4294967296.0*+(h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(+(c>>>0)+4294967296.0*+(g|0));n[d+4>>2]=i;i=$(+(j>>>0)+4294967296.0*+(k|0));n[d+8>>2]=i;i=$(+(l>>>0)+4294967296.0*+(m|0));n[d+12>>2]=i;p=1;return p|0}else{i=$(e*$(1.08420217e-19));n[d>>2]=i;i=$($(+(c>>>0)+4294967296.0*+(g|0))*$(1.08420217e-19));n[d+4>>2]=i;i=$($(+(j>>>0)+4294967296.0*+(k|0))*$(1.08420217e-19));n[d+8>>2]=i;i=$($(+(l>>>0)+4294967296.0*+(m|0))*$(1.08420217e-19));n[d+12>>2]=i;p=1;return p|0}}default:{p=0;return p|0}}return 0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=La,j=0,k=0.0,l=0.0,m=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=$(+p[s>>3]);n[d>>2]=i;h=d+4|0;f[h>>2]=0;f[h+4>>2]=0;h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];i=$(l);n[d>>2]=i;i=$(k);n[d+4>>2]=i;n[d+8>>2]=$(0.0);j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];m=+p[s>>3];h=j+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];j=j+16|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];i=$(m);n[d>>2]=i;i=$(k);n[d+4>>2]=i;i=$(l);n[d+8>>2]=i;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];h=j+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];l=+p[s>>3];j=j+16|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];m=+p[s>>3];i=$(k);n[d>>2]=i;i=$(l);n[d+4>>2]=i;i=$(m);n[d+8>>2]=i;j=1;return j|0}default:{j=0;return j|0}}return 0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))hk(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Uh(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Uh(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>2]|0;c=d+1|0;if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Uh(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=c;e=d;y=41}else{do if((c|0)<0)c=-1073741824;else{m=c+1|0;c=((m|0)%3|0|0)==0?c+-2|0:m;if((c|0)<0)break;c=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){hk(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0,l=La,m=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+16|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=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,v=0,w=0,x=0,y=0,z=0;w=u;u=u+688|0;t=w+680|0;l=w;v=w+8|0;m=w+676|0;n=w+672|0;o=w+668|0;p=w+664|0;q=w+660|0;r=w+656|0;s=w+4|0;i=c+8|0;y=i;g=f[y>>2]|0;y=f[y+4>>2]|0;k=c+16|0;j=k;e=f[j>>2]|0;j=sq(e|0,f[j+4>>2]|0,4,0)|0;x=I;if((y|0)<(x|0)|(y|0)==(x|0)&g>>>0<j>>>0){y=0;u=w;return y|0}y=(f[c>>2]|0)+e|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;b[a>>0]=y;b[a+1>>0]=y>>8;b[a+2>>0]=y>>16;b[a+3>>0]=y>>24;y=k;j=f[y>>2]|0;y=f[y+4>>2]|0;e=sq(j|0,y|0,4,0)|0;g=k;f[g>>2]=e;f[g+4>>2]=I;g=i;x=f[g>>2]|0;g=f[g+4>>2]|0;y=sq(j|0,y|0,8,0)|0;j=I;if((g|0)<(j|0)|(g|0)==(j|0)&x>>>0<y>>>0){y=0;u=w;return y|0}y=a+4|0;g=(f[c>>2]|0)+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[y>>0]=g;b[y+1>>0]=g>>8;b[y+2>>0]=g>>16;b[y+3>>0]=g>>24;y=k;g=f[y>>2]|0;y=f[y+4>>2]|0;e=sq(g|0,y|0,4,0)|0;j=k;f[j>>2]=e;f[j+4>>2]=I;j=a+12|0;z=i;x=f[z>>2]|0;z=f[z+4>>2]|0;y=sq(g|0,y|0,8,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&x>>>0<y>>>0){z=0;u=w;return z|0}g=(f[c>>2]|0)+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[j>>0]=g;b[j+1>>0]=g>>8;b[j+2>>0]=g>>16;b[j+3>>0]=g>>24;z=k;x=f[z>>2]|0;z=f[z+4>>2]|0;e=sq(x|0,z|0,4,0)|0;y=k;f[y>>2]=e;f[y+4>>2]=I;a=a+16|0;y=f[i>>2]|0;i=f[i+4>>2]|0;z=sq(x|0,z|0,8,0)|0;x=I;if((i|0)<(x|0)|(i|0)==(x|0)&y>>>0<z>>>0){z=0;u=w;return z|0}e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;y=k;y=sq(f[y>>2]|0,f[y+4>>2]|0,4,0)|0;z=k;f[z>>2]=y;f[z+4>>2]=I;if(e>>>0>6){f[l>>2]=e;tp(22159,l)|0;z=0;u=w;return z|0}e=d;a:do if(g|0){wk(d,g);switch(f[a>>2]|0){case 0:{zj(v,3);f[m>>2]=e;f[t>>2]=f[m>>2];tg(v,c,t)|0;ph(v);break a}case 1:{zj(v,3);f[n>>2]=e;f[t>>2]=f[n>>2];sg(v,c,t)|0;ph(v);break a}case 2:{Aj(v,3);f[o>>2]=e;f[t>>2]=f[o>>2];vg(v,c,t)|0;sh(v);break a}case 3:{Aj(v,3);f[p>>2]=e;f[t>>2]=f[p>>2];ug(v,c,t)|0;sh(v);break a}case 4:{ij(v,3);f[q>>2]=e;f[t>>2]=f[q>>2];Hf(v,c,t)|0;fh(v);break a}case 5:{ij(v,3);f[r>>2]=e;f[t>>2]=f[r>>2];Gf(v,c,t)|0;fh(v);break a}case 6:{ij(v,3);f[s>>2]=e;f[t>>2]=f[s>>2];Ff(v,c,t)|0;fh(v);break a}default:{z=0;u=w;return z|0}}}while(0);z=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[j>>2]|0);u=w;return z|0}function qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];f[d>>2]=~~+p[s>>3];h=d+4|0;f[h>>2]=0;f[h+4>>2]=0;h=1;return h|0}case 2:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;i=I;h=f[a>>2]|0;c=f[h>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];j=+p[s>>3];f[d>>2]=~~k;f[d+4>>2]=~~j;f[d+8>>2]=0;i=1;return i|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];l=+p[s>>3];h=i+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];j=+p[s>>3];i=i+16|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];f[d>>2]=~~l;f[d+4>>2]=~~j;f[d+8>>2]=~~k;i=1;return i|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];j=+p[s>>3];h=i+8|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];k=+p[s>>3];i=i+16|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];l=+p[s>>3];f[d>>2]=~~j;f[d+4>>2]=~~k;f[d+8>>2]=~~l;i=1;return i|0}default:{i=0;return i|0}}return 0}function rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La,m=0;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if((k|0)>0|((k|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;j=k;k=k+4|0;l=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));e=$(l*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|0;k=g;j=k;k=k+4|0;g=g+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(+(c>>>0)+4294967296.0*+(g>>>0))}else{e=$(e*$(5.42101086e-20));n[d>>2]=e;e=$($(+(c>>>0)+4294967296.0*+(g>>>0))*$(5.42101086e-20))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,24,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}j=g+c|0;k=j;m=k;k=k+4|0;g=j+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=j+16|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(+((h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(+(c>>>0)+4294967296.0*+(g>>>0));n[d+4>>2]=l;l=$(+(i>>>0)+4294967296.0*+(j>>>0));n[d+8>>2]=l;m=1;return m|0}else{l=$(e*$(5.42101086e-20));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(g>>>0))*$(5.42101086e-20));n[d+4>>2]=l;l=$($(+(i>>>0)+4294967296.0*+(j>>>0))*$(5.42101086e-20));n[d+8>>2]=l;m=1;return m|0}}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,32,0)|0;j=I;m=f[a>>2]|0;g=f[m>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){m=0;return m|0}j=g+c|0;m=j;k=m;m=m+4|0;g=j+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=j+16|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0)+4294967296.0*+((h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(+(c>>>0)+4294967296.0*+(g>>>0));n[d+4>>2]=l;l=$(+(i>>>0)+4294967296.0*+(j>>>0));n[d+8>>2]=l;m=1;return m|0}else{l=$(e*$(5.42101086e-20));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(g>>>0))*$(5.42101086e-20));n[d+4>>2]=l;l=$($(+(i>>>0)+4294967296.0*+(j>>>0))*$(5.42101086e-20));n[d+8>>2]=l;m=1;return m|0}}default:{m=0;return m|0}}return 0}function sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La,m=0;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=sq(c|0,I|0,8,0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if((k|0)>0|((k|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;j=k;k=k+4|0;l=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));e=$(l*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|0;k=g;j=k;k=k+4|0;g=g+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(+(c>>>0)+4294967296.0*+(g|0))}else{e=$(e*$(1.08420217e-19));n[d>>2]=e;e=$($(+(c>>>0)+4294967296.0*+(g|0))*$(1.08420217e-19))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,24,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}j=g+c|0;k=j;m=k;k=k+4|0;g=j+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=j+16|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(+((h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(+(c>>>0)+4294967296.0*+(g|0));n[d+4>>2]=l;l=$(+(i>>>0)+4294967296.0*+(j|0));n[d+8>>2]=l;m=1;return m|0}else{l=$(e*$(1.08420217e-19));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(g|0))*$(1.08420217e-19));n[d+4>>2]=l;l=$($(+(i>>>0)+4294967296.0*+(j|0))*$(1.08420217e-19));n[d+8>>2]=l;m=1;return m|0}}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;m=a+40|0;c=sq(Wo(f[m>>2]|0,f[m+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=sq(c|0,I|0,32,0)|0;j=I;m=f[a>>2]|0;g=f[m>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[m+4>>2]|0)-g|0)>>>0:0)){m=0;return m|0}j=g+c|0;m=j;k=m;m=m+4|0;g=j+8|0;c=g;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=j+16|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0)+4294967296.0*+(h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(+(c>>>0)+4294967296.0*+(g|0));n[d+4>>2]=l;l=$(+(i>>>0)+4294967296.0*+(j|0));n[d+8>>2]=l;m=1;return m|0}else{l=$(e*$(1.08420217e-19));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(g|0))*$(1.08420217e-19));n[d+4>>2]=l;l=$($(+(i>>>0)+4294967296.0*+(j|0))*$(1.08420217e-19));n[d+8>>2]=l;m=1;return m|0}}default:{m=0;return m|0}}return 0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=La,i=La,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=La;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(Wm(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(Wm(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=Xo(24)|0;Rm(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;xj(a,d>>>0<e>>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=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,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;F=u;u=u+80|0;B=F+76|0;A=F;E=F+72|0;z=F+64|0;D=F+68|0;C=a+28|0;do if(((h[(f[C>>2]|0)+36>>0]|0)<<8&65535)<512){w=c+8|0;x=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=sq(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&x>>>0<e>>>0){E=0;u=F;return E|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;x=i;f[x>>2]=e;f[x+4>>2]=g;break}}else if(_k(B,c)|0){d=f[B>>2]|0;break}else{E=0;u=F;return E|0}while(0);if(!d){E=0;u=F;return E|0}x=a+4|0;i=a+8|0;g=f[i>>2]|0;e=f[x>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){Tj(x,d-j|0);if(!(f[B>>2]|0)){E=1;u=F;return E|0}}else if(d>>>0<j>>>0?(k=e+(d<<2)|0,(g|0)!=(k|0)):0)f[i>>2]=g+(~((g+-4-k|0)>>>2)<<2);p=f[a+32>>2]|0;s=c+8|0;v=c+16|0;w=A+60|0;r=p+8|0;q=p+12|0;t=a+16|0;n=a+20|0;o=0;while(1){g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;a=v;k=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>k>>>0)){d=0;e=53;break}i=f[c>>2]|0;m=b[i+k>>0]|0;d=sq(k|0,a|0,1,0)|0;l=I;j=v;f[j>>2]=d;f[j+4>>2]=l;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>d>>>0)){d=0;e=53;break}l=b[i+d>>0]|0;d=sq(k|0,a|0,2,0)|0;j=I;G=v;f[G>>2]=d;f[G+4>>2]=j;if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>d>>>0)){d=0;e=53;break}j=b[i+d>>0]|0;d=sq(k|0,a|0,3,0)|0;G=I;H=v;f[H>>2]=d;f[H+4>>2]=G;if(!((g|0)>(G|0)|(g|0)==(G|0)&e>>>0>d>>>0)){d=0;e=53;break}e=b[i+d>>0]|0;H=sq(k|0,a|0,4,0)|0;d=v;f[d>>2]=H;f[d+4>>2]=I;d=l&255;if((l+-1&255)>10){d=0;e=53;break}rn(A);H=X(Ln(d)|0,j&255)|0;Zk(A,m&255,0,j,d,e<<24>>24!=0,H,((H|0)<0)<<31>>31,0,0);H=f[C>>2]|0;if((((h[H+36>>0]|0)<<8|(h[H+37>>0]|0))&65535)>258){_k(E,c)|0;d=f[E>>2]|0}else{G=s;H=f[G>>2]|0;G=f[G+4>>2]|0;e=v;d=f[e>>2]|0;e=sq(d|0,f[e+4>>2]|0,2,0)|0;g=I;if((G|0)<(g|0)|(G|0)==(g|0)&H>>>0<e>>>0){e=51;break}d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8;H=v;f[H>>2]=e;f[H+4>>2]=g;d=d&65535;f[E>>2]=d}f[w>>2]=d;j=Xo(96)|0;dn(j,A);f[z>>2]=j;j=Oi(p,z)|0;i=f[z>>2]|0;f[z>>2]=0;if(i|0){H=i+88|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}d=f[i+68>>2]|0;if(d|0){g=i+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}H=i+64|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}Ns(i)}if((j|0)<=-1){e=41;break}d=f[r>>2]|0;if(((f[q>>2]|0)-d>>2|0)<=(j|0)){e=43;break}f[(f[d+(j<<2)>>2]|0)+60>>2]=f[E>>2];f[(f[x>>2]|0)+(o<<2)>>2]=j;e=f[n>>2]|0;d=f[t>>2]|0;i=e-d>>2;if((j|0)>=(i|0)){g=j+1|0;f[D>>2]=-1;if(g>>>0<=i>>>0){if(g>>>0<i>>>0?(y=d+(g<<2)|0,(e|0)!=(y|0)):0)f[n>>2]=e+(~((e+-4-y|0)>>>2)<<2)}else{Di(t,g-i|0,D);d=f[t>>2]|0}}f[d+(j<<2)>>2]=o;o=o+1|0;if(o>>>0>=(f[B>>2]|0)>>>0){d=1;e=53;break}}if((e|0)==41)Ga(22591,22607,67,22698);else if((e|0)==43)Ga(22708,22607,68,22698);else if((e|0)==51){H=0;u=F;return H|0}else if((e|0)==53){u=F;return d|0}return 0}function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else hk(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))hk(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else hk(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){hk(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Ga(22874,22792,64,22869);else if((C|0)==33)Ga(22874,22792,64,22869)}function wc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;x=a+8|0;f[x>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Tj(i,e-j|0);d=f[x>>2]|0}u=f[a+48>>2]|0;v=f[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=Ks(t)|0;Gk(w|0,0,t|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[w+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{t=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(t|0)?t:d}i=i+1|0;d=f[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;C=18}}else{d=d-(f[i>>2]|0)|0;C=18}if((C|0)==18){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}q=a+56|0;h=f[q>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;t=s>>2;if((s|0)<=4){Ls(w);return 1}r=a+16|0;p=a+32|0;s=a+12|0;o=a+20|0;m=u+12|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){wr(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((d|0)>=0?(B=f[(f[m>>2]|0)+(d<<2)>>2]|0,(B|0)>=0):0){g=f[u>>2]|0;h=f[v>>2]|0;i=f[h+(f[g+(B<<2)>>2]<<2)>>2]|0;d=B+1|0;d=((d|0)%3|0|0)==0?B+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(n){d=0;do{f[w+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[x>>2]|0)>0){h=0;do{d=f[w+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=57}}else{d=d-(f[o>>2]|0)|0;C=57}if((C|0)==57){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,y=c+((X(a+-1|0,e)|0)<<2)|0,z=b+(l<<2)|0,A=c+(l<<2)|0,(f[x>>2]|0)>0):0){h=0;do{d=f[y+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[z+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=A+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=45}}else{d=d-(f[o>>2]|0)|0;C=45}if((C|0)==45){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}g=a+1|0;if((g|0)>=(t|0))break;h=f[q>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Ls(w);return 1}function xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;y=a+8|0;f[y>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Tj(i,e-j|0);d=f[y>>2]|0}v=f[a+48>>2]|0;w=f[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=Ks(u)|0;Gk(x|0,0,u|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[x+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{u=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(u|0)?u:d}i=i+1|0;d=f[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;G=18}}else{d=d-(f[i>>2]|0)|0;G=18}if((G|0)==18){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}r=a+56|0;h=f[r>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;t=g-d|0;u=t>>2;if((t|0)<=4){Ls(x);return 1}s=a+16|0;q=a+32|0;t=a+12|0;p=a+20|0;o=v+64|0;m=v+28|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){wr(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(F=f[(f[(f[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(F|0)>=0):0)?(B=f[m>>2]|0,k=f[w>>2]|0,z=f[k+(f[B+(F<<2)>>2]<<2)>>2]|0,A=F+1|0,A=f[k+(f[B+((((A|0)%3|0|0)==0?F+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[k+(f[B+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(A|0)<(a|0)&(B|0)<(a|0)):0){g=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(n){d=0;do{f[x+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[y>>2]|0)>0){h=0;do{d=f[x+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=53}}else{d=d-(f[p>>2]|0)|0;G=53}if((G|0)==53){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,C=c+((X(a+-1|0,e)|0)<<2)|0,D=b+(l<<2)|0,E=c+(l<<2)|0,(f[y>>2]|0)>0):0){h=0;do{d=f[C+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[D+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=E+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=41}}else{d=d-(f[p>>2]|0)|0;G=41}if((G|0)==41){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}g=a+1|0;if((g|0)>=(u|0))break;h=f[r>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Ls(x);return 1}function yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Ga(22708,22607,68,22698);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Ns(g)}Ns(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Ns(g)}Ns(e)}Ns(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(c)}Ns(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){qk(d);Ns(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){qk(c);Ns(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){_n(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0<g>>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0<g>>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0<g>>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0<g>>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0<g>>>0);return}function zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=La,j=0,k=0.0,l=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];i=$(+p[s>>3]);n[d>>2]=i;n[d+4>>2]=$(0.0);h=1;return h|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;j=I;h=f[a>>2]|0;c=f[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];i=$(l);n[d>>2]=i;i=$(k);n[d+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];i=$(k);n[d>>2]=i;i=$(l);n[d+4>>2]=i;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=sq(Wo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];k=+p[s>>3];j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];b[s+4>>0]=b[j+4>>0];b[s+5>>0]=b[j+5>>0];b[s+6>>0]=b[j+6>>0];b[s+7>>0]=b[j+7>>0];l=+p[s>>3];i=$(k);n[d>>2]=i;i=$(l);n[d+4>>2]=i;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0.0,k=0.0;switch(b[a+24>>0]|0){case 1:{h=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;h=I;a=f[a>>2]|0;c=f[a>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){h=0;return h|0}h=c+e|0;b[s>>0]=b[h>>0];b[s+1>>0]=b[h+1>>0];b[s+2>>0]=b[h+2>>0];b[s+3>>0]=b[h+3>>0];b[s+4>>0]=b[h+4>>0];b[s+5>>0]=b[h+5>>0];b[s+6>>0]=b[h+6>>0];b[s+7>>0]=b[h+7>>0];f[d>>2]=~~+p[s>>3];f[d+4>>2]=0;h=1;return h|0}case 2:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;h=a+40|0;e=sq(Wo(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,16,0)|0;i=I;h=f[a>>2]|0;c=f[h>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[h+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];j=+p[s>>3];f[d>>2]=~~k;f[d+4>>2]=~~j;i=1;return i|0}case 3:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,24,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];j=+p[s>>3];i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];f[d>>2]=~~j;f[d+4>>2]=~~k;i=1;return i|0}case 4:{g=f[c>>2]|0;e=a+48|0;h=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,h|0,e|0)|0;h=sq(e|0,I|0,32,0)|0;g=I;i=f[a>>2]|0;c=f[i>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];j=+p[s>>3];i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];b[s+4>>0]=b[i+4>>0];b[s+5>>0]=b[i+5>>0];b[s+6>>0]=b[i+6>>0];b[s+7>>0]=b[i+7>>0];k=+p[s>>3];f[d>>2]=~~j;f[d+4>>2]=~~k;i=1;return i|0}default:{i=0;return i|0}}return 0}function Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0,l=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=sq(Wo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=sq(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);k=k+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];j=$(n[s>>2]);k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=sq(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];j=$(n[s>>2]);k=k+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);k=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=k;i=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+l>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function Cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;j=k;k=k+4|0;l=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));g=$(l*$(5.42101086e-20));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}e=e+c|0;k=e;j=k;k=k+4|0;e=e+8|0;c=e;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=e+4|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;g=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(+(c>>>0)+4294967296.0*+(e>>>0));n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(5.42101086e-20));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(e>>>0))*$(5.42101086e-20));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,24,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}e=e+c|0;k=e;j=k;k=k+4|0;e=e+8|0;c=e;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=e+4|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;g=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(+(c>>>0)+4294967296.0*+(e>>>0));n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(5.42101086e-20));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(e>>>0))*$(5.42101086e-20));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,32,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}e=e+c|0;k=e;j=k;k=k+4|0;e=e+8|0;c=e;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=e+4|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;g=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0));if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(+(c>>>0)+4294967296.0*+(e>>>0));n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(5.42101086e-20));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(e>>>0))*$(5.42101086e-20));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=sq(Wo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;j=k;k=k+4|0;l=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));g=$(l*$(1.08420217e-19));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}e=e+c|0;k=e;j=k;k=k+4|0;e=e+8|0;c=e;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=e+4|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;g=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(+(c>>>0)+4294967296.0*+(e|0));n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(1.08420217e-19));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(e|0))*$(1.08420217e-19));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,24,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}e=e+c|0;k=e;j=k;k=k+4|0;e=e+8|0;c=e;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=e+4|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;g=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(+(c>>>0)+4294967296.0*+(e|0));n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(1.08420217e-19));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(e|0))*$(1.08420217e-19));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=sq(Wo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=sq(c|0,I|0,32,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}e=e+c|0;k=e;j=k;k=k+4|0;e=e+8|0;c=e;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=e+4|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;g=$(+((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0)+4294967296.0*+(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0));if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(+(c>>>0)+4294967296.0*+(e|0));n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(1.08420217e-19));n[d>>2]=l;l=$($(+(c>>>0)+4294967296.0*+(e|0))*$(1.08420217e-19));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Ec(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Xo(60)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2360;e=b;f[a>>2]=e;return}case 2:{b=Xo(60)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2416;e=b;f[a>>2]=e;return}case 4:{b=Xo(112)|0;f[b>>2]=1884;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2472;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Xo(92)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2528;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Xo(104)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2584;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Xo(124)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2640;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2696;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;is(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Fc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Xo(60)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1996;e=b;f[a>>2]=e;return}case 2:{b=Xo(60)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2052;e=b;f[a>>2]=e;return}case 4:{b=Xo(112)|0;f[b>>2]=1884;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2108;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Xo(92)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2164;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Xo(104)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2220;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Xo(124)|0;f[b>>2]=1884;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2276;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2332;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;is(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Gc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;j=a+32|0;g=f[b>>2]|0;b=g+1|0;if((g|0)>=0){h=((b|0)%3|0|0)==0?g+-2|0:b;b=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((h|0)<0)g=-1073741824;else g=f[(f[f[j>>2]>>2]|0)+(h<<2)>>2]|0;if((b|0)<0){v=-1073741824;t=g}else{v=f[(f[f[j>>2]>>2]|0)+(b<<2)>>2]|0;t=g}}else{v=-1073741824;t=-1073741824}b=a+36|0;o=f[b>>2]|0;h=f[o+4>>2]|0;p=f[o>>2]|0;if(h-p>>2>>>0>t>>>0){g=p;j=o;b=p}else{wr(o);j=f[b>>2]|0;g=f[j>>2]|0;h=f[j+4>>2]|0;b=f[o>>2]|0}b=f[b+(t<<2)>>2]|0;if(h-g>>2>>>0<=v>>>0){wr(j);g=f[j>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+56>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+52>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}wi(C,a,d);wi(A,a,b);wi(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+72>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+64|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+60>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+52>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+56|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+56|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}function Hc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;j=a+48|0;g=f[b>>2]|0;b=g+1|0;if((g|0)>=0){h=((b|0)%3|0|0)==0?g+-2|0:b;b=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((h|0)<0)g=-1073741824;else g=f[(f[f[j>>2]>>2]|0)+(h<<2)>>2]|0;if((b|0)<0){v=-1073741824;t=g}else{v=f[(f[f[j>>2]>>2]|0)+(b<<2)>>2]|0;t=g}}else{v=-1073741824;t=-1073741824}b=a+52|0;o=f[b>>2]|0;h=f[o+4>>2]|0;p=f[o>>2]|0;if(h-p>>2>>>0>t>>>0){g=p;j=o;b=p}else{wr(o);j=f[b>>2]|0;g=f[j>>2]|0;h=f[j+4>>2]|0;b=f[o>>2]|0}b=f[b+(t<<2)>>2]|0;if(h-g>>2>>>0<=v>>>0){wr(j);g=f[j>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+72>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+68>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}Ai(C,a,d);Ai(A,a,b);Ai(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+88>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+80|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+68>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+72|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+72|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}function Ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0<g>>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21296,29);f[a>>2]=-2;Rm(a+4|0,k);wq(k);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=sq(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(Wm(d,21326,5)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21332,17);f[a>>2]=-1;Rm(a+4|0,k);wq(k);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21296,29);f[a>>2]=-2;Rm(a+4|0,k);wq(k);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=sq(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21296,29);f[a>>2]=-2;Rm(a+4|0,k);wq(k);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=sq(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21296,29);f[a>>2]=-2;Rm(a+4|0,k);wq(k);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=sq(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21296,29);f[a>>2]=-2;Rm(a+4|0,k);wq(k);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=sq(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=sq(m|0,o|0,3,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&n>>>0<o>>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;ql(k,21296,29);f[a>>2]=-2;Rm(a+4|0,k);wq(k);u=l;return}else{n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=sq(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}}
|
|
function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=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,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;za=u;u=u+48|0;pa=za+40|0;wa=za+28|0;xa=za+8|0;X=za+4|0;ra=za;f[wa>>2]=0;ya=wa+4|0;f[ya>>2]=0;f[wa+8>>2]=0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;n[xa+16>>2]=$(1.0);qa=a+132|0;ka=f[a+136>>2]|0;a:do if((c|0)>0){ja=a+240|0;Z=a+428|0;z=a+316|0;Y=a+424|0;B=a+312|0;C=a+304|0;D=a+308|0;I=a+8|0;G=xa+4|0;E=a+396|0;H=wa+8|0;ia=a+36|0;F=a+40|0;ha=c+-1|0;_=a+408|0;y=0;x=0;while(1){d=y+1|0;if((f[Z>>2]|0)!=-1?km(_)|0:0){e=f[Z>>2]|0;f[Y>>2]=e;if(!e)la=16;else la=59}else la=5;b:do if((la|0)==5){do if(!(b[z>>0]|0))e=1;else{g=f[B>>2]|0;k=f[C>>2]|0;l=f[D>>2]|0;e=k+(g>>>3)|0;if(e>>>0<l>>>0?(la=h[e>>0]|0,J=g+1|0,f[B>>2]=J,la&1<<(g&7)|0):0){e=k+(J>>>3)|0;if(e>>>0<l>>>0){i=(h[e>>0]|0)>>>(J&7)&1;g=g+2|0;f[B>>2]=g}else{g=J;i=0}e=k+(g>>>3)|0;if(e>>>0<l>>>0){e=(h[e>>0]|0)>>>(g&7);f[B>>2]=g+1;e=e<<1&2}else e=0;e=(e|i)<<1|1;break}f[Y>>2]=0;la=16;break b}while(0);f[Y>>2]=e;la=59}while(0);c:do if((la|0)==16){la=0;e=f[ya>>2]|0;if((f[wa>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;s=(t|0)<0;d:do if(!s){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)la=19;else{k=f[I>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){q=0;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){q=1;break}}}}else{e=t;la=19}while(0);if((la|0)==19){la=0;k=f[I>>2]|0;i=f[k+12>>2]|0;q=1}w=y*3|0;r=w+1|0;f[i+(t<<2)>>2]=r;f[i+(r<<2)>>2]=t;v=w+2|0;f[i+(e<<2)>>2]=v;f[i+(v<<2)>>2]=e;g=t+1|0;if(!s?(fa=((g|0)%3|0|0)==0?t+-2|0:g,(fa|0)>=0):0){o=f[k>>2]|0;p=f[o+(fa<<2)>>2]|0;f[o+(w<<2)>>2]=p;if((p|0)>-1){o=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){Tj(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0<m>>>0?(K=g+(l<<2)|0,(i|0)!=(K|0)):0)f[k>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=w;k=f[I>>2]|0}}else{f[(f[k>>2]|0)+(w<<2)>>2]=-1073741824;p=-1073741824}g=e+1|0;if(!q?(ea=((g|0)%3|0|0)==0?e+-2|0:g,(ea|0)>=0):0){q=f[k>>2]|0;o=f[q+(ea<<2)>>2]|0;f[q+(r<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(P=e+(k<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=r;k=f[I>>2]|0}}else f[(f[k>>2]|0)+(r<<2)>>2]=-1073741824;if(!s?(ca=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(ca|0)>=0):0){t=f[k>>2]|0;o=f[t+(ca<<2)>>2]|0;f[t+(v<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(O=e+(k<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);g=v;e=e+(o<<2)|0;la=56}}else{g=-1073741824;e=(f[k>>2]|0)+(v<<2)|0;la=56}if((la|0)==56){la=0;f[e>>2]=g}if((x|0)>(ka|0)){g=-1;break a}e=(f[qa>>2]|0)+(p>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(p&31));f[(f[ya>>2]|0)+-4>>2]=w;e=w;g=0;l=x}else if((la|0)==59){la=0;switch(e|0){case 3:case 5:{g=f[ya>>2]|0;if((f[wa>>2]|0)==(g|0)){g=-1;break a}t=f[g+-4>>2]|0;v=y*3|0;s=((e|0)==5?2:1)+v|0;e=f[I>>2]|0;w=f[e+12>>2]|0;f[w+(s<<2)>>2]=t;f[w+(t<<2)>>2]=s;w=x+1|0;f[(f[e>>2]|0)+(s<<2)>>2]=x;if((x|0)>-1){l=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(w>>>0>k>>>0){Tj(l,w-k|0);e=f[l>>2]|0;break}if(w>>>0<k>>>0?(N=e+(w<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=s;e=f[I>>2]|0}q=(s|0)<0;g=s+1|0;if(q)o=s;else o=((g|0)%3|0|0)==0?s+-2|0:g;r=(t|0)<0;if(!r?(ba=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(ba|0)>=0):0){x=f[e>>2]|0;p=f[x+(ba<<2)>>2]|0;f[x+(o<<2)>>2]=p;if((p|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(M=e+(k<<2)|0,(g|0)!=(M|0)):0)f[i>>2]=g+(~((g+-4-M|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=o;e=f[I>>2]|0}}else f[(f[e>>2]|0)+(o<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){p=s+2|0;break}else{p=s+-1|0;break}else p=s;while(0);g=t+1|0;if(!r?(da=((g|0)%3|0|0)==0?t+-2|0:g,(da|0)>=0):0){x=f[e>>2]|0;o=f[x+(da<<2)>>2]|0;f[x+(p<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(L=e+(k<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);g=p;e=e+(o<<2)|0;la=97}}else{g=-1073741824;e=(f[e>>2]|0)+(p<<2)|0;la=97}if((la|0)==97){la=0;f[e>>2]=g}f[(f[ya>>2]|0)+-4>>2]=v;e=v;g=1;l=w;break c}case 1:{g=f[wa>>2]|0;e=f[ya>>2]|0;if((g|0)==(e|0)){g=-1;break a}q=e+-4|0;o=f[q>>2]|0;f[ya>>2]=q;l=f[G>>2]|0;e:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)p=m&y;else p=(y>>>0)%(l>>>0)|0;i=f[(f[xa>>2]|0)+(p<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=q;break e}if((f[i+4>>2]&m|0)!=(p|0)){e=q;break e}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=q;break e}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(p|0)){e=q;break e}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((q|0)==(f[H>>2]|0)){hk(wa,i);g=f[wa>>2]|0;e=f[ya>>2]|0;break}else{f[q>>2]=f[i>>2];f[ya>>2]=e;break}}else e=q}else e=q;while(0);if((g|0)==(e|0)){g=-1;break a}q=f[e+-4>>2]|0;v=y*3|0;t=v+2|0;e=f[I>>2]|0;w=f[e+12>>2]|0;f[w+(q<<2)>>2]=t;f[w+(t<<2)>>2]=q;s=v+1|0;f[w+(o<<2)>>2]=s;f[w+(s<<2)>>2]=o;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;i=f[e>>2]|0;if((g|0)>=0){k=f[i+(g<<2)>>2]|0;f[i+(v<<2)>>2]=k;if((k|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){Tj(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0<m>>>0?(W=e+(l<<2)|0,(g|0)!=(W|0)):0)f[i>>2]=g+(~((g+-4-W|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=v;e=f[I>>2]|0;i=1}else i=0}else{f[i+(v<<2)>>2]=-1073741824;i=0;k=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;l=f[e>>2]|0;if((g|0)>=0){r=f[l+(g<<2)>>2]|0;f[l+(s<<2)>>2]=r;if((r|0)>-1){q=e+24|0;l=e+28|0;g=f[l>>2]|0;e=f[q>>2]|0;p=g-e>>2;do if(p>>>0<=r>>>0){m=r+1|0;if(m>>>0>p>>>0){Tj(q,m-p|0);e=f[q>>2]|0;break}if(m>>>0<p>>>0?(V=e+(m<<2)|0,(g|0)!=(V|0)):0)f[l>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);f[e+(r<<2)>>2]=s;e=f[I>>2]|0;r=i}else r=i}else{g=l;la=129}}else{g=f[e>>2]|0;f[g+(v<<2)>>2]=-1073741824;i=0;k=-1073741824;la=129}if((la|0)==129){la=0;f[g+(s<<2)>>2]=-1073741824;r=i}if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;i=f[e>>2]|0;if((g|0)>=0){q=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=q;if((q|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=q>>>0){l=q+1|0;if(l>>>0>m>>>0){Tj(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0<m>>>0?(U=e+(l<<2)|0,(g|0)!=(U|0)):0)f[i>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);g=t;e=e+(q<<2)|0;la=150}}else{g=-1073741824;e=i+(t<<2)|0;la=150}if((la|0)==150){la=0;f[e>>2]=g}i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;g=f[I>>2]|0;if((i|0)<0){e=g;o=i;q=-1073741824}else{e=g;o=i;q=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(t<<2)>>2]=-1073741824;q=-1073741824}t=f[E>>2]|0;w=t+(k<<2)|0;f[w>>2]=(f[w>>2]|0)+(f[t+(q<<2)>>2]|0);f:do if((o|0)>-1){p=k+1|0;if(!r){l=f[e>>2]|0;m=e+12|0;g=o;while(1){f[l+(g<<2)>>2]=k;w=g+1|0;g=((w|0)%3|0|0)==0?g+-2|0:w;if((g|0)<0)break f;i=f[(f[m>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break f;g=((g|0)%3|0|0)==0?i+-2|0:g;if((g|0)<=-1)break f}}do{f[(f[e>>2]|0)+(o<<2)>>2]=k;m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=k>>>0){if(p>>>0>l>>>0){Tj(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0<l>>>0?(T=e+(p<<2)|0,(g|0)!=(T|0)):0)f[i>>2]=g+(~((g+-4-T|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=o;g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;e=f[I>>2]|0;if((g|0)<0)break f;i=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break f;o=((g|0)%3|0|0)==0?i+-2|0:g}while((o|0)>-1)}while(0);f[(f[e+24>>2]|0)+(q<<2)>>2]=-1073741824;f[(f[ya>>2]|0)+-4>>2]=v;e=v;g=0;l=x;break c}case 7:{m=y*3|0;f[pa>>2]=m;i=f[I>>2]|0;p=x+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=x;if((x|0)<=-1){g=m+1|0;k=x+2|0;f[e+(g<<2)>>2]=p;if((x|0)==-1){e=i;o=k;la=178}else{g=m;o=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(p>>>0>k>>>0){Tj(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0<k>>>0?(S=e+(p<<2)|0,(g|0)!=(S|0)):0)f[i>>2]=g+(~((g+-4-S|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=m;e=f[I>>2]|0;g=(f[pa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=p;o=x+2|0;la=178}if((la|0)==178){la=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=p>>>0){if(o>>>0>l>>>0){Tj(m,o-l|0);e=f[m>>2]|0;break}if(o>>>0<l>>>0?(R=e+(o<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=g;i=f[I>>2]|0;g=f[pa>>2]|0;e=f[i>>2]|0}m=g+2|0;p=x+3|0;f[e+(m<<2)>>2]=o;if((o|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=o>>>0){if(p>>>0>k>>>0){Tj(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0<k>>>0?(Q=e+(p<<2)|0,(g|0)!=(Q|0)):0)f[i>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m}e=f[ya>>2]|0;if((e|0)==(f[H>>2]|0)){hk(wa,pa);e=f[ya>>2]|0}else{f[e>>2]=f[pa>>2];e=e+4|0;f[ya>>2]=e}e=f[e+-4>>2]|0;g=1;l=p;break c}default:{g=-1;break a}}}while(0);f[X>>2]=e;f[pa>>2]=f[X>>2];Ne(ja,pa);g:do if(g?(aa=c-y|0,ga=aa+-1|0,A=f[F>>2]|0,(A|0)!=(f[ia>>2]|0)):0){e=A;do{g=f[e+-8>>2]|0;if((g|0)>=(aa|0)){g=-1;break a}if((g|0)!=(ga|0))break g;g=b[e+-4>>0]|0;k=f[e+-12>>2]|0;f[F>>2]=e+-12;if((k|0)<0){g=-1;break a}e=f[(f[ya>>2]|0)+-4>>2]|0;i=(e|0)<0;do if(!(g&1)){if(!i)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!i)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[pa>>2]=ha-k;y=kg(xa,pa)|0;f[y>>2]=e;e=f[F>>2]|0}while((e|0)!=(f[ia>>2]|0))}while(0);if((d|0)<(c|0)){y=d;x=l}else{G=l;la=211;break}}}else{d=0;G=0;la=211}while(0);do if((la|0)==211)if((G|0)<=(ka|0)){g=f[ya>>2]|0;if((g|0)==(f[wa>>2]|0))e=a+8|0;else{t=a+278|0;v=a+372|0;w=a+368|0;x=a+360|0;y=a+364|0;e=a+8|0;F=a+60|0;D=a+64|0;B=a+68|0;A=a+76|0;C=a+80|0;E=a+72|0;z=a+320|0;do{la=g;g=f[la+-4>>2]|0;f[pa>>2]=g;f[ya>>2]=la+-4;if((j[t>>1]|0)<514)if(b[v>>0]|0){g=f[w>>2]|0;i=(f[x>>2]|0)+(g>>>3)|0;if(i>>>0<(f[y>>2]|0)>>>0){la=(h[i>>0]|0)>>>(g&7)&1;f[w>>2]=g+1;g=la;la=220}else la=276}else la=222;else{g=(km(z)|0)&1;la=220}if((la|0)==220)if(!g)la=276;else{g=f[pa>>2]|0;la=222}do if((la|0)==222){la=0;m=(g|0)<0;h:do if(!m){i=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((i|0)>=0){k=f[(f[e>>2]|0)+12>>2]|0;l=i;while(1){i=f[k+(l<<2)>>2]|0;if((i|0)<=-1){k=0;i=l;break}i=i+(((i>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0){k=1;break}else l=i}if(m){o=k;l=g;la=229;break}else o=k}else o=1;l=g+1|0;l=((l|0)%3|0|0)==0?g+-2|0:l;if((l|0)<0)la=229;else{k=f[e>>2]|0;m=f[k+12>>2]|0;p=l;while(1){l=f[m+(p<<2)>>2]|0;if((l|0)<=-1){r=0;l=p;break h}ka=l+1|0;l=((ka|0)%3|0|0)==0?l+-2|0:ka;if((l|0)<0){r=1;break}else p=l}}}else{o=1;i=g;l=g;la=229}while(0);if((la|0)==229){k=f[e>>2]|0;m=f[k+12>>2]|0;r=1}s=d+1|0;d=d*3|0;f[ra>>2]=d;f[m+(d<<2)>>2]=g;f[m+(g<<2)>>2]=d;d=(f[ra>>2]|0)+1|0;f[m+(d<<2)>>2]=i;f[m+(i<<2)>>2]=d;d=(f[ra>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ra>>2]|0;g=i+1|0;if(!o?(ua=((g|0)%3|0|0)==0?i+-2|0:g,(ua|0)>=0):0){la=f[k>>2]|0;q=f[la+(ua<<2)>>2]|0;f[la+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){Tj(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0<o>>>0?(oa=g+(m<<2)|0,(i|0)!=(oa|0)):0)f[k>>2]=i+(~((i+-4-oa|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ra>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!r?(ta=((g|0)%3|0|0)==0?l+-2|0:g,(ta|0)>=0):0){la=f[k>>2]|0;o=f[la+(ta<<2)>>2]|0;f[la+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0<l>>>0?(na=d+(k<<2)|0,(g|0)!=(na|0)):0)f[i>>2]=g+(~((g+-4-na|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ra>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;p=d+2|0;g=f[pa>>2]|0;i=g+1|0;if((g|0)>=0?(sa=((i|0)%3|0|0)==0?g+-2|0:i,(sa|0)>=0):0){la=f[k>>2]|0;o=f[la+(sa<<2)>>2]|0;f[la+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0<l>>>0?(ma=d+(k<<2)|0,(g|0)!=(ma|0)):0)f[i>>2]=g+(~((g+-4-ma|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ra>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[qa>>2]|0;la=g+(d>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(d&31));d=f[ra>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;la=g+(d>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(d&31));d=f[ra>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[D>>2]|0;g=f[B>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){xr(F);g=f[B>>2]|0}la=g<<6;d=d+32&-32;Qj(F,g<<5>>>0<1073741823?(la>>>0<d>>>0?d:la):2147483647);d=f[D>>2]|0}f[D>>2]=d+1;la=(f[F>>2]|0)+(d>>>5<<2)|0;f[la>>2]=f[la>>2]|1<<(d&31);d=f[A>>2]|0;if((d|0)==(f[C>>2]|0))hk(E,ra);else{f[d>>2]=f[ra>>2];f[A>>2]=d+4}d=s}else if((la|0)==276){g=f[D>>2]|0;i=f[B>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){xr(F);i=f[B>>2]|0}la=i<<6;g=g+32&-32;Qj(F,i<<5>>>0<1073741823?(la>>>0<g>>>0?g:la):2147483647);g=f[D>>2]|0}f[D>>2]=g+1;la=(f[F>>2]|0)+(g>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(g&31));g=f[A>>2]|0;if((g|0)==(f[C>>2]|0)){hk(E,pa);break}else{f[g>>2]=f[pa>>2];f[A>>2]=g+4;break}}while(0);g=f[ya>>2]|0}while((g|0)!=(f[wa>>2]|0))}ua=f[e>>2]|0;if((d|0)==(((f[ua+4>>2]|0)-(f[ua>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(G>>>0>i>>>0){Tj(k,G-i|0);g=G;break}if(G>>>0<i>>>0?(va=d+(G<<2)|0,(e|0)!=(va|0)):0){f[g>>2]=e+(~((e+-4-va|0)>>>2)<<2);g=G}else g=G}else g=-1}else g=-1;while(0);d=f[xa+8>>2]|0;if(d|0)do{va=d;d=f[d>>2]|0;Ns(va)}while((d|0)!=0);d=f[xa>>2]|0;f[xa>>2]=0;if(d|0)Ns(d);d=f[wa>>2]|0;if(!d){u=za;return g|0}e=f[ya>>2]|0;if((e|0)!=(d|0))f[ya>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);u=za;return g|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=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,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;ra=u;u=u+48|0;ha=ra+40|0;oa=ra+28|0;pa=ra+8|0;S=ra+4|0;ja=ra;f[oa>>2]=0;qa=oa+4|0;f[qa>>2]=0;f[oa+8>>2]=0;f[pa>>2]=0;f[pa+4>>2]=0;f[pa+8>>2]=0;f[pa+12>>2]=0;n[pa+16>>2]=$(1.0);ia=a+132|0;ca=f[a+136>>2]|0;a:do if((c|0)>0){ba=a+240|0;C=a+8|0;aa=a+36|0;B=a+40|0;_=c+-1|0;D=pa+4|0;A=a+396|0;E=oa+8|0;y=0;x=0;while(1){d=y+1|0;g=ti(ba)|0;b:do if(!g){e=f[qa>>2]|0;if((f[oa>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;s=(t|0)<0;c:do if(!s){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)da=7;else{k=f[C>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){q=0;break c}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){q=1;break}}}}else{e=t;da=7}while(0);if((da|0)==7){da=0;k=f[C>>2]|0;i=f[k+12>>2]|0;q=1}w=y*3|0;r=w+1|0;f[i+(t<<2)>>2]=r;f[i+(r<<2)>>2]=t;v=w+2|0;f[i+(e<<2)>>2]=v;f[i+(v<<2)>>2]=e;g=t+1|0;if(!s?(Y=((g|0)%3|0|0)==0?t+-2|0:g,(Y|0)>=0):0){o=f[k>>2]|0;p=f[o+(Y<<2)>>2]|0;f[o+(w<<2)>>2]=p;if((p|0)>-1){o=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){Tj(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0<m>>>0?(R=g+(l<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=w;k=f[C>>2]|0}}else{f[(f[k>>2]|0)+(w<<2)>>2]=-1073741824;p=-1073741824}g=e+1|0;if(!q?(X=((g|0)%3|0|0)==0?e+-2|0:g,(X|0)>=0):0){q=f[k>>2]|0;o=f[q+(X<<2)>>2]|0;f[q+(r<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(J=e+(k<<2)|0,(g|0)!=(J|0)):0)f[i>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=r;e=f[C>>2]|0}else e=k}else{f[(f[k>>2]|0)+(r<<2)>>2]=-1073741824;e=k}if(!s?(V=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(V|0)>=0):0){t=f[e>>2]|0;o=f[t+(V<<2)>>2]|0;f[t+(v<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(I=e+(k<<2)|0,(g|0)!=(I|0)):0)f[i>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);g=v;e=e+(o<<2)|0;da=44}}else{g=-1073741824;e=(f[e>>2]|0)+(v<<2)|0;da=44}if((da|0)==44){da=0;f[e>>2]=g}if((x|0)>(ca|0)){g=-1;break a}e=(f[ia>>2]|0)+(p>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(p&31));f[(f[qa>>2]|0)+-4>>2]=w;e=w;g=0;l=x}else switch(g|0){case 3:case 5:{e=f[qa>>2]|0;if((f[oa>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;v=y*3|0;s=((g|0)==5?2:1)+v|0;e=f[C>>2]|0;w=f[e+12>>2]|0;f[w+(s<<2)>>2]=t;f[w+(t<<2)>>2]=s;w=x+1|0;f[(f[e>>2]|0)+(s<<2)>>2]=x;if((x|0)>-1){l=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(w>>>0>k>>>0){Tj(l,w-k|0);e=f[l>>2]|0;break}if(w>>>0<k>>>0?(H=e+(w<<2)|0,(g|0)!=(H|0)):0)f[i>>2]=g+(~((g+-4-H|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=s;e=f[C>>2]|0}q=(s|0)<0;g=s+1|0;if(q)o=s;else o=((g|0)%3|0|0)==0?s+-2|0:g;r=(t|0)<0;if(!r?(U=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(U|0)>=0):0){x=f[e>>2]|0;p=f[x+(U<<2)>>2]|0;f[x+(o<<2)>>2]=p;if((p|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(G=e+(k<<2)|0,(g|0)!=(G|0)):0)f[i>>2]=g+(~((g+-4-G|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=o;e=f[C>>2]|0}}else f[(f[e>>2]|0)+(o<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){p=s+2|0;break}else{p=s+-1|0;break}else p=s;while(0);g=t+1|0;if(!r?(W=((g|0)%3|0|0)==0?t+-2|0:g,(W|0)>=0):0){x=f[e>>2]|0;o=f[x+(W<<2)>>2]|0;f[x+(p<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0<l>>>0?(F=e+(k<<2)|0,(g|0)!=(F|0)):0)f[i>>2]=g+(~((g+-4-F|0)>>>2)<<2)}while(0);g=p;e=e+(o<<2)|0;da=85}}else{g=-1073741824;e=(f[e>>2]|0)+(p<<2)|0;da=85}if((da|0)==85){da=0;f[e>>2]=g}f[(f[qa>>2]|0)+-4>>2]=v;e=v;g=1;l=w;break b}case 1:{g=f[oa>>2]|0;e=f[qa>>2]|0;if((g|0)==(e|0)){g=-1;break a}q=e+-4|0;o=f[q>>2]|0;f[qa>>2]=q;l=f[D>>2]|0;d:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)p=m&y;else p=(y>>>0)%(l>>>0)|0;i=f[(f[pa>>2]|0)+(p<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=q;break d}if((f[i+4>>2]&m|0)!=(p|0)){e=q;break d}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=q;break d}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(p|0)){e=q;break d}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((q|0)==(f[E>>2]|0)){hk(oa,i);g=f[oa>>2]|0;e=f[qa>>2]|0;break}else{f[q>>2]=f[i>>2];f[qa>>2]=e;break}}else e=q}else e=q;while(0);if((g|0)==(e|0)){g=-1;break a}q=f[e+-4>>2]|0;v=y*3|0;t=v+2|0;e=f[C>>2]|0;w=f[e+12>>2]|0;f[w+(q<<2)>>2]=t;f[w+(t<<2)>>2]=q;s=v+1|0;f[w+(o<<2)>>2]=s;f[w+(s<<2)>>2]=o;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;i=f[e>>2]|0;if((g|0)>=0){k=f[i+(g<<2)>>2]|0;f[i+(v<<2)>>2]=k;if((k|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){Tj(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0<m>>>0?(Q=e+(l<<2)|0,(g|0)!=(Q|0)):0)f[i>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=v;e=f[C>>2]|0;i=1}else i=0}else{f[i+(v<<2)>>2]=-1073741824;i=0;k=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;l=f[e>>2]|0;if((g|0)>=0){r=f[l+(g<<2)>>2]|0;f[l+(s<<2)>>2]=r;if((r|0)>-1){q=e+24|0;l=e+28|0;g=f[l>>2]|0;e=f[q>>2]|0;p=g-e>>2;do if(p>>>0<=r>>>0){m=r+1|0;if(m>>>0>p>>>0){Tj(q,m-p|0);e=f[q>>2]|0;break}if(m>>>0<p>>>0?(P=e+(m<<2)|0,(g|0)!=(P|0)):0)f[l>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(r<<2)>>2]=s;e=f[C>>2]|0;r=i}else r=i}else{g=l;da=117}}else{g=f[e>>2]|0;f[g+(v<<2)>>2]=-1073741824;i=0;k=-1073741824;da=117}if((da|0)==117){da=0;f[g+(s<<2)>>2]=-1073741824;r=i}if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;i=f[e>>2]|0;if((g|0)>=0){q=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=q;if((q|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=q>>>0){l=q+1|0;if(l>>>0>m>>>0){Tj(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0<m>>>0?(O=e+(l<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);g=t;e=e+(q<<2)|0;da=138}}else{g=-1073741824;e=i+(t<<2)|0;da=138}if((da|0)==138){da=0;f[e>>2]=g}i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;g=f[C>>2]|0;if((i|0)<0){e=g;o=i;q=-1073741824}else{e=g;o=i;q=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(t<<2)>>2]=-1073741824;q=-1073741824}t=f[A>>2]|0;w=t+(k<<2)|0;f[w>>2]=(f[w>>2]|0)+(f[t+(q<<2)>>2]|0);e:do if((o|0)>-1){p=k+1|0;if(!r){l=f[e>>2]|0;m=e+12|0;g=o;while(1){f[l+(g<<2)>>2]=k;w=g+1|0;g=((w|0)%3|0|0)==0?g+-2|0:w;if((g|0)<0)break e;i=f[(f[m>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break e;g=((g|0)%3|0|0)==0?i+-2|0:g;if((g|0)<=-1)break e}}do{f[(f[e>>2]|0)+(o<<2)>>2]=k;m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=k>>>0){if(p>>>0>l>>>0){Tj(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0<l>>>0?(N=e+(p<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=o;g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;e=f[C>>2]|0;if((g|0)<0)break e;i=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break e;o=((g|0)%3|0|0)==0?i+-2|0:g}while((o|0)>-1)}while(0);f[(f[e+24>>2]|0)+(q<<2)>>2]=-1073741824;f[(f[qa>>2]|0)+-4>>2]=v;e=v;g=0;l=x;break b}case 7:{m=y*3|0;f[ha>>2]=m;i=f[C>>2]|0;p=x+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=x;if((x|0)<=-1){g=m+1|0;k=x+2|0;f[e+(g<<2)>>2]=p;if((x|0)==-1){e=i;o=k;da=166}else{g=m;o=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(p>>>0>k>>>0){Tj(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0<k>>>0?(M=e+(p<<2)|0,(g|0)!=(M|0)):0)f[i>>2]=g+(~((g+-4-M|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=m;e=f[C>>2]|0;g=(f[ha>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=p;o=x+2|0;da=166}if((da|0)==166){da=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=p>>>0){if(o>>>0>l>>>0){Tj(m,o-l|0);e=f[m>>2]|0;break}if(o>>>0<l>>>0?(L=e+(o<<2)|0,(i|0)!=(L|0)):0)f[k>>2]=i+(~((i+-4-L|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=g;i=f[C>>2]|0;g=f[ha>>2]|0;e=f[i>>2]|0}m=g+2|0;p=x+3|0;f[e+(m<<2)>>2]=o;if((o|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=o>>>0){if(p>>>0>k>>>0){Tj(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0<k>>>0?(K=e+(p<<2)|0,(g|0)!=(K|0)):0)f[i>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m}e=f[qa>>2]|0;if((e|0)==(f[E>>2]|0)){hk(oa,ha);e=f[qa>>2]|0}else{f[e>>2]=f[ha>>2];e=e+4|0;f[qa>>2]=e}e=f[e+-4>>2]|0;g=1;l=p;break b}default:{g=-1;break a}}while(0);f[S>>2]=e;f[ha>>2]=f[S>>2];Ue(ba,ha);f:do if(g?(T=c-y|0,Z=T+-1|0,z=f[B>>2]|0,(z|0)!=(f[aa>>2]|0)):0){e=z;do{g=f[e+-8>>2]|0;if((g|0)>=(T|0)){g=-1;break a}if((g|0)!=(Z|0))break f;g=b[e+-4>>0]|0;k=f[e+-12>>2]|0;f[B>>2]=e+-12;if((k|0)<0){g=-1;break a}e=f[(f[qa>>2]|0)+-4>>2]|0;i=(e|0)<0;do if(!(g&1)){if(!i)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!i)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[ha>>2]=_-k;y=kg(pa,ha)|0;f[y>>2]=e;e=f[B>>2]|0}while((e|0)!=(f[aa>>2]|0))}while(0);if((d|0)<(c|0)){y=d;x=l}else{G=l;da=199;break}}}else{d=0;G=0;da=199}while(0);do if((da|0)==199)if((G|0)<=(ca|0)){g=f[qa>>2]|0;if((g|0)==(f[oa>>2]|0))e=a+8|0;else{t=a+278|0;v=a+372|0;w=a+368|0;x=a+360|0;y=a+364|0;e=a+8|0;F=a+60|0;D=a+64|0;B=a+68|0;A=a+76|0;C=a+80|0;E=a+72|0;z=a+320|0;do{da=g;g=f[da+-4>>2]|0;f[ha>>2]=g;f[qa>>2]=da+-4;if((j[t>>1]|0)<514)if(b[v>>0]|0){g=f[w>>2]|0;i=(f[x>>2]|0)+(g>>>3)|0;if(i>>>0<(f[y>>2]|0)>>>0){da=(h[i>>0]|0)>>>(g&7)&1;f[w>>2]=g+1;g=da;da=208}else da=264}else da=210;else{g=(km(z)|0)&1;da=208}if((da|0)==208)if(!g)da=264;else{g=f[ha>>2]|0;da=210}do if((da|0)==210){da=0;m=(g|0)<0;g:do if(!m){i=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((i|0)>=0){k=f[(f[e>>2]|0)+12>>2]|0;l=i;while(1){i=f[k+(l<<2)>>2]|0;if((i|0)<=-1){k=0;i=l;break}i=i+(((i>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0){k=1;break}else l=i}if(m){o=k;l=g;da=217;break}else o=k}else o=1;l=g+1|0;l=((l|0)%3|0|0)==0?g+-2|0:l;if((l|0)<0)da=217;else{k=f[e>>2]|0;m=f[k+12>>2]|0;p=l;while(1){l=f[m+(p<<2)>>2]|0;if((l|0)<=-1){r=0;l=p;break g}ca=l+1|0;l=((ca|0)%3|0|0)==0?l+-2|0:ca;if((l|0)<0){r=1;break}else p=l}}}else{o=1;i=g;l=g;da=217}while(0);if((da|0)==217){k=f[e>>2]|0;m=f[k+12>>2]|0;r=1}s=d+1|0;d=d*3|0;f[ja>>2]=d;f[m+(d<<2)>>2]=g;f[m+(g<<2)>>2]=d;d=(f[ja>>2]|0)+1|0;f[m+(d<<2)>>2]=i;f[m+(i<<2)>>2]=d;d=(f[ja>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ja>>2]|0;g=i+1|0;if(!o?(ma=((g|0)%3|0|0)==0?i+-2|0:g,(ma|0)>=0):0){da=f[k>>2]|0;q=f[da+(ma<<2)>>2]|0;f[da+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){Tj(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0<o>>>0?(ga=g+(m<<2)|0,(i|0)!=(ga|0)):0)f[k>>2]=i+(~((i+-4-ga|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ja>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!r?(la=((g|0)%3|0|0)==0?l+-2|0:g,(la|0)>=0):0){da=f[k>>2]|0;o=f[da+(la<<2)>>2]|0;f[da+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0<l>>>0?(fa=d+(k<<2)|0,(g|0)!=(fa|0)):0)f[i>>2]=g+(~((g+-4-fa|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ja>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;p=d+2|0;g=f[ha>>2]|0;i=g+1|0;if((g|0)>=0?(ka=((i|0)%3|0|0)==0?g+-2|0:i,(ka|0)>=0):0){da=f[k>>2]|0;o=f[da+(ka<<2)>>2]|0;f[da+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0<l>>>0?(ea=d+(k<<2)|0,(g|0)!=(ea|0)):0)f[i>>2]=g+(~((g+-4-ea|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ja>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ia>>2]|0;da=g+(d>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(d&31));d=f[ja>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;da=g+(d>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(d&31));d=f[ja>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[D>>2]|0;g=f[B>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){xr(F);g=f[B>>2]|0}da=g<<6;d=d+32&-32;Qj(F,g<<5>>>0<1073741823?(da>>>0<d>>>0?d:da):2147483647);d=f[D>>2]|0}f[D>>2]=d+1;da=(f[F>>2]|0)+(d>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(d&31);d=f[A>>2]|0;if((d|0)==(f[C>>2]|0))hk(E,ja);else{f[d>>2]=f[ja>>2];f[A>>2]=d+4}d=s}else if((da|0)==264){g=f[D>>2]|0;i=f[B>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){xr(F);i=f[B>>2]|0}da=i<<6;g=g+32&-32;Qj(F,i<<5>>>0<1073741823?(da>>>0<g>>>0?g:da):2147483647);g=f[D>>2]|0}f[D>>2]=g+1;da=(f[F>>2]|0)+(g>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(g&31));g=f[A>>2]|0;if((g|0)==(f[C>>2]|0)){hk(E,ha);break}else{f[g>>2]=f[ha>>2];f[A>>2]=g+4;break}}while(0);g=f[qa>>2]|0}while((g|0)!=(f[oa>>2]|0))}ma=f[e>>2]|0;if((d|0)==(((f[ma+4>>2]|0)-(f[ma>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(G>>>0>i>>>0){Tj(k,G-i|0);g=G;break}if(G>>>0<i>>>0?(na=d+(G<<2)|0,(e|0)!=(na|0)):0){f[g>>2]=e+(~((e+-4-na|0)>>>2)<<2);g=G}else g=G}else g=-1}else g=-1;while(0);d=f[pa+8>>2]|0;if(d|0)do{na=d;d=f[d>>2]|0;Ns(na)}while((d|0)!=0);d=f[pa>>2]|0;f[pa>>2]=0;if(d|0)Ns(d);d=f[oa>>2]|0;if(!d){u=ra;return g|0}e=f[qa>>2]|0;if((e|0)!=(d|0))f[qa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);u=ra;return g|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=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,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;qa=u;u=u+48|0;na=qa+28|0;oa=qa+8|0;ga=qa+4|0;ia=qa;f[na>>2]=0;pa=na+4|0;f[pa>>2]=0;f[na+8>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;n[oa+16>>2]=$(1.0);ha=a+132|0;ca=f[a+136>>2]|0;a:do if((c|0)>0){U=a+316|0;B=oa+4|0;C=a+8|0;D=na+8|0;V=a+312|0;S=a+304|0;T=a+308|0;ba=a+36|0;A=a+40|0;aa=c+-1|0;y=0;z=0;b:while(1){d=y+1|0;c:do if(!(b[U>>0]|0))H=93;else{g=f[V>>2]|0;k=f[S>>2]|0;l=f[T>>2]|0;e=k+(g>>>3)|0;if(e>>>0<l>>>0?(x=h[e>>0]|0,E=g+1|0,f[V>>2]=E,x&1<<(g&7)|0):0){e=k+(E>>>3)|0;if(e>>>0<l>>>0){i=(h[e>>0]|0)>>>(E&7)&1;g=g+2|0;f[V>>2]=g}else{g=E;i=0}e=k+(g>>>3)|0;if(e>>>0<l>>>0){e=(h[e>>0]|0)>>>(g&7);f[V>>2]=g+1;e=e<<1&2}else e=0;g=(e|i)<<1|1;switch(g&7){case 1:{H=93;break c}case 3:case 5:{e=f[pa>>2]|0;if((f[na>>2]|0)==(e|0)){G=-1;break a}w=f[e+-4>>2]|0;x=y*3|0;v=((g|0)==5?2:1)+x|0;g=f[C>>2]|0;e=f[g+12>>2]|0;f[e+(v<<2)>>2]=w;f[e+(w<<2)>>2]=v;e=z+1|0;f[(f[g>>2]|0)+(v<<2)>>2]=z;if((z|0)>-1){m=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=z>>>0){if(e>>>0>l>>>0){Tj(m,e-l|0);g=f[m>>2]|0;break}if(e>>>0<l>>>0?(I=g+(e<<2)|0,(i|0)!=(I|0)):0)f[k>>2]=i+(~((i+-4-I|0)>>>2)<<2)}while(0);f[g+(z<<2)>>2]=v;g=f[C>>2]|0}s=(v|0)<0;i=v+1|0;if(s)q=v;else q=((i|0)%3|0|0)==0?v+-2|0:i;t=(w|0)<0;if(!t?(W=(((w>>>0)%3|0|0)==0?2:-1)+w|0,(W|0)>=0):0){z=f[g>>2]|0;r=f[z+(W<<2)>>2]|0;f[z+(q<<2)>>2]=r;if((r|0)>-1){p=g+24|0;o=g+28|0;i=f[o>>2]|0;g=f[p>>2]|0;m=i-g>>2;do if(m>>>0<=r>>>0){l=r+1|0;k=i;if(l>>>0>m>>>0){Tj(p,l-m|0);g=f[p>>2]|0;break}if(l>>>0>=m>>>0)break;i=g+(l<<2)|0;if((k|0)==(i|0))break;f[o>>2]=k+(~((k+-4-i|0)>>>2)<<2)}while(0);f[g+(r<<2)>>2]=q;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(q<<2)>>2]=-1073741824;do if(!s)if(!((v>>>0)%3|0)){r=v+2|0;break}else{r=v+-1|0;break}else r=v;while(0);i=w+1|0;if(!t?(Y=((i|0)%3|0|0)==0?w+-2|0:i,(Y|0)>=0):0){z=f[g>>2]|0;q=f[z+(Y<<2)>>2]|0;f[z+(r<<2)>>2]=q;if((q|0)>-1){p=g+24|0;o=g+28|0;i=f[o>>2]|0;g=f[p>>2]|0;m=i-g>>2;do if(m>>>0<=q>>>0){l=q+1|0;k=i;if(l>>>0>m>>>0){Tj(p,l-m|0);g=f[p>>2]|0;break}if(l>>>0>=m>>>0)break;i=g+(l<<2)|0;if((k|0)==(i|0))break;f[o>>2]=k+(~((k+-4-i|0)>>>2)<<2)}while(0);i=r;g=g+(q<<2)|0;H=91}}else{i=-1073741824;g=(f[g>>2]|0)+(r<<2)|0;H=91}if((H|0)==91){H=0;f[g>>2]=i}f[(f[pa>>2]|0)+-4>>2]=x;break}case 7:{m=y*3|0;f[ga>>2]=m;i=f[C>>2]|0;o=z+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=z;if((z|0)<=-1){g=m+1|0;k=z+2|0;f[e+(g<<2)>>2]=o;if((z|0)==-1){e=i;p=k;H=170}else{g=m;p=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=z>>>0){if(o>>>0>k>>>0){Tj(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0<k>>>0?(N=e+(o<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(z<<2)>>2]=m;e=f[C>>2]|0;g=(f[ga>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=o;p=z+2|0;H=170}if((H|0)==170){H=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=o>>>0){if(p>>>0>l>>>0){Tj(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0<l>>>0?(M=e+(p<<2)|0,(i|0)!=(M|0)):0)f[k>>2]=i+(~((i+-4-M|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=g;i=f[C>>2]|0;g=f[ga>>2]|0;e=f[i>>2]|0}m=g+2|0;o=z+3|0;f[e+(m<<2)>>2]=p;if((p|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=p>>>0){if(o>>>0>k>>>0){Tj(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0<k>>>0?(L=e+(o<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=m}e=f[pa>>2]|0;if((e|0)==(f[D>>2]|0))hk(na,ga);else{f[e>>2]=f[ga>>2];f[pa>>2]=e+4}e=o;break}default:break b}m=c-y|0;o=m+-1|0;g=f[A>>2]|0;if((g|0)==(f[ba>>2]|0))break;while(1){i=f[g+-8>>2]|0;if((i|0)>=(m|0)){G=-1;break a}if((i|0)!=(o|0))break c;i=b[g+-4>>0]|0;l=f[g+-12>>2]|0;f[A>>2]=g+-12;if((l|0)<0){G=-1;break a}g=f[(f[pa>>2]|0)+-4>>2]|0;k=(g|0)<0;do if(!(i&1)){if(!k)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else{i=g+1|0;if(!k)g=((i|0)%3|0|0)==0?g+-2|0:i}while(0);f[ga>>2]=aa-l;z=kg(oa,ga)|0;f[z>>2]=g;g=f[A>>2]|0;if((g|0)==(f[ba>>2]|0))break c}}e=f[pa>>2]|0;if((f[na>>2]|0)==(e|0)){G=-1;break a}w=f[e+-4>>2]|0;v=(w|0)<0;d:do if(!v){e=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)H=13;else{k=f[C>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){g=k;r=0;q=e;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){g=k;r=1;q=e;break}}}}else{e=w;H=13}while(0);if((H|0)==13){H=0;g=f[C>>2]|0;i=f[g+12>>2]|0;r=1;q=e}e=y*3|0;s=e+1|0;f[i+(w<<2)>>2]=s;f[i+(s<<2)>>2]=w;x=e+2|0;f[i+(q<<2)>>2]=x;f[i+(x<<2)>>2]=q;i=w+1|0;if(!v?(_=((i|0)%3|0|0)==0?w+-2|0:i,(_|0)>=0):0){y=f[g>>2]|0;p=f[y+(_<<2)>>2]|0;f[y+(e<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){Tj(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0<m>>>0?(F=g+(l<<2)|0,(i|0)!=(F|0)):0)f[k>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=e;g=f[C>>2]|0;t=p}else t=p}else{f[(f[g>>2]|0)+(e<<2)>>2]=-1073741824;t=-1073741824}i=q+1|0;if(!r?(Z=((i|0)%3|0|0)==0?q+-2|0:i,(Z|0)>=0):0){y=f[g>>2]|0;p=f[y+(Z<<2)>>2]|0;f[y+(s<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){Tj(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0<m>>>0?(K=g+(l<<2)|0,(i|0)!=(K|0)):0)f[k>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=s;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(s<<2)>>2]=-1073741824;if(!v?(X=(((w>>>0)%3|0|0)==0?2:-1)+w|0,(X|0)>=0):0){y=f[g>>2]|0;p=f[y+(X<<2)>>2]|0;f[y+(x<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){Tj(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0<m>>>0?(J=g+(l<<2)|0,(i|0)!=(J|0)):0)f[k>>2]=i+(~((i+-4-J|0)>>>2)<<2)}while(0);i=x;g=g+(p<<2)|0;H=50}}else{i=-1073741824;g=(f[g>>2]|0)+(x<<2)|0;H=50}if((H|0)==50){H=0;f[g>>2]=i}if((z|0)>(ca|0)){G=-1;break a}H=(f[ha>>2]|0)+(t>>>5<<2)|0;f[H>>2]=f[H>>2]&~(1<<(t&31));H=189}while(0);if((H|0)==93){H=0;g=f[na>>2]|0;e=f[pa>>2]|0;if((g|0)==(e|0)){G=-1;break a}p=e+-4|0;v=f[p>>2]|0;f[pa>>2]=p;l=f[B>>2]|0;e:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)o=m&y;else o=(y>>>0)%(l>>>0)|0;i=f[(f[oa>>2]|0)+(o<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=p;break e}if((f[i+4>>2]&m|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=p;break e}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((p|0)==(f[D>>2]|0)){hk(na,i);g=f[na>>2]|0;e=f[pa>>2]|0;break}else{f[p>>2]=f[i>>2];f[pa>>2]=e;break}}else e=p}else e=p;while(0);if((g|0)==(e|0)){G=-1;break a}q=f[e+-4>>2]|0;e=y*3|0;t=e+2|0;i=f[C>>2]|0;y=f[i+12>>2]|0;f[y+(q<<2)>>2]=t;f[y+(t<<2)>>2]=q;s=e+1|0;f[y+(v<<2)>>2]=s;f[y+(s<<2)>>2]=v;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;k=f[i>>2]|0;if((g|0)>=0){l=f[k+(g<<2)>>2]|0;f[k+(e<<2)>>2]=l;if((l|0)>-1){p=i+24|0;k=i+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=l>>>0){m=l+1|0;if(m>>>0>o>>>0){Tj(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0<o>>>0?(R=g+(m<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[g+(l<<2)>>2]=e;i=f[C>>2]|0;k=1}else k=0}else{f[k+(e<<2)>>2]=-1073741824;k=0;l=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;m=f[i>>2]|0;if((g|0)>=0){r=f[m+(g<<2)>>2]|0;f[m+(s<<2)>>2]=r;if((r|0)>-1){q=i+24|0;m=i+28|0;i=f[m>>2]|0;g=f[q>>2]|0;p=i-g>>2;do if(p>>>0<=r>>>0){o=r+1|0;if(o>>>0>p>>>0){Tj(q,o-p|0);g=f[q>>2]|0;break}if(o>>>0<p>>>0?(Q=g+(o<<2)|0,(i|0)!=(Q|0)):0)f[m>>2]=i+(~((i+-4-Q|0)>>>2)<<2)}while(0);f[g+(r<<2)>>2]=s;i=f[C>>2]|0;r=k;s=l}else{r=k;s=l}}else{g=m;H=123}}else{g=f[i>>2]|0;f[g+(e<<2)>>2]=-1073741824;k=0;l=-1073741824;H=123}if((H|0)==123){H=0;f[g+(s<<2)>>2]=-1073741824;r=k;s=l}f:do if((v|0)>=0){g=(((v>>>0)%3|0|0)==0?2:-1)+v|0;k=f[i>>2]|0;if((g|0)>=0){p=f[k+(g<<2)>>2]|0;f[k+(t<<2)>>2]=p;if((p|0)>-1){o=i+24|0;k=i+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){Tj(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0<m>>>0?(P=g+(l<<2)|0,(i|0)!=(P|0)):0)f[k>>2]=i+(~((i+-4-P|0)>>>2)<<2)}while(0);i=t;g=g+(p<<2)|0;H=144}}else{i=-1073741824;g=k+(t<<2)|0;H=144}if((H|0)==144)f[g>>2]=i;k=v+1|0;k=((k|0)%3|0|0)==0?v+-2|0:k;i=f[C>>2]|0;if((k|0)<0)g=-1073741824;else{g=f[(f[i>>2]|0)+(k<<2)>>2]|0;q=s+1|0;if(!r){m=f[i>>2]|0;o=i+12|0;while(1){f[m+(k<<2)>>2]=s;H=k+1|0;k=((H|0)%3|0|0)==0?k+-2|0:H;if((k|0)<0)break f;l=f[(f[o>>2]|0)+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<=-1)break f}}do{f[(f[i>>2]|0)+(k<<2)>>2]=s;p=i+24|0;m=i+28|0;l=f[m>>2]|0;i=f[p>>2]|0;o=l-i>>2;do if(o>>>0<=s>>>0){if(q>>>0>o>>>0){Tj(p,q-o|0);i=f[p>>2]|0;break}if(q>>>0<o>>>0?(O=i+(q<<2)|0,(l|0)!=(O|0)):0)f[m>>2]=l+(~((l+-4-O|0)>>>2)<<2)}while(0);f[i+(s<<2)>>2]=k;i=k+1|0;k=((i|0)%3|0|0)==0?k+-2|0:i;i=f[C>>2]|0;if((k|0)<0)break f;l=f[(f[i+12>>2]|0)+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k}while((k|0)>-1)}}else{f[(f[i>>2]|0)+(t<<2)>>2]=-1073741824;g=-1073741824}while(0);f[(f[i+24>>2]|0)+(g<<2)>>2]=-1073741824;H=189}if((H|0)==189){H=0;f[(f[pa>>2]|0)+-4>>2]=e;e=z}if((d|0)<(c|0)){y=d;z=e}else{G=e;H=203;break a}}}else{d=0;G=0;H=203}while(0);do if((H|0)==203)if((G|0)<=(ca|0)){g=f[pa>>2]|0;if((g|0)==(f[na>>2]|0))e=a+8|0;else{C=a+278|0;A=a+372|0;B=a+368|0;y=a+360|0;z=a+364|0;e=a+8|0;E=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;D=a+72|0;F=a+320|0;do{ca=g;g=f[ca+-4>>2]|0;f[ga>>2]=g;f[pa>>2]=ca+-4;if((j[C>>1]|0)<514)if(b[A>>0]|0){g=f[B>>2]|0;i=(f[y>>2]|0)+(g>>>3)|0;if(i>>>0<(f[z>>2]|0)>>>0){H=(h[i>>0]|0)>>>(g&7)&1;f[B>>2]=g+1;g=H;H=212}else H=268}else H=214;else{g=(km(F)|0)&1;H=212}if((H|0)==212)if(!g)H=268;else{g=f[ga>>2]|0;H=214}do if((H|0)==214){H=0;m=(g|0)<0;g:do if(!m){i=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((i|0)>=0){k=f[(f[e>>2]|0)+12>>2]|0;l=i;while(1){i=f[k+(l<<2)>>2]|0;if((i|0)<=-1){k=0;i=l;break}i=i+(((i>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0){k=1;break}else l=i}if(m){o=k;l=g;H=221;break}else o=k}else o=1;l=g+1|0;l=((l|0)%3|0|0)==0?g+-2|0:l;if((l|0)<0)H=221;else{k=f[e>>2]|0;m=f[k+12>>2]|0;p=l;while(1){l=f[m+(p<<2)>>2]|0;if((l|0)<=-1){r=0;l=p;break g}ca=l+1|0;l=((ca|0)%3|0|0)==0?l+-2|0:ca;if((l|0)<0){r=1;break}else p=l}}}else{o=1;i=g;l=g;H=221}while(0);if((H|0)==221){k=f[e>>2]|0;m=f[k+12>>2]|0;r=1}s=d+1|0;d=d*3|0;f[ia>>2]=d;f[m+(d<<2)>>2]=g;f[m+(g<<2)>>2]=d;d=(f[ia>>2]|0)+1|0;f[m+(d<<2)>>2]=i;f[m+(i<<2)>>2]=d;d=(f[ia>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ia>>2]|0;g=i+1|0;if(!o?(la=((g|0)%3|0|0)==0?i+-2|0:g,(la|0)>=0):0){ca=f[k>>2]|0;q=f[ca+(la<<2)>>2]|0;f[ca+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){Tj(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0<o>>>0?(fa=g+(m<<2)|0,(i|0)!=(fa|0)):0)f[k>>2]=i+(~((i+-4-fa|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ia>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!r?(ka=((g|0)%3|0|0)==0?l+-2|0:g,(ka|0)>=0):0){ca=f[k>>2]|0;o=f[ca+(ka<<2)>>2]|0;f[ca+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0<l>>>0?(ea=d+(k<<2)|0,(g|0)!=(ea|0)):0)f[i>>2]=g+(~((g+-4-ea|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ia>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;p=d+2|0;g=f[ga>>2]|0;i=g+1|0;if((g|0)>=0?(ja=((i|0)%3|0|0)==0?g+-2|0:i,(ja|0)>=0):0){ca=f[k>>2]|0;o=f[ca+(ja<<2)>>2]|0;f[ca+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Tj(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0<l>>>0?(da=d+(k<<2)|0,(g|0)!=(da|0)):0)f[i>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ia>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ha>>2]|0;ca=g+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(d&31));d=f[ia>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ca=g+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(d&31));d=f[ia>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){xr(E);g=f[v>>2]|0}ca=g<<6;d=d+32&-32;Qj(E,g<<5>>>0<1073741823?(ca>>>0<d>>>0?d:ca):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;ca=(f[E>>2]|0)+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))hk(D,ia);else{f[d>>2]=f[ia>>2];f[t>>2]=d+4}d=s}else if((H|0)==268){g=f[x>>2]|0;i=f[v>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){xr(E);i=f[v>>2]|0}ca=i<<6;g=g+32&-32;Qj(E,i<<5>>>0<1073741823?(ca>>>0<g>>>0?g:ca):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;ca=(f[E>>2]|0)+(g>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){hk(D,ga);break}else{f[g>>2]=f[ga>>2];f[t>>2]=g+4;break}}while(0);g=f[pa>>2]|0}while((g|0)!=(f[na>>2]|0))}la=f[e>>2]|0;if((d|0)==(((f[la+4>>2]|0)-(f[la>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(G>>>0>i>>>0){Tj(k,G-i|0);break}if(G>>>0<i>>>0?(ma=d+(G<<2)|0,(e|0)!=(ma|0)):0)f[g>>2]=e+(~((e+-4-ma|0)>>>2)<<2)}else G=-1}else G=-1;while(0);d=f[oa+8>>2]|0;if(d|0)do{ma=d;d=f[d>>2]|0;Ns(ma)}while((d|0)!=0);d=f[oa>>2]|0;f[oa>>2]=0;if(d|0)Ns(d);d=f[na>>2]|0;if(!d){u=qa;return G|0}e=f[pa>>2]|0;if((e|0)!=(d|0))f[pa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);u=qa;return G|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=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,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[6568]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=26312+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[6568]=m&~(1<<d);else{f[c+12>>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[6570]|0;if(k>>>0>l>>>0){if(c|0){h=2<<a;c=c<<a&(h|0-h);c=(c&0-c)+-1|0;h=c>>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=26312+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<<d);f[6568]=a}else{f[a+12>>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[6573]|0;b=l>>>3;c=26312+(b<<1<<2)|0;b=1<<b;if(!(a&b)){f[6568]=a|b;b=c+8|0;a=c}else{a=c+8|0;b=a;a=f[a>>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[6570]=g;f[6573]=e;w=h;u=x;return w|0}i=f[6569]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[26576+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0<c>>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0<g>>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=26576+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[6569]=i&~(1<<b);break}}else{f[e+16+(((f[e+16>>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[6573]|0;b=l>>>3;c=26312+(b<<1<<2)|0;b=1<<b;if(!(m&b)){f[6568]=m|b;b=c+8|0;a=c}else{a=c+8|0;b=a;a=f[a>>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[6570]=j;f[6573]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[6569]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<<m;l=(v+520192|0)>>>16&4;v=v<<l;j=(v+245760|0)>>>16&2;j=14-(l|m|j)+(v<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[26576+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0<c>>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<<j;a=d&(a|0-a);if(!a){m=k;break}a=(a&0-a)+-1|0;j=a>>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[26576+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0<c>>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[6570]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=26576+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<<a);f[6569]=d;break}}else{f[g+16+(((f[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=26312+(b<<1<<2)|0;a=f[6568]|0;b=1<<b;if(!(a&b)){f[6568]=a|b;b=c+8|0;a=c}else{a=c+8|0;b=a;a=f[a>>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;t=(w+520192|0)>>>16&4;w=w<<t;b=(w+245760|0)>>>16&2;b=14-(t|v|b)+(w<<b>>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=26576+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<<b;if(!(d&a)){f[6569]=d|a;f[c>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[6570]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[6573]|0;if(a>>>0>15){w=b+m|0;f[6573]=w;f[6570]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[6570]=0;f[6573]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[6571]|0;if(h>>>0>m>>>0){t=h-m|0;f[6571]=t;w=f[6574]|0;v=w+m|0;f[6574]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6686]|0)){f[6688]=4096;f[6687]=4096;f[6689]=-1;f[6690]=-1;f[6691]=0;f[6679]=0;a=n&-16^1431655768;f[n>>2]=a;f[6686]=a;a=4096}else a=f[6688]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6678]|0;if(a|0?(l=f[6676]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6679]&4)){c=f[6574]|0;c:do if(c){e=26720;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=ln(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=ln(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6687]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6676]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6678]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=ln(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6688]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((ln(a|0)|0)==(-1|0)){ln(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6679]=f[6679]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=ln(k|0)|0,q=ln(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0<q>>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6676]|0)+g|0;f[6676]=b;if(b>>>0>(f[6677]|0)>>>0)f[6677]=b;j=f[6574]|0;do if(j){e=26720;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0<h>>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[6571]|0)+(g-w)|0;f[6574]=v;f[6571]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6575]=f[6690];break}if(h>>>0<(f[6572]|0)>>>0)f[6572]=h;c=h+g|0;a=26720;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[6573]|0)){w=(f[6570]|0)+i|0;f[6570]=w;f[6573]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[6568]=f[6568]&~(1<<d);break}else{f[a+12>>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=26576+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[6569]=f[6569]&~(1<<c);break d}while(0);f[a+24>>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=26312+(b<<1<<2)|0;a=f[6568]|0;b=1<<b;if(!(a&b)){f[6568]=a|b;b=c+8|0;a=c}else{a=c+8|0;b=a;a=f[a>>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;t=(w+520192|0)>>>16&4;w=w<<t;a=(w+245760|0)>>>16&2;a=14-(t|v|a)+(w<<a>>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=26576+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[6569]|0;c=1<<a;if(!(b&c)){f[6569]=b|c;f[d>>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[6571]|0)+i|0;f[6571]=w;f[6574]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=26720;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0<e>>>0?j:a;b=a+8|0;c=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[6574]=v;f[6571]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[6575]=f[6690];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6680];f[b+4>>2]=f[6681];f[b+8>>2]=f[6682];f[b+12>>2]=f[6683];f[6680]=h;f[6681]=g;f[6683]=0;f[6682]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=26312+(b<<1<<2)|0;a=f[6568]|0;b=1<<b;if(!(a&b)){f[6568]=a|b;b=c+8|0;a=c}else{a=c+8|0;b=a;a=f[a>>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;t=(w+520192|0)>>>16&4;w=w<<t;c=(w+245760|0)>>>16&2;c=14-(t|v|c)+(w<<c>>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=26576+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[6569]|0;a=1<<c;if(!(b&a)){f[6569]=b|a;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[6572]|0;if((w|0)==0|h>>>0<w>>>0)f[6572]=h;f[6680]=h;f[6681]=g;f[6683]=0;f[6577]=f[6686];f[6576]=-1;b=0;do{w=26312+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[6574]=v;f[6571]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6575]=f[6690]}while(0);b=f[6571]|0;if(b>>>0>m>>>0){t=b-m|0;f[6571]=t;w=f[6574]|0;v=w+m|0;f[6574]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=zs()|0;f[w>>2]=12;w=0;u=x;return w|0}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(nn(5988,6180,c,b)|0)-5988>>2;a=e;e=0;a:while(1){b=(f[5988+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[5796+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0<a>>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0<d>>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0<a>>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=nn(5796,5988,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;r=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Ns(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}q=a+4|0;c=f[q>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=sq(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0<i>>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(_k(B,m)|0){e=f[q>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=sq(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0<g>>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(_k(o,l)|0){k=f[q>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=sq(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0<e>>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(_k(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Xo(60)|0;Bq(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){Vk(e);Ns(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Am(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);tl(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);tl(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[q>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=sq(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}dl(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;yj(y,m);o=f[q>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0<g>>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(_k(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0<c>>>0)c=0;else{p=f[q>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0<g>>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[r>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(_k(r,c)|0)){c=0;break}c=f[r>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;xi(l,c,B);c=f[q>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Lb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(_k(B,k)|0)t=71}else{o=k+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=sq(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0<e>>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){po(C);c=f[(f[q>>2]|0)+32>>2]|0;o=c+16|0;k=f[o>>2]|0;t=f[B>>2]|0;p=(f[c>>2]|0)+k+t|0;i=c+8|0;o=Ip(f[i>>2]|0,f[i+4>>2]|0,k|0,f[o+4>>2]|0)|0;t=Ip(o|0,I|0,t|0,0)|0;Lo(C,p,t,d[c+38>>1]|0);c=Lb(a,C)|0;Ss(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;k=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;k=f[k>>2]|0;k=(f[k>>2]|0)+(f[k+16>>2]|0)|0;o=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;o=f[o>>2]|0;p=o+8|0;o=o+16|0;o=Ip(f[p>>2]|0,f[p+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;Lo(t,k,o,d[(f[p>>2]|0)+38>>1]|0);p=Sa[f[(f[a>>2]|0)+36>>2]&255](a)|0;f[a+388>>2]=p;p=f[q>>2]|0;f[a+392>>2]=(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514?0:f[r>>2]|0)+(f[n>>2]|0);f[a+380>>2]=m;po(C);c:do if(Ri(t,C)|0){if((Ya(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[q>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;r=C+8|0;e=Ip(f[r>>2]|0,f[r+4>>2]|0,s|0,f[e+4>>2]|0)|0;Lo(c,t,e,d[c+38>>1]|0);c=f[q>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=sq(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Lg(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Fg(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Qn(a+280|0);if((j[a+278>>1]|0)<514)Qn(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{nk(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];$h(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));jn(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){Tj(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){Tj(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=wb(a)|0}else c=0;while(0);Ss(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;r=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Ns(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}q=a+4|0;c=f[q>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=sq(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0<i>>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(_k(B,m)|0){e=f[q>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=sq(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0<g>>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(_k(o,l)|0){k=f[q>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=sq(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0<e>>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(_k(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Xo(60)|0;Bq(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){Vk(e);Ns(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Am(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);tl(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);tl(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[q>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=sq(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}dl(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;yj(y,m);o=f[q>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0<g>>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(_k(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0<c>>>0)c=0;else{p=f[q>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0<g>>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[r>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(_k(r,c)|0)){c=0;break}c=f[r>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;xi(l,c,B);c=f[q>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Lb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(_k(B,k)|0)t=71}else{o=k+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=sq(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0<e>>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){po(C);c=f[(f[q>>2]|0)+32>>2]|0;o=c+16|0;k=f[o>>2]|0;t=f[B>>2]|0;p=(f[c>>2]|0)+k+t|0;i=c+8|0;o=Ip(f[i>>2]|0,f[i+4>>2]|0,k|0,f[o+4>>2]|0)|0;t=Ip(o|0,I|0,t|0,0)|0;Lo(C,p,t,d[c+38>>1]|0);c=Lb(a,C)|0;Ss(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;k=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;k=f[k>>2]|0;k=(f[k>>2]|0)+(f[k+16>>2]|0)|0;o=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;o=f[o>>2]|0;p=o+8|0;o=o+16|0;o=Ip(f[p>>2]|0,f[p+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;Lo(t,k,o,d[(f[p>>2]|0)+38>>1]|0);p=Sa[f[(f[a>>2]|0)+36>>2]&255](a)|0;f[a+388>>2]=p;p=f[q>>2]|0;f[a+392>>2]=(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514?0:f[r>>2]|0)+(f[n>>2]|0);f[a+380>>2]=m;po(C);c:do if(ec(t,C)|0){if((Za(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[q>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;r=C+8|0;e=Ip(f[r>>2]|0,f[r+4>>2]|0,s|0,f[e+4>>2]|0)|0;Lo(c,t,e,d[c+38>>1]|0);c=f[q>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=sq(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Lg(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Fg(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Qn(a+280|0);if((j[a+278>>1]|0)<514)Qn(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{nk(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];$h(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));jn(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){Tj(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){Tj(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=wb(a)|0}else c=0;while(0);Ss(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function db(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;q=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Ns(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}r=a+4|0;c=f[r>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=sq(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0<i>>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(_k(B,m)|0){e=f[r>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=sq(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0<g>>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(_k(o,l)|0){k=f[r>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=sq(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0<e>>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(_k(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Xo(60)|0;Bq(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){Vk(e);Ns(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Am(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);tl(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);tl(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[r>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=sq(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e)}dl(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;yj(y,m);o=f[r>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0<g>>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(_k(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0<c>>>0)c=0;else{p=f[r>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=sq(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0<g>>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[q>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(_k(q,c)|0)){c=0;break}c=f[q>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;xi(l,c,B);c=f[r>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Lb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(_k(B,k)|0)t=71}else{p=k+8|0;q=f[p>>2]|0;p=f[p+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=sq(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((p|0)<(g|0)|(p|0)==(g|0)&q>>>0<e>>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){po(C);c=f[(f[r>>2]|0)+32>>2]|0;p=c+16|0;o=f[p>>2]|0;t=f[B>>2]|0;q=(f[c>>2]|0)+o+t|0;n=c+8|0;p=Ip(f[n>>2]|0,f[n+4>>2]|0,o|0,f[p+4>>2]|0)|0;t=Ip(p|0,I|0,t|0,0)|0;Lo(C,q,t,d[c+38>>1]|0);c=Lb(a,C)|0;Ss(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;o=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;o=f[o>>2]|0;o=(f[o>>2]|0)+(f[o+16>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;p=f[p>>2]|0;q=p+8|0;p=p+16|0;p=Ip(f[q>>2]|0,f[q+4>>2]|0,f[p>>2]|0,f[p+4>>2]|0)|0;q=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;Lo(t,o,p,d[(f[q>>2]|0)+38>>1]|0);f[a+380>>2]=m;po(C);c:do if(Dg(t,C)|0){if((_a(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[r>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;q=C+8|0;e=Ip(f[q>>2]|0,f[q+4>>2]|0,s|0,f[e+4>>2]|0)|0;Lo(c,t,e,d[c+38>>1]|0);c=f[r>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=sq(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Lg(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Gg(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Qn(a+280|0);if((j[a+278>>1]|0)<514)Qn(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{nk(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];$h(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));jn(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){Tj(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){Tj(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=wb(a)|0}else c=0;while(0);Ss(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;M=u;u=u+32|0;L=M+8|0;j=M;G=a+8|0;F=f[G>>2]|0;f[j>>2]=0;pl(L,F,j);F=a+116|0;i=f[F>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[L>>2];f[h>>2]=f[L+4>>2];f[e>>2]=f[L+8>>2];E=f[G>>2]|0;f[j>>2]=0;pl(L,E,j);E=a+128|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[L>>2];f[h>>2]=f[L+4>>2];f[e>>2]=f[L+8>>2];f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;H=L+20|0;Lc(L);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+104|0;D=a+92|0;t=d+4|0;w=a+96|0;C=a+48|0;z=a+44|0;B=a+28|0;y=a+24|0;A=a+88|0;x=a+84|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;m=q+g|0;r=f[J>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}i=f[F>>2]|0;r=i+(m*12|0)|0;q=(f[E>>2]|0)+(m*12|0)|0;g=fp(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Wo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[G>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[G>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[D>>2]|0;else{k=f[v>>2]|0;l=f[D>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[C>>2]|0;c=32-j|0;e=f[z>>2]|0;j=f[e>>2]<<j;if((p|0)>(c|0)){p=p-c|0;f[C>>2]=p;e=e+4|0;f[z>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[C>>2]|0)+p|0;f[C>>2]=p;if((p|0)!=32)break;f[z>>2]=e+4;f[C>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[G>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Wo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[G>>2]|0}}c=1<<e+-1;n=m+1|0;h=f[i+(m*12|0)+4>>2]|0;e=f[r>>2]|0;j=e;i=f[(f[F>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}r=i+(g<<2)|0;f[r>>2]=(f[r>>2]|0)+c;c=(_(s|0)|0)^31;if(c>>>0>=33){o=56;break b}if(!c){o=58;break b}i=f[B>>2]|0;h=32-i|0;j=f[y>>2]|0;e=f[j>>2]<<i;if((c|0)<=(h|0)){e=e>>>(32-c|0);r=i+c|0;f[B>>2]=r;if((r|0)==32){f[y>>2]=j+4;f[B>>2]=0}}else{r=c-h|0;f[B>>2]=r;q=j+4|0;f[y>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[A>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[A>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[A>>2]=0}k=i?j:h;l=i?h:j}e=f[E>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}if(k|0){j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(L);e=f[I>>2]|0;h=f[H>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}if(!l)o=15;else{j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(L);e=f[I>>2]|0;h=f[H>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[H>>2]|0)+1|0;f[H>>2]=e}}while(0);if((o|0)==15){o=0;e=f[H>>2]|0}if(!e)break a}if((o|0)==23)Ga(6524,6554,51,6672);else if((o|0)==28)Ga(22220,22258,223,22399);else if((o|0)==37)Ga(6524,6554,51,6672);else if((o|0)==42)Ga(22414,22438,48,22540);else if((o|0)==44)Ga(22569,22438,49,22540);else if((o|0)==56)Ga(22414,22438,48,22540);else if((o|0)==58)Ga(22569,22438,49,22540)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=c-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=94;break}case 2:{g=341;o=94;break}default:{}}if((o|0)==94)f[I>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[L>>2]|0;if(!e){u=M;return}Ns(e);u=M;return}function fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;Q=u;u=u+48|0;K=Q+24|0;P=Q;J=a+8|0;I=f[J>>2]|0;f[P>>2]=0;pl(K,I,P);I=a+116|0;h=f[I>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];H=f[J>>2]|0;f[P>>2]=0;pl(K,H,P);H=a+128|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;Lc(P);d=f[N>>2]|0;e=(f[L>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[L>>2]|0)+1|0;f[L>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;A=K+4|0;C=K+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;B=K+4|0;D=K+8|0;b:while(1){r=f[M>>2]|0;e=d+-1|0;l=r+e|0;s=f[N>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[L>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}h=f[I>>2]|0;s=h+(l*12|0)|0;r=(f[H>>2]|0)+(l*12|0)|0;e=fp(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[K>>2]=d;f[B>>2]=f[e+4>>2];f[D>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[B>>2];f[e+8>>2]=f[D>>2];f[g>>2]=e+12}else Mi(i,K);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[G>>2]|0;b=32-h|0;d=f[z>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[J>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[K>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Mi(q,K);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[J>>2]|0}}i=1<<d+-1;m=l+1|0;g=f[h+(l*12|0)+4>>2]|0;d=f[s>>2]|0;b=d;h=f[(f[I>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}s=h+(e<<2)|0;f[s>>2]=(f[s>>2]|0)+i;i=(_(t|0)|0)^31;if(i>>>0>=33){n=53;break b}if(!i){n=55;break b}h=f[F>>2]|0;g=32-h|0;b=f[y>>2]|0;d=f[b>>2]<<h;if((i|0)<=(g|0)){d=d>>>(32-i|0);s=h+i|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=b+4;f[F>>2]=0}}else{s=i-g|0;f[F>>2]=s;r=b+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}j=h?b:g;k=h?g:b}d=f[H>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}if(j|0){b=f[O>>2]|0;h=f[N>>2]|0;t=b-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(P);d=f[M>>2]|0;g=f[L>>2]|0;b=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[L>>2]=(f[L>>2]|0)+1}if(!k)n=15;else{b=f[O>>2]|0;h=f[N>>2]|0;t=b-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(P);d=f[M>>2]|0;g=f[L>>2]|0;b=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[L>>2]|0)+1|0;f[L>>2]=d}}while(0);if((n|0)==15){n=0;d=f[L>>2]|0}if(!d)break a}if((n|0)==27)Ga(22220,22258,223,22399);else if((n|0)==36)Ga(22414,22438,48,22540);else if((n|0)==38)Ga(22569,22438,49,22540);else if((n|0)==53)Ga(22414,22438,48,22540);else if((n|0)==55)Ga(22569,22438,49,22540)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[L>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=91;break}case 2:{e=341;n=91;break}default:{}}if((n|0)==91)f[M>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Ns(d);u=Q;return}function gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;O=u;u=u+32|0;N=O+8|0;j=O;I=a+8|0;H=f[I>>2]|0;f[j>>2]=0;pl(N,H,j);H=a+116|0;i=f[H>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[N>>2];f[h>>2]=f[N+4>>2];f[e>>2]=f[N+8>>2];G=f[I>>2]|0;f[j>>2]=0;pl(N,G,j);G=a+128|0;i=f[G>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[N>>2];f[h>>2]=f[N+4>>2];f[e>>2]=f[N+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;Lc(N);e=f[L>>2]|0;g=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[J>>2]|0)+1|0;f[J>>2]=e;a:do if(e|0){x=a+104|0;F=a+92|0;w=d+4|0;y=a+96|0;E=a+48|0;B=a+44|0;D=a+28|0;A=a+24|0;C=a+88|0;z=a+84|0;b:while(1){r=f[K>>2]|0;g=e+-1|0;o=r+g|0;s=f[L>>2]|0;q=f[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=f[q+(o*12|0)>>2]|0;h=f[q+(o*12|0)+4>>2]|0;o=f[q+(o*12|0)+8>>2]|0;f[J>>2]=g;g=f[M>>2]|0;s=g-s>>2;if((1-e-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);g=(f[M>>2]|0)+-4|0;f[M>>2]=g}i=f[H>>2]|0;r=i+(o*12|0)|0;l=f[G>>2]|0;s=((f[I>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=l+(o*12|0)|0;n=f[q>>2]|0;k=n+(s<<2)|0;e=(f[a>>2]|0)-(f[k>>2]|0)|0;m=n;c:do if(!e)if((t|0)>0){j=i+(o*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[w>>2]|0;l=0;while(1){e=g;g=g+1|0;f[w>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){v=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;s=k;v=f[s>>2]|0;s=Wo(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[c>>2]>>2]|0)+s|0,h|0,v|0)|0;l=l+1|0;if((l|0)>=(t|0)){v=15;break}}}else v=15;else{if(!t){v=28;break b}if(t>>>0<3){i=f[x>>2]|0;f[i>>2]=s;e=f[I>>2]|0;if(e>>>0>1){g=s;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[F>>2]|0;else{k=f[x>>2]|0;l=f[F>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){v=42;break b}if((p|0)<=0){v=44;break b}j=f[E>>2]|0;c=32-j|0;e=f[B>>2]|0;j=f[e>>2]<<j;if((p|0)>(c|0)){v=p-c|0;f[E>>2]=v;s=e+4|0;f[B>>2]=s;v=32-v|0;f[h>>2]=(f[s>>2]|0)>>>v|j>>>(v-c|0);break}f[h>>2]=j>>>(32-p|0);v=(f[E>>2]|0)+p|0;f[E>>2]=v;if((v|0)!=32)break;f[B>>2]=e+4;f[E>>2]=0}while(0);s=f[n>>2]|0;v=l+(s<<2)|0;f[v>>2]=f[v>>2]|f[(f[r>>2]|0)+(s<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[w>>2]|0;f[w>>2]=e+1;if(((f[y>>2]|0)-i|0)!=12){v=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;s=h+40|0;v=f[s>>2]|0;s=Wo(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+s|0,i|0,v|0)|0;g=g+1|0;if(g>>>0>=t>>>0){v=15;break c}e=f[I>>2]|0}}c=1<<e+-1;p=o+1|0;h=f[i+(o*12|0)+4>>2]|0;e=f[r>>2]|0;j=e;i=f[i+(p*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}r=i+(s<<2)|0;f[r>>2]=(f[r>>2]|0)+c;c=(_(t|0)|0)^31;if(c>>>0>=33){v=56;break b}if(!c){v=58;break b}i=f[D>>2]|0;h=32-i|0;j=f[A>>2]|0;e=f[j>>2]<<i;if((c|0)<=(h|0)){e=e>>>(32-c|0);r=i+c|0;f[D>>2]=r;if((r|0)==32){f[A>>2]=j+4;f[D>>2]=0}}else{r=c-h|0;f[D>>2]=r;q=j+4|0;f[A>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(t>>>1)-e|0;h=t-j|0;if((j|0)==(h|0))c=j;else{t=f[C>>2]|0;e=f[z>>2]|0;i=(f[e>>2]&1<<31-t|0)!=0;t=t+1|0;f[C>>2]=t;if((t|0)==32){f[z>>2]=e+4;f[C>>2]=0}c=i?j:h;j=i?h:j}f[k>>2]=(f[k>>2]|0)+1;e=f[l+(o*12|0)+4>>2]|0;if((e|0)!=(m|0)){i=f[l+(p*12|0)>>2]|0;h=e-m>>2;e=0;do{f[i+(e<<2)>>2]=f[n+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}if(c|0){i=f[L>>2]|0;t=g-i>>2;e=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+e|0)){Lc(N);e=f[K>>2]|0;h=f[J>>2]|0;g=f[M>>2]|0;i=f[L>>2]|0}e=h+e|0;if((g|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=s;f[e+8>>2]=o;f[J>>2]=(f[J>>2]|0)+1}if(!j)v=15;else{i=f[M>>2]|0;h=f[L>>2]|0;t=i-h>>2;e=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+e|0)){Lc(N);e=f[K>>2]|0;g=f[J>>2]|0;i=f[M>>2]|0;h=f[L>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=s;f[e+8>>2]=p;e=(f[J>>2]|0)+1|0;f[J>>2]=e}}while(0);if((v|0)==15){v=0;e=f[J>>2]|0}if(!e)break a}if((v|0)==23)Ga(6524,6554,51,6672);else if((v|0)==28)Ga(22220,22258,223,22399);else if((v|0)==37)Ga(6524,6554,51,6672);else if((v|0)==42)Ga(22414,22438,48,22540);else if((v|0)==44)Ga(22569,22438,49,22540);else if((v|0)==56)Ga(22414,22438,48,22540);else if((v|0)==58)Ga(22569,22438,49,22540)}while(0);e=f[L>>2]|0;g=f[K>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[M>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[J>>2]=0;g=c-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[L>>2]|0)+4|0;f[L>>2]=e;h=f[M>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;v=94;break}case 2:{g=341;v=94;break}default:{}}if((v|0)==94)f[K>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[L>>2]|0;g=f[M>>2]|0;if((g|0)!=(e|0))f[M>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[N>>2]|0;if(!e){u=O;return}Ns(e);u=O;return}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;Q=u;u=u+48|0;K=Q+24|0;P=Q;J=a+8|0;I=f[J>>2]|0;f[P>>2]=0;pl(K,I,P);I=a+116|0;h=f[I>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];H=f[J>>2]|0;f[P>>2]=0;pl(K,H,P);H=a+128|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;Lc(P);d=f[N>>2]|0;e=(f[L>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[L>>2]|0)+1|0;f[L>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;A=K+4|0;C=K+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;B=K+4|0;D=K+8|0;b:while(1){r=f[M>>2]|0;e=d+-1|0;n=r+e|0;s=f[N>>2]|0;p=f[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=f[p+(n*12|0)>>2]|0;g=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[L>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);e=(f[O>>2]|0)+-4|0;f[O>>2]=e}h=f[I>>2]|0;s=h+(n*12|0)|0;k=f[H>>2]|0;p=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=k+(n*12|0)|0;m=f[r>>2]|0;j=m+(p<<2)|0;d=(f[a>>2]|0)-(f[j>>2]|0)|0;l=m;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[K>>2]=d;f[B>>2]=f[e+4>>2];f[D>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[B>>2];f[e+8>>2]=f[D>>2];f[g>>2]=e+12}else Mi(i,K);b=b+1|0}while((b|0)<(t|0));q=15}else q=15;else{if(!t){q=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=p;d=f[J>>2]|0;if(d>>>0>1){e=p;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){q=36;break b}if((n|0)<=0){q=38;break b}h=f[G>>2]|0;b=32-h|0;d=f[z>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[J>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[K>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Mi(q,K);e=e+1|0;if(e>>>0>=t>>>0){q=15;break c}d=f[J>>2]|0}}i=1<<d+-1;o=n+1|0;g=f[h+(n*12|0)+4>>2]|0;d=f[s>>2]|0;b=d;h=f[h+(o*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}s=h+(p<<2)|0;f[s>>2]=(f[s>>2]|0)+i;i=(_(t|0)|0)^31;if(i>>>0>=33){q=53;break b}if(!i){q=55;break b}h=f[F>>2]|0;g=32-h|0;b=f[y>>2]|0;d=f[b>>2]<<h;if((i|0)<=(g|0)){d=d>>>(32-i|0);s=h+i|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=b+4;f[F>>2]=0}}else{s=i-g|0;f[F>>2]=s;r=b+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0))i=b;else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}i=h?b:g;b=h?g:b}f[j>>2]=(f[j>>2]|0)+1;d=f[k+(n*12|0)+4>>2]|0;if((d|0)!=(l|0)){h=f[k+(o*12|0)>>2]|0;g=d-l>>2;d=0;do{f[h+(d<<2)>>2]=f[m+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}if(i|0){h=f[N>>2]|0;t=e-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(P);d=f[M>>2]|0;g=f[L>>2]|0;e=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((e|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=p;f[d+8>>2]=n;f[L>>2]=(f[L>>2]|0)+1}if(!b)q=15;else{h=f[O>>2]|0;g=f[N>>2]|0;t=h-g>>2;d=f[M>>2]|0;e=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){Lc(P);d=f[M>>2]|0;e=f[L>>2]|0;h=f[O>>2]|0;g=f[N>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=p;f[d+8>>2]=o;d=(f[L>>2]|0)+1|0;f[L>>2]=d}}while(0);if((q|0)==15){q=0;d=f[L>>2]|0}if(!d)break a}if((q|0)==27)Ga(22220,22258,223,22399);else if((q|0)==36)Ga(22414,22438,48,22540);else if((q|0)==38)Ga(22569,22438,49,22540);else if((q|0)==53)Ga(22414,22438,48,22540);else if((q|0)==55)Ga(22569,22438,49,22540)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[L>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;q=91;break}case 2:{e=341;q=91;break}default:{}}if((q|0)==91)f[M>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Ns(d);u=Q;return}function ib(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,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;S=u;u=u+64|0;R=S+16|0;P=S;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[P>>2]=0;if(!e){d=0;g=0}else{Di(R,e,P);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[P>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Di(R+12|0,e-i|0,P);i=R+24|0;f[P>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else Di(i,e-j|0,P);i=R+36|0;f[P>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else Di(i,e-j|0,P);h=f[R>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}t=f[a+48>>2]|0;v=f[a+52>>2]|0;G=Xo(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;fm(P,e);B=a+56|0;h=f[B>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;E=g-d|0;F=E>>2;a:do if((E|0)>4){A=t+64|0;x=t+28|0;z=(e|0)>0;D=a+16|0;y=a+32|0;E=a+12|0;C=a+20|0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=61;break b}i=f[R+(d*12|0)>>2]|0;if(((f[(f[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(Q=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(Q|0)>=0):0)?(K=f[x>>2]|0,m=f[v>>2]|0,I=f[m+(f[K+(Q<<2)>>2]<<2)>>2]|0,J=Q+1|0,J=f[m+(f[K+((((J|0)%3|0|0)==0?Q+-2|0:J)<<2)>>2]<<2)>>2]|0,K=f[m+(f[K+((((Q>>>0)%3|0|0)==0?2:-1)+Q<<2)>>2]<<2)>>2]|0,(I|0)<(h|0)&(J|0)<(h|0)&(K|0)<(h|0)):0){k=X(I,e)|0;l=X(J,e)|0;m=X(K,e)|0;if(z){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=42;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;j=g+1|0;if((g|0)>=0)g=((j|0)%3|0|0)==0?g+-2|0:j}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(o|0)){o=61;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[A>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==61)if((d|0)>0)o=42;else{O=X(h,e)|0;o=73}if((o|0)==42){o=0;if(z){Gk(f[P>>2]|0,0,w|0)|0;k=d+-1|0;m=G+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[P>>2]|0;n=0;g=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){i=f[R+(n*12|0)>>2]|0;j=0;do{s=l+(j<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=G+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{s=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[P>>2]|0;if(z){d=0;do{s=k+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[H>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=95}}else{d=d-(f[C>>2]|0)|0;o=95}if((o|0)==95){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}}else{O=i;o=73}}if((o|0)==73?(o=0,L=c+((X(h+-1|0,e)|0)<<2)|0,M=b+(O<<2)|0,N=c+(O<<2)|0,(f[H>>2]|0)>0):0){i=0;do{d=f[L+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[M+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=N+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=83}}else{d=d-(f[C>>2]|0)|0;o=83}if((o|0)==83){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}h=h+1|0;if((h|0)>=(F|0)){d=P;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=P;while(0);h=f[d>>2]|0;if(h|0){g=P+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h)}Ns(G);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h);u=S;return 1}function jb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;K=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;pl(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;pl(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;Lc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;q=(f[C>>2]|0)+(m*12|0)|0;g=rk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Wo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<<j;if((p|0)>(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Wo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<<e+-1;n=m+1|0;h=f[i+(m*12|0)+4>>2]|0;e=f[r>>2]|0;j=e;i=f[(f[D>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(km(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(6524,6554,51,6672);else if((o|0)==28)Ga(22220,22258,223,22399);else if((o|0)==37)Ga(6524,6554,51,6672);else if((o|0)==42)Ga(22414,22438,48,22540);else if((o|0)==44)Ga(22569,22438,49,22540)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Ns(e);u=K;return}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;K=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;pl(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;pl(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;Lc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;q=(f[C>>2]|0)+(m*12|0)|0;g=fp(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Wo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<<j;if((p|0)>(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Wo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<<e+-1;n=m+1|0;h=f[i+(m*12|0)+4>>2]|0;e=f[r>>2]|0;j=e;i=f[(f[D>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(km(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(6524,6554,51,6672);else if((o|0)==28)Ga(22220,22258,223,22399);else if((o|0)==37)Ga(6524,6554,51,6672);else if((o|0)==42)Ga(22414,22438,48,22540);else if((o|0)==44)Ga(22569,22438,49,22540)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Ns(e);u=K;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;pl(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;pl(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;Lc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;r=(f[F>>2]|0)+(l*12|0)|0;e=rk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Mi(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else Mi(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<<d+-1;m=l+1|0;g=f[h+(l*12|0)+4>>2]|0;d=f[s>>2]|0;b=d;h=f[(f[G>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(km(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){Lc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(22220,22258,223,22399);else if((n|0)==36)Ga(22414,22438,48,22540);else if((n|0)==38)Ga(22569,22438,49,22540)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Ns(d);u=O;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;pl(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;pl(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;Lc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;r=(f[F>>2]|0)+(l*12|0)|0;e=fp(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Mi(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else Mi(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<<d+-1;m=l+1|0;g=f[h+(l*12|0)+4>>2]|0;d=f[s>>2]|0;b=d;h=f[(f[G>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(km(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){Lc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(22220,22258,223,22399);else if((n|0)==36)Ga(22414,22438,48,22540);else if((n|0)==38)Ga(22569,22438,49,22540)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Ns(d);u=O;return}function nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;K=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;pl(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;pl(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;Lc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;g=((f[E>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[C>>2]|0)+(m*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Wo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<<j;if((p|0)>(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Wo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<<e+-1;n=m+1|0;h=f[i+(m*12|0)+4>>2]|0;e=f[r>>2]|0;j=e;i=f[i+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(km(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0<h>>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){Lc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(6524,6554,51,6672);else if((o|0)==28)Ga(22220,22258,223,22399);else if((o|0)==37)Ga(6524,6554,51,6672);else if((o|0)==42)Ga(22414,22438,48,22540);else if((o|0)==44)Ga(22569,22438,49,22540)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Ns(e);u=K;return}function ob(a){a=a|0;var c=0,d=0,e=0,g=La,h=La,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=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=La;T=u;u=u+64|0;S=T+28|0;Q=T+16|0;O=T+4|0;L=T;R=a;M=a+80|0;c=f[M>>2]|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=R;H=S+20|0;n[H>>2]=$(1.0);f[S+24>>2]=R;dj(S,c);c=f[M>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;do if(c|0)if(c>>>0>1073741823){xr(Q);T=Ia(4)|0;ps(T);sa(T|0,1488,137)}else{G=c<<2;F=Xo(G)|0;f[Q>>2]=F;P=F+(c<<2)|0;f[Q+8>>2]=P;Gk(F|0,0,G|0)|0;f[R>>2]=P;break}while(0);f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;f[L>>2]=0;a:do if((c|0)>0){F=S+16|0;C=S+4|0;E=S+12|0;B=S+8|0;D=O+8|0;G=S+24|0;c=0;z=0;b:while(1){w=f[F>>2]|0;k=f[w+8>>2]|0;w=(f[w+12>>2]|0)-k|0;v=(w|0)>0;if(v){i=k;l=w>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0))}else d=0;x=f[C>>2]|0;y=(x|0)==0;c:do if(!y){q=x+-1|0;e=(q&x|0)==0;if(e)t=q&d;else t=(d>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){r=f[G>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=K;while(1){if((f[d+4>>2]&q|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}else{d=K;while(1){if((((f[d+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}while(0);if((A|0)==43){A=0;if(!d){A=45;break}}f[(f[Q>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=z}else A=45}else A=45;while(0);do if((A|0)==45){A=0;if(v){j=w>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;e:do if(!y){p=x+-1|0;e=(p&x|0)==0;if(e)s=p&t;else s=(t>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){q=f[G>>2]|0;r=q+8|0;q=q+12|0;if(e){m=J;while(1){if((f[m+4>>2]&p|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}else{m=J;while(1){if((((f[m+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}}else{d=s;A=80}}else{d=0;A=80}while(0);if((A|0)==80){A=0;i=Xo(16)|0;f[i+8>>2]=c;f[i+12>>2]=z;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[E>>2]|0)+1|0)>>>0);U=$(x>>>0);g=$(n[H>>2]);do if(y|h>$(U*g)){c=(x>>>0<3|(x+-1&x|0)!=0)&1|x<<1;d=~~$(W($(h/g)))>>>0;dj(S,c>>>0<d>>>0?d:c);c=f[C>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}else{e=c;c=(t>>>0)%(c>>>0)|0;break}}else{e=x;c=d}while(0);d=(f[S>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[B>>2];f[B>>2]=i;f[d>>2]=B;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(f[S>>2]|0)+(c<<2)|0;A=91}}else{f[i>>2]=f[c>>2];A=91}if((A|0)==91){A=0;f[c>>2]=i}f[E>>2]=(f[E>>2]|0)+1;c=f[L>>2]|0}e=z+1|0;f[(f[Q>>2]|0)+(c<<2)>>2]=z;c=f[P>>2]|0;if((c|0)==(f[D>>2]|0)){hk(O,L);break}else{f[c>>2]=f[L>>2];f[P>>2]=c+4;break}}while(0);c=(f[L>>2]|0)+1|0;f[L>>2]=c;d=f[M>>2]|0;if((c|0)>=(d|0)){I=d;N=e;break a}else z=e}if((A|0)==39)Ga(22708,22607,68,22698);else if((A|0)==76)Ga(22708,22607,68,22698)}else{I=0;N=0}while(0);if((N|0)!=(I|0)){Ta[f[(f[a>>2]|0)+24>>2]&15](a,Q,O);f[M>>2]=N}c=f[O>>2]|0;if(c|0){d=f[P>>2]|0;if((d|0)!=(c|0))f[P>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[Q>>2]|0;if(c|0){d=f[R>>2]|0;if((d|0)!=(c|0))f[R>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[S+8>>2]|0;if(c|0)do{R=c;c=f[c>>2]|0;Ns(R)}while((c|0)!=0);c=f[S>>2]|0;f[S>>2]=0;if(!c){u=T;return}Ns(c);u=T;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;pl(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;pl(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;Lc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;e=((f[H>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[F>>2]|0)+(l*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Mi(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else Mi(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<<d+-1;m=l+1|0;g=f[h+(l*12|0)+4>>2]|0;d=f[s>>2]|0;b=d;h=f[h+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(km(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0<g>>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){Lc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(22220,22258,223,22399);else if((n|0)==36)Ga(22414,22438,48,22540);else if((n|0)==38)Ga(22569,22438,49,22540)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Ns(d);u=O;return}function qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,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;P=u;u=u+64|0;O=P+16|0;N=P;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Tj(i,e-j|0);d=O;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[N>>2]=0;if(!e){d=0;g=0}else{Di(O,e,N);d=f[O+12>>2]|0;g=f[O+16>>2]|0}f[N>>2]=0;h=O+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Di(O+12|0,e-i|0,N);i=O+24|0;f[N>>2]=0;h=O+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else Di(i,e-j|0,N);i=O+36|0;f[N>>2]=0;h=O+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else Di(i,e-j|0,N);h=f[O>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}w=f[a+48>>2]|0;x=f[a+52>>2]|0;H=Xo(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;fm(N,e);C=a+56|0;h=f[C>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;F=g-d|0;G=F>>2;a:do if((F|0)>4){z=w+12|0;B=(e|0)>0;E=a+16|0;A=a+32|0;F=a+12|0;D=a+20|0;y=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){wr(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=62;break b}o=f[O+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[w>>2]|0;l=f[x>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(B){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=45;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(s|0)){o=62;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==62)if((d|0)>0)o=45;else{M=X(h,e)|0;o=74}if((o|0)==45){o=0;if(B){Gk(f[N>>2]|0,0,y|0)|0;k=d+-1|0;m=H+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[N>>2]|0;n=0;g=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){i=f[O+(n*12|0)>>2]|0;j=0;do{v=l+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=H+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{v=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[N>>2]|0;if(B){d=0;do{v=k+(d<<2)|0;f[v>>2]=(f[v>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[I>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=96}}else{d=d-(f[D>>2]|0)|0;o=96}if((o|0)==96){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}}else{M=i;o=74}}if((o|0)==74?(o=0,J=c+((X(h+-1|0,e)|0)<<2)|0,K=b+(M<<2)|0,L=c+(M<<2)|0,(f[I>>2]|0)>0):0){i=0;do{d=f[J+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[K+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=L+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=84}}else{d=d-(f[D>>2]|0)|0;o=84}if((o|0)==84){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}h=h+1|0;if((h|0)>=(G|0)){d=N;break a}i=f[C>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=N;while(0);h=f[d>>2]|0;if(h|0){g=N+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h)}Ns(H);g=f[O+36>>2]|0;if(g|0){h=O+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Ns(g)}d=f[O+24>>2]|0;if(d|0){h=O+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}d=f[O+12>>2]|0;if(d|0){h=O+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Ns(d)}h=f[O>>2]|0;if(!h){u=P;return 1}g=O+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Ns(h);u=P;return 1}function rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;N=u;u=u+32|0;M=N+8|0;G=N;F=a+8|0;E=f[F>>2]|0;f[G>>2]=0;pl(M,E,G);E=a+112|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];D=f[F>>2]|0;f[G>>2]=0;pl(M,D,G);D=a+124|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;Lc(M);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;l=q+g|0;r=f[J>>2]|0;p=f[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=f[p+(l*12|0)>>2]|0;h=f[p+(l*12|0)+4>>2]|0;l=f[p+(l*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}g=f[E>>2]|0;r=g+(l*12|0)|0;q=(f[D>>2]|0)+(l*12|0)|0;n=fp(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){c=g+(l*12|0)+4|0;j=f[d>>2]|0;m=j+84|0;i=j+68|0;k=j+40|0;j=j+64|0;g=f[t>>2]|0;l=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[c>>2]|0)-h|0)!=12){L=22;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Wo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[j>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0}while((l|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=n;e=f[F>>2]|0;if(e>>>0>1){g=n;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[F>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{k=f[v>>2]|0;l=f[C>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}c=f[A>>2]|0;j=32-c|0;e=f[y>>2]|0;c=f[e>>2]<<c;if((p|0)>(j|0)){p=p-j|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|c>>>(p-j|0);break}f[h>>2]=c>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[F>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=36;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Wo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[F>>2]|0}}c=1<<e+-1;m=l+1|0;g=f[g+(l*12|0)+4>>2]|0;e=f[r>>2]|0;i=e;h=f[(f[E>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0<g>>>0)}i=h+(n<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;f[G>>2]=0;Mk(B,i,G);i=(s>>>1)-(f[G>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){j=i;k=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}j=h?i:g;k=h?g:i}e=f[D>>2]|0;c=f[e+(l*12|0)>>2]|0;g=c+(n<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(l*12|0)+4>>2]|0;h=c;if((g|0)!=(h|0)){i=f[e+(m*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0<g>>>0)}if(j|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){Lc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=n;f[e+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){Lc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=n;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);e=f[H>>2]|0;if(!e)break a}if((L|0)==22)Ga(6524,6554,51,6672);else if((L|0)==27)Ga(22220,22258,223,22399);else if((L|0)==36)Ga(6524,6554,51,6672);else if((L|0)==41)Ga(22414,22438,48,22540);else if((L|0)==43)Ga(22569,22438,49,22540)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;j=h;k=e;if((h|0)==(e|0)){c=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=g}d:while(1){do{if((g|0)==(c|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=j-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=86;break}case 2:{g=341;L=86;break}default:{}}if((L|0)==86)f[I>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Ns(e);u=N;return}function sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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;N=u;u=u+32|0;M=N+8|0;G=N;F=a+8|0;E=f[F>>2]|0;f[G>>2]=0;pl(M,E,G);E=a+112|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];D=f[F>>2]|0;f[G>>2]=0;pl(M,D,G);D=a+124|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ns(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;Lc(M);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;l=q+g|0;r=f[J>>2]|0;p=f[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=f[p+(l*12|0)>>2]|0;h=f[p+(l*12|0)+4>>2]|0;l=f[p+(l*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Ns(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}c=f[E>>2]|0;r=c+(l*12|0)|0;n=((f[F>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[D>>2]|0)+(l*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){c=c+(l*12|0)+4|0;j=f[d>>2]|0;m=j+84|0;i=j+68|0;k=j+40|0;j=j+64|0;g=f[t>>2]|0;l=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[c>>2]|0)-h|0)!=12){L=22;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Wo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[j>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0}while((l|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=n;e=f[F>>2]|0;if(e>>>0>1){g=n;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[F>>2]|0}while(h>>>0<e>>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{k=f[v>>2]|0;l=f[C>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}c=f[A>>2]|0;j=32-c|0;e=f[y>>2]|0;c=f[e>>2]<<c;if((p|0)>(j|0)){p=p-j|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|c>>>(p-j|0);break}f[h>>2]=c>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[F>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=36;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Wo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;li((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[F>>2]|0}}j=1<<e+-1;m=l+1|0;g=f[c+(l*12|0)+4>>2]|0;e=f[r>>2]|0;i=e;h=f[c+(m*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0<g>>>0)}i=h+(n<<2)|0;f[i>>2]=(f[i>>2]|0)+j;i=(_(s|0)|0)^31;f[G>>2]=0;Mk(B,i,G);i=(s>>>1)-(f[G>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){j=i;k=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}j=h?i:g;k=h?g:i}e=f[D>>2]|0;c=f[e+(l*12|0)>>2]|0;g=c+(n<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(l*12|0)+4>>2]|0;h=c;if((g|0)!=(h|0)){i=f[e+(m*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0<g>>>0)}if(j|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){Lc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=n;f[e+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){Lc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=n;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);e=f[H>>2]|0;if(!e)break a}if((L|0)==22)Ga(6524,6554,51,6672);else if((L|0)==27)Ga(22220,22258,223,22399);else if((L|0)==36)Ga(6524,6554,51,6672);else if((L|0)==41)Ga(22414,22438,48,22540);else if((L|0)==43)Ga(22569,22438,49,22540)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;j=h;k=e;if((h|0)==(e|0)){c=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=g}d:while(1){do{if((g|0)==(c|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=j-k>>2;if(g>>>0>2)do{Ns(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=86;break}case 2:{g=341;L=86;break}default:{}}if((L|0)==86)f[I>>2]=g;if((e|0)!=(h|0)){do{Ns(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Ns(e);u=N;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;Q=u;u=u+48|0;J=Q+24|0;P=Q;I=a+8|0;H=f[I>>2]|0;f[P>>2]=0;pl(J,H,P);H=a+112|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];G=f[I>>2]|0;f[P>>2]=0;pl(J,G,P);G=a+124|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;Lc(P);d=f[M>>2]|0;e=(f[K>>2]|0)+(f[L>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;z=J+4|0;B=J+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;A=J+4|0;C=J+8|0;b:while(1){r=f[L>>2]|0;e=d+-1|0;k=r+e|0;s=f[M>>2]|0;q=f[s+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;t=f[q+(k*12|0)>>2]|0;g=f[q+(k*12|0)+4>>2]|0;k=f[q+(k*12|0)+8>>2]|0;f[K>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}e=f[H>>2]|0;s=e+(k*12|0)|0;r=(f[G>>2]|0)+(k*12|0)|0;m=fp(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(m<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[J>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Mi(i,J);b=b+1|0}while((b|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=m;d=f[I>>2]|0;if(d>>>0>1){e=m;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){O=35;break b}if((n|0)<=0){O=37;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[I>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[J>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else Mi(q,J);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[I>>2]|0}}b=1<<d+-1;l=k+1|0;e=f[e+(k*12|0)+4>>2]|0;d=f[s>>2]|0;h=d;g=f[(f[H>>2]|0)+(l*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0<e>>>0)}h=g+(m<<2)|0;f[h>>2]=(f[h>>2]|0)+b;h=(_(t|0)|0)^31;f[J>>2]=0;Mk(F,h,J);h=(t>>>1)-(f[J>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){i=h;j=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}i=g?h:e;j=g?e:h}d=f[G>>2]|0;b=f[d+(k*12|0)>>2]|0;e=b+(m<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(k*12|0)+4>>2]|0;g=b;if((e|0)!=(g|0)){h=f[d+(l*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<e>>>0)}if(i|0){h=f[N>>2]|0;e=f[M>>2]|0;t=h-e>>2;d=f[L>>2]|0;g=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){Lc(P);d=f[L>>2]|0;g=f[K>>2]|0;h=f[N>>2]|0;e=f[M>>2]|0}d=g+d|0;if((h|0)==(e|0))d=0;else d=(f[e+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=m;f[d+8>>2]=k;f[K>>2]=(f[K>>2]|0)+1}if(j|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){Lc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=m;f[d+8>>2]=l;f[K>>2]=(f[K>>2]|0)+1}}while(0);d=f[K>>2]|0;if(!d)break a}if((O|0)==26)Ga(22220,22258,223,22399);else if((O|0)==35)Ga(22414,22438,48,22540);else if((O|0)==37)Ga(22569,22438,49,22540)}while(0);d=f[M>>2]|0;e=f[L>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[M>>2]|0)+4|0;f[M>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)f[L>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[M>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Ns(d);u=Q;return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;Q=u;u=u+48|0;J=Q+24|0;P=Q;I=a+8|0;H=f[I>>2]|0;f[P>>2]=0;pl(J,H,P);H=a+112|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];G=f[I>>2]|0;f[P>>2]=0;pl(J,G,P);G=a+124|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;Lc(P);d=f[M>>2]|0;e=(f[K>>2]|0)+(f[L>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;z=J+4|0;B=J+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;A=J+4|0;C=J+8|0;b:while(1){r=f[L>>2]|0;e=d+-1|0;k=r+e|0;s=f[M>>2]|0;q=f[s+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;t=f[q+(k*12|0)>>2]|0;g=f[q+(k*12|0)+4>>2]|0;k=f[q+(k*12|0)+8>>2]|0;f[K>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Ns(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}b=f[H>>2]|0;s=b+(k*12|0)|0;m=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[G>>2]|0)+(k*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(m<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[J>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Mi(i,J);b=b+1|0}while((b|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=m;d=f[I>>2]|0;if(d>>>0>1){e=m;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0<d>>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){O=35;break b}if((n|0)<=0){O=37;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<<h;if((n|0)>(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[I>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[J>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else Mi(q,J);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[I>>2]|0}}i=1<<d+-1;l=k+1|0;e=f[b+(k*12|0)+4>>2]|0;d=f[s>>2]|0;h=d;g=f[b+(l*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0<e>>>0)}h=g+(m<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;f[J>>2]=0;Mk(F,h,J);h=(t>>>1)-(f[J>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){i=h;j=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}i=g?h:e;j=g?e:h}d=f[G>>2]|0;b=f[d+(k*12|0)>>2]|0;e=b+(m<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(k*12|0)+4>>2]|0;g=b;if((e|0)!=(g|0)){h=f[d+(l*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0<e>>>0)}if(i|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){Lc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=m;f[d+8>>2]=k;f[K>>2]=(f[K>>2]|0)+1}if(j|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){Lc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=m;f[d+8>>2]=l;f[K>>2]=(f[K>>2]|0)+1}}while(0);d=f[K>>2]|0;if(!d)break a}if((O|0)==26)Ga(22220,22258,223,22399);else if((O|0)==35)Ga(22414,22438,48,22540);else if((O|0)==37)Ga(22569,22438,49,22540)}while(0);d=f[M>>2]|0;e=f[L>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=i-j>>2;if(e>>>0>2)do{Ns(f[d>>2]|0);d=(f[M>>2]|0)+4|0;f[M>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)f[L>>2]=e;if((d|0)!=(g|0)){do{Ns(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[M>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Ns(d);u=Q;return}function vb(a){a=a|0;var c=0,d=0,e=0,g=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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;x=z+20|0;y=z+16|0;w=z+4|0;q=z;o=a+36|0;p=a+37|0;v=a+32|0;i=f[v>>2]|0;do if((((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)<514){l=i+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=i+16|0;d=m;c=f[d>>2]|0;d=f[d+4>>2]|0;g=sq(c|0,d|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&k>>>0<g>>>0){a=0;u=z;return a|0}j=(f[i>>2]|0)+c|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[x>>2]=j;t=m;f[t>>2]=g;f[t+4>>2]=e;c=sq(c|0,d|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0<c>>>0){a=0;u=z;return a|0}else{t=(f[i>>2]|0)+g|0;f[y>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=m;f[t>>2]=c;f[t+4>>2]=d;break}}else{if(!(_k(x,i)|0)){a=0;u=z;return a|0}if(_k(y,f[v>>2]|0)|0){j=f[x>>2]|0;break}else{a=0;u=z;return a|0}}while(0);if((j|0)<0){a=0;u=z;return a|0}c=f[y>>2]|0;t=Wo(j|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&c>>>0>t>>>0){a=0;u=z;return a|0}k=f[v>>2]|0;t=k+8|0;s=f[t+4>>2]|0;d=k+16|0;n=d;m=f[n>>2]|0;n=f[n+4>>2]|0;if(!((s|0)>(n|0)|((s|0)==(n|0)?(f[t>>2]|0)>>>0>m>>>0:0))){a=0;u=z;return a|0}t=b[(f[k>>2]|0)+m>>0]|0;l=sq(m|0,n|0,1,0)|0;i=I;s=d;f[s>>2]=l;f[s+4>>2]=i;a:do if(!(t<<24>>24)){if(!(Ng(a,j)|0)){a=0;u=z;return a|0}}else{if(c>>>0<256){if(!j)break;o=a+44|0;p=w+4|0;q=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d=k+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;b:do if((d|0)>(i|0)|(d|0)==(i|0)&c>>>0>l>>>0){n=c;g=d;m=0;while(1){e=k+16|0;d=f[k>>2]|0;s=b[d+l>>0]|0;c=sq(l|0,i|0,1,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[w>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;s=b[d+c>>0]|0;c=sq(l|0,i|0,2,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[p>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=sq(l|0,i|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[q>>2]=d&255;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Oj(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}m=m+1|0;if(m>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;g=k+8|0;n=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>(i|0)|(g|0)==(i|0)&n>>>0>l>>>0))break;else j=c}}while(0);a=0;u=z;return a|0}if(c>>>0<65536){if(!j)break;r=a+44|0;s=w+4|0;t=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=sq(m|0,n|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0<c>>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e&65535;e=sq(l|0,i|0,4,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0<e>>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;p=m;f[p>>2]=e;f[p+4>>2]=c;f[s>>2]=d&65535;c=sq(l|0,i|0,6,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0<c>>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;p=m;f[p>>2]=c;f[p+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Oj(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=sq(l|0,i|0,2,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0<p>>>0)break;else j=c}}while(0);a=0;u=z;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)>513:0){if(!j)break;i=w+4|0;j=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d:do if(_k(q,k)|0){g=0;do{f[w>>2]=f[q>>2];if(!(_k(q,f[v>>2]|0)|0))break d;f[i>>2]=f[q>>2];if(!(_k(q,f[v>>2]|0)|0))break d;f[j>>2]=f[q>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))Oj(d+96|0,w);else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[x>>2]|0)>>>0)break a;s=f[v>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0}while(_k(q,s)|0)}while(0);a=0;u=z;return a|0}if(j|0){r=w+4|0;s=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=sq(m|0,n|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0<c>>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e;e=sq(l|0,i|0,8,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0<e>>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=m;f[p>>2]=e;f[p+4>>2]=c;f[r>>2]=d;c=sq(l|0,i|0,12,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0<c>>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;p=m;f[p>>2]=c;f[p+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Oj(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=sq(l|0,i|0,4,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0<p>>>0)break;else j=c}}while(0);a=0;u=z;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[y>>2];a=1;u=z;return a|0}function wb(a){a=a|0;var b=0,c=0,d=0,e=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,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;I=u;u=u+48|0;F=I+36|0;H=I+24|0;G=I+12|0;C=I;E=a+4|0;d=f[(f[E>>2]|0)+44>>2]|0;D=a+8|0;g=f[D>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;h=d+96|0;d=d+100|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;c=f[d>>2]|0;b=f[h>>2]|0;i=(c-b|0)/12|0;if(g>>>0<=i>>>0){if(g>>>0<i>>>0?(e=b+(g*12|0)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0)}else Ph(h,g-i|0,F);r=a+224|0;q=a+228|0;if((f[q>>2]|0)==(f[r>>2]|0)){d=f[D>>2]|0;d=(f[d+28>>2]|0)-(f[d+24>>2]|0)>>2;f[F>>2]=-1;pl(H,d,F);d=f[E>>2]|0;b=f[d+44>>2]|0;e=f[b+100>>2]|0;c=f[b+96>>2]|0;if((e-c|0)>0){o=G+4|0;p=G+8|0;l=b;m=c;c=d;h=d;n=0;b=0;while(1){f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;i=n*3|0;if((n|0)<0)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i<<2)>>2]|0;a=f[H>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;k=b;b=b+1|0}else k=d;f[G>>2]=k;if((i|0)<-1)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+1<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[o>>2]=d;if((i|0)<-2)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+2<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[p>>2]=d;g=l+96|0;d=l+100|0;a=(e-m|0)/12|0;i=m;j=n;n=n+1|0;if((j|0)<(a|0)){d=l;g=m}else{c=e;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0<a>>>0?(A=i+(n*12|0)|0,(c|0)!=(A|0)):0){e=c+(~(((c+-12-A|0)>>>0)/12|0)*12|0)|0;f[d>>2]=e;d=l;g=m}else{d=l;g=m}else{Ph(g,n-a|0,F);h=f[E>>2]|0;C=f[h+44>>2]|0;i=f[g>>2]|0;d=C;e=f[C+100>>2]|0;g=f[C+96>>2]|0}c=h}f[i+(j*12|0)>>2]=k;f[i+(j*12|0)+4>>2]=f[o>>2];f[i+(j*12|0)+8>>2]=f[p>>2];if((n|0)>=((e-g|0)/12|0|0)){d=H;break}else{l=d;m=g}}}else{c=d;d=H;b=0}f[(f[c+4>>2]|0)+80>>2]=b;d=f[d>>2]|0;if(d|0){c=H+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ns(d)}u=I;return 1}f[H>>2]=0;A=H+4|0;f[A>>2]=0;f[H+8>>2]=0;b=f[D>>2]|0;fm(G,(f[b+4>>2]|0)-(f[b>>2]|0)>>2);b=f[D>>2]|0;if(((f[b+28>>2]|0)-(f[b+24>>2]|0)|0)>0){o=a+132|0;p=H+8|0;n=0;do{h=f[(f[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((h|0)>=0){b:do if((f[(f[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(s=f[q>>2]|0,t=f[r>>2]|0,v=t,(s|0)!=(t|0)):0){a=(((h>>>0)%3|0|0)==0?2:-1)+h|0;j=(a|0)<0;l=(s-t|0)/116|0;i=b+12|0;g=b+12|0;k=0;c:while(1){m=f[(f[f[v+(k*116|0)+68>>2]>>2]|0)+(h<<2)>>2]|0;do if(1<<(m&31)&f[(f[v+(k*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){e=f[v+(k*116|0)+32>>2]|0;m=f[e+(h<<2)>>2]|0;if(!j){c=f[(f[i>>2]|0)+(a<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(h|0))break;else d=c}else d=a;while(1){c=f[e+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){h=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=f[(f[g>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)==(h|0))break;else d=c}}while(0);k=k+1|0;if(k>>>0>=l>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{h=d;break}}while(0);c=f[A>>2]|0;f[(f[G>>2]|0)+(h<<2)>>2]=c-(f[H>>2]|0)>>2;f[F>>2]=h;if(c>>>0<(f[p>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else{hk(H,F);b=f[D>>2]|0}if((((h|0)>=0?(w=(((h>>>0)%3|0|0)==0?2:-1)+h|0,(w|0)>=0):0)?(x=f[(f[b+12>>2]|0)+(w<<2)>>2]|0,(x|0)>=0):0)?(y=x+(((x>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(h|0)):0){g=y;e=h;while(1){b=f[q>>2]|0;c=f[r>>2]|0;d=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=f[d+(b*116|0)+32>>2]|0;b=b+1|0;if((f[m+(g<<2)>>2]|0)!=(f[m+(e<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=f[A>>2]|0;f[(f[G>>2]|0)+(g<<2)>>2]=b-(f[H>>2]|0)>>2;f[F>>2]=g;if(b>>>0<(f[p>>2]|0)>>>0){f[b>>2]=g;f[A>>2]=b+4}else hk(H,F)}else z=67;while(0);if((z|0)==67){z=0;m=f[G>>2]|0;f[m+(g<<2)>>2]=f[m+(e<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break a;b=f[(f[(f[D>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break a;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(h|0)){e=g;g=b}else break}}}while(0);n=n+1|0;b=f[D>>2]|0}while((n|0)<((f[b+28>>2]|0)-(f[b+24>>2]|0)>>2|0))}e=f[E>>2]|0;b=f[e+44>>2]|0;d=f[b+100>>2]|0;c=f[b+96>>2]|0;if((d-c|0)>0){m=C+4|0;n=C+8|0;j=c;c=e;g=e;k=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=(f[G>>2]|0)+(k*3<<2)|0;f[C>>2]=f[i>>2];f[C+4>>2]=f[i+4>>2];f[C+8>>2]=f[i+8>>2];i=b+96|0;h=b+100|0;a=(d-j|0)/12|0;e=j;l=k;k=k+1|0;if((l|0)<(a|0))h=j;else{c=d;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(k>>>0<=a>>>0)if(k>>>0<a>>>0?(B=e+(k*12|0)|0,(c|0)!=(B|0)):0){d=c+(~(((c+-12-B|0)>>>0)/12|0)*12|0)|0;f[h>>2]=d;c=j}else c=j;else{Ph(i,k-a|0,F);g=f[E>>2]|0;c=f[g+44>>2]|0;e=f[i>>2]|0;b=c;d=f[c+100>>2]|0;c=f[c+96>>2]|0}h=c;c=g}f[e+(l*12|0)>>2]=f[C>>2];f[e+(l*12|0)+4>>2]=f[m>>2];f[e+(l*12|0)+8>>2]=f[n>>2];if((k|0)>=((d-h|0)/12|0|0))break;else j=h}}else c=e;b=f[H>>2]|0;f[(f[c+4>>2]|0)+80>>2]=(f[A>>2]|0)-b>>2;d=f[G>>2]|0;if(d){c=G+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ns(d);b=f[H>>2]|0}if(b|0){c=f[A>>2]|0;if((c|0)!=(b|0))f[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}u=I;return 1}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Di(y,b-g|0,5068);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)xr(A);c=((b+-1|0)>>>5)+1|0;s=Xo(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;Gk(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)xr(z);c=((g+-1|0)>>>5)+1|0;h=Xo(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;Gk(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))hk(y,5068);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))hk(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){xr(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;Qj(A,e<<5>>>0<1073741823?(j>>>0<c>>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>2]|0)+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break;c=((e|0)%3|0|0)==0?c+-2|0:e}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>2]|0)+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break;c=((e|0)%3|0|0)==0?c+-2|0:e}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<<e)){d=d+1|0;f[j>>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<<e)){d=d+1|0;f[j>>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<<h)){e=e+1|0;f[j>>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<<e)){d=d+1|0;f[j>>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){Ns(d);c=f[A>>2]|0}if(!c){u=B;return 1}Ns(c);u=B;return 1}function yb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=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;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;nq(c)|0;if((I|0)<0){C=1;A=23409;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?23410:23415):23412}nq(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+rs(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Xl(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[23444+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Fm(a,32,d,j,g);Wq(a,p,o);Fm(a,48,d,j,g^65536);Wq(a,F,C);Fm(a,48,D-C|0,0,0);Wq(a,n,E);Fm(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=zp(f[j>>2]|0,0,o|0)|0;x=sq(x|0,I|0,l|0,0)|0;y=I;v=Mo(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=pr(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){o=(1<<r)+-1|0;n=1e9>>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0<l>>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0<e>>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0<x>>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=Xl(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Fm(a,32,d,j,g);Wq(a,A,C);Fm(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=Xl(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Gk(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Wq(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Wq(a,23460,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Xl(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Gk(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Wq(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}Fm(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=Xl(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Wq(a,l,1);if(e&(k|0)<1){l=m;break}Wq(a,23460,1);l=m}else{if(l>>>0<=F>>>0)break;Gk(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Wq(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}Fm(a,48,k+18|0,18,0);Wq(a,v,D-v|0)}Fm(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Fm(a,32,d,j,g&-65537);Wq(a,A,C);Wq(a,c!=c|0.0!=0.0?(F?23436:23440):F?23428:23432,3);Fm(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}
|
|
function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=u;u=u+16|0;j=k;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=sq(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0<d>>>0){l=0;u=k;return l|0}i=(f[b>>2]|0)+c|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;l=g;f[l>>2]=d;f[l+4>>2]=e;if((i|0)<0){l=0;u=k;return l|0}jg(a+60|0,i,0);is(j);if(lg(j,b)|0){if((i|0)>0){c=a+60|0;d=0;e=1;do{e=e^((km(j)|0)^1);l=(f[c>>2]|0)+(d>>>5<<2)|0;g=1<<(d&31);m=f[l>>2]|0;f[l>>2]=e?m|g:m&~g;d=d+1|0}while((d|0)<(i|0))}c=fj(a+8|0,b)|0}else c=0;Ss(j);m=c;u=k;return m|0}function oi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];ic(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];ic(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function pi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(22591,22607,59,22698);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(22708,22607,60,22698);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&255](d)|0)==1){Og(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Xo(44)|0;f[b>>2]=1884;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];gl(b+32|0,e+24|0);f[b>>2]=1940;g=b}f[a>>2]=g;return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Sa[f[(f[c>>2]|0)+12>>2]&255](c)|0)){a=0;return a|0}g=Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0)+4|0;c=f[c>>2]|0;e=Wa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Wa[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)Ga(22591,22607,67,22698);else if((d|0)==9)Ga(22708,22607,68,22698);else if((d|0)==14)return c|0}while(0);if(!(Wa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Wa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+44>>2]&255](a)|0;return a|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=Dq(za(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=Dq(za(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;c=f[c>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];re(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];qe(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];pe(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];oe(c,j,a)|0;u=k;return}default:{u=k;return}}}function ti(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=f[a+172>>2]|0;if((c|0)!=-1){i=f[a+184>>2]|0;g=(f[a+196>>2]|0)+(c<<2)|0;j=(f[g>>2]|0)+-1|0;f[g>>2]=j;j=f[4832+(f[(f[i+(c*12|0)>>2]|0)+(j<<2)>>2]<<2)>>2]|0;a=a+168|0;f[a>>2]=j;return j|0}j=f[a+144>>2]|0;j=Sa[f[(f[j>>2]|0)+32>>2]&255](j)|0;if(((h[j+36>>0]<<8|h[j+37>>0])&65535)>=514){j=7;a=a+168|0;f[a>>2]=j;return j|0}if(!(b[a+76>>0]|0)){j=1;a=a+168|0;f[a>>2]=j;return j|0}j=a+72|0;e=f[j>>2]|0;g=f[a+64>>2]|0;i=f[a+68>>2]|0;c=g+(e>>>3)|0;if(c>>>0>=i>>>0){j=0;a=a+168|0;f[a>>2]=j;return j|0}c=h[c>>0]|0;d=e+1|0;f[j>>2]=d;if(!(c&1<<(e&7))){j=0;a=a+168|0;f[a>>2]=j;return j|0}c=g+(d>>>3)|0;if(c>>>0<i>>>0){c=(h[c>>0]|0)>>>(d&7)&1;d=e+2|0;f[j>>2]=d;e=c}else e=0;c=g+(d>>>3)|0;if(c>>>0<i>>>0){c=(h[c>>0]|0)>>>(d&7);f[j>>2]=d+1;c=c<<1&2}else c=0;j=(c|e)<<1|1;a=a+168|0;f[a>>2]=j;return j|0}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=Xo(64)|0;i=Xo(12)|0;g=f[(f[a+4>>2]|0)+80>>2]|0;f[i+4>>2]=0;f[i>>2]=4920;f[i+8>>2]=g;f[k>>2]=i;Vm(j,k);i=a+8|0;g=a+12|0;a=f[g>>2]|0;c=f[i>>2]|0;e=a-c>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Jh(i,d-e|0);break}if(d>>>0<e>>>0?(h=c+(d<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;f[g>>2]=e;a=f[e>>2]|0;f[e>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&255](a);a=f[g>>2]|0}while((a|0)!=(h|0))}while(0);i=(f[i>>2]|0)+(b<<2)|0;a=f[i>>2]|0;f[i>>2]=j;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&255](a);a=f[k>>2]|0;f[k>>2]=0;if(!a){u=l;return 1}Pa[f[(f[a>>2]|0)+4>>2]&255](a);u=l;return 1}function vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];nc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];nc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function wi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+48>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=f[c+44>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];ze(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];ye(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];xe(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];we(c,j,a)|0;u=k;return}default:{u=k;return}}}function xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0<c>>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){xr(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;Qj(k,e<<5>>>0<1073741823?(m>>>0<n>>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)Ns(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Gk(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{Gk(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function yi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}while(0);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}while(0);f[j>>2]=c;b[i>>0]=0;return}function zi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0<g>>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{Di(h,i-g|0,1752);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)Ga(21891,21910,89,22004);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Ai(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+64>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=f[c+60>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];ze(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];ye(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];xe(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];we(c,j,a)|0;u=k;return}default:{u=k;return}}}function Bi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(ir(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(ir(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Oa[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else wo(0,c,d,e);while(0);return}function Ci(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(22591,22607,59,22698);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(22708,22607,60,22698);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&255](d)|0)==1){Kg(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Xo(28)|0;f[b+4>>2]=g;g=b+12|0;e=e+4|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b+8>>2]=2804;f[b>>2]=2824;g=b}f[a>>2]=g;return}function Di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){xr(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0<g>>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ia(4)|0;ps(b);sa(b|0,1488,137)}else{h=Xo(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)li(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;Ns(d);return}function Ei(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){wr(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Rb(o,n,c,g);a=X(g,e)|0;Hj(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){xr(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0<g>>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ia(4)|0;ps(j);sa(j|0,1488,137)}else{d=Xo(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)li(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Ns(c);return}function Gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=Rd(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Xo(40)|0;Rm(e+16|0,d);Rm(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}rg(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{b=Xo(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Zn(b);f[b>>2]=5032;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=b;u=e;return}case 1:{b=Xo(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Zn(b);f[b>>2]=4988;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=b;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ql(d,20044,28);f[c>>2]=-1;b=c+4|0;Rm(b,d);f[a>>2]=f[c>>2];Rm(a+4|0,b);f[a+16>>2]=0;wq(b);wq(d);u=e;return}}}function Ii(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(22591,22607,59,22698);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(22708,22607,60,22698);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&255](d)|0)==1){Mg(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Xo(28)|0;f[b+4>>2]=g;g=b+12|0;e=e+4|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b+8>>2]=2784;f[b>>2]=3608;g=b}f[a>>2]=g;return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0<e>>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ia(4)|0;ps(b);sa(b|0,1488,137)}else{g=Xo(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)li(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;Ns(c);return}function Ki(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){wr(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Pb(o,n,c,g);a=X(g,e)|0;Hj(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Li(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){wr(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Rb(o,n,c,g);a=X(g,e)|0;Kj(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;c=f[m>>2]|0;d=f[a>>2]|0;g=((c-d|0)/12|0)+1|0;if(g>>>0>357913941){xr(a);c=f[m>>2]|0;d=f[a>>2]|0}k=d;e=c;l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;i=j<<1;g=j>>>0<178956970?(i>>>0<g>>>0?g:i):357913941;i=(c-d|0)/12|0;do if(g)if(g>>>0>357913941){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{h=Xo(g*12|0)|0;break}else h=0;while(0);c=h+(i*12|0)|0;j=h+(g*12|0)|0;f[c>>2]=f[b>>2];f[h+(i*12|0)+4>>2]=f[b+4>>2];f[h+(i*12|0)+8>>2]=f[b+8>>2];g=c+12|0;if((e|0)!=(k|0))do{b=e;e=e+-12|0;f[c+-12>>2]=f[e>>2];f[c+-8>>2]=f[b+-8>>2];f[c+-4>>2]=f[b+-4>>2];c=c+-12|0}while((e|0)!=(k|0));f[a>>2]=c;f[m>>2]=g;f[l>>2]=j;if(!d)return;Ns(d);return}function Ni(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){wr(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Pb(o,n,c,g);a=X(g,e)|0;Kj(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Ns(a)}Ns(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Ns(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Ns(a)}Ns(b)}Ns(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0;if((Sa[f[(f[b>>2]|0)+20>>2]&255](b)|0)<=0){b=1;return b|0}g=a+4|0;i=0;while(1){e=f[(f[g>>2]|0)+4>>2]|0;e=Vn(e,Wa[f[(f[b>>2]|0)+24>>2]&127](b,i)|0)|0;if((e|0)==-1){a=0;c=12;break}a=f[g>>2]|0;d=f[(f[b>>2]|0)+28>>2]|0;if(((h[a+36>>0]|0)<<8&65535)<512){a=f[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(Wa[d&127](b,f[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=Nm(a,e)|0;if(!(Wa[d&127](b,e)|0)){a=0;c=12;break}}i=i+1|0;if((i|0)>=(Sa[f[(f[b>>2]|0)+20>>2]&255](b)|0)){a=1;c=12;break}}if((c|0)==6)Ga(22591,22607,67,22698);else if((c|0)==8)Ga(22708,22607,68,22698);else if((c|0)==12)return a|0;return 0}function Qi(a,c,d){a=a|0;c=c|0;d=d|0;var e=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;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((zb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Ts(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=zb(a,c,m,p,q)|0;if(d){Na[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=zb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Ss(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;l=m;if(!(Dg(a,b)|0)){a=0;u=m;return a|0}i=b+8|0;j=f[i>>2]|0;i=f[i+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=sq(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((i|0)<(e|0)|(i|0)==(e|0)&j>>>0<d>>>0){a=0;u=m;return a|0}c=(f[b>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;j=g;f[j>>2]=d;f[j+4>>2]=e;if((c|0)<0){a=0;u=m;return a|0}j=a+152|0;g=(f[j>>2]|0)+c|0;f[j>>2]=g;j=a+156|0;f[l>>2]=0;e=a+160|0;d=f[e>>2]|0;c=f[j>>2]|0;i=d-c>>2;if(g>>>0<=i>>>0){if(g>>>0<i>>>0?(k=c+(g<<2)|0,(d|0)!=(k|0)):0)f[e>>2]=d+(~((d+-4-k|0)>>>2)<<2)}else Di(j,g-i|0,l);a=lg(a+168|0,b)|0;u=m;return a|0}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function Ti(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(ir(m,e,0)|0){f[o+48>>2]=1;Va[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Oa[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0<l>>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Tj(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Jb(a,n)|0)){a=0;u=o;return a|0}xb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0<b>>>0){jh(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Ns(d)}Ns(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Ns(d)}Ns(c)}Ns(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Tj(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Fi(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0<h>>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0<c>>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+4|0;e=h;switch(d|0){case 2:{i=f[b+12>>2]|0;d=f[b+4>>2]|0;b=g+4|0;f[b>>2]=-1;f[b+4>>2]=-1;f[b+8>>2]=-1;f[b+12>>2]=-1;f[g>>2]=2784;Ii(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}case 3:{d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g+4|0;f[b>>2]=-1;f[b+4>>2]=-1;f[b+8>>2]=-1;f[b+12>>2]=-1;f[g>>2]=2804;Ci(e,c,d,i,g);f[a>>2]=f[e>>2];u=h;return}default:{f[a>>2]=0;u=h;return}}}function bj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0<l>>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{Tj(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function cj(a,c,d){a=a|0;c=c|0;d=d|0;a=be(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ae(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Ae(a,b);return}function ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)tr(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{Eq(a,d,(e&255)+1|0)|0;Ns(d);g=15}}else{c=Xo(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{Eq(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){Eq(c,d,(f[a+4>>2]|0)+1|0)|0;Ns(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;g=f[c>>2]|0;c=f[c+4>>2]|0;d=sq(g|0,c|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0<d>>>0){a=0;return a|0}k=(f[b>>2]|0)+g|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;do if((j[b+38>>1]|0)<514){c=sq(g|0,c|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0<c>>>0){n=0;return n|0}else{n=m;f[n>>2]=c;f[n+4>>2]=d;break}}while(0);if(((k|0)%2|0|0)!=1)Ga(11324,11357,69,11517);d=(_(k|0)|0)^31;c=d+1|0;if(!d)Ga(10396,10407,60,10522);if(c>>>0>=31)Ga(10542,10407,61,10522);f[a+4>>2]=c;n=2<<d;f[a+8>>2]=n+-1;n=n+-2|0;f[a+12>>2]=n;f[a+16>>2]=(n|0)/2|0;n=1;return n|0}function gj(a){a=a|0;is(a);is(a+16|0);is(a+32|0);is(a+48|0);is(a+64|0);is(a+80|0);is(a+96|0);is(a+112|0);is(a+128|0);is(a+144|0);is(a+160|0);is(a+176|0);is(a+192|0);is(a+208|0);is(a+224|0);is(a+240|0);is(a+256|0);is(a+272|0);is(a+288|0);is(a+304|0);is(a+320|0);is(a+336|0);is(a+352|0);is(a+368|0);is(a+384|0);is(a+400|0);is(a+416|0);is(a+432|0);is(a+448|0);is(a+464|0);is(a+480|0);is(a+496|0);return}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=kr(f[a+8>>2]|0,o)|0;e=kr(f[a+12>>2]|0,o)|0;g=kr(f[a+16>>2]|0,o)|0;a:do if((h>>>0<c>>>2>>>0?(n=c-(h<<2)|0,e>>>0<n>>>0&g>>>0<n>>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=kr(f[a+(g<<2)>>2]|0,o)|0;g=kr(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<c>>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=wn(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=kr(f[a+(e<<2)>>2]|0,o)|0;e=kr(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0<c>>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;gj(a+12|0);is(a+524|0);dq(a+540|0);dq(a+560|0);dq(a+580|0);f[i>>2]=0;pl(a+600|0,b,i);f[i>>2]=0;pl(a+612|0,b,i);g=b<<5|1;f[h>>2]=0;pl(i,b,h);kl(a+624|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}f[h>>2]=0;pl(i,b,h);kl(a+636|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);u=j;return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Hd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Hd(a,b);return}function lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ae(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;ae(a,b);return}function mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Oe(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Oe(a,b);return}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;nd(a,b);return}function oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Id(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Id(a,b);return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){de(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;de(a,b);return}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){od(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;od(a,b);return}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Jd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Jd(a,b);return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ee(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;ee(a,b);return}function tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Pe(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Pe(a,b);return}function uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0<k>>>0;c=g?d:k;if((c|0)!=0?(m=Wm(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0<d>>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0<d>>>0?k:d;if((c|0)!=0?(l=Wm(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Ga(11212,10407,259,11236);d=f[c>>2]|0;if((d|0)>(e|0))Ga(11250,10407,260,11236);a=0-e|0;if((i|0)<(a|0))Ga(11274,10407,261,11236);if((d|0)<(a|0))Ga(11299,10407,262,11236);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function wj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;h=Xo(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;g=a+8|0;b[g>>0]=0;i=h+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=h+20|0;j=e+12|0;f[i>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=f[j>>2]|0;c=(f[e+16>>2]|0)-h|0;if(!c){i=0;j=h;li(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}Uj(i,c);i=f[i>>2]|0;j=f[j>>2]|0;li(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Gd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Gd(a,b);return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0<b>>>0){Rg(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c)}dl(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;dq(a+12|0);dq(a+32|0);dq(a+52|0);dq(a+72|0);f[i>>2]=0;pl(a+92|0,b,i);f[i>>2]=0;pl(a+104|0,b,i);g=b<<5|1;f[h>>2]=0;pl(i,b,h);kl(a+116|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}f[h>>2]=0;pl(i,b,h);kl(a+128|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);u=j;return}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;is(a+12|0);dq(a+28|0);dq(a+48|0);dq(a+68|0);f[i>>2]=0;pl(a+88|0,b,i);f[i>>2]=0;pl(a+100|0,b,i);g=b<<5|1;f[h>>2]=0;pl(i,b,h);kl(a+112|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}f[h>>2]=0;pl(i,b,h);kl(a+124|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ns(e);u=j;return}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1764;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&255](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&255](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Ns(b)}f[a>>2]=1604;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ns(d);return}function Cj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Ns(c)}Ns(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Ns(c)}Ns(b)}Ns(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Ns(b);return}function Dj(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=Ks(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Ls(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}li((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Ls(m);return}else{li(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Ls(m);return}else{a=1;e=0}do{e=e+n|0;li((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Ls(m);return}}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=Ks(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Ls(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Ls(l);return}else{li(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Ls(l);return}else{a=1;d=0}do{d=d+m|0;li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Ls(l);return}}function Fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Ns(d)}Ns(c)}Ns(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Ns(b);return}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;l=b+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;j=sq(e|0,c|0,4,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0<j>>>0){a=0;return a|0}g=f[b>>2]|0;i=g+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=m;f[b>>2]=j;f[b+4>>2]=d;b=sq(e|0,c|0,8,0)|0;c=I;if((l|0)<(c|0)|(l|0)==(c|0)&k>>>0<b>>>0){a=0;return a|0}l=g+j|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[m>>2]=b;f[m+4>>2]=c;f[a+12>>2]=i;f[a+16>>2]=l;m=l+(1-i)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){a=1;return a|0}f[c>>2]=b+-1;a=1;return a|0}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+16>>2]<<1;if((h|0)>(k|0))Ga(10639,10684,69,10862);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(10883,10684,70,10862);g=f[c>>2]|0;if((g|0)>(k|0))Ga(10928,10684,71,10862);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(10973,10684,72,10862);if((h|0)<=-1)Ga(11018,10684,74,10862);if((e|0)<=-1)Ga(11040,10684,75,10862);if((g|0)<=-1)Ga(11062,10684,76,10862);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;dg(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(11084,10684,77,10862)}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=sq(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0<d>>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=sq(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0<b>>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Ga(11324,11357,69,11517);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Ga(10396,10407,60,10522);if(b>>>0<31){f[a+4>>2]=b;l=2<<c;f[a+8>>2]=l+-1;l=l+-2|0;f[a+12>>2]=l;f[a+16>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Ga(10542,10407,61,10522);return 0}function Jj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=La;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)Ga(10396,10407,60,10522);if((a|0)>=31)Ga(10542,10407,61,10522);f[m>>2]=a;a=1<<a;f[m+4>>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));lh(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);li((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function Kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;j=m+16|0;l=m+8|0;i=m;h=f[b>>2]|0;k=f[a+16>>2]<<1;if((h|0)>(k|0))Ga(10639,16463,64,10862);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(10883,16463,65,10862);g=f[c>>2]|0;if((g|0)>(k|0))Ga(10928,16463,66,10862);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(10973,16463,67,10862);if((h|0)<=-1)Ga(11018,16463,69,10862);if((e|0)<=-1)Ga(11040,16463,70,10862);if((g|0)<=-1)Ga(11062,16463,71,10862);if((b|0)>-1){f[j>>2]=g;f[j+4>>2]=b;f[i>>2]=h;f[i+4>>2]=e;Dh(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(11084,16463,72,10862)}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Re(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0<c>>>0?c:b;if(b>>>0>=d>>>0)return;Re(a,b);return}function Mj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Nj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){wq(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Nj(e+8|0);Ns(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ns(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Ns(c)}wq(e+8|0);Ns(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)Ns(b);Ns(g);wq(a);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){xr(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0<e>>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{i=Xo(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)li(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;Ns(c);return}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=Xo(48)|0;Ar(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}case 1:{d=Xo(52)|0;Jq(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ql(d,20044,28);f[c>>2]=-1;b=c+4|0;Rm(b,d);f[a>>2]=f[c>>2];Rm(a+4|0,b);f[a+16>>2]=0;wq(b);wq(d);u=e;return}}}function Qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)xr(i);l=((b+-1|0)>>>5)+1|0;k=Xo(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Xh(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Ns(b);u=j;return}function Rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+224|0;j=a+228|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Sa[f[(f[i>>2]|0)+24>>2]&255](i)|0)>0):0){a=0;do{if((Wa[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Sa[f[(f[i>>2]|0)+24>>2]&255](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=Ks((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Ls(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=sq(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0<a>>>0){b=0;a=5;break}li(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;li((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Ls(m);return b|0}return 0}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){Gk(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0<g>>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{i=Xo(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;Gk(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)li(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;Ns(c);return}function Uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){xr(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0<h>>>0?h:g):2147483647;if(!g)h=0;else h=Xo(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)li(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Ns(d);return}function Vj(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0<d>>>0)tr(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0<k>>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Xo(l)|0;if(g|0)Eq(k,m,g)|0;if(i|0)Eq(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)Eq(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Ns(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;Cr(k+m|0,n);u=o;return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(cn(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0<c>>>0){e=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Na[f[d+36>>2]&31](d,a,i)|0;if(e>>>0<i>>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);li(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=_h(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Xo(40)|0;Rm(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}rg(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=sq(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=1544;f[i+4>>2]=-1;nr(i,c);l=nm(i,f[a+16>>2]|0)|0;u=j;return l|0}function Zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+224|0;h=a+228|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Sa[f[(f[g>>2]|0)+24>>2]&255](g)|0)>0):0){c=0;do{if((Wa[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Sa[f[(f[g>>2]|0)+24>>2]&255](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+196|0;return k|0}function _j(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ns(c)}dl(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Ns(b);return}function $j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Sa[f[(f[a>>2]|0)+52>>2]&255](a)|0):0){e=0;u=g;return e|0}f[d>>2]=1572;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;kn(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=nm(d,f[a+16>>2]|0)|0;f[d>>2]=1572;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Ns(a)}u=g;return e|0}function ak(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Ns(d)}dl(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Ns(b);return}function bk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=Ks(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{is(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Ss(b)}while((b|0)!=(e|0))}Ls(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(lg((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function ck(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Uo()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1546];Bp(25788,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Na[f[(f[356]|0)+16>>2]&31](1424,d,e)|0;b=f[1546]|0;if(d){i=f[e>>2]|0;i=Sa[f[(f[i>>2]|0)+8>>2]&255](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;Bp(25702,g)}else{f[i>>2]=b;f[i+4>>2]=a;Bp(25747,i)}}Bp(25826,h)}function dk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(Ij(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=sq(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+72>>2]=e&255;break}else{i=0;return i|0}}while(0);i=lg(a+92|0,c)|0;return i|0}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=Xo(36)|0;jr(j);i=a+8|0;g=a+12|0;a=f[g>>2]|0;c=f[i>>2]|0;e=a-c>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Jh(i,d-e|0);break}if(d>>>0<e>>>0?(h=c+(d<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;f[g>>2]=e;a=f[e>>2]|0;f[e>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&255](a);a=f[g>>2]|0}while((a|0)!=(h|0))}while(0);i=(f[i>>2]|0)+(b<<2)|0;a=f[i>>2]|0;f[i>>2]=j;if(!a)return 1;Pa[f[(f[a>>2]|0)+4>>2]&255](a);return 1}function fk(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}f[a+4>>2]=4700;b=f[a+24>>2]|0;if(b|0)Ns(b);b=f[a+12>>2]|0;if(!b)return;Ns(b);return}function gk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;g=u;u=u+80|0;i=g;h=g+16|0;e=g+4|0;f[i>>2]=d&1;op(h,21647,i)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,h,zl(h)|0);a=Xj(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}ej(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;wq(e);u=g;return}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){xr(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0<e>>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}else{i=Xo(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)li(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;Ns(c);return}function ik(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(fj(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=sq(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+72>>2]=e&255;break}else{i=0;return i|0}}while(0);i=lg(a+92|0,c)|0;return i|0}function jk(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(Js()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=zs()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=zs()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function kk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4792;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));to(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+408>>2]=-1;f[a+412>>2]=-1;f[a+416>>2]=2;f[a+420>>2]=7;d=a+424|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function lk(a){a=a|0;var b=0,c=0,d=0,e=0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;lk(d+20|0);wq(d+8|0);Ns(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Ns(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Ns(b)}wq(d+8|0);Ns(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Ns(a);Ns(e);return}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+80|0;i=j;g=j+56|0;e=j+40|0;d=i;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));Ic(e,i,g);b=f[e>>2]|0;if(!b){wq(e+4|0);g=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=g;i=i+24|0;Ss(i);u=j;return}else{f[a>>2]=b;g=e+4|0;Rm(a+4|0,g);wq(g);i=i+24|0;Ss(i);u=j;return}}function nk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;xi(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;xi(a+12|0,j,d);eh(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,5112);tl(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);tl(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+32|0;e=h+12|0;g=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,b,zl(b)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;ql(g,c,zl(c)|0);b=f[a+4>>2]|0;if((b|0)!=0?(d=zh(b,e,g)|0,(d|0)!=0):0)b=Im(a,f[d+40>>2]|0)|0;else b=-1;wq(g);wq(e);u=h;return b|0}function pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));pi(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Ns(e)}f[a>>2]=f[i>>2];u=j;return}function qk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){qk(d);Ns(d)}wq(c+8|0);Ns(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ns(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Ns(c)}wq(e+8|0);Ns(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Ns(b);return}function rk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(b>>>0<64){e=f[a+8>>2]|0;if(e>>>0<=1){h=0;return h|0}b=f[c>>2]|0;c=1;d=0;do{d=(f[b+(d<<2)>>2]|0)>>>0>(f[b+(c<<2)>>2]|0)>>>0?c:d;c=c+1|0}while(c>>>0<e>>>0);return d|0}h=a+576|0;g=f[h>>2]|0;e=32-g|0;c=a+572|0;b=f[c>>2]|0;d=f[b>>2]<<g;if((e|0)<4){a=4-e|0;f[h>>2]=a;g=b+4|0;f[c>>2]=g;h=32-a|0;h=(f[g>>2]|0)>>>h|d>>>(h-e|0);return h|0}d=d>>>28;g=g+4|0;f[h>>2]=g;if((g|0)!=32){h=d;return h|0}f[c>>2]=b+4;f[h>>2]=0;h=d;return h|0}function sk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>e>>>0:0)){k=b[(f[d>>2]|0)+e>>0]|0;g=sq(e|0,g|0,1,0)|0;j=i;f[j>>2]=g;f[j+4>>2]=I;f[a+24>>2]=k&255;break}else{k=0;return k|0}}while(0);k=vd(a,c,d)|0;return k|0}function tk(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Ns(a)}Ns(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Ns(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Ns(a)}Ns(b)}Ns(d);return}function uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+32|0;d=g+12|0;e=g;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ql(d,b,zl(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,22762,4);b=f[a+4>>2]|0;if((b|0)!=0?(c=zh(b,e,d)|0,(c|0)!=0):0)b=Im(a,f[c+40>>2]|0)|0;else b=-1;wq(e);wq(d);u=g;return b|0}function vk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=sq(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(vk(a,c)|0){d=a;d=zp(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}k=f[i>>2]|0;e=Xo(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;Ns(g);return}function xk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=5672;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=zs()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=Qi(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function yk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if((a|0)<0){d=0;return d|0}if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=sq(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=Dd(a,c,d,e)|0;return k|0}case 1:{k=df(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function zk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;Aq(e,c,d)|0;b[j>>0]=0;Cr(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;Vj(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Ak(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;Qk(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function Bk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0<c>>>0){Ok(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;xp(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;Cr(e+i|0,k)}u=l;return a|0}function Ck(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+4|0;g=f[j>>2]|0;i=a+8|0;a=f[i>>2]|0;d=g+4|0;c=f[d>>2]|0;b=f[g>>2]|0;e=c-b>>2;if(a>>>0<=e>>>0){if(a>>>0<e>>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)f[d>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Tj(g,a-e|0);a=f[i>>2]|0}if((a|0)>0)d=0;else return 1;do{b=f[j>>2]|0;c=f[b>>2]|0;if((f[b+4>>2]|0)-c>>2>>>0<=d>>>0){wr(b);c=f[b>>2]|0;a=f[i>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(a|0));return 1}function Dk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=4520;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&255](b);f[a>>2]=4944;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Ns(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&255](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Ns(b);Ns(a);return}function Ek(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(ir(a,f[c+8>>2]|0,g)|0)){if(ir(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else wo(0,c,d,e);while(0);return}function Fk(a){a=a|0;Ss(a+496|0);Ss(a+480|0);Ss(a+464|0);Ss(a+448|0);Ss(a+432|0);Ss(a+416|0);Ss(a+400|0);Ss(a+384|0);Ss(a+368|0);Ss(a+352|0);Ss(a+336|0);Ss(a+320|0);Ss(a+304|0);Ss(a+288|0);Ss(a+272|0);Ss(a+256|0);Ss(a+240|0);Ss(a+224|0);Ss(a+208|0);Ss(a+192|0);Ss(a+176|0);Ss(a+160|0);Ss(a+144|0);Ss(a+128|0);Ss(a+112|0);Ss(a+96|0);Ss(a+80|0);Ss(a+64|0);Ss(a+48|0);Ss(a+32|0);Ss(a+16|0);Ss(a);return}function Gk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=be(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}bl(c,b-d|0,0);d=_m(c,0)|0;c=f[e>>2]|0;li(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function Ik(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function Jk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4744;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));to(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;is(a+408|0);f[a+424>>2]=-1;f[a+428>>2]=-1;return}function Kk(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=4520;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&255](b);f[a>>2]=4944;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&255](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Ns(b);return}function Lk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1716;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Ns(b)}Ns(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Ns(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Ns(b)}Ns(a)}Ns(d);return}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)>=33)Ga(22414,21776,60,22540);if((b|0)<=0)Ga(22569,21776,61,22540);k=a+8|0;i=a+4|0;j=0-(h[a+12>>0]|0)&255;d=f[k>>2]|0;e=0;do{e=e<<1;if(d>>>0<4096?(g=f[i>>2]|0,(g|0)>0):0){m=f[a>>2]|0;l=g+-1|0;f[i>>2]=l;d=h[m+l>>0]|0|d<<8;f[k>>2]=d}n=d&255;l=X(d>>>8,j)|0;m=n>>>0<j>>>0;d=m?l+n|0:d-j-l|0;f[k>>2]=d;e=m&1|e;b=b+-1|0}while((b|0)!=0);f[c>>2]=e;return}function Nk(a,b){a=a|0;b=b|0;if(!b)return;else{Nk(a,f[b>>2]|0);Nk(a,f[b+4>>2]|0);Wk(b+20|0,f[b+24>>2]|0);Ns(b);return}}function Ok(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0<d>>>0)tr(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0<j>>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Xo(k)|0;if(g|0)Eq(j,l,g)|0;d=e-h-g|0;if(d|0)Eq(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Ns(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Ah(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function Qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){Uj(a,c-g|0);break}if(c>>>0<g>>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Hh(a,b,b+c|0);while(0);a=a+24|0;h=a;h=sq(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function Rk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Wh(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){Vk(d);Ns(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){Vk(d);Ns(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;xi(a+56|0,i,g);i=1;u=h;return i|0}function Sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Xo(32)|0,hp(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Ns(e)}Ns(d)}e=Ln(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Wo(e|0,d|0,c|0,0)|0;if(!(Qk(i,0,g,I)|0)){i=0;return i|0}cm(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Tk(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;g=e>>>0>1073741823?-1:e<<2;h=Ks(g)|0;Gk(h|0,0,g|0)|0;g=a+8|0;Hj(g,h,b,c);if((e|0)>=(d|0)){Ls(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Hj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ls(h);return 1}function Uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(ir(a,b,0)|0))if((b|0)!=0?(e=Ti(b,1448,1432,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Xa[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function Vk(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ns(d);return}function Wk(a,b){a=a|0;b=b|0;if(!b)return;else{Wk(a,f[b>>2]|0);Wk(a,f[b+4>>2]|0);wq(b+28|0);wq(b+16|0);Ns(b);return}}function Xk(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;g=e>>>0>1073741823?-1:e<<2;h=Ks(g)|0;Gk(h|0,0,g|0)|0;g=a+8|0;Kj(g,h,b,c);if((e|0)>=(d|0)){Ls(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Kj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ls(h);return 1}function Yk(a,c,d){a=a|0;c=c|0;d=d|0;a=be(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function Zk(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function _k(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=sq(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(_k(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function $k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)Ga(22591,22607,59,22698);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(22708,22607,60,22698);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function al(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Ns(c)}Ns(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Ns(c)}Ns(b)}Ns(a);return}function bl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;Cr(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;Cr(a+c|0,h);b[g>>0]=c;break}else Bk(a,c-e|0,d)|0;while(0);u=j;return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){xr(a);c=Ia(4)|0;ps(c);sa(c|0,1488,137)}d=Xo(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function dl(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+12>>2]|0;if(b|0)Ns(b);b=f[a>>2]|0;if(!b)return;Ns(b);return}function el(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=4944;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Ns(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&255](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Ns(b);Ns(a);return}function fl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;ql(h,d,zl(d)|0);Hk(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;wq(h);wq(g);u=e;return a|0}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){xr(a);h=Ia(4)|0;ps(h);sa(h|0,1488,137)}g=Xo(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;li(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function hl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(cn(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0<e>>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Na[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function il(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=4944;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&255](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Ns(b);return}function jl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Ts(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=hl(c,a)|0;Ss(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=hl(c,a)|0}while(0);return d|0}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){xr(a);c=Ia(4)|0;ps(c);sa(c|0,1488,137)}e=Xo(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{gl(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function ll(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2472;b=f[a+96>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0)Ns(b);b=f[a+72>>2]|0;if(b|0)Ns(b);b=f[a+60>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c){Ns(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);Ns(a);return}function ml(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0)Ns(b);b=f[a+72>>2]|0;if(b|0)Ns(b);b=f[a+60>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c){Ns(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);Ns(a);return}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;ql(g,c,zl(c)|0);a=Hk(b,g,e)|0;wq(g);wq(e);u=d;return a|0}function ol(a){a=a|0;var b=0,c=0,d=0;Ss(a+168|0);b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=a+136|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ss(b)}while((b|0)!=(c|0))}Ls(d)}Ss(a+120|0);Ss(a+80|0);Ss(a+64|0);Ss(a+24|0);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){xr(a);e=Ia(4)|0;ps(e);sa(e|0,1488,137)}g=Xo(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function ql(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{tr(a);g=5}if((g|0)==5){i=d+16&-16;g=Xo(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}Eq(a,c,d)|0;b[e>>0]=0;Cr(a+d|0,e);u=h;return}function rl(a){a=a|0;var b=0,c=0;f[a>>2]=2472;b=f[a+96>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0)Ns(b);b=f[a+72>>2]|0;if(b|0)Ns(b);b=f[a+60>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);return}function sl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=f[a+32>>2]|0;j=b+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=sq(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((j|0)<(d|0)|(j|0)==(d|0)&i>>>0<c>>>0){j=0;return j|0}j=(f[b>>2]|0)+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=g;f[i>>2]=c;f[i+4>>2]=d;f[(f[a+4>>2]|0)+80>>2]=j;j=1;return j|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ia(4)|0;ps(a);sa(a|0,1488,137)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Xo(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)li(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Ns(c);return}function ul(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(ds(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function vl(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)Ns(b);b=f[a+84>>2]|0;if(b|0)Ns(b);b=f[a+72>>2]|0;if(b|0)Ns(b);b=f[a+60>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);return}function wl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4580;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));to(b);return}function xl(a,c,d){a=a|0;c=c|0;d=d|0;c=ki(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=ul(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function yl(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(mn(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function zl(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;f[e>>2]=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ql(d,20122,24);gk(Nd(a,e)|0,d,1);wq(d);u=c;return}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Cl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4628;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}f[a+12>>2]=4652;b=f[a+32>>2]|0;if(b|0)Ns(b);b=f[a+20>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Yh(a+40|0,b);a=1;return a|0}return 0}function El(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Fl(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Ep(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+Fl(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function Gl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4720;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}f[a+12>>2]=4700;b=f[a+32>>2]|0;if(b|0)Ns(b);b=f[a+20>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function Hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2528;b=f[a+76>>2]|0;if(b|0)Ns(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ls(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function Il(a){a=a|0;if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}if(!(f[a+40>>2]|0)){a=0;return a|0}a=(f[a+76>>2]|0)!=-1;return a|0}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0;a=u;u=u+32|0;g=a;e=a+8|0;p[g>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,c,zl(c)|0);cj(b,e,g)|0;d=+p[g>>3];wq(e);u=a;return +d}function Kl(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[23462+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=23550;e=5;break}}if((e|0)==2)if(!d)d=23550;else{a=23550;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return hs(d,f[c+20>>2]|0)|0}function Ll(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4628;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}f[a+12>>2]=4652;b=f[a+32>>2]|0;if(b|0)Ns(b);b=f[a+20>>2]|0;if(!b)return;Ns(b);return}function Ml(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)Ns(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ls(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function Nl(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,c,zl(c)|0);Yk(b,e,a)|0;a=f[a>>2]|0;wq(e);u=d;return a|0}function Pl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4720;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}f[a+12>>2]=4700;b=f[a+32>>2]|0;if(b|0)Ns(b);b=f[a+20>>2]|0;if(!b)return;Ns(b);return}function Ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Xo(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=Ui(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Vk(a);Ns(a);return}function Rl(a){a=a|0;if(!a)return;wq(a+28|0);Nk(a+12|0,f[a+16>>2]|0);Wk(a,f[a+4>>2]|0);Ns(a);return}function Sl(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Xo(20)|0;Rp(c);break}case 1:{c=Xo(24)|0;rq(c);break}case 2:{c=Xo(36)|0;cp(c);break}case 3:{c=Xo(28)|0;kq(c);break}default:c=0}f[a>>2]=c;return}function Tl(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,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Ip(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Ip((Wd(h,g,Ip(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function Ul(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){im(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;a=d;e=d+8|0;p[a>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,c,zl(c)|0);a=cj(b,e,a)|0;wq(e);u=d;return a|0}function Wl(a){a=a|0;var b=0,c=0;f[a>>2]=2528;b=f[a+76>>2]|0;if(b|0)Ns(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ls(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);return}function Xl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Mo(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=pr(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function Yl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=5084;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Ns(b)}b=f[a+84>>2]|0;if(!b){Th(a);Ns(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Th(a);Ns(a);return}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((f[(f[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=f[c+96>>2]|0;if((b|0)>=(((f[c+100>>2]|0)-a|0)/12|0|0))Ga(22874,22792,64,22869);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function _l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ql(e,c,zl(c)|0);a=Yk(b,e,a)|0;wq(e);u=d;return a|0}function $l(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function am(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;yc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){_n(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function bm(a){a=a|0;var b=0,c=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)Ns(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ls(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);return}function cm(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function dm(a,b,c){a=a|0;b=b|0;c=c|0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Sa[f[(f[a>>2]|0)+52>>2]&255](a)|0):0){a=0;return a|0}a=vd(a,b,c)|0;return a|0}function em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ga(22767,22792,63,22869);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;ah(c,a,a+12|0);return 1}else Ga(22874,22792,64,22869);return 0}function fm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){xr(a);a=Ia(4)|0;ps(a);sa(a|0,1488,137)}d=b<<2;e=Xo(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;Gk(e|0,0,d|0)|0;f[c>>2]=b;return}function gm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=5084;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Ns(b)}b=f[a+84>>2]|0;if(!b){Th(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Th(a);return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jp(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Ga(22591,22607,67,22698);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(22708,22607,68,22698);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0<g>>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Uj(a,b-g|0);a=a+24|0;h=a;h=sq(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function jm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2584;b=f[a+76>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function km(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0<a>>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;nh(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;Nn(a+28|0,b)|0;wq(b);u=d;return c|0}function mm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function nm(a,b){a=a|0;b=b|0;var c=0,d=0;d=Xo(40)|0;f[d>>2]=-1;hp(d+8|0);Qa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Ns(a)}Ns(b);return 1}function om(a){a=a|0;var b=0;f[a>>2]=3356;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function pm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1604;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}b=f[a+4>>2]|0;if(!b){Ns(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;oh(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;Nn(a+28|0,b)|0;wq(b);u=d;return c|0}function rm(a){a=a|0;var b=0;f[a>>2]=2992;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=4140;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function tm(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Wa[f[(f[d>>2]|0)+16>>2]&127](d,f[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function um(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(ir(a,f[b+8>>2]|0,g)|0)Ik(0,b,c,d,e);else{a=f[a+8>>2]|0;Va[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=2584;b=f[a+76>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);return}function wm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2640;Ss(a+108|0);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function xm(a){a=a|0;var b=0,c=0;f[a>>2]=4392;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ls(b);f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Lk(a);Ns(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);Lk(a);Ns(a);return}function ym(a){a=a|0;var b=0;f[a>>2]=3776;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function zm(a){a=a|0;var b=0;f[a>>2]=3356;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b)return;Ns(b);return}function Am(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=b*3|0;if((b|0)>715827882){a=0;return a|0}eh(a,c,5072);eh(a+12|0,c,5068);tl(a+24|0,c);a=1;return a|0}function Bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Cm(a){a=a|0;var b=0,c=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)Ns(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ns(c);return}function Dm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2276;Ss(a+108|0);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function Em(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1604;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ns(d);return}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Gk(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Wq(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Wq(a,f,e)}u=g;return}function Gm(a){a=a|0;var b=0;f[a>>2]=2992;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b)return;Ns(b);return}function Hm(a){a=a|0;var b=0;f[a>>2]=4140;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b)return;Ns(b);return}function Im(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function Jm(a){a=a|0;var b=0,c=0;f[a>>2]=4392;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ls(b);f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Lk(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);Lk(a);return}function Km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Ga(22591,22607,67,22698);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Ga(22708,22607,68,22698);return 0}function Lm(a){a=a|0;var b=0;f[a>>2]=3776;b=f[a+80>>2]|0;if(b|0)Ns(b);b=f[a+68>>2]|0;if(b|0)Ns(b);b=f[a+56>>2]|0;if(b|0)Ns(b);b=f[a+44>>2]|0;if(!b)return;Ns(b);return}function Mm(a){a=a|0;var b=0,c=0;f[a>>2]=2640;Ss(a+108|0);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ns(c);return}function Nm(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Wa[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function Om(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;e=c;b=g+(~((g+-4-e|0)>>>2)<<2)|0;if((g|0)==(c|0))b=c;else f[d>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);Ns(c);return}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(ir(a,f[b+8>>2]|0,0)|0)$l(0,b,c,d);else{a=f[a+8>>2]|0;Xa[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function Qm(a){a=a|0;var b=0,c=0;f[a>>2]=2276;Ss(a+108|0);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ns(c);return}function Rm(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)ql(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function Sm(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=Wa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return c|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((Dq(Da(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function Um(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function Vm(a,b){a=a|0;b=b|0;var c=0;Do(a);f[a>>2]=1764;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function Wm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Sk(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function Ym(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=zi(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function Zm(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;if(!(f[a+36>>2]|0))return 0;else return (f[a+40>>2]|0)!=0|0;return 0}function _m(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;if(d<<24>>24<0)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0){sr(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function $m(a){a=a|0;var b=0,c=0;f[a>>2]=3412;b=f[a+60>>2]|0;if(b|0)Ns(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ns(a);return}Ls(b);Ns(a);return}function an(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function bn(a){a=a|0;if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+40>>2]|0)!=0;return a|0}function cn(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function dn(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function en(a){a=a|0;var b=0,c=0;f[a>>2]=3048;b=f[a+60>>2]|0;if(b|0)Ns(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ns(a);return}Ls(b);Ns(a);return}function fn(a){a=a|0;var b=0,c=0;f[a>>2]=4196;b=f[a+60>>2]|0;if(b|0)Ns(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ns(a);return}Ls(b);Ns(a);return}function gn(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;e=g;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[e>>2]=f[a+60>>2],f[e+4>>2]=21523,f[e+8>>2]=g+16,Ca(54,e|0)|0):0)b[a+75>>0]=-1;e=ri(a,c,d)|0;u=g;return e|0}function hn(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function jn(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){vc(a,b,c);return}else{Pc(a,0,0);return}}function kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;$g(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function ln(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=Ob(a,b,d)|0;u=c;return a|0}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0<c>>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function on(a){a=a|0;var b=0,c=0;f[a>>2]=3832;b=f[a+60>>2]|0;if(b|0)Ns(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ns(a);return}Ls(b);Ns(a);return}function pn(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(Ts(d)|0)==0;a=Wj(a,e,d)|0;if(!g)Ss(d)}else a=Wj(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function rn(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function sn(a,b){a=a|0;b=b|0;if(!(Wa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Wa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+44>>2]&255](a)|0;return a|0}function tn(a){a=a|0;var b=0;f[a>>2]=3412;b=f[a+60>>2]|0;if(b|0)Ns(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Ls(b);return}function un(a,c,d){a=a|0;c=c|0;d=d|0;if(!(jp(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function vn(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+48>>2]=c;a=1;return a|0}function wn(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function xn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(ir(a,f[b+8>>2]|0,g)|0)Ik(0,b,c,d,e);return}function yn(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+44>>2]=c;c=1}else c=0;return c|0}function zn(a){a=a|0;var b=0;f[a>>2]=3048;b=f[a+60>>2]|0;if(b|0)Ns(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Ls(b);return}function An(a){a=a|0;var b=0;f[a>>2]=4196;b=f[a+60>>2]|0;if(b|0)Ns(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Ls(b);return}function Bn(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Cn(a){a=a|0;var b=0,c=0;f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Lk(a);Ns(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);Lk(a);Ns(a);return}function Dn(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){Ns(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function En(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Fn(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;xi(a+20|0,e,d);u=c;return}function Gn(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Hn(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function In(a){a=a|0;var b=0;f[a>>2]=3832;b=f[a+60>>2]|0;if(b|0)Ns(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Ls(b);return}function Jn(){var a=0,b=0;a=Xo(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Kn(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;xi(a+20|0,e,d);u=c;return}function Ln(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function Mn(a){a=a|0;f[a>>2]=4676;fk(a+8|0);Ns(a);return}function Nn(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;zk(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;mk(d,b);a=f[d+16>>2]|0;wq(d+4|0);u=c;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Qn(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=sq(f[a+32>>2]|0,0,7,0)|0;d=Ep(d|0,I|0,3)|0;a=a+16|0;c=a;c=sq(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Rn(a){a=a|0;var b=0,c=0;f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Lk(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);Lk(a);return}function Sn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ga(7628,7634,76,7781);return 0}function Tn(a){a=a|0;f[a>>2]=4676;fk(a+8|0);return}function Un(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;ie(a,b,c,d,e);return}function Vn(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function Wn(a){a=a|0;var b=0,c=0;f[a>>2]=1884;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ns(c);return}function Xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(ir(a,f[b+8>>2]|0,0)|0)$l(0,b,c,d);return}function Yn(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function Zn(a){a=a|0;var b=0;f[a>>2]=4944;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function _n(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else li(a,c,d)|0;return a|0}function $n(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function ao(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1572;b=f[a+8>>2]|0;if(!b){Ns(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b);Ns(a);return}function bo(a){a=a|0;var b=0;f[a>>2]=3468;b=f[a+60>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function co(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ga(22591,22607,59,22698);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else Ga(22708,22607,60,22698);return 0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function fo(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[23444+(a&15)>>0]|0|e;a=Ep(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function ho(){var a=0,b=0;b=Uo()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)Hq(f[a+12>>2]|0);Hq(Tr()|0)}function io(a){a=a|0;var b=0;f[a>>2]=3104;b=f[a+60>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function jo(a){a=a|0;var b=0;f[a>>2]=4252;b=f[a+60>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function ko(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function lo(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ns(b)}Ns(a);return}function mo(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function no(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function oo(a){a=a|0;var b=0;f[a>>2]=3888;b=f[a+60>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function po(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function qo(a){a=a|0;var b=0,c=0;f[a>>2]=1572;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ns(c);return}function ro(a,b){a=a|0;b=b|0;return Ij(a+8|0,b)|0}function so(a,b,c){a=a|0;b=b|0;c=c|0;Sb(a,b,c);return}function to(a){a=a|0;po(a);po(a+40|0);is(a+80|0);po(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function uo(a){a=a|0;f[a>>2]=3468;a=f[a+60>>2]|0;if(!a)return;Ns(a);return}function vo(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(12974,13345,61,12985);return 0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function xo(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(12974,12575,65,12985);return 0}function yo(a){a=a|0;f[a>>2]=3104;a=f[a+60>>2]|0;if(!a)return;Ns(a);return}function zo(a){a=a|0;f[a>>2]=4252;a=f[a+60>>2]|0;if(!a)return;Ns(a);return}function Ao(a){a=a|0;var b=0;f[a>>2]=4652;b=f[a+20>>2]|0;if(b|0)Ns(b);b=f[a+8>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function Bo(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=Ep(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Co(){var a=0,b=0;a=Xo(24)|0;f[a>>2]=1572;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Do(a){a=a|0;f[a>>2]=1604;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;li(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Fo(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(12974,13683,69,12985);return 0}function Go(a,b){a=a|0;b=b|0;return fj(a+8|0,b)|0}function Ho(a){a=a|0;var c=0;rn(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Io(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Ns(b)}Ns(a);return}function Jo(a){a=a|0;f[a>>2]=3888;a=f[a+60>>2]|0;if(!a)return;Ns(a);return}function Ko(a){a=a|0;var b=0;f[a>>2]=4700;b=f[a+20>>2]|0;if(b|0)Ns(b);b=f[a+8>>2]|0;if(!b){Ns(a);return}Ns(b);Ns(a);return}function Lo(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Wd(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function No(a){a=a|0;f[a>>2]=3524;Ss(a+92|0);Ns(a);return}function Oo(a){a=a|0;var b=0;f[a>>2]=4652;b=f[a+20>>2]|0;if(b|0)Ns(b);b=f[a+8>>2]|0;if(!b)return;Ns(b);return}function Po(a){a=a|0;qr(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Qo(a){a=a|0;Kp(a);f[a>>2]=5084;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Ro(a){a=a|0;f[a>>2]=3160;Ss(a+92|0);Ns(a);return}function So(a){a=a|0;f[a>>2]=4308;Ss(a+92|0);Ns(a);return}function To(a){a=a|0;f[a>>2]=3524;Ss(a+92|0);return}function Uo(){var a=0,b=0;a=u;u=u+16|0;if(!(Aa(26832,3)|0)){b=qa(f[6709]|0)|0;u=a;return b|0}else Bp(25977,a);return 0}function Vo(a){a=a|0;var b=0;f[a>>2]=4700;b=f[a+20>>2]|0;if(b|0)Ns(b);b=f[a+8>>2]|0;if(!b)return;Ns(b);return}function Wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Pn(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Xo(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0)break;a=Rr()|0;if(!a){a=0;break}Ua[a&3]()}return a|0}function Yo(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Qs(f[a+60>>2]|0)|0;f[c>>2]=a;a=Dq(ua(6,c|0)|0)|0;u=b;return a|0}function Zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bd(b,c,d)|0}function _o(a){a=a|0;f[a>>2]=3944;Ss(a+92|0);Ns(a);return}function $o(a){a=a|0;var b=0;b=u;u=u+16|0;hc(a);if(!(ra(f[6709]|0,0)|0)){u=b;return}else Bp(26076,b)}function ap(a){a=a|0;f[a>>2]=3160;Ss(a+92|0);return}function bp(a){a=a|0;f[a>>2]=4308;Ss(a+92|0);return}function cp(a){a=a|0;rq(a);f[a>>2]=4392;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Td(b,c,d)|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function fp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function gp(a){a=a|0;f[a>>2]=3944;Ss(a+92|0);return}function hp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ip(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function jp(a,b,c){a=a|0;b=b|0;c=c|0;return Km(a,b,c)|0}function kp(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 Ra[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}I=(b|0)<0?-1:0;return b>>c-32|0}function mp(a,b,c){a=a|0;b=b|0;c=c|0;return Vn(b,c)|0}function np(a){a=a|0;Xf(a);Ns(a);return}function op(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=Kr(a,b,e)|0;u=d;return c|0}function pp(a,b,c){a=a|0;b=$(b);c=c|0;var d=La;d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;return}function qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ok(b,c,d)|0}function rp(){var a=0;a=u;u=u+16|0;if(!(ya(26836,139)|0)){u=a;return}else Bp(26026,a)}function sp(a){a=a|0;_f(a);Ns(a);return}function tp(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=Qi(f[1386]|0,a,d)|0;u=c;return b|0}function up(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function vp(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Sa[f[(f[a>>2]|0)+48>>2]&255](a)|0;return 0}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return di(b,c,d)|0}function xp(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Gk(a|0,(ks(c)|0)&255|0,b|0)|0;return a|0}function yp(a){a=a|0;return 4}function zp(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}I=a<<c-32;return 0}function Ap(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function Bp(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1293]|0;Qi(b,a,c)|0;jl(10,b)|0;wa()}function Cp(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Dp(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}I=0;return b>>>c-32|0}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;return lm(a,b,c)|0}function Gp(a){a=a|0;ff(a);Ns(a);return}function Hp(){}function Ip(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (I=d,a-c>>>0|0)|0}function Jp(a){a=a|0;return 5}function Kp(a){a=a|0;var b=0;f[a>>2]=5124;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Lp(a){a=a|0;return 6}function Mp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return em(b,c,d)|0}function Np(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Op(a,b){a=a|0;b=b|0;if(!b)b=0;else b=hj(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Pp(a,b,c){a=a|0;b=b|0;c=c|0;return mp(a,b,c)|0}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;return th(b,c)|0}function Rp(a){a=a|0;f[a>>2]=1716;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Sp(a,b){a=a|0;b=b|0;Al(a,b);return}function Tp(a){a=a|0;if(!a)return;wq(a+4|0);Ns(a);return}function Up(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Vp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Oa[a&3](b|0,c|0,d|0,e|0,f|0)}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;return qm(a,b,c)|0}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;return nl(a,b,c)|0}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;return Vl(a,b,c)|0}function Zp(a,b,c){a=a|0;b=b|0;c=c|0;return fl(a,b,c)|0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Jl(a,b,c))}function $p(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0}function aq(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function bq(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function cq(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0}function dq(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function eq(a,b,c){a=a|0;b=b|0;c=c|0;return $k(a,b,c)|0}function fq(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function gq(a,b,c){a=a|0;b=b|0;c=c|0;return yq(b,c)|0}function hq(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+36>>2]&255](a)|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;return _l(a,b,c)|0}function jq(a,b,c){a=a|0;b=b|0;c=c|0;return Ol(a,b,c)|0}function kq(a){a=a|0;rq(a);f[a>>2]=2724;f[a+24>>2]=-1;return}function lq(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function mq(a,b,c){a=a|0;b=b|0;c=c|0;return uk(b,c)|0}function nq(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function oq(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function pq(){var a=0;a=Xo(40)|0;f[a>>2]=-1;hp(a+8|0);return a|0}function qq(){var a=0;a=Xo(8)|0;f[a>>2]=1544;f[a+4>>2]=-1;return a|0}function rq(a){a=a|0;Rp(a);f[a>>2]=1824;f[a+20>>2]=0;return}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function tq(a,b){a=a|0;b=b|0;Sp(a,b);return}function uq(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function vq(a,b){a=a|0;b=b|0;return On(a,b)|0}function wq(a){a=a|0;if((b[a+11>>0]|0)<0)Ns(f[a>>2]|0);return}function xq(a){a=a|0;if(!a)return;Pa[f[(f[a>>2]|0)+4>>2]&255](a);return}function yq(a,b){a=a|0;b=b|0;return Bm(a,b)|0}function zq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xa[a&7](b|0,c|0,d|0,e|0)}function Aq(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_n(a|0,b|0,c|0)|0;return a|0}function Bq(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;return co(b,c)|0}function Dq(a){a=a|0;var b=0;if(a>>>0>4294963200){b=zs()|0;f[b>>2]=0-a;a=-1}return a|0}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)li(a|0,b|0,c|0)|0;return a|0}function Fq(a,b){a=a|0;b=b|0;return -1}function Gq(a){a=a|0;if(!a)a=0;else a=(Ti(a,1448,1520,0)|0)!=0;return a&1|0}function Hq(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();Bp(26129,b)}function Iq(a){a=a|0;Bj(a);Ns(a);return}function Jq(a){a=a|0;Rq(a);f[a>>2]=4520;f[a+48>>2]=0;return}function Kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;ep(a,b,c);return}function Mq(a){a=a|0;if(!a)return;Ss(a+24|0);Ns(a);return}function Nq(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Oq(){var a=0;a=Xo(64)|0;rn(a);return a|0}function Pq(a,b){a=a|0;b=b|0;return $(Vq(a,b))}function Qq(a){a=a|0;return f[a+8>>2]|0}function Rq(a){a=a|0;Zn(a);f[a>>2]=4460;f[a+44>>2]=0;return}function Sq(a){a=a|0;if(!a)return;qk(a);Ns(a);return}function Tq(a,b){a=a|0;b=b|0;return Er(a,b)|0}function Uq(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Vq(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Wj(b,c,a)|0;return}function Xq(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Zq(){var a=0;a=Xo(96)|0;Ho(a);return a|0}function _q(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function $q(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function ar(a,b){a=a|0;b=b|0;if(!a)a=0;else a=jk(a,b,0)|0;return a|0}function br(a){a=a|0;var b=0;b=(Js()|0)+188|0;return Kl(a,f[b>>2]|0)|0}function cr(){var a=0;a=Xo(12)|0;ur(a);return a|0}function dr(){var a=0;a=Xo(40)|0;po(a);return a|0}function er(a,b){a=a|0;b=b|0;return mr(a,b)|0}function fr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function gr(a){a=a|0;Lk(a);Ns(a);return}function hr(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function ir(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function jr(a){a=a|0;Do(a);f[a>>2]=1660;return}function kr(a,b){a=a|0;b=b|0;var c=0;c=zr(a|0)|0;return ((b|0)==0?a:c)|0}function lr(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function mr(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function nr(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function or(a,b){a=a|0;b=b|0;return 1}function pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wd(a,b,c,d,0)|0}function qr(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function rr(){var a=0;a=Xo(84)|0;Kp(a);return a|0}function sr(a){a=a|0;Ga(25652,25530,1194,25681)}function tr(a){a=a|0;Ga(25501,25530,1183,25631)}function ur(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function vr(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function wr(a){a=a|0;Ga(25478,25377,315,25681)}function xr(a){a=a|0;Ga(25354,25377,304,25631)}function yr(a,b,c){a=a|0;b=b|0;c=c|0;return Wa[a&127](b|0,c|0)|0}function zr(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ar(a){a=a|0;Rq(a);f[a>>2]=4860;return}function Br(){var a=0;a=Xo(1)|0;Ss(a);return a|0}function Cr(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Dr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function Er(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Fr(a){a=a|0;return $(n[a+20>>2])}function Gr(a){a=a|0;return f[a+4>>2]|0}function Hr(a){a=a|0;if(!a)return;Ns(a);return}function Ir(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Jr(a){a=a|0;return 3}function Kr(a,b,c){a=a|0;b=b|0;c=c|0;return xk(a,2147483647,b,c)|0}function Lr(a){a=a|0;return f[a+88>>2]|0}function Mr(a,b,c){a=a|0;b=b|0;c=c|0;Qa[a&7](b|0,c|0)}function Nr(){var a=0;a=Xo(40)|0;Po(a);return a|0}function Or(){var a=0;a=Xo(108)|0;Qo(a);return a|0}function Pr(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Qr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function Rr(){var a=0;a=f[6710]|0;f[6710]=a+0;return a|0}function Sr(a){a=a|0;return f[a+56>>2]|0}function Tr(){var a=0;a=f[1545]|0;f[1545]=a+0;return a|0}function Ur(a){a=a|0;Th(a);Ns(a);return}function Vr(a){a=a|0;return b[a+24>>0]|0}function Wr(a,b){a=a|0;b=b|0;return 0}function Xr(a){a=a|0;return f[a+40>>2]|0}function Yr(a){a=a|0;return f[a+48>>2]|0}function Zr(a,b){a=a|0;b=b|0;return Sa[a&255](b|0)|0}function _r(a){a=a|0;return f[a+60>>2]|0}function $r(a){a=a|0;return f[a+28>>2]|0}function as(a){a=a|0;xa(a|0)|0;ho()}function bs(a,b){a=a|0;b=b|0;u=a;v=b}function cs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function ds(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function es(a){a=a|0;return (f[a>>2]|0)==0|0}function fs(a){a=a|0;return f[a+80>>2]|0}function gs(a,b){a=a|0;b=b|0;Pa[a&255](b|0)}function hs(a,b){a=a|0;b=b|0;return Op(a,b)|0}function is(a){a=a|0;b[a+12>>0]=0;return}function js(a){a=a|0;Ss(a);Ns(a);return}function ks(a){a=a|0;return a&255|0}function ls(a){a=a|0;f[a>>2]=0;return}function ms(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function ns(a){a=a|0;return f[a>>2]|0}function os(a){a=a|0;return 2}function ps(a){a=a|0;f[a>>2]=6276;return}function qs(a){a=a|0;return 1}function rs(a,b){a=+a;b=b|0;return +(+Fl(a,b))}function ss(){return 3}function ts(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function us(){return -4}function vs(){return 4}function ws(){return -3}function xs(){return 1}function ys(){return 2}function zs(){return (Js()|0)+64|0}function As(){return -5}function Bs(a,b){a=a|0;b=b|0;aa(9);return 0}function Cs(a){a=a|0;return 26169}function Ds(a){a=a|0;Ua[a&3]()}function Es(){return -2}function Fs(){Ha()}function Gs(){return -1}function Hs(a,b){a=a|0;b=b|0;aa(3)}function Is(){return 0}function Js(){return Xs()|0}function Ks(a){a=a|0;return Xo(a)|0}function Ls(a){a=a|0;Ns(a);return}function Ms(a){a=a|0;u=a}function Ns(a){a=a|0;hc(a);return}function Os(a){a=a|0;I=a}function Ps(){return 26768}function Qs(a){a=a|0;return a|0}function Rs(a){a=a|0;aa(5);return 0}function Ss(a){a=a|0;return}function Ts(a){a=a|0;return 0}function Us(){return I|0}function Vs(){return u|0}function Ws(a){a=a|0;aa(2)}function Xs(){return 5300}function Ys(){aa(7)}
|
|
|
|
// EMSCRIPTEN_END_FUNCS
|
|
var Na=[ms,Np,Km,Xm,ip,Sj,jp,gh,vd,un,Yj,sk,hm,$j,dm,ri,Tm,gn,Eo,Uk,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms];var Oa=[Qr,Ek,Bi,Qr];var Pa=[Ws,Ss,Ls,qo,ao,Em,pm,pm,Lk,gr,Bj,Iq,Rn,Cn,Wn,Dn,Dn,Dn,Dn,vl,ml,bm,Ml,Cm,mm,Qm,Dm,Ss,Ls,Dn,Dn,rl,ll,Wl,Hl,vm,jm,Mm,wm,Ss,Ls,Cn,Ss,Ls,Ls,Ss,Ls,Ls,Ls,Gm,rm,zn,en,yo,io,ap,Ro,Ss,Ls,Ls,Ls,zm,om,tn,$m,uo,bo,To,No,Ss,Ls,Ss,Ls,Ls,Ls,Lm,ym,In,on,Jo,oo,gp,_o,Ss,Ls,Ls,Ls,Hm,sm,An,fn,zo,jo,bp,So,Ss,Ls,Jm,xm,il,el,Kk,Dk,ff,Gp,Ll,Cl,Oo,Ao,Fn,Tn,Mn,Vo,Ko,Kn,Pl,Gl,Xf,np,_f,sp,el,Ss,Ls,el,el,el,gm,Yl,ob,Th,Ur,Ss,js,Ss,Ss,js,Ss,js,$o,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws,Ws];var Qa=[Hs,Ul,vh,am,yc,Hs,Hs,Hs];var Ra=[fr,bf,wc,ac,qb,qf,$f,Sn,xc,bc,ib,nf,Tf,Sn,Tk,ig,Fd,Db,bi,Ki,Tc,og,Ed,Bb,Vh,Ei,Rc,Xk,mg,Ld,Fb,gi,Ni,Vc,wg,Kd,Cb,ci,Li,Uc,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr,fr];var Sa=[Rs,os,qs,Xq,$r,qs,ng,Uq,Gr,Ts,Ts,qs,Ts,qs,qs,hn,os,hn,yp,hn,Jr,an,qs,Jp,an,qs,Lp,Nl,qs,$r,qs,hn,os,hn,yp,hn,Jr,an,qs,Jp,an,qs,Lp,Nl,qs,$r,os,os,Jr,Ts,Gr,qs,Ts,qs,Jr,qs,bn,os,bn,yp,bn,Jr,Zm,qs,Jp,Zm,qs,Lp,Il,qs,$r,qs,bn,os,bn,yp,bn,Jr,Zm,qs,Jp,Zm,qs,Lp,Il,qs,$r,Ts,Gr,qs,Ts,qs,os,qs,bn,os,bn,yp,bn,Jr,Zm,qs,Jp,Zm,qs,Lp,Il,qs,$r,qs,bn,os,bn,yp,bn,Jr,Zm,qs,Jp,Zm,qs,Lp,Il,qs,$r,bh,qs,qs,vp,Kf,tm,qs,Ts,Nh,$p,hq,cq,db,qs,Gr,Qq,oi,rh,vi,bb,qs,Gr,Qq,cb,qs,Gr,Qq,vb,Ck,Ts,qs,sl,sl,yl,Yo,Cs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs,Rs];var Ta=[ts,Sl,Tb,Vb,Tb,Vb,Tb,Vb,Zh,Pk,Fh,Ah,ts,ts,ts,ts];var Ua=[Ys,Fs,ck,rp];var Va=[Dr,xn,um,Dr];var Wa=[Bs,pn,bj,uc,sn,Nq,Wr,or,or,Zb,lq,or,Pi,Cg,qi,Ym,El,Bl,Sm,uf,Fq,Wr,Gj,hg,Fo,Hn,Ef,vo,Gn,xg,xo,En,Gh,no,hg,Fo,Hn,Ef,vo,Gn,xg,xo,En,Gh,no,Jj,Fq,Wr,ro,Ih,Fo,Bn,uh,vo,yn,ii,xo,vn,dk,no,Ih,Fo,Bn,uh,vo,yn,ii,xo,vn,dk,no,Fq,Wr,Go,Lh,Fo,Bn,xh,vo,yn,ni,xo,vn,ik,no,Lh,Fo,Bn,xh,vo,yn,ni,xo,vn,ik,no,bq,Bh,Wr,Wr,Dp,Cp,Ap,fq,Rj,Zj,Wb,Qg,Yg,Sg,fq,Rj,Zj,Wb,fq,Rj,Zj,Wb,ui,mo,ek,ui,Bs,Bs,Bs,Bs,Bs,Bs];var Xa=[cs,pk,aj,Xn,Pm,cs,cs,cs];return{_emscripten_bind_Decoder_GetAttributeFloat_3:wp,_emscripten_bind_PointAttribute_normalized_0:Pr,_bitshift64Lshr:Ep,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Zo,_emscripten_bind_DecoderBuffer_Init_2:Lq,_emscripten_bind_PointAttribute_size_0:fs,_bitshift64Ashr:lp,_sbrk:ln,_memcpy:li,stackSave:Vs,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Gs,_emscripten_bind_Decoder_GetAttributeIdByName_2:mq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Is,___udivmoddi4:Wd,_emscripten_bind_Status_ok_0:es,_emscripten_bind_Mesh_num_faces_0:$q,_emscripten_get_global_libc:Ps,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Fp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:Is,runPostSets:Hp,_emscripten_bind_Decoder_GetEncodedGeometryType_1:vq,___cxa_can_catch:go,_free:hc,_emscripten_bind_GeometryAttribute___destroy___0:Hr,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Gs,_emscripten_bind_PointAttribute_byte_stride_0:Xr,_emscripten_bind_Metadata_Metadata_0:Jn,_emscripten_bind_AttributeQuantizationTransform_min_value_1:uq,_emscripten_bind_Decoder_Decoder_0:Nr,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Zp,_emscripten_bind_MetadataQuerier_GetIntEntry_2:jq,_emscripten_bind_Decoder___destroy___0:Rl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:ys,getTempRet0:Us,setThrew:Ir,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Xp,_emscripten_bind_AttributeTransformData___destroy___0:Io,_emscripten_bind_PointAttribute_num_components_0:Vr,___cxa_is_pointer_type:Gq,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:pq,_llvm_cttz_i32:ko,_emscripten_bind_AttributeQuantizationTransform___destroy___0:xq,stackAlloc:_q,_emscripten_bind_DracoInt32Array___destroy___0:lo,_emscripten_bind_Mesh_num_points_0:fs,___divdi3:Tl,_emscripten_bind_Mesh_Mesh_0:Or,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Br,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:gq,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:qp,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Yp,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:_p,_emscripten_bind_Mesh_num_attributes_0:lr,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Gr,_emscripten_bind_AttributeOctahedronTransform___destroy___0:xq,_llvm_bswap_i32:zr,_emscripten_bind_Decoder_GetAttributeMetadata_2:eq,_emscripten_bind_PointAttribute_unique_id_0:_r,establishStackSpace:bs,_emscripten_enum_draco_StatusCode_IO_ERROR:Es,_emscripten_bind_MetadataQuerier_HasIntEntry_2:iq,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Qp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:ss,_emscripten_bind_PointCloud_num_attributes_0:lr,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:dr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Is,_emscripten_bind_DracoInt32Array_size_0:vr,_emscripten_bind_Decoder_SkipAttributeTransform_1:tq,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:xs,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:dp,_emscripten_enum_draco_StatusCode_ERROR:Gs,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Gr,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:ws,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:ys,_emscripten_bind_VoidPtr___destroy___0:Hr,_memset:Gk,_emscripten_bind_PointAttribute_attribute_type_0:Sr,_emscripten_bind_MetadataQuerier___destroy___0:Hr,_emscripten_bind_DracoInt32Array_GetValue_1:er,_emscripten_bind_DecoderBuffer___destroy___0:Mq,_emscripten_bind_Decoder_GetAttribute_2:Cq,_emscripten_bind_PointCloud___destroy___0:xq,_i64Subtract:Ip,setTempRet0:Os,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:cr,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:As,_emscripten_bind_DracoFloat32Array___destroy___0:lo,_emscripten_bind_PointCloud_num_points_0:fs,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:xs,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Oq,___muldsi3:Pn,_emscripten_bind_Decoder_GetFaceFromMesh_3:Mp,_emscripten_bind_PointAttribute_data_type_0:$r,_emscripten_bind_DracoFloat32Array_size_0:vr,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:aq,_malloc:$a,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Lr,_emscripten_bind_PointAttribute_byte_offset_0:Yr,_emscripten_replace_memory:Ma,_memmove:_n,_emscripten_bind_PointCloud_PointCloud_0:rr,_emscripten_bind_Status_error_msg_0:Up,_emscripten_bind_Mesh___destroy___0:xq,_emscripten_bind_Metadata___destroy___0:Sq,_emscripten_bind_Status___destroy___0:Tp,___udivdi3:pr,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Gs,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Co,_emscripten_bind_AttributeQuantizationTransform_range_0:Fr,_bitshift64Shl:zp,_emscripten_bind_Decoder_GetAttributeId_2:Pp,_emscripten_enum_draco_StatusCode_OK:Is,_emscripten_bind_AttributeTransformData_transform_type_0:ns,_emscripten_bind_Status_code_0:ns,___muldi3:Wo,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:qq,___uremdi3:Mo,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:cr,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:vs,_i64Add:sq,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Wp,_emscripten_bind_DracoFloat32Array_GetValue_1:Pq,_emscripten_bind_PointAttribute_PointAttribute_0:Zq,_emscripten_bind_Decoder_GetMetadata_1:Tq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:xs,stackRestore:Ms,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:aq,_emscripten_bind_PointAttribute___destroy___0:al,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:us,stackAlloc:_q,stackSave:Vs,stackRestore:Ms,establishStackSpace:bs,setThrew:Ir,setTempRet0:Os,getTempRet0:Us,dynCall_iiii:Kq,dynCall_viiiii:Vp,dynCall_vi:gs,dynCall_vii:Mr,dynCall_iiiiiii:kp,dynCall_ii:Zr,dynCall_viii:Yq,dynCall_v:Ds,dynCall_viiiiii:up,dynCall_iii:yr,dynCall_viiii:zq}})
|
|
|
|
|
|
// EMSCRIPTEN_END_ASM
|
|
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];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_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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){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);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{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,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(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["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0}),alloc:(function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i<array.length;i++){view[offsetShifted+i]=array[i]}})};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function Status(){throw"cannot construct a Status, no constructor in IDL"}Status.prototype=Object.create(WrapperObject.prototype);Status.prototype.constructor=Status;Status.prototype.__class__=Status;Status.__cache__={};Module["Status"]=Status;Status.prototype["code"]=Status.prototype.code=(function(){var self=this.ptr;return _emscripten_bind_Status_code_0(self)});Status.prototype["ok"]=Status.prototype.ok=(function(){var self=this.ptr;return!!_emscripten_bind_Status_ok_0(self)});Status.prototype["error_msg"]=Status.prototype.error_msg=(function(){var self=this.ptr;return Pointer_stringify(_emscripten_bind_Status_error_msg_0(self))});Status.prototype["__destroy__"]=Status.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Status___destroy___0(self)});function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=(function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)});PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=(function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)});PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)});function AttributeOctahedronTransform(){this.ptr=_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0();getCache(AttributeOctahedronTransform)[this.ptr]=this}AttributeOctahedronTransform.prototype=Object.create(WrapperObject.prototype);AttributeOctahedronTransform.prototype.constructor=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype.__class__=AttributeOctahedronTransform;AttributeOctahedronTransform.__cache__={};Module["AttributeOctahedronTransform"]=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype["InitFromAttribute"]=AttributeOctahedronTransform.prototype.InitFromAttribute=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return!!_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1(self,arg0)});AttributeOctahedronTransform.prototype["quantization_bits"]=AttributeOctahedronTransform.prototype.quantization_bits=(function(){var self=this.ptr;return _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0(self)});AttributeOctahedronTransform.prototype["__destroy__"]=AttributeOctahedronTransform.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_AttributeOctahedronTransform___destroy___0(self)});function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)});PointAttribute.prototype["GetAttributeTransformData"]=PointAttribute.prototype.GetAttributeTransformData=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_PointAttribute_GetAttributeTransformData_0(self),AttributeTransformData)});PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)});PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)});PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)});PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=(function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)});PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)});PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)});PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)});PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)});function AttributeTransformData(){this.ptr=_emscripten_bind_AttributeTransformData_AttributeTransformData_0();getCache(AttributeTransformData)[this.ptr]=this}AttributeTransformData.prototype=Object.create(WrapperObject.prototype);AttributeTransformData.prototype.constructor=AttributeTransformData;AttributeTransformData.prototype.__class__=AttributeTransformData;AttributeTransformData.__cache__={};Module["AttributeTransformData"]=AttributeTransformData;AttributeTransformData.prototype["transform_type"]=AttributeTransformData.prototype.transform_type=(function(){var self=this.ptr;return _emscripten_bind_AttributeTransformData_transform_type_0(self)});AttributeTransformData.prototype["__destroy__"]=AttributeTransformData.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_AttributeTransformData___destroy___0(self)});function AttributeQuantizationTransform(){this.ptr=_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0();getCache(AttributeQuantizationTransform)[this.ptr]=this}AttributeQuantizationTransform.prototype=Object.create(WrapperObject.prototype);AttributeQuantizationTransform.prototype.constructor=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype.__class__=AttributeQuantizationTransform;AttributeQuantizationTransform.__cache__={};Module["AttributeQuantizationTransform"]=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype["InitFromAttribute"]=AttributeQuantizationTransform.prototype.InitFromAttribute=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return!!_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1(self,arg0)});AttributeQuantizationTransform.prototype["quantization_bits"]=AttributeQuantizationTransform.prototype.quantization_bits=(function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0(self)});AttributeQuantizationTransform.prototype["min_value"]=AttributeQuantizationTransform.prototype.min_value=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_AttributeQuantizationTransform_min_value_1(self,arg0)});AttributeQuantizationTransform.prototype["range"]=AttributeQuantizationTransform.prototype.range=(function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_range_0(self)});AttributeQuantizationTransform.prototype["__destroy__"]=AttributeQuantizationTransform.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_AttributeQuantizationTransform___destroy___0(self)});function MetadataQuerier(){this.ptr=_emscripten_bind_MetadataQuerier_MetadataQuerier_0();getCache(MetadataQuerier)[this.ptr]=this}MetadataQuerier.prototype=Object.create(WrapperObject.prototype);MetadataQuerier.prototype.constructor=MetadataQuerier;MetadataQuerier.prototype.__class__=MetadataQuerier;MetadataQuerier.__cache__={};Module["MetadataQuerier"]=MetadataQuerier;MetadataQuerier.prototype["HasIntEntry"]=MetadataQuerier.prototype.HasIntEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasIntEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["GetIntEntry"]=MetadataQuerier.prototype.GetIntEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return _emscripten_bind_MetadataQuerier_GetIntEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["HasDoubleEntry"]=MetadataQuerier.prototype.HasDoubleEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasDoubleEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["GetDoubleEntry"]=MetadataQuerier.prototype.GetDoubleEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return _emscripten_bind_MetadataQuerier_GetDoubleEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["HasStringEntry"]=MetadataQuerier.prototype.HasStringEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasStringEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["GetStringEntry"]=MetadataQuerier.prototype.GetStringEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return Pointer_stringify(_emscripten_bind_MetadataQuerier_GetStringEntry_2(self,arg0,arg1))});MetadataQuerier.prototype["__destroy__"]=MetadataQuerier.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_MetadataQuerier___destroy___0(self)});function DracoFloat32Array(){this.ptr=_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0();getCache(DracoFloat32Array)[this.ptr]=this}DracoFloat32Array.prototype=Object.create(WrapperObject.prototype);DracoFloat32Array.prototype.constructor=DracoFloat32Array;DracoFloat32Array.prototype.__class__=DracoFloat32Array;DracoFloat32Array.__cache__={};Module["DracoFloat32Array"]=DracoFloat32Array;DracoFloat32Array.prototype["GetValue"]=DracoFloat32Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoFloat32Array_GetValue_1(self,arg0)});DracoFloat32Array.prototype["size"]=DracoFloat32Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoFloat32Array_size_0(self)});DracoFloat32Array.prototype["__destroy__"]=DracoFloat32Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoFloat32Array___destroy___0(self)});function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)});function DecoderBuffer(){this.ptr=_emscripten_bind_DecoderBuffer_DecoderBuffer_0();getCache(DecoderBuffer)[this.ptr]=this}DecoderBuffer.prototype=Object.create(WrapperObject.prototype);DecoderBuffer.prototype.constructor=DecoderBuffer;DecoderBuffer.prototype.__class__=DecoderBuffer;DecoderBuffer.__cache__={};Module["DecoderBuffer"]=DecoderBuffer;DecoderBuffer.prototype["Init"]=DecoderBuffer.prototype.Init=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(typeof arg0=="object"){arg0=ensureInt8(arg0)}if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_DecoderBuffer_Init_2(self,arg0,arg1)});DecoderBuffer.prototype["__destroy__"]=DecoderBuffer.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DecoderBuffer___destroy___0(self)});function Decoder(){this.ptr=_emscripten_bind_Decoder_Decoder_0();getCache(Decoder)[this.ptr]=this}Decoder.prototype=Object.create(WrapperObject.prototype);Decoder.prototype.constructor=Decoder;Decoder.prototype.__class__=Decoder;Decoder.__cache__={};Module["Decoder"]=Decoder;Decoder.prototype["GetEncodedGeometryType"]=Decoder.prototype.GetEncodedGeometryType=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_Decoder_GetEncodedGeometryType_1(self,arg0)});Decoder.prototype["DecodeBufferToPointCloud"]=Decoder.prototype.DecodeBufferToPointCloud=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToPointCloud_2(self,arg0,arg1),Status)});Decoder.prototype["DecodeBufferToMesh"]=Decoder.prototype.DecodeBufferToMesh=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToMesh_2(self,arg0,arg1),Status)});Decoder.prototype["GetAttributeId"]=Decoder.prototype.GetAttributeId=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_Decoder_GetAttributeId_2(self,arg0,arg1)});Decoder.prototype["GetAttributeIdByName"]=Decoder.prototype.GetAttributeIdByName=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return _emscripten_bind_Decoder_GetAttributeIdByName_2(self,arg0,arg1)});Decoder.prototype["GetAttributeIdByMetadataEntry"]=Decoder.prototype.GetAttributeIdByMetadataEntry=(function(arg0,arg1,arg2){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);return _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttribute"]=Decoder.prototype.GetAttribute=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttribute_2(self,arg0,arg1),PointAttribute)});Decoder.prototype["GetAttributeByUniqueId"]=Decoder.prototype.GetAttributeByUniqueId=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeByUniqueId_2(self,arg0,arg1),PointAttribute)});Decoder.prototype["GetMetadata"]=Decoder.prototype.GetMetadata=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_Decoder_GetMetadata_1(self,arg0),Metadata)});Decoder.prototype["GetAttributeMetadata"]=Decoder.prototype.GetAttributeMetadata=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeMetadata_2(self,arg0,arg1),Metadata)});Decoder.prototype["GetFaceFromMesh"]=Decoder.prototype.GetFaceFromMesh=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetFaceFromMesh_3(self,arg0,arg1,arg2)});Decoder.prototype["GetTriangleStripsFromMesh"]=Decoder.prototype.GetTriangleStripsFromMesh=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2(self,arg0,arg1)});Decoder.prototype["GetAttributeFloat"]=Decoder.prototype.GetAttributeFloat=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloat_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeFloatForAllPoints"]=Decoder.prototype.GetAttributeFloatForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeIntForAllPoints"]=Decoder.prototype.GetAttributeIntForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["SkipAttributeTransform"]=Decoder.prototype.SkipAttributeTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Decoder_SkipAttributeTransform_1(self,arg0)});Decoder.prototype["__destroy__"]=Decoder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Decoder___destroy___0(self)});function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)});Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)});Mesh.prototype["num_points"]=Mesh.prototype.num_points=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)});Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)});function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)});function DracoInt32Array(){this.ptr=_emscripten_bind_DracoInt32Array_DracoInt32Array_0();getCache(DracoInt32Array)[this.ptr]=this}DracoInt32Array.prototype=Object.create(WrapperObject.prototype);DracoInt32Array.prototype.constructor=DracoInt32Array;DracoInt32Array.prototype.__class__=DracoInt32Array;DracoInt32Array.__cache__={};Module["DracoInt32Array"]=DracoInt32Array;DracoInt32Array.prototype["GetValue"]=DracoInt32Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoInt32Array_GetValue_1(self,arg0)});DracoInt32Array.prototype["size"]=DracoInt32Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoInt32Array_size_0(self)});DracoInt32Array.prototype["__destroy__"]=DracoInt32Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoInt32Array___destroy___0(self)});function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)});((function(){function setupEnums(){Module["OK"]=_emscripten_enum_draco_StatusCode_OK();Module["ERROR"]=_emscripten_enum_draco_StatusCode_ERROR();Module["IO_ERROR"]=_emscripten_enum_draco_StatusCode_IO_ERROR();Module["INVALID_PARAMETER"]=_emscripten_enum_draco_StatusCode_INVALID_PARAMETER();Module["UNSUPPORTED_VERSION"]=_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION();Module["UNKNOWN_VERSION"]=_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["ATTRIBUTE_INVALID_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM();Module["ATTRIBUTE_NO_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM();Module["ATTRIBUTE_QUANTIZATION_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM();Module["ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM();Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC()}if(Module["calledRun"])setupEnums();else addOnPreMain(setupEnums)}))();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()}
|
|
|
|
|
|
|
|
|
|
|
|
return DracoDecoderModule;
|
|
};
|
|
if (typeof module === "object" && module.exports) {
|
|
module['exports'] = DracoDecoderModule;
|
|
};
|