aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-11-18 14:57:07 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-11-18 14:57:07 +0100
commit863dbe1d7bf6ef45c940502ae2f7ed278a501b40 (patch)
tree79fce59d0abdb820f26e0373ac6ec8b14b721bfe
parent813bfed1e114957efd1c40021f11bae74960fa94 (diff)
downloadwallet-core-863dbe1d7bf6ef45c940502ae2f7ed278a501b40.tar.xz
change fractional base to 1e6
-rw-r--r--src/emscripten/taler-emscripten-lib.js21
-rw-r--r--src/types.ts2
2 files changed, 10 insertions, 13 deletions
diff --git a/src/emscripten/taler-emscripten-lib.js b/src/emscripten/taler-emscripten-lib.js
index 2bf0f03dc..1a203f8f7 100644
--- a/src/emscripten/taler-emscripten-lib.js
+++ b/src/emscripten/taler-emscripten-lib.js
@@ -1,23 +1,20 @@
-var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=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 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 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}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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 print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function 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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");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;assert((STACKTOP|0)<(STACK_MAX|0)|0)|0;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+(assert(!staticSealed),size)|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){assert(DYNAMICTOP_PTR);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};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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;assert(returnType!=="array",'Return type should not be "array".');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((!opts||!opts.async)&&typeof EmterpreterAsync==="object"){assert(!EmterpreterAsync.state,"cannot start async op with normal JS calling ccall")}if(opts&&opts.async)assert(!returnType,"async ccalls cannot return values");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};cwrap=function cwrap(ident,returnType,argTypes){return(function(){Runtime.warnOnce("NO_DYNAMIC_EXECUTION was set, "+"using slow cwrap implementation");return ccall(ident,returnType,argTypes,arguments)})}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[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}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){assert(ptr+i<TOTAL_MEMORY);t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;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)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){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=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-asm.stackSave()+allocSize)+" bytes available!")}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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}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){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];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_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval((function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;Module.printErr("still waiting on run dependencies:")}Module.printErr("dependency: "+dep)}if(shown){Module.printErr("(end of list)")}}),1e4)}}else{Module.printErr("warning: run dependency added without ID")}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{Module.printErr("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+73360;__ATINIT__.push({func:(function(){_GNUNET_util_cl_init()})},{func:(function(){_GNUNET_CRYPTO_random_init()})},{func:(function(){_gpg_err_init()})},{func:(function(){_TALER_gcrypt_init()})});allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,255,255,255,255,255,255,255,255,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,102,85,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,37,89,0,0,2,0,0,0,49,89,0,0,4,0,0,0,61,89,0,0,8,0,0,0,73,89,0,0,16,0,0,0,86,89,0,0,32,0,0,0,96,89,0,0,64,0,0,0,107,89,0,0,128,0,0,0,119,89,0,0,0,1,0,0,132,89,0,0,0,2,0,0,144,89,0,0,0,4,0,0,157,89,0,0,0,8,0,0,167,89,0,0,0,16,0,0,178,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,164,17,0,0,220,28,0,0,80,29,0,0,176,32,0,0,240,48,0,0,0,0,0,0,210,140,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,102,96,0,0,169,96,0,0,175,96,0,0,243,96,0,0,54,97,0,0,121,97,0,0,188,97,0,0,193,97,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,204,97,0,0,255,97,0,0,50,98,0,0,101,98,0,0,152,98,0,0,203,98,0,0,254,98,0,0,3,99,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,14,99,0,0,73,99,0,0,132,99,0,0,191,99,0,0,250,99,0,0,53,100,0,0,254,98,0,0,112,100,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,123,100,0,0,190,100,0,0,1,101,0,0,68,101,0,0,135,101,0,0,202,101,0,0,254,98,0,0,13,102,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,24,102,0,0,123,102,0,0,222,102,0,0,65,103,0,0,164,103,0,0,7,104,0,0,254,98,0,0,106,104,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,117,104,0,0,252,104,0,0,131,105,0,0,9,106,0,0,143,106,0,0,22,107,0,0,254,98,0,0,157,107,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,107,0,0,216,107,0,0,3,108,0,0,46,108,0,0,89,108,0,0,132,108,0,0,254,98,0,0,175,108,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,108,0,0,242,108,0,0,37,109,0,0,88,109,0,0,139,109,0,0,190,109,0,0,254,98,0,0,241,109,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,110,0,0,60,110,0,0,119,110,0,0,178,110,0,0,237,110,0,0,40,111,0,0,254,98,0,0,99,111,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,111,0,0,182,111,0,0,249,111,0,0,60,112,0,0,127,112,0,0,194,112,0,0,254,98,0,0,5,113,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,113,0,0,104,113,0,0,187,113,0,0,14,114,0,0,97,114,0,0,180,114,0,0,254,98,0,0,7,115,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,115,0,0,122,115,0,0,221,115,0,0,64,116,0,0,163,116,0,0,6,117,0,0,254,98,0,0,105,117,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,117,0,0,252,117,0,0,127,118,0,0,2,119,0,0,133,119,0,0,8,120,0,0,254,98,0,0,139,120,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,120,0,0,220,120,0,0,31,121,0,0,98,121,0,0,165,121,0,0,232,121,0,0,254,98,0,0,43,122,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,122,0,0,131,122,0,0,198,122,0,0,9,123,0,0,76,123,0,0,143,123,0,0,254,98,0,0,210,123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,123,0,0,42,124,0,0,109,124,0,0,176,124,0,0,76,123,0,0,243,124,0,0,254,98,0,0,54,125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,125,0,0,142,125,0,0,209,125,0,0,20,126,0,0,87,126,0,0,154,126,0,0,254,98,0,0,221,126,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,126,0,0,220,120,0,0,110,127,0,0,241,127,0,0,116,128,0,0,247,128,0,0,254,98,0,0,122,129,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,129,0,0,13,130,0,0,144,130,0,0,19,131,0,0,150,131,0,0,25,132,0,0,254,98,0,0,156,132,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,132,0,0,47,133,0,0,178,133,0,0,53,134,0,0,184,134,0,0,59,135,0,0,254,98,0,0,190,135,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,135,0,0,87,126,0,0,220,120,0,0,11,136,0,0,78,136,0,0,145,136,0,0,254,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,140,0,0,212,136,0,0,193,97,0,0,235,136,0,0,193,97,0,0,255,136,0,0,193,97,0,0,10,137,0,0,193,97,0,0,20,137,0,0,3,99,0,0,29,137,0,0,3,99,0,0,39,137,0,0,3,99,0,0,52,137,0,0,112,100,0,0,61,137,0,0,112,100,0,0,81,137,0,0,112,100,0,0,92,137,0,0,112,100,0,0,102,137,0,0,13,102,0,0,111,137,0,0,13,102,0,0,121,137,0,0,13,102,0,0,134,137,0,0,106,104,0,0,143,137,0,0,106,104,0,0,153,137,0,0,106,104,0,0,166,137,0,0,157,107,0,0,175,137,0,0,175,108,0,0,196,137,0,0,241,109,0,0,217,137,0,0,99,111,0,0,238,137,0,0,5,113,0,0,3,138,0,0,7,115,0,0,24,138,0,0,105,117,0,0,46,138,0,0,139,120,0,0,68,138,0,0,43,122,0,0,85,138,0,0,210,123,0,0,102,138,0,0,54,125,0,0,119,138,0,0,43,122,0,0,136,138,0,0,54,125,0,0,160,138,0,0,43,122,0,0,184,138,0,0,54,125,0,0,201,138,0,0,122,129,0,0,218,138,0,0,156,132,0,0,238,138,0,0,190,135,0,0,2,139,0,0,0,0,0,0,0,0,0,0,110,141,0,0,124,141,0,0,153,141,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,158,141,0,0,172,141,0,0,181,141,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,202,141,0,0,217,141,0,0,12,142,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,33,142,0,0,48,142,0,0,99,142,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,125,142,0,0,141,142,0,0,196,142,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,72,143,0,0,89,143,0,0,196,142,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,141,0,0,124,141,0,0,153,141,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,158,141,0,0,172,141,0,0,181,141,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,202,141,0,0,217,141,0,0,12,142,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,33,142,0,0,48,142,0,0,99,142,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,125,142,0,0,141,142,0,0,196,142,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,72,143,0,0,89,143,0,0,196,142,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,141,0,0,124,141,0,0,153,141,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,158,141,0,0,172,141,0,0,181,141,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,202,141,0,0,217,141,0,0,12,142,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,33,142,0,0,48,142,0,0,99,142,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,125,142,0,0,141,142,0,0,196,142,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,72,143,0,0,89,143,0,0,196,142,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,141,0,0,124,141,0,0,153,141,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,158,141,0,0,172,141,0,0,181,141,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,202,141,0,0,217,141,0,0,12,142,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,33,142,0,0,48,142,0,0,99,142,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,125,142,0,0,141,142,0,0,196,142,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,72,143,0,0,89,143,0,0,196,142,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,30,0,0,240,31,0,0,180,30,0,0,48,32,0,0,112,32,0,0,196,29,0,0,0,0,0,0,156,2,0,0,247,147,0,0,2,0,0,0,252,147,0,0,1,0,0,0,0,148,0,0,8,0,0,0,7,148,0,0,3,0,0,0,17,148,0,0,3,0,0,0,24,148,0,0,9,0,0,0,31,148,0,0,10,0,0,0,38,148,0,0,11,0,0,0,45,148,0,0,5,0,0,0,49,148,0,0,45,1,0,0,53,148,0,0,6,0,0,0,59,148,0,0,7,0,0,0,0,0,0,0,0,0,0,0,92,50,0,0,4,30,0,0,0,0,0,0,7,0,0,0,2,0,0,0,187,148,0,0,228,17,0,0,244,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,3,151,0,0,12,151,0,0,19,151,0,0,0,0,0,0,167,150,0,0,1,0,0,0,190,150,0,0,3,0,0,0,213,150,0,0,5,0,0,0,236,150,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,8,0,0,0,2,0,0,0,27,151,0,0,28,29,0,0,40,29,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,130,151,0,0,142,151,0,0,0,0,0,0,34,151,0,0,1,0,0,0,58,151,0,0,3,0,0,0,82,151,0,0,5,0,0,0,106,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,150,151,0,0,144,29,0,0,156,29,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,253,151,0,0,9,152,0,0,0,0,0,0,157,151,0,0,1,0,0,0,181,151,0,0,3,0,0,0,205,151,0,0,5,0,0,0,229,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,17,152,0,0,27,152,0,0,15,0,0,0,248,29,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,184,0,0,0,0,0,0,0,42,152,0,0,57,152,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,189,153,0,0,88,30,0,0,193,153,0,0,196,153,0,0,203,153,0,0,205,153,0,0,207,153,0,0,1,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,255,159,0,0,27,165,0,0,39,165,0,0,0,0,0,0,2,0,0,0,2,0,0,0,64,165,0,0,69,165,0,0,15,0,0,0,156,30,0,0,20,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,184,0,0,0,10,0,0,0,147,165,0,0,168,165,0,0,186,165,0,0,200,165,0,0,214,165,0,0,0,0,0,0,11,0,0,0,2,0,0,0,232,165,0,0,239,165,0,0,19,0,0,0,232,30,0,0,28,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,245,166,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,8,0,0,0,2,0,0,0,12,167,0,0,19,167,0,0,19,0,0,0,36,32,0,0,32,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,38,167,0,0,61,167,0,0,0,0,0,0,10,0,0,0,2,0,0,0,83,167,0,0,90,167,0,0,19,0,0,0,100,32,0,0,64,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,104,169,0,0,127,169,0,0,0,0,0,0,9,0,0,0,2,0,0,0,149,169,0,0,156,169,0,0,19,0,0,0,164,32,0,0,48,0,0,0,6,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,175,169,0,0,198,169,0,0,0,0,0,0,10,0,0,0,0,0,0,0,220,169,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116,155,155,116,183,151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60,138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59,186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,211,177,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,46,184,0,0,176,50,0,0,50,184,0,0,58,184,0,0,67,184,0,0,70,184,0,0,50,184,0,0,3,0,0,0,7,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,8,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,9,0,0,0,244,194,0,0,248,194,0,0,254,194,0,0,3,195,0,0,9,195,0,0,0,0,0,0,16,0,0,0,7,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,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,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,136,26,1,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,176,61,0,0,40,62,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,0,0,0,144,30,1,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,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,31,0,0,0,60,64,0,0,3,0,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,42,32,37,115,0,37,115,32,37,115,32,37,115,32,37,115,0,69,82,82,79,82,0,87,65,82,78,73,78,71,0,77,69,83,83,65,71,69,0,73,78,70,79,0,68,69,66,85,71,0,78,79,78,69,0,73,78,86,65,76,73,68,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,99,114,121,112,116,111,95,101,99,99,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,115,97,95,107,101,121,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,95,101,100,100,115,97,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,107,100,102,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,107,100,102,95,109,111,100,95,109,112,105,0,99,114,121,112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116,32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,98,108,111,99,107,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,110,117,109,101,114,105,99,95,109,112,105,95,97,108,108,111,99,95,110,95,112,114,105,110,116,0,66,108,105,110,100,105,110,103,32,75,68,70,32,101,120,116,114,97,116,111,114,32,72,77,65,67,32,107,101,121,0,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,114,105,118,101,0,66,108,105,110,100,105,110,103,32,75,68,70,0,114,115,97,95,102,117,108,108,95,100,111,109,97,105,110,95,104,97,115,104,0,82,83,65,45,70,68,65,32,70,84,112,115,87,33,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,109,112,105,95,116,111,95,115,101,120,112,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,115,116,97,110,100,97,114,100,0,102,105,112,115,0,115,121,115,116,101,109,0,112,114,105,110,116,95,99,111,110,102,105,103,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,37,48,50,88,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,87,97,114,110,105,110,103,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,109,101,109,111,114,121,33,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,105,115,32,110,111,116,32,108,111,99,107,101,100,32,119,104,105,108,101,32,105,110,32,70,73,80,83,32,109,111,100,101,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,80,111,119,101,114,45,79,110,0,73,110,105,116,0,83,101,108,102,45,84,101,115,116,0,79,112,101,114,97,116,105,111,110,97,108,0,69,114,114,111,114,0,70,97,116,97,108,45,69,114,114,111,114,0,83,104,117,116,100,111,119,110,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,102,97,116,97,108,32,0,44,32,102,117,110,99,116,105,111,110,32,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,78,73,83,84,32,80,45,49,57,50,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,78,73,83,84,32,80,45,50,50,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,78,73,83,84,32,80,45,50,53,54,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,78,73,83,84,32,80,45,51,56,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,78,73,83,84,32,80,45,53,50,49,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99,48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48,50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50,57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,115,101,99,112,50,53,54,107,49,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,104,0,100,0,46,120,0,46,121,0,46,122,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,119,97,114,100,115,0,83,116,97,110,100,97,114,100,0,69,100,50,53,53,49,57,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,104,109,97,99,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,111,105,100,46,0,79,73,68,46,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,79,111,112,115,58,32,109,100,32,100,101,98,117,103,32,97,108,114,101,97,100,121,32,115,116,97,114,116,101,100,10,0,100,98,103,109,100,45,37,48,53,100,46,37,46,49,48,115,0,119,0,109,100,32,100,101,98,117,103,58,32,99,97,110,39,116,32,111,112,101,110,32,37,115,10,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,112,114,105,109,101,103,101,110,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,99,105,112,104,101,114,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,99,102,98,0,111,102,98,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,65,69,83,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,65,69,83,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,99,111,110,118,101,114,116,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51,100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101,54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,101,110,99,114,121,112,116,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,118,97,108,117,101,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,109,105,115,109,97,116,99,104,0,101,110,99,45,118,97,108,0,114,115,97,0,40,100,97,116,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,114,115,97,46,99,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,115,104,111,114,116,32,115,116,114,105,110,103,0,97,98,99,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,108,111,110,103,32,115,116,114,105,110,103,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,100,105,103,101,115,116,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,32,50,48,49,54,45,49,48,45,49,51,84,50,49,58,52,57,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,102,108,97,103,115,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,47,113,0,113,0,99,117,114,118,101,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,108,111,119,45,108,101,118,101,108,0,112,117,98,107,101,121,0,112,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,43,69,100,68,83,65,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,71,0,81,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,87,65,82,78,73,78,71,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,114,97,110,100,111,109,32,110,117,109,98,101,114,32,103,101,110,101,114,97,116,111,114,33,33,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,109,105,120,95,112,111,111,108,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,114,101,97,100,95,112,111,111,108,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,100,111,95,102,97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,114,101,97,100,95,115,101,101,100,95,102,105,108,101,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);allocate([58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,95,103,99,114,121,95,114,110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116,32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,108,101,110,103,116,104,32,61,61,32,49,54,0,101,110,99,114,121,112,116,95,97,101,115,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,120,57,51,49,95,114,101,115,101,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,115,101,101,100,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,47,100,101,118,47,114,97,110,100,111,109,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,33,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,101,109,112,116,121,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,95,102,108,117,115,104,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51200);allocate([32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,49,46,54,46,49,0,108,105,98,103,99,114,121,112,116,32,118,101,114,115,105,111,110,32,109,105,115,109,97,116,99,104,10,0,70,97,116,97,108,32,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,99,114,121,112,116,111,46,99,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,116,97,108,101,114,45,99,111,105,110,45,100,101,114,105,118,97,116,105,111,110,0,84,65,76,69,82,95,115,101,116,117,112,95,102,114,101,115,104,95,99,111,105,110,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,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,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,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,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,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,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,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,255,255,1,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,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,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,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,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,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,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,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,46,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,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,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,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,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,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,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,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,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,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,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,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,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61440);var tempDoublePtr=STATICTOP;STATICTOP+=16;assert(tempDoublePtr%8==0);var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else Module.printErr("failed to set errno from JS");return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,"canOwn must imply no weird position inside the file");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)this.stack=demangleAll(this.stack)};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Subtract"]=_i64Subtract;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_destroy(){}Module["_memset"]=_memset;function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}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;function _pthread_mutex_init(){}function ___lock(){}function ___unlock(){}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 _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_memmove"]=_memmove;function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;Module["_sbrk"]=_sbrk;Module["_bitshift64Shl"]=_bitshift64Shl;function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}Module["___uremdi3"]=___uremdi3;function ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_malloc(len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall201(){return ___syscall202.apply(null,arguments)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function ___syscall191(which,varargs){SYSCALLS.varargs=varargs;try{var resource=SYSCALLS.get(),rlim=SYSCALLS.get();HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;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;assert(offset_high===0);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.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___remdi3"]=___remdi3;function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);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;assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");function nullFunc_iiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"abortStackOverflow":abortStackOverflow,"nullFunc_iiii":nullFunc_iiii,"nullFunc_viiiii":nullFunc_viiiii,"nullFunc_vi":nullFunc_vi,"nullFunc_vii":nullFunc_vii,"nullFunc_ii":nullFunc_ii,"nullFunc_viii":nullFunc_viii,"nullFunc_v":nullFunc_v,"nullFunc_iiiii":nullFunc_iiiii,"nullFunc_viiiiii":nullFunc_viiiiii,"nullFunc_iii":nullFunc_iii,"nullFunc_viiii":nullFunc_viiii,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"_pthread_mutex_init":_pthread_mutex_init,"___syscall64":___syscall64,"_abort":_abort,"___syscall202":___syscall202,"_pthread_cleanup_push":_pthread_cleanup_push,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"___setErrNo":___setErrNo,"___syscall192":___syscall192,"___syscall191":___syscall191,"___syscall197":___syscall197,"___syscall195":___syscall195,"___syscall194":___syscall194,"___syscall199":___syscall199,"_sysconf":_sysconf,"_strftime":_strftime,"_clock":_clock,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"___syscall75":___syscall75,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_llvm_stacksave":_llvm_stacksave,"___syscall77":___syscall77,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"___syscall3":___syscall3,"___syscall340":___syscall340,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"_time":_time,"_gettimeofday":_gettimeofday,"___syscall201":___syscall201,"_atexit":_atexit,"___syscall140":___syscall140,"_localtime":_localtime,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=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 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 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}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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 print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function 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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");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;assert((STACKTOP|0)<(STACK_MAX|0)|0)|0;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+(assert(!staticSealed),size)|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){assert(DYNAMICTOP_PTR);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};Module["Runtime"]=Runtime;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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){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;assert(returnType!=="array",'Return type should not be "array".');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((!opts||!opts.async)&&typeof EmterpreterAsync==="object"){assert(!EmterpreterAsync.state,"cannot start async op with normal JS calling ccall")}if(opts&&opts.async)assert(!returnType,"async ccalls cannot return values");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};cwrap=function cwrap(ident,returnType,argTypes){return(function(){Runtime.warnOnce("NO_DYNAMIC_EXECUTION was set, "+"using slow cwrap implementation");return ccall(ident,returnType,argTypes,arguments)})}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[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}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){assert(ptr+i<TOTAL_MEMORY);t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;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)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){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=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-asm.stackSave()+allocSize)+" bytes available!")}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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var WASM_PAGE_SIZE=64*1024;var totalMemory=WASM_PAGE_SIZE;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}assert(buffer.byteLength===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){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];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;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval((function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;Module.printErr("still waiting on run dependencies:")}Module.printErr("dependency: "+dep)}if(shown){Module.printErr("(end of list)")}}),1e4)}}else{Module.printErr("warning: run dependency added without ID")}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{Module.printErr("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+72752;__ATINIT__.push({func:(function(){_GNUNET_util_cl_init()})},{func:(function(){_GNUNET_CRYPTO_random_init()})},{func:(function(){_gpg_err_init()})},{func:(function(){_TALER_gcrypt_init()})});allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,245,87,0,0,2,0,0,0,1,88,0,0,4,0,0,0,13,88,0,0,8,0,0,0,25,88,0,0,16,0,0,0,38,88,0,0,32,0,0,0,48,88,0,0,64,0,0,0,59,88,0,0,128,0,0,0,71,88,0,0,0,1,0,0,84,88,0,0,0,2,0,0,96,88,0,0,0,4,0,0,109,88,0,0,0,8,0,0,119,88,0,0,0,16,0,0,130,88,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,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,7,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,120,17,0,0,176,28,0,0,36,29,0,0,132,31,0,0,196,47,0,0,0,0,0,0,67,139,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,224,94,0,0,35,95,0,0,41,95,0,0,109,95,0,0,176,95,0,0,243,95,0,0,54,96,0,0,59,96,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,70,96,0,0,121,96,0,0,172,96,0,0,223,96,0,0,18,97,0,0,69,97,0,0,120,97,0,0,125,97,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,136,97,0,0,195,97,0,0,254,97,0,0,57,98,0,0,116,98,0,0,175,98,0,0,120,97,0,0,234,98,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,245,98,0,0,56,99,0,0,123,99,0,0,190,99,0,0,1,100,0,0,68,100,0,0,120,97,0,0,135,100,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,146,100,0,0,245,100,0,0,88,101,0,0,187,101,0,0,30,102,0,0,129,102,0,0,120,97,0,0,228,102,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,239,102,0,0,118,103,0,0,253,103,0,0,131,104,0,0,9,105,0,0,144,105,0,0,120,97,0,0,23,106,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,106,0,0,82,106,0,0,125,106,0,0,168,106,0,0,211,106,0,0,254,106,0,0,120,97,0,0,41,107,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,107,0,0,108,107,0,0,159,107,0,0,210,107,0,0,5,108,0,0,56,108,0,0,120,97,0,0,107,108,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,108,0,0,182,108,0,0,241,108,0,0,44,109,0,0,103,109,0,0,162,109,0,0,120,97,0,0,221,109,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,109,0,0,48,110,0,0,115,110,0,0,182,110,0,0,249,110,0,0,60,111,0,0,120,97,0,0,127,111,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,111,0,0,226,111,0,0,53,112,0,0,136,112,0,0,219,112,0,0,46,113,0,0,120,97,0,0,129,113,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,113,0,0,244,113,0,0,87,114,0,0,186,114,0,0,29,115,0,0,128,115,0,0,120,97,0,0,227,115,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,115,0,0,118,116,0,0,249,116,0,0,124,117,0,0,255,117,0,0,130,118,0,0,120,97,0,0,5,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,119,0,0,86,119,0,0,153,119,0,0,220,119,0,0,31,120,0,0,98,120,0,0,120,97,0,0,165,120,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,120,0,0,253,120,0,0,64,121,0,0,131,121,0,0,198,121,0,0,9,122,0,0,120,97,0,0,76,122,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,122,0,0,164,122,0,0,231,122,0,0,42,123,0,0,198,121,0,0,109,123,0,0,120,97,0,0,176,123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,123,0,0,8,124,0,0,75,124,0,0,142,124,0,0,209,124,0,0,20,125,0,0,120,97,0,0,87,125,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,125,0,0,86,119,0,0,232,125,0,0,107,126,0,0,238,126,0,0,113,127,0,0,120,97,0,0,244,127,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,128,0,0,135,128,0,0,10,129,0,0,141,129,0,0,16,130,0,0,147,130,0,0,120,97,0,0,22,131,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,131,0,0,169,131,0,0,44,132,0,0,175,132,0,0,50,133,0,0,181,133,0,0,120,97,0,0,56,134,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,134,0,0,209,124,0,0,86,119,0,0,133,134,0,0,200,134,0,0,11,135,0,0,120,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,139,0,0,78,135,0,0,59,96,0,0,101,135,0,0,59,96,0,0,121,135,0,0,59,96,0,0,132,135,0,0,59,96,0,0,142,135,0,0,125,97,0,0,151,135,0,0,125,97,0,0,161,135,0,0,125,97,0,0,174,135,0,0,234,98,0,0,183,135,0,0,234,98,0,0,203,135,0,0,234,98,0,0,214,135,0,0,234,98,0,0,224,135,0,0,135,100,0,0,233,135,0,0,135,100,0,0,243,135,0,0,135,100,0,0,0,136,0,0,228,102,0,0,9,136,0,0,228,102,0,0,19,136,0,0,228,102,0,0,32,136,0,0,23,106,0,0,41,136,0,0,41,107,0,0,62,136,0,0,107,108,0,0,83,136,0,0,221,109,0,0,104,136,0,0,127,111,0,0,125,136,0,0,129,113,0,0,146,136,0,0,227,115,0,0,168,136,0,0,5,119,0,0,190,136,0,0,165,120,0,0,207,136,0,0,76,122,0,0,224,136,0,0,176,123,0,0,241,136,0,0,165,120,0,0,2,137,0,0,176,123,0,0,26,137,0,0,165,120,0,0,50,137,0,0,176,123,0,0,67,137,0,0,244,127,0,0,84,137,0,0,22,131,0,0,104,137,0,0,56,134,0,0,124,137,0,0,0,0,0,0,0,0,0,0,179,140,0,0,193,140,0,0,222,140,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,227,140,0,0,241,140,0,0,250,140,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,15,141,0,0,30,141,0,0,81,141,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,102,141,0,0,117,141,0,0,168,141,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,194,141,0,0,210,141,0,0,9,142,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,141,142,0,0,158,142,0,0,9,142,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,140,0,0,193,140,0,0,222,140,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,227,140,0,0,241,140,0,0,250,140,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,15,141,0,0,30,141,0,0,81,141,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,102,141,0,0,117,141,0,0,168,141,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,194,141,0,0,210,141,0,0,9,142,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,141,142,0,0,158,142,0,0,9,142,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,140,0,0,193,140,0,0,222,140,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,227,140,0,0,241,140,0,0,250,140,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,15,141,0,0,30,141,0,0,81,141,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,102,141,0,0,117,141,0,0,168,141,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,194,141,0,0,210,141,0,0,9,142,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,141,142,0,0,158,142,0,0,9,142,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,140,0,0,193,140,0,0,222,140,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,227,140,0,0,241,140,0,0,250,140,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,15,141,0,0,30,141,0,0,81,141,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,102,141,0,0,117,141,0,0,168,141,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,194,141,0,0,210,141,0,0,9,142,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,141,142,0,0,158,142,0,0,9,142,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,30,0,0,196,30,0,0,136,30,0,0,4,31,0,0,68,31,0,0,152,29,0,0,0,0,0,0,37,146,0,0,2,0,0,0,42,146,0,0,1,0,0,0,46,146,0,0,8,0,0,0,53,146,0,0,3,0,0,0,63,146,0,0,3,0,0,0,70,146,0,0,9,0,0,0,77,146,0,0,10,0,0,0,84,146,0,0,11,0,0,0,91,146,0,0,5,0,0,0,95,146,0,0,45,1,0,0,99,146,0,0,6,0,0,0,105,146,0,0,7,0,0,0,0,0,0,0,0,0,0,0,48,49,0,0,216,29,0,0,0,0,0,0,7,0,0,0,2,0,0,0,233,146,0,0,184,17,0,0,200,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,59,149,0,0,68,149,0,0,75,149,0,0,0,0,0,0,223,148,0,0,1,0,0,0,246,148,0,0,3,0,0,0,13,149,0,0,5,0,0,0,36,149,0,0,2,0,0,0,0,0,0,0,0,0,0,0,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,8,0,0,0,2,0,0,0,83,149,0,0,240,28,0,0,252,28,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,186,149,0,0,198,149,0,0,0,0,0,0,90,149,0,0,1,0,0,0,114,149,0,0,3,0,0,0,138,149,0,0,5,0,0,0,162,149,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,206,149,0,0,100,29,0,0,112,29,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,53,150,0,0,65,150,0,0,0,0,0,0,213,149,0,0,1,0,0,0,237,149,0,0,3,0,0,0,5,150,0,0,5,0,0,0,29,150,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,73,150,0,0,83,150,0,0,15,0,0,0,204,29,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,184,0,0,0,0,0,0,0,98,150,0,0,113,150,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,245,151,0,0,44,30,0,0,249,151,0,0,252,151,0,0,3,152,0,0,5,152,0,0,7,152,0,0,1,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,89,158,0,0,90,163,0,0,102,163,0,0,0,0,0,0,2,0,0,0,2,0,0,0,127,163,0,0,132,163,0,0,15,0,0,0,112,30,0,0,20,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,184,0,0,0,10,0,0,0,210,163,0,0,231,163,0,0,249,163,0,0,7,164,0,0,21,164,0,0,0,0,0,0,11,0,0,0,2,0,0,0,39,164,0,0,46,164,0,0,19,0,0,0,188,30,0,0,28,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,52,165,0,0,0,0,0,0,8,0,0,0,2,0,0,0,75,165,0,0,82,165,0,0,19,0,0,0,248,30,0,0,32,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,101,165,0,0,124,165,0,0,0,0,0,0,10,0,0,0,2,0,0,0,146,165,0,0,153,165,0,0,19,0,0,0,56,31,0,0,64,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,167,167,0,0,190,167,0,0,0,0,0,0,9,0,0,0,2,0,0,0,212,167,0,0,219,167,0,0,19,0,0,0,120,31,0,0,48,0,0,0,6,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,238,167,0,0,5,168,0,0,0,0,0,0,10,0,0,0,0,0,0,0,27,168,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60,121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116,155,155,116,183,151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59,186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,18,176,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,109,182,0,0,132,49,0,0,113,182,0,0,121,182,0,0,130,182,0,0,133,182,0,0,113,182,0,0,3,0,0,0,7,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,8,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,9,0,0,0,34,193,0,0,38,193,0,0,44,193,0,0,49,193,0,0,55,193,0,0,0,0,0,0,16,0,0,0,7,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,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,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,28,24,1,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,128,60,0,0,248,60,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,0,0,0,36,28,1,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,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,31,0,0,0,12,63,0,0,3,0,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,42,32,37,115,0,37,115,32,37,115,32,37,115,32,37,115,0,78,79,78,69,0,73,78,86,65,76,73,68,0,69,82,82,79,82,0,87,65,82,78,73,78,71,0,77,69,83,83,65,71,69,0,73,78,70,79,0,68,69,66,85,71,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,99,114,121,112,116,111,95,101,99,99,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,115,97,95,107,101,121,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,95,101,100,100,115,97,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,107,100,102,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,107,100,102,95,109,111,100,95,109,112,105,0,99,114,121,112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,98,108,111,99,107,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,110,117,109,101,114,105,99,95,109,112,105,95,97,108,108,111,99,95,110,95,112,114,105,110,116,0,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,114,105,118,101,0,66,108,105,110,100,105,110,103,32,75,68,70,32,101,120,116,114,97,116,111,114,32,72,77,65,67,32,107,101,121,0,66,108,105,110,100,105,110,103,32,75,68,70,0,114,115,97,95,102,117,108,108,95,100,111,109,97,105,110,95,104,97,115,104,0,82,83,65,45,70,68,65,32,70,84,112,115,87,33,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,109,112,105,95,116,111,95,115,101,120,112,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,112,114,105,110,116,95,99,111,110,102,105,103,0,115,121,115,116,101,109,0,102,105,112,115,0,115,116,97,110,100,97,114,100,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,37,48,50,88,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,83,104,117,116,100,111,119,110,0,70,97,116,97,108,45,69,114,114,111,114,0,69,114,114,111,114,0,79,112,101,114,97,116,105,111,110,97,108,0,83,101,108,102,45,84,101,115,116,0,73,110,105,116,0,80,111,119,101,114,45,79,110,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,102,97,116,97,108,32,0,44,32,102,117,110,99,116,105,111,110,32,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,78,73,83,84,32,80,45,49,57,50,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,78,73,83,84,32,80,45,50,50,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,78,73,83,84,32,80,45,50,53,54,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,78,73,83,84,32,80,45,51,56,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,78,73,83,84,32,80,45,53,50,49,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50,0,48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99,48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48,50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,115,101,99,112,50,53,54,107,49,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,104,0,100,0,46,120,0,46,121,0,46,122,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,69,100,119,97,114,100,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,50,53,53,49,57,0,83,116,97,110,100,97,114,100,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,104,109,97,99,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,111,105,100,46,0,79,73,68,46,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,112,114,105,109,101,103,101,110,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,108,111,119,45,108,101,118,101,108,0,99,102,98,0,111,102,98,0,99,105,112,104,101,114,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,65,69,83,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,65,69,83,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51,100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101,54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,101,110,99,45,118,97,108,0,114,115,97,0,118,97,108,117,101,0,109,105,115,109,97,116,99,104,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,99,111,110,118,101,114,116,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,101,110,99,114,121,112,116,0,112,117,98,107,101,121,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,114,115,97,46,99,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,97,98,99,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,115,104,111,114,116,32,115,116,114,105,110,103,0,108,111,110,103,32,115,116,114,105,110,103,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,100,105,103,101,115,116,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,32,50,48,49,54,45,49,49,45,49,51,84,49,54,58,52,51,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,102,108,97,103,115,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,47,113,0,113,0,99,117,114,118,101,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,112,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,43,69,100,68,83,65,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,81,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,71,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,109,105,120,95,112,111,111,108,0,114,101,97,100,95,112,111,111,108,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,100,111,95,102,97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39,58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,95,103,99,114,121,95,114,110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116,32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);allocate([101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,120,57,51,49,95,114,101,115,101,101,100,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,47,100,101,118,47,114,97,110,100,111,109,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,33,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,101,109,112,116,121,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,95,102,108,117,115,104,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,49,46,54,46,49,0,108,105,98,103,99,114,121,112,116,32,118,101,114,115,105,111,110,32,109,105,115,109,97,116,99,104,10,0,70,97,116,97,108,32,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,99,114,121,112,116,111,46,99,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,116,97,108,101,114,45,99,111,105,110,45,100,101,114,105,118,97,116,105,111,110,0,84,65,76,69,82,95,115,101,116,117,112,95,102,114,101,115,104,95,99,111,105,110,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51200);allocate([17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,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,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,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,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,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,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,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,255,255,1,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,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,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,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,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,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,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,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,46,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,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,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,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,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,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,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,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,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,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,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,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,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61440);var tempDoublePtr=STATICTOP;STATICTOP+=16;assert(tempDoublePtr%8==0);var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else Module.printErr("failed to set errno from JS");return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,"canOwn must imply no weird position inside the file");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)this.stack=demangleAll(this.stack)};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Subtract"]=_i64Subtract;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_destroy(){}Module["_memset"]=_memset;function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}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;function _pthread_mutex_init(){}function ___lock(){}function ___unlock(){}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 _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_memmove"]=_memmove;function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;Module["_sbrk"]=_sbrk;Module["_bitshift64Shl"]=_bitshift64Shl;function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}Module["___uremdi3"]=___uremdi3;function ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_malloc(len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall201(){return ___syscall202.apply(null,arguments)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function ___syscall191(which,varargs){SYSCALLS.varargs=varargs;try{var resource=SYSCALLS.get(),rlim=SYSCALLS.get();HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_pthread_self"]=_pthread_self;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;assert(offset_high===0);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.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___remdi3"]=___remdi3;function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);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;assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");function nullFunc_iiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"abortStackOverflow":abortStackOverflow,"nullFunc_iiii":nullFunc_iiii,"nullFunc_viiiii":nullFunc_viiiii,"nullFunc_vi":nullFunc_vi,"nullFunc_vii":nullFunc_vii,"nullFunc_ii":nullFunc_ii,"nullFunc_viii":nullFunc_viii,"nullFunc_v":nullFunc_v,"nullFunc_iiiii":nullFunc_iiiii,"nullFunc_viiiiii":nullFunc_viiiiii,"nullFunc_iii":nullFunc_iii,"nullFunc_viiii":nullFunc_viiii,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"_pthread_mutex_init":_pthread_mutex_init,"___syscall64":___syscall64,"_abort":_abort,"___syscall202":___syscall202,"_pthread_cleanup_push":_pthread_cleanup_push,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"___setErrNo":___setErrNo,"___syscall192":___syscall192,"___syscall191":___syscall191,"___syscall197":___syscall197,"___syscall195":___syscall195,"___syscall194":___syscall194,"___syscall199":___syscall199,"_sysconf":_sysconf,"_strftime":_strftime,"_clock":_clock,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"___syscall75":___syscall75,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_llvm_stacksave":_llvm_stacksave,"___syscall77":___syscall77,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"___syscall3":___syscall3,"___syscall340":___syscall340,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"_time":_time,"_gettimeofday":_gettimeofday,"___syscall201":___syscall201,"_atexit":_atexit,"___syscall140":___syscall140,"_localtime":_localtime,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.DYNAMICTOP_PTR|0;var l=env.tempDoublePtr|0;var m=env.ABORT|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.abortStackOverflow;var aa=env.nullFunc_iiii;var ba=env.nullFunc_viiiii;var ca=env.nullFunc_vi;var da=env.nullFunc_vii;var ea=env.nullFunc_ii;var fa=env.nullFunc_viii;var ga=env.nullFunc_v;var ha=env.nullFunc_iiiii;var ia=env.nullFunc_viiiiii;var ja=env.nullFunc_iii;var ka=env.nullFunc_viiii;var la=env.invoke_iiii;var ma=env.invoke_viiiii;var na=env.invoke_vi;var oa=env.invoke_vii;var pa=env.invoke_ii;var qa=env.invoke_viii;var ra=env.invoke_v;var sa=env.invoke_iiiii;var ta=env.invoke_viiiiii;var ua=env.invoke_iii;var va=env.invoke_viiii;var wa=env._pthread_cleanup_pop;var xa=env.___syscall221;var ya=env._pthread_mutex_init;var za=env.___syscall64;var Aa=env._abort;var Ba=env.___syscall202;var Ca=env._pthread_cleanup_push;var Da=env.___syscall20;var Ea=env._llvm_stackrestore;var Fa=env.___assert_fail;var Ga=env.___buildEnvironment;var Ha=env.__addDays;var Ia=env._localtime_r;var Ja=env._tzset;var Ka=env.___setErrNo;var La=env.___syscall192;var Ma=env.___syscall191;var Na=env.___syscall197;var Oa=env.___syscall195;var Pa=env.___syscall194;var Qa=env.___syscall199;var Ra=env._sysconf;var Sa=env._strftime;var Ta=env._clock;var Ua=env.__arraySum;var Va=env._emscripten_memcpy_big;var Wa=env.___syscall91;var Xa=env.___syscall75;var Ya=env._pthread_mutex_destroy;var Za=env._llvm_stacksave;var _a=env.___syscall77;var $a=env._getenv;var ab=env.___syscall33;var bb=env.___syscall54;var cb=env.___unlock;var db=env.__isLeapYear;var eb=env.___syscall3;var fb=env.___syscall340;var gb=env.___lock;var hb=env.___syscall6;var ib=env.___syscall5;var jb=env.___syscall4;var kb=env._time;var lb=env._gettimeofday;var mb=env.___syscall201;var nb=env._atexit;var ob=env.___syscall140;var pb=env._localtime;var qb=env.___syscall142;var rb=env.___syscall145;var sb=env.___syscall146;var tb=0.0;
// EMSCRIPTEN_START_FUNCS
-function Fb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;if((i|0)>=(j|0))$(a|0);return b|0}function Gb(){return i|0}function Hb(a){a=a|0;i=a}function Ib(a,b){a=a|0;b=b|0;i=a;j=b}function Jb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Kb(a){a=a|0;D=a}function Lb(){return D|0}function Mb(a){a=a|0;var b=0;b=Ub(32,19158,38)|0;oc(a,b);return b|0}function Nb(a){a=a|0;var b=0;b=Ub(32,19158,55)|0;qc(a,b);return b|0}function Ob(a){a=a|0;var b=0;b=Ub(32,19158,71)|0;mc(a,b);return b|0}function Pb(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d+8|0;f=Ub(e,19158,85)|0;Yw(f+8|0,c|0,d|0)|0;d=Iv(b)|0;b=f+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=Iv(e)|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;return f|0}function Qb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;if((iu(e,g)|0)!=1){h=0;i=f;return h|0}e=g;c[e>>2]=a;c[e+4>>2]=b;c[g+8>>2]=d;d=Ub(24,19158,115)|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];h=d;i=f;return h|0}function Rb(a){a=a|0;var b=0;b=a;D=c[b+4>>2]|0;return c[b>>2]|0}function Sb(a){a=a|0;return c[a+8>>2]|0}function Tb(a){a=a|0;return a+12|0}function Ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+24|0;g=e+8|0;h=e;k=e+56|0;l=e+52|0;m=e+48|0;n=e+44|0;o=e+40|0;p=e+36|0;q=e+32|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if((c[k>>2]|0)>>>0>41943040){c[o>>2]=74;if((c[182]|0)==-1)c[182]=$b(1,0,19165,19185,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[182]|0))_b();o=c[m>>2]|0;c[h>>2]=c[l>>2];c[h+4>>2]=o;cc(1,61746,h);_b()}c[n>>2]=Vb(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){i=e;return c[n>>2]|0}c[p>>2]=81;if((c[183]|0)==-1)c[183]=$b(1,21128,19165,19185,c[p>>2]|0)|0;if((ac()|0)<=0){if(c[183]|0){p=Nu(c[(xu()|0)>>2]|0)|0;c[g>>2]=19201;c[g+4>>2]=19165;c[g+8>>2]=81;c[g+12>>2]=p;hc(1,21128,20679,g)}}else bc(-1,0);c[q>>2]=82;if((c[184]|0)==-1)c[184]=$b(1,0,19165,19185,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[184]|0))_b();c[f>>2]=19165;c[f+4>>2]=82;cc(1,61746,f);_b();return 0}function Vb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[h>>2]=Kw(c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}else{Sw(c[h>>2]|0,0,c[g>>2]|0)|0;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=e;return k|0}return 0}function Wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(c[g>>2]|0){Lw(c[g>>2]|0);i=e;return}c[l>>2]=311;if((c[185]|0)==-1)c[185]=$b(1,0,19165,19208,c[l>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[185]|0))_b();l=c[k>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=l;cc(1,61746,f);_b()}function Xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f;h=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+16|0;o=f+8|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[n>>2]=e;c[m>>2]=Tu(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,n)|0;if((c[m>>2]|0)>>>0<(c[k>>2]|0)>>>0){i=f;return c[m>>2]|0}c[o>>2]=506;if((c[186]|0)==-1)c[186]=$b(1,0,19165,19222,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[186]|0))_b();c[g>>2]=19165;c[g+4>>2]=506;cc(1,61746,g);_b();return 0}function Yb(){c[17680]=c[3977];return}function Zb(){return}function _b(){Aa()}function $b(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(!(c[l>>2]|0))c[l>>2]=c[17681];if((c[17682]|0)>=0&0==(c[17683]|0)){c[h>>2]=(c[k>>2]|0)<=(c[17682]|0)&1;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=(c[17682]|0)>=0&1;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[17684]|0))break;c[p>>2]=(c[17685]|0)+((c[q>>2]|0)*112|0);if(!(c[r>>2]|0?!(c[(c[p>>2]|0)+108>>2]|0):0))t=9;if((((((t|0)==9?(t=0,(c[o>>2]|0)>=(c[(c[p>>2]|0)+96>>2]|0)):0)?(c[o>>2]|0)<=(c[(c[p>>2]|0)+100>>2]|0):0)?0==(Gw(c[p>>2]|0,c[l>>2]|0,0,0,0)|0):0)?0==(Gw((c[p>>2]|0)+32|0,c[m>>2]|0,0,0,0)|0):0)?0==(Gw((c[p>>2]|0)+64|0,c[n>>2]|0,0,0,0)|0):0){t=14;break}c[q>>2]=(c[q>>2]|0)+1}if((t|0)==14){c[h>>2]=(c[k>>2]|0)<=(c[(c[p>>2]|0)+104>>2]|0)&1;s=c[h>>2]|0;i=g;return s|0}p=c[k>>2]|0;if((c[17682]|0)>=0){c[h>>2]=(p|0)<=(c[17682]|0)&1;s=c[h>>2]|0;i=g;return s|0}else{c[h>>2]=(p|0)<=4&1;s=c[h>>2]|0;i=g;return s|0}return 0}function ac(){return c[17690]|0}function bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;f=d+20|0;g=d+16|0;h=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0){c[17690]=(c[17690]|0)+(c[f>>2]|0);i=d;return}c[h>>2]=0==(c[17690]|0)&1;c[17690]=0;if((c[g>>2]|0)==0|(c[h>>2]|0)!=0){i=d;return}c[k>>2]=906;if((c[188]|0)==-1)c[188]=$b(1,0,19238,19416,c[k>>2]|0)|0;if((ac()|0)>0){bc(-1,0);i=d;return}if(!(c[188]|0)){i=d;return}c[e>>2]=19238;c[e+4>>2]=906;cc(1,61746,e);i=d;return}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;dc(c[f>>2]|0,c[17686]|0,c[g>>2]|0,h);i=e;return}function dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;g=i;i=i+240|0;if((i|0)>=(j|0))$(240);h=g+40|0;k=g+32|0;l=g+24|0;m=g+108|0;n=g+104|0;o=g+100|0;p=g+96|0;q=g+176|0;r=g+112|0;s=g+92|0;t=g+88|0;u=g+72|0;v=g+68|0;w=g+64|0;x=g+16|0;y=g+56|0;z=g+8|0;A=g+48|0;B=g;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[u>>2]=c[c[p>>2]>>2];c[t>>2]=(Tu(0,0,c[o>>2]|0,u)|0)+1;if(!(c[t>>2]|0)){c[v>>2]=952;if((c[187]|0)==-1)c[187]=$b(1,0,19238,19261,c[v>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[187]|0))_b();c[l>>2]=19238;c[l+4>>2]=952;cc(1,61746,l);_b()}l=q;v=l+64|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(v|0));l=c[t>>2]|0;c[w>>2]=Za()|0;v=l;l=i;i=i+((1*v|0)+15&-16)|0;if((i|0)>=(j|0))$((1*v|0)+15&-16|0);lb(y|0,0)|0;v=vd()|0;u=x;c[u>>2]=v;c[u+4>>2]=D;u=x;v=c[u+4>>2]|0;f=(v|0)>0|(v|0)==0&(c[u>>2]|0)>>>0>0;u=x;v=Xw(c[u>>2]|0,c[u+4>>2]|0,1e3,0)|0;u=c[y>>2]|0;e=Uw(u|0,((u|0)<0)<<31>>31|0,v|0,D|0)|0;c[y>>2]=e;do if(f){e=x;v=jx(c[e>>2]|0,c[e+4>>2]|0,1e3,0)|0;e=ex(v|0,D|0,1e3,0)|0;v=y+4|0;u=c[v>>2]|0;d=Uw(u|0,((u|0)<0)<<31>>31|0,e|0,D|0)|0;c[v>>2]=d;d=c[y+4>>2]|0;v=((d|0)<0)<<31>>31;if((v|0)>0|(v|0)==0&d>>>0>1e6){d=y+4|0;v=c[d>>2]|0;e=Rw(v|0,((v|0)<0)<<31>>31|0,1e6,0)|0;c[d>>2]=e;c[y>>2]=(c[y>>2]|0)+1}}else{e=c[y+4>>2]|0;d=((e|0)<0)<<31>>31;v=x;u=jx(c[v>>2]|0,c[v+4>>2]|0,1e3,0)|0;v=Rw(0,0,u|0,D|0)|0;u=ex(v|0,D|0,1e3,0)|0;v=D;b=x;C=jx(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=ex(C|0,D|0,1e3,0)|0;C=D;if((d|0)>(v|0)|(d|0)==(v|0)&e>>>0>u>>>0){u=y+4|0;e=c[u>>2]|0;v=Uw(e|0,((e|0)<0)<<31>>31|0,b|0,C|0)|0;c[u>>2]=v;break}else{v=Uw(1e6,0,b|0,C|0)|0;C=y+4|0;b=c[C>>2]|0;u=Uw(b|0,((b|0)<0)<<31>>31|0,v|0,D|0)|0;c[C>>2]=u;c[y>>2]=(c[y>>2]|0)+-1;break}}while(0);c[s>>2]=pb(y|0)|0;if(!(c[s>>2]|0))tv(q,19267)|0;else{Sa(r|0,64,19283,c[s>>2]|0)|0;c[k>>2]=c[y+4>>2];Su(q,64,r,k)|0}Tu(l,c[t>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=70688;if(0!=(c[m>>2]&64|0)&(0!=(c[p>>2]|0)?1:0!=(c[p+4>>2]|0))?0==(Hv(l,71806,256)|0):0){c[17687]=(c[17687]|0)+1;c[h>>2]=c[17672];c[h+4>>2]=c[17673];p=zd(h)|0;h=z;c[h>>2]=p;c[h+4>>2]=D;h=z;z=c[h+4>>2]|0;if(z>>>0>10|(z|0)==10&(c[h>>2]|0)>>>0>250327040|(c[17687]|0)>>>0>1e3)ec(q);c[A>>2]=1;E=c[w>>2]|0;Ea(E|0);i=g;return}ec(q);Nv(71806,l,256)|0;c[17687]=0;c[17688]=c[m>>2];h=xd()|0;z=B;c[z>>2]=h;c[z+4>>2]=D;c[17672]=c[B>>2];c[17673]=c[B+4>>2];Nv(72062,c[n>>2]|0,32)|0;fc(c[m>>2]|0,c[n>>2]|0,q,l);c[A>>2]=0;E=c[w>>2]|0;Ea(E|0);i=g;return}function ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+640|0;if((i|0)>=(j|0))$(640);e=d+32|0;f=d+16|0;g=d+52|0;h=d+56|0;k=d+48|0;l=d+44|0;m=d+40|0;n=d+8|0;o=d;c[g>>2]=b;b=70688;if((0==(c[b>>2]|0)?0==(c[b+4>>2]|0):0)|0==(c[17687]|0)){i=d;return}c[k>>2]=0;c[l>>2]=_u(71806,0,256)|0;if(c[l>>2]|0){if((c[l>>2]|0)!=71806)c[l>>2]=(c[l>>2]|0)+-1}else c[l>>2]=72061;if((a[c[l>>2]>>0]|0)==10){c[k>>2]=1;a[c[l>>2]>>0]=0};c[e>>2]=c[17672];c[e+4>>2]=c[17673];b=zd(e)|0;p=n;c[p>>2]=b;c[p+4>>2]=D;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[m>>2]=qd(e,1)|0;e=c[17687]|0;n=c[m>>2]|0;c[f>>2]=256;c[f+4>>2]=71806;c[f+8>>2]=e;c[f+12>>2]=n;Su(h,576,19367,f)|0;if((c[k>>2]|0)==1)a[c[l>>2]>>0]=10;fc(c[17688]|0,72062,c[g>>2]|0,h);h=xd()|0;g=o;c[g>>2]=h;c[g+4>>2]=D;c[17672]=c[o>>2];c[17673]=c[o+4>>2];c[17687]=0;i=d;return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+8|0;h=f;k=f+40|0;l=f+36|0;m=f+32|0;n=f+28|0;o=f+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;if(0!=(c[17680]|0)&0==(c[17689]|0)){e=c[17680]|0;if((c[k>>2]|0)==4){c[h>>2]=c[n>>2];Fv(e,19304,h)|0}else{h=c[m>>2]|0;d=c[l>>2]|0;b=gc(c[k>>2]|0)|0;a=c[n>>2]|0;c[g>>2]=h;c[g+4>>2]=d;c[g+8>>2]=b;c[g+12>>2]=a;Fv(e,19309,g)|0}Rv(c[17680]|0)|0}c[o>>2]=c[17689];while(1){if(!(c[o>>2]|0))break;vb[c[(c[o>>2]|0)+4>>2]&15](c[(c[o>>2]|0)+8>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=c[c[o>>2]>>2]}i=f;return}function gc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;do if((c[e>>2]&1|0)<=0){if((c[e>>2]&2|0)>0){c[d>>2]=19327;break}if((c[e>>2]&4|0)>0){c[d>>2]=19335;break}if((c[e>>2]&8|0)>0){c[d>>2]=19343;break}if((c[e>>2]&16|0)>0){c[d>>2]=19348;break}if(!(c[e>>2]&-65)){c[d>>2]=19354;break}else{c[d>>2]=19359;break}}else c[d>>2]=19321;while(0);i=b;return c[d>>2]|0}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+176|0;if((i|0)>=(j|0))$(176);g=f;h=f+32|0;k=f+28|0;l=f+24|0;m=f+8|0;n=f+40|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;if(!(c[k>>2]|0))c[k>>2]=c[17681];c[m>>2]=e;e=c[k>>2]|0;k=_v()|0;c[g>>2]=e;c[g+4>>2]=k;Xb(n,128,19255,g)|0;dc(c[h>>2]|0,n,c[l>>2]|0,m);i=f;return}function ic(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=g+8|0;k=g;l=g+56|0;m=g+52|0;n=g+48|0;o=g+44|0;p=g+40|0;q=g+36|0;r=g+32|0;s=g+28|0;t=g+24|0;u=g+20|0;v=g+16|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;f=c[n>>2]|0;c[s>>2]=Za()|0;e=f;d=i;i=i+((1*e|0)+15&-16)|0;if((i|0)>=(j|0))$((1*e|0)+15&-16|0);if(1!=(jc(r,c[o>>2]|0,c[p>>2]|0)|0)){c[l>>2]=-1;c[t>>2]=1;w=c[s>>2]|0;Ea(w|0);x=c[l>>2]|0;i=g;return x|0}if(oe(c[r>>2]|0,d,c[n>>2]|0,c[m>>2]|0,c[n>>2]|0)|0){c[u>>2]=136;if((c[189]|0)==-1)c[189]=$b(1,0,19432,19451,c[u>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[189]|0))_b();c[k>>2]=19432;c[k+4>>2]=136;cc(1,61746,k);_b()}je(c[r>>2]|0);if(1!=(kc(r,c[o>>2]|0,c[p>>2]|0)|0)){c[l>>2]=-1;c[t>>2]=1;w=c[s>>2]|0;Ea(w|0);x=c[l>>2]|0;i=g;return x|0}if(!(oe(c[r>>2]|0,c[q>>2]|0,c[n>>2]|0,d,c[n>>2]|0)|0)){je(c[r>>2]|0);Sw(d|0,0,f|0)|0;c[l>>2]=c[n>>2];c[t>>2]=1;w=c[s>>2]|0;Ea(w|0);x=c[l>>2]|0;i=g;return x|0}c[v>>2]=140;if((c[190]|0)==-1)c[190]=$b(1,0,19432,19451,c[v>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[190]|0))_b();c[h>>2]=19432;c[h+4>>2]=140;cc(1,61746,h);_b();return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+16|0;g=e+8|0;h=e;k=e+48|0;l=e+44|0;m=e+40|0;n=e+36|0;o=e+32|0;p=e+28|0;q=e+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(ie(c[k>>2]|0,9,2,0)|0){c[o>>2]=68;if((c[194]|0)==-1)c[194]=$b(1,0,19432,19504,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[194]|0))_b();c[h>>2]=19432;c[h+4>>2]=68;cc(1,61746,h);_b()}c[n>>2]=ke(c[c[k>>2]>>2]|0,c[l>>2]|0,32)|0;if(0!=(c[n>>2]|0)?((c[n>>2]&255)<<24>>24|0)!=43:0){c[p>>2]=72;if((c[195]|0)==-1)c[195]=$b(1,0,19432,19504,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[195]|0))_b();c[g>>2]=19432;c[g+4>>2]=72;cc(1,61746,g);_b()}c[n>>2]=ne(c[c[k>>2]>>2]|0,c[m>>2]|0,16)|0;if(!(c[n>>2]|0)){i=e;return 1}if(((c[n>>2]&255)<<24>>24|0)==43){i=e;return 1}c[q>>2]=76;if((c[196]|0)==-1)c[196]=$b(1,0,19432,19504,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[196]|0))_b();c[f>>2]=19432;c[f+4>>2]=76;cc(1,61746,f);_b();return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+16|0;g=e+8|0;h=e;k=e+48|0;l=e+44|0;m=e+40|0;n=e+36|0;o=e+32|0;p=e+28|0;q=e+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(ie(c[k>>2]|0,10,2,0)|0){c[o>>2]=98;if((c[191]|0)==-1)c[191]=$b(1,0,19432,19483,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[191]|0))_b();c[h>>2]=19432;c[h+4>>2]=98;cc(1,61746,h);_b()}c[n>>2]=ke(c[c[k>>2]>>2]|0,(c[l>>2]|0)+32|0,32)|0;if(0!=(c[n>>2]|0)?((c[n>>2]&255)<<24>>24|0)!=43:0){c[p>>2]=102;if((c[192]|0)==-1)c[192]=$b(1,0,19432,19483,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[192]|0))_b();c[g>>2]=19432;c[g+4>>2]=102;cc(1,61746,g);_b()}c[n>>2]=ne(c[c[k>>2]>>2]|0,(c[m>>2]|0)+16|0,16)|0;if(!(c[n>>2]|0)){i=e;return 1}if(((c[n>>2]&255)<<24>>24|0)==43){i=e;return 1}c[q>>2]=106;if((c[193]|0)==-1)c[193]=$b(1,0,19432,19483,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[193]|0))_b();c[f>>2]=19432;c[f+4>>2]=106;cc(1,61746,f);_b();return 0}function lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=g+8|0;k=g;l=g+56|0;m=g+52|0;n=g+48|0;o=g+44|0;p=g+40|0;q=g+36|0;r=g+32|0;s=g+28|0;t=g+24|0;u=g+20|0;v=g+16|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;f=c[n>>2]|0;c[s>>2]=Za()|0;e=f;d=i;i=i+((1*e|0)+15&-16)|0;if((i|0)>=(j|0))$((1*e|0)+15&-16|0);if(1!=(kc(r,c[o>>2]|0,c[p>>2]|0)|0)){c[l>>2]=-1;c[t>>2]=1;w=c[s>>2]|0;Ea(w|0);x=c[l>>2]|0;i=g;return x|0}if(pe(c[r>>2]|0,d,c[n>>2]|0,c[m>>2]|0,c[n>>2]|0)|0){c[u>>2]=172;if((c[197]|0)==-1)c[197]=$b(1,0,19432,19521,c[u>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[197]|0))_b();c[k>>2]=19432;c[k+4>>2]=172;cc(1,61746,k);_b()}je(c[r>>2]|0);if(1!=(jc(r,c[o>>2]|0,c[p>>2]|0)|0)){c[l>>2]=-1;c[t>>2]=1;w=c[s>>2]|0;Ea(w|0);x=c[l>>2]|0;i=g;return x|0}if(!(pe(c[r>>2]|0,c[q>>2]|0,c[n>>2]|0,d,c[n>>2]|0)|0)){je(c[r>>2]|0);Sw(d|0,0,f|0)|0;c[l>>2]=c[n>>2];c[t>>2]=1;w=c[s>>2]|0;Ea(w|0);x=c[l>>2]|0;i=g;return x|0}c[v>>2]=176;if((c[198]|0)==-1)c[198]=$b(1,0,19432,19521,c[v>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[198]|0))_b();c[h>>2]=19432;c[h+4>>2]=176;cc(1,61746,h);_b();return 0}function mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d+16|0;f=d+8|0;g=d;h=d+52|0;k=d+48|0;l=d+44|0;m=d+40|0;n=d+36|0;o=d+32|0;p=d+28|0;q=d+24|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=nc(c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[o>>2]=231;if((c[199]|0)==-1)c[199]=$b(1,0,19553,19566,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[199]|0))_b();c[g>>2]=19553;c[g+4>>2]=231;cc(1,61746,g);_b()}if(_d(m,c[l>>2]|0,0)|0){c[p>>2]=232;if((c[200]|0)==-1)c[200]=$b(1,0,19553,19566,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[200]|0))_b();c[f>>2]=19553;c[f+4>>2]=232;cc(1,61746,f);_b()}Kd(c[l>>2]|0);c[n>>2]=$d(19601,c[m>>2]|0,0)|0;if(c[n>>2]|0){Oc(c[k>>2]|0,32,c[n>>2]|0);Qd(c[n>>2]|0);Fe(c[m>>2]|0);i=d;return}c[q>>2]=235;if((c[201]|0)==-1)c[201]=$b(1,0,19553,19566,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[201]|0))_b();c[e>>2]=19553;c[e+4>>2]=235;cc(1,61746,e);_b()}function nc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+64|0;if((i|0)>=(j|0))$(64);d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;k=b+40|0;l=b+36|0;m=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[k>>2]=Jd(h,0,19609,f)|0;if(!(c[k>>2]|0)){i=b;return c[h>>2]|0}c[l>>2]=136;if((c[202]|0)==-1)c[202]=$b(1,21128,19553,19651,c[l>>2]|0)|0;if((ac()|0)<=0){if(c[202]|0){l=Cd(c[k>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=136;c[e+12>>2]=l;hc(1,21128,20679,e)}}else bc(-1,0);c[m>>2]=137;if((c[203]|0)==-1)c[203]=$b(1,0,19553,19651,c[m>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[203]|0))_b();c[d>>2]=19553;c[d+4>>2]=137;cc(1,61746,d);_b();return 0}function oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d+16|0;f=d+8|0;g=d;h=d+52|0;k=d+48|0;l=d+44|0;m=d+40|0;n=d+36|0;o=d+32|0;p=d+28|0;q=d+24|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=pc(c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[o>>2]=257;if((c[204]|0)==-1)c[204]=$b(1,0,19553,19692,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[204]|0))_b();c[g>>2]=19553;c[g+4>>2]=257;cc(1,61746,g);_b()}if(_d(m,c[l>>2]|0,0)|0){c[p>>2]=258;if((c[205]|0)==-1)c[205]=$b(1,0,19553,19692,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[205]|0))_b();c[f>>2]=19553;c[f+4>>2]=258;cc(1,61746,f);_b()}Kd(c[l>>2]|0);c[n>>2]=$d(19601,c[m>>2]|0,0)|0;if(c[n>>2]|0){Oc(c[k>>2]|0,32,c[n>>2]|0);Qd(c[n>>2]|0);Fe(c[m>>2]|0);i=d;return}c[q>>2]=261;if((c[206]|0)==-1)c[206]=$b(1,0,19553,19692,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[206]|0))_b();c[e>>2]=19553;c[e+4>>2]=261;cc(1,61746,e);_b()}function pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+64|0;if((i|0)>=(j|0))$(64);d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;k=b+40|0;l=b+36|0;m=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[k>>2]=Jd(h,0,19727,f)|0;if(!(c[k>>2]|0)){i=b;return c[h>>2]|0}c[l>>2]=169;if((c[207]|0)==-1)c[207]=$b(1,21128,19553,19782,c[l>>2]|0)|0;if((ac()|0)<=0){if(c[207]|0){l=Cd(c[k>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=169;c[e+12>>2]=l;hc(1,21128,20679,e)}}else bc(-1,0);c[m>>2]=170;if((c[208]|0)==-1)c[208]=$b(1,0,19553,19782,c[m>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[208]|0))_b();c[d>>2]=19553;c[d+4>>2]=170;cc(1,61746,d);_b();return 0}function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d+16|0;f=d+8|0;g=d;h=d+52|0;k=d+48|0;l=d+44|0;m=d+40|0;n=d+36|0;o=d+32|0;p=d+28|0;q=d+24|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=rc(c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[o>>2]=283;if((c[209]|0)==-1)c[209]=$b(1,0,19553,19807,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[209]|0))_b();c[g>>2]=19553;c[g+4>>2]=283;cc(1,61746,g);_b()}if(_d(m,c[l>>2]|0,0)|0){c[p>>2]=284;if((c[210]|0)==-1)c[210]=$b(1,0,19553,19807,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[210]|0))_b();c[f>>2]=19553;c[f+4>>2]=284;cc(1,61746,f);_b()}Kd(c[l>>2]|0);c[n>>2]=$d(19601,c[m>>2]|0,0)|0;if(c[n>>2]|0){Oc(c[k>>2]|0,32,c[n>>2]|0);Qd(c[n>>2]|0);Fe(c[m>>2]|0);i=d;return}c[q>>2]=287;if((c[211]|0)==-1)c[211]=$b(1,0,19553,19807,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[211]|0))_b();c[e>>2]=19553;c[e+4>>2]=287;cc(1,61746,e);_b()}function rc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+64|0;if((i|0)>=(j|0))$(64);d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;k=b+40|0;l=b+36|0;m=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[k>>2]=Jd(h,0,19609,f)|0;if(!(c[k>>2]|0)){i=b;return c[h>>2]|0}c[l>>2]=202;if((c[212]|0)==-1)c[212]=$b(1,21128,19553,19842,c[l>>2]|0)|0;if((ac()|0)<=0){if(c[212]|0){l=Cd(c[k>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=202;c[e+12>>2]=l;hc(1,21128,20679,e)}}else bc(-1,0);c[m>>2]=203;if((c[213]|0)==-1)c[213]=$b(1,0,19553,19842,c[m>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[213]|0))_b();c[d>>2]=19553;c[d+4>>2]=203;cc(1,61746,d);_b();return 0}function sc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+96|0;if((i|0)>=(j|0))$(96);b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;k=a+76|0;l=a+72|0;m=a+68|0;n=a+64|0;o=a+60|0;p=a+56|0;q=Jd(k,0,19867,a)|0;c[m>>2]=q;if(q){c[n>>2]=505;if((c[214]|0)==-1)c[214]=$b(1,21128,19553,19922,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[214]|0){n=Cd(c[m>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=505;c[e+12>>2]=n;hc(1,21128,20679,e)}}else bc(-1,0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}e=te(h,c[k>>2]|0)|0;c[m>>2]=e;if(e){c[o>>2]=510;if((c[215]|0)==-1)c[215]=$b(1,21128,19553,19922,c[o>>2]|0)|0;if((ac()|0)<=0){if(c[215]|0){o=Cd(c[m>>2]|0)|0;c[d>>2]=19953;c[d+4>>2]=19553;c[d+8>>2]=510;c[d+12>>2]=o;hc(1,21128,20679,d)}}else bc(-1,0);Kd(c[k>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}Kd(c[k>>2]|0);k=tc(l,c[h>>2]|0,37977,35618)|0;c[m>>2]=k;if(!k){Kd(c[h>>2]|0);c[g>>2]=Ub(32,19553,530)|0;Oc(c[g>>2]|0,32,c[l>>2]|0);Qd(c[l>>2]|0);c[f>>2]=c[g>>2];r=c[f>>2]|0;i=a;return r|0}c[p>>2]=525;if((c[216]|0)==-1)c[216]=$b(1,21128,19553,19922,c[p>>2]|0)|0;if((ac()|0)<=0){if(c[216]|0){p=Cd(c[m>>2]|0)|0;c[b>>2]=19968;c[b+4>>2]=19553;c[b+8>>2]=525;c[b+12>>2]=p;hc(1,21128,20679,b)}}else bc(-1,0);Kd(c[h>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}function tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=Md(c[l>>2]|0,c[m>>2]|0,0)|0;if(!(c[o>>2]|0)){c[h>>2]=1;t=c[h>>2]|0;i=g;return t|0}c[p>>2]=Nd(c[o>>2]|0)|0;Kd(c[o>>2]|0);c[o>>2]=c[p>>2];if(!(c[o>>2]|0)){c[h>>2]=2;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=0;c[q>>2]=c[n>>2];while(1){u=c[o>>2]|0;if(!(a[c[q>>2]>>0]|0)){v=18;break}c[p>>2]=Md(u,c[q>>2]|0,1)|0;if(!(c[p>>2]|0)){v=8;break}n=Od(c[p>>2]|0,1,5)|0;c[(c[k>>2]|0)+(c[s>>2]<<2)>>2]=n;Kd(c[p>>2]|0);if(!(c[(c[k>>2]|0)+(c[s>>2]<<2)>>2]|0)){v=13;break}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}if((v|0)==8){c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;Ie(c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}Kd(c[o>>2]|0);c[h>>2]=3;t=c[h>>2]|0;i=g;return t|0}else if((v|0)==13){c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;Ie(c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}Kd(c[o>>2]|0);c[h>>2]=4;t=c[h>>2]|0;i=g;return t|0}else if((v|0)==18){Kd(u);c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function uc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+96|0;if((i|0)>=(j|0))$(96);b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;k=a+76|0;l=a+72|0;m=a+68|0;n=a+64|0;o=a+60|0;p=a+56|0;q=Jd(k,0,19982,a)|0;c[m>>2]=q;if(q){c[n>>2]=555;if((c[217]|0)==-1)c[217]=$b(1,21128,19553,20020,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[217]|0){n=Cd(c[m>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=555;c[e+12>>2]=n;hc(1,21128,20679,e)}}else bc(-1,0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}e=te(h,c[k>>2]|0)|0;c[m>>2]=e;if(e){c[o>>2]=560;if((c[218]|0)==-1)c[218]=$b(1,21128,19553,20020,c[o>>2]|0)|0;if((ac()|0)<=0){if(c[218]|0){o=Cd(c[m>>2]|0)|0;c[d>>2]=19953;c[d+4>>2]=19553;c[d+8>>2]=560;c[d+12>>2]=o;hc(1,21128,20679,d)}}else bc(-1,0);Kd(c[k>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}Kd(c[k>>2]|0);k=tc(l,c[h>>2]|0,37977,35618)|0;c[m>>2]=k;if(!k){Kd(c[h>>2]|0);c[g>>2]=Ub(32,19553,580)|0;Oc(c[g>>2]|0,32,c[l>>2]|0);Qd(c[l>>2]|0);c[f>>2]=c[g>>2];r=c[f>>2]|0;i=a;return r|0}c[p>>2]=575;if((c[219]|0)==-1)c[219]=$b(1,21128,19553,20020,c[p>>2]|0)|0;if((ac()|0)<=0){if(c[219]|0){p=Cd(c[m>>2]|0)|0;c[b>>2]=19968;c[b+4>>2]=19553;c[b+8>>2]=575;c[b+12>>2]=p;hc(1,21128,20679,b)}}else bc(-1,0);Kd(c[h>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}function vc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+96|0;if((i|0)>=(j|0))$(96);b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;k=a+76|0;l=a+72|0;m=a+68|0;n=a+64|0;o=a+60|0;p=a+56|0;q=Jd(k,0,20051,a)|0;c[m>>2]=q;if(q){c[n>>2]=604;if((c[220]|0)==-1)c[220]=$b(1,21128,19553,20095,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[220]|0){n=Cd(c[m>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=604;c[e+12>>2]=n;hc(1,21128,20679,e)}}else bc(-1,0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}e=te(h,c[k>>2]|0)|0;c[m>>2]=e;if(e){c[o>>2]=609;if((c[221]|0)==-1)c[221]=$b(1,21128,19553,20095,c[o>>2]|0)|0;if((ac()|0)<=0){if(c[221]|0){o=Cd(c[m>>2]|0)|0;c[d>>2]=19953;c[d+4>>2]=19553;c[d+8>>2]=609;c[d+12>>2]=o;hc(1,21128,20679,d)}}else bc(-1,0);Kd(c[k>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}Kd(c[k>>2]|0);k=tc(l,c[h>>2]|0,37977,35618)|0;c[m>>2]=k;if(!k){Kd(c[h>>2]|0);c[g>>2]=Ub(32,19553,629)|0;Oc(c[g>>2]|0,32,c[l>>2]|0);Qd(c[l>>2]|0);c[f>>2]=c[g>>2];r=c[f>>2]|0;i=a;return r|0}c[p>>2]=624;if((c[222]|0)==-1)c[222]=$b(1,21128,19553,20095,c[p>>2]|0)|0;if((ac()|0)<=0){if(c[222]|0){p=Cd(c[m>>2]|0)|0;c[b>>2]=19968;c[b+4>>2]=19553;c[b+8>>2]=624;c[b+12>>2]=p;hc(1,21128,20679,b)}}else bc(-1,0);Kd(c[h>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=a;return r|0}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+16|0;g=e;h=e+68|0;k=e+64|0;l=e+60|0;m=e+56|0;n=e+52|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+32|0;s=e+28|0;t=e+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=pc(c[k>>2]|0)|0;c[p>>2]=xc(c[l>>2]|0)|0;l=qe(o,c[p>>2]|0,c[n>>2]|0)|0;c[q>>2]=l;if(l){c[s>>2]=807;if((c[223]|0)==-1)c[223]=$b(2,21128,19553,20126,c[s>>2]|0)|0;if((ac()|0)<=0){if(c[223]|0){s=Cd(c[q>>2]|0)|0;c[g>>2]=19553;c[g+4>>2]=807;c[g+8>>2]=s;hc(2,21128,20151,g)}}else bc(-1,0);Kd(c[p>>2]|0);Kd(c[n>>2]|0);c[h>>2]=-1;u=c[h>>2]|0;i=e;return u|0}Kd(c[n>>2]|0);Kd(c[p>>2]|0);p=tc(r,c[o>>2]|0,37839,47174)|0;c[q>>2]=p;if(!p){Kd(c[o>>2]|0);Oc(c[m>>2]|0,32,c[r>>2]|0);Oc((c[m>>2]|0)+32|0,32,c[r+4>>2]|0);Qd(c[r>>2]|0);Qd(c[r+4>>2]|0);c[h>>2]=1;u=c[h>>2]|0;i=e;return u|0}c[t>>2]=819;if((c[224]|0)==-1)c[224]=$b(1,0,19553,20126,c[t>>2]|0)|0;if((ac()|0)<=0){if(c[224]|0){c[f>>2]=19553;c[f+4>>2]=819;cc(1,61746,f)}}else bc(-1,0);Kd(c[o>>2]|0);c[h>>2]=-1;u=c[h>>2]|0;i=e;return u|0}function xc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+128|0;if((i|0)>=(j|0))$(128);e=b+16|0;f=b;g=b+116|0;h=b+112|0;k=b+48|0;l=b+40|0;m=b+36|0;n=b+32|0;c[h>>2]=a;a=c[h>>2]|0;o=c[h>>2]|0;Bc(a,Mv(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0,k);c[f>>2]=37919;c[f+4>>2]=64;c[f+8>>2]=k;k=Jd(l,0,20186,f)|0;c[m>>2]=k;if(!k){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=b;return p|0}c[n>>2]=698;if((c[225]|0)==-1)c[225]=$b(1,21128,19553,20230,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[225]|0){n=Cd(c[m>>2]|0)|0;c[e>>2]=19676;c[e+4>>2]=19553;c[e+8>>2]=698;c[e+12>>2]=n;hc(1,21128,20679,e)}}else bc(-1,0);c[g>>2]=0;p=c[g>>2]|0;i=b;return p|0}function yc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+96|0;if((i|0)>=(j|0))$(96);h=g+40|0;k=g+32|0;l=g+16|0;m=g;n=g+92|0;o=g+88|0;p=g+84|0;q=g+80|0;r=g+76|0;s=g+72|0;t=g+68|0;u=g+64|0;v=g+60|0;w=g+56|0;x=g+52|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;f=c[o>>2]|0;o=(c[p>>2]|0)+4|0;if((f|0)!=(Mv(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)){c[n>>2]=-1;y=c[n>>2]|0;i=g;return y|0}o=c[q>>2]|0;f=(c[q>>2]|0)+32|0;c[m>>2]=32;c[m+4>>2]=o;c[m+8>>2]=32;c[m+12>>2]=f;f=Jd(t,0,20289,m)|0;c[v>>2]=f;if(f){c[w>>2]=918;if((c[226]|0)==-1)c[226]=$b(1,21128,19553,20318,c[w>>2]|0)|0;if((ac()|0)<=0){if(c[226]|0){w=Cd(c[v>>2]|0)|0;c[l>>2]=19676;c[l+4>>2]=19553;c[l+8>>2]=918;c[l+12>>2]=w;hc(1,21128,20679,l)}}else bc(-1,0);c[n>>2]=-1;y=c[n>>2]|0;i=g;return y|0}c[s>>2]=xc(c[p>>2]|0)|0;p=c[r>>2]|0;c[k>>2]=32;c[k+4>>2]=p;p=Jd(u,0,20345,k)|0;c[v>>2]=p;if(p){Kd(c[s>>2]|0);Kd(c[t>>2]|0);c[n>>2]=-1;y=c[n>>2]|0;i=g;return y|0}c[v>>2]=re(c[t>>2]|0,c[s>>2]|0,c[u>>2]|0)|0;Kd(c[u>>2]|0);Kd(c[s>>2]|0);Kd(c[t>>2]|0);if(!(c[v>>2]|0)){c[n>>2]=1;y=c[n>>2]|0;i=g;return y|0}c[x>>2]=938;if((c[227]|0)==-1)c[227]=$b(8,21128,19553,20318,c[x>>2]|0)|0;if((ac()|0)<=0){if(c[227]|0){x=Cd(c[v>>2]|0)|0;c[h>>2]=19553;c[h+4>>2]=938;c[h+8>>2]=x;hc(8,21128,20397,h)}}else bc(-1,0);c[n>>2]=-1;y=c[n>>2]|0;i=g;return y|0}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=i;i=i+144|0;if((i|0)>=(j|0))$(144);f=e+40|0;g=e+32|0;h=e+16|0;k=e+8|0;l=e;m=e+104|0;n=e+100|0;o=e+96|0;p=e+92|0;q=e+88|0;r=e+84|0;s=e+80|0;t=e+76|0;u=e+72|0;v=e+68|0;w=e+112|0;x=e+64|0;y=e+60|0;z=e+56|0;A=e+52|0;B=e+48|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;d=c[o>>2]|0;c[l>>2]=32;c[l+4>>2]=d;if(Jd(u,0,20250,l)|0){c[m>>2]=-1;C=c[m>>2]|0;i=e;return C|0}if(_d(t,c[u>>2]|0,0)|0){c[y>>2]=972;if((c[228]|0)==-1)c[228]=$b(1,0,19553,20447,c[y>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[228]|0))_b();c[k>>2]=19553;c[k+4>>2]=972;cc(1,61746,k);_b()}Kd(c[u>>2]|0);c[r>>2]=ae(47215,c[t>>2]|0,0)|0;Qc(s,c[n>>2]|0,32);c[q>>2]=Yd(0)|0;ce(c[q>>2]|0,c[s>>2]|0,c[r>>2]|0,c[t>>2]|0);Zd(c[r>>2]|0);Qd(c[s>>2]|0);c[v>>2]=Pd(256)|0;if(be(c[v>>2]|0,0,c[q>>2]|0,c[t>>2]|0)|0){c[z>>2]=989;if((c[229]|0)==-1)c[229]=$b(1,21128,19553,20447,c[z>>2]|0)|0;if((ac()|0)<=0){if(c[229]|0){z=Cd(0)|0;c[h>>2]=20470;c[h+4>>2]=19553;c[h+8>>2]=989;c[h+12>>2]=z;hc(1,21128,20679,h)}}else bc(-1,0);Zd(c[q>>2]|0);Fe(c[t>>2]|0);c[m>>2]=-1;C=c[m>>2]|0;i=e;return C|0}Zd(c[q>>2]|0);Fe(c[t>>2]|0);c[x>>2]=32;if(he(c[v>>2]|0,2)|0){c[A>>2]=998;if((c[230]|0)==-1)c[230]=$b(1,0,19553,20447,c[A>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[230]|0))_b();c[g>>2]=19553;c[g+4>>2]=998;cc(1,61746,g);_b()}if(!(Td(1,w,c[x>>2]|0,x,c[v>>2]|0)|0)){Bc(w,c[x>>2]|0,c[p>>2]|0);Qd(c[v>>2]|0);c[m>>2]=1;C=c[m>>2]|0;i=e;return C|0}c[B>>2]=1005;if((c[231]|0)==-1)c[231]=$b(1,0,19553,20447,c[B>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[231]|0))_b();c[f>>2]=19553;c[f+4>>2]=1005;cc(1,61746,f);_b();return 0}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=i;i=i+144|0;if((i|0)>=(j|0))$(144);f=e+40|0;g=e+32|0;h=e+16|0;k=e+8|0;l=e;m=e+104|0;n=e+100|0;o=e+96|0;p=e+92|0;q=e+88|0;r=e+84|0;s=e+80|0;t=e+76|0;u=e+72|0;v=e+68|0;w=e+112|0;x=e+64|0;y=e+60|0;z=e+56|0;A=e+52|0;B=e+48|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;d=c[o>>2]|0;c[l>>2]=32;c[l+4>>2]=d;if(Jd(u,0,20250,l)|0){c[m>>2]=-1;C=c[m>>2]|0;i=e;return C|0}if(_d(t,c[u>>2]|0,0)|0){c[y>>2]=1403;if((c[232]|0)==-1)c[232]=$b(1,0,19553,20488,c[y>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[232]|0))_b();c[k>>2]=19553;c[k+4>>2]=1403;cc(1,61746,k);_b()}Kd(c[u>>2]|0);c[r>>2]=ae(47215,c[t>>2]|0,0)|0;Qc(s,c[n>>2]|0,32);c[q>>2]=Yd(0)|0;ce(c[q>>2]|0,c[s>>2]|0,c[r>>2]|0,c[t>>2]|0);Zd(c[r>>2]|0);Qd(c[s>>2]|0);c[v>>2]=Pd(256)|0;if(be(c[v>>2]|0,0,c[q>>2]|0,c[t>>2]|0)|0){c[z>>2]=1420;if((c[233]|0)==-1)c[233]=$b(1,21128,19553,20488,c[z>>2]|0)|0;if((ac()|0)<=0){if(c[233]|0){z=Cd(0)|0;c[h>>2]=20470;c[h+4>>2]=19553;c[h+8>>2]=1420;c[h+12>>2]=z;hc(1,21128,20679,h)}}else bc(-1,0);Zd(c[q>>2]|0);Fe(c[t>>2]|0);c[m>>2]=-1;C=c[m>>2]|0;i=e;return C|0}Zd(c[q>>2]|0);Fe(c[t>>2]|0);c[x>>2]=32;if(he(c[v>>2]|0,2)|0){c[A>>2]=1429;if((c[234]|0)==-1)c[234]=$b(1,0,19553,20488,c[A>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[234]|0))_b();c[g>>2]=19553;c[g+4>>2]=1429;cc(1,61746,g);_b()}if(!(Td(1,w,c[x>>2]|0,x,c[v>>2]|0)|0)){Bc(w,c[x>>2]|0,c[p>>2]|0);Qd(c[v>>2]|0);c[m>>2]=1;C=c[m>>2]|0;i=e;return C|0}c[B>>2]=1436;if((c[235]|0)==-1)c[235]=$b(1,0,19553,20488,c[B>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[235]|0))_b();c[f>>2]=19553;c[f+4>>2]=1436;cc(1,61746,f);_b();return 0}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;ze(10,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0);i=e;return}function Cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=15;while(1){if((c[g>>2]|0)<0)break;b=Sc(c[e>>2]|0,-1)|0;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=b;c[g>>2]=(c[g>>2]|0)+-1}i=d;return}function Dc(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+12|0;e=a+8|0;c[d>>2]=Ub(4,20513,425)|0;if(!(ue(c[d>>2]|0,10,0)|0)){i=a;return c[d>>2]|0}c[e>>2]=429;if((c[236]|0)==-1)c[236]=$b(1,0,20513,20527,c[e>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[236]|0))_b();c[b>>2]=20513;c[b+4>>2]=429;cc(1,61746,b);_b();return 0}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;xe(c[c[f>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=ye(c[c[g>>2]>>2]|0,0)|0;if(c[k>>2]|0){if(!(c[h>>2]|0)){m=c[g>>2]|0;Gc(m);i=e;return}d=c[h>>2]|0;h=c[k>>2]|0;k=d+64|0;do{a[d>>0]=a[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(k|0));m=c[g>>2]|0;Gc(m);i=e;return}c[l>>2]=462;if((c[237]|0)==-1)c[237]=$b(1,0,20513,20560,c[l>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[237]|0))_b();c[f>>2]=20513;c[f+4>>2]=462;cc(1,61746,f);_b()}function Gc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;ve(c[c[d>>2]>>2]|0);Wb(c[d>>2]|0,20513,480);i=b;return}function Hc(b,d,e,f,g,h,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,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;n=i;i=i+144|0;if((i|0)>=(j|0))$(144);o=n+136|0;p=n+132|0;q=n+128|0;r=n+124|0;s=n+120|0;t=n+116|0;u=n+112|0;v=n+108|0;w=n+104|0;x=n+100|0;y=n+96|0;z=n+92|0;A=n+88|0;B=n+84|0;C=n+80|0;D=n+76|0;E=n+72|0;F=n+68|0;G=n+64|0;H=n+60|0;I=n+56|0;J=n+40|0;K=n+36|0;L=n+32|0;M=n+28|0;N=n+24|0;O=n+20|0;P=n+16|0;Q=n+12|0;R=n+8|0;S=n+4|0;T=n;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[E>>2]=Be(c[s>>2]|0)|0;c[F>>2]=Be(c[r>>2]|0)|0;m=c[F>>2]|0;c[G>>2]=Za()|0;l=m;m=i;i=i+((1*l|0)+15&-16)|0;if((i|0)>=(j|0))$((1*l|0)+15&-16|0);if(!(c[E>>2]|0)){c[o>>2]=-1;c[K>>2]=1;U=c[G>>2]|0;Ea(U|0);V=c[o>>2]|0;i=n;return V|0}if(ue(y,c[r>>2]|0,2)|0){c[o>>2]=-1;c[K>>2]=1;U=c[G>>2]|0;Ea(U|0);V=c[o>>2]|0;i=n;return V|0}if(ue(z,c[s>>2]|0,2)|0){ve(c[y>>2]|0);c[o>>2]=-1;c[K>>2]=1;U=c[G>>2]|0;Ea(U|0);V=c[o>>2]|0;i=n;return V|0}c[J>>2]=c[c[x>>2]>>2];c[I>>2]=0;while(1){s=(c[J>>2]|0)+(4-1)&~(4-1);r=c[s>>2]|0;c[J>>2]=s+4;c[L>>2]=r;if(!(c[L>>2]|0))break;r=(c[J>>2]|0)+(4-1)&~(4-1);s=c[r>>2]|0;c[J>>2]=r+4;c[M>>2]=s;c[I>>2]=(c[I>>2]|0)+(c[M>>2]|0)}Sw(c[p>>2]|0,0,c[q>>2]|0)|0;a:do if((Ic(c[y>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,m)|0)!=1)W=45;else{c[C>>2]=((c[q>>2]|0)>>>0)/((c[E>>2]|0)>>>0)|0;c[D>>2]=((c[q>>2]|0)>>>0)%((c[E>>2]|0)>>>0)|0;c[N>>2]=(c[E>>2]|0)+(c[I>>2]|0)+1;M=c[N>>2]|0;c[O>>2]=Za()|0;L=M;M=i;i=i+((1*L|0)+15&-16)|0;if((i|0)>=(j|0))$((1*L|0)+15&-16|0);c[Q>>2]=M+(c[E>>2]|0);c[J>>2]=c[c[x>>2]>>2];while(1){L=(c[J>>2]|0)+(4-1)&~(4-1);s=c[L>>2]|0;c[J>>2]=L+4;c[R>>2]=s;s=c[R>>2]|0;c[P>>2]=s;if(!s)break;s=(c[J>>2]|0)+(4-1)&~(4-1);L=c[s>>2]|0;c[J>>2]=s+4;c[T>>2]=L;c[S>>2]=c[T>>2];if(c[S>>2]|0)Yw(c[Q>>2]|0,c[P>>2]|0,c[S>>2]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(c[S>>2]|0)}do if((c[C>>2]|0)>>>0>0){a[M+(c[E>>2]|0)+(c[I>>2]|0)>>0]=1;c[A>>2]=Jc(c[z>>2]|0,m,c[F>>2]|0,M+(c[E>>2]|0)|0,(c[I>>2]|0)+1|0)|0;if(!(c[A>>2]|0)){c[K>>2]=4;break}if(c[E>>2]|0)Yw(c[p>>2]|0,c[A>>2]|0,c[E>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[E>>2]|0);W=22}else W=22;while(0);do if((W|0)==22){c[B>>2]=1;while(1){if((c[B>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;if(c[E>>2]|0)Yw(M|0,(c[p>>2]|0)+(0-(c[E>>2]|0))|0,c[E>>2]|0)|0;Sw(M+(c[E>>2]|0)+(c[I>>2]|0)|0,(c[B>>2]|0)+1&255|0,1)|0;we(c[z>>2]|0);c[A>>2]=Jc(c[z>>2]|0,m,c[F>>2]|0,M,c[N>>2]|0)|0;if(!(c[A>>2]|0)){W=27;break}if(c[E>>2]|0)Yw(c[p>>2]|0,c[A>>2]|0,c[E>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[E>>2]|0);c[B>>2]=(c[B>>2]|0)+1}if((W|0)==27){c[K>>2]=4;break}if((c[D>>2]|0)>>>0>0){if((c[C>>2]|0)>>>0>0){if(c[E>>2]|0)Yw(M|0,(c[p>>2]|0)+(0-(c[E>>2]|0))|0,c[E>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+1}Sw(M+(c[E>>2]|0)+(c[I>>2]|0)|0,c[B>>2]&255|0,1)|0;we(c[z>>2]|0);L=c[z>>2]|0;s=c[F>>2]|0;if((c[C>>2]|0)>>>0>0)c[A>>2]=Jc(L,m,s,M,c[N>>2]|0)|0;else c[A>>2]=Jc(L,m,s,M+(c[E>>2]|0)|0,(c[N>>2]|0)-(c[E>>2]|0)|0)|0;if(!(c[A>>2]|0)){c[K>>2]=4;break}if(c[D>>2]|0)Yw(c[p>>2]|0,c[A>>2]|0,c[D>>2]|0)|0}c[H>>2]=1;c[K>>2]=22}while(0);Ea(c[O>>2]|0);switch(c[K>>2]|0){case 4:{W=45;break a;break}case 22:{break a;break}default:{}}U=c[G>>2]|0;Ea(U|0);V=c[o>>2]|0;i=n;return V|0}while(0);if((W|0)==45)c[H>>2]=-1;ve(c[y>>2]|0);ve(c[z>>2]|0);c[o>>2]=c[H>>2];c[K>>2]=1;U=c[G>>2]|0;Ea(U|0);V=c[o>>2]|0;i=n;return V|0}function Ic(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=Jc(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(!(c[r>>2]|0)){c[k>>2]=-1;s=c[k>>2]|0;i=h;return s|0}if(Be(Ae(c[l>>2]|0)|0)|0){p=c[q>>2]|0;q=c[r>>2]|0;Yw(p|0,q|0,Be(Ae(c[l>>2]|0)|0)|0)|0}c[k>>2]=1;s=c[k>>2]|0;i=h;return s|0}function Jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;Ce(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;xe(c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);n=ye(c[h>>2]|0,0)|0;i=g;return n|0}function Kc(a,b,d,e,f,g,h,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=i;i=i+64|0;if((i|0)>=(j|0))$(64);n=m+52|0;o=m+48|0;p=m+44|0;q=m+40|0;r=m+36|0;s=m+32|0;t=m+28|0;u=m+24|0;v=m+8|0;w=m;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=k;c[v>>2]=l;c[w>>2]=Hc(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;i=m;return c[w>>2]|0}function Lc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+24|0;m=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;q=k+4|0;r=k;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;h=Hc(c[l>>2]|0,c[m>>2]|0,10,8,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;i=k;return h|0}function Mc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=k+44|0;m=k+40|0;n=k+36|0;o=k+32|0;p=k+28|0;q=k+24|0;r=k+8|0;s=k;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=Lc(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,r)|0;i=k;return c[s>>2]|0}function Nc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;k=i;i=i+112|0;if((i|0)>=(j|0))$(112);l=k+40|0;m=k+32|0;n=k+24|0;o=k;p=k+108|0;q=k+104|0;r=k+100|0;s=k+96|0;t=k+92|0;u=k+88|0;v=k+84|0;w=k+80|0;x=k+76|0;y=k+72|0;z=k+68|0;A=k+64|0;B=k+60|0;C=k+56|0;D=k+52|0;E=k+48|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[x>>2]=de(c[q>>2]|0)|0;c[z>>2]=0;while(1){h=((((c[x>>2]|0)-1|0)>>>0)/8|0)+1|0;c[A>>2]=Za()|0;g=h;f=i;i=i+((1*g|0)+15&-16)|0;if((i|0)>=(j|0))$((1*g|0)+15&-16|0);g=c[r>>2]|0;e=c[s>>2]|0;d=c[t>>2]|0;b=c[u>>2]|0;a=c[v>>2]|0;F=hv(c[v>>2]|0)|0;c[o>>2]=a;c[o+4>>2]=F;c[o+8>>2]=z;c[o+12>>2]=4;c[o+16>>2]=0;c[o+20>>2]=0;c[w>>2]=Mc(f,h,g,e,d,b,o)|0;if(1!=(c[w>>2]|0)){G=3;break}c[w>>2]=Sd(c[p>>2]|0,5,f,h,y)|0;if(c[w>>2]|0){G=11;break}fe(c[c[p>>2]>>2]|0,c[x>>2]|0);if(ee(c[c[p>>2]>>2]|0,c[x>>2]|0)|0){G=19;break}c[z>>2]=(c[z>>2]|0)+1;if(0>(Rd(c[c[p>>2]>>2]|0,c[q>>2]|0)|0))c[E>>2]=3;else{Qd(c[c[p>>2]>>2]|0);c[E>>2]=0}Ea(c[A>>2]|0);if((c[E>>2]|0)>>>0>=1){G=30;break}}if((G|0)==3){c[B>>2]=155;if((c[238]|0)==-1)c[238]=$b(1,0,20594,20607,c[B>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[238]|0))_b();c[n>>2]=20594;c[n+4>>2]=155;cc(1,61746,n);_b()}else if((G|0)==11){c[C>>2]=162;if((c[239]|0)==-1)c[239]=$b(1,0,20594,20607,c[C>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[239]|0))_b();c[m>>2]=20594;c[m+4>>2]=162;cc(1,61746,m);_b()}else if((G|0)==19){c[D>>2]=165;if((c[240]|0)==-1)c[240]=$b(1,0,20594,20607,c[D>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[240]|0))_b();c[l>>2]=20594;c[l+4>>2]=165;cc(1,61746,l);_b()}else if((G|0)==30){i=k;return}}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+24|0;g=e+8|0;h=e;k=e+68|0;l=e+64|0;m=e+60|0;n=e+56|0;o=e+52|0;p=e+48|0;q=e+44|0;r=e+40|0;s=e+36|0;t=e+32|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(he(c[m>>2]|0,2)|0){c[q>>2]=ge(c[m>>2]|0,p)|0;if(c[q>>2]|0){c[n>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;if((c[n>>2]|0)>>>0>(c[l>>2]|0)>>>0)c[n>>2]=c[l>>2];if(c[n>>2]|0)Yw(c[k>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;if((c[n>>2]|0)>>>0>=(c[l>>2]|0)>>>0){i=e;return}Sw((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[l>>2]|0)-(c[n>>2]|0)|0)|0;i=e;return}c[r>>2]=89;if((c[241]|0)==-1)c[241]=$b(1,0,20633,20646,c[r>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[241]|0))_b();c[h>>2]=20633;c[h+4>>2]=89;cc(1,61746,h);_b()}else{c[n>>2]=c[l>>2];h=Td(5,c[k>>2]|0,c[n>>2]|0,n,c[m>>2]|0)|0;c[o>>2]=h;if(!h){Pc(c[k>>2]|0,c[n>>2]|0,c[l>>2]|0);i=e;return}c[s>>2]=110;if((c[242]|0)==-1)c[242]=$b(1,21128,20633,20646,c[s>>2]|0)|0;if((ac()|0)<=0){if(c[242]|0){s=Cd(c[o>>2]|0)|0;c[g>>2]=20716;c[g+4>>2]=20633;c[g+8>>2]=110;c[g+12>>2]=s;hc(1,21128,20679,g)}}else bc(-1,0);c[t>>2]=111;if((c[243]|0)==-1)c[243]=$b(1,0,20633,20646,c[t>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[243]|0))_b();c[f>>2]=20633;c[f+4>>2]=111;cc(1,61746,f);_b()}}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];if((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0){i=e;return}Zw((c[k>>2]|0)+((c[h>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;Sw(c[f>>2]|0,0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;i=e;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+16|0;g=e;h=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;d=Sd(c[h>>2]|0,5,c[k>>2]|0,c[l>>2]|0,l)|0;c[m>>2]=d;if(!d){i=e;return}c[n>>2]=140;if((c[244]|0)==-1)c[244]=$b(1,21128,20633,20731,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[244]|0){n=Cd(c[m>>2]|0)|0;c[g>>2]=20763;c[g+4>>2]=20633;c[g+8>>2]=140;c[g+12>>2]=n;hc(1,21128,20679,g)}}else bc(-1,0);c[o>>2]=141;if((c[245]|0)==-1)c[245]=$b(1,0,20633,20731,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[245]|0))_b();c[f>>2]=20633;c[f+4>>2]=141;cc(1,61746,f);_b()}function Rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+80|0;if((i|0)>=(j|0))$(80);b=a+56|0;d=a+48|0;e=a+40|0;f=a+32|0;g=a+24|0;h=a+16|0;k=a+8|0;l=a;m=a+64|0;n=a+60|0;if(Gd(20777)|0){c[h>>2]=0;o=Hd(37,h)|0;c[m>>2]=o;if(o|0){o=c[3977]|0;h=Cd(c[m>>2]|0)|0;c[g>>2]=20930;c[g+4>>2]=h;Fv(o,20891,g)|0}c[f>>2]=0;g=Hd(44,f)|0;c[m>>2]=g;if(!g){c[d>>2]=0;Hd(38,d)|0;c[b>>2]=0;Hd(48,b)|0;p=kb(0)|0;q=Sc(2,-1)|0;r=p^q;Tc(r);i=a;return}g=c[3977]|0;f=Cd(c[m>>2]|0)|0;c[e>>2]=20945;c[e+4>>2]=f;Fv(g,20891,e)|0;c[d>>2]=0;Hd(38,d)|0;c[b>>2]=0;Hd(48,b)|0;p=kb(0)|0;q=Sc(2,-1)|0;r=p^q;Tc(r);i=a;return}a=c[3977]|0;c[l>>2]=20777;Fv(a,20783,l)|0;c[n>>2]=286;if((c[246]|0)==-1)c[246]=$b(1,0,20849,20865,c[n>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[246]|0))_b();c[k>>2]=20849;c[k+4>>2]=286;cc(1,61746,k);_b()}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d+16|0;f=d+8|0;g=d;h=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[k>>2]=a;c[l>>2]=b;if((c[l>>2]|0)>>>0<=0){c[o>>2]=157;if((c[247]|0)==-1)c[247]=$b(1,0,20849,20965,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[247]|0))_b();c[g>>2]=20849;c[g+4>>2]=157;cc(1,61746,g);_b()}switch(c[k>>2]|0){case 1:{k=c[17691]|0;c[17691]=k+1;if(!((k>>>0)%256|0)){c[f>>2]=0;Hd(48,f)|0}c[n>>2]=-1-(4294967295%((c[l>>2]|0)>>>0)|0);do De(m,4,1);while((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0);c[h>>2]=((c[m>>2]|0)>>>0)%((c[l>>2]|0)>>>0)|0;q=c[h>>2]|0;i=d;return q|0}case 2:{c[n>>2]=-1-(4294967295%((c[l>>2]|0)>>>0)|0);do Ee(m,4);while((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0);c[h>>2]=((c[m>>2]|0)>>>0)%((c[l>>2]|0)>>>0)|0;q=c[h>>2]|0;i=d;return q|0}case 0:{r=+((c[l>>2]|0)>>>0);c[m>>2]=~~(r*+Uc())>>>0;if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0)c[m>>2]=(c[l>>2]|0)-1;c[h>>2]=c[m>>2];q=c[h>>2]|0;i=d;return q|0}default:{c[p>>2]=189;if((c[248]|0)==-1)c[248]=$b(1,0,20849,20965,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[248]|0))_b();c[e>>2]=20849;c[e+4>>2]=189;cc(1,61746,e);_b()}}return 0}function Tc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;xw(c[d>>2]|0);i=b;return}function Uc(){return +(+(zw()|0)/2147483647.0)}function Vc(){Ge(0,0);return}function Wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+16|0;g=e+8|0;h=e;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;switch(c[k>>2]|0){case 1:{k=c[17692]|0;c[17692]=k+1;if(!((k>>>0)%256|0)){c[h>>2]=0;Hd(48,h)|0}De(c[l>>2]|0,c[m>>2]|0,1);i=e;return}case 2:{Ee(c[l>>2]|0,c[m>>2]|0);i=e;return}case 0:{h=c[17692]|0;c[17692]=h+1;if(!((h>>>0)%256|0)){c[g>>2]=0;Hd(48,g)|0}De(c[l>>2]|0,c[m>>2]|0,0);i=e;return}default:{c[n>>2]=135;if((c[249]|0)==-1)c[249]=$b(1,0,20849,20990,c[n>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[249]|0))_b();c[f>>2]=20849;c[f+4>>2]=135;cc(1,61746,f);_b()}}}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;b=i;i=i+48|0;if((i|0)>=(j|0))$(48);d=b+16|0;e=b+8|0;f=b;g=b+44|0;h=b+40|0;k=b+36|0;l=b+32|0;m=b+28|0;n=b+24|0;c[g>>2]=a;c[f>>2]=c[g>>2];if(Jd(l,0,21017,f)|0){c[m>>2]=155;if((c[250]|0)==-1)c[250]=$b(1,0,21041,21054,c[m>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[250]|0))_b();c[e>>2]=21041;c[e+4>>2]=155;cc(1,61746,e);_b()}if(!(te(k,c[l>>2]|0)|0)){Kd(c[l>>2]|0);c[h>>2]=Ub(4,21041,164)|0;c[c[h>>2]>>2]=c[k>>2];i=b;return c[h>>2]|0}c[n>>2]=158;if((c[251]|0)==-1)c[251]=$b(1,0,21041,21054,c[n>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[251]|0))_b();c[d>>2]=21041;c[d+4>>2]=158;cc(1,61746,d);_b();return 0}function Yc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Kd(c[c[d>>2]>>2]|0);Wb(c[d>>2]|0,21041,179);i=b;return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Ld(c[c[f>>2]>>2]|0,0,0,0)|0;c[k>>2]=Ub(c[h>>2]|0,21041,202)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(Ld(c[c[f>>2]>>2]|0,0,c[k>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[k>>2];i=d;return c[h>>2]|0}c[l>>2]=207;if((c[252]|0)==-1)c[252]=$b(1,0,21041,21091,c[l>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[252]|0))_b();c[e>>2]=21041;c[e+4>>2]=207;cc(1,61746,e);_b();return 0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+8|0;f=d;g=d+32|0;h=d+28|0;k=d+24|0;l=d+20|0;m=d+16|0;n=d+12|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=Ub(4,21041,226)|0;if(Id(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,0)|0){c[m>>2]=234;if((c[253]|0)==-1)c[253]=$b(2,21128,21041,21133,c[m>>2]|0)|0;if((ac()|0)<=0){if(c[253]|0)hc(2,21128,21170,f)}else bc(-1,0);Wb(c[l>>2]|0,21041,235);c[g>>2]=0;o=c[g>>2]|0;i=d;return o|0}if(!(se(c[c[l>>2]>>2]|0)|0)){c[g>>2]=c[l>>2];o=c[g>>2]|0;i=d;return o|0}c[n>>2]=241;if((c[254]|0)==-1)c[254]=$b(2,21128,21041,21133,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[254]|0)hc(2,21128,21170,e)}else bc(-1,0);Yc(c[l>>2]|0);c[g>>2]=0;o=c[g>>2]|0;i=d;return o|0}function $c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+64|0;if((i|0)>=(j|0))$(64);d=b+8|0;e=b;f=b+48|0;g=b+44|0;h=b+40|0;k=b+32|0;l=b+24|0;m=b+20|0;n=b+16|0;c[g>>2]=a;c[l>>2]=ad(k,c[c[g>>2]>>2]|0,37989,39361)|0;if(c[l>>2]|0)c[l>>2]=ad(k,c[c[g>>2]>>2]|0,37977,39361)|0;if(c[l>>2]|0)c[l>>2]=ad(k,c[c[g>>2]>>2]|0,40959,39361)|0;if(!(c[l>>2]|0)){g=c[k+4>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=g;c[l>>2]=Jd(m,0,21293,d)|0;Qd(c[k>>2]|0);Qd(c[k+4>>2]|0);c[h>>2]=Ub(4,21041,280)|0;c[c[h>>2]>>2]=c[m>>2];c[f>>2]=c[h>>2];o=c[f>>2]|0;i=b;return o|0}c[n>>2]=270;if((c[255]|0)==-1)c[255]=$b(2,0,21041,21204,c[n>>2]|0)|0;if((ac()|0)<=0){if(c[255]|0){c[e>>2]=21041;c[e+4>>2]=270;cc(66,21245,e)}}else bc(-1,0);c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}function ad(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=Md(c[l>>2]|0,c[m>>2]|0,0)|0;c[o>>2]=f;if(!f){c[h>>2]=1;t=c[h>>2]|0;i=g;return t|0}c[p>>2]=Nd(c[o>>2]|0)|0;Kd(c[o>>2]|0);c[o>>2]=c[p>>2];if(!(c[o>>2]|0)){c[h>>2]=2;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=0;c[q>>2]=c[n>>2];while(1){u=c[o>>2]|0;if(!(a[c[q>>2]>>0]|0)){v=18;break}n=Md(u,c[q>>2]|0,1)|0;c[p>>2]=n;if(!n){v=8;break}n=Od(c[p>>2]|0,1,5)|0;c[(c[k>>2]|0)+(c[s>>2]<<2)>>2]=n;Kd(c[p>>2]|0);if(!(c[(c[k>>2]|0)+(c[s>>2]<<2)>>2]|0)){v=13;break}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}if((v|0)==8){c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;Ie(c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}Kd(c[o>>2]|0);c[h>>2]=3;t=c[h>>2]|0;i=g;return t|0}else if((v|0)==13){c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;Ie(c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}Kd(c[o>>2]|0);c[h>>2]=4;t=c[h>>2]|0;i=g;return t|0}else if((v|0)==18){Kd(u);c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function bd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Kd(c[c[d>>2]>>2]|0);Wb(c[d>>2]|0,21041,295);i=b;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Ld(c[c[f>>2]>>2]|0,3,0,0)|0;c[k>>2]=Ub(c[h>>2]|0,21041,318)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(Ld(c[c[f>>2]>>2]|0,3,c[k>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[k>>2];i=d;return c[h>>2]|0}c[l>>2]=323;if((c[256]|0)==-1)c[256]=$b(1,0,21041,21323,c[l>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[256]|0))_b();c[e>>2]=21041;c[e+4>>2]=323;cc(1,61746,e);_b();return 0}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+8|0;f=d;g=d+44|0;h=d+40|0;k=d+36|0;l=d+32|0;m=d+28|0;n=d+24|0;o=d+20|0;p=d+16|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=Ub(4,21041,367)|0;if(Id(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,0)|0){c[o>>2]=374;if((c[257]|0)==-1)c[257]=$b(2,0,21041,21359,c[o>>2]|0)|0;if((ac()|0)<=0){if(c[257]|0){c[f>>2]=21041;c[f+4>>2]=374;cc(66,21245,f)}}else bc(-1,0);Wb(c[l>>2]|0,21041,375);c[g>>2]=0;q=c[g>>2]|0;i=d;return q|0}c[n>>2]=ad(m,c[c[l>>2]>>2]|0,37989,39375)|0;if(c[n>>2]|0)c[n>>2]=ad(m,c[c[l>>2]>>2]|0,40959,39375)|0;if(!(c[n>>2]|0)){Qd(c[m>>2]|0);c[g>>2]=c[l>>2];q=c[g>>2]|0;i=d;return q|0}c[p>>2]=385;if((c[258]|0)==-1)c[258]=$b(1,0,21041,21359,c[p>>2]|0)|0;if((ac()|0)<=0){if(c[258]|0){c[e>>2]=21041;c[e+4>>2]=385;cc(1,61746,e)}}else bc(-1,0);Kd(c[c[l>>2]>>2]|0);Wb(c[l>>2]|0,21041,387);c[g>>2]=0;q=c[g>>2]|0;i=d;return q|0}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Ld(c[c[f>>2]>>2]|0,3,0,0)|0;c[k>>2]=Ub(c[h>>2]|0,21041,958)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(Ld(c[c[f>>2]>>2]|0,3,c[k>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[k>>2];i=d;return c[h>>2]|0}c[l>>2]=963;if((c[259]|0)==-1)c[259]=$b(1,0,21041,21395,c[l>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[259]|0))_b();c[e>>2]=21041;c[e+4>>2]=963;cc(1,61746,e);_b();return 0}function fd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=g+8|0;k=g;l=g+76|0;m=g+72|0;n=g+68|0;o=g+64|0;p=g+60|0;q=g+56|0;r=g+52|0;s=g+48|0;t=g+40|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g+16|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[x>>2]=738;if((c[260]|0)==-1)c[260]=$b(1,0,21041,21430,c[x>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[260]|0))_b();c[k>>2]=21041;c[k+4>>2]=738;cc(1,61746,k);_b()}c[w>>2]=ad(t,c[c[o>>2]>>2]|0,37989,39361)|0;if(c[w>>2]|0)c[w>>2]=ad(t,c[c[o>>2]>>2]|0,40959,39361)|0;if(!(c[w>>2]|0)){c[s>>2]=gd(c[o>>2]|0,c[m>>2]|0)|0;do if(c[s>>2]|0){c[r>>2]=hd(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){Qd(c[s>>2]|0);break}c[u>>2]=Pd(0)|0;Vd(c[u>>2]|0,c[c[r>>2]>>2]|0,c[t+4>>2]|0,c[t>>2]|0);c[v>>2]=Pd(0)|0;Ud(c[v>>2]|0,c[s>>2]|0,c[u>>2]|0,c[t>>2]|0);Qd(c[s>>2]|0);Qd(c[t>>2]|0);Qd(c[t+4>>2]|0);Qd(c[u>>2]|0);id(c[r>>2]|0);m=jd(c[v>>2]|0,c[p>>2]|0)|0;c[c[q>>2]>>2]=m;Qd(c[v>>2]|0);c[l>>2]=1;z=c[l>>2]|0;i=g;return z|0}while(0);Qd(c[t>>2]|0);Qd(c[t+4>>2]|0);c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;c[l>>2]=0;z=c[l>>2]|0;i=g;return z|0}c[y>>2]=744;if((c[261]|0)==-1)c[261]=$b(1,0,21041,21430,c[y>>2]|0)|0;if((ac()|0)<=0){if(c[261]|0){c[h>>2]=21041;c[h+4>>2]=744;cc(1,61746,h)}}else bc(-1,0);c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;c[l>>2]=0;z=c[l>>2]|0;i=g;return z|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d+8|0;f=d;g=d+52|0;h=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;q=d+20|0;r=d+16|0;c[h>>2]=a;c[k>>2]=b;if(ad(m,c[c[h>>2]>>2]|0,40959,39375)|0){c[q>>2]=689;if((c[266]|0)==-1)c[266]=$b(1,0,21041,21548,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[266]|0))_b();c[f>>2]=21041;c[f+4>>2]=689;cc(1,61746,f);_b()}if(!(he(c[m>>2]|0,2)|0)){c[o>>2]=cd(c[h>>2]|0,n)|0;Nc(l,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[k>>2]|0,64,21569);Wb(c[n>>2]|0,21041,704);c[p>>2]=kd(c[l>>2]|0,c[m>>2]|0)|0;Qd(c[m>>2]|0);m=c[l>>2]|0;if(c[p>>2]|0){c[g>>2]=m;s=c[g>>2]|0;i=d;return s|0}else{Qd(m);c[g>>2]=0;s=c[g>>2]|0;i=d;return s|0}}c[r>>2]=691;if((c[267]|0)==-1)c[267]=$b(1,0,21041,21548,c[r>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[267]|0))_b();c[e>>2]=21041;c[e+4>>2]=691;cc(1,61746,e);_b();return 0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d+16|0;f=d+8|0;g=d;h=d+52|0;k=d+48|0;l=d+44|0;m=d+40|0;n=d+36|0;o=d+32|0;p=d+28|0;q=d+24|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=21480;c[m>>2]=Ub(4,21041,434)|0;if(!(c[m>>2]|0)){c[o>>2]=435;if((c[263]|0)==-1)c[263]=$b(1,0,21041,21511,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[263]|0))_b();c[g>>2]=21041;c[g+4>>2]=435;cc(1,61746,g);_b()}if(ad(n,c[c[h>>2]>>2]|0,40959,39375)|0){c[p>>2]=438;if((c[264]|0)==-1)c[264]=$b(1,0,21041,21511,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[264]|0))_b();c[f>>2]=21041;c[f+4>>2]=438;cc(1,61746,f);_b()}if(!(he(c[n>>2]|0,2)|0)){f=c[m>>2]|0;p=c[n>>2]|0;h=c[l>>2]|0;g=hv(c[l>>2]|0)|0;Nc(f,p,h,g,c[k>>2]|0,32,21535);if(kd(c[c[m>>2]>>2]|0,c[n>>2]|0)|0){r=c[n>>2]|0;Qd(r);s=c[m>>2]|0;i=d;return s|0}Wb(c[m>>2]|0,21041,448);c[m>>2]=0;r=c[n>>2]|0;Qd(r);s=c[m>>2]|0;i=d;return s|0}c[q>>2]=440;if((c[265]|0)==-1)c[265]=$b(1,0,21041,21511,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[265]|0))_b();c[e>>2]=21041;c[e+4>>2]=440;cc(1,61746,e);_b();return 0}function id(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Qd(c[c[d>>2]>>2]|0);Wb(c[d>>2]|0,21041,631);i=b;return}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;f=d+28|0;g=d+24|0;h=d+20|0;k=d+16|0;l=d+8|0;c[f>>2]=a;c[g>>2]=b;Td(5,0,0,h,c[f>>2]|0)|0;c[k>>2]=Ub(c[h>>2]|0,21041,655)|0;if(!(Td(5,c[k>>2]|0,c[h>>2]|0,d+12|0,c[f>>2]|0)|0)){c[c[g>>2]>>2]=c[k>>2];i=d;return c[h>>2]|0}c[l>>2]=661;if((c[262]|0)==-1)c[262]=$b(1,0,21041,21454,c[l>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[262]|0))_b();c[e>>2]=21041;c[e+4>>2]=661;cc(1,61746,e);_b();return 0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Pd(0)|0;c[h>>2]=Wd(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;Qd(c[g>>2]|0);i=d;return c[h>>2]|0}function ld(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+8|0;e=b;f=b+24|0;g=b+20|0;h=b+16|0;c[f>>2]=a;c[g>>2]=0;c[e>>2]=c[f>>2];if(!(Jd(g,0,21584,e)|0)){i=b;return c[g>>2]|0}c[h>>2]=806;if((c[268]|0)==-1)c[268]=$b(1,0,21041,21614,c[h>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[268]|0))_b();c[d>>2]=21041;c[d+4>>2]=806;cc(1,61746,d);_b();return 0}function md(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Kd(c[c[d>>2]>>2]|0);Wb(c[d>>2]|0,21041,936);i=b;return}function nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+8|0;f=d;g=d+44|0;h=d+40|0;k=d+36|0;l=d+32|0;m=d+28|0;n=d+24|0;o=d+20|0;p=d+16|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=Ub(4,21041,985)|0;if(Id(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,0)|0){c[o>>2]=992;if((c[269]|0)==-1)c[269]=$b(2,0,21041,21626,c[o>>2]|0)|0;if((ac()|0)<=0){if(c[269]|0){c[f>>2]=21041;c[f+4>>2]=992;cc(66,21245,f)}}else bc(-1,0);Wb(c[l>>2]|0,21041,993);c[g>>2]=0;q=c[g>>2]|0;i=d;return q|0}c[m>>2]=ad(n,c[c[l>>2]>>2]|0,37839,39373)|0;if(c[m>>2]|0)c[m>>2]=ad(n,c[c[l>>2]>>2]|0,40959,39373)|0;if(!(c[m>>2]|0)){Qd(c[n>>2]|0);c[g>>2]=c[l>>2];q=c[g>>2]|0;i=d;return q|0}c[p>>2]=1003;if((c[270]|0)==-1)c[270]=$b(2,0,21041,21626,c[p>>2]|0)|0;if((ac()|0)<=0){if(c[270]|0){c[e>>2]=21041;c[e+4>>2]=1003;cc(66,21245,e)}}else bc(-1,0);Kd(c[c[l>>2]>>2]|0);Wb(c[l>>2]|0,21041,1005);c[g>>2]=0;q=c[g>>2]|0;i=d;return q|0}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=i;i=i+112|0;if((i|0)>=(j|0))$(112);f=e+40|0;g=e+32|0;h=e+24|0;k=e+16|0;l=e+8|0;m=e;n=e+108|0;o=e+104|0;p=e+100|0;q=e+96|0;r=e+92|0;s=e+88|0;t=e+84|0;u=e+80|0;v=e+76|0;w=e+72|0;x=e+68|0;y=e+64|0;z=e+60|0;A=e+56|0;B=e+52|0;C=e+48|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[w>>2]=ad(s,c[c[q>>2]>>2]|0,37989,39375)|0;if(c[w>>2]|0)c[w>>2]=ad(s,c[c[q>>2]>>2]|0,40959,39375)|0;if(c[w>>2]|0){c[y>>2]=1066;if((c[271]|0)==-1)c[271]=$b(2,0,21041,21661,c[y>>2]|0)|0;if((ac()|0)<=0){if(c[271]|0){c[m>>2]=21041;c[m+4>>2]=1066;cc(66,21245,m)}}else bc(-1,0);c[n>>2]=0;D=c[n>>2]|0;i=e;return D|0}c[w>>2]=ad(t,c[c[o>>2]>>2]|0,37839,39373)|0;if(c[w>>2]|0)c[w>>2]=ad(t,c[c[o>>2]>>2]|0,40959,39373)|0;if(c[w>>2]|0){Qd(c[s>>2]|0);c[z>>2]=1075;if((c[272]|0)==-1)c[272]=$b(2,0,21041,21661,c[z>>2]|0)|0;if((ac()|0)<=0){if(c[272]|0){c[l>>2]=21041;c[l+4>>2]=1075;cc(66,21245,l)}}else bc(-1,0);c[n>>2]=0;D=c[n>>2]|0;i=e;return D|0}c[r>>2]=hd(c[q>>2]|0,c[p>>2]|0)|0;if(!(c[r>>2]|0)){c[A>>2]=1086;if((c[273]|0)==-1)c[273]=$b(2,0,21041,21661,c[A>>2]|0)|0;if((ac()|0)<=0){if(c[273]|0){c[k>>2]=21041;c[k+4>>2]=1086;cc(66,21245,k)}}else bc(-1,0);Qd(c[s>>2]|0);Qd(c[t>>2]|0);c[n>>2]=0;D=c[n>>2]|0;i=e;return D|0}c[u>>2]=Pd(0)|0;if(1!=(Xd(c[u>>2]|0,c[c[r>>2]>>2]|0,c[s>>2]|0)|0)){c[B>>2]=1100;if((c[274]|0)==-1)c[274]=$b(2,0,21041,21661,c[B>>2]|0)|0;if((ac()|0)<=0){if(c[274]|0){c[h>>2]=21041;c[h+4>>2]=1100;cc(66,21245,h)}}else bc(-1,0);Qd(c[u>>2]|0);id(c[r>>2]|0);Qd(c[s>>2]|0);Qd(c[t>>2]|0);c[n>>2]=0;D=c[n>>2]|0;i=e;return D|0}c[v>>2]=Pd(0)|0;Ud(c[v>>2]|0,c[t>>2]|0,c[u>>2]|0,c[s>>2]|0);Qd(c[s>>2]|0);Qd(c[u>>2]|0);Qd(c[t>>2]|0);id(c[r>>2]|0);c[x>>2]=Ub(4,21041,1115)|0;r=c[x>>2]|0;c[g>>2]=c[v>>2];if(!(Jd(r,0,21687,g)|0)){Qd(c[v>>2]|0);c[n>>2]=c[x>>2];D=c[n>>2]|0;i=e;return D|0}c[C>>2]=1120;if((c[275]|0)==-1)c[275]=$b(1,0,21041,21661,c[C>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[275]|0))_b();c[f>>2]=21041;c[f+4>>2]=1120;cc(1,61746,f);_b();return 0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+8|0;g=e;h=e+52|0;k=e+48|0;l=e+44|0;m=e+40|0;n=e+36|0;o=e+32|0;p=e+28|0;q=e+24|0;r=e+20|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[o>>2]=gd(c[m>>2]|0,c[k>>2]|0)|0;if(!(c[o>>2]|0)){c[q>>2]=1146;if((c[276]|0)==-1)c[276]=$b(2,0,21041,21710,c[q>>2]|0)|0;if((ac()|0)<=0){if(c[276]|0){c[g>>2]=21041;c[g+4>>2]=1146;cc(66,21245,g)}}else bc(-1,0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}c[n>>2]=ld(c[o>>2]|0)|0;Qd(c[o>>2]|0);c[p>>2]=re(c[c[l>>2]>>2]|0,c[n>>2]|0,c[c[m>>2]>>2]|0)|0;Kd(c[n>>2]|0);if(!(c[p>>2]|0)){c[h>>2]=1;s=c[h>>2]|0;i=e;return s|0}c[r>>2]=1169;if((c[277]|0)==-1)c[277]=$b(2,21128,21041,21710,c[r>>2]|0)|0;if((ac()|0)<=0){if(c[277]|0){r=Cd(c[p>>2]|0)|0;c[f>>2]=21041;c[f+4>>2]=1168;c[f+8>>2]=r;hc(2,21128,21735,f)}}else bc(-1,0);c[h>>2]=-1;s=c[h>>2]|0;i=e;return s|0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+16|0;f=d+40|0;g=d+36|0;h=d+32|0;k=d+8|0;l=d;c[g>>2]=b;c[h>>2]=21823;b=a;m=c[b+4>>2]|0;n=k;c[n>>2]=c[b>>2];c[n+4>>2]=m;m=wd()|0;n=l;c[n>>2]=m;c[n+4>>2]=D;n=l;l=a;if((c[n>>2]|0)==(c[l>>2]|0)?(c[n+4>>2]|0)==(c[l+4>>2]|0):0){c[f>>2]=21801;o=c[f>>2]|0;i=d;return o|0}l=a;if(0==(c[l>>2]|0)?0==(c[l+4>>2]|0):0){c[f>>2]=21827;o=c[f>>2]|0;i=d;return o|0}l=k;a=c[l+4>>2]|0;if(!(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[l>>2]|0)>>>0>5e3))?(l=k,a=hx(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0,!(0==(a|0)&0==(D|0))):0))p=7;do if((p|0)==7){a=k;l=cx(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0;a=k;c[a>>2]=l;c[a+4>>2]=D;c[h>>2]=21809;a=k;l=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(l>>>0>0|(l|0)==0&(c[a>>2]|0)>>>0>5e3))?(a=k,l=hx(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0,!(0==(l|0)&0==(D|0))):0)break;l=k;a=cx(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=k;c[l>>2]=a;c[l+4>>2]=D;c[h>>2]=39373;l=k;a=c[l+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[l>>2]|0)>>>0>300))?(l=k,a=hx(c[l>>2]|0,c[l+4>>2]|0,60,0)|0,!(0==(a|0)&0==(D|0))):0)break;a=k;l=cx(c[a>>2]|0,c[a+4>>2]|0,60,0)|0;a=k;c[a>>2]=l;c[a+4>>2]=D;c[h>>2]=21812;a=k;l=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(l>>>0>0|(l|0)==0&(c[a>>2]|0)>>>0>300))?(a=k,l=hx(c[a>>2]|0,c[a+4>>2]|0,60,0)|0,!(0==(l|0)&0==(D|0))):0)break;l=k;a=cx(c[l>>2]|0,c[l+4>>2]|0,60,0)|0;l=k;c[l>>2]=a;c[l+4>>2]=D;c[h>>2]=35616;l=k;a=c[l+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[l>>2]|0)>>>0>120))?(l=k,a=hx(c[l>>2]|0,c[l+4>>2]|0,24,0)|0,!(0==(a|0)&0==(D|0))):0)break;a=k;l=cx(c[a>>2]|0,c[a+4>>2]|0,24,0)|0;a=k;c[a>>2]=l;c[a+4>>2]=D;a=k;if(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0){c[h>>2]=21814;break}else{c[h>>2]=21818;break}}while(0);g=k;k=c[g+4>>2]|0;p=c[h>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=k;c[e+8>>2]=p;Xb(72095,128,21793,e)|0;c[f>>2]=72095;o=c[f>>2]|0;i=d;return o|0}function rd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=i;i=i+96|0;if((i|0)>=(j|0))$(96);k=h+24|0;l=h+16|0;m=h+8|0;n=h;o=h+84|0;p=h+80|0;q=h+76|0;r=h+72|0;s=h+68|0;t=h+64|0;u=h+60|0;v=h+56|0;w=h+52|0;x=h+48|0;y=h+44|0;z=h+40|0;A=h+36|0;B=h+32|0;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[x>>2]=c[p>>2];if((c[s>>2]|0)>>>0<((((c[q>>2]<<3)+4|0)>>>0)/5|0)>>>0){c[y>>2]=883;if((c[278]|0)==-1)c[278]=$b(1,0,21783,21832,c[y>>2]|0)|0;if((ac()|0)<=0){if(c[278]|0){c[n>>2]=21783;c[n+4>>2]=883;cc(1,61746,n)}}else bc(-1,0);c[o>>2]=0;C=c[o>>2]|0;i=h;return C|0}c[w>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;while(1){if(!((c[u>>2]|0)>>>0<(c[q>>2]|0)>>>0?1:(c[w>>2]|0)>>>0>0)){D=32;break}if((c[w>>2]|0)>>>0<5?(c[u>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){n=c[v>>2]<<8;y=c[u>>2]|0;c[u>>2]=y+1;c[v>>2]=n|(d[(c[x>>2]|0)+y>>0]|0);c[w>>2]=(c[w>>2]|0)+8}if((c[w>>2]|0)>>>0<5){c[v>>2]=c[v>>2]<<5-(c[w>>2]|0);if((c[w>>2]|0)!=((c[q>>2]<<3>>>0)%5|0|0)){D=15;break}c[w>>2]=5}if((c[t>>2]|0)>>>0>=(c[s>>2]|0)>>>0){D=24;break}y=a[(c[281]|0)+((c[v>>2]|0)>>>((c[w>>2]|0)-5|0)&31)>>0]|0;n=c[t>>2]|0;c[t>>2]=n+1;a[(c[r>>2]|0)+n>>0]=y;c[w>>2]=(c[w>>2]|0)-5}if((D|0)==15){c[z>>2]=900;if((c[279]|0)==-1)c[279]=$b(1,0,21783,21832,c[z>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[279]|0))_b();c[m>>2]=21783;c[m+4>>2]=900;cc(1,61746,m);_b()}else if((D|0)==24){c[A>>2]=905;if((c[280]|0)==-1)c[280]=$b(1,0,21783,21832,c[A>>2]|0)|0;if((ac()|0)<=0){if(c[280]|0){c[l>>2]=21783;c[l+4>>2]=905;cc(1,61746,l)}}else bc(-1,0);c[o>>2]=0;C=c[o>>2]|0;i=h;return C|0}else if((D|0)==32){if(!(c[w>>2]|0)){if((c[t>>2]|0)>>>0<(c[s>>2]|0)>>>0)a[(c[r>>2]|0)+(c[t>>2]|0)>>0]=0;c[o>>2]=(c[r>>2]|0)+(c[t>>2]|0);C=c[o>>2]|0;i=h;return C|0}c[B>>2]=911;if((c[282]|0)==-1)c[282]=$b(1,0,21783,21832,c[B>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[282]|0))_b();c[k>>2]=21783;c[k+4>>2]=911;cc(1,61746,k);_b()}return 0}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[h>>2]<<3;if((((c[l>>2]|0)>>>0)%5|0)>>>0>0)c[l>>2]=(c[l>>2]|0)+(5-(((c[l>>2]|0)>>>0)%5|0));c[l>>2]=((c[l>>2]|0)>>>0)/5|0;c[k>>2]=Ub((c[l>>2]|0)+1|0,21783,939)|0;c[m>>2]=rd(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[m>>2]|0)){Wb(c[k>>2]|0,21783,943);c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}else{a[c[m>>2]>>0]=0;c[f>>2]=c[k>>2];n=c[f>>2]|0;i=e;return n|0}return 0}function td(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=g;k=g+60|0;l=g+56|0;m=g+52|0;n=g+48|0;o=g+44|0;p=g+40|0;q=g+36|0;r=g+32|0;s=g+28|0;t=g+24|0;u=g+20|0;v=g+16|0;w=g+12|0;x=g+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[w>>2]=c[o>>2]<<3;if(!(c[m>>2]|0))if(!(c[o>>2]|0)){c[k>>2]=1;y=c[k>>2]|0;i=g;return y|0}else{c[k>>2]=-1;y=c[k>>2]|0;i=g;return y|0}c[v>>2]=c[n>>2];c[q>>2]=c[o>>2];c[p>>2]=c[m>>2];if((((c[w>>2]|0)>>>0)%5|0)>>>0>0){c[s>>2]=((c[w>>2]|0)>>>0)%5|0;c[u>>2]=5-(c[s>>2]|0);o=(c[p>>2]|0)+-1|0;c[p>>2]=o;n=ud(a[(c[l>>2]|0)+o>>0]|0)|0;c[t>>2]=n;c[r>>2]=n>>c[u>>2]}else{c[s>>2]=5;c[u>>2]=0;n=(c[p>>2]|0)+-1|0;c[p>>2]=n;o=ud(a[(c[l>>2]|0)+n>>0]|0)|0;c[t>>2]=o;c[r>>2]=o}if(((((c[w>>2]|0)+(c[u>>2]|0)|0)>>>0)/5|0|0)!=(c[m>>2]|0)){c[k>>2]=-1;y=c[k>>2]|0;i=g;return y|0}if(-1==(c[t>>2]|0)){c[k>>2]=-1;y=c[k>>2]|0;i=g;return y|0}while(1){z=c[p>>2]|0;if((c[q>>2]|0)>>>0<=0){A=25;break}if(!z){A=14;break}m=(c[p>>2]|0)+-1|0;c[p>>2]=m;u=ud(a[(c[l>>2]|0)+m>>0]|0)|0;c[t>>2]=u;c[r>>2]=u<<c[s>>2]|c[r>>2];if(-1==(c[t>>2]|0)){A=22;break}c[s>>2]=(c[s>>2]|0)+5;if((c[s>>2]|0)>>>0<8)continue;u=c[r>>2]&255;m=(c[q>>2]|0)+-1|0;c[q>>2]=m;a[(c[v>>2]|0)+m>>0]=u;c[r>>2]=(c[r>>2]|0)>>>8;c[s>>2]=(c[s>>2]|0)-8}if((A|0)==14){c[x>>2]=1003;if((c[283]|0)==-1)c[283]=$b(1,0,21783,21895,c[x>>2]|0)|0;if((ac()|0)<=0){if(c[283]|0){c[h>>2]=21783;c[h+4>>2]=1003;cc(1,61746,h)}}else bc(-1,0);c[k>>2]=-1;y=c[k>>2]|0;i=g;return y|0}else if((A|0)==22){c[k>>2]=-1;y=c[k>>2]|0;i=g;return y|0}else if((A|0)==25)if(0!=(z|0)|0!=(c[s>>2]|0)){c[k>>2]=-1;y=c[k>>2]|0;i=g;return y|0}else{c[k>>2]=1;y=c[k>>2]|0;i=g;return y|0}return 0}function ud(b){b=b|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+4|0;g=e+8|0;h=e;a[g>>0]=b;switch(d[g>>0]|0|0){case 111:case 79:{a[g>>0]=48;break}case 76:case 108:case 73:case 105:{a[g>>0]=49;break}case 85:case 117:{a[g>>0]=86;break}default:{}}if((d[g>>0]|0|0)>=48?(d[g>>0]|0|0)<=57:0){c[f>>2]=(d[g>>0]|0)-48;k=c[f>>2]|0;i=e;return k|0}if((d[g>>0]|0|0)>=97?(d[g>>0]|0|0)<=122:0)a[g>>0]=gv(d[g>>0]|0)|0;c[h>>2]=0;if((d[g>>0]|0|0)>=65?(d[g>>0]|0|0)<=90:0){if(73<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(76<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(79<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(85<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(d[g>>0]|0)-65+10-(c[h>>2]|0);k=c[f>>2]|0;i=e;return k|0}c[f>>2]=-1;k=c[f>>2]|0;i=e;return k|0}function vd(){var a=0;a=70696;D=c[a+4>>2]|0;return c[a>>2]|0}function wd(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;c[b>>2]=c[16];c[b+4>>2]=c[17];d=b;D=c[d+4>>2]|0;i=a;return c[d>>2]|0}function xd(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+32|0;if((i|0)>=(j|0))$(32);b=a+8|0;d=a;e=a+16|0;lb(e|0,0)|0;f=c[e>>2]|0;g=ex(f|0,((f|0)<0)<<31>>31|0,1e3,0)|0;f=ex(g|0,D|0,1e3,0)|0;g=c[e+4>>2]|0;e=Uw(f|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;g=70696;f=Uw(e|0,D|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=d;c[g>>2]=f;c[g+4>>2]=D;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];d=b;D=c[d+4>>2]|0;i=a;return c[d>>2]|0}function yd(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;c[b>>2]=c[17676];c[b+4>>2]=c[17677];d=b;D=c[d+4>>2]|0;i=a;return c[d>>2]|0}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=xd()|0;k=g;c[k>>2]=h;c[k+4>>2]=D;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];g=a;k=c[g+4>>2]|0;h=e;l=c[h+4>>2]|0;if(k>>>0>l>>>0|((k|0)==(l|0)?(c[g>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){h=yd()|0;g=d;c[g>>2]=h;c[g+4>>2]=D;m=d;n=m;o=c[n>>2]|0;p=m+4|0;q=p;r=c[q>>2]|0;D=r;i=b;return o|0}else{g=e;e=a;a=Rw(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=f;c[e>>2]=a;c[e+4>>2]=D;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];m=d;n=m;o=c[n>>2]|0;p=m+4|0;q=p;r=c[q>>2]|0;D=r;i=b;return o|0}return 0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=Iv(c[e>>2]|0)|0;f=Uw(0,b|0,Iv(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=Mv(c[e>>2]|0)|0;f=Uw(0,b|0,Mv(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Cd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Dd(c[d>>2]|0)|0;i=b;return a|0}function Dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Bt(c[d>>2]|0)|0;i=b;return a|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Fd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Ed(1,c[d>>2]|0)|0;i=b;return a|0}function Gd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=gf(c[d>>2]|0)|0;i=b;return a|0}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=Fd(kf(c[e>>2]|0,g)|0)|0;i=d;return c[f>>2]|0}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=Fd(Sf(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;i=f;return e|0}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=e;c[l>>2]=dg(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,m)|0;m=Fd(c[l>>2]|0)|0;i=f;return m|0}function Kd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Rf(c[d>>2]|0);i=b;return}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=fg(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;i=f;return e|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Tf(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Nd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=bg(c[d>>2]|0)|0;i=b;return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=$f(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Pd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Rp(c[d>>2]|0)|0;i=b;return a|0}function Qd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Tp(c[d>>2]|0);i=b;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=wo(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Sd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=Fd(Zo(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;i=g;return f|0}function Td(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=Fd(bp(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;i=g;return f|0}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;Ro(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;So(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Fo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Lo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Yd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=xn(c[d>>2]|0)|0;i=b;return a|0}function Zd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;zn(c[d>>2]|0);i=b;return}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Fd(Wh(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)|0;i=e;return d|0}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Jn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Kn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[k>>2]|0;k=tn(e,g,h,rh(c[l>>2]|0,1)|0)|0;i=f;return k|0}function ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[k>>2]|0;$n(e,g,h,rh(c[l>>2]|0,1)|0);i=f;return}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=lo(c[d>>2]|0)|0;i=b;return a|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=mo(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;po(c[e>>2]|0,c[f>>2]|0);i=d;return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Gp(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Vp(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;e=(ef()|0)!=0;d=c[h>>2]|0;if(e){c[g>>2]=Fd(wh(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;n=c[g>>2]|0;i=f;return n|0}else{c[d>>2]=0;c[g>>2]=Fd(176)|0;n=c[g>>2]|0;i=f;return n|0}return 0}function je(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Bh(c[d>>2]|0);i=b;return}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(ef()|0){c[f>>2]=le(Jh(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=Fd(176)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function le(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=me(32,c[d>>2]|0)|0;i=b;return a|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Ed(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(ef()|0){c[f>>2]=le(Lh(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=Fd(176)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(ef()|0){c[h>>2]=Fd(Ch(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0;p=c[h>>2]|0;i=g;return p|0}if(c[l>>2]|0)Sw(c[l>>2]|0,66,c[m>>2]|0)|0;c[h>>2]=Fd(176)|0;p=c[h>>2]|0;i=g;return p|0}function pe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(ef()|0){c[h>>2]=Fd(Gh(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0;p=c[h>>2]|0;i=g;return p|0}else{c[h>>2]=Fd(176)|0;p=c[h>>2]|0;i=g;return p|0}return 0}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=(ef()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=Fd(Wj(b,c[h>>2]|0,c[k>>2]|0)|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[b>>2]=0;c[f>>2]=Fd(176)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(ef()|0){c[f>>2]=Fd(Xj(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=Fd(176)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function se(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(ef()|0){c[d>>2]=Fd(Yj(c[e>>2]|0)|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=Fd(176)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;b=(ef()|0)!=0;a=c[f>>2]|0;if(b){c[e>>2]=Fd(Zj(a,c[g>>2]|0)|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[a>>2]=0;c[e>>2]=Fd(176)|0;h=c[e>>2]|0;i=d;return h|0}return 0}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=(ef()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=Fd(Si(b,c[h>>2]|0,c[k>>2]|0)|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[b>>2]=0;c[f>>2]=Fd(176)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function ve(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;_i(c[d>>2]|0);i=b;return}function we(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Zi(c[d>>2]|0);i=b;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(ef()|0)){i=e;return}$i(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=lj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(ef()|0))dh(21925,1175,21938,0,21958);hj(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function Ae(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(ef()|0){c[d>>2]=nj(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{dh(21925,1198,21990,0,22007);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}return 0}function Be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=oj(c[d>>2]|0)|0;i=b;return a|0}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(ef()|0){c[f>>2]=Fd(fj(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=Fd(176)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(ef()|0)){dh(21925,1287,22037,1,21958);Yg()}jn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(ef()|0)){dh(21925,1340,22052,1,21958);Yg()}nn(c[e>>2]|0,c[f>>2]|0);i=d;return}function Fe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;sh(c[d>>2]|0);i=b;return}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Gf(c[e>>2]|0,c[f>>2]|0);i=d;return}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Ke(c[e>>2]|0,c[f>>2]|0);i=d;return}function Ie(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;vf(c[d>>2]|0);i=b;return}function Je(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(c[17693]|0){c[d>>2]=yb[c[17693]&15](c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=c[e>>2];f=c[d>>2]|0;i=b;return f|0}return 0}function Ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17694]=c[f>>2];c[17695]=c[e>>2];i=d;return}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0))c[f>>2]=Bt(c[e>>2]|0)|0;if(c[17695]|0?(Wg()|0)==0:0)zb[c[17695]&7](c[17694]|0,c[e>>2]|0,c[f>>2]|0);dh(22070,86,22077,1,c[f>>2]|0);Me(22095);Me(c[f>>2]|0);Me(22526);Tg();Aa()}function Me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;c[d>>2]=a;a=c[d>>2]|0;c[b>>2]=ew(2,a,hv(c[d>>2]|0)|0)|0;i=b;return}function Ne(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;c[17698]=c[d>>2];i=b;return}function Oe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return (c[17698]|0)>=(c[d>>2]|0)|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;g=e+12|0;h=e+8|0;k=e+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(c[17696]|0)Eb[c[17696]&1](c[17697]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);else{switch(c[g>>2]|0){case 30:case 20:case 10:case 0:break;case 40:{Yv(22110,c[3977]|0)|0;break}case 50:{Yv(22118,c[3977]|0)|0;break}case 100:{Yv(22132,c[3977]|0)|0;break}default:{d=c[3977]|0;c[f>>2]=c[g>>2];Fv(d,22138,f)|0}}Uu(c[3977]|0,c[h>>2]|0,c[k>>2]|0)|0}if((c[g>>2]|0)==40|(c[g>>2]|0)==50){dh(22070,140,22163,1,22174);Tg();Aa()}else{i=e;return}}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Pe(c[f>>2]|0,c[g>>2]|0,h);i=e;return}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+20|0;h=e+16|0;k=e+12|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=c[h>>2]|0;h=c[k>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=d;c[f+8>>2]=h;Qe(50,22204,f);Aa()}function Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;h=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;e=c[k>>2]|0;k=c[l>>2]|0;l=c[m>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=k;c[g+12>>2]=l;Qe(50,22234,g);Aa()}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;Pe(10,c[e>>2]|0,f);i=d;return}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e;c[e+20>>2]=a;c[f>>2]=b;c[g>>2]=d;Pe(10,c[f>>2]|0,g);i=e;return 0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;Pe(30,c[e>>2]|0,f);i=d;return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;Pe(40,c[e>>2]|0,f);Aa()}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;Pe(50,c[e>>2]|0,f);Aa()}function Ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;Pe(100,c[e>>2]|0,f);i=d;return}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;c[e>>2]=a;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=b;Pe(0,c[e>>2]|0,f);i=d;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;$e(c[f>>2]|0,22268,c[g>>2]|0,c[h>>2]|0);i=e;return}function $e(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;i=i+96|0;if((i|0)>=(j|0))$(96);k=h+56|0;l=h+40|0;m=h+32|0;n=h+24|0;o=h+16|0;p=h+8|0;q=h;r=h+84|0;s=h+80|0;t=h+76|0;u=h+72|0;v=h+68|0;w=h+64|0;x=h+60|0;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=0;c[w>>2]=0;if((c[r>>2]|0?a[c[r>>2]>>0]|0:0)?(c[v>>2]=1,g=c[s>>2]|0,c[q>>2]=c[r>>2],c[q+4>>2]=g,Ye(22270,q),(c[u>>2]|0?(a[(c[s>>2]|0)+1>>0]|0)==91:0)&(c[t>>2]|0)!=0):0){Ze(22526,p);c[s>>2]=22268;c[o>>2]=hv(c[r>>2]|0)|0;c[o+4>>2]=72319;Ye(22276,o)}a:do if(c[u>>2]|0){c[x>>2]=c[t>>2];while(1){o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break a;c[n>>2]=d[c[x>>2]>>0];Ze(22282,n);if(c[v>>2]|0?(o=(c[w>>2]|0)+1|0,c[w>>2]=o,(o|0)==32&(c[u>>2]|0)!=0):0){c[w>>2]=0;Ze(22287,m);o=hv(c[r>>2]|0)|0;p=hv(c[s>>2]|0)|0;c[l>>2]=o;c[l+4>>2]=72319;c[l+8>>2]=p;c[l+12>>2]=72319;Ye(22291,l)}c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(c[r>>2]|0)){i=h;return}Ze(22526,k);i=h;return}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d;f=d+28|0;g=d+24|0;h=d+20|0;k=d+16|0;l=d+12|0;m=d+8|0;n=d+4|0;o=d+32|0;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){$e(c[f>>2]|0?c[f>>2]|0:22268,22299,0,0);i=d;return}if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[n>>2]=Gp(c[g>>2]|0,m)|0;c[e>>2]=c[m>>2];Su(o,30,22307,e)|0;$e(c[f>>2]|0?c[f>>2]|0:22268,o,c[n>>2]|0,(((c[m>>2]|0)+7|0)>>>0)/8|0);i=d;return}c[h>>2]=Vo(c[g>>2]|0,0,k,l)|0;if(!(c[h>>2]|0)){$e(c[f>>2]|0?c[f>>2]|0:22268,22317,0,0);i=d;return}g=c[f>>2]|0;f=c[l>>2]|0?22332:22334;if(c[k>>2]|0)$e(g,f,c[h>>2]|0,c[k>>2]|0);else $e(g,f,72319,1);vf(c[h>>2]|0);i=d;return}function bf(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+28|0;g=e+24|0;h=e+20|0;k=e+16|0;l=e+12|0;m=e+32|0;n=e;o=e+8|0;c[f>>2]=b;c[g>>2]=(((c[f>>2]|0)!=0^1)&1)+(c[f>>2]|0)+63&-64;f=c[g>>2]|0;c[h>>2]=Za()|0;g=f;b=i;i=i+((1*g|0)+15&-16)|0;if((i|0)>=(j|0))$((1*g|0)+15&-16|0);c[k>>2]=b;c[l>>2]=f;a[m>>0]=0;f=n;c[f>>2]=d[m>>0];c[f+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){f=n;b=ex(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=n;c[f>>2]=b;c[f+4>>2]=D;do{c[o>>2]=c[k>>2];f=n;b=c[f+4>>2]|0;g=c[o>>2]|0;c[g>>2]=c[f>>2];c[g+4>>2]=b;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}Ea(c[h>>2]|0);i=e;return}function cf(){return}function df(){Ft(33);Le(Ct(c[(xu()|0)>>2]|0)|0,22336)}function ef(){if(!(c[17699]|0))ff();return fh()|0}function ff(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;c[b>>2]=0;if(c[17699]|0){i=a;return}c[17699]=1;Xm(0);Vg(c[17700]|0);rg();c[b>>2]=Nh()|0;if((((((c[b>>2]|0)==0?(c[b>>2]=vj()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=_j()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=wj()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Gg()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=tp()|0,(c[b>>2]|0)==0):0){i=a;return}Re(22351,123,22360)}function gf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+36|0;f=d+32|0;g=d+28|0;h=d+24|0;k=d+20|0;l=d+16|0;m=d+12|0;n=d+8|0;o=d+4|0;p=d;c[f>>2]=b;c[g>>2]=22372;if((c[f>>2]|0?(a[c[f>>2]>>0]|0)==1:0)?(a[(c[f>>2]|0)+1>>0]|0)==1:0){c[e>>2]=Xp()|0;q=c[e>>2]|0;i=d;return q|0}ff();b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=b;q=c[e>>2]|0;i=d;return q|0}c[p>>2]=hf(b,h,k,l)|0;if(!(c[p>>2]|0)){c[e>>2]=0;q=c[e>>2]|0;i=d;return q|0}if(!(hf(c[f>>2]|0,m,n,o)|0)){c[e>>2]=0;q=c[e>>2]|0;i=d;return q|0}do if((c[h>>2]|0)<=(c[m>>2]|0)){if((c[h>>2]|0)==(c[m>>2]|0)?(c[k>>2]|0)>(c[n>>2]|0):0)break;if(((c[h>>2]|0)==(c[m>>2]|0)?(c[k>>2]|0)==(c[n>>2]|0):0)?(c[l>>2]|0)>(c[o>>2]|0):0)break;if(((c[h>>2]|0)==(c[m>>2]|0)?(c[k>>2]|0)==(c[n>>2]|0):0)?(c[l>>2]|0)==(c[o>>2]|0):0)break;c[e>>2]=0;q=c[e>>2]|0;i=d;return q|0}while(0);c[e>>2]=c[g>>2];q=c[e>>2]|0;i=d;return q|0}function hf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[k>>2]=jf(c[k>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0?(a[c[k>>2]>>0]|0)==46:0){c[k>>2]=(c[k>>2]|0)+1;c[k>>2]=jf(c[k>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0?(a[c[k>>2]>>0]|0)==46:0){c[k>>2]=(c[k>>2]|0)+1;c[k>>2]=jf(c[k>>2]|0,c[n>>2]|0)|0;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;i=g;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=g;return o|0}}c[h>>2]=0;o=c[h>>2]|0;i=g;return o|0}c[h>>2]=0;o=c[h>>2]|0;i=g;return o|0}function jf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;if((a[c[g>>2]>>0]|0)==48?Cw(a[(c[g>>2]|0)+1>>0]|0)|0:0){c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}while(1){d=(Cw(a[c[g>>2]>>0]|0)|0)!=0;m=c[k>>2]|0;if(!d)break;c[k>>2]=m*10;c[k>>2]=(c[k>>2]|0)+((a[c[g>>2]>>0]|0)-48);c[g>>2]=(c[g>>2]|0)+1}c[c[h>>2]>>2]=m;c[f>>2]=(c[k>>2]|0)<0?0:c[g>>2]|0;l=c[f>>2]|0;i=e;return l|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;d=i;i=i+176|0;if((i|0)>=(j|0))$(176);e=d+168|0;f=d+164|0;g=d+160|0;h=d+156|0;k=d+152|0;l=d+148|0;m=d+144|0;n=d+140|0;o=d+136|0;p=d+132|0;q=d+128|0;r=d+124|0;s=d+120|0;t=d+116|0;u=d+112|0;v=d+108|0;w=d+104|0;x=d+100|0;y=d+96|0;z=d+92|0;A=d+88|0;B=d+84|0;C=d+80|0;D=d+76|0;E=d+72|0;F=d+68|0;G=d+64|0;H=d+60|0;I=d+56|0;J=d+52|0;K=d+48|0;L=d+44|0;M=d+40|0;N=d+36|0;O=d+32|0;P=d+28|0;Q=d+24|0;R=d+20|0;S=d+16|0;T=d+12|0;U=d+8|0;V=d+4|0;W=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;do switch(c[e>>2]|0){case 31:{tg();X=c[g>>2]|0;i=d;return X|0}case 44:{Xm(0);bn();X=c[g>>2]|0;i=d;return X|0}case 51:{if(!(en()|0)){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 13:{$m();X=c[g>>2]|0;i=d;return X|0}case 14:{Ug();X=c[g>>2]|0;i=d;return X|0}case 30:{ff();Cg(0);X=c[g>>2]|0;i=d;return X|0}case 37:{ff();c[17701]=1;X=c[g>>2]|0;i=d;return X|0}case 24:{ff();b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[h>>2]=Y;Cg(c[h>>2]|0);if(!((Bg()|0)&4)){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 25:{ff();Tg();X=c[g>>2]|0;i=d;return X|0}case 27:{Xm(0);zg(Bg()|0|1);X=c[g>>2]|0;i=d;return X|0}case 28:{Xm(0);zg(Bg()|0|2);X=c[g>>2]|0;i=d;return X|0}case 29:{Xm(0);zg((Bg()|0)&-3);X=c[g>>2]|0;i=d;return X|0}case 22:{ff();an();X=c[g>>2]|0;i=d;return X|0}case 45:{Xm(0);Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[k>>2]=b;kn(c[k>>2]|0);X=c[g>>2]|0;i=d;return X|0}case 46:{Xm(0);if(!(ef()|0)){X=c[g>>2]|0;i=d;return X|0}ln();X=c[g>>2]|0;i=d;return X|0}case 19:{Xm(0);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[l>>2]=Y;Ne(c[l>>2]|0);X=c[g>>2]|0;i=d;return X|0}case 20:{Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[m>>2]=b;c[17702]=c[17702]|c[m>>2];X=c[g>>2]|0;i=d;return X|0}case 21:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[n>>2]=Y;c[17702]=c[17702]&~c[n>>2];X=c[g>>2]|0;i=d;return X|0}case 36:{ff();X=c[g>>2]|0;i=d;return X|0}case 40:{if(!(c[17699]|0)){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 39:{if(!(c[17703]|0)){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 38:{if(c[17703]|0){X=c[g>>2]|0;i=d;return X|0}ff();Ym(0);c[17703]=1;ef()|0;X=c[g>>2]|0;i=d;return X|0}case 47:{Xm(0);ff();X=c[g>>2]|0;i=d;return X|0}case 48:{Xm(0);Ym(1);if(!(ef()|0)){X=c[g>>2]|0;i=d;return X|0}mn();X=c[g>>2]|0;i=d;return X|0}case 52:{c[g>>2]=lf(60)|0;X=c[g>>2]|0;i=d;return X|0}case 49:{Xm(0);Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[o>>2]=b;cn(c[o>>2]|0);X=c[g>>2]|0;i=d;return X|0}case 50:{Xm(0);Ym(1);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[p>>2]=Y;dn(((c[p>>2]|0)!=0^1^1)&1)|0;X=c[g>>2]|0;i=d;return X|0}case 70:{Zm();X=c[g>>2]|0;i=d;return X|0}case 53:{Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[r>>2]=b;c[q>>2]=c[r>>2];Xm(0);mf(c[q>>2]|0?28:27,c[q>>2]|0);X=c[g>>2]|0;i=d;return X|0}case 54:{Xm(0);if(!(oh()|0)){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 55:{if(!(Wg()|0)){X=c[g>>2]|0;i=d;return X|0}if((eh()|0)!=0|(c[17701]|0)!=0){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 56:{Xm(0);if(!(c[17699]|0)){c[17700]=1;X=c[g>>2]|0;i=d;return X|0}if(ph()|0)gh(1)|0;if(!(fh()|0)){X=c[g>>2]|0;i=d;return X|0}c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}case 57:{ff();c[g>>2]=gh(1)|0;X=c[g>>2]|0;i=d;return X|0}case 58:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[t>>2]=Y;c[s>>2]=c[t>>2];Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[v>>2]=b;c[u>>2]=c[v>>2];b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[x>>2]=Y;c[w>>2]=c[x>>2];Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[z>>2]=b;c[y>>2]=c[z>>2];b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[B>>2]=Y;c[A>>2]=c[B>>2];Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[D>>2]=b;c[C>>2]=c[D>>2];b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[F>>2]=Y;c[E>>2]=c[F>>2];Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[H>>2]=b;c[G>>2]=c[H>>2];if(ef()|0){c[g>>2]=pn(c[s>>2]|0,c[u>>2]|0,c[w>>2]|0,c[y>>2]|0,c[A>>2]|0,c[C>>2]|0,c[E>>2]|0,c[G>>2]|0)|0;X=c[g>>2]|0;i=d;return X|0}else{c[g>>2]=176;X=c[g>>2]|0;i=d;return X|0}break}case 59:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[J>>2]=Y;c[I>>2]=c[J>>2];Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[L>>2]=b;c[K>>2]=c[L>>2];b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[N>>2]=Y;c[M>>2]=c[N>>2];if(ef()|0){c[g>>2]=qn(c[I>>2]|0,c[K>>2]|0,c[M>>2]|0)|0;X=c[g>>2]|0;i=d;return X|0}else{c[g>>2]=176;X=c[g>>2]|0;i=d;return X|0}break}case 60:{Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[P>>2]=b;c[O>>2]=c[P>>2];rn(c[O>>2]|0);X=c[g>>2]|0;i=d;return X|0}case 61:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[Q>>2]=Y;c[g>>2]=nf(c[Q>>2]|0)|0;X=c[g>>2]|0;i=d;return X|0}case 63:{Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[S>>2]=b;c[R>>2]=c[S>>2];c[g>>2]=og(c[R>>2]|0)|0;X=c[g>>2]|0;i=d;return X|0}case 64:{if(c[17699]|0){c[g>>2]=1;X=c[g>>2]|0;i=d;return X|0}else{Xm(0);bh();X=c[g>>2]|0;i=d;return X|0}break}case 65:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);Y=c[a>>2]|0;c[b>>2]=a+4;c[U>>2]=Y;c[T>>2]=c[U>>2];if((c[T>>2]|0)<=0){X=c[g>>2]|0;i=d;return X|0}Xm(c[T>>2]|0);X=c[g>>2]|0;i=d;return X|0}case 66:{Y=c[f>>2]|0;a=(c[Y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[Y>>2]=a+4;c[W>>2]=b;c[V>>2]=c[W>>2];if(!(c[V>>2]|0)){X=c[g>>2]|0;i=d;return X|0}b=_m(((c[17699]|0)!=0^1)&1)|0;c[c[V>>2]>>2]=b;X=c[g>>2]|0;i=d;return X|0}case 67:{Xm(0);zg(Bg()|0|8);X=c[g>>2]|0;i=d;return X|0}case 68:{Xm(0);zg(Bg()|0|16);X=c[g>>2]|0;i=d;return X|0}case 72:case 71:{c[g>>2]=69;X=c[g>>2]|0;i=d;return X|0}case 62:case 23:{X=c[g>>2]|0;i=d;return X|0}default:{Xm(0);c[g>>2]=61;X=c[g>>2]|0;i=d;return X|0}}while(0);return 0}function lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=of(1,c[d>>2]|0)|0;i=b;return a|0}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+128|0;if((i|0)>=(j|0))$(128);e=d+88|0;f=d+80|0;g=d+72|0;h=d+64|0;k=d+48|0;l=d+24|0;m=d+16|0;n=d+8|0;o=d;p=d+116|0;q=d+112|0;r=d+108|0;s=d+104|0;t=d+100|0;u=d+96|0;c[p>>2]=a;c[q>>2]=b;b=c[p>>2]|0;a=c[q>>2]|0;c[o>>2]=22372;ub[b&63](a,22386,o)|0;o=c[p>>2]|0;a=c[q>>2]|0;c[n>>2]=22412;ub[o&63](a,22399,n)|0;n=c[p>>2]|0;a=c[q>>2]|0;c[m>>2]=22437;ub[n&63](a,22424,m)|0;m=c[p>>2]|0;a=c[q>>2]|0;c[l>>2]=22458;ub[m&63](a,22445,l)|0;ub[c[p>>2]&63](c[q>>2]|0,22472,d+32|0)|0;ub[c[p>>2]&63](c[q>>2]|0,22488,d+40|0)|0;l=c[p>>2]|0;a=c[q>>2]|0;c[k>>2]=sp()|0;ub[l&63](a,22500,k)|0;c[r>>2]=pg()|0;ub[c[p>>2]&63](c[q>>2]|0,22513,d+56|0)|0;c[t>>2]=0;while(1){k=qg(c[t>>2]|0,s)|0;c[u>>2]=k;if(!k)break;if(c[r>>2]&c[s>>2]|0){k=c[p>>2]|0;a=c[q>>2]|0;c[h>>2]=c[u>>2];ub[k&63](a,22522,h)|0}c[t>>2]=(c[t>>2]|0)+1}ub[c[p>>2]&63](c[q>>2]|0,22526,g)|0;g=c[p>>2]|0;h=c[q>>2]|0;s=(Wg()|0)!=0;r=(ah()|0)!=0;c[f>>2]=s?121:110;c[f+4>>2]=r?121:110;ub[g&63](h,22528,f)|0;c[t>>2]=_m(0)|0;switch(c[t>>2]|0){case 1:{c[u>>2]=22546;v=c[p>>2]|0;w=c[q>>2]|0;x=c[u>>2]|0;y=c[t>>2]|0;c[e>>2]=x;z=e+4|0;c[z>>2]=y;ub[v&63](w,22580,e)|0;i=d;return}case 2:{c[u>>2]=22555;v=c[p>>2]|0;w=c[q>>2]|0;x=c[u>>2]|0;y=c[t>>2]|0;c[e>>2]=x;z=e+4|0;c[z>>2]=y;ub[v&63](w,22580,e)|0;i=d;return}case 3:{c[u>>2]=22560;v=c[p>>2]|0;w=c[q>>2]|0;x=c[u>>2]|0;y=c[t>>2]|0;c[e>>2]=x;z=e+4|0;c[z>>2]=y;ub[v&63](w,22580,e)|0;i=d;return}default:Re(22351,321,22567)}}function nf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;switch(c[d>>2]|0){case 30111:{c[e>>2]=Gt(1136)|0;break}case 30112:{c[e>>2]=Ht(1136)|0;break}case 30113:{c[e>>2]=It(1136)|0;break}case 30114:{c[e>>2]=Jt(1136)|0;break}default:c[e>>2]=61}i=b;return c[e>>2]|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;qf(c[d>>2]|0,0,e)|0;i=b;return c[e>>2]|0}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;do if(c[g>>2]&1|0?!(rf()|0):0)if(c[17705]|0){c[l>>2]=yb[c[17705]&15](c[f>>2]|0)|0;break}else{c[l>>2]=vg(c[f>>2]|0)|0;break}else m=6;while(0);do if((m|0)==6)if(c[17704]|0){c[l>>2]=yb[c[17704]&15](c[f>>2]|0)|0;break}else{c[l>>2]=ug(c[f>>2]|0)|0;break}while(0);if(c[l>>2]|0){c[c[h>>2]>>2]=c[l>>2];n=c[k>>2]|0;i=e;return n|0}if(!(c[(xu()|0)>>2]|0))Ft(12);c[k>>2]=Ct(c[(xu()|0)>>2]|0)|0;n=c[k>>2]|0;i=e;return n|0}function rf(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;do if(c[17701]|0)if(ah()|0){c[17701]=0;c[b>>2]=0;break}else{c[b>>2]=c[17701];break}else c[b>>2]=0;while(0);i=a;return c[b>>2]|0}function sf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;qf(c[d>>2]|0,1,e)|0;i=b;return c[e>>2]|0}function tf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;do if(!(rf()|0))if(c[17706]|0){c[d>>2]=yb[c[17706]&15](c[e>>2]|0)|0;break}else{c[d>>2]=Sg(c[e>>2]|0)|0;break}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=pf(b)|0;k=c[e>>2]|0;i=d;return k|0}if(!b){vf(c[f>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}if(c[17707]|0)c[h>>2]=Db[c[17707]&7](c[f>>2]|0,c[g>>2]|0)|0;else c[h>>2]=wg(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0?(c[(xu()|0)>>2]|0)==0:0)Ft(12);c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}function vf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[(xu()|0)>>2];if(c[17708]|0)wb[c[17708]&15](c[d>>2]|0);else yg(c[d>>2]|0);if(!(c[e>>2]|0)){i=b;return}Ft(c[e>>2]|0);i=b;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=S(c[f>>2]|0,c[g>>2]|0)|0;if(c[g>>2]|0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){Ft(12);c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[k>>2]=pf(c[h>>2]|0)|0;if(c[k>>2]|0)Sw(c[k>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[k>>2];l=c[e>>2]|0;i=d;return l|0}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=S(c[f>>2]|0,c[g>>2]|0)|0;if(c[g>>2]|0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){Ft(12);c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[k>>2]=sf(c[h>>2]|0)|0;if(c[k>>2]|0)Sw(c[k>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[k>>2];l=c[e>>2]|0;i=d;return l|0}function yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[f>>2]=hv(c[d>>2]|0)|0;a=(tf(c[d>>2]|0)|0)!=0;g=(c[f>>2]|0)+1|0;if(a)c[e>>2]=sf(g)|0;else c[e>>2]=pf(g)|0;if(!(c[e>>2]|0)){h=c[e>>2]|0;i=b;return h|0}tv(c[e>>2]|0,c[d>>2]|0)|0;h=c[e>>2]|0;i=b;return h|0}function zf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;while(1){a=pf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Wg()|0)==0;if(!(a&(c[17709]|0)!=0)){f=5;break}if(!(ub[c[17709]&63](c[17710]|0,c[d>>2]|0,0)|0)){f=5;break}}if((f|0)==5)Le(Ct(c[(xu()|0)>>2]|0)|0,0);else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;while(1){b=uf(c[e>>2]|0,c[f>>2]|0)|0;c[g>>2]=b;if(!((b|0)!=0^1)){h=6;break}b=(Wg()|0)==0;if(!(b&(c[17709]|0)!=0)){h=5;break}b=c[17709]|0;a=c[17710]|0;k=c[f>>2]|0;l=(tf(c[e>>2]|0)|0)!=0;if(!(ub[b&63](a,k,l?3:2)|0)){h=5;break}}if((h|0)==5)Le(Ct(c[(xu()|0)>>2]|0)|0,0);else if((h|0)==6){i=d;return c[g>>2]|0}return 0}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;while(1){a=sf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Wg()|0)==0;if(!(a&(c[17709]|0)!=0)){f=5;break}if(!(ub[c[17709]&63](c[17710]|0,c[d>>2]|0,1)|0)){f=5;break}}if((f|0)==5){d=Ct(c[(xu()|0)>>2]|0)|0;Le(d,Je(22597)|0)}else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=S(c[e>>2]|0,c[f>>2]|0)|0;if(c[f>>2]|0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){Ft(12);Le(Ct(c[(xu()|0)>>2]|0)|0,0)}c[h>>2]=zf(c[g>>2]|0)|0;Sw(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=S(c[e>>2]|0,c[f>>2]|0)|0;if(c[f>>2]|0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){Ft(12);Le(Ct(c[(xu()|0)>>2]|0)|0,0)}c[h>>2]=Bf(c[g>>2]|0)|0;Sw(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;do{a=yf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){h=8;break}c[f>>2]=hv(c[d>>2]|0)|0;c[g>>2]=((tf(c[d>>2]|0)|0)!=0^1^1)&1;a=(Wg()|0)==0;if(!(a&(c[17709]|0)!=0))break}while((ub[c[17709]&63](c[17710]|0,c[f>>2]|0,c[g>>2]|0)|0)!=0);if((h|0)==8){i=b;return c[e>>2]|0}e=Ct(c[(xu()|0)>>2]|0)|0;if(!(c[g>>2]|0)){k=0;Le(e,k)}k=Je(22597)|0;Le(e,k);return 0}function Ff(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(Wg()|0)c[d>>2]=0;else c[d>>2]=c[17702]&c[e>>2];i=b;return c[d>>2]|0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;xj(c[e>>2]|0,c[f>>2]|0);Vm(c[e>>2]|0,c[f>>2]|0);i=d;return}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;if(!(c[l>>2]|0)){c[k>>2]=45;s=c[k>>2]|0;i=g;return s|0}c[c[l>>2]>>2]=0;if(!((((c[o>>2]|0)<0|(c[o>>2]|0)>1)^1)&(c[m>>2]|0)!=0)){c[k>>2]=45;s=c[k>>2]|0;i=g;return s|0}if((c[n>>2]|0)!=0|(c[o>>2]|0)!=0){if((c[n>>2]|0)==0&(c[o>>2]|0)!=0)c[n>>2]=hv(c[m>>2]|0)|0}else{c[n>>2]=If(c[m>>2]|0,0,0,q)|0;if(!(c[n>>2]|0)){c[k>>2]=c[q>>2];s=c[k>>2]|0;i=g;return s|0}}c[q>>2]=Jf(r,0,c[m>>2]|0,c[n>>2]|0,0,0,h)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];s=c[k>>2]|0;i=g;return s|0}c[c[l>>2]>>2]=c[r>>2];if(c[p>>2]|0)wb[c[p>>2]&15](c[m>>2]|0);c[k>>2]=0;s=c[k>>2]|0;i=g;return s|0}function If(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+4|0;s=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[m>>2]|0))c[m>>2]=g+12;if(!(c[n>>2]|0))c[n>>2]=g+8;c[c[n>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[k>>2]|0)){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}if((d[c[k>>2]>>0]|0|0)!=40){c[c[n>>2]>>2]=204;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[o>>2]=c[k>>2];a:while(1){if(c[l>>2]|0?(c[r>>2]|0)>>>0>=(c[l>>2]|0)>>>0:0){u=12;break}k=d[c[o>>2]>>0]|0;do if(c[q>>2]|0)if((k|0)==58){if(c[l>>2]|0?((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>=(c[l>>2]|0)>>>0:0){u=17;break a}c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=0;break}else{if((d[c[o>>2]>>0]|0|0)<48){u=22;break a}if((d[c[o>>2]>>0]|0|0)>57){u=22;break a}c[q>>2]=((c[q>>2]|0)*10|0)+((d[c[o>>2]>>0]|0)-48);break}else{if((k|0)==40){if(c[p>>2]|0){u=25;break a}c[s>>2]=(c[s>>2]|0)+1;break}if((d[c[o>>2]>>0]|0|0)==41){if(!(c[s>>2]|0)){u=29;break a}if(c[p>>2]|0){u=31;break a}f=(c[s>>2]|0)+-1|0;c[s>>2]=f;if(f|0)break;else{u=33;break a}}if((d[c[o>>2]>>0]|0|0)==91){if(c[p>>2]|0){u=36;break a}c[p>>2]=c[o>>2];break}if((d[c[o>>2]>>0]|0|0)==93){if(!(c[p>>2]|0)){u=40;break a}c[p>>2]=0;break}if((d[c[o>>2]>>0]|0|0)<48){u=47;break a}if((d[c[o>>2]>>0]|0|0)>57){u=47;break a}if((d[c[o>>2]>>0]|0|0)==48){u=45;break a}c[q>>2]=(d[c[o>>2]>>0]|0)-48}while(0);c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}switch(u|0){case 12:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=202;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 17:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=202;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 22:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=201;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 25:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=209;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 29:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=203;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 31:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=209;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 33:{u=(c[r>>2]|0)+1|0;c[r>>2]=u;c[h>>2]=u;t=c[h>>2]|0;i=g;return t|0}case 36:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=208;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 40:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=209;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 45:{c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=207;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}case 47:{if((d[c[o>>2]>>0]|0|0)!=38?(d[c[o>>2]>>0]|0|0)!=92:0){c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=205;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=210;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}}return 0}function Jf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=k+40|0;m=k+36|0;n=k+32|0;o=k+28|0;p=k+24|0;q=k+20|0;r=k+16|0;s=k;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[s>>2]=h;c[r>>2]=Kf(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,s)|0;i=k;return c[r>>2]|0}function Kf(e,f,g,h,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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,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,_a=0,$a=0,ab=0,bb=0,cb=0;n=i;i=i+432|0;if((i|0)>=(j|0))$(432);o=n+16|0;p=n+8|0;q=n+320|0;r=n+316|0;s=n+312|0;t=n+308|0;u=n+304|0;v=n+300|0;w=n+296|0;x=n+292|0;y=n+288|0;z=n+284|0;A=n+280|0;B=n+276|0;C=n+272|0;E=n+268|0;F=n+264|0;G=n+260|0;H=n+256|0;I=n+252|0;J=n+248|0;K=n+244|0;L=n+240|0;M=n+224|0;N=n+220|0;O=n+216|0;P=n+212|0;Q=n+344|0;R=n+208|0;S=n+204|0;T=n+200|0;U=n+342|0;V=n+340|0;W=n+196|0;X=n+338|0;Y=n+192|0;Z=n+188|0;_=n+336|0;aa=n+184|0;ba=n+180|0;ca=n+176|0;da=n+172|0;ea=n+168|0;fa=n+164|0;ga=n+160|0;ha=n+156|0;ia=n+152|0;ja=n+334|0;ka=n+148|0;la=n+144|0;ma=n+140|0;na=n+332|0;oa=n+136|0;pa=n+132|0;qa=n+128|0;ra=n+124|0;sa=n+330|0;ta=n+120|0;ua=n+116|0;va=n+112|0;wa=n+108|0;xa=n+104|0;ya=n+100|0;za=n+96|0;Aa=n+328|0;Ba=n+92|0;Ca=n+88|0;Da=n+382|0;Ea=n+84|0;Fa=n+80|0;Ga=n+326|0;Ha=n+76|0;Ia=n+72|0;Ja=n+347|0;Ka=n+68|0;La=n+64|0;Ma=n+324|0;Na=n+60|0;Oa=n+56|0;Pa=n+52|0;Qa=n+48|0;Ra=n+44|0;Sa=n+40|0;Ta=n+36|0;Ua=n+32|0;Va=n+28|0;Wa=n+24|0;Xa=n+346|0;Ya=n;Za=n+20|0;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=0;c[B>>2]=0;c[C>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[L>>2]=0;c[N>>2]=0;c[O>>2]=0;if(!(c[r>>2]|0)){c[q>>2]=45;_a=c[q>>2]|0;i=n;return _a|0}c[c[r>>2]>>2]=0;if(!(c[t>>2]|0)){c[q>>2]=45;_a=c[q>>2]|0;i=n;return _a|0}if(!(c[s>>2]|0))c[s>>2]=n+236;c[M+4>>2]=(c[u>>2]|0)+2;if(c[u>>2]|0?tf(c[t>>2]|0)|0:0)c[M>>2]=sf(1+(c[M+4>>2]|0)-1|0)|0;else c[M>>2]=pf(1+(c[M+4>>2]|0)-1|0)|0;a:do if(c[M>>2]|0){c[M+8>>2]=c[M>>2];c[z>>2]=c[t>>2];c[A>>2]=c[u>>2];b:while(1){if(!(c[A>>2]|0)){$a=220;break}if(!((c[E>>2]|0)==0|(c[F>>2]|0)!=0)){if(!(Vv(22633,a[c[z>>2]>>0]|0)|0)){c[L>>2]=(c[z>>2]|0)-(c[E>>2]|0);c[P>>2]=Lf(M,c[L>>2]|0)|0;if(c[P>>2]|0){$a=18;break}m=M+8|0;l=c[m>>2]|0;c[m>>2]=l+1;a[l>>0]=1;b[Q>>1]=c[L>>2];l=c[M+8>>2]|0;a[l>>0]=a[Q>>0]|0;a[l+1>>0]=a[Q+1>>0]|0;l=M+8|0;c[l>>2]=(c[l>>2]|0)+2;Yw(c[M+8>>2]|0,c[E>>2]|0,c[L>>2]|0)|0;l=M+8|0;c[l>>2]=(c[l>>2]|0)+(c[L>>2]|0);c[E>>2]=0;$a=20}}else $a=20;c:do if(($a|0)==20){$a=0;if(c[C>>2]|0){l=a[c[z>>2]>>0]|0;if(!(c[K>>2]|0)){if((l|0)==92){c[K>>2]=1;break}if((a[c[z>>2]>>0]|0)!=34)break;c[C>>2]=(c[C>>2]|0)+1;c[T>>2]=Lf(M,(c[z>>2]|0)-(c[C>>2]|0)|0)|0;if(c[T>>2]|0){$a=59;break b}m=M+8|0;k=c[m>>2]|0;c[m>>2]=k+1;a[k>>0]=1;c[R>>2]=c[M+8>>2];b[U>>1]=0;k=c[M+8>>2]|0;a[k>>0]=a[U>>0]|0;a[k+1>>0]=a[U+1>>0]|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+2;c[S>>2]=Mf(c[C>>2]|0,(c[z>>2]|0)-(c[C>>2]|0)|0,c[M+8>>2]|0)|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+(c[S>>2]|0);b[V>>1]=c[S>>2];k=c[R>>2]|0;a[k>>0]=a[V>>0]|0;a[k+1>>0]=a[V+1>>0]|0;c[R>>2]=(c[R>>2]|0)+2;c[C>>2]=0;break}switch(l|0){case 92:case 39:case 34:case 114:case 102:case 110:case 118:case 116:case 98:{c[K>>2]=0;break c;break}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{if((c[A>>2]|0)>>>0<=2){$a=29;break b}if((a[(c[z>>2]|0)+1>>0]|0)<48){$a=29;break b}if((a[(c[z>>2]|0)+1>>0]|0)>55){$a=29;break b}if((a[(c[z>>2]|0)+2>>0]|0)<48){$a=29;break b}if((a[(c[z>>2]|0)+2>>0]|0)>55){$a=29;break b}c[z>>2]=(c[z>>2]|0)+2;c[A>>2]=(c[A>>2]|0)-2;c[K>>2]=0;break c;break}case 120:{if((c[A>>2]|0)>>>0<=2){$a=44;break b}if(!((a[(c[z>>2]|0)+1>>0]|0)>=48?(a[(c[z>>2]|0)+1>>0]|0)<=57:0))$a=34;do if(($a|0)==34){$a=0;if((a[(c[z>>2]|0)+1>>0]|0)>=65?(a[(c[z>>2]|0)+1>>0]|0)<=70:0)break;if((a[(c[z>>2]|0)+1>>0]|0)<97){$a=44;break b}if((a[(c[z>>2]|0)+1>>0]|0)>102){$a=44;break b}}while(0);if(!((a[(c[z>>2]|0)+2>>0]|0)>=48?(a[(c[z>>2]|0)+2>>0]|0)<=57:0))$a=40;do if(($a|0)==40){$a=0;if((a[(c[z>>2]|0)+2>>0]|0)>=65?(a[(c[z>>2]|0)+2>>0]|0)<=70:0)break;if((a[(c[z>>2]|0)+2>>0]|0)<97){$a=44;break b}if((a[(c[z>>2]|0)+2>>0]|0)>102){$a=44;break b}}while(0);c[z>>2]=(c[z>>2]|0)+2;c[A>>2]=(c[A>>2]|0)-2;c[K>>2]=0;break c;break}case 13:{if(c[A>>2]|0?(a[(c[z>>2]|0)+1>>0]|0)==10:0){c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}c[K>>2]=0;break c;break}case 10:{if(c[A>>2]|0?(a[(c[z>>2]|0)+1>>0]|0)==13:0){c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}c[K>>2]=0;break c;break}default:{$a=54;break b}}}if(c[F>>2]|0){if(Ru(a[c[z>>2]>>0]|0)|0){c[J>>2]=(c[J>>2]|0)+1;break}if((a[c[z>>2]>>0]|0)!=35)if(Nf(c[z>>2]|0)|0)break;else{$a=82;break b}if(c[J>>2]&1|0){$a=66;break b}c[L>>2]=(c[J>>2]|0)/2|0;c[W>>2]=Lf(M,c[L>>2]|0)|0;if(c[W>>2]|0){$a=68;break b}l=M+8|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=1;b[X>>1]=c[L>>2];k=c[M+8>>2]|0;a[k>>0]=a[X>>0]|0;a[k+1>>0]=a[X+1>>0]|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+2;c[F>>2]=(c[F>>2]|0)+1;while(1){if((c[F>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break;if(!(Nf(c[F>>2]|0)|0)){c[Y>>2]=Of(d[c[F>>2]>>0]|0)|0;c[F>>2]=(c[F>>2]|0)+1;while(1){if((c[F>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break;if(!(Nf(c[F>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)>>>0<(c[z>>2]|0)>>>0){c[Y>>2]=c[Y>>2]<<4;k=Of(d[c[F>>2]>>0]|0)|0;c[Y>>2]=(c[Y>>2]|0)+k}k=c[Y>>2]&255;l=M+8|0;m=c[l>>2]|0;c[l>>2]=m+1;a[m>>0]=k}c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;break}if(c[G>>2]|0){if((a[c[z>>2]>>0]|0)!=124)break;c[G>>2]=0;break}if(c[B>>2]|0){if((a[c[z>>2]>>0]|0)>=48?(a[c[z>>2]>>0]|0)<=57:0)break;if((a[c[z>>2]>>0]|0)==58){c[L>>2]=Aw(c[B>>2]|0)|0;c[B>>2]=0;if((c[L>>2]|0)>>>0>((c[A>>2]|0)-1|0)>>>0){$a=91;break b}c[Z>>2]=Lf(M,c[L>>2]|0)|0;if(c[Z>>2]|0){$a=93;break b}k=M+8|0;m=c[k>>2]|0;c[k>>2]=m+1;a[m>>0]=1;b[_>>1]=c[L>>2];m=c[M+8>>2]|0;a[m>>0]=a[_>>0]|0;a[m+1>>0]=a[_+1>>0]|0;m=M+8|0;c[m>>2]=(c[m>>2]|0)+2;Yw(c[M+8>>2]|0,(c[z>>2]|0)+1|0,c[L>>2]|0)|0;m=M+8|0;c[m>>2]=(c[m>>2]|0)+(c[L>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[L>>2]|0);c[z>>2]=(c[z>>2]|0)+(c[L>>2]|0);break}if((a[c[z>>2]>>0]|0)==34){c[B>>2]=0;c[C>>2]=c[z>>2];c[K>>2]=0;break}if((a[c[z>>2]>>0]|0)==35){c[B>>2]=0;c[F>>2]=c[z>>2];c[J>>2]=0;break}if((a[c[z>>2]>>0]|0)!=124){$a=101;break b}c[B>>2]=0;c[G>>2]=c[z>>2];break}m=a[c[z>>2]>>0]|0;if(!(c[I>>2]|0)){if((m|0)==40){if(c[H>>2]|0){$a=179;break b}c[Sa>>2]=Lf(M,0)|0;if(c[Sa>>2]|0){$a=181;break b}k=M+8|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=3;c[O>>2]=(c[O>>2]|0)+1;break}if((a[c[z>>2]>>0]|0)==41){if(c[H>>2]|0){$a=185;break b}c[Ta>>2]=Lf(M,0)|0;if(c[Ta>>2]|0){$a=187;break b}l=M+8|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=4;c[O>>2]=(c[O>>2]|0)+-1;break}k=c[z>>2]|0;if((a[c[z>>2]>>0]|0)==34){c[C>>2]=k;c[K>>2]=0;break}l=c[z>>2]|0;if((a[k>>0]|0)==35){c[F>>2]=l;c[J>>2]=0;break}k=c[z>>2]|0;if((a[l>>0]|0)==124){c[G>>2]=k;break}if((a[k>>0]|0)==91){ab=c[z>>2]|0;if(c[H>>2]|0){$a=197;break b}c[H>>2]=ab;break}if((a[c[z>>2]>>0]|0)==93){if(!(c[H>>2]|0)){$a=201;break b}c[H>>2]=0;break}do if((a[c[z>>2]>>0]|0)>=48){if((a[c[z>>2]>>0]|0)>57)break;bb=c[z>>2]|0;if((a[c[z>>2]>>0]|0)==48){$a=206;break b}c[B>>2]=bb;break c}while(0);k=(Vv(22633,a[c[z>>2]>>0]|0)|0)!=0;l=c[z>>2]|0;if(k){c[E>>2]=l;break}if(Nf(l)|0)break;cb=c[z>>2]|0;if((a[c[z>>2]>>0]|0)==123){$a=212;break b}if(Vv(22732,a[cb>>0]|0)|0){$a=214;break b}if(!(c[v>>2]|0)){$a=218;break b}if((a[c[z>>2]>>0]|0)!=37){$a=218;break b}c[I>>2]=c[z>>2];break}do if((m|0)!=109?(a[c[z>>2]>>0]|0)!=77:0){if((a[c[z>>2]>>0]|0)==115){if(c[w>>2]|0){l=c[N>>2]|0;c[N>>2]=l+1;c[oa>>2]=c[c[(c[w>>2]|0)+(l<<2)>>2]>>2]}else{l=c[x>>2]|0;k=(c[l>>2]|0)+(4-1)&~(4-1);h=c[k>>2]|0;c[l>>2]=k+4;c[qa>>2]=h;c[oa>>2]=c[qa>>2]}c[pa>>2]=hv(c[oa>>2]|0)|0;c[ra>>2]=Lf(M,c[pa>>2]|0)|0;if(c[ra>>2]|0){$a=135;break b}h=M+8|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=1;b[sa>>1]=c[pa>>2];k=c[M+8>>2]|0;a[k>>0]=a[sa>>0]|0;a[k+1>>0]=a[sa+1>>0]|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+2;Yw(c[M+8>>2]|0,c[oa>>2]|0,c[pa>>2]|0)|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+(c[pa>>2]|0);break}if((a[c[z>>2]>>0]|0)==98){if(c[w>>2]|0){k=c[N>>2]|0;c[N>>2]=k+1;c[ua>>2]=c[c[(c[w>>2]|0)+(k<<2)>>2]>>2]}else{k=c[x>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);l=c[h>>2]|0;c[k>>2]=h+4;c[va>>2]=l;c[ua>>2]=c[va>>2]}if(c[w>>2]|0){l=c[N>>2]|0;c[N>>2]=l+1;c[ta>>2]=c[c[(c[w>>2]|0)+(l<<2)>>2]>>2]}else{l=c[x>>2]|0;h=(c[l>>2]|0)+(4-1)&~(4-1);k=c[h>>2]|0;c[l>>2]=h+4;c[wa>>2]=k;c[ta>>2]=c[wa>>2]}c[xa>>2]=Lf(M,c[ua>>2]|0)|0;if(c[xa>>2]|0){$a=145;break b}do if(c[ua>>2]|0){if(tf(c[M>>2]|0)|0)break;if(!(tf(c[ta>>2]|0)|0))break;c[ya>>2]=sf(1+(c[M+4>>2]|0)-1|0)|0;if(!(c[ya>>2]|0)){$a=150;break b}c[za>>2]=c[ya>>2];Yw(c[za>>2]|0,c[M>>2]|0,(c[M+8>>2]|0)-(c[M>>2]|0)|0)|0;c[M+8>>2]=(c[za>>2]|0)+((c[M+8>>2]|0)-(c[M>>2]|0));vf(c[M>>2]|0);c[M>>2]=c[ya>>2]}while(0);k=M+8|0;h=c[k>>2]|0;c[k>>2]=h+1;a[h>>0]=1;b[Aa>>1]=c[ua>>2];h=c[M+8>>2]|0;a[h>>0]=a[Aa>>0]|0;a[h+1>>0]=a[Aa+1>>0]|0;h=M+8|0;c[h>>2]=(c[h>>2]|0)+2;Yw(c[M+8>>2]|0,c[ta>>2]|0,c[ua>>2]|0)|0;h=M+8|0;c[h>>2]=(c[h>>2]|0)+(c[ua>>2]|0);break}if((a[c[z>>2]>>0]|0)==100){if(c[w>>2]|0){h=c[N>>2]|0;c[N>>2]=h+1;c[Ba>>2]=c[c[(c[w>>2]|0)+(h<<2)>>2]>>2]}else{h=c[x>>2]|0;k=(c[h>>2]|0)+(4-1)&~(4-1);l=c[k>>2]|0;c[h>>2]=k+4;c[Ea>>2]=l;c[Ba>>2]=c[Ea>>2]}c[p>>2]=c[Ba>>2];Dv(Da,22726,p)|0;c[Ca>>2]=hv(Da)|0;c[Fa>>2]=Lf(M,c[Ca>>2]|0)|0;if(c[Fa>>2]|0){$a=158;break b}l=M+8|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=1;b[Ga>>1]=c[Ca>>2];k=c[M+8>>2]|0;a[k>>0]=a[Ga>>0]|0;a[k+1>>0]=a[Ga+1>>0]|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+2;Yw(c[M+8>>2]|0,Da|0,c[Ca>>2]|0)|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+(c[Ca>>2]|0);break}if((a[c[z>>2]>>0]|0)==117){if(c[w>>2]|0){k=c[N>>2]|0;c[N>>2]=k+1;c[Ha>>2]=c[c[(c[w>>2]|0)+(k<<2)>>2]>>2]}else{k=c[x>>2]|0;l=(c[k>>2]|0)+(4-1)&~(4-1);h=c[l>>2]|0;c[k>>2]=l+4;c[Ka>>2]=h;c[Ha>>2]=c[Ka>>2]}c[o>>2]=c[Ha>>2];Dv(Ja,22729,o)|0;c[Ia>>2]=hv(Ja)|0;c[La>>2]=Lf(M,c[Ia>>2]|0)|0;if(c[La>>2]|0){$a=165;break b}h=M+8|0;l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=1;b[Ma>>1]=c[Ia>>2];l=c[M+8>>2]|0;a[l>>0]=a[Ma>>0]|0;a[l+1>>0]=a[Ma+1>>0]|0;l=M+8|0;c[l>>2]=(c[l>>2]|0)+2;Yw(c[M+8>>2]|0,Ja|0,c[Ia>>2]|0)|0;l=M+8|0;c[l>>2]=(c[l>>2]|0)+(c[Ia>>2]|0);break}if((a[c[z>>2]>>0]|0)!=83){$a=175;break b}if(c[w>>2]|0){l=c[N>>2]|0;c[N>>2]=l+1;c[Na>>2]=c[c[(c[w>>2]|0)+(l<<2)>>2]>>2]}else{l=c[x>>2]|0;h=(c[l>>2]|0)+(4-1)&~(4-1);k=c[h>>2]|0;c[l>>2]=h+4;c[Qa>>2]=k;c[Na>>2]=c[Qa>>2]}c[Oa>>2]=Pf(c[Na>>2]|0,Pa)|0;if(!(c[Oa>>2]|0))break;c[Ra>>2]=Lf(M,c[Oa>>2]|0)|0;if(c[Ra>>2]|0){$a=173;break b}Yw(c[M+8>>2]|0,(c[Na>>2]|0)+(c[Pa>>2]|0)|0,c[Oa>>2]|0)|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+(c[Oa>>2]|0)}else $a=105;while(0);do if(($a|0)==105){$a=0;c[ba>>2]=0;c[ca>>2]=(a[c[z>>2]>>0]|0)==109?1:5;if(c[w>>2]|0){m=c[N>>2]|0;c[N>>2]=m+1;c[aa>>2]=c[c[(c[w>>2]|0)+(m<<2)>>2]>>2]}else{m=c[x>>2]|0;k=(c[m>>2]|0)+(4-1)&~(4-1);h=c[k>>2]|0;c[m>>2]=k+4;c[da>>2]=h;c[aa>>2]=c[da>>2]}if(Vp(c[aa>>2]|0,2)|0){c[ea>>2]=Gp(c[aa>>2]|0,fa)|0;c[ba>>2]=(((c[fa>>2]|0)+7|0)>>>0)/8|0;if(!((c[ea>>2]|0)!=0&(c[ba>>2]|0)!=0))break;c[ga>>2]=Lf(M,c[ba>>2]|0)|0;if(c[ga>>2]|0){$a=111;break b}do if(!(tf(c[M>>2]|0)|0)){if(!(Vp(c[aa>>2]|0,1)|0))break;c[ha>>2]=sf(1+(c[M+4>>2]|0)-1|0)|0;if(!(c[ha>>2]|0)){$a=115;break b}c[ia>>2]=c[ha>>2];Yw(c[ia>>2]|0,c[M>>2]|0,(c[M+8>>2]|0)-(c[M>>2]|0)|0)|0;c[M+8>>2]=(c[ia>>2]|0)+((c[M+8>>2]|0)-(c[M>>2]|0));vf(c[M>>2]|0);c[M>>2]=c[ha>>2]}while(0);h=M+8|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=1;b[ja>>1]=c[ba>>2];k=c[M+8>>2]|0;a[k>>0]=a[ja>>0]|0;a[k+1>>0]=a[ja+1>>0]|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+2;Yw(c[M+8>>2]|0,c[ea>>2]|0,c[ba>>2]|0)|0;k=M+8|0;c[k>>2]=(c[k>>2]|0)+(c[ba>>2]|0);break}if(bp(c[ca>>2]|0,0,0,ba,c[aa>>2]|0)|0){$a=119;break b}c[ka>>2]=Lf(M,c[ba>>2]|0)|0;if(c[ka>>2]|0){$a=121;break b}do if(!(tf(c[M>>2]|0)|0)){if(!(Vp(c[aa>>2]|0,1)|0))break;c[la>>2]=sf(1+(c[M+4>>2]|0)-1|0)|0;if(!(c[la>>2]|0)){$a=125;break b}c[ma>>2]=c[la>>2];Yw(c[ma>>2]|0,c[M>>2]|0,(c[M+8>>2]|0)-(c[M>>2]|0)|0)|0;c[M+8>>2]=(c[ma>>2]|0)+((c[M+8>>2]|0)-(c[M>>2]|0));vf(c[M>>2]|0);c[M>>2]=c[la>>2]}while(0);k=M+8|0;h=c[k>>2]|0;c[k>>2]=h+1;a[h>>0]=1;b[na>>1]=c[ba>>2];h=c[M+8>>2]|0;a[h>>0]=a[na>>0]|0;a[h+1>>0]=a[na+1>>0]|0;h=M+8|0;c[h>>2]=(c[h>>2]|0)+2;if(bp(c[ca>>2]|0,c[M+8>>2]|0,c[ba>>2]|0,ba,c[aa>>2]|0)|0){$a=128;break b}h=M+8|0;c[h>>2]=(c[h>>2]|0)+(c[ba>>2]|0)}while(0);c[I>>2]=0}while(0);c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}switch($a|0){case 18:{c[y>>2]=c[P>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 29:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=206;break a;break}case 44:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=206;break a;break}case 54:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=206;break a;break}case 59:{c[y>>2]=c[T>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 66:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=212;break a;break}case 68:{c[y>>2]=c[W>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 82:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=211;break a;break}case 91:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=202;break a;break}case 93:{c[y>>2]=c[Z>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 101:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=201;break a;break}case 111:{c[y>>2]=c[ga>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 115:{c[y>>2]=Ct(c[(xu()|0)>>2]|0)|0;break a;break}case 119:{Re(22704,1433,22711);break}case 121:{c[y>>2]=c[ka>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 125:{c[y>>2]=Ct(c[(xu()|0)>>2]|0)|0;break a;break}case 128:{Re(22704,1460,22711);break}case 135:{c[y>>2]=c[ra>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 145:{c[y>>2]=c[xa>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 150:{c[y>>2]=Ct(c[(xu()|0)>>2]|0)|0;break a;break}case 158:{c[y>>2]=c[Fa>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 165:{c[y>>2]=c[La>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 173:{c[y>>2]=c[Ra>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 175:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=201;break a;break}case 179:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=209;break a;break}case 181:{c[y>>2]=c[Sa>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 185:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=209;break a;break}case 187:{c[y>>2]=c[Ta>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a;break}case 197:{c[c[s>>2]>>2]=ab-(c[t>>2]|0);c[y>>2]=208;break a;break}case 201:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=209;break a;break}case 206:{c[c[s>>2]>>2]=bb-(c[t>>2]|0);c[y>>2]=207;break a;break}case 212:{c[c[s>>2]>>2]=cb-(c[t>>2]|0);c[y>>2]=210;break a;break}case 214:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=210;break a;break}case 218:{c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);c[y>>2]=205;break a;break}case 220:{c[Ua>>2]=Lf(M,0)|0;if(c[Ua>>2]|0){c[y>>2]=c[Ua>>2];c[c[s>>2]>>2]=(c[z>>2]|0)-(c[t>>2]|0);break a}h=M+8|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=0;if((c[O>>2]|0)==0|(c[y>>2]|0)!=0)break a;c[y>>2]=203;break a;break}}}else{c[y>>2]=Ct(c[(xu()|0)>>2]|0)|0;c[c[s>>2]>>2]=0}while(0);s=c[M>>2]|0;if(c[y>>2]|0){if(s|0){d:do if(tf(c[M>>2]|0)|0){c[Va>>2]=c[M>>2];c[Wa>>2]=1+(c[M+4>>2]|0)-1;a[Xa>>0]=0;O=Ya;c[O>>2]=d[Xa>>0];c[O+4>>2]=0;while(1){if(!(c[Va>>2]&7|0?(c[Wa>>2]|0)!=0:0))break;a[c[Va>>2]>>0]=a[Xa>>0]|0;c[Va>>2]=(c[Va>>2]|0)+1;c[Wa>>2]=(c[Wa>>2]|0)+-1}if((c[Wa>>2]|0)>>>0>=8){O=Ya;t=ex(c[O>>2]|0,c[O+4>>2]|0,16843009,16843009)|0;O=Ya;c[O>>2]=t;c[O+4>>2]=D;do{c[Za>>2]=c[Va>>2];O=Ya;t=c[O+4>>2]|0;z=c[Za>>2]|0;c[z>>2]=c[O>>2];c[z+4>>2]=t;c[Wa>>2]=(c[Wa>>2]|0)-8;c[Va>>2]=(c[Va>>2]|0)+8}while((c[Wa>>2]|0)>>>0>=8)}while(1){if(!(c[Wa>>2]|0))break d;a[c[Va>>2]>>0]=a[Xa>>0]|0;c[Va>>2]=(c[Va>>2]|0)+1;c[Wa>>2]=(c[Wa>>2]|0)+-1}}while(0);vf(c[M>>2]|0)}}else{M=Qf(s)|0;c[c[r>>2]>>2]=M}c[q>>2]=c[y>>2];_a=c[q>>2]|0;i=n;return _a|0}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=(c[(c[f>>2]|0)+8>>2]|0)-(c[c[f>>2]>>2]|0);do if(((c[h>>2]|0)+(c[g>>2]|0)+2+1|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[m>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)+2+1<<1);if((c[m>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=67;n=c[e>>2]|0;i=d;return n|0}c[k>>2]=uf(c[c[f>>2]>>2]|0,1+(c[m>>2]|0)-1|0)|0;if(c[k>>2]|0){c[(c[f>>2]|0)+4>>2]=c[m>>2];c[l>>2]=c[k>>2];c[(c[f>>2]|0)+8>>2]=(c[l>>2]|0)+(c[h>>2]|0);c[c[f>>2]>>2]=c[k>>2];break}c[e>>2]=Ct(c[(xu()|0)>>2]|0)|0;n=c[e>>2]|0;i=d;return n|0}while(0);c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}function Mf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;p=g;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=c[h>>2];c[o>>2]=c[l>>2];c[p>>2]=c[k>>2];while(1){if(!(c[p>>2]|0))break;k=d[c[n>>2]>>0]|0;do if(!(c[m>>2]|0))if((k|0)==92){c[m>>2]=1;break}else{h=a[c[n>>2]>>0]|0;f=c[o>>2]|0;c[o>>2]=f+1;a[f>>0]=h;break}else{a:do switch(k|0){case 98:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=8;break}case 116:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=9;break}case 118:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=11;break}case 110:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=10;break}case 102:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=12;break}case 114:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=13;break}case 34:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=34;break}case 39:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=39;break}case 92:{h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=92;break}case 13:{if((c[p>>2]|0)>>>0>1?(d[(c[n>>2]|0)+1>>0]|0|0)==10:0){c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}break}case 10:{if((c[p>>2]|0)>>>0>1?(d[(c[n>>2]|0)+1>>0]|0|0)==13:0){c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}break}case 120:{if((c[p>>2]|0)>>>0>2){if(!((d[(c[n>>2]|0)+1>>0]|0|0)>=48?(d[(c[n>>2]|0)+1>>0]|0|0)<=57:0))q=23;do if((q|0)==23){q=0;if((d[(c[n>>2]|0)+1>>0]|0|0)>=65?(d[(c[n>>2]|0)+1>>0]|0|0)<=70:0)break;if((d[(c[n>>2]|0)+1>>0]|0|0)<97)break a;if((d[(c[n>>2]|0)+1>>0]|0|0)>102)break a}while(0);if(!((d[(c[n>>2]|0)+2>>0]|0|0)>=48?(d[(c[n>>2]|0)+2>>0]|0|0)<=57:0))q=29;do if((q|0)==29){q=0;if((d[(c[n>>2]|0)+2>>0]|0|0)>=65?(d[(c[n>>2]|0)+2>>0]|0|0)<=70:0)break;if((d[(c[n>>2]|0)+2>>0]|0|0)<97)break a;if((d[(c[n>>2]|0)+2>>0]|0|0)>102)break a}while(0);c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1;h=d[c[n>>2]>>0]|0;if((d[c[n>>2]>>0]|0|0)<=57)r=h-48|0;else{f=d[c[n>>2]>>0]|0;r=((h|0)<=70?f-65|0:f-97|0)+10|0}f=d[(c[n>>2]|0)+1>>0]|0;if((d[(c[n>>2]|0)+1>>0]|0|0)<=57)s=f-48|0;else{h=d[(c[n>>2]|0)+1>>0]|0;s=((f|0)<=70?h-65|0:h-97|0)+10|0}h=c[o>>2]|0;c[o>>2]=h+1;a[h>>0]=(r<<4)+s;c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}break}default:if(((((((c[p>>2]|0)>>>0>2?(d[c[n>>2]>>0]|0|0)>=48:0)?(d[c[n>>2]>>0]|0|0)<=55:0)?(d[(c[n>>2]|0)+1>>0]|0|0)>=48:0)?(d[(c[n>>2]|0)+1>>0]|0|0)<=55:0)?(d[(c[n>>2]|0)+2>>0]|0|0)>=48:0)?(d[(c[n>>2]|0)+2>>0]|0|0)<=55:0){h=((d[c[n>>2]>>0]|0)-48<<6)+((d[(c[n>>2]|0)+1>>0]|0)-48<<3)+((d[(c[n>>2]|0)+2>>0]|0)-48)&255;f=c[o>>2]|0;c[o>>2]=f+1;a[f>>0]=h;c[n>>2]=(c[n>>2]|0)+2;c[p>>2]=(c[p>>2]|0)-2}}while(0);c[m>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+-1;c[n>>2]=(c[n>>2]|0)+1}i=g;return (c[o>>2]|0)-(c[l>>2]|0)|0}function Nf(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[f>>2]=b;switch(a[c[f>>2]>>0]|0){case 10:case 13:case 12:case 11:case 9:case 32:{c[e>>2]=1;break}default:c[e>>2]=0}i=d;return c[e>>2]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;do if(!((c[e>>2]|0)>=48&(c[e>>2]|0)<=57)){f=c[e>>2]|0;if((a|0)>=65&(c[e>>2]|0)<=70){c[d>>2]=10+f-65;break}if((f|0)>=97&(c[e>>2]|0)<=102){c[d>>2]=10+(c[e>>2]|0)-97;break}else{c[d>>2]=0;break}}else c[d>>2]=a-48;while(0);i=b;return c[d>>2]|0}function Pf(b,f){b=b|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+24|0;o=g+4|0;p=g;c[k>>2]=b;c[l>>2]=f;c[p>>2]=0;c[c[l>>2]>>2]=0;a:do if(c[k>>2]|0){c[m>>2]=c[k>>2];while(1){f=d[c[m>>2]>>0]|0;c[o>>2]=f;if(!f)break a;c[m>>2]=(c[m>>2]|0)+1;if((c[o>>2]|0)==1){f=c[m>>2]|0;a[n>>0]=a[f>>0]|0;a[n+1>>0]=a[f+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));continue}if((c[o>>2]|0)!=3){if((c[o>>2]|0)!=4)continue;c[p>>2]=(c[p>>2]|0)+-1;if(c[p>>2]|0)continue;else break}if(!(c[p>>2]|0))c[c[l>>2]>>2]=(c[m>>2]|0)+-1-(c[k>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[h>>2]=(c[m>>2]|0)-(c[k>>2]|0);q=c[h>>2]|0;i=g;return q|0}while(0);c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}function Qf(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+8|0;f=b+4|0;g=b;c[f>>2]=a;do if(c[f>>2]|0){c[g>>2]=c[f>>2];if(!(d[c[g>>2]>>0]|0)){Rf(c[f>>2]|0);c[e>>2]=0;break}if((d[c[g>>2]>>0]|0|0)==3?(d[(c[g>>2]|0)+1>>0]|0|0)==4:0){Rf(c[f>>2]|0);c[e>>2]=0;break}c[e>>2]=c[f>>2]}else c[e>>2]=0;while(0);i=b;return c[e>>2]|0}function Rf(b){b=b|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+28|0;h=f+24|0;k=f+20|0;l=f+32|0;m=f+16|0;n=f+12|0;o=f+34|0;p=f;q=f+8|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=f;return}a:do if(tf(c[g>>2]|0)|0){c[h>>2]=c[g>>2];while(1){b=d[c[h>>2]>>0]|0;c[k>>2]=b;if(!b)break;c[h>>2]=(c[h>>2]|0)+1;if((c[k>>2]|0)!=1)continue;b=c[h>>2]|0;a[l>>0]=a[b>>0]|0;a[l+1>>0]=a[b+1>>0]|0;c[h>>2]=(c[h>>2]|0)+2;c[h>>2]=(c[h>>2]|0)+(e[l>>1]|0)}c[m>>2]=c[g>>2];c[n>>2]=(c[h>>2]|0)-(c[g>>2]|0);a[o>>0]=0;b=p;c[b>>2]=d[o>>0];c[b+4>>2]=0;while(1){if(!(c[m>>2]&7|0?(c[n>>2]|0)!=0:0))break;a[c[m>>2]>>0]=a[o>>0]|0;c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+-1}if((c[n>>2]|0)>>>0>=8){b=p;r=ex(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=p;c[b>>2]=r;c[b+4>>2]=D;do{c[q>>2]=c[m>>2];b=p;r=c[b+4>>2]|0;s=c[q>>2]|0;c[s>>2]=c[b>>2];c[s+4>>2]=r;c[n>>2]=(c[n>>2]|0)-8;c[m>>2]=(c[m>>2]|0)+8}while((c[n>>2]|0)>>>0>=8)}while(1){if(!(c[n>>2]|0))break a;a[c[m>>2]>>0]=a[o>>0]|0;c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+-1}}while(0);vf(c[g>>2]|0);i=f;return}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=Hf(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;i=f;return e|0}function Tf(f,g,h){f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=k+32|0;m=k+28|0;n=k+24|0;o=k+20|0;p=k+16|0;q=k+36|0;r=k+12|0;s=k+8|0;t=k+4|0;u=k;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(!(c[m>>2]|0)){c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}if(!(c[o>>2]|0))c[o>>2]=hv(c[n>>2]|0)|0;c[p>>2]=c[m>>2];while(1){if(!(d[c[p>>2]>>0]|0)){w=29;break}if((d[c[p>>2]>>0]|0|0)==3?(d[(c[p>>2]|0)+1>>0]|0|0)==1:0){c[r>>2]=c[p>>2];c[p>>2]=(c[p>>2]|0)+2;m=c[p>>2]|0;a[q>>0]=a[m>>0]|0;a[q+1>>0]=a[m+1>>0]|0;c[p>>2]=(c[p>>2]|0)+2;if((e[q>>1]|0|0)==(c[o>>2]|0)?(Jv(c[p>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+(e[q>>1]|0);continue}if((d[c[p>>2]>>0]|0|0)==1){m=(c[p>>2]|0)+1|0;c[p>>2]=m;a[q>>0]=a[m>>0]|0;a[q+1>>0]=a[m+1>>0]|0;c[p>>2]=(c[p>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+(e[q>>1]|0);continue}else{c[p>>2]=(c[p>>2]|0)+1;continue}}if((w|0)==29){c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}c[u>>2]=1;c[p>>2]=(c[p>>2]|0)+(e[q>>1]|0);a:while(1){x=c[p>>2]|0;if(!(c[u>>2]|0))break;do if((d[x>>0]|0|0)!=1){if((d[c[p>>2]>>0]|0|0)==3){c[u>>2]=(c[u>>2]|0)+1;break}if((d[c[p>>2]>>0]|0|0)!=4)if(!(d[c[p>>2]>>0]|0)){w=20;break a}else break;else{c[u>>2]=(c[u>>2]|0)+-1;break}}else{o=(c[p>>2]|0)+1|0;c[p>>2]=o;a[q>>0]=a[o>>0]|0;a[q+1>>0]=a[o+1>>0]|0;c[p>>2]=(c[p>>2]|0)+(2+(e[q>>1]|0));c[p>>2]=(c[p>>2]|0)+-1}while(0);c[p>>2]=(c[p>>2]|0)+1}if((w|0)==20)Re(22704,481,22735);b[q>>1]=x-(c[r>>2]|0);c[s>>2]=pf(1+(e[q>>1]|0)|0)|0;if(c[s>>2]|0){c[t>>2]=c[s>>2];Yw(c[t>>2]|0,c[r>>2]|0,e[q>>1]|0|0)|0;c[t>>2]=(c[t>>2]|0)+(e[q>>1]|0);q=c[t>>2]|0;c[t>>2]=q+1;a[q>>0]=0;c[l>>2]=Qf(c[s>>2]|0)|0;v=c[l>>2]|0;i=k;return v|0}else{c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}return 0}function Uf(b){b=b|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+24|0;m=f+8|0;n=f+4|0;o=f;c[h>>2]=b;c[n>>2]=0;c[o>>2]=0;if(!(c[h>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}c[k>>2]=c[h>>2];while(1){h=d[c[k>>2]>>0]|0;c[m>>2]=h;if(!h)break;c[k>>2]=(c[k>>2]|0)+1;if((c[m>>2]|0)==1){h=c[k>>2]|0;a[l>>0]=a[h>>0]|0;a[l+1>>0]=a[h+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[l>>1]|0));if((c[o>>2]|0)!=1)continue;c[n>>2]=(c[n>>2]|0)+1;continue}if((c[m>>2]|0)!=3){if((c[m>>2]|0)!=4)continue;c[o>>2]=(c[o>>2]|0)+-1;continue}if((c[o>>2]|0)==1)c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=f;return p|0}function Vf(f,g){f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+32|0;p=h+12|0;q=h+8|0;r=h+4|0;s=h;c[l>>2]=f;c[m>>2]=g;c[r>>2]=0;if(c[l>>2]|0?(d[c[l>>2]>>0]|0|0)==3:0){c[n>>2]=c[l>>2];while(1){l=(c[m>>2]|0)>0;c[n>>2]=(c[n>>2]|0)+1;t=(d[c[n>>2]>>0]|0|0)==1;if(!l)break;if(t){l=(c[n>>2]|0)+1|0;c[n>>2]=l;a[o>>0]=a[l>>0]|0;a[o+1>>0]=a[l+1>>0]|0;c[n>>2]=(c[n>>2]|0)+(2+(e[o>>1]|0));c[n>>2]=(c[n>>2]|0)+-1;if(c[r>>2]|0)continue;c[m>>2]=(c[m>>2]|0)+-1;continue}if((d[c[n>>2]>>0]|0|0)==3){c[r>>2]=(c[r>>2]|0)+1;continue}if((d[c[n>>2]>>0]|0|0)!=4)if(!(d[c[n>>2]>>0]|0)){u=15;break}else continue;c[r>>2]=(c[r>>2]|0)+-1;if(c[r>>2]|0)continue;c[m>>2]=(c[m>>2]|0)+-1}if((u|0)==15){c[k>>2]=0;v=c[k>>2]|0;i=h;return v|0}do if(t){m=(c[n>>2]|0)+1|0;a[o>>0]=a[m>>0]|0;a[o+1>>0]=a[m+1>>0]|0;c[p>>2]=pf(5+(e[o>>1]|0)+1|0)|0;if(c[p>>2]|0){c[q>>2]=c[p>>2];m=c[q>>2]|0;c[q>>2]=m+1;a[m>>0]=3;Yw(c[q>>2]|0,c[n>>2]|0,3+(e[o>>1]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+(3+(e[o>>1]|0));m=c[q>>2]|0;c[q>>2]=m+1;a[m>>0]=4;a[c[q>>2]>>0]=0;break}c[k>>2]=0;v=c[k>>2]|0;i=h;return v|0}else{if((d[c[n>>2]>>0]|0|0)!=3){c[p>>2]=0;break}c[s>>2]=c[n>>2];c[r>>2]=1;a:do{c[n>>2]=(c[n>>2]|0)+1;do if((d[c[n>>2]>>0]|0|0)!=1){if((d[c[n>>2]>>0]|0|0)==3){c[r>>2]=(c[r>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)!=4)if(!(d[c[n>>2]>>0]|0)){u=29;break a}else break;else{c[r>>2]=(c[r>>2]|0)+-1;break}}else{m=(c[n>>2]|0)+1|0;c[n>>2]=m;a[o>>0]=a[m>>0]|0;a[o+1>>0]=a[m+1>>0]|0;c[n>>2]=(c[n>>2]|0)+(2+(e[o>>1]|0));c[n>>2]=(c[n>>2]|0)+-1}while(0)}while((c[r>>2]|0)!=0);if((u|0)==29)Re(22704,673,22757);b[o>>1]=(c[n>>2]|0)+1-(c[s>>2]|0);c[p>>2]=pf(1+(e[o>>1]|0)|0)|0;if(c[p>>2]|0){c[q>>2]=c[p>>2];Yw(c[q>>2]|0,c[s>>2]|0,e[o>>1]|0|0)|0;c[q>>2]=(c[q>>2]|0)+(e[o>>1]|0);m=c[q>>2]|0;c[q>>2]=m+1;a[m>>0]=0;break}c[k>>2]=0;v=c[k>>2]|0;i=h;return v|0}while(0);c[k>>2]=Qf(c[p>>2]|0)|0;v=c[k>>2]|0;i=h;return v|0}c[k>>2]=0;v=c[k>>2]|0;i=h;return v|0}function Wf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Vf(c[d>>2]|0,0)|0;i=b;return a|0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Yf(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Yf(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h+24|0;q=h;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[q>>2]=0;c[c[n>>2]>>2]=0;if(!(c[l>>2]|0)){c[k>>2]=0;r=c[k>>2]|0;i=h;return r|0}c[o>>2]=c[l>>2];if((d[c[o>>2]>>0]|0|0)!=3){if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=h;return r|0}}else c[o>>2]=(c[o>>2]|0)+1;a:while(1){s=(d[c[o>>2]>>0]|0|0)==1;if((c[m>>2]|0)<=0)break;do if(s){l=(c[o>>2]|0)+1|0;c[o>>2]=l;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+(2+(e[p>>1]|0));c[o>>2]=(c[o>>2]|0)+-1;if(!(c[q>>2]|0))c[m>>2]=(c[m>>2]|0)+-1}else{if((d[c[o>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;break}if((d[c[o>>2]>>0]|0|0)!=4)if(!(d[c[o>>2]>>0]|0)){t=17;break a}else break;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[q>>2]|0))c[m>>2]=(c[m>>2]|0)+-1}while(0);c[o>>2]=(c[o>>2]|0)+1}if((t|0)==17){c[k>>2]=0;r=c[k>>2]|0;i=h;return r|0}if(s){s=(c[o>>2]|0)+1|0;c[o>>2]=s;a[p>>0]=a[s>>0]|0;a[p+1>>0]=a[s+1>>0]|0;c[c[n>>2]>>2]=e[p>>1];c[k>>2]=(c[o>>2]|0)+2;r=c[k>>2]|0;i=h;return r|0}else{c[k>>2]=0;r=c[k>>2]|0;i=h;return r|0}return 0}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+24|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[c[k>>2]>>2]=0;c[l>>2]=Yf(c[g>>2]|0,c[h>>2]|0,m)|0;if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}c[n>>2]=pf(c[m>>2]|0)|0;if(c[n>>2]|0){Yw(c[n>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[c[k>>2]>>2]=c[m>>2];c[f>>2]=c[n>>2];o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}return 0}function _f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=Yf(c[g>>2]|0,c[h>>2]|0,l)|0;if(!((c[k>>2]|0)==0|(c[l>>2]|0)>>>0<1)?((c[l>>2]|0)+1|0)>>>0>=1:0){c[m>>2]=pf((c[l>>2]|0)+1|0)|0;if(c[m>>2]|0){Yw(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=0;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}}c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}function $f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+28|0;g=e+24|0;h=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;do if((c[k>>2]|0)==8){c[n>>2]=Zf(c[g>>2]|0,c[h>>2]|0,l)|0;if(!(c[n>>2]|0)){c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}if(tf(c[g>>2]|0)|0)q=Sp(0)|0;else q=Rp(0)|0;c[m>>2]=q;if(c[m>>2]|0){Ep(c[m>>2]|0,c[n>>2]|0,c[l>>2]<<3)|0;break}else{vf(c[n>>2]|0);break}}else{if(!(c[k>>2]|0))c[k>>2]=1;c[o>>2]=Yf(c[g>>2]|0,c[h>>2]|0,l)|0;if(!(c[o>>2]|0)){c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}if(Zo(m,c[k>>2]|0,c[o>>2]|0,c[l>>2]|0,0)|0){c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}}while(0);c[f>>2]=c[m>>2];p=c[f>>2]|0;i=e;return p|0}function ag(f){f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+32|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[k>>2]=f;c[q>>2]=0;c[r>>2]=1;if(c[k>>2]|0?(d[c[k>>2]>>0]|0|0)==3:0){c[l>>2]=c[k>>2];while(1){k=(c[r>>2]|0)>0;c[l>>2]=(c[l>>2]|0)+1;s=c[l>>2]|0;if(!k)break;if((d[s>>0]|0|0)==1){k=(c[l>>2]|0)+1|0;c[l>>2]=k;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;c[l>>2]=(c[l>>2]|0)+(2+(e[n>>1]|0));c[l>>2]=(c[l>>2]|0)+-1;if(c[q>>2]|0)continue;c[r>>2]=(c[r>>2]|0)+-1;continue}if((d[c[l>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;continue}if((d[c[l>>2]>>0]|0|0)!=4)if(!(d[c[l>>2]>>0]|0)){t=15;break}else continue;c[q>>2]=(c[q>>2]|0)+-1;if(c[q>>2]|0)continue;c[r>>2]=(c[r>>2]|0)+-1}if((t|0)==15){c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}c[m>>2]=s;c[q>>2]=0;a:do{do if((d[c[l>>2]>>0]|0|0)!=1){if((d[c[l>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;break}if((d[c[l>>2]>>0]|0|0)!=4)if(!(d[c[l>>2]>>0]|0)){t=24;break a}else break;else{c[q>>2]=(c[q>>2]|0)+-1;break}}else{s=(c[l>>2]|0)+1|0;c[l>>2]=s;a[n>>0]=a[s>>0]|0;a[n+1>>0]=a[s+1>>0]|0;c[l>>2]=(c[l>>2]|0)+(2+(e[n>>1]|0));c[l>>2]=(c[l>>2]|0)+-1}while(0);c[l>>2]=(c[l>>2]|0)+1}while((c[q>>2]|0)!=0);if((t|0)==24){c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}b[n>>1]=(c[l>>2]|0)-(c[m>>2]|0);c[o>>2]=pf(1+(e[n>>1]|0)+2|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=3;Yw(c[p>>2]|0,c[m>>2]|0,e[n>>1]|0|0)|0;c[p>>2]=(c[p>>2]|0)+(e[n>>1]|0);n=c[p>>2]|0;c[p>>2]=n+1;a[n>>0]=4;n=c[p>>2]|0;c[p>>2]=n+1;a[n>>0]=0;c[h>>2]=Qf(c[o>>2]|0)|0;u=c[h>>2]|0;i=g;return u|0}else{c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}}c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=ag(c[d>>2]|0)|0;c[f>>2]=Wf(c[e>>2]|0)|0;Rf(c[e>>2]|0);i=b;return c[f>>2]|0}function cg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[k>>2]|0;c[l>>2]=Kf(e,g,h,hv(c[k>>2]|0)|0,1,0,m)|0;i=f;return c[l>>2]|0}function dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[k>>2]|0;d=hv(c[k>>2]|0)|0;k=Kf(e,g,h,d,1,0,c[l>>2]|0)|0;i=f;return k|0}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=Jf(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0,f)|0;i=f;return e|0}
-function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;vn(c[(c[l>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[l>>2]|0);Qn(c[(c[l>>2]|0)+48+16+4>>2]|0,c[(c[l>>2]|0)+48+16>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+8>>2]|0,c[c[h>>2]>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+16>>2]|0,c[(c[l>>2]|0)+24>>2]|0,c[(c[l>>2]|0)+48+16+8>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+16>>2]|0,c[(c[l>>2]|0)+48+16+16>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[l>>2]|0);Sn(c[(c[l>>2]|0)+48+16+20>>2]|0,c[(c[l>>2]|0)+48+16+4>>2]|0,c[(c[l>>2]|0)+48+16+16>>2]|0,c[l>>2]|0);Pn(c[(c[l>>2]|0)+48+16+24>>2]|0,c[(c[l>>2]|0)+48+16+4>>2]|0,c[(c[l>>2]|0)+48+16+16>>2]|0,c[l>>2]|0);Pn(c[(c[l>>2]|0)+48+16+28>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[l>>2]|0);Pn(c[c[g>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0);vn(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+48+16+28>>2]|0,c[l>>2]|0);Sn(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+48+16+8>>2]|0,c[l>>2]|0);Sn(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[l>>2]|0);vn(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+48+16+20>>2]|0,c[l>>2]|0);vn(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+48+16>>2]|0,c[l>>2]|0);k=c[(c[g>>2]|0)+4>>2]|0;h=c[l>>2]|0;if((c[(c[l>>2]|0)+4>>2]|0)==1){Kp(k,c[h+48+16+8>>2]|0)|0;Jp(c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Sn(c[(c[g>>2]|0)+4>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0);m=c[g>>2]|0;n=m+4|0;o=c[n>>2]|0;p=c[g>>2]|0;q=p+4|0;r=c[q>>2]|0;s=c[l>>2]|0;t=s+48|0;u=t+16|0;v=u+24|0;w=c[v>>2]|0;x=c[l>>2]|0;vn(o,r,w,x);y=c[g>>2]|0;z=y+4|0;A=c[z>>2]|0;B=c[g>>2]|0;C=B+4|0;D=c[C>>2]|0;E=c[l>>2]|0;F=E+48|0;G=F+16|0;H=c[G>>2]|0;I=c[l>>2]|0;vn(A,D,H,I);J=c[g>>2]|0;K=J+8|0;L=c[K>>2]|0;M=c[l>>2]|0;N=M+48|0;O=N+16|0;P=O+20|0;Q=c[P>>2]|0;R=c[l>>2]|0;S=R+48|0;T=S+16|0;U=T+24|0;V=c[U>>2]|0;W=c[l>>2]|0;vn(L,Q,V,W);i=f;return}else{vn(k,c[h+20>>2]|0,c[(c[l>>2]|0)+48+16+8>>2]|0,c[l>>2]|0);Sn(c[(c[g>>2]|0)+4>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0);m=c[g>>2]|0;n=m+4|0;o=c[n>>2]|0;p=c[g>>2]|0;q=p+4|0;r=c[q>>2]|0;s=c[l>>2]|0;t=s+48|0;u=t+16|0;v=u+24|0;w=c[v>>2]|0;x=c[l>>2]|0;vn(o,r,w,x);y=c[g>>2]|0;z=y+4|0;A=c[z>>2]|0;B=c[g>>2]|0;C=B+4|0;D=c[C>>2]|0;E=c[l>>2]|0;F=E+48|0;G=F+16|0;H=c[G>>2]|0;I=c[l>>2]|0;vn(A,D,H,I);J=c[g>>2]|0;K=J+8|0;L=c[K>>2]|0;M=c[l>>2]|0;N=M+48|0;O=N+16|0;P=O+20|0;Q=c[P>>2]|0;R=c[l>>2]|0;S=R+48|0;T=S+16|0;U=T+24|0;V=c[U>>2]|0;W=c[l>>2]|0;vn(L,Q,V,W);i=f;return}}function Zn(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=b;if((d[(c[f>>2]|0)+48>>0]|0)>>>1&1|0){g=c[f>>2]|0;h=g+48|0;k=h+8|0;l=c[k>>2]|0;i=e;return l|0}b=(c[f>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3|2;if(!(c[(c[f>>2]|0)+48+8>>2]|0)){b=vp(0)|0;c[(c[f>>2]|0)+48+8>>2]=b}b=c[(c[f>>2]|0)+48+8>>2]|0;m=Wp(2)|0;un(b,m,c[f>>2]|0);g=c[f>>2]|0;h=g+48|0;k=h+8|0;l=c[k>>2]|0;i=e;return l|0}function _n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Kp(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;Kp(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;Kp(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function $n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=i;i=i+176|0;if((i|0)>=(j|0))$(176);g=f+168|0;h=f+164|0;k=f+160|0;l=f+156|0;m=f+152|0;n=f+148|0;o=f+144|0;p=f+140|0;q=f+136|0;r=f+132|0;s=f+128|0;t=f+124|0;u=f+112|0;v=f+100|0;w=f+88|0;x=f+84|0;y=f+80|0;z=f+68|0;A=f+64|0;B=f+60|0;C=f+48|0;D=f+36|0;E=f+32|0;F=f+28|0;G=f+24|0;H=f+20|0;I=f+16|0;J=f+12|0;K=f+8|0;L=f+4|0;M=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[c[l>>2]>>2]|0)==2){c[x>>2]=lo(c[h>>2]|0)|0;Op(c[c[g>>2]>>2]|0,0)|0;Op(c[(c[g>>2]|0)+4>>2]|0,1)|0;Op(c[(c[g>>2]|0)+8>>2]|0,1)|0;if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&1|0:0){yn(z);c[y>>2]=(c[x>>2]|0)-1;while(1){if((c[y>>2]|0)<0)break;Ln(c[g>>2]|0,c[g>>2]|0,c[l>>2]|0);Vn(z,c[g>>2]|0,c[k>>2]|0,c[l>>2]|0);if(mo(c[h>>2]|0,c[y>>2]|0)|0)_n(c[g>>2]|0,z);c[y>>2]=(c[y>>2]|0)+-1}An(z);i=f;return}c[y>>2]=(c[x>>2]|0)-1;while(1){if((c[y>>2]|0)<0)break;Ln(c[g>>2]|0,c[g>>2]|0,c[l>>2]|0);if(mo(c[h>>2]|0,c[y>>2]|0)|0)Vn(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0,c[l>>2]|0);c[y>>2]=(c[y>>2]|0)+-1}i=f;return}if((c[c[l>>2]>>2]|0)==1){c[A>>2]=lo(c[h>>2]|0)|0;yn(u);yn(v);yn(C);yn(D);Op(c[u>>2]|0,1)|0;Dp(c[v>>2]|0);c[v>>2]=Ip(c[c[k>>2]>>2]|0)|0;Op(c[v+8>>2]|0,1)|0;c[J>>2]=(((c[A>>2]|0)+32-1<<1>>>0)/32|0)+1;Ap(c[u>>2]|0,c[J>>2]|0);Ap(c[u+8>>2]|0,c[J>>2]|0);Ap(c[v>>2]|0,c[J>>2]|0);Ap(c[v+8>>2]|0,c[J>>2]|0);Ap(c[C>>2]|0,c[J>>2]|0);Ap(c[C+8>>2]|0,c[J>>2]|0);Ap(c[D>>2]|0,c[J>>2]|0);Ap(c[D+8>>2]|0,c[J>>2]|0);c[E>>2]=u;c[F>>2]=v;c[G>>2]=C;c[H>>2]=D;c[B>>2]=(c[A>>2]|0)-1;while(1){if((c[B>>2]|0)<0)break;c[I>>2]=mo(c[h>>2]|0,c[B>>2]|0)|0;Qp(c[c[E>>2]>>2]|0,c[c[F>>2]>>2]|0,c[I>>2]|0);Qp(c[(c[E>>2]|0)+8>>2]|0,c[(c[F>>2]|0)+8>>2]|0,c[I>>2]|0);ao(c[G>>2]|0,c[H>>2]|0,c[E>>2]|0,c[F>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0);Qp(c[c[G>>2]>>2]|0,c[c[H>>2]>>2]|0,c[I>>2]|0);Qp(c[(c[G>>2]|0)+8>>2]|0,c[(c[H>>2]|0)+8>>2]|0,c[I>>2]|0);c[K>>2]=c[E>>2];c[E>>2]=c[G>>2];c[G>>2]=c[K>>2];c[K>>2]=c[F>>2];c[F>>2]=c[H>>2];c[H>>2]=c[K>>2];c[B>>2]=(c[B>>2]|0)+-1}Bp(c[(c[g>>2]|0)+4>>2]|0);c[I>>2]=c[A>>2]&1;Qp(c[u>>2]|0,c[C>>2]|0,c[I>>2]|0);Qp(c[u+8>>2]|0,c[C+8>>2]|0,c[I>>2]|0);if(!(c[(c[u+8>>2]|0)+4>>2]|0)){Op(c[c[g>>2]>>2]|0,1)|0;Op(c[(c[g>>2]|0)+8>>2]|0,0)|0}else{c[o>>2]=Rp(0)|0;un(c[o>>2]|0,c[u+8>>2]|0,c[l>>2]|0);vn(c[c[g>>2]>>2]|0,c[u>>2]|0,c[o>>2]|0,c[l>>2]|0);Op(c[(c[g>>2]|0)+8>>2]|0,1)|0;Dp(c[o>>2]|0)}An(u);An(v);An(C);An(D);i=f;return}c[m>>2]=Lp(c[(c[l>>2]|0)+16>>2]|0)|0;c[n>>2]=Lp(c[(c[l>>2]|0)+16>>2]|0)|0;c[q>>2]=Lp(c[(c[l>>2]|0)+16>>2]|0)|0;c[p>>2]=Ip(c[h>>2]|0)|0;c[r>>2]=Ip(c[(c[k>>2]|0)+4>>2]|0)|0;if(c[(c[p>>2]|0)+8>>2]|0){c[(c[p>>2]|0)+8>>2]=0;un(c[r>>2]|0,c[r>>2]|0,c[l>>2]|0)}if(vo(c[(c[k>>2]|0)+8>>2]|0,1)|0){c[L>>2]=Lp(c[(c[l>>2]|0)+16>>2]|0)|0;c[M>>2]=Lp(c[(c[l>>2]|0)+16>>2]|0)|0;vn(c[L>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[l>>2]|0);vn(c[M>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[L>>2]|0,c[l>>2]|0);un(c[L>>2]|0,c[L>>2]|0,c[l>>2]|0);vn(c[m>>2]|0,c[c[k>>2]>>2]|0,c[L>>2]|0,c[l>>2]|0);un(c[M>>2]|0,c[M>>2]|0,c[l>>2]|0);vn(c[n>>2]|0,c[r>>2]|0,c[M>>2]|0,c[l>>2]|0);Dp(c[L>>2]|0);Dp(c[M>>2]|0)}else{Kp(c[m>>2]|0,c[c[k>>2]>>2]|0)|0;Kp(c[n>>2]|0,c[r>>2]|0)|0}c[o>>2]=Ip(Wp(1)|0)|0;M=c[q>>2]|0;L=c[p>>2]|0;Qo(M,L,Wp(3)|0);c[t>>2]=lo(c[q>>2]|0)|0;if((c[t>>2]|0)>>>0<2){c[t>>2]=2;Bp(c[c[g>>2]>>2]|0);Bp(c[(c[g>>2]|0)+4>>2]|0);Bp(c[(c[g>>2]|0)+8>>2]|0)}else{Kp(c[c[g>>2]>>2]|0,c[c[k>>2]>>2]|0)|0;Kp(c[(c[g>>2]|0)+4>>2]|0,c[r>>2]|0)|0;Kp(c[(c[g>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0}Dp(c[r>>2]|0);c[r>>2]=0;c[u>>2]=c[m>>2];c[m>>2]=0;c[u+4>>2]=c[n>>2];c[n>>2]=0;c[u+8>>2]=c[o>>2];c[o>>2]=0;yn(v);yn(w);c[s>>2]=(c[t>>2]|0)-2;while(1){if((c[s>>2]|0)>>>0<=0)break;Ln(c[g>>2]|0,c[g>>2]|0,c[l>>2]|0);if((mo(c[q>>2]|0,c[s>>2]|0)|0)==1?(mo(c[p>>2]|0,c[s>>2]|0)|0)==0:0){_n(v,c[g>>2]|0);Vn(c[g>>2]|0,v,u,c[l>>2]|0)}if((mo(c[q>>2]|0,c[s>>2]|0)|0)==0?(mo(c[p>>2]|0,c[s>>2]|0)|0)==1:0){_n(v,c[g>>2]|0);_n(w,u);Sn(c[w+4>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[w+4>>2]|0,c[l>>2]|0);Vn(c[g>>2]|0,v,w,c[l>>2]|0)}c[s>>2]=(c[s>>2]|0)+-1}An(u);An(v);An(w);Dp(c[q>>2]|0);Dp(c[p>>2]|0);i=f;return}function ao(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;Pn(c[c[l>>2]>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[p>>2]|0);Sn(c[(c[n>>2]|0)+8>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[p>>2]|0);Pn(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[p>>2]|0);Sn(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[p>>2]|0);vn(c[c[n>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[p>>2]|0);vn(c[(c[n>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[p>>2]|0);Qn(c[c[m>>2]>>2]|0,c[c[k>>2]>>2]|0,c[p>>2]|0);Qn(c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[p>>2]|0);Pn(c[c[l>>2]>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[p>>2]|0);Sn(c[(c[n>>2]|0)+8>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[p>>2]|0);vn(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[p>>2]|0);Sn(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[p>>2]|0);Qn(c[c[l>>2]>>2]|0,c[c[l>>2]>>2]|0,c[p>>2]|0);Qn(c[(c[l>>2]|0)+8>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[p>>2]|0);vn(c[(c[k>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[p>>2]|0);vn(c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0,c[p>>2]|0);Pn(c[(c[k>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[p>>2]|0);vn(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[p>>2]|0);i=h;return}function bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[k>>2]=Rp(0)|0;c[l>>2]=Rp(0)|0;c[m>>2]=Rp(0)|0;a:do switch(c[c[g>>2]>>2]|0){case 0:{c[n>>2]=Rp(0)|0;if(tn(c[k>>2]|0,c[l>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}Qn(c[l>>2]|0,c[l>>2]|0,c[g>>2]|0);co(c[n>>2]|0,c[k>>2]|0,c[g>>2]|0);vn(c[m>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[k>>2]|0,c[g>>2]|0);Pn(c[m>>2]|0,c[m>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);Pn(c[m>>2]|0,c[m>>2]|0,c[n>>2]|0,c[g>>2]|0);if(!(wo(c[l>>2]|0,c[m>>2]|0)|0))c[h>>2]=1;Tp(c[n>>2]|0);break}case 1:{if(!(tn(c[k>>2]|0,0,c[f>>2]|0,c[g>>2]|0)|0)){b=c[m>>2]|0;a=c[(c[g>>2]|0)+20>>2]|0;p=Wp(4)|0;vn(b,a,p,c[g>>2]|0);p=c[m>>2]|0;a=c[m>>2]|0;b=Wp(2)|0;Pn(p,a,b,c[g>>2]|0);vn(c[m>>2]|0,c[m>>2]|0,c[k>>2]|0,c[g>>2]|0);Qn(c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);Pn(c[m>>2]|0,c[m>>2]|0,c[l>>2]|0,c[g>>2]|0);b=c[m>>2]|0;a=c[m>>2]|0;p=Wp(1)|0;Pn(b,a,p,c[g>>2]|0);vn(c[m>>2]|0,c[m>>2]|0,c[k>>2]|0,c[g>>2]|0);vn(c[m>>2]|0,c[m>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);p=c[l>>2]|0;a=c[(c[g>>2]|0)+16>>2]|0;b=Wp(1)|0;Sn(p,a,b,c[g>>2]|0);so(c[l>>2]|0,c[l>>2]|0,1);Un(c[m>>2]|0,c[m>>2]|0,c[l>>2]|0,c[g>>2]|0);c[h>>2]=vo(c[m>>2]|0,1)|0;break a}c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}case 2:{if(tn(c[k>>2]|0,c[l>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}Qn(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);Qn(c[l>>2]|0,c[l>>2]|0,c[g>>2]|0);b=c[m>>2]|0;if((c[(c[g>>2]|0)+4>>2]|0)==1){Kp(b,c[k>>2]|0)|0;Jp(c[m>>2]|0,c[m>>2]|0)}else vn(b,c[(c[g>>2]|0)+20>>2]|0,c[k>>2]|0,c[g>>2]|0);Pn(c[m>>2]|0,c[m>>2]|0,c[l>>2]|0,c[g>>2]|0);Sn(c[m>>2]|0,c[m>>2]|0,Wp(1)|0,c[g>>2]|0);vn(c[k>>2]|0,c[k>>2]|0,c[l>>2]|0,c[g>>2]|0);vn(c[k>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);Sn(c[m>>2]|0,c[m>>2]|0,c[k>>2]|0,c[g>>2]|0);if(!(vo(c[m>>2]|0,0)|0))c[h>>2]=1;break}default:{}}while(0);Tp(c[m>>2]|0);Tp(c[k>>2]|0);Tp(c[l>>2]|0);c[e>>2]=c[h>>2];o=c[e>>2]|0;i=d;return o|0}function co(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[f>>2]|0;f=c[g>>2]|0;g=Wp(3)|0;So(d,f,g,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+36|0;g=e+32|0;h=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;o=e+8|0;p=e+4|0;q=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=c[(c[g>>2]|0)+4>>2];c[o>>2]=c[(c[g>>2]|0)+8>>2];c[p>>2]=0;c[n>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[n>>2]|0))Ap(c[f>>2]|0,c[n>>2]|0);c[l>>2]=c[(c[g>>2]|0)+16>>2];c[k>>2]=c[(c[f>>2]|0)+16>>2];do if(c[m>>2]|0){if(!(c[o>>2]|0)){c[q>>2]=Go(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((c[m>>2]|0)==1?(c[c[l>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[k>>2]>>2]=(c[h>>2]|0)-(c[c[l>>2]>>2]|0);c[n>>2]=1;break}Io(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[m>>2]|0)-((c[(c[k>>2]|0)+((c[m>>2]|0)-1<<2)>>2]|0)==0&1);c[p>>2]=1}else{c[c[k>>2]>>2]=c[h>>2];c[n>>2]=c[h>>2]|0?1:0}while(0);c[(c[f>>2]|0)+4>>2]=c[n>>2];c[(c[f>>2]|0)+8>>2]=c[p>>2];i=e;return}function fo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+52|0;g=e+48|0;h=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+20|0;q=e+16|0;r=e+12|0;s=e+8|0;t=e+4|0;u=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];c[o>>2]=c[(c[g>>2]|0)+4>>2];c[r>>2]=c[(c[g>>2]|0)+8>>2];c[p>>2]=(c[n>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[p>>2]|0))Ap(c[f>>2]|0,c[p>>2]|0);c[l>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[g>>2]|0)+16>>2]}else{c[n>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=c[(c[h>>2]|0)+4>>2];c[r>>2]=c[(c[h>>2]|0)+8>>2];c[p>>2]=(c[n>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[p>>2]|0))Ap(c[f>>2]|0,c[p>>2]|0);c[l>>2]=c[(c[g>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+16>>2]}c[k>>2]=c[(c[f>>2]|0)+16>>2];c[s>>2]=0;do if(c[o>>2]|0){if((c[q>>2]|0)==(c[r>>2]|0)){c[u>>2]=Ho(c[k>>2]|0,c[l>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[n>>2]|0)+(c[u>>2]|0);if(!(c[q>>2]|0))break;c[s>>2]=1;break}if((c[n>>2]|0)!=(c[o>>2]|0)){Jo(c[k>>2]|0,c[l>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)<=0)break;if(c[(c[k>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0)break;c[p>>2]=(c[p>>2]|0)+-1}c[s>>2]=c[q>>2];break}h=(Ko(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)<0;g=c[k>>2]|0;if(h){rp(g,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)<=0)break;if(c[(c[k>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0)break;c[p>>2]=(c[p>>2]|0)+-1}if(c[q>>2]|0)break;c[s>>2]=1;break}else{rp(g,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)<=0)break;if(c[(c[k>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0)break;c[p>>2]=(c[p>>2]|0)+-1}if(!(c[q>>2]|0))break;c[s>>2]=1;break}}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[n>>2]|0))break;c[(c[k>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[p>>2]=c[n>>2];c[s>>2]=c[q>>2]}while(0);c[(c[f>>2]|0)+4>>2]=c[p>>2];c[(c[f>>2]|0)+8>>2]=c[s>>2];i=e;return}function go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+36|0;g=e+32|0;h=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;o=e+8|0;p=e+4|0;q=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=c[(c[g>>2]|0)+4>>2];c[o>>2]=c[(c[g>>2]|0)+8>>2];c[p>>2]=0;c[n>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[n>>2]|0))Ap(c[f>>2]|0,c[n>>2]|0);c[l>>2]=c[(c[g>>2]|0)+16>>2];c[k>>2]=c[(c[f>>2]|0)+16>>2];do if(c[m>>2]|0){if(c[o>>2]|0){c[q>>2]=Go(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((c[m>>2]|0)==1?(c[c[l>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[k>>2]>>2]=(c[h>>2]|0)-(c[c[l>>2]>>2]|0);c[n>>2]=1;c[p>>2]=1;break}Io(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[m>>2]|0)-((c[(c[k>>2]|0)+((c[m>>2]|0)-1<<2)>>2]|0)==0&1)}else{c[c[k>>2]>>2]=c[h>>2];c[n>>2]=c[h>>2]|0?1:0;c[p>>2]=1}while(0);c[(c[f>>2]|0)+4>>2]=c[n>>2];c[(c[f>>2]|0)+8>>2]=c[p>>2];i=e;return}function ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=Ip(c[h>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=((c[(c[k>>2]|0)+8>>2]|0)!=0^1)&1;fo(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0);Dp(c[k>>2]|0);i=e;return}function io(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;fo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);Mo(c[g>>2]|0,c[g>>2]|0,c[l>>2]|0);i=f;return}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;ho(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);Mo(c[g>>2]|0,c[g>>2]|0,c[l>>2]|0);i=f;return}function ko(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){i=b;return}while(1){if(!(c[(c[d>>2]|0)+4>>2]|0)){e=6;break}if(!((c[(c[(c[d>>2]|0)+16>>2]|0)+((c[(c[d>>2]|0)+4>>2]|0)-1<<2)>>2]|0)!=0^1)){e=6;break}a=(c[d>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+-1}if((e|0)==6){i=b;return}}function lo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;k=b+4|0;l=b;c[f>>2]=a;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&4|0:0){c[e>>2]=c[(c[f>>2]|0)+8>>2];m=c[e>>2]|0;i=b;return m|0}ko(c[f>>2]|0);if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2];if(c[h>>2]|0){c[k>>2]=c[h>>2];h=c[k>>2]|0;c[l>>2]=(c[k>>2]|0)>>>0<65536?(h>>>0<256?0:8):h>>>0<16777216?16:24;c[g>>2]=32-((d[45848+((c[k>>2]|0)>>>(c[l>>2]|0))>>0]|0)+(c[l>>2]|0))}else c[g>>2]=32;c[g>>2]=32-(c[g>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<5)}else c[g>>2]=0;c[e>>2]=c[g>>2];m=c[e>>2]|0;i=b;return m|0}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=((c[g>>2]|0)>>>0)/32|0;c[k>>2]=((c[g>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}else{c[l>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2];c[e>>2]=c[l>>2]&1<<c[k>>2]|0?1:0;m=c[e>>2]|0;i=d;return m|0}return 0}function no(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[k>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}Ap(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[k>>2];i=d;return}function oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[k>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}Ap(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[k>>2];c[k>>2]=(c[k>>2]|0)+1;while(1){if((c[k>>2]|0)>>>0>=32)break;g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]&~(1<<c[k>>2]);c[k>>2]=(c[k>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;i=d;return}function po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}while(1){if((c[h>>2]|0)>>>0>=32)break;f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);c[h>>2]=(c[h>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[g>>2]|0)+1;i=d;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);i=d;return}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+4>>2];if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[(c[e>>2]|0)+4>>2]=0;i=d;return}c[k>>2]=0;while(1){l=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[h>>2]|0)-(c[f>>2]|0)|0)>>>0)break;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[g>>2]|0)+(l+(c[f>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[g>>2]|0)+(l<<2)>>2]=0;l=(c[e>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)-(c[f>>2]|0);i=d;return}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+24|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=((c[h>>2]|0)>>>0)/32|0;c[n>>2]=((c[h>>2]|0)>>>0)%32|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){Cp();i=e;return}h=c[m>>2]|0;a:do if((c[f>>2]|0)==(c[g>>2]|0)){if(h>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[m>>2]|0){c[l>>2]=0;while(1){o=c[l>>2]|0;if((c[l>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[m>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(o+(c[m>>2]|0)<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(o<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[m>>2]|0)}if(c[n>>2]|0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)qp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[n>>2]|0)|0}else{c[k>>2]=c[(c[g>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];d=(c[c[f>>2]>>2]|0)<(c[k>>2]|0);if(!h){if(d)Ap(c[f>>2]|0,c[k>>2]|0);c[(c[f>>2]|0)+4>>2]=c[k>>2];if(!(c[k>>2]|0))break;if(c[n>>2]|0){qp(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[n>>2]|0)|0;break}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break a;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}}if(d)Ap(c[f>>2]|0,c[k>>2]|0);c[(c[f>>2]|0)+4>>2]=c[k>>2];c[l>>2]=0;while(1){p=c[l>>2]|0;if((c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(p<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=p;if((c[m>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[m>>2]|0){c[l>>2]=0;while(1){q=c[l>>2]|0;if((c[l>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[m>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(q+(c[m>>2]|0)<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(q<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[m>>2]|0)}if(c[n>>2]|0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)qp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[n>>2]|0)|0}while(0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){r=40;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){r=40;break}n=(c[f>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+-1}if((r|0)==40){i=e;return}}function to(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[(c[e>>2]|0)+4>>2];if(!((c[f>>2]|0)!=0&(c[h>>2]|0)!=0)){i=d;return}if((c[c[e>>2]>>2]|0)>>>0<((c[h>>2]|0)+(c[f>>2]|0)|0)>>>0)Ap(c[e>>2]|0,(c[h>>2]|0)+(c[f>>2]|0)|0);c[g>>2]=c[(c[e>>2]|0)+16>>2];c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[(c[g>>2]|0)+((c[k>>2]|0)+(c[f>>2]|0)<<2)>>2]=c[(c[g>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}k=(c[e>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);i=d;return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+36|0;g=e+32|0;h=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;o=e+8|0;p=e+4|0;q=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=((c[h>>2]|0)>>>0)/32|0;c[l>>2]=((c[h>>2]|0)>>>0)%32|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){Cp();i=e;return}if(!(c[h>>2]|0?1:(c[f>>2]|0)!=(c[g>>2]|0))){i=e;return}if((c[f>>2]|0)!=(c[g>>2]|0)){c[m>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];if((c[c[f>>2]>>2]|0)>>>0<((c[m>>2]|0)+(c[k>>2]|0)+1|0)>>>0)Ap(c[f>>2]|0,(c[m>>2]|0)+(c[k>>2]|0)+1|0);c[o>>2]=c[(c[f>>2]|0)+16>>2];c[p>>2]=c[(c[g>>2]|0)+16>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];c[(c[f>>2]|0)+8>>2]=c[n>>2]}if((c[k>>2]|0)==0|(c[l>>2]|0)!=0){if(c[h>>2]|0){to(c[f>>2]|0,(c[k>>2]|0)+1|0);so(c[f>>2]|0,c[f>>2]|0,32-(c[l>>2]|0)|0)}}else to(c[f>>2]|0,c[k>>2]|0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){r=19;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){r=19;break}k=(c[f>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+-1}if((r|0)==19){i=e;return}}function vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[g>>2];ko(c[f>>2]|0);do if(c[(c[f>>2]|0)+4>>2]|0){if(c[(c[f>>2]|0)+8>>2]|0){c[e>>2]=-1;break}if((c[(c[f>>2]|0)+4>>2]|0)!=1){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0>(c[h>>2]|0)>>>0){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[e>>2]=-1;break}else{c[e>>2]=0;break}}else c[e>>2]=0-((c[h>>2]|0)!=0&1);while(0);i=d;return c[e>>2]|0}function wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0?(c[(c[f>>2]|0)+12>>2]&4|0)!=0:0))m=3;do if((m|0)==3){if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0)break;ko(c[f>>2]|0);ko(c[g>>2]|0);c[h>>2]=c[(c[f>>2]|0)+4>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];if((c[(c[f>>2]|0)+8>>2]|0)==0?c[(c[g>>2]|0)+8>>2]|0:0){c[e>>2]=1;n=c[e>>2]|0;i=d;return n|0}if(c[(c[f>>2]|0)+8>>2]|0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=-1;n=c[e>>2]|0;i=d;return n|0}if(((c[h>>2]|0)!=(c[k>>2]|0)?(c[(c[f>>2]|0)+8>>2]|0)==0:0)?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[e>>2]|0;i=d;return n|0}if(((c[h>>2]|0)!=(c[k>>2]|0)?c[(c[f>>2]|0)+8>>2]|0:0)?c[(c[g>>2]|0)+8>>2]|0:0){c[e>>2]=(c[k>>2]|0)+(c[h>>2]|0);n=c[e>>2]|0;i=d;return n|0}if(!(c[h>>2]|0)){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}b=Ko(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[l>>2]=b;if(!b){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}if((((c[l>>2]|0)<0?1:0)|0)==((c[(c[f>>2]|0)+8>>2]|0?1:0)|0)){c[e>>2]=1;n=c[e>>2]|0;i=d;return n|0}else{c[e>>2]=-1;n=c[e>>2]|0;i=d;return n|0}}while(0);do if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&4|0:0){if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0)break;c[e>>2]=-1;n=c[e>>2]|0;i=d;return n|0}while(0);if(c[f>>2]|0){if(c[g>>2]|0?(c[(c[f>>2]|0)+12>>2]&4|0)==0:0)m=13}else if(c[g>>2]|0)m=13;if((m|0)==13?c[(c[g>>2]|0)+12>>2]&4|0:0){c[e>>2]=1;n=c[e>>2]|0;i=d;return n|0}if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}if((c[(c[f>>2]|0)+8>>2]|0)<(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=-1;n=c[e>>2]|0;i=d;return n|0}if((c[(c[f>>2]|0)+8>>2]|0)>(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=1;n=c[e>>2]|0;i=d;return n|0}else{c[e>>2]=Jv(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,((c[(c[f>>2]|0)+8>>2]|0)+7|0)/8|0)|0;n=c[e>>2]|0;i=d;return n|0}return 0}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=0;if((c[f>>2]|0)==(c[h>>2]|0)){c[l>>2]=Ip(c[h>>2]|0)|0;c[h>>2]=c[l>>2]}yo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);if((c[k>>2]|0?1:0)^(c[(c[g>>2]|0)+8>>2]|0?1:0)|0?c[(c[f>>2]|0)+4>>2]|0:0)fo(c[f>>2]|0,c[f>>2]|0,c[h>>2]|0);if(!(c[l>>2]|0)){i=e;return}Dp(c[l>>2]|0);i=e;return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;zo(0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function zo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;g=i;i=i+160|0;if((i|0)>=(j|0))$(160);h=g+144|0;k=g+140|0;l=g+136|0;m=g+132|0;n=g+128|0;o=g+124|0;p=g+120|0;q=g+116|0;r=g+112|0;s=g+108|0;t=g+104|0;u=g+100|0;v=g+96|0;w=g+92|0;x=g+88|0;y=g+84|0;z=g+64|0;A=g+44|0;B=g+40|0;C=g+36|0;D=g+32|0;E=g+28|0;F=g+24|0;G=g+20|0;H=g+16|0;I=g+12|0;J=g+8|0;K=g+4|0;L=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[r>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=c[(c[m>>2]|0)+4>>2];c[v>>2]=c[(c[l>>2]|0)+8>>2];c[w>>2]=c[(c[l>>2]|0)+8>>2]^c[(c[m>>2]|0)+8>>2];c[B>>2]=0;c[u>>2]=(c[r>>2]|0)+1;Ap(c[k>>2]|0,c[u>>2]|0);c[t>>2]=(c[u>>2]|0)-(c[s>>2]|0);if((c[t>>2]|0)<=0){a:do if((c[l>>2]|0)!=(c[k>>2]|0)){c[(c[k>>2]|0)+4>>2]=c[(c[l>>2]|0)+4>>2];c[(c[k>>2]|0)+8>>2]=c[(c[l>>2]|0)+8>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[r>>2]|0))break a;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[C>>2]<<2)>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[C>>2]<<2)>>2];c[C>>2]=(c[C>>2]|0)+1}}while(0);if(!(c[h>>2]|0)){i=g;return}c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;i=g;return}if(c[h>>2]|0)Ap(c[h>>2]|0,c[t>>2]|0);c[n>>2]=c[(c[l>>2]|0)+16>>2];c[o>>2]=c[(c[m>>2]|0)+16>>2];c[q>>2]=c[(c[k>>2]|0)+16>>2];l=(c[h>>2]|0)!=0;if((c[s>>2]|0)==1){if(l){c[p>>2]=c[(c[h>>2]|0)+16>>2];c[D>>2]=hp(c[p>>2]|0,c[n>>2]|0,c[r>>2]|0,c[c[o>>2]>>2]|0)|0;c[t>>2]=(c[t>>2]|0)-((c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)==0&1);c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+8>>2]=c[w>>2]}else c[D>>2]=fp(c[n>>2]|0,c[r>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[q>>2]>>2]=c[D>>2];c[u>>2]=c[D>>2]|0?1:0;c[(c[k>>2]|0)+4>>2]=c[u>>2];c[(c[k>>2]|0)+8>>2]=c[v>>2];i=g;return}b:do if(l){c[p>>2]=c[(c[h>>2]|0)+16>>2];if((c[p>>2]|0)==(c[n>>2]|0)){c[A+(c[B>>2]<<2)>>2]=c[r>>2];if(c[h>>2]|0)M=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else M=0;D=wp(c[r>>2]|0,M&1)|0;C=c[B>>2]|0;c[B>>2]=C+1;c[z+(C<<2)>>2]=D;c[n>>2]=D;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[r>>2]|0))break b;c[(c[n>>2]|0)+(c[E>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[E>>2]<<2)>>2];c[E>>2]=(c[E>>2]|0)+1}}}else c[p>>2]=(c[q>>2]|0)+(c[s>>2]<<2);while(0);c[F>>2]=c[(c[o>>2]|0)+((c[s>>2]|0)-1<<2)>>2];E=c[F>>2]|0;c[G>>2]=(c[F>>2]|0)>>>0<65536?(E>>>0<256?0:8):E>>>0<16777216?16:24;c[x>>2]=32-((d[45848+((c[F>>2]|0)>>>(c[G>>2]|0))>>0]|0)+(c[G>>2]|0));do if(c[x>>2]|0){c[A+(c[B>>2]<<2)>>2]=c[s>>2];if(c[m>>2]|0)N=(c[(c[m>>2]|0)+12>>2]&1|0)!=0;else N=0;G=wp(c[s>>2]|0,N&1)|0;F=c[B>>2]|0;c[B>>2]=F+1;c[z+(F<<2)>>2]=G;c[H>>2]=G;ip(c[H>>2]|0,c[o>>2]|0,c[s>>2]|0,c[x>>2]|0)|0;c[o>>2]=c[H>>2];c[I>>2]=ip(c[q>>2]|0,c[n>>2]|0,c[r>>2]|0,c[x>>2]|0)|0;if(c[I>>2]|0){c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]=c[I>>2];c[u>>2]=(c[r>>2]|0)+1;break}else{c[u>>2]=c[r>>2];break}}else{if((c[o>>2]|0)!=(c[q>>2]|0)){if(c[h>>2]|0?(c[o>>2]|0)==(c[p>>2]|0):0)O=32}else O=32;if((O|0)==32){c[A+(c[B>>2]<<2)>>2]=c[s>>2];if(c[m>>2]|0)P=(c[(c[m>>2]|0)+12>>2]&1|0)!=0;else P=0;G=wp(c[s>>2]|0,P&1)|0;F=c[B>>2]|0;c[B>>2]=F+1;c[z+(F<<2)>>2]=G;c[J>>2]=G;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[s>>2]|0))break;c[(c[J>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[K>>2]<<2)>>2];c[K>>2]=(c[K>>2]|0)+1}c[o>>2]=c[J>>2]}c:do if((c[q>>2]|0)!=(c[n>>2]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[r>>2]|0))break c;c[(c[q>>2]|0)+(c[L>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[L>>2]<<2)>>2];c[L>>2]=(c[L>>2]|0)+1}}while(0);c[u>>2]=c[r>>2]}while(0);c[y>>2]=gp(c[p>>2]|0,0,c[q>>2]|0,c[u>>2]|0,c[o>>2]|0,c[s>>2]|0)|0;if(c[h>>2]|0){c[t>>2]=(c[u>>2]|0)-(c[s>>2]|0);if(c[y>>2]|0){c[(c[p>>2]|0)+(c[t>>2]<<2)>>2]=c[y>>2];c[t>>2]=(c[t>>2]|0)+1}c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+8>>2]=c[w>>2]}c[u>>2]=c[s>>2];while(1){if((c[u>>2]|0)<=0)break;if(c[(c[q>>2]|0)+((c[u>>2]|0)-1<<2)>>2]|0)break;c[u>>2]=(c[u>>2]|0)+-1}if((c[x>>2]|0)!=0&(c[u>>2]|0)!=0){qp(c[q>>2]|0,c[q>>2]|0,c[u>>2]|0,c[x>>2]|0)|0;c[u>>2]=(c[u>>2]|0)-((c[(c[q>>2]|0)+((c[u>>2]|0)-1<<2)>>2]|0)==0?1:0)}c[(c[k>>2]|0)+4>>2]=c[u>>2];c[(c[k>>2]|0)+8>>2]=c[v>>2];while(1){if(!(c[B>>2]|0))break;c[B>>2]=(c[B>>2]|0)+-1;yp(c[z+(c[B>>2]<<2)>>2]|0,c[A+(c[B>>2]<<2)>>2]|0)}i=g;return}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=fp(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0)|0;if(c[k>>2]|0?c[(c[g>>2]|0)+8>>2]|0:0)c[k>>2]=(c[h>>2]|0)-(c[k>>2]|0);if(!(c[f>>2]|0)){l=c[k>>2]|0;i=e;return l|0}c[c[(c[f>>2]|0)+16>>2]>>2]=c[k>>2];c[(c[f>>2]|0)+4>>2]=c[k>>2]|0?1:0;l=c[k>>2]|0;i=e;return l|0}function Bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=vp(c[(c[f>>2]|0)+4>>2]|0)|0;Co(c[f>>2]|0,c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);Dp(c[k>>2]|0);i=e;return}function Co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=c[(c[l>>2]|0)+8>>2];c[n>>2]=0;if(!((c[g>>2]|0)!=(c[l>>2]|0)?(c[h>>2]|0)!=(c[l>>2]|0):0)){c[n>>2]=Ip(c[l>>2]|0)|0;c[l>>2]=c[n>>2]}zo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);if(c[m>>2]^c[(c[k>>2]|0)+8>>2]|0?c[(c[h>>2]|0)+4>>2]|0:0){go(c[g>>2]|0,c[g>>2]|0,1);fo(c[h>>2]|0,c[h>>2]|0,c[l>>2]|0)}if(!(c[n>>2]|0)){i=f;return}Dp(c[n>>2]|0);i=f;return}function Do(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+32|0;g=e+28|0;h=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[(c[g>>2]|0)+4>>2];c[m>>2]=((c[h>>2]|0)>>>0)/32|0;c[l>>2]=(c[k>>2]|0)-(c[m>>2]|0);d=c[f>>2]|0;if((c[m>>2]|0)>=(c[k>>2]|0)){c[d+4>>2]=0;i=e;return}if((c[d>>2]|0)<(c[l>>2]|0))Ap(c[f>>2]|0,c[l>>2]|0);c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=((c[h>>2]|0)>>>0)%32|0;a:do if(c[h>>2]|0){qp(c[n>>2]|0,(c[o>>2]|0)+(c[m>>2]<<2)|0,c[l>>2]|0,c[h>>2]|0)|0;c[l>>2]=(c[l>>2]|0)-(((c[(c[n>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)!=0^1)&1)}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break a;c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);c[(c[f>>2]|0)+4>>2]=c[l>>2];i=e;return}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=((fp(c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0^1)&1;i=d;return b|0}function Fo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=Ip(c[g>>2]|0)|0;c[l>>2]=Ip(c[h>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=0;c[(c[l>>2]|0)+8>>2]=0;while(1){h=(vo(c[l>>2]|0,0)|0)!=0;m=c[f>>2]|0;n=c[k>>2]|0;if(!h)break;xo(m,n,c[l>>2]|0);Kp(c[k>>2]|0,c[l>>2]|0)|0;Kp(c[l>>2]|0,c[f>>2]|0)|0}Kp(m,n)|0;Dp(c[k>>2]|0);Dp(c[l>>2]|0);l=((vo(c[f>>2]|0,1)|0)!=0^1)&1;i=e;return l|0}function Go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+24|0;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;e=c[k>>2]|0;c[k>>2]=e+4;c[n>>2]=c[e>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);e=c[m>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0){while(1){e=(c[l>>2]|0)+-1|0;c[l>>2]=e;if(!e)break;e=c[k>>2]|0;c[k>>2]=e+4;c[n>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[n>>2]|0)break a}c[g>>2]=1;p=c[g>>2]|0;i=f;return p|0}while(0);b:do if((c[h>>2]|0)!=(c[k>>2]|0)){c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[l>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}while(0);c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}function Ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;if(c[n>>2]|0)c[o>>2]=ep(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!((c[l>>2]|0)-(c[n>>2]|0)|0)){p=c[o>>2]|0;i=g;return p|0}c[o>>2]=Go((c[h>>2]|0)+(c[n>>2]<<2)|0,(c[k>>2]|0)+(c[n>>2]<<2)|0,(c[l>>2]|0)-(c[n>>2]|0)|0,c[o>>2]|0)|0;p=c[o>>2]|0;i=g;return p|0}function Io(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+24|0;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;e=c[k>>2]|0;c[k>>2]=e+4;c[n>>2]=c[e>>2];c[m>>2]=(c[n>>2]|0)-(c[m>>2]|0);e=c[m>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0){while(1){e=(c[l>>2]|0)+-1|0;c[l>>2]=e;if(!e)break;e=c[k>>2]|0;c[k>>2]=e+4;c[n>>2]=c[e>>2];e=(c[n>>2]|0)-1|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[n>>2]|0)break a}c[g>>2]=1;p=c[g>>2]|0;i=f;return p|0}while(0);b:do if((c[h>>2]|0)!=(c[k>>2]|0)){c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[l>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}while(0);c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}function Jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;if(c[n>>2]|0)c[o>>2]=rp(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!((c[l>>2]|0)-(c[n>>2]|0)|0)){p=c[o>>2]|0;i=g;return p|0}c[o>>2]=Io((c[h>>2]|0)+(c[n>>2]<<2)|0,(c[k>>2]|0)+(c[n>>2]<<2)|0,(c[l>>2]|0)-(c[n>>2]|0)|0,c[o>>2]|0)|0;p=c[o>>2]|0;i=g;return p|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+24|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=(c[k>>2]|0)-1;while(1){if((c[l>>2]|0)<0){o=5;break}c[m>>2]=c[(c[g>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];if((c[m>>2]|0)!=(c[n>>2]|0)){o=6;break}c[l>>2]=(c[l>>2]|0)+-1}if((o|0)==5){c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}else if((o|0)==6){c[f>>2]=(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0?1:-1;p=c[f>>2]|0;i=e;return p|0}return 0}function Lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+68|0;g=e+64|0;h=e+60|0;k=e+56|0;l=e+52|0;m=e+48|0;n=e+44|0;o=e+40|0;p=e+36|0;q=e+32|0;r=e+28|0;s=e+24|0;t=e+20|0;u=e+16|0;v=e+12|0;w=e+8|0;x=e+4|0;y=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[o>>2]=0;c[r>>2]=0;c[u>>2]=0;if(!(vo(c[h>>2]|0,0)|0)){c[f>>2]=0;z=c[f>>2]|0;i=e;return z|0}if(!(vo(c[k>>2]|0,1)|0)){c[f>>2]=0;z=c[f>>2]|0;i=e;return z|0}c[l>>2]=Ip(c[h>>2]|0)|0;c[m>>2]=Ip(c[k>>2]|0)|0;c[w>>2]=0;while(1){if(mo(c[l>>2]|0,0)|0)break;if(!((mo(c[m>>2]|0,0)|0)!=0^1))break;so(c[l>>2]|0,c[l>>2]|0,1);so(c[m>>2]|0,c[m>>2]|0,1);c[w>>2]=(c[w>>2]|0)+1}c[y>>2]=mo(c[m>>2]|0,0)|0;c[n>>2]=up(1)|0;if(!(c[y>>2]|0))c[o>>2]=up(0)|0;c[p>>2]=Ip(c[l>>2]|0)|0;c[q>>2]=Ip(c[m>>2]|0)|0;if(!(c[y>>2]|0)){c[r>>2]=vp(c[(c[l>>2]|0)+4>>2]|0)|0;ho(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0)}c[s>>2]=Ip(c[m>>2]|0)|0;if(mo(c[l>>2]|0,0)|0){c[t>>2]=up(0)|0;if(!(c[y>>2]|0)){c[u>>2]=up(1)|0;c[(c[u>>2]|0)+8>>2]=1}c[v>>2]=Ip(c[m>>2]|0)|0;c[(c[v>>2]|0)+8>>2]=((c[(c[v>>2]|0)+8>>2]|0)!=0^1)&1}else{c[t>>2]=up(1)|0;if(!(c[y>>2]|0))c[u>>2]=up(0)|0;c[v>>2]=Ip(c[l>>2]|0)|0;A=20}while(1){if((A|0)==20){A=0;w=(c[y>>2]|0)!=0;k=(mo(c[t>>2]|0,0)|0)!=0;if(w){if(k)fo(c[t>>2]|0,c[t>>2]|0,c[m>>2]|0);so(c[t>>2]|0,c[t>>2]|0,1);so(c[v>>2]|0,c[v>>2]|0,1);continue}if(!(!k?!(mo(c[u>>2]|0,0)|0):0)){fo(c[t>>2]|0,c[t>>2]|0,c[m>>2]|0);ho(c[u>>2]|0,c[u>>2]|0,c[l>>2]|0)}so(c[t>>2]|0,c[t>>2]|0,1);so(c[u>>2]|0,c[u>>2]|0,1);so(c[v>>2]|0,c[v>>2]|0,1)}if((mo(c[v>>2]|0,0)|0)!=0^1){A=20;continue}if(c[(c[v>>2]|0)+8>>2]|0){ho(c[q>>2]|0,c[m>>2]|0,c[t>>2]|0);c[x>>2]=c[(c[l>>2]|0)+8>>2];c[(c[l>>2]|0)+8>>2]=((c[(c[l>>2]|0)+8>>2]|0)!=0^1)&1;if(!(c[y>>2]|0))ho(c[r>>2]|0,c[l>>2]|0,c[u>>2]|0);c[(c[l>>2]|0)+8>>2]=c[x>>2];c[x>>2]=c[(c[v>>2]|0)+8>>2];c[(c[v>>2]|0)+8>>2]=((c[(c[v>>2]|0)+8>>2]|0)!=0^1)&1;Kp(c[s>>2]|0,c[v>>2]|0)|0;c[(c[v>>2]|0)+8>>2]=c[x>>2]}else{Kp(c[n>>2]|0,c[t>>2]|0)|0;if(!(c[y>>2]|0))Kp(c[o>>2]|0,c[u>>2]|0)|0;Kp(c[p>>2]|0,c[v>>2]|0)|0}ho(c[t>>2]|0,c[n>>2]|0,c[q>>2]|0);if(!(c[y>>2]|0))ho(c[u>>2]|0,c[o>>2]|0,c[r>>2]|0);ho(c[v>>2]|0,c[p>>2]|0,c[s>>2]|0);if(c[(c[t>>2]|0)+8>>2]|0?(fo(c[t>>2]|0,c[t>>2]|0,c[m>>2]|0),(c[y>>2]|0)==0):0)ho(c[u>>2]|0,c[u>>2]|0,c[l>>2]|0);if(vo(c[v>>2]|0,0)|0)A=20;else break}Kp(c[g>>2]|0,c[n>>2]|0)|0;Dp(c[n>>2]|0);Dp(c[q>>2]|0);Dp(c[t>>2]|0);if(!(c[y>>2]|0)){Dp(c[o>>2]|0);Dp(c[r>>2]|0);Dp(c[u>>2]|0)}Dp(c[p>>2]|0);Dp(c[s>>2]|0);Dp(c[v>>2]|0);Dp(c[l>>2]|0);Dp(c[m>>2]|0);c[f>>2]=1;z=c[f>>2]|0;i=e;return z|0}function Mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;xo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;ko(c[e>>2]|0);c[g>>2]=Cf(1,28)|0;b=c[e>>2]|0;if(c[f>>2]|0){f=Ip(b)|0;c[c[g>>2]>>2]=f;c[(c[g>>2]|0)+4>>2]=1}else c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=vp((c[(c[g>>2]|0)+8>>2]|0)+1|0)|0;Op(c[h>>2]|0,1)|0;to(c[h>>2]|0,c[(c[g>>2]|0)+8>>2]<<1);Bo(c[h>>2]|0,c[h>>2]|0,c[e>>2]|0);c[(c[g>>2]|0)+12>>2]=c[h>>2];h=vp((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+16>>2]=h;h=vp((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+20>>2]=h;i=d;return c[g>>2]|0}function Oo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}Dp(c[(c[d>>2]|0)+12>>2]|0);Dp(c[(c[d>>2]|0)+16>>2]|0);Dp(c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+24>>2]|0)Dp(c[(c[d>>2]|0)+24>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)Dp(c[c[d>>2]>>2]|0);vf(c[d>>2]|0);i=b;return}function Po(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+32|0;g=e+28|0;h=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[h>>2]>>2];c[l>>2]=c[(c[h>>2]|0)+8>>2];c[m>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[h>>2]|0)+16>>2];c[o>>2]=c[(c[h>>2]|0)+20>>2];ko(c[g>>2]|0);if((c[(c[g>>2]|0)+4>>2]|0)>(c[l>>2]<<1|0)){Mo(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0);i=e;return}c[p>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=0;Kp(c[o>>2]|0,c[g>>2]|0)|0;ro(c[o>>2]|0,(c[l>>2]|0)-1|0);Qo(c[o>>2]|0,c[o>>2]|0,c[m>>2]|0);ro(c[o>>2]|0,(c[l>>2]|0)+1|0);Kp(c[n>>2]|0,c[g>>2]|0)|0;if((c[(c[n>>2]|0)+4>>2]|0)>((c[l>>2]|0)+1|0))c[(c[n>>2]|0)+4>>2]=(c[l>>2]|0)+1;Qo(c[o>>2]|0,c[o>>2]|0,c[k>>2]|0);if((c[(c[o>>2]|0)+4>>2]|0)>((c[l>>2]|0)+1|0))c[(c[o>>2]|0)+4>>2]=(c[l>>2]|0)+1;ho(c[f>>2]|0,c[n>>2]|0,c[o>>2]|0);if(c[(c[f>>2]|0)+8>>2]|0){if(!(c[(c[h>>2]|0)+24>>2]|0)){o=vp((c[l>>2]|0)+2|0)|0;c[(c[h>>2]|0)+24>>2]=o;Op(c[(c[h>>2]|0)+24>>2]|0,1)|0;to(c[(c[h>>2]|0)+24>>2]|0,(c[l>>2]|0)+1|0)}fo(c[f>>2]|0,c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0)}while(1){if((wo(c[f>>2]|0,c[k>>2]|0)|0)<0)break;ho(c[f>>2]|0,c[f>>2]|0,c[k>>2]|0)}c[(c[g>>2]|0)+8>>2]=c[p>>2];i=e;return}function Qo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+96|0;if((i|0)>=(j|0))$(96);f=e+84|0;g=e+80|0;h=e+76|0;k=e+72|0;l=e+68|0;m=e+64|0;n=e+60|0;o=e+56|0;p=e+52|0;q=e+48|0;r=e+44|0;s=e+40|0;t=e+36|0;u=e+32|0;v=e+28|0;w=e+24|0;x=e+20|0;y=e+16|0;z=e+12|0;A=e+8|0;B=e+4|0;C=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[k>>2]=c[(c[h>>2]|0)+4>>2];c[r>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)D=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else D=0;c[t>>2]=D&1;c[n>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[g>>2]|0)+4>>2];c[s>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)E=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else E=0;c[u>>2]=E&1;c[o>>2]=c[(c[g>>2]|0)+16>>2]}else{c[k>>2]=c[(c[g>>2]|0)+4>>2];c[r>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)F=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else F=0;c[t>>2]=F&1;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+4>>2];c[s>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)G=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else G=0;c[u>>2]=G&1;c[o>>2]=c[(c[h>>2]|0)+16>>2]}c[v>>2]=c[r>>2]^c[s>>2];c[p>>2]=c[(c[f>>2]|0)+16>>2];c[m>>2]=(c[k>>2]|0)+(c[l>>2]|0);if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&1|0:0)H=19;else H=14;do if((H|0)==14){if(!(c[g>>2]|0?(c[(c[g>>2]|0)+12>>2]&1|0)!=0:0)){if(!(c[h>>2]|0)){H=19;break}if(!(c[(c[h>>2]|0)+12>>2]&1)){H=19;break}}c[p>>2]=wp(c[m>>2]|0,1)|0;c[w>>2]=2}while(0);a:do if((H|0)==19){h=(c[p>>2]|0)==(c[n>>2]|0);if((c[c[f>>2]>>2]|0)<(c[m>>2]|0)){if(!h?(c[p>>2]|0)!=(c[o>>2]|0):0){Ap(c[f>>2]|0,c[m>>2]|0);c[p>>2]=c[(c[f>>2]|0)+16>>2];break}if(c[f>>2]|0)I=(c[(c[f>>2]|0)+12>>2]&1|0)!=0;else I=0;c[p>>2]=wp(c[m>>2]|0,I&1)|0;c[w>>2]=1;break}if(!h){if((c[p>>2]|0)!=(c[o>>2]|0))break;c[y>>2]=c[l>>2];h=wp(c[l>>2]|0,c[u>>2]|0)|0;c[x>>2]=h;c[o>>2]=h;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[l>>2]|0))break a;c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[A>>2]<<2)>>2];c[A>>2]=(c[A>>2]|0)+1}}c[y>>2]=c[k>>2];h=wp(c[k>>2]|0,c[t>>2]|0)|0;c[x>>2]=h;c[n>>2]=h;if((c[p>>2]|0)==(c[o>>2]|0))c[o>>2]=c[n>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[k>>2]|0))break a;c[(c[n>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[z>>2]<<2)>>2];c[z>>2]=(c[z>>2]|0)+1}}while(0);if(c[l>>2]|0){c[q>>2]=op(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)-(c[q>>2]|0?0:1)}else c[m>>2]=0;if(c[w>>2]|0){if((c[w>>2]|0)==2){c[B>>2]=wp(c[m>>2]|0,0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[m>>2]|0))break;c[(c[B>>2]|0)+(c[C>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[C>>2]<<2)>>2];c[C>>2]=(c[C>>2]|0)+1}yp(c[p>>2]|0,0);c[p>>2]=c[B>>2]}zp(c[f>>2]|0,c[p>>2]|0,c[m>>2]|0)}c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[v>>2];if(!(c[x>>2]|0)){i=e;return}yp(c[x>>2]|0,c[y>>2]|0);i=e;return}function Ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;Qo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);yo(c[g>>2]|0,c[g>>2]|0,c[l>>2]|0);i=f;return}function So(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;g=i;i=i+512|0;if((i|0)>=(j|0))$(512);h=g+504|0;k=g+500|0;l=g+496|0;m=g+492|0;n=g+488|0;o=g+484|0;p=g+480|0;q=g+476|0;r=g+472|0;s=g+468|0;t=g+464|0;u=g+460|0;v=g+456|0;w=g+452|0;x=g+448|0;y=g+444|0;z=g+440|0;A=g+436|0;B=g+432|0;C=g+428|0;D=g+424|0;E=g+420|0;F=g+416|0;G=g+412|0;H=g+408|0;I=g+404|0;J=g+400|0;K=g+396|0;L=g+392|0;M=g+328|0;N=g+264|0;O=g+260|0;P=g+256|0;Q=g+252|0;R=g+248|0;S=g+244|0;T=g+240|0;U=g+236|0;V=g+232|0;W=g+228|0;X=g+224|0;Y=g+220|0;Z=g+216|0;_=g+212|0;aa=g+208|0;ba=g+204|0;ca=g+200|0;da=g+196|0;ea=g+192|0;fa=g+164|0;ga=g+160|0;ha=g+156|0;ia=g+152|0;ja=g+148|0;ka=g+144|0;la=g+140|0;ma=g+136|0;na=g+132|0;oa=g+128|0;pa=g+124|0;qa=g+120|0;ra=g+116|0;sa=g+112|0;ta=g+108|0;ua=g+104|0;va=g+100|0;wa=g+80|0;xa=g+60|0;ya=g+56|0;za=g+52|0;Aa=g+48|0;Ba=g+44|0;Ca=g+24|0;Da=g+4|0;Ea=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[L>>2]=0;c[r>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=c[(c[m>>2]|0)+4>>2];c[B>>2]=c[s>>2]<<1;c[v>>2]=c[(c[m>>2]|0)+8>>2];do if((c[r>>2]<<5|0)<=512){if((c[r>>2]<<5|0)>256){c[O>>2]=4;break}if((c[r>>2]<<5|0)>128){c[O>>2]=3;break}if((c[r>>2]<<5|0)>64){c[O>>2]=2;break}else{c[O>>2]=1;break}}else c[O>>2]=5;while(0);if(c[l>>2]|0)Fa=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else Fa=0;c[y>>2]=Fa&1;if(c[m>>2]|0)Ga=(c[(c[m>>2]|0)+12>>2]&1|0)!=0;else Ga=0;c[z>>2]=Ga&1;if(c[k>>2]|0)Ha=(c[(c[k>>2]|0)+12>>2]&1|0)!=0;else Ha=0;c[A>>2]=Ha&1;c[n>>2]=c[(c[h>>2]|0)+16>>2];c[o>>2]=c[(c[l>>2]|0)+16>>2];if(!(c[s>>2]|0))df();do if(c[r>>2]|0){c[I>>2]=c[z>>2]|0?c[s>>2]|0:0;l=wp(c[s>>2]|0,c[z>>2]|0)|0;c[E>>2]=l;c[p>>2]=l;c[S>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+((c[s>>2]|0)-1<<2)>>2];l=c[S>>2]|0;c[T>>2]=(c[S>>2]|0)>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;c[C>>2]=32-((d[45848+((c[S>>2]|0)>>>(c[T>>2]|0))>>0]|0)+(c[T>>2]|0));a:do if(c[C>>2]|0)ip(c[p>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[s>>2]|0,c[C>>2]|0)|0;else{c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[s>>2]|0))break a;c[(c[p>>2]|0)+(c[U>>2]<<2)>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[U>>2]<<2)>>2];c[U>>2]=(c[U>>2]|0)+1}}while(0);c[t>>2]=c[(c[k>>2]|0)+4>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];b:do if((c[t>>2]|0)>(c[s>>2]|0)){c[J>>2]=c[A>>2]|0?(c[t>>2]|0)+1|0:0;l=wp((c[t>>2]|0)+1|0,c[A>>2]|0)|0;c[F>>2]=l;c[q>>2]=l;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[t>>2]|0))break;c[(c[q>>2]|0)+(c[V>>2]<<2)>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[V>>2]<<2)>>2];c[V>>2]=(c[V>>2]|0)+1}gp((c[q>>2]|0)+(c[s>>2]<<2)|0,0,c[q>>2]|0,c[t>>2]|0,c[p>>2]|0,c[s>>2]|0)|0;c[t>>2]=c[s>>2];while(1){if((c[t>>2]|0)<=0)break b;if(c[(c[q>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break b;c[t>>2]=(c[t>>2]|0)+-1}}else c[q>>2]=c[(c[k>>2]|0)+16>>2];while(0);if(!(c[t>>2]|0)){c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;break}c:do if((c[n>>2]|0)==(c[q>>2]|0)){if(c[F>>2]|0)Se(46104,46115,515,46125);c[J>>2]=c[A>>2]|0?c[t>>2]|0:0;l=wp(c[t>>2]|0,c[A>>2]|0)|0;c[F>>2]=l;c[q>>2]=l;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[t>>2]|0))break c;c[(c[q>>2]|0)+(c[W>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[W>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}}while(0);d:do if((c[n>>2]|0)==(c[o>>2]|0)){c[K>>2]=c[y>>2]|0?c[r>>2]|0:0;l=wp(c[r>>2]|0,c[y>>2]|0)|0;c[G>>2]=l;c[o>>2]=l;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[r>>2]|0))break d;c[(c[o>>2]|0)+(c[X>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((c[c[h>>2]>>2]|0)<(c[B>>2]|0)){Ap(c[h>>2]|0,c[B>>2]|0);c[n>>2]=c[(c[h>>2]|0)+16>>2]}if(c[z>>2]|0)Ia=(c[s>>2]|0)+1<<1;else Ia=0;c[L>>2]=Ia;l=wp((c[s>>2]|0)+1<<1,c[z>>2]|0)|0;c[H>>2]=l;c[aa>>2]=l;c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;c[fa+12>>2]=0;c[fa+16>>2]=0;c[fa+20>>2]=0;c[fa+24>>2]=0;c[D>>2]=(c[c[o>>2]>>2]&1|0?(c[w>>2]|0)!=0:0)&1;if((c[O>>2]|0)>1)To(c[aa>>2]|0,ba,c[q>>2]|0,c[t>>2]|0,c[q>>2]|0,c[t>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);l=wp(c[t>>2]|0,c[y>>2]|0)|0;c[M>>2]=l;c[P>>2]=l;l=c[t>>2]|0;c[N>>2]=l;c[R>>2]=l;c[Q>>2]=l;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[t>>2]|0))break;c[(c[M>>2]|0)+(c[ha>>2]<<2)>>2]=c[(c[q>>2]|0)+(c[ha>>2]<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(1<<(c[O>>2]|0)-1|0))break;l=c[n>>2]|0;if((c[ba>>2]|0)>=(c[Q>>2]|0))To(l,u,c[aa>>2]|0,c[ba>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);else To(l,u,c[P>>2]|0,c[Q>>2]|0,c[aa>>2]|0,c[ba>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);l=wp(c[u>>2]|0,c[y>>2]|0)|0;c[M+(c[Y>>2]<<2)>>2]=l;c[P>>2]=l;l=c[u>>2]|0;c[N+(c[Y>>2]<<2)>>2]=l;c[Q>>2]=l;if((c[R>>2]|0)<(c[Q>>2]|0))c[R>>2]=c[Q>>2];c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[u>>2]|0))break;c[(c[M+(c[Y>>2]<<2)>>2]|0)+(c[ia>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[ia>>2]<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}c[Y>>2]=(c[Y>>2]|0)+1}c[P>>2]=wp(c[R>>2]|0,c[y>>2]|0)|0;c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[R>>2]|0))break;c[(c[P>>2]|0)+(c[ja>>2]<<2)>>2]=0;c[ja>>2]=(c[ja>>2]|0)+1}c[Y>>2]=(c[r>>2]|0)-1;c[x>>2]=0;e:do if((c[O>>2]|0)==1)c[u>>2]=c[t>>2];else{c[u>>2]=c[s>>2];c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[u>>2]|0))break e;c[(c[n>>2]|0)+(c[ka>>2]<<2)>>2]=0;c[ka>>2]=(c[ka>>2]|0)+1}}while(0);c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[t>>2]|0))break;c[(c[n>>2]|0)+(c[la>>2]<<2)>>2]=c[(c[q>>2]|0)+(c[la>>2]<<2)>>2];c[la>>2]=(c[la>>2]|0)+1}c[da>>2]=c[(c[o>>2]|0)+(c[Y>>2]<<2)>>2];c[ma>>2]=c[da>>2];l=c[ma>>2]|0;c[na>>2]=(c[ma>>2]|0)>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;c[ca>>2]=32-((d[45848+((c[ma>>2]|0)>>>(c[na>>2]|0))>>0]|0)+(c[na>>2]|0));c[da>>2]=c[da>>2]<<c[ca>>2]<<1;c[ca>>2]=31-(c[ca>>2]|0);c[Z>>2]=0;while(1){if(!(c[da>>2]|0)){c[Z>>2]=(c[Z>>2]|0)+(c[ca>>2]|0);c[Y>>2]=(c[Y>>2]|0)+-1;if((c[Y>>2]|0)<0){Ja=86;break}c[da>>2]=c[(c[o>>2]|0)+(c[Y>>2]<<2)>>2];c[ca>>2]=32;continue}c[qa>>2]=c[da>>2];l=c[qa>>2]|0;c[ra>>2]=(c[qa>>2]|0)>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;c[oa>>2]=32-((d[45848+((c[qa>>2]|0)>>>(c[ra>>2]|0))>>0]|0)+(c[ra>>2]|0));c[da>>2]=c[da>>2]<<c[oa>>2];c[ca>>2]=(c[ca>>2]|0)-(c[oa>>2]|0);c[Z>>2]=(c[Z>>2]|0)+(c[oa>>2]|0);if((c[ca>>2]|0)>=(c[O>>2]|0)){c[pa>>2]=(c[da>>2]|0)>>>(32-(c[O>>2]|0)|0);c[da>>2]=c[da>>2]<<c[O>>2];c[ca>>2]=(c[ca>>2]|0)-(c[O>>2]|0)}else{c[Y>>2]=(c[Y>>2]|0)+-1;if((c[Y>>2]|0)<0){Ja=91;break}c[oa>>2]=c[ca>>2];c[pa>>2]=(c[da>>2]|0)>>>(32-(c[O>>2]|0)|0)|(c[(c[o>>2]|0)+(c[Y>>2]<<2)>>2]|0)>>>(32-(c[O>>2]|0)+(c[oa>>2]|0)|0);c[da>>2]=c[(c[o>>2]|0)+(c[Y>>2]<<2)>>2]<<(c[O>>2]|0)-(c[oa>>2]|0);c[ca>>2]=32-(c[O>>2]|0)+(c[oa>>2]|0)}c[sa>>2]=c[pa>>2];c[ua>>2]=c[sa>>2]&0-(c[sa>>2]|0);l=c[ua>>2]|0;c[va>>2]=(c[ua>>2]|0)>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;c[ta>>2]=32-((d[45848+((c[ua>>2]|0)>>>(c[va>>2]|0))>>0]|0)+(c[va>>2]|0));c[oa>>2]=31-(c[ta>>2]|0);c[pa>>2]=(c[pa>>2]|0)>>>(c[oa>>2]|0)>>>1;c[Z>>2]=(c[Z>>2]|0)+((c[O>>2]|0)-(c[oa>>2]|0));while(1){if(!(c[Z>>2]|0))break;To(c[aa>>2]|0,ba,c[n>>2]|0,c[u>>2]|0,c[n>>2]|0,c[u>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);c[ga>>2]=c[n>>2];c[n>>2]=c[aa>>2];c[aa>>2]=c[ga>>2];c[u>>2]=c[ba>>2];c[Z>>2]=(c[Z>>2]|0)+-1}c[Q>>2]=0;c[_>>2]=0;while(1){if((c[_>>2]|0)>=(1<<(c[O>>2]|0)-1|0))break;l=c[N+(c[_>>2]<<2)>>2]|0;c[wa+4>>2]=l;c[wa>>2]=l;l=c[N+(c[_>>2]<<2)>>2]|0;c[xa+4>>2]=l;c[xa>>2]=l;c[xa+8>>2]=0;c[wa+8>>2]=0;c[xa+12>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=c[P>>2];c[xa+16>>2]=c[M+(c[_>>2]<<2)>>2];Np(wa,xa,(c[_>>2]|0)==(c[pa>>2]|0)&1)|0;c[Q>>2]=c[Q>>2]|c[N+(c[_>>2]<<2)>>2]&0-((c[_>>2]|0)==(c[pa>>2]|0)&1);c[_>>2]=(c[_>>2]|0)+1}To(c[aa>>2]|0,ba,c[n>>2]|0,c[u>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);c[ga>>2]=c[n>>2];c[n>>2]=c[aa>>2];c[aa>>2]=c[ga>>2];c[u>>2]=c[ba>>2];c[Z>>2]=c[oa>>2]}if((Ja|0)==86)c[ca>>2]=0;else if((Ja|0)==91)c[da>>2]=(c[da>>2]|0)>>>(32-(c[ca>>2]|0)|0);if(c[ca>>2]|0){c[Z>>2]=(c[Z>>2]|0)+(c[ca>>2]|0);c[ya>>2]=c[da>>2];c[Aa>>2]=c[ya>>2]&0-(c[ya>>2]|0);l=c[Aa>>2]|0;c[Ba>>2]=(c[Aa>>2]|0)>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;c[za>>2]=32-((d[45848+((c[Aa>>2]|0)>>>(c[Ba>>2]|0))>>0]|0)+(c[Ba>>2]|0));c[ca>>2]=31-(c[za>>2]|0);c[da>>2]=(c[da>>2]|0)>>>(c[ca>>2]|0);c[Z>>2]=(c[Z>>2]|0)-(c[ca>>2]|0)}while(1){l=c[Z>>2]|0;c[Z>>2]=l+-1;if(!l)break;To(c[aa>>2]|0,ba,c[n>>2]|0,c[u>>2]|0,c[n>>2]|0,c[u>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);c[ga>>2]=c[n>>2];c[n>>2]=c[aa>>2];c[aa>>2]=c[ga>>2];c[u>>2]=c[ba>>2]}f:do if(c[da>>2]|0){c[Q>>2]=0;c[_>>2]=0;while(1){if((c[_>>2]|0)>=(1<<(c[O>>2]|0)-1|0))break;l=c[N+(c[_>>2]<<2)>>2]|0;c[Ca+4>>2]=l;c[Ca>>2]=l;l=c[N+(c[_>>2]<<2)>>2]|0;c[Da+4>>2]=l;c[Da>>2]=l;c[Da+8>>2]=0;c[Ca+8>>2]=0;c[Da+12>>2]=0;c[Ca+12>>2]=0;c[Ca+16>>2]=c[P>>2];c[Da+16>>2]=c[M+(c[_>>2]<<2)>>2];Np(Ca,Da,(c[_>>2]|0)==((c[da>>2]|0)>>>1|0)&1)|0;c[Q>>2]=c[Q>>2]|c[N+(c[_>>2]<<2)>>2]&0-((c[_>>2]|0)==((c[da>>2]|0)>>>1|0)&1);c[_>>2]=(c[_>>2]|0)+1}To(c[aa>>2]|0,ba,c[n>>2]|0,c[u>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);c[ga>>2]=c[n>>2];c[n>>2]=c[aa>>2];c[aa>>2]=c[ga>>2];c[u>>2]=c[ba>>2];while(1){if(!(c[ca>>2]|0))break f;To(c[aa>>2]|0,ba,c[n>>2]|0,c[u>>2]|0,c[n>>2]|0,c[u>>2]|0,c[p>>2]|0,c[s>>2]|0,fa);c[ga>>2]=c[n>>2];c[n>>2]=c[aa>>2];c[aa>>2]=c[ga>>2];c[u>>2]=c[ba>>2];c[ca>>2]=(c[ca>>2]|0)+-1}}while(0);l=c[(c[h>>2]|0)+16>>2]|0;Ha=c[n>>2]|0;do if(c[C>>2]|0){c[ea>>2]=ip(l,Ha,c[u>>2]|0,c[C>>2]|0)|0;c[n>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[ea>>2]|0))break;c[(c[n>>2]|0)+(c[u>>2]<<2)>>2]=c[ea>>2];c[u>>2]=(c[u>>2]|0)+1}else{if((l|0)==(Ha|0))break;c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=(c[u>>2]|0))break;c[(c[(c[h>>2]|0)+16>>2]|0)+(c[Ea>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[Ea>>2]<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}c[n>>2]=c[(c[h>>2]|0)+16>>2]}while(0);if((c[u>>2]|0)>=(c[s>>2]|0)){gp((c[n>>2]|0)+(c[s>>2]<<2)|0,0,c[n>>2]|0,c[u>>2]|0,c[p>>2]|0,c[s>>2]|0)|0;c[u>>2]=c[s>>2]}if(c[C>>2]|0)qp(c[n>>2]|0,c[n>>2]|0,c[u>>2]|0,c[C>>2]|0)|0;while(1){if((c[u>>2]|0)<=0)break;if(c[(c[n>>2]|0)+((c[u>>2]|0)-1<<2)>>2]|0)break;c[u>>2]=(c[u>>2]|0)+-1}pp(fa);c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(1<<(c[O>>2]|0)-1|0))break;if(c[y>>2]|0)Ka=c[N+(c[Y>>2]<<2)>>2]|0;else Ka=0;yp(c[M+(c[Y>>2]<<2)>>2]|0,Ka);c[Y>>2]=(c[Y>>2]|0)+1}yp(c[P>>2]|0,c[y>>2]|0?c[R>>2]|0:0);g:do if((c[D>>2]|0)!=0&(c[u>>2]|0)!=0){if(c[C>>2]|0)qp(c[p>>2]|0,c[p>>2]|0,c[s>>2]|0,c[C>>2]|0)|0;Jo(c[n>>2]|0,c[p>>2]|0,c[s>>2]|0,c[n>>2]|0,c[u>>2]|0)|0;c[u>>2]=c[s>>2];c[x>>2]=c[v>>2];while(1){if((c[u>>2]|0)<=0)break g;if(c[(c[n>>2]|0)+((c[u>>2]|0)-1<<2)>>2]|0)break g;c[u>>2]=(c[u>>2]|0)+-1}}while(0);if((c[(c[h>>2]|0)+16>>2]|0)==(c[n>>2]|0)){c[(c[h>>2]|0)+4>>2]=c[u>>2];c[(c[h>>2]|0)+8>>2]=c[x>>2];break}else Se(46140,46115,786,46125)}else{if((c[s>>2]|0)==1)La=(c[c[(c[m>>2]|0)+16>>2]>>2]|0)==1;else La=0;c[(c[h>>2]|0)+4>>2]=La?0:1;if(c[(c[h>>2]|0)+4>>2]|0){if((c[c[h>>2]>>2]|0)<1)Ap(c[h>>2]|0,1);c[n>>2]=c[(c[h>>2]|0)+16>>2];c[c[n>>2]>>2]=1}c[(c[h>>2]|0)+8>>2]=0}while(0);if(c[E>>2]|0)yp(c[E>>2]|0,c[I>>2]|0);if(c[F>>2]|0)yp(c[F>>2]|0,c[J>>2]|0);if(c[G>>2]|0)yp(c[G>>2]|0,c[K>>2]|0);if(!(c[H>>2]|0)){i=g;return}yp(c[H>>2]|0,c[L>>2]|0);i=g;return}function To(a,b,d,e,f,g,h,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=i;i=i+48|0;if((i|0)>=(j|0))$(48);n=m+32|0;o=m+28|0;p=m+24|0;q=m+20|0;r=m+16|0;s=m+12|0;t=m+8|0;u=m+4|0;v=m;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=k;c[v>>2]=l;l=c[n>>2]|0;k=c[p>>2]|0;p=c[q>>2]|0;h=c[r>>2]|0;r=c[s>>2]|0;if((c[s>>2]|0)<16)op(l,k,p,h,r)|0;else np(l,k,p,h,r,c[v>>2]|0);if(((c[q>>2]|0)+(c[s>>2]|0)|0)>(c[u>>2]|0)){gp((c[n>>2]|0)+(c[u>>2]<<2)|0,0,c[n>>2]|0,(c[q>>2]|0)+(c[s>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;c[c[o>>2]>>2]=c[u>>2];i=m;return}else{c[c[o>>2]>>2]=(c[q>>2]|0)+(c[s>>2]|0);i=m;return}}function Uo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=b+32|0;f=b+28|0;g=b+24|0;h=b+20|0;k=b+16|0;l=b+12|0;m=b+8|0;n=b+4|0;o=b;c[e>>2]=a;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){p=6;break}if(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2]|0)break;c[g>>2]=(c[g>>2]|0)+32;c[f>>2]=(c[f>>2]|0)+1}if((p|0)==6){q=c[g>>2]|0;i=b;return q|0}c[k>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2];c[l>>2]=c[k>>2];c[n>>2]=c[l>>2]&0-(c[l>>2]|0);l=c[n>>2]|0;c[o>>2]=(c[n>>2]|0)>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;c[m>>2]=32-((d[45848+((c[n>>2]|0)>>>(c[o>>2]|0))>>0]|0)+(c[o>>2]|0));c[h>>2]=31-(c[m>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);q=c[g>>2]|0;i=b;return q|0}function Vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=Wo(c[g>>2]|0,c[h>>2]|0,0,c[k>>2]|0,c[l>>2]|0,0)|0;i=f;return e|0}function Wo(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=i;i=i+64|0;if((i|0)>=(j|0))$(64);m=l+60|0;n=l+56|0;o=l+52|0;p=l+48|0;q=l+44|0;r=l+40|0;s=l+36|0;t=l+32|0;u=l+28|0;v=l+24|0;w=l+20|0;x=l+16|0;y=l+12|0;z=l+8|0;A=l+4|0;B=l;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[n>>2]|0)+8>>2];c[c[q>>2]>>2]=c[(c[n>>2]|0)+4>>2]<<2;if(c[c[q>>2]>>2]|0)C=c[c[q>>2]>>2]|0;else C=1;c[A>>2]=C;if((c[A>>2]|0)>>>0<(c[o>>2]|0)>>>0)c[A>>2]=c[o>>2];C=c[A>>2]|0;A=c[p>>2]|0;if((c[p>>2]|0)<0)c[B>>2]=C+(0-A);else c[B>>2]=C+A;do if(c[s>>2]|0)D=13;else{if(c[n>>2]|0?c[(c[n>>2]|0)+12>>2]&1|0:0){D=13;break}E=pf(c[B>>2]|0)|0}while(0);if((D|0)==13)E=sf(c[B>>2]|0)|0;c[v>>2]=E;if(!(c[v>>2]|0)){c[m>>2]=0;F=c[m>>2]|0;i=l;return F|0}E=c[v>>2]|0;if((c[p>>2]|0)<0)c[u>>2]=E+(0-(c[p>>2]|0));else c[u>>2]=E;c[t>>2]=c[u>>2];c[z>>2]=(c[(c[n>>2]|0)+4>>2]|0)-1;while(1){if((c[z>>2]|0)<0)break;c[y>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[z>>2]<<2)>>2];E=(c[y>>2]|0)>>>24&255;p=c[t>>2]|0;c[t>>2]=p+1;a[p>>0]=E;E=(c[y>>2]|0)>>>16&255;p=c[t>>2]|0;c[t>>2]=p+1;a[p>>0]=E;E=(c[y>>2]|0)>>>8&255;p=c[t>>2]|0;c[t>>2]=p+1;a[p>>0]=E;E=c[y>>2]&255;p=c[t>>2]|0;c[t>>2]=p+1;a[p>>0]=E;c[z>>2]=(c[z>>2]|0)+-1}if(c[o>>2]|0){c[w>>2]=c[c[q>>2]>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>>>0>=(((c[w>>2]|0)>>>0)/2|0)>>>0)break;c[x>>2]=d[(c[u>>2]|0)+(c[z>>2]|0)>>0];a[(c[u>>2]|0)+(c[z>>2]|0)>>0]=a[(c[u>>2]|0)+((c[w>>2]|0)-1-(c[z>>2]|0))>>0]|0;a[(c[u>>2]|0)+((c[w>>2]|0)-1-(c[z>>2]|0))>>0]=c[x>>2];c[z>>2]=(c[z>>2]|0)+1}c[t>>2]=(c[u>>2]|0)+(c[w>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;z=c[t>>2]|0;c[t>>2]=z+1;a[z>>0]=0;c[w>>2]=(c[w>>2]|0)+1}c[c[q>>2]>>2]=c[w>>2];c[m>>2]=c[v>>2];F=c[m>>2]|0;i=l;return F|0}else{c[t>>2]=c[u>>2];while(1){if(!(c[c[q>>2]>>2]|0))break;if(!((a[c[t>>2]>>0]|0)!=0^1))break;c[t>>2]=(c[t>>2]|0)+1;w=c[q>>2]|0;c[w>>2]=(c[w>>2]|0)+-1}if((c[t>>2]|0)!=(c[u>>2]|0))Zw(c[u>>2]|0,c[t>>2]|0,c[c[q>>2]>>2]|0)|0;c[m>>2]=c[v>>2];F=c[m>>2]|0;i=l;return F|0}return 0}function Xo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=Wo(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,0)|0;i=g;return f|0}function Yo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&16|0:0){Cp();i=g;return}c[q>>2]=(((c[l>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[h>>2]>>2]|0)<(c[q>>2]|0))Ap(c[h>>2]|0,c[q>>2]|0);c[(c[h>>2]|0)+8>>2]=c[m>>2];c[r>>2]=0;c[o>>2]=(c[n>>2]|0)+(c[l>>2]|0)+-1;while(1){s=c[o>>2]|0;if((c[o>>2]|0)>>>0<((c[n>>2]|0)+4|0)>>>0)break;c[o>>2]=s+-1;c[p>>2]=d[s>>0];l=c[o>>2]|0;c[o>>2]=l+-1;c[p>>2]=c[p>>2]|(d[l>>0]|0)<<8;l=c[o>>2]|0;c[o>>2]=l+-1;c[p>>2]=c[p>>2]|(d[l>>0]|0)<<16;l=c[o>>2]|0;c[o>>2]=l+-1;c[p>>2]=c[p>>2]|(d[l>>0]|0)<<24;l=c[p>>2]|0;m=c[r>>2]|0;c[r>>2]=m+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(m<<2)>>2]=l}if(s>>>0>=(c[n>>2]|0)>>>0){s=c[o>>2]|0;c[o>>2]=s+-1;c[p>>2]=d[s>>0];if((c[o>>2]|0)>>>0>=(c[n>>2]|0)>>>0){s=c[o>>2]|0;c[o>>2]=s+-1;c[p>>2]=c[p>>2]|(d[s>>0]|0)<<8}if((c[o>>2]|0)>>>0>=(c[n>>2]|0)>>>0){s=c[o>>2]|0;c[o>>2]=s+-1;c[p>>2]=c[p>>2]|(d[s>>0]|0)<<16}if((c[o>>2]|0)>>>0>=(c[n>>2]|0)>>>0){n=c[o>>2]|0;c[o>>2]=n+-1;c[p>>2]=c[p>>2]|(d[n>>0]|0)<<24}n=c[p>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(p<<2)>>2]=n}c[(c[h>>2]|0)+4>>2]=c[r>>2];if((c[r>>2]|0)==(c[q>>2]|0)){i=g;return}else Se(46153,46165,377,46176)}function Zo(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=i;i=i+64|0;if((i|0)>=(j|0))$(64);k=h+48|0;l=h+44|0;m=h+40|0;n=h+36|0;o=h+32|0;p=h+28|0;q=h+24|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[n>>2];c[r>>2]=0;if(c[q>>2]|0)x=(tf(c[q>>2]|0)|0)!=0;else x=0;c[t>>2]=x&1;if((c[m>>2]|0)==3)c[s>>2]=0;else c[s>>2]=c[o>>2];if((c[m>>2]|0)==1){c[u>>2]=c[q>>2];x=(((c[s>>2]|0)+4-1|0)>>>0)/4|0;if(c[t>>2]|0)y=xp(x)|0;else y=vp(x)|0;c[r>>2]=y;if(c[s>>2]|0?(Yo(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0,0),c[(c[r>>2]|0)+8>>2]=(((d[c[u>>2]>>0]|0)&128|0)!=0^1^1)&1,c[(c[r>>2]|0)+8>>2]|0):0){_o(c[r>>2]|0);eo(c[r>>2]|0,c[r>>2]|0,1);c[(c[r>>2]|0)+8>>2]=1}u=c[r>>2]|0;if(c[l>>2]|0){ko(u);c[c[l>>2]>>2]=c[r>>2]}else Dp(u);if(c[p>>2]|0)c[c[p>>2]>>2]=c[s>>2];c[k>>2]=0;z=c[k>>2]|0;i=h;return z|0}if((c[m>>2]|0)==5){u=(((c[s>>2]|0)+4-1|0)>>>0)/4|0;if(c[t>>2]|0)A=xp(u)|0;else A=vp(u)|0;c[r>>2]=A;if(c[s>>2]|0)Yo(c[r>>2]|0,c[q>>2]|0,c[s>>2]|0,0);A=c[r>>2]|0;if(c[l>>2]|0){ko(A);c[c[l>>2]>>2]=c[r>>2]}else Dp(A);if(c[p>>2]|0)c[c[p>>2]>>2]=c[s>>2];c[k>>2]=0;z=c[k>>2]|0;i=h;return z|0}if((c[m>>2]|0)==2){c[r>>2]=$o(c[q>>2]|0,s,c[t>>2]|0)|0;if(c[p>>2]|0)c[c[p>>2]>>2]=c[s>>2];A=c[r>>2]|0;if(!((c[l>>2]|0)!=0&(c[r>>2]|0)!=0)){if(A|0){Dp(c[r>>2]|0);c[r>>2]=0}}else{ko(A);c[c[l>>2]>>2]=c[r>>2]}c[k>>2]=c[r>>2]|0?0:65;z=c[k>>2]|0;i=h;return z|0}if((c[m>>2]|0)!=3){if((c[m>>2]|0)!=4){c[k>>2]=45;z=c[k>>2]|0;i=h;return z|0}if(c[o>>2]|0){c[k>>2]=45;z=c[k>>2]|0;i=h;return z|0}if(c[t>>2]|0)B=xp(0)|0;else B=vp(0)|0;c[r>>2]=B;if(ap(c[r>>2]|0,c[q>>2]|0)|0){Dp(c[r>>2]|0);c[k>>2]=65;z=c[k>>2]|0;i=h;return z|0}B=c[r>>2]|0;if(c[l>>2]|0){ko(B);c[c[l>>2]>>2]=c[r>>2]}else Dp(B);if(c[p>>2]|0){B=hv(c[q>>2]|0)|0;c[c[p>>2]>>2]=B}c[k>>2]=0;z=c[k>>2]|0;i=h;return z|0}c[v>>2]=c[q>>2];if((c[s>>2]|0)!=0&(c[s>>2]|0)>>>0<4){c[k>>2]=66;z=c[k>>2]|0;i=h;return z|0}c[w>>2]=(d[c[v>>2]>>0]|0)<<24|(d[(c[v>>2]|0)+1>>0]|0)<<16|(d[(c[v>>2]|0)+2>>0]|0)<<8|(d[(c[v>>2]|0)+3>>0]|0);c[v>>2]=(c[v>>2]|0)+4;if(c[s>>2]|0)c[s>>2]=(c[s>>2]|0)-4;if(c[s>>2]|0?(c[w>>2]|0)>>>0>(c[s>>2]|0)>>>0:0){c[k>>2]=67;z=c[k>>2]|0;i=h;return z|0}s=(((c[w>>2]|0)+4-1|0)>>>0)/4|0;if(c[t>>2]|0)C=xp(s)|0;else C=vp(s)|0;c[r>>2]=C;if(c[w>>2]|0?(Yo(c[r>>2]|0,c[v>>2]|0,c[w>>2]|0,0),c[(c[r>>2]|0)+8>>2]=(((d[c[v>>2]>>0]|0)&128|0)!=0^1^1)&1,c[(c[r>>2]|0)+8>>2]|0):0){_o(c[r>>2]|0);eo(c[r>>2]|0,c[r>>2]|0,1);c[(c[r>>2]|0)+8>>2]=1}if(c[p>>2]|0)c[c[p>>2]>>2]=(c[w>>2]|0)+4;w=c[r>>2]|0;if(c[l>>2]|0){ko(w);c[c[l>>2]>>2]=c[r>>2]}else Dp(w);c[k>>2]=0;z=c[k>>2]|0;i=h;return z|0}function _o(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[d>>2]=a;c[h>>2]=lo(c[d>>2]|0)|0;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&16|0:0){Cp();i=b;return}ko(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+16>>2];c[f>>2]=c[(c[d>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;a=(c[e>>2]|0)+(c[g>>2]<<2)|0;c[a>>2]=~c[a>>2];c[g>>2]=(c[g>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=0;po(c[d>>2]|0,(c[h>>2]|0)-1|0);i=b;return}function $o(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+40|0;h=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;r=f+4|0;s=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=e;c[q>>2]=0;c[s>>2]=0;if((c[c[h>>2]>>2]|0)>>>0<2){t=c[q>>2]|0;u=c[h>>2]|0;c[u>>2]=t;v=c[s>>2]|0;i=f;return v|0}c[n>>2]=(d[c[g>>2]>>0]|0)<<8|(d[(c[g>>2]|0)+1>>0]|0);if((c[n>>2]|0)>>>0>16384){t=c[q>>2]|0;u=c[h>>2]|0;c[u>>2]=t;v=c[s>>2]|0;i=f;return v|0}c[g>>2]=(c[g>>2]|0)+2;c[q>>2]=2;c[o>>2]=(((c[n>>2]|0)+7|0)>>>0)/8|0;c[p>>2]=(((c[o>>2]|0)+4-1|0)>>>0)/4|0;n=c[p>>2]|0;if(c[k>>2]|0)w=xp(n)|0;else w=vp(n)|0;c[s>>2]=w;c[l>>2]=4-(((c[o>>2]|0)>>>0)%4|0);c[l>>2]=(c[l>>2]|0)%4|0;o=c[p>>2]|0;c[(c[s>>2]|0)+4>>2]=o;c[m>>2]=o;c[(c[s>>2]|0)+8>>2]=0;a:while(1){if((c[m>>2]|0)<=0){x=14;break}c[r>>2]=0;while(1){if((c[l>>2]|0)>=4)break;o=(c[q>>2]|0)+1|0;c[q>>2]=o;if(o>>>0>(c[c[h>>2]>>2]|0)>>>0)break a;c[r>>2]=c[r>>2]<<8;o=c[g>>2]|0;c[g>>2]=o+1;c[r>>2]=c[r>>2]|(d[o>>0]|0);c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;c[(c[(c[s>>2]|0)+16>>2]|0)+((c[m>>2]|0)-1<<2)>>2]=c[r>>2];c[m>>2]=(c[m>>2]|0)+-1}if((x|0)==14){t=c[q>>2]|0;u=c[h>>2]|0;c[u>>2]=t;v=c[s>>2]|0;i=f;return v|0}Dp(c[s>>2]|0);c[s>>2]=0;t=c[q>>2]|0;u=c[h>>2]|0;c[u>>2]=t;v=c[s>>2]|0;i=f;return v|0}function ap(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+52|0;g=e+48|0;h=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+20|0;q=e+16|0;r=e+12|0;s=e+8|0;t=e+4|0;u=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=0;if((a[c[h>>2]>>0]|0)==45){c[k>>2]=1;c[h>>2]=(c[h>>2]|0)+1}if((a[c[h>>2]>>0]|0)==48?(a[(c[h>>2]|0)+1>>0]|0)==120:0)c[h>>2]=(c[h>>2]|0)+2;c[r>>2]=(hv(c[h>>2]|0)|0)<<2;if(((c[r>>2]|0)>>>0)%8|0|0)c[l>>2]=1;c[s>>2]=(((c[r>>2]|0)+7|0)>>>0)/8|0;c[t>>2]=(((c[s>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[g>>2]>>2]|0)>>>0<(c[t>>2]|0)>>>0)Ap(c[g>>2]|0,c[t>>2]|0);c[m>>2]=4-(((c[s>>2]|0)>>>0)%4|0);c[m>>2]=(c[m>>2]|0)%4|0;s=c[t>>2]|0;c[(c[g>>2]|0)+4>>2]=s;c[n>>2]=s;c[(c[g>>2]|0)+8>>2]=c[k>>2];a:while(1){if((c[n>>2]|0)<=0){v=37;break}c[u>>2]=0;while(1){if((c[m>>2]|0)>=4)break;if(c[l>>2]|0){c[p>>2]=48;c[l>>2]=0}else{k=c[h>>2]|0;c[h>>2]=k+1;c[p>>2]=a[k>>0]}if(!(c[p>>2]|0)){v=18;break a}k=c[h>>2]|0;c[h>>2]=k+1;c[q>>2]=a[k>>0];if(!(c[q>>2]|0)){v=20;break a}k=c[p>>2]|0;do if((c[p>>2]|0)>=48&(c[p>>2]|0)<=57)c[o>>2]=k-48;else{s=c[p>>2]|0;if((k|0)>=97&(c[p>>2]|0)<=102){c[o>>2]=s-97+10;break}if(!((s|0)>=65&(c[p>>2]|0)<=70)){v=27;break a}c[o>>2]=(c[p>>2]|0)-65+10}while(0);c[o>>2]=c[o>>2]<<4;k=c[q>>2]|0;do if((c[q>>2]|0)>=48&(c[q>>2]|0)<=57)c[o>>2]=c[o>>2]|k-48;else{s=c[q>>2]|0;if((k|0)>=97&(c[q>>2]|0)<=102){c[o>>2]=c[o>>2]|s-97+10;break}if(!((s|0)>=65&(c[q>>2]|0)<=70)){v=34;break a}c[o>>2]=c[o>>2]|(c[q>>2]|0)-65+10}while(0);c[u>>2]=c[u>>2]<<8;c[u>>2]=c[u>>2]|c[o>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;c[(c[(c[g>>2]|0)+16>>2]|0)+((c[n>>2]|0)-1<<2)>>2]=c[u>>2];c[n>>2]=(c[n>>2]|0)+-1}if((v|0)==18){Bp(c[g>>2]|0);c[f>>2]=1;w=c[f>>2]|0;i=e;return w|0}else if((v|0)==20){Bp(c[g>>2]|0);c[f>>2]=1;w=c[f>>2]|0;i=e;return w|0}else if((v|0)==27){Bp(c[g>>2]|0);c[f>>2]=1;w=c[f>>2]|0;i=e;return w|0}else if((v|0)==34){Bp(c[g>>2]|0);c[f>>2]=1;w=c[f>>2]|0;i=e;return w|0}else if((v|0)==37){c[f>>2]=0;w=c[f>>2]|0;i=e;return w|0}return 0}function bp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;k=i;i=i+128|0;if((i|0)>=(j|0))$(128);l=k+112|0;m=k+108|0;n=k+104|0;o=k+100|0;p=k+96|0;q=k+92|0;r=k+88|0;s=k+84|0;t=k+76|0;u=k+72|0;v=k+68|0;w=k+64|0;x=k+60|0;y=k+56|0;z=k+52|0;A=k+48|0;B=k+44|0;C=k+40|0;D=k+36|0;E=k+32|0;F=k+28|0;G=k+24|0;H=k+20|0;I=k+16|0;J=k+12|0;K=k+8|0;L=k+4|0;M=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=lo(c[q>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=k+80;if(c[(c[q>>2]|0)+8>>2]|0?vo(c[q>>2]|0,0)|0:0)c[t>>2]=1;else c[t>>2]=0;c[s>>2]=c[o>>2];c[c[p>>2]>>2]=0;if((c[m>>2]|0)==1){c[v>>2]=0;c[u>>2]=Vo(c[q>>2]|0,0,w,0)|0;if(!(c[u>>2]|0)){c[l>>2]=Et()|0;N=c[l>>2]|0;i=k;return N|0}if(c[t>>2]|0){cp(c[u>>2]|0,c[w>>2]|0);if(!((d[c[u>>2]>>0]|0)&128)){c[w>>2]=(c[w>>2]|0)+1;c[v>>2]=2}}else if(c[w>>2]|0?(d[c[u>>2]>>0]|0)&128|0:0){c[w>>2]=(c[w>>2]|0)+1;c[v>>2]=1}if(c[n>>2]|0?(c[w>>2]|0)>>>0>(c[s>>2]|0)>>>0:0){vf(c[u>>2]|0);c[l>>2]=66;N=c[l>>2]|0;i=k;return N|0}if(c[n>>2]|0){c[x>>2]=c[n>>2];if((c[v>>2]|0)!=1){if(c[v>>2]|0){o=c[x>>2]|0;c[x>>2]=o+1;a[o>>0]=-1}}else{o=c[x>>2]|0;c[x>>2]=o+1;a[o>>0]=0}Yw(c[x>>2]|0,c[u>>2]|0,(c[w>>2]|0)-(((c[v>>2]|0)!=0^1^1)&1)|0)|0}vf(c[u>>2]|0);c[c[p>>2]>>2]=c[w>>2];c[l>>2]=0;N=c[l>>2]|0;i=k;return N|0}if((c[m>>2]|0)==5){c[y>>2]=(((c[r>>2]|0)+7|0)>>>0)/8|0;if(c[n>>2]|0?(c[y>>2]|0)>>>0>(c[s>>2]|0)>>>0:0){c[l>>2]=66;N=c[l>>2]|0;i=k;return N|0}do if(c[n>>2]|0){c[z>>2]=Vo(c[q>>2]|0,0,y,0)|0;if(c[z>>2]|0){Yw(c[n>>2]|0,c[z>>2]|0,c[y>>2]|0)|0;vf(c[z>>2]|0);break}c[l>>2]=Et()|0;N=c[l>>2]|0;i=k;return N|0}while(0);c[c[p>>2]>>2]=c[y>>2];c[l>>2]=0;N=c[l>>2]|0;i=k;return N|0}if((c[m>>2]|0)==2){c[A>>2]=(((c[r>>2]|0)+7|0)>>>0)/8|0;if(c[t>>2]|0){c[l>>2]=45;N=c[l>>2]|0;i=k;return N|0}if(c[n>>2]|0?((c[A>>2]|0)+2|0)>>>0>(c[s>>2]|0)>>>0:0){c[l>>2]=66;N=c[l>>2]|0;i=k;return N|0}do if(c[n>>2]|0){c[C>>2]=c[n>>2];a[c[C>>2]>>0]=(c[r>>2]|0)>>>8;a[(c[C>>2]|0)+1>>0]=c[r>>2];c[B>>2]=Vo(c[q>>2]|0,0,A,0)|0;if(c[B>>2]|0){Yw((c[C>>2]|0)+2|0,c[B>>2]|0,c[A>>2]|0)|0;vf(c[B>>2]|0);break}c[l>>2]=Et()|0;N=c[l>>2]|0;i=k;return N|0}while(0);c[c[p>>2]>>2]=(c[A>>2]|0)+2;c[l>>2]=0;N=c[l>>2]|0;i=k;return N|0}if((c[m>>2]|0)==3){c[E>>2]=0;c[D>>2]=Vo(c[q>>2]|0,0,F,0)|0;if(!(c[D>>2]|0)){c[l>>2]=Et()|0;N=c[l>>2]|0;i=k;return N|0}if(c[t>>2]|0){cp(c[D>>2]|0,c[F>>2]|0);if(!((d[c[D>>2]>>0]|0)&128)){c[F>>2]=(c[F>>2]|0)+1;c[E>>2]=2}}else if(c[F>>2]|0?(d[c[D>>2]>>0]|0)&128|0:0){c[F>>2]=(c[F>>2]|0)+1;c[E>>2]=1}if(c[n>>2]|0?((c[F>>2]|0)+4|0)>>>0>(c[s>>2]|0)>>>0:0){vf(c[D>>2]|0);c[l>>2]=66;N=c[l>>2]|0;i=k;return N|0}if(c[n>>2]|0){c[G>>2]=c[n>>2];A=(c[F>>2]|0)>>>24&255;B=c[G>>2]|0;c[G>>2]=B+1;a[B>>0]=A;A=(c[F>>2]|0)>>>16&255;B=c[G>>2]|0;c[G>>2]=B+1;a[B>>0]=A;A=(c[F>>2]|0)>>>8&255;B=c[G>>2]|0;c[G>>2]=B+1;a[B>>0]=A;A=c[F>>2]&255;B=c[G>>2]|0;c[G>>2]=B+1;a[B>>0]=A;if((c[E>>2]|0)!=1){if(c[E>>2]|0){A=c[G>>2]|0;c[G>>2]=A+1;a[A>>0]=-1}}else{A=c[G>>2]|0;c[G>>2]=A+1;a[A>>0]=0}Yw(c[G>>2]|0,c[D>>2]|0,(c[F>>2]|0)-(((c[E>>2]|0)!=0^1^1)&1)|0)|0}vf(c[D>>2]|0);c[c[p>>2]>>2]=4+(c[F>>2]|0);c[l>>2]=0;N=c[l>>2]|0;i=k;return N|0}if((c[m>>2]|0)!=4){c[l>>2]=45;N=c[l>>2]|0;i=k;return N|0}c[J>>2]=0;c[K>>2]=0;c[H>>2]=Vo(c[q>>2]|0,0,K,0)|0;if(!(c[H>>2]|0)){c[l>>2]=Et()|0;N=c[l>>2]|0;i=k;return N|0}if(!(c[K>>2]|0?!((d[c[H>>2]>>0]|0)&128|0):0))c[J>>2]=2;if(c[n>>2]|0?((c[K>>2]<<1)+(c[J>>2]|0)+(c[t>>2]|0)+1|0)>>>0>(c[s>>2]|0)>>>0:0){vf(c[H>>2]|0);c[l>>2]=66;N=c[l>>2]|0;i=k;return N|0}if(c[n>>2]|0){c[L>>2]=c[n>>2];if(c[t>>2]|0){s=c[L>>2]|0;c[L>>2]=s+1;a[s>>0]=45}if(c[J>>2]|0){s=c[L>>2]|0;c[L>>2]=s+1;a[s>>0]=48;s=c[L>>2]|0;c[L>>2]=s+1;a[s>>0]=48}c[I>>2]=0;while(1){if((c[I>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[M>>2]=d[(c[H>>2]|0)+(c[I>>2]|0)>>0];s=(c[M>>2]|0)>>>4;q=((c[M>>2]|0)>>>4>>>0<10?48+s|0:65+s-10|0)&255;s=c[L>>2]|0;c[L>>2]=s+1;a[s>>0]=q;c[M>>2]=c[M>>2]&15;q=c[M>>2]|0;s=((c[M>>2]|0)>>>0<10?48+q|0:65+q-10|0)&255;q=c[L>>2]|0;c[L>>2]=q+1;a[q>>0]=s;c[I>>2]=(c[I>>2]|0)+1}I=c[L>>2]|0;c[L>>2]=I+1;a[I>>0]=0;c[c[p>>2]>>2]=(c[L>>2]|0)-(c[n>>2]|0)}else c[c[p>>2]>>2]=(c[K>>2]<<1)+(c[J>>2]|0)+(c[t>>2]|0)+1;vf(c[H>>2]|0);c[l>>2]=0;N=c[l>>2]|0;i=k;return N|0}function cp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+8|0;h=f+4|0;k=f;c[g>>2]=b;c[h>>2]=e;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;if(!((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=0^1))break;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)<0){i=f;return}h=d[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0;do if(!(d[(c[g>>2]|0)+(c[k>>2]|0)>>0]&1|0)){e=d[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0;if(h&2|0){a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=(e^252|2)&254;break}b=d[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0;if(e&4|0){a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=(b^248|4)&252;break}e=d[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0;if(b&8|0){a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=(e^240|8)&248;break}b=d[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0;if(e&16|0){a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=(b^224|16)&240;break}e=d[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0;if(b&32|0){a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=(e^192|32)&224;break}b=(c[g>>2]|0)+(c[k>>2]|0)|0;if(e&64|0){a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=(d[b>>0]^128|64)&192;break}else{a[b>>0]=-128;break}}else a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=h^254|1;while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)<0)break;h=(c[g>>2]|0)+(c[k>>2]|0)|0;a[h>>0]=d[h>>0]^255;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+36|0;h=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((((c[h>>2]|0)!=0^1)&1|0)==(((c[k>>2]|0)!=0^1)&1|0)){c[g>>2]=45;s=c[g>>2]|0;i=f;return s|0}if(c[h>>2]|0)c[c[h>>2]>>2]=0;c[n>>2]=bp(5,0,0,o,c[l>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];s=c[g>>2]|0;i=f;return s|0}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[g>>2]=67;s=c[g>>2]|0;i=f;return s|0}if((c[o>>2]|0)>>>0<(c[m>>2]|0)>>>0)t=(c[m>>2]|0)-(c[o>>2]|0)|0;else t=0;c[p>>2]=t;c[q>>2]=(c[o>>2]|0)+(c[p>>2]|0);if(!(c[k>>2]|0)){if(c[l>>2]|0?c[(c[l>>2]|0)+12>>2]&1|0:0)u=sf(c[q>>2]|0)|0;else u=pf(c[q>>2]|0)|0;c[r>>2]=u;if(!(c[r>>2]|0)){c[n>>2]=Et()|0;c[g>>2]=c[n>>2];s=c[g>>2]|0;i=f;return s|0}}else c[r>>2]=c[k>>2];if(c[p>>2]|0)Sw(c[r>>2]|0,0,c[p>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[n>>2]=bp(5,(c[r>>2]|0)+(c[p>>2]|0)|0,(c[o>>2]|0)-(c[p>>2]|0)|0,0,c[l>>2]|0)|0;if(c[n>>2]|0){vf(c[r>>2]|0);c[g>>2]=c[n>>2];s=c[g>>2]|0;i=f;return s|0}if(c[h>>2]|0)c[c[h>>2]>>2]=c[r>>2];c[g>>2]=0;s=c[g>>2]|0;i=f;return s|0}function ep(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=0-(c[l>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[p>>2]|0)<<2);c[k>>2]=(c[k>>2]|0)+(0-(c[p>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[p>>2]|0)<<2);c[o>>2]=0;do{c[n>>2]=c[(c[k>>2]|0)+(c[p>>2]<<2)>>2];c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0&1;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[n>>2];l=(c[p>>2]|0)+1|0;c[p>>2]=l}while((l|0)!=0);i=f;return c[o>>2]|0}function fp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;f=i;i=i+144|0;if((i|0)>=(j|0))$(144);g=f+128|0;h=f+124|0;k=f+120|0;l=f+116|0;m=f+112|0;n=f+108|0;o=f+104|0;p=f+100|0;q=f+96|0;r=f+92|0;s=f+88|0;t=f+84|0;u=f+80|0;v=f+76|0;w=f+72|0;x=f+68|0;y=f+64|0;z=f+60|0;A=f+56|0;B=f+52|0;C=f+48|0;D=f+44|0;E=f+40|0;F=f+36|0;G=f+32|0;H=f+28|0;I=f+24|0;J=f+20|0;K=f+16|0;L=f+12|0;M=f+8|0;N=f+4|0;O=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;if(!(c[k>>2]|0)){c[g>>2]=0;P=c[g>>2]|0;i=f;return P|0}c[s>>2]=c[l>>2];e=c[s>>2]|0;c[t>>2]=(c[s>>2]|0)>>>0<65536?(e>>>0<256?0:8):e>>>0<16777216?16:24;c[r>>2]=32-((d[45848+((c[s>>2]|0)>>>(c[t>>2]|0))>>0]|0)+(c[t>>2]|0));if(!(c[r>>2]|0)){c[m>>2]=(c[k>>2]|0)-1;c[p>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[l>>2]|0)>>>0)c[p>>2]=0;else c[m>>2]=(c[m>>2]|0)+-1;while(1){if((c[m>>2]|0)<0)break;c[o>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[I>>2]=(c[l>>2]|0)>>>16;c[J>>2]=c[l>>2]&65535;c[M>>2]=((c[p>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[K>>2]=((c[p>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=S(c[K>>2]|0,c[J>>2]|0)|0;c[M>>2]=c[M>>2]<<16|(c[o>>2]|0)>>>16;if(((c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[l>>2]|0),(c[M>>2]|0)>>>0>=(c[l>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[l>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[O>>2]|0);c[N>>2]=((c[M>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[L>>2]=((c[M>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=S(c[L>>2]|0,c[J>>2]|0)|0;c[N>>2]=c[N>>2]<<16|c[o>>2]&65535;if(((c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[L>>2]=(c[L>>2]|0)+-1,c[N>>2]=(c[N>>2]|0)+(c[l>>2]|0),(c[N>>2]|0)>>>0>=(c[l>>2]|0)>>>0):0)?(c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[L>>2]=(c[L>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+(c[l>>2]|0)}c[N>>2]=(c[N>>2]|0)-(c[O>>2]|0);c[q>>2]=c[K>>2]<<16|c[L>>2];c[p>>2]=c[N>>2];c[m>>2]=(c[m>>2]|0)+-1}c[g>>2]=c[p>>2];P=c[g>>2]|0;i=f;return P|0}c[l>>2]=c[l>>2]<<c[r>>2];c[n>>2]=c[(c[h>>2]|0)+((c[k>>2]|0)-1<<2)>>2];c[p>>2]=(c[n>>2]|0)>>>(32-(c[r>>2]|0)|0);c[m>>2]=(c[k>>2]|0)-2;while(1){if((c[m>>2]|0)<0)break;c[o>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[u>>2]=(c[l>>2]|0)>>>16;c[v>>2]=c[l>>2]&65535;c[y>>2]=((c[p>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[w>>2]=((c[p>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=S(c[w>>2]|0,c[v>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[n>>2]<<c[r>>2]|(c[o>>2]|0)>>>(32-(c[r>>2]|0)|0))>>>16;if(((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[l>>2]|0),(c[y>>2]|0)>>>0>=(c[l>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[l>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[A>>2]|0);c[z>>2]=((c[y>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[x>>2]=((c[y>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=S(c[x>>2]|0,c[v>>2]|0)|0;c[z>>2]=c[z>>2]<<16|(c[n>>2]<<c[r>>2]|(c[o>>2]|0)>>>(32-(c[r>>2]|0)|0))&65535;if(((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[x>>2]=(c[x>>2]|0)+-1,c[z>>2]=(c[z>>2]|0)+(c[l>>2]|0),(c[z>>2]|0)>>>0>=(c[l>>2]|0)>>>0):0)?(c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+(c[l>>2]|0)}c[z>>2]=(c[z>>2]|0)-(c[A>>2]|0);c[q>>2]=c[w>>2]<<16|c[x>>2];c[p>>2]=c[z>>2];c[n>>2]=c[o>>2];c[m>>2]=(c[m>>2]|0)+-1}c[B>>2]=(c[l>>2]|0)>>>16;c[C>>2]=c[l>>2]&65535;c[F>>2]=((c[p>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[D>>2]=((c[p>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=S(c[D>>2]|0,c[C>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[n>>2]<<c[r>>2]>>>16;if(((c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[l>>2]|0),(c[F>>2]|0)>>>0>=(c[l>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[l>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[H>>2]|0);c[G>>2]=((c[F>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[E>>2]=((c[F>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=S(c[E>>2]|0,c[C>>2]|0)|0;c[G>>2]=c[G>>2]<<16|c[n>>2]<<c[r>>2]&65535;if(((c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[E>>2]=(c[E>>2]|0)+-1,c[G>>2]=(c[G>>2]|0)+(c[l>>2]|0),(c[G>>2]|0)>>>0>=(c[l>>2]|0)>>>0):0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[E>>2]=(c[E>>2]|0)+-1;c[G>>2]=(c[G>>2]|0)+(c[l>>2]|0)}c[G>>2]=(c[G>>2]|0)-(c[H>>2]|0);c[q>>2]=c[D>>2]<<16|c[E>>2];c[p>>2]=c[G>>2];c[g>>2]=(c[p>>2]|0)>>>(c[r>>2]|0);P=c[g>>2]|0;i=f;return P|0}function gp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,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,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;h=i;i=i+320|0;if((i|0)>=(j|0))$(320);k=h+316|0;l=h+312|0;m=h+308|0;n=h+304|0;o=h+300|0;p=h+296|0;q=h+292|0;r=h+288|0;s=h+284|0;t=h+280|0;u=h+276|0;v=h+272|0;w=h+268|0;x=h+264|0;y=h+260|0;z=h+256|0;A=h+252|0;B=h+248|0;C=h+244|0;D=h+240|0;E=h+236|0;F=h+232|0;G=h+228|0;H=h+224|0;I=h+220|0;J=h+216|0;K=h+212|0;L=h+208|0;M=h+204|0;N=h+200|0;O=h+196|0;P=h+192|0;Q=h+188|0;R=h+184|0;T=h+180|0;U=h+176|0;V=h+172|0;W=h+168|0;X=h+164|0;Y=h+160|0;Z=h+156|0;_=h+152|0;aa=h+148|0;ba=h+144|0;ca=h+140|0;da=h+136|0;ea=h+132|0;fa=h+128|0;ga=h+124|0;ha=h+120|0;ia=h+116|0;ja=h+112|0;ka=h+108|0;la=h+104|0;ma=h+100|0;na=h+96|0;oa=h+92|0;pa=h+88|0;qa=h+84|0;ra=h+80|0;sa=h+76|0;ta=h+72|0;ua=h+68|0;va=h+64|0;wa=h+60|0;xa=h+56|0;ya=h+52|0;za=h+48|0;Aa=h+44|0;Ba=h+40|0;Ca=h+36|0;Da=h+32|0;Ea=h+28|0;Fa=h+24|0;Ga=h+20|0;Ha=h+16|0;Ia=h+12|0;Ja=h+8|0;Ka=h+4|0;La=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;switch(c[p>>2]|0){case 0:{df();break}case 1:{c[t>>2]=c[c[o>>2]>>2];c[s>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)-1<<2)>>2];if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0){c[s>>2]=(c[s>>2]|0)-(c[t>>2]|0);c[q>>2]=1}c[k>>2]=(c[k>>2]|0)+(c[l>>2]<<2);c[r>>2]=(c[n>>2]|0)-2;while(1){if((c[r>>2]|0)<0)break;c[u>>2]=(c[t>>2]|0)>>>16;c[v>>2]=c[t>>2]&65535;c[y>>2]=((c[s>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[w>>2]=((c[s>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=S(c[w>>2]|0,c[v>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]|0)>>>16;if(((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[t>>2]|0),(c[y>>2]|0)>>>0>=(c[t>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[t>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[A>>2]|0);c[z>>2]=((c[y>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[x>>2]=((c[y>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=S(c[x>>2]|0,c[v>>2]|0)|0;c[z>>2]=c[z>>2]<<16|c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]&65535;if(((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[x>>2]=(c[x>>2]|0)+-1,c[z>>2]=(c[z>>2]|0)+(c[t>>2]|0),(c[z>>2]|0)>>>0>=(c[t>>2]|0)>>>0):0)?(c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+(c[t>>2]|0)}c[z>>2]=(c[z>>2]|0)-(c[A>>2]|0);c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=c[w>>2]<<16|c[x>>2];c[s>>2]=c[z>>2];c[r>>2]=(c[r>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+(0-(c[l>>2]|0)<<2);c[r>>2]=(c[l>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;c[B>>2]=(c[t>>2]|0)>>>16;c[C>>2]=c[t>>2]&65535;c[F>>2]=((c[s>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[D>>2]=((c[s>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=S(c[D>>2]|0,c[C>>2]|0)|0;c[F>>2]=c[F>>2]<<16;if(((c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[t>>2]|0),(c[F>>2]|0)>>>0>=(c[t>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[t>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[H>>2]|0);c[G>>2]=((c[F>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[E>>2]=((c[F>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=S(c[E>>2]|0,c[C>>2]|0)|0;c[G>>2]=c[G>>2]<<16;if(((c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[E>>2]=(c[E>>2]|0)+-1,c[G>>2]=(c[G>>2]|0)+(c[t>>2]|0),(c[G>>2]|0)>>>0>=(c[t>>2]|0)>>>0):0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[E>>2]=(c[E>>2]|0)+-1;c[G>>2]=(c[G>>2]|0)+(c[t>>2]|0)}c[G>>2]=(c[G>>2]|0)-(c[H>>2]|0);c[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=c[D>>2]<<16|c[E>>2];c[s>>2]=c[G>>2];c[r>>2]=(c[r>>2]|0)+-1}c[c[m>>2]>>2]=c[s>>2];Ma=c[q>>2]|0;i=h;return Ma|0}case 2:{c[m>>2]=(c[m>>2]|0)+((c[n>>2]|0)-2<<2);c[M>>2]=c[(c[o>>2]|0)+4>>2];c[N>>2]=c[c[o>>2]>>2];c[J>>2]=c[(c[m>>2]|0)+4>>2];c[K>>2]=c[c[m>>2]>>2];do if((c[J>>2]|0)>>>0>=(c[M>>2]|0)>>>0){if((c[J>>2]|0)>>>0<=(c[M>>2]|0)>>>0?(c[K>>2]|0)>>>0<(c[N>>2]|0)>>>0:0)break;c[O>>2]=(c[K>>2]|0)-(c[N>>2]|0);c[J>>2]=(c[J>>2]|0)-(c[M>>2]|0)-((c[O>>2]|0)>>>0>(c[K>>2]|0)>>>0&1);c[K>>2]=c[O>>2];c[q>>2]=1}while(0);c[I>>2]=(c[l>>2]|0)+(c[n>>2]|0)-2-1;while(1){if((c[I>>2]|0)<0)break;O=c[m>>2]|0;if((c[I>>2]|0)>=(c[l>>2]|0))c[m>>2]=O+-4;else c[O>>2]=0;do if((c[J>>2]|0)==(c[M>>2]|0)){c[P>>2]=-1;c[Q>>2]=(c[K>>2]|0)+(c[M>>2]|0);if((c[Q>>2]|0)>>>0<(c[M>>2]|0)>>>0){c[R>>2]=(c[c[m>>2]>>2]|0)+(c[N>>2]|0);c[J>>2]=(c[Q>>2]|0)-(c[N>>2]|0)+0+((c[R>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0&1);c[K>>2]=c[R>>2];c[(c[k>>2]|0)+(c[I>>2]<<2)>>2]=c[P>>2];break}else{c[J>>2]=(c[N>>2]|0)-(c[N>>2]|0?1:0);c[K>>2]=0-(c[N>>2]|0);Na=52;break}}else{c[T>>2]=(c[M>>2]|0)>>>16;c[U>>2]=c[M>>2]&65535;c[X>>2]=((c[J>>2]|0)>>>0)%((c[T>>2]|0)>>>0)|0;c[V>>2]=((c[J>>2]|0)>>>0)/((c[T>>2]|0)>>>0)|0;c[Z>>2]=S(c[V>>2]|0,c[U>>2]|0)|0;c[X>>2]=c[X>>2]<<16|(c[K>>2]|0)>>>16;if(((c[X>>2]|0)>>>0<(c[Z>>2]|0)>>>0?(c[V>>2]=(c[V>>2]|0)+-1,c[X>>2]=(c[X>>2]|0)+(c[M>>2]|0),(c[X>>2]|0)>>>0>=(c[M>>2]|0)>>>0):0)?(c[X>>2]|0)>>>0<(c[Z>>2]|0)>>>0:0){c[V>>2]=(c[V>>2]|0)+-1;c[X>>2]=(c[X>>2]|0)+(c[M>>2]|0)}c[X>>2]=(c[X>>2]|0)-(c[Z>>2]|0);c[Y>>2]=((c[X>>2]|0)>>>0)%((c[T>>2]|0)>>>0)|0;c[W>>2]=((c[X>>2]|0)>>>0)/((c[T>>2]|0)>>>0)|0;c[Z>>2]=S(c[W>>2]|0,c[U>>2]|0)|0;c[Y>>2]=c[Y>>2]<<16|c[K>>2]&65535;if(((c[Y>>2]|0)>>>0<(c[Z>>2]|0)>>>0?(c[W>>2]=(c[W>>2]|0)+-1,c[Y>>2]=(c[Y>>2]|0)+(c[M>>2]|0),(c[Y>>2]|0)>>>0>=(c[M>>2]|0)>>>0):0)?(c[Y>>2]|0)>>>0<(c[Z>>2]|0)>>>0:0){c[W>>2]=(c[W>>2]|0)+-1;c[Y>>2]=(c[Y>>2]|0)+(c[M>>2]|0)}c[Y>>2]=(c[Y>>2]|0)-(c[Z>>2]|0);c[P>>2]=c[V>>2]<<16|c[W>>2];c[Q>>2]=c[Y>>2];c[ha>>2]=c[N>>2];c[ia>>2]=c[P>>2];c[da>>2]=c[ha>>2]&65535;c[fa>>2]=(c[ha>>2]|0)>>>16;c[ea>>2]=c[ia>>2]&65535;c[ga>>2]=(c[ia>>2]|0)>>>16;c[_>>2]=S(c[da>>2]|0,c[ea>>2]|0)|0;c[aa>>2]=S(c[da>>2]|0,c[ga>>2]|0)|0;c[ba>>2]=S(c[fa>>2]|0,c[ea>>2]|0)|0;c[ca>>2]=S(c[fa>>2]|0,c[ga>>2]|0)|0;c[aa>>2]=(c[aa>>2]|0)+((c[_>>2]|0)>>>16);c[aa>>2]=(c[aa>>2]|0)+(c[ba>>2]|0);if((c[aa>>2]|0)>>>0<(c[ba>>2]|0)>>>0)c[ca>>2]=(c[ca>>2]|0)+65536;c[J>>2]=(c[ca>>2]|0)+((c[aa>>2]|0)>>>16);c[K>>2]=((c[aa>>2]&65535)<<16)+(c[_>>2]&65535);Na=52}while(0);if((Na|0)==52){Na=0;c[L>>2]=c[c[m>>2]>>2];do{if((c[J>>2]|0)>>>0<=(c[Q>>2]|0)>>>0){if((c[J>>2]|0)!=(c[Q>>2]|0))break;if((c[K>>2]|0)>>>0<=(c[L>>2]|0)>>>0)break}c[P>>2]=(c[P>>2]|0)+-1;c[ja>>2]=(c[K>>2]|0)-(c[N>>2]|0);c[J>>2]=(c[J>>2]|0)-0-((c[ja>>2]|0)>>>0>(c[K>>2]|0)>>>0&1);c[K>>2]=c[ja>>2];c[Q>>2]=(c[Q>>2]|0)+(c[M>>2]|0)}while((c[Q>>2]|0)>>>0>=(c[M>>2]|0)>>>0);c[(c[k>>2]|0)+(c[I>>2]<<2)>>2]=c[P>>2];c[ka>>2]=(c[L>>2]|0)-(c[K>>2]|0);c[J>>2]=(c[Q>>2]|0)-(c[J>>2]|0)-((c[ka>>2]|0)>>>0>(c[L>>2]|0)>>>0&1);c[K>>2]=c[ka>>2]}c[I>>2]=(c[I>>2]|0)+-1}c[(c[m>>2]|0)+4>>2]=c[J>>2];c[c[m>>2]>>2]=c[K>>2];Ma=c[q>>2]|0;i=h;return Ma|0}default:{c[m>>2]=(c[m>>2]|0)+((c[n>>2]|0)-(c[p>>2]|0)<<2);c[ma>>2]=c[(c[o>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[na>>2]=c[(c[o>>2]|0)+((c[p>>2]|0)-2<<2)>>2];c[oa>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];do if((c[oa>>2]|0)>>>0>=(c[ma>>2]|0)>>>0){if((c[oa>>2]|0)>>>0<=(c[ma>>2]|0)>>>0?(Ko(c[m>>2]|0,c[o>>2]|0,(c[p>>2]|0)-1|0)|0)<0:0)break;rp(c[m>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[oa>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[q>>2]=1}while(0);c[la>>2]=(c[l>>2]|0)+(c[n>>2]|0)-(c[p>>2]|0)-1;while(1){if((c[la>>2]|0)<0)break;if((c[la>>2]|0)>=(c[l>>2]|0)){c[m>>2]=(c[m>>2]|0)+-4;c[ra>>2]=c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]}else{c[ra>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[ta>>2]=(c[p>>2]|0)-1-1;while(1){if((c[ta>>2]|0)<0)break;c[(c[m>>2]|0)+4+(c[ta>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[ta>>2]<<2)>>2];c[ta>>2]=(c[ta>>2]|0)+-1}c[c[m>>2]>>2]=0}a:do if((c[oa>>2]|0)==(c[ma>>2]|0))c[pa>>2]=-1;else{c[va>>2]=(c[ma>>2]|0)>>>16;c[wa>>2]=c[ma>>2]&65535;c[za>>2]=((c[oa>>2]|0)>>>0)%((c[va>>2]|0)>>>0)|0;c[xa>>2]=((c[oa>>2]|0)>>>0)/((c[va>>2]|0)>>>0)|0;c[Ba>>2]=S(c[xa>>2]|0,c[wa>>2]|0)|0;c[za>>2]=c[za>>2]<<16|(c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0)>>>16;if(((c[za>>2]|0)>>>0<(c[Ba>>2]|0)>>>0?(c[xa>>2]=(c[xa>>2]|0)+-1,c[za>>2]=(c[za>>2]|0)+(c[ma>>2]|0),(c[za>>2]|0)>>>0>=(c[ma>>2]|0)>>>0):0)?(c[za>>2]|0)>>>0<(c[Ba>>2]|0)>>>0:0){c[xa>>2]=(c[xa>>2]|0)+-1;c[za>>2]=(c[za>>2]|0)+(c[ma>>2]|0)}c[za>>2]=(c[za>>2]|0)-(c[Ba>>2]|0);c[Aa>>2]=((c[za>>2]|0)>>>0)%((c[va>>2]|0)>>>0)|0;c[ya>>2]=((c[za>>2]|0)>>>0)/((c[va>>2]|0)>>>0)|0;c[Ba>>2]=S(c[ya>>2]|0,c[wa>>2]|0)|0;c[Aa>>2]=c[Aa>>2]<<16|c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2]&65535;if(((c[Aa>>2]|0)>>>0<(c[Ba>>2]|0)>>>0?(c[ya>>2]=(c[ya>>2]|0)+-1,c[Aa>>2]=(c[Aa>>2]|0)+(c[ma>>2]|0),(c[Aa>>2]|0)>>>0>=(c[ma>>2]|0)>>>0):0)?(c[Aa>>2]|0)>>>0<(c[Ba>>2]|0)>>>0:0){c[ya>>2]=(c[ya>>2]|0)+-1;c[Aa>>2]=(c[Aa>>2]|0)+(c[ma>>2]|0)}c[Aa>>2]=(c[Aa>>2]|0)-(c[Ba>>2]|0);c[pa>>2]=c[xa>>2]<<16|c[ya>>2];c[ua>>2]=c[Aa>>2];c[Ka>>2]=c[na>>2];c[La>>2]=c[pa>>2];c[Ga>>2]=c[Ka>>2]&65535;c[Ia>>2]=(c[Ka>>2]|0)>>>16;c[Ha>>2]=c[La>>2]&65535;c[Ja>>2]=(c[La>>2]|0)>>>16;c[Ca>>2]=S(c[Ga>>2]|0,c[Ha>>2]|0)|0;c[Da>>2]=S(c[Ga>>2]|0,c[Ja>>2]|0)|0;c[Ea>>2]=S(c[Ia>>2]|0,c[Ha>>2]|0)|0;c[Fa>>2]=S(c[Ia>>2]|0,c[Ja>>2]|0)|0;c[Da>>2]=(c[Da>>2]|0)+((c[Ca>>2]|0)>>>16);c[Da>>2]=(c[Da>>2]|0)+(c[Ea>>2]|0);if((c[Da>>2]|0)>>>0<(c[Ea>>2]|0)>>>0)c[Fa>>2]=(c[Fa>>2]|0)+65536;c[qa>>2]=(c[Fa>>2]|0)+((c[Da>>2]|0)>>>16);c[oa>>2]=((c[Da>>2]&65535)<<16)+(c[Ca>>2]&65535);while(1){if((c[qa>>2]|0)>>>0<=(c[ua>>2]|0)>>>0){if((c[qa>>2]|0)!=(c[ua>>2]|0))break a;if((c[oa>>2]|0)>>>0<=(c[(c[m>>2]|0)+((c[p>>2]|0)-2<<2)>>2]|0)>>>0)break a}c[pa>>2]=(c[pa>>2]|0)+-1;c[ua>>2]=(c[ua>>2]|0)+(c[ma>>2]|0);if((c[ua>>2]|0)>>>0<(c[ma>>2]|0)>>>0)break a;c[qa>>2]=(c[qa>>2]|0)-((c[oa>>2]|0)>>>0<(c[na>>2]|0)>>>0&1);c[oa>>2]=(c[oa>>2]|0)-(c[na>>2]|0)}}while(0);c[sa>>2]=kp(c[m>>2]|0,c[o>>2]|0,c[p>>2]|0,c[pa>>2]|0)|0;if((c[ra>>2]|0)!=(c[sa>>2]|0)){ep(c[m>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[pa>>2]=(c[pa>>2]|0)+-1}c[(c[k>>2]|0)+(c[la>>2]<<2)>>2]=c[pa>>2];c[oa>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[la>>2]=(c[la>>2]|0)+-1}Ma=c[q>>2]|0;i=h;return Ma|0}}return 0}function hp(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=i;i=i+144|0;if((i|0)>=(j|0))$(144);h=g+128|0;k=g+124|0;l=g+120|0;m=g+116|0;n=g+112|0;o=g+108|0;p=g+104|0;q=g+100|0;r=g+96|0;s=g+92|0;t=g+88|0;u=g+84|0;v=g+80|0;w=g+76|0;x=g+72|0;y=g+68|0;z=g+64|0;A=g+60|0;B=g+56|0;C=g+52|0;D=g+48|0;E=g+44|0;F=g+40|0;G=g+36|0;H=g+32|0;I=g+28|0;J=g+24|0;K=g+20|0;L=g+16|0;M=g+12|0;N=g+8|0;O=g+4|0;P=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;if(!(c[m>>2]|0)){c[h>>2]=0;Q=c[h>>2]|0;i=g;return Q|0}c[t>>2]=c[n>>2];f=c[t>>2]|0;c[u>>2]=(c[t>>2]|0)>>>0<65536?(f>>>0<256?0:8):f>>>0<16777216?16:24;c[s>>2]=32-((d[45848+((c[t>>2]|0)>>>(c[u>>2]|0))>>0]|0)+(c[u>>2]|0));if(!(c[s>>2]|0)){c[o>>2]=(c[m>>2]|0)-1;c[r>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2];if((c[r>>2]|0)>>>0>=(c[n>>2]|0)>>>0)c[r>>2]=0;else{u=c[o>>2]|0;c[o>>2]=u+-1;c[(c[k>>2]|0)+(u<<2)>>2]=0}while(1){if((c[o>>2]|0)<0)break;c[q>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2];c[J>>2]=(c[n>>2]|0)>>>16;c[K>>2]=c[n>>2]&65535;c[N>>2]=((c[r>>2]|0)>>>0)%((c[J>>2]|0)>>>0)|0;c[L>>2]=((c[r>>2]|0)>>>0)/((c[J>>2]|0)>>>0)|0;c[P>>2]=S(c[L>>2]|0,c[K>>2]|0)|0;c[N>>2]=c[N>>2]<<16|(c[q>>2]|0)>>>16;if(((c[N>>2]|0)>>>0<(c[P>>2]|0)>>>0?(c[L>>2]=(c[L>>2]|0)+-1,c[N>>2]=(c[N>>2]|0)+(c[n>>2]|0),(c[N>>2]|0)>>>0>=(c[n>>2]|0)>>>0):0)?(c[N>>2]|0)>>>0<(c[P>>2]|0)>>>0:0){c[L>>2]=(c[L>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+(c[n>>2]|0)}c[N>>2]=(c[N>>2]|0)-(c[P>>2]|0);c[O>>2]=((c[N>>2]|0)>>>0)%((c[J>>2]|0)>>>0)|0;c[M>>2]=((c[N>>2]|0)>>>0)/((c[J>>2]|0)>>>0)|0;c[P>>2]=S(c[M>>2]|0,c[K>>2]|0)|0;c[O>>2]=c[O>>2]<<16|c[q>>2]&65535;if(((c[O>>2]|0)>>>0<(c[P>>2]|0)>>>0?(c[M>>2]=(c[M>>2]|0)+-1,c[O>>2]=(c[O>>2]|0)+(c[n>>2]|0),(c[O>>2]|0)>>>0>=(c[n>>2]|0)>>>0):0)?(c[O>>2]|0)>>>0<(c[P>>2]|0)>>>0:0){c[M>>2]=(c[M>>2]|0)+-1;c[O>>2]=(c[O>>2]|0)+(c[n>>2]|0)}c[O>>2]=(c[O>>2]|0)-(c[P>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[L>>2]<<16|c[M>>2];c[r>>2]=c[O>>2];c[o>>2]=(c[o>>2]|0)+-1}c[h>>2]=c[r>>2];Q=c[h>>2]|0;i=g;return Q|0}c[n>>2]=c[n>>2]<<c[s>>2];c[p>>2]=c[(c[l>>2]|0)+((c[m>>2]|0)-1<<2)>>2];c[r>>2]=(c[p>>2]|0)>>>(32-(c[s>>2]|0)|0);c[o>>2]=(c[m>>2]|0)-2;while(1){if((c[o>>2]|0)<0)break;c[q>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2];c[v>>2]=(c[n>>2]|0)>>>16;c[w>>2]=c[n>>2]&65535;c[z>>2]=((c[r>>2]|0)>>>0)%((c[v>>2]|0)>>>0)|0;c[x>>2]=((c[r>>2]|0)>>>0)/((c[v>>2]|0)>>>0)|0;c[B>>2]=S(c[x>>2]|0,c[w>>2]|0)|0;c[z>>2]=c[z>>2]<<16|(c[p>>2]<<c[s>>2]|(c[q>>2]|0)>>>(32-(c[s>>2]|0)|0))>>>16;if(((c[z>>2]|0)>>>0<(c[B>>2]|0)>>>0?(c[x>>2]=(c[x>>2]|0)+-1,c[z>>2]=(c[z>>2]|0)+(c[n>>2]|0),(c[z>>2]|0)>>>0>=(c[n>>2]|0)>>>0):0)?(c[z>>2]|0)>>>0<(c[B>>2]|0)>>>0:0){c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+(c[n>>2]|0)}c[z>>2]=(c[z>>2]|0)-(c[B>>2]|0);c[A>>2]=((c[z>>2]|0)>>>0)%((c[v>>2]|0)>>>0)|0;c[y>>2]=((c[z>>2]|0)>>>0)/((c[v>>2]|0)>>>0)|0;c[B>>2]=S(c[y>>2]|0,c[w>>2]|0)|0;c[A>>2]=c[A>>2]<<16|(c[p>>2]<<c[s>>2]|(c[q>>2]|0)>>>(32-(c[s>>2]|0)|0))&65535;if(((c[A>>2]|0)>>>0<(c[B>>2]|0)>>>0?(c[y>>2]=(c[y>>2]|0)+-1,c[A>>2]=(c[A>>2]|0)+(c[n>>2]|0),(c[A>>2]|0)>>>0>=(c[n>>2]|0)>>>0):0)?(c[A>>2]|0)>>>0<(c[B>>2]|0)>>>0:0){c[y>>2]=(c[y>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+(c[n>>2]|0)}c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);c[(c[k>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=c[x>>2]<<16|c[y>>2];c[r>>2]=c[A>>2];c[p>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+-1}c[C>>2]=(c[n>>2]|0)>>>16;c[D>>2]=c[n>>2]&65535;c[G>>2]=((c[r>>2]|0)>>>0)%((c[C>>2]|0)>>>0)|0;c[E>>2]=((c[r>>2]|0)>>>0)/((c[C>>2]|0)>>>0)|0;c[I>>2]=S(c[E>>2]|0,c[D>>2]|0)|0;c[G>>2]=c[G>>2]<<16|c[p>>2]<<c[s>>2]>>>16;if(((c[G>>2]|0)>>>0<(c[I>>2]|0)>>>0?(c[E>>2]=(c[E>>2]|0)+-1,c[G>>2]=(c[G>>2]|0)+(c[n>>2]|0),(c[G>>2]|0)>>>0>=(c[n>>2]|0)>>>0):0)?(c[G>>2]|0)>>>0<(c[I>>2]|0)>>>0:0){c[E>>2]=(c[E>>2]|0)+-1;c[G>>2]=(c[G>>2]|0)+(c[n>>2]|0)}c[G>>2]=(c[G>>2]|0)-(c[I>>2]|0);c[H>>2]=((c[G>>2]|0)>>>0)%((c[C>>2]|0)>>>0)|0;c[F>>2]=((c[G>>2]|0)>>>0)/((c[C>>2]|0)>>>0)|0;c[I>>2]=S(c[F>>2]|0,c[D>>2]|0)|0;c[H>>2]=c[H>>2]<<16|c[p>>2]<<c[s>>2]&65535;if(((c[H>>2]|0)>>>0<(c[I>>2]|0)>>>0?(c[F>>2]=(c[F>>2]|0)+-1,c[H>>2]=(c[H>>2]|0)+(c[n>>2]|0),(c[H>>2]|0)>>>0>=(c[n>>2]|0)>>>0):0)?(c[H>>2]|0)>>>0<(c[I>>2]|0)>>>0:0){c[F>>2]=(c[F>>2]|0)+-1;c[H>>2]=(c[H>>2]|0)+(c[n>>2]|0)}c[H>>2]=(c[H>>2]|0)-(c[I>>2]|0);c[c[k>>2]>>2]=c[E>>2]<<16|c[F>>2];c[r>>2]=c[H>>2];c[h>>2]=(c[r>>2]|0)>>>(c[s>>2]|0);Q=c[h>>2]|0;i=g;return Q|0}function ip(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+36|0;h=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[o>>2]=c[l>>2];c[g>>2]=(c[g>>2]|0)+4;c[p>>2]=32-(c[o>>2]|0);c[q>>2]=(c[k>>2]|0)-1;c[n>>2]=c[(c[h>>2]|0)+(c[q>>2]<<2)>>2];c[r>>2]=(c[n>>2]|0)>>>(c[p>>2]|0);c[m>>2]=c[n>>2];while(1){k=(c[q>>2]|0)+-1|0;c[q>>2]=k;if((k|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[q>>2]<<2)>>2];c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]=c[m>>2]<<c[o>>2]|(c[n>>2]|0)>>>(c[p>>2]|0);c[m>>2]=c[n>>2]}c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]=c[m>>2]<<c[o>>2];i=f;return c[r>>2]|0}function jp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+80|0;if((i|0)>=(j|0))$(80);g=f+68|0;h=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[n>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[n>>2]|0)<<2);c[m>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[n>>2]<<2)>>2];c[z>>2]=c[l>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=S(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=S(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=S(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=S(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[o>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[p>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[p>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[m>>2]=((c[p>>2]|0)>>>0<(c[m>>2]|0)>>>0?1:0)+(c[o>>2]|0);c[(c[g>>2]|0)+(c[n>>2]<<2)>>2]=c[p>>2];k=(c[n>>2]|0)+1|0;c[n>>2]=k}while((k|0)!=0);i=f;return c[m>>2]|0}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+80|0;if((i|0)>=(j|0))$(80);g=f+72|0;h=f+68|0;k=f+64|0;l=f+60|0;m=f+56|0;n=f+52|0;o=f+48|0;p=f+44|0;q=f+40|0;r=f+36|0;s=f+32|0;t=f+28|0;u=f+24|0;v=f+20|0;w=f+16|0;x=f+12|0;y=f+8|0;z=f+4|0;A=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=0-(c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[n>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[n>>2]|0)<<2);c[m>>2]=0;do{c[z>>2]=c[(c[h>>2]|0)+(c[n>>2]<<2)>>2];c[A>>2]=c[l>>2];c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[w>>2]=c[A>>2]&65535;c[y>>2]=(c[A>>2]|0)>>>16;c[r>>2]=S(c[v>>2]|0,c[w>>2]|0)|0;c[s>>2]=S(c[v>>2]|0,c[y>>2]|0)|0;c[t>>2]=S(c[x>>2]|0,c[w>>2]|0)|0;c[u>>2]=S(c[x>>2]|0,c[y>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+((c[r>>2]|0)>>>16);c[s>>2]=(c[s>>2]|0)+(c[t>>2]|0);if((c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0)c[u>>2]=(c[u>>2]|0)+65536;c[o>>2]=(c[u>>2]|0)+((c[s>>2]|0)>>>16);c[p>>2]=((c[s>>2]&65535)<<16)+(c[r>>2]&65535);c[p>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[m>>2]=((c[p>>2]|0)>>>0<(c[m>>2]|0)>>>0?1:0)+(c[o>>2]|0);c[q>>2]=c[(c[g>>2]|0)+(c[n>>2]<<2)>>2];c[p>>2]=(c[q>>2]|0)-(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[n>>2]<<2)>>2]=c[p>>2];k=(c[n>>2]|0)+1|0;c[n>>2]=k}while((k|0)!=0);i=f;return c[m>>2]|0}function lp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+32|0;h=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[o>>2]=c[c[k>>2]>>2];if((c[o>>2]|0)>>>0<=1){a:do if((c[o>>2]|0)==1){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break a;c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}}else{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break a;c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[n>>2]=0}else c[n>>2]=jp(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]=c[n>>2];c[g>>2]=(c[g>>2]|0)+4;c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;c[o>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[o>>2]|0)>>>0<=1){c[n>>2]=0;if((c[o>>2]|0)==1)c[n>>2]=ep(c[g>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0)|0}else c[n>>2]=qt(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]=c[n>>2];c[g>>2]=(c[g>>2]|0)+4;c[m>>2]=(c[m>>2]|0)+1}i=f;return c[n>>2]|0}function mp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[m>>2]|0;if(c[m>>2]&1|0){c[o>>2]=f-1;e=c[h>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;a=c[o>>2]|0;if((c[o>>2]|0)<16)lp(e,d,b,a)|0;else mp(e,d,b,a,c[n>>2]|0);c[p>>2]=qt((c[h>>2]|0)+(c[o>>2]<<2)|0,c[k>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[o>>2]|0)+(c[o>>2]|0)<<2)>>2]=c[p>>2];c[p>>2]=qt((c[h>>2]|0)+(c[o>>2]<<2)|0,c[l>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[o>>2]|0)+(c[m>>2]|0)<<2)>>2]=c[p>>2];i=g;return}c[q>>2]=f>>1;f=(c[h>>2]|0)+(c[m>>2]<<2)|0;p=(c[k>>2]|0)+(c[q>>2]<<2)|0;o=(c[l>>2]|0)+(c[q>>2]<<2)|0;a=c[q>>2]|0;if((c[q>>2]|0)<16)lp(f,p,o,a)|0;else mp(f,p,o,a,c[n>>2]|0);a=(Ko((c[k>>2]|0)+(c[q>>2]<<2)|0,c[k>>2]|0,c[q>>2]|0)|0)>=0;o=c[h>>2]|0;p=c[k>>2]|0;if(a){rp(o,p+(c[q>>2]<<2)|0,c[k>>2]|0,c[q>>2]|0)|0;c[s>>2]=0}else{rp(o,p,(c[k>>2]|0)+(c[q>>2]<<2)|0,c[q>>2]|0)|0;c[s>>2]=1}p=(Ko((c[l>>2]|0)+(c[q>>2]<<2)|0,c[l>>2]|0,c[q>>2]|0)|0)>=0;o=(c[h>>2]|0)+(c[q>>2]<<2)|0;a=c[l>>2]|0;if(p){rp(o,a+(c[q>>2]<<2)|0,c[l>>2]|0,c[q>>2]|0)|0;c[s>>2]=c[s>>2]^1}else rp(o,a,(c[l>>2]|0)+(c[q>>2]<<2)|0,c[q>>2]|0)|0;a=c[n>>2]|0;o=c[h>>2]|0;p=(c[h>>2]|0)+(c[q>>2]<<2)|0;f=c[q>>2]|0;if((c[q>>2]|0)<16)lp(a,o,p,f)|0;else mp(a,o,p,f,(c[n>>2]|0)+(c[m>>2]<<2)|0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[(c[h>>2]|0)+(c[q>>2]<<2)+(c[t>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=ep((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[h>>2]|0)+(c[m>>2]<<2)|0,(c[h>>2]|0)+(c[m>>2]<<2)+(c[q>>2]<<2)|0,c[q>>2]|0)|0;t=(c[h>>2]|0)+(c[q>>2]<<2)|0;f=(c[h>>2]|0)+(c[q>>2]<<2)|0;p=c[n>>2]|0;o=c[m>>2]|0;if(c[s>>2]|0){s=rp(t,f,p,o)|0;c[r>>2]=(c[r>>2]|0)-s}else{s=ep(t,f,p,o)|0;c[r>>2]=(c[r>>2]|0)+s}s=c[n>>2]|0;o=c[k>>2]|0;k=c[l>>2]|0;l=c[q>>2]|0;if((c[q>>2]|0)<16)lp(s,o,k,l)|0;else mp(s,o,k,l,(c[n>>2]|0)+(c[m>>2]<<2)|0);l=ep((c[h>>2]|0)+(c[q>>2]<<2)|0,(c[h>>2]|0)+(c[q>>2]<<2)|0,c[n>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+l;if(c[r>>2]|0)Go((c[h>>2]|0)+(c[q>>2]<<2)+(c[m>>2]<<2)|0,(c[h>>2]|0)+(c[q>>2]<<2)+(c[m>>2]<<2)|0,c[q>>2]|0,c[r>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[q>>2]|0))break;c[(c[h>>2]|0)+(c[u>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[u>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=ep((c[h>>2]|0)+(c[q>>2]<<2)|0,(c[h>>2]|0)+(c[q>>2]<<2)|0,(c[n>>2]|0)+(c[q>>2]<<2)|0,c[q>>2]|0)|0;if(!(c[r>>2]|0)){i=g;return}Go((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[h>>2]|0)+(c[m>>2]<<2)|0,c[m>>2]|0,1)|0;i=g;return}function np(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+24|0;l=h+20|0;m=h+16|0;n=h+12|0;o=h+8|0;p=h+4|0;q=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!(c[(c[p>>2]|0)+4>>2]|0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[o>>2]|0):0)){if(c[(c[p>>2]|0)+4>>2]|0)yp(c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0);c[(c[p>>2]|0)+8>>2]=c[o>>2]<<1;g=c[o>>2]<<1;if(tf(c[l>>2]|0)|0)r=1;else r=(tf(c[n>>2]|0)|0)!=0;f=wp(g,r&1)|0;c[(c[p>>2]|0)+4>>2]=f;c[(c[p>>2]|0)+12>>2]=c[o>>2]}f=c[k>>2]|0;r=c[l>>2]|0;g=c[n>>2]|0;e=c[o>>2]|0;if((c[o>>2]|0)<16)lp(f,r,g,e)|0;else mp(f,r,g,e,c[(c[p>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[o>>2]<<2);c[l>>2]=(c[l>>2]|0)+(c[o>>2]<<2);c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0);if((c[m>>2]|0)>=(c[o>>2]|0)){if(!(c[(c[p>>2]|0)+16>>2]|0?(c[(c[p>>2]|0)+24>>2]|0)>=(c[o>>2]|0):0)){if(c[(c[p>>2]|0)+16>>2]|0)yp(c[(c[p>>2]|0)+16>>2]|0,c[(c[p>>2]|0)+20>>2]|0);c[(c[p>>2]|0)+20>>2]=c[o>>2]<<1;e=c[o>>2]<<1;if(tf(c[l>>2]|0)|0)s=1;else s=(tf(c[n>>2]|0)|0)!=0;g=wp(e,s&1)|0;c[(c[p>>2]|0)+16>>2]=g;c[(c[p>>2]|0)+24>>2]=c[o>>2]}do{g=c[(c[p>>2]|0)+16>>2]|0;s=c[l>>2]|0;e=c[n>>2]|0;r=c[o>>2]|0;if((c[o>>2]|0)<16)lp(g,s,e,r)|0;else mp(g,s,e,r,c[(c[p>>2]|0)+4>>2]|0);c[q>>2]=ep(c[k>>2]|0,c[k>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[o>>2]|0)|0;Go((c[k>>2]|0)+(c[o>>2]<<2)|0,(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<2)|0,c[o>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+(c[o>>2]<<2);c[l>>2]=(c[l>>2]|0)+(c[o>>2]<<2);c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0)}while((c[m>>2]|0)>=(c[o>>2]|0))}if(!(c[m>>2]|0)){i=h;return}r=c[p>>2]|0;if((c[m>>2]|0)<16)op(c[r+4>>2]|0,c[n>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;else{if(!(c[r>>2]|0)){r=Cf(1,28)|0;c[c[p>>2]>>2]=r}np(c[(c[p>>2]|0)+4>>2]|0,c[n>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0)}c[q>>2]=ep(c[k>>2]|0,c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[o>>2]|0)|0;Go((c[k>>2]|0)+(c[o>>2]<<2)|0,(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<2)|0,c[m>>2]|0,c[q>>2]|0)|0;i=h;return}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=g+72|0;k=g+68|0;l=g+64|0;m=g+60|0;n=g+56|0;o=g+52|0;p=g+48|0;q=g+44|0;r=g+16|0;s=g+12|0;t=g+8|0;u=g+4|0;v=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=(c[k>>2]|0)+(c[m>>2]<<2)+(c[o>>2]<<2)+-4;if((c[o>>2]|0)>=16){c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;np(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,r);pp(r);c[h>>2]=c[c[p>>2]>>2];w=c[h>>2]|0;i=g;return w|0}if(!(c[o>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=g;return w|0}c[t>>2]=c[c[n>>2]>>2];if((c[t>>2]|0)>>>0<=1){a:do if((c[t>>2]|0)==1){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break a;c[(c[k>>2]|0)+(c[u>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[u>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+1}}else{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[m>>2]|0))break a;c[(c[k>>2]|0)+(c[v>>2]<<2)>>2]=0;c[v>>2]=(c[v>>2]|0)+1}}while(0);c[q>>2]=0}else c[q>>2]=jp(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+4;c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;c[t>>2]=c[(c[n>>2]|0)+(c[s>>2]<<2)>>2];if((c[t>>2]|0)>>>0<=1){c[q>>2]=0;if((c[t>>2]|0)==1)c[q>>2]=ep(c[k>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0}else c[q>>2]=qt(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+4;c[s>>2]=(c[s>>2]|0)+1}c[h>>2]=c[q>>2];w=c[h>>2]|0;i=g;return w|0}function pp(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;if(c[(c[d>>2]|0)+16>>2]|0)yp(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)yp(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];if(c[(c[d>>2]|0)+16>>2]|0)yp(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)yp(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);vf(c[d>>2]|0);c[d>>2]=c[e>>2]}i=b;return}function qp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+36|0;h=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[o>>2]=c[l>>2];c[g>>2]=(c[g>>2]|0)+-4;c[p>>2]=32-(c[o>>2]|0);c[m>>2]=c[c[h>>2]>>2];c[r>>2]=c[m>>2]<<c[p>>2];c[n>>2]=c[m>>2];c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+(c[q>>2]<<2)>>2];c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]=(c[n>>2]|0)>>>(c[o>>2]|0)|c[m>>2]<<c[p>>2];c[n>>2]=c[m>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]=(c[n>>2]|0)>>>(c[o>>2]|0);i=f;return c[r>>2]|0}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=0-(c[l>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[p>>2]|0)<<2);c[k>>2]=(c[k>>2]|0)+(0-(c[p>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[p>>2]|0)<<2);c[o>>2]=0;do{c[n>>2]=c[(c[k>>2]|0)+(c[p>>2]<<2)>>2];c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0&1;c[n>>2]=(c[m>>2]|0)-(c[n>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)>>>0>(c[m>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[n>>2];l=(c[p>>2]|0)+1|0;c[p>>2]=l}while((l|0)!=0);i=f;return c[o>>2]|0}function sp(){return 46198}function tp(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+8|0;e=a+4|0;c[d>>2]=0;a:while(1){if((c[d>>2]|0)>=6){f=12;break}switch(c[d>>2]|0){case 0:{c[e>>2]=0;break}case 1:{c[e>>2]=1;break}case 2:{c[e>>2]=2;break}case 3:{c[e>>2]=3;break}case 4:{c[e>>2]=4;break}case 5:{c[e>>2]=8;break}default:{f=10;break a}}g=up(c[e>>2]|0)|0;c[71004+(c[d>>2]<<2)>>2]=g;c[(c[71004+(c[d>>2]<<2)>>2]|0)+12>>2]=48;c[d>>2]=(c[d>>2]|0)+1}if((f|0)==10){c[b>>2]=c[d>>2];Xe(46342,b)}else if((f|0)==12){i=a;return 0}return 0}function up(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=vp(1)|0;c[c[(c[e>>2]|0)+16>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=c[d>>2]|0?1:0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function vp(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=zf(20)|0;if(c[d>>2]|0)f=wp(c[d>>2]|0,0)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;i=b;return c[e>>2]|0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=(c[e>>2]|0?c[e>>2]|0:1)<<2;b=c[h>>2]|0;if(c[f>>2]|0)k=Bf(b)|0;else k=zf(b)|0;c[g>>2]=k;if(c[e>>2]|0){l=c[g>>2]|0;i=d;return l|0}c[c[g>>2]>>2]=0;l=c[g>>2]|0;i=d;return l|0}function xp(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=zf(20)|0;if(c[d>>2]|0)f=wp(c[d>>2]|0,1)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function yp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+32|0;o=f;p=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[g>>2]|0)){i=f;return}c[k>>2]=c[h>>2]<<2;a:do if(c[k>>2]|0){c[l>>2]=c[g>>2];c[m>>2]=c[k>>2];a[n>>0]=0;h=o;c[h>>2]=d[n>>0];c[h+4>>2]=0;while(1){if(!(c[l>>2]&7|0?(c[m>>2]|0)!=0:0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>>>0>=8){h=o;e=ex(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=o;c[h>>2]=e;c[h+4>>2]=D;do{c[p>>2]=c[l>>2];h=o;e=c[h+4>>2]|0;b=c[p>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;c[m>>2]=(c[m>>2]|0)-8;c[l>>2]=(c[l>>2]|0)+8}while((c[m>>2]|0)>>>0>=8)}while(1){if(!(c[m>>2]|0))break a;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}}while(0);vf(c[g>>2]|0);i=f;return}function zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;yp(c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];c[c[f>>2]>>2]=c[h>>2];i=e;return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)>>>0<=(c[c[e>>2]>>2]|0)>>>0){c[g>>2]=c[b+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=d;return}a=c[e>>2]|0;a:do if(!(c[b+16>>2]|0)){h=c[f>>2]|0;if(c[a+12>>2]&1|0){k=Df(h,4)|0;c[(c[e>>2]|0)+16>>2]=k;break}else{k=Cf(h,4)|0;c[(c[e>>2]|0)+16>>2]=k;break}}else{k=Af(c[a+16>>2]|0,c[f>>2]<<2)|0;c[(c[e>>2]|0)+16>>2]=k;c[g>>2]=c[c[e>>2]>>2];while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break a;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[e>>2]>>2]=c[f>>2];i=d;return}function Bp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&16|0:0){Cp();i=b;return}c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function Cp(){var a=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);Te(46373,a);i=a;return}function Dp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[(c[d>>2]|0)+12>>2]&32|0){i=b;return}a=c[(c[d>>2]|0)+16>>2]|0;if(c[(c[d>>2]|0)+12>>2]&4|0)vf(a);else yp(a,c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+12>>2]&-3864|0)Xe(46417,b);vf(c[d>>2]|0);i=b;return}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(!(c[g>>2]|0))c[g>>2]=vp(0)|0;if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&16|0:0){Cp();c[f>>2]=c[g>>2];l=c[f>>2]|0;i=e;return l|0}d=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+12>>2]&4|0)vf(d);else yp(d,c[c[g>>2]>>2]|0);c[(c[g>>2]|0)+16>>2]=c[h>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+8>>2]=c[k>>2];c[(c[g>>2]|0)+12>>2]=4|c[(c[g>>2]|0)+12>>2]&3840;if(tf(c[(c[g>>2]|0)+16>>2]|0)|0){k=(c[g>>2]|0)+12|0;c[k>>2]=c[k>>2]|1}c[f>>2]=c[g>>2];l=c[f>>2]|0;i=e;return l|0}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=(((c[k>>2]|0)+7|0)>>>0)/8|0;d=(tf(c[h>>2]|0)|0)!=0;b=c[m>>2]|0;if(d)n=sf(b)|0;else n=pf(b)|0;c[l>>2]=n;if(c[l>>2]|0){Yw(c[l>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;c[f>>2]=Ep(c[g>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}return 0}function Gp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+12>>2]&4))Xe(46449,d);if(c[f>>2]|0)c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];i=d;return c[(c[e>>2]|0)+16>>2]|0}function Hp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Gp(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0&(c[g>>2]|0)!=0){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}c[l>>2]=(((c[c[g>>2]>>2]|0)+7|0)>>>0)/8|0;g=(tf(c[h>>2]|0)|0)!=0;f=c[l>>2]|0;if(g)n=sf(f)|0;else n=pf(f)|0;c[k>>2]=n;if(c[k>>2]|0)Yw(c[k>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;c[e>>2]=c[k>>2];m=c[e>>2]|0;i=d;return m|0}function Ip(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){a=(tf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;if(a)k=Bf(h)|0;else k=zf(h)|0;c[g>>2]=k;if(c[(c[d>>2]|0)+16>>2]|0)Yw(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0|0)|0;c[f>>2]=Ep(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;l=c[f>>2]|0;i=b;return l|0}if(!(c[d>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=b;return l|0}if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&1|0:0)m=xp(c[(c[d>>2]|0)+4>>2]|0)|0;else m=vp(c[(c[d>>2]|0)+4>>2]|0)|0;c[f>>2]=m;c[(c[f>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];c[(c[f>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];m=(c[f>>2]|0)+12|0;c[m>>2]=c[m>>2]&-49;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2];c[e>>2]=(c[e>>2]|0)+1}l=c[f>>2]|0;i=b;return l|0}function Jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)==(c[f>>2]|0)){if(b|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}}else Kp(b,c[f>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=((c[(c[f>>2]|0)+8>>2]|0)!=0^1)&1;i=d;return}function Kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[f>>2]=a;c[g>>2]=b;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[m>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))c[f>>2]=vp(c[(c[g>>2]|0)+4>>2]|0)|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){Cp();c[e>>2]=c[f>>2];o=c[e>>2]|0;i=d;return o|0}if((c[c[f>>2]>>2]|0)<(c[l>>2]|0))Ap(c[f>>2]|0,c[l>>2]|0);c[h>>2]=c[(c[f>>2]|0)+16>>2];c[k>>2]=c[(c[g>>2]|0)+16>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[l>>2]|0))break;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;c[(c[f>>2]|0)+8>>2]=c[m>>2];c[e>>2]=c[f>>2];o=c[e>>2]|0;i=d;return o|0}function Lp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){c[f>>2]=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;a=(tf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=c[f>>2]|0;if(a)k=sf(h)|0;else k=pf(h)|0;c[g>>2]=k;Yw(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0;c[e>>2]=Ep(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;l=c[e>>2]|0;i=b;return l|0}if(!(c[d>>2]|0)){c[e>>2]=0;l=c[e>>2]|0;i=b;return l|0}if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&1|0:0)m=xp(c[(c[d>>2]|0)+4>>2]|0)|0;else m=vp(c[(c[d>>2]|0)+4>>2]|0)|0;c[e>>2]=m;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=c[e>>2]|0;i=b;return l|0}function Mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){Cp();i=d;return}zp(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+12>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+16>>2]=0}Dp(c[f>>2]|0);i=d;return}function Np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+28|0;g=e+24|0;h=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Xe(46479,e);c[k>>2]=0;while(1){o=c[m>>2]|0;if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=o&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]^c[n>>2];c[k>>2]=(c[k>>2]|0)+1}c[n>>2]=o&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[n>>2];c[n>>2]=c[m>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[n>>2];i=e;return c[f>>2]|0}function Op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0))c[f>>2]=vp(1)|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){Cp();c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}if((c[c[f>>2]>>2]|0)<1)Ap(c[f>>2]|0,1);c[c[(c[f>>2]|0)+16>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2]|0?1:0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}function Pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+24|0;f=d+20|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[g+16>>2]=c[b+16>>2];b=c[e>>2]|0;e=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];e=c[f>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];i=d;return}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+28|0;g=e+24|0;h=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[c[f>>2]>>2];c[m>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Xe(46510,e);c[k>>2]=0;while(1){o=c[m>>2]|0;if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=o&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]^c[n>>2];c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]^c[n>>2];c[k>>2]=(c[k>>2]|0)+1}c[n>>2]=o&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[n>>2];c[(c[g>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2]^c[n>>2];c[n>>2]=c[m>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[n>>2];c[(c[g>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2]^c[n>>2];i=e;return}function Rp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=vp((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function Sp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=xp((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function Tp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Dp(c[d>>2]|0);i=b;return}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=(((c[g>>2]|0)+7|0)>>>0)/8|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){Cp();i=e;return}g=(c[f>>2]|0)!=0;if(!(c[h>>2]|0)){if(g?c[(c[f>>2]|0)+12>>2]&1|0:0)m=Bf(c[l>>2]|0)|0;else m=zf(c[l>>2]|0)|0;c[k>>2]=m;nn(c[k>>2]|0,c[l>>2]|0)}else{if(g?c[(c[f>>2]|0)+12>>2]&1|0:0)n=hn(c[l>>2]|0,c[h>>2]|0)|0;else n=fn(c[l>>2]|0,c[h>>2]|0)|0;c[k>>2]=n}Yo(c[f>>2]|0,c[k>>2]|0,c[l>>2]|0,0);vf(c[k>>2]|0);i=e;return}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;c[f>>2]=a;c[g>>2]=b;switch(c[g>>2]|0){case 1:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&1|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&4|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 4:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&16|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 8:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&32|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2048:case 1024:case 512:case 256:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&c[g>>2]|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}default:Xe(46542,d)}return 0}function Wp(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;e=b+12|0;c[e>>2]=a;a=c[e>>2]|0;if((c[e>>2]|0)<0|(c[e>>2]|0)>>>0>6){c[d>>2]=a;Xe(46342,d)}if(c[71004+(a<<2)>>2]|0){i=b;return c[71004+(c[e>>2]<<2)>>2]|0}else Xe(46562,b+8|0);return 0}function Xp(){return 46593}function Yp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+96|0;if((i|0)>=(j|0))$(96);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+32|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=b;c[k>>2]=e;c[l>>2]=Kw(172)|0;if(!(c[l>>2]|0)){c[g>>2]=0;r=c[g>>2]|0;i=f;return r|0}c[c[l>>2]>>2]=1779033703;c[(c[l>>2]|0)+4>>2]=-1150833019;c[(c[l>>2]|0)+8>>2]=1013904242;c[(c[l>>2]|0)+12>>2]=-1521486534;c[(c[l>>2]|0)+16>>2]=1359893119;c[(c[l>>2]|0)+20>>2]=-1694144372;c[(c[l>>2]|0)+24>>2]=528734635;c[(c[l>>2]|0)+28>>2]=1541459225;c[(c[l>>2]|0)+32>>2]=0;c[(c[l>>2]|0)+36>>2]=0;e=(c[l>>2]|0)+40|0;a[e>>0]=a[e>>0]&-2;e=(c[l>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3;a:do if(c[h>>2]|0){e=n;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=(c[l>>2]|0)+105|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));do if((c[k>>2]|0)>>>0<=64){Yw(n|0,c[h>>2]|0,c[k>>2]|0)|0;Yw((c[l>>2]|0)+105|0,c[h>>2]|0,c[k>>2]|0)|0}else{c[o>>2]=Yp(0,0)|0;if(c[o>>2]|0){Zp(c[o>>2]|0,c[h>>2]|0,c[k>>2]|0);_p(c[o>>2]|0);e=n;s=(c[o>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[s>>0]|0;e=e+1|0;s=s+1|0}while((e|0)<(b|0));e=(c[l>>2]|0)+105|0;s=(c[o>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[s>>0]|0;e=e+1|0;s=s+1|0}while((e|0)<(b|0));$p(c[o>>2]|0);break}Lw(c[l>>2]|0);c[g>>2]=0;r=c[g>>2]|0;i=f;return r|0}while(0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=64)break;e=n+(c[m>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^54;e=(c[l>>2]|0)+105+(c[m>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^92;c[m>>2]=(c[m>>2]|0)+1}e=(c[l>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3|2;Zp(c[l>>2]|0,n,64);c[p>>2]=n;c[q>>2]=64;while(1){if(!(c[q>>2]|0))break a;a[c[p>>2]>>0]=0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}}while(0);c[g>>2]=c[l>>2];r=c[g>>2]|0;i=f;return r|0}function Zp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[h>>2];if((a[(c[g>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24|0){i=f;return}if((c[(c[g>>2]|0)+36>>2]|0)==64){aq(c[g>>2]|0,(c[g>>2]|0)+41|0);c[(c[g>>2]|0)+36>>2]=0;h=(c[g>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+1}if(!(c[l>>2]|0)){i=f;return}if(c[(c[g>>2]|0)+36>>2]|0){while(1){if(!(c[k>>2]|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>=64)break;h=c[l>>2]|0;c[l>>2]=h+1;e=a[h>>0]|0;h=(c[g>>2]|0)+36|0;d=c[h>>2]|0;c[h>>2]=d+1;a[(c[g>>2]|0)+41+d>>0]=e;c[k>>2]=(c[k>>2]|0)+-1}Zp(c[g>>2]|0,0,0);if(!(c[k>>2]|0)){i=f;return}}while(1){if((c[k>>2]|0)>>>0<64)break;aq(c[g>>2]|0,c[l>>2]|0);c[(c[g>>2]|0)+36>>2]=0;e=(c[g>>2]|0)+32|0;c[e>>2]=(c[e>>2]|0)+1;c[k>>2]=(c[k>>2]|0)-64;c[l>>2]=(c[l>>2]|0)+64}while(1){if(!(c[k>>2]|0)){m=15;break}if((c[(c[g>>2]|0)+36>>2]|0)>=64){m=15;break}e=c[l>>2]|0;c[l>>2]=e+1;d=a[e>>0]|0;e=(c[g>>2]|0)+36|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[g>>2]|0)+41+h>>0]=d;c[k>>2]=(c[k>>2]|0)+-1}if((m|0)==15){i=f;return}}function _p(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=b;if((a[(c[e>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24|0){i=d;return}Zp(c[e>>2]|0,0,0);c[f>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=c[f>>2]<<6;c[g>>2]=(c[f>>2]|0)>>>26;c[f>>2]=c[h>>2];b=(c[h>>2]|0)+(c[(c[e>>2]|0)+36>>2]|0)|0;c[h>>2]=b;if(b>>>0<(c[f>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=c[h>>2];c[h>>2]=c[h>>2]<<3;c[g>>2]=c[g>>2]<<3;c[g>>2]=c[g>>2]|(c[f>>2]|0)>>>29;f=(c[(c[e>>2]|0)+36>>2]|0)<56;b=(c[e>>2]|0)+36|0;l=c[b>>2]|0;c[b>>2]=l+1;a[(c[e>>2]|0)+41+l>>0]=-128;a:do if(f)while(1){if((c[(c[e>>2]|0)+36>>2]|0)>=56)break a;l=(c[e>>2]|0)+36|0;b=c[l>>2]|0;c[l>>2]=b+1;a[(c[e>>2]|0)+41+b>>0]=0}else{while(1){m=c[e>>2]|0;if((c[(c[e>>2]|0)+36>>2]|0)>=64)break;b=m+36|0;l=c[b>>2]|0;c[b>>2]=l+1;a[(c[e>>2]|0)+41+l>>0]=0}Zp(m,0,0);l=(c[e>>2]|0)+41|0;b=l+56|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(b|0))}while(0);a[(c[e>>2]|0)+41+56>>0]=(c[g>>2]|0)>>>24;a[(c[e>>2]|0)+41+57>>0]=(c[g>>2]|0)>>>16;a[(c[e>>2]|0)+41+58>>0]=(c[g>>2]|0)>>>8;a[(c[e>>2]|0)+41+59>>0]=c[g>>2];a[(c[e>>2]|0)+41+60>>0]=(c[h>>2]|0)>>>24;a[(c[e>>2]|0)+41+61>>0]=(c[h>>2]|0)>>>16;a[(c[e>>2]|0)+41+62>>0]=(c[h>>2]|0)>>>8;a[(c[e>>2]|0)+41+63>>0]=c[h>>2];aq(c[e>>2]|0,(c[e>>2]|0)+41|0);c[k>>2]=(c[e>>2]|0)+41;h=(c[c[e>>2]>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[c[e>>2]>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+4>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+8>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+12>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+16>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+20>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+24>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>24&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>16&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>8&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+28>>2]&255;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=h;h=(c[e>>2]|0)+40|0;a[h>>0]=a[h>>0]&-2|1;i=d;return}function $p(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}a:do if((a[(c[e>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24|0){c[f>>2]=(c[e>>2]|0)+105;c[g>>2]=64;while(1){if(!(c[g>>2]|0))break a;a[c[f>>2]>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+-1}}while(0);Lw(c[e>>2]|0);i=d;return}function aq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+384|0;if((i|0)>=(j|0))$(384);f=e+376|0;g=e+372|0;h=e+368|0;k=e+364|0;l=e+360|0;m=e+356|0;n=e+352|0;o=e+348|0;p=e+344|0;q=e+340|0;r=e+336|0;s=e+332|0;t=e+328|0;u=e+264|0;v=e+8|0;w=e+4|0;x=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];c[k>>2]=c[c[f>>2]>>2];c[l>>2]=c[(c[f>>2]|0)+4>>2];c[m>>2]=c[(c[f>>2]|0)+8>>2];c[n>>2]=c[(c[f>>2]|0)+12>>2];c[o>>2]=c[(c[f>>2]|0)+16>>2];c[p>>2]=c[(c[f>>2]|0)+20>>2];c[q>>2]=c[(c[f>>2]|0)+24>>2];c[r>>2]=c[(c[f>>2]|0)+28>>2];c[w>>2]=0;c[x>>2]=u;while(1){if((c[w>>2]|0)>=16)break;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[x>>2]|0)+3>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[x>>2]|0)+2>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[x>>2]|0)+1>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[c[x>>2]>>0]=a[g>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+4}c[w>>2]=0;while(1){if((c[w>>2]|0)>=16)break;c[v+(c[w>>2]<<2)>>2]=c[u+(c[w>>2]<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}while(1){if((c[w>>2]|0)>=64)break;u=bq(c[v+((c[w>>2]|0)-2<<2)>>2]|0,17)|0;x=u^(bq(c[v+((c[w>>2]|0)-2<<2)>>2]|0,19)|0);u=(x^(c[v+((c[w>>2]|0)-2<<2)>>2]|0)>>>10)+(c[v+((c[w>>2]|0)-7<<2)>>2]|0)|0;x=bq(c[v+((c[w>>2]|0)-15<<2)>>2]|0,7)|0;h=x^(bq(c[v+((c[w>>2]|0)-15<<2)>>2]|0,18)|0);c[v+(c[w>>2]<<2)>>2]=u+(h^(c[v+((c[w>>2]|0)-15<<2)>>2]|0)>>>3)+(c[v+((c[w>>2]|0)-16<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=64)break;h=c[r>>2]|0;u=bq(c[o>>2]|0,6)|0;x=u^(bq(c[o>>2]|0,11)|0);u=h+(x^(bq(c[o>>2]|0,25)|0))|0;c[s>>2]=u+(c[q>>2]^c[o>>2]&(c[p>>2]^c[q>>2]))+(c[12636+(c[w>>2]<<2)>>2]|0)+(c[v+(c[w>>2]<<2)>>2]|0);u=bq(c[k>>2]|0,2)|0;x=u^(bq(c[k>>2]|0,13)|0);u=x^(bq(c[k>>2]|0,22)|0);c[t>>2]=u+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]));c[r>>2]=c[q>>2];c[q>>2]=c[p>>2];c[p>>2]=c[o>>2];c[o>>2]=(c[n>>2]|0)+(c[s>>2]|0);c[n>>2]=c[m>>2];c[m>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=(c[s>>2]|0)+(c[t>>2]|0);c[w>>2]=(c[w>>2]|0)+1}w=c[f>>2]|0;c[w>>2]=(c[w>>2]|0)+(c[k>>2]|0);k=(c[f>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[f>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[f>>2]|0)+12|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[f>>2]|0)+16|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[f>>2]|0)+20|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);p=(c[f>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);q=(c[f>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);i=e;return}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]|0)|c[e>>2]<<32-(c[f>>2]|0)|0}function cq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=b;c[h>>2]=d;_p(c[g>>2]|0);do if((a[(c[g>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24|0){c[k>>2]=Yp(0,0)|0;if(c[k>>2]|0){Zp(c[k>>2]|0,(c[g>>2]|0)+105|0,64);Zp(c[k>>2]|0,(c[g>>2]|0)+41|0,32);_p(c[k>>2]|0);d=(c[g>>2]|0)+41|0;b=(c[k>>2]|0)+41|0;l=d+32|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(l|0));$p(c[k>>2]|0);break}Lw(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}while(0);if(c[h>>2]|0)c[c[h>>2]>>2]=32;c[f>>2]=(c[g>>2]|0)+41;m=c[f>>2]|0;i=e;return m|0}function dq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+20|0;v=k+16|0;w=k+12|0;x=k+8|0;y=k+64|0;z=k+4|0;A=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=139;B=c[l>>2]|0;i=k;return B|0}if((c[o>>2]|0)>>>0<((c[q>>2]|0)+8|0)>>>0){c[l>>2]=200;B=c[l>>2]|0;i=k;return B|0}if(((c[q>>2]|0)>>>0)%8|0|0){c[l>>2]=45;B=c[l>>2]|0;i=k;return B|0}c[t>>2]=((c[q>>2]|0)>>>0)/8|0;if((c[t>>2]|0)>>>0<2){c[l>>2]=45;B=c[l>>2]|0;i=k;return B|0}c[z>>2]=0;c[v>>2]=c[n>>2];c[w>>2]=c[n>>2];c[x>>2]=(c[m>>2]|0)+80;n=c[w>>2]|0;if((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0){o=(c[m>>2]|0)+64|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;a[n+3>>0]=a[o+3>>0]|0;a[n+4>>0]=a[o+4>>0]|0;a[n+5>>0]=a[o+5>>0]|0;a[n+6>>0]=a[o+6>>0]|0;a[n+7>>0]=a[o+7>>0]|0}else{a[n>>0]=166;a[n+1>>0]=166;a[n+2>>0]=166;a[n+3>>0]=166;a[n+4>>0]=166;a[n+5>>0]=166;a[n+6>>0]=166;a[n+7>>0]=166}Zw((c[v>>2]|0)+8|0,c[p>>2]|0,c[q>>2]|0)|0;a[y>>0]=0;a[y+1>>0]=0;a[y+2>>0]=0;a[y+3>>0]=0;a[y+4>>0]=0;a[y+5>>0]=0;a[y+6>>0]=0;a[y+7>>0]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>5)break;c[u>>2]=1;while(1){if((c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0)break;q=c[x>>2]|0;p=c[w>>2]|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;a[q+4>>0]=a[p+4>>0]|0;a[q+5>>0]=a[p+5>>0]|0;a[q+6>>0]=a[p+6>>0]|0;a[q+7>>0]=a[p+7>>0]|0;p=(c[x>>2]|0)+8|0;q=(c[v>>2]|0)+(c[u>>2]<<3)|0;a[p>>0]=a[q>>0]|0;a[p+1>>0]=a[q+1>>0]|0;a[p+2>>0]=a[q+2>>0]|0;a[p+3>>0]=a[q+3>>0]|0;a[p+4>>0]=a[q+4>>0]|0;a[p+5>>0]=a[q+5>>0]|0;a[p+6>>0]=a[q+6>>0]|0;a[p+7>>0]=a[q+7>>0]|0;c[A>>2]=ub[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,c[x>>2]|0,c[x>>2]|0)|0;c[z>>2]=(c[A>>2]|0)>>>0>(c[z>>2]|0)>>>0?c[A>>2]|0:c[z>>2]|0;c[s>>2]=7;while(1){if((c[s>>2]|0)<0)break;q=y+(c[s>>2]|0)|0;a[q>>0]=(a[q>>0]|0)+1<<24>>24;if(a[y+(c[s>>2]|0)>>0]|0)break;c[s>>2]=(c[s>>2]|0)+-1}eq(c[w>>2]|0,c[x>>2]|0,y,8);q=(c[v>>2]|0)+(c[u>>2]<<3)|0;p=(c[x>>2]|0)+8|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;a[q+4>>0]=a[p+4>>0]|0;a[q+5>>0]=a[p+5>>0]|0;a[q+6>>0]=a[p+6>>0]|0;a[q+7>>0]=a[p+7>>0]|0;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}if((c[z>>2]|0)>>>0>0){bf((c[z>>2]|0)+16|0);cf()}c[l>>2]=0;B=c[l>>2]|0;i=k;return B|0}function eq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function fq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+20|0;v=k+16|0;w=k+12|0;x=k+8|0;y=k+64|0;z=k+4|0;A=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=139;B=c[l>>2]|0;i=k;return B|0}if(((c[o>>2]|0)+8|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;B=c[l>>2]|0;i=k;return B|0}if(((c[q>>2]|0)>>>0)%8|0|0){c[l>>2]=45;B=c[l>>2]|0;i=k;return B|0}c[t>>2]=((c[q>>2]|0)>>>0)/8|0;if((c[t>>2]|0)>>>0<3){c[l>>2]=45;B=c[l>>2]|0;i=k;return B|0}c[z>>2]=0;c[v>>2]=c[n>>2];c[w>>2]=(c[m>>2]|0)+96;c[x>>2]=(c[m>>2]|0)+80;n=c[w>>2]|0;o=c[p>>2]|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;a[n+3>>0]=a[o+3>>0]|0;a[n+4>>0]=a[o+4>>0]|0;a[n+5>>0]=a[o+5>>0]|0;a[n+6>>0]=a[o+6>>0]|0;a[n+7>>0]=a[o+7>>0]|0;Zw(c[v>>2]|0,(c[p>>2]|0)+8|0,(c[q>>2]|0)-8|0)|0;c[t>>2]=(c[t>>2]|0)+-1;c[u>>2]=(c[t>>2]|0)*6;c[s>>2]=0;while(1){if(!((c[s>>2]|0)<8?(c[s>>2]|0)>>>0<4:0))break;a[y+(7-(c[s>>2]|0))>>0]=(c[u>>2]|0)>>>(c[s>>2]<<3);c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[s>>2]|0)>=8)break;a[y+(7-(c[s>>2]|0))>>0]=0;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=5;while(1){if((c[r>>2]|0)<0)break;c[u>>2]=c[t>>2];while(1){if((c[u>>2]|0)>>>0<1)break;eq(c[x>>2]|0,c[w>>2]|0,y,8);q=(c[x>>2]|0)+8|0;p=(c[v>>2]|0)+((c[u>>2]|0)-1<<3)|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;a[q+4>>0]=a[p+4>>0]|0;a[q+5>>0]=a[p+5>>0]|0;a[q+6>>0]=a[p+6>>0]|0;a[q+7>>0]=a[p+7>>0]|0;c[A>>2]=ub[c[(c[(c[m>>2]|0)+12>>2]|0)+40>>2]&63]((c[m>>2]|0)+496|0,c[x>>2]|0,c[x>>2]|0)|0;c[z>>2]=(c[A>>2]|0)>>>0>(c[z>>2]|0)>>>0?c[A>>2]|0:c[z>>2]|0;c[s>>2]=7;while(1){if((c[s>>2]|0)<0)break;p=y+(c[s>>2]|0)|0;a[p>>0]=(a[p>>0]|0)+-1<<24>>24;if((d[y+(c[s>>2]|0)>>0]|0|0)!=255)break;c[s>>2]=(c[s>>2]|0)+-1}p=c[w>>2]|0;q=c[x>>2]|0;a[p>>0]=a[q>>0]|0;a[p+1>>0]=a[q+1>>0]|0;a[p+2>>0]=a[q+2>>0]|0;a[p+3>>0]=a[q+3>>0]|0;a[p+4>>0]=a[q+4>>0]|0;a[p+5>>0]=a[q+5>>0]|0;a[p+6>>0]=a[q+6>>0]|0;a[p+7>>0]=a[q+7>>0]|0;q=(c[v>>2]|0)+((c[u>>2]|0)-1<<3)|0;p=(c[x>>2]|0)+8|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;a[q+4>>0]=a[p+4>>0]|0;a[q+5>>0]=a[p+5>>0]|0;a[q+6>>0]=a[p+6>>0]|0;a[q+7>>0]=a[p+7>>0]|0;c[u>>2]=(c[u>>2]|0)+-1}c[r>>2]=(c[r>>2]|0)+-1}a:do if((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0)c[r>>2]=Jv(c[w>>2]|0,(c[m>>2]|0)+64|0,8)|0;else{c[r>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=8)break a;if((d[(c[w>>2]|0)+(c[s>>2]|0)>>0]|0|0)!=166)break;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}while(0);if((c[z>>2]|0)>>>0>0){bf((c[z>>2]|0)+16|0);cf()}c[l>>2]=c[r>>2]|0?10:0;B=c[l>>2]|0;i=k;return B|0}
-function fg(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);l=k;m=k+48|0;n=k+44|0;o=k+40|0;p=k+36|0;q=k+32|0;r=k+28|0;s=k+24|0;t=k+52|0;u=k+56|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[v>>2]=0;c[x>>2]=0;c[r>>2]=c[n>>2]|0?c[n>>2]|0:22772;c[s>>2]=c[p>>2];a:while(1){if(!(d[c[r>>2]>>0]|0)){A=55;break}switch(d[c[r>>2]>>0]|0|0){case 3:{c[r>>2]=(c[r>>2]|0)+1;if((c[o>>2]|0)!=1){if(c[x>>2]|0)c[v>>2]=(c[v>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+(c[x>>2]|0)}c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){if((c[v>>2]|0)>>>0>=(c[q>>2]|0)>>>0){A=10;break a}b:do if((c[o>>2]|0)!=1){if(c[x>>2]|0){n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=10}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[x>>2]|0))break b;n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=32;c[w>>2]=(c[w>>2]|0)+1}}while(0);n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=40}c[x>>2]=(c[x>>2]|0)+1;continue a;break}case 4:{c[r>>2]=(c[r>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){if((c[v>>2]|0)>>>0>=(c[q>>2]|0)>>>0){A=21;break a}n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=41}c[x>>2]=(c[x>>2]|0)+-1;if((d[c[r>>2]>>0]|0|0)==3)continue a;if(!((c[o>>2]|0)!=1?(d[c[r>>2]>>0]|0|0)!=0:0))continue a;c[v>>2]=(c[v>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+(c[x>>2]|0);if(!(c[p>>2]|0))continue a;if((c[v>>2]|0)>>>0>=(c[q>>2]|0)>>>0){A=27;break a}n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=10;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[x>>2]|0))continue a;n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=32;c[w>>2]=(c[w>>2]|0)+1}break}case 1:{c[r>>2]=(c[r>>2]|0)+1;n=c[r>>2]|0;a[t>>0]=a[n>>0]|0;a[t+1>>0]=a[n+1>>0]|0;c[r>>2]=(c[r>>2]|0)+2;if((c[o>>2]|0)==3){n=gg(c[r>>2]|0,e[t>>1]|0)|0;c[y>>2]=n;switch(n|0){case 1:{c[z>>2]=hg(c[r>>2]|0,e[t>>1]|0,0)|0;break}case 2:{c[z>>2]=ig(c[r>>2]|0,e[t>>1]|0,0)|0;break}default:c[z>>2]=jg(c[r>>2]|0,e[t>>1]|0,0)|0}c[v>>2]=(c[v>>2]|0)+(c[z>>2]|0);if(c[p>>2]|0){if((c[v>>2]|0)>>>0>=(c[q>>2]|0)>>>0){A=38;break a}switch(c[y>>2]|0){case 1:{hg(c[r>>2]|0,e[t>>1]|0,c[s>>2]|0)|0;break}case 2:{ig(c[r>>2]|0,e[t>>1]|0,c[s>>2]|0)|0;break}default:jg(c[r>>2]|0,e[t>>1]|0,c[s>>2]|0)|0}c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0)}if((d[(c[r>>2]|0)+(e[t>>1]|0)>>0]|0|0)!=4?(c[v>>2]=(c[v>>2]|0)+1,c[p>>2]|0):0){if((c[v>>2]|0)>>>0>=(c[q>>2]|0)>>>0){A=47;break a}n=c[s>>2]|0;c[s>>2]=n+1;a[n>>0]=32}}else{c[l>>2]=e[t>>1];Dv(u,22775,l)|0;n=hv(u)|0;c[v>>2]=(c[v>>2]|0)+(n+(e[t>>1]|0));if(c[p>>2]|0){if((c[v>>2]|0)>>>0>=(c[q>>2]|0)>>>0){A=51;break a}c[s>>2]=uv(c[s>>2]|0,u)|0;Yw(c[s>>2]|0,c[r>>2]|0,e[t>>1]|0|0)|0;c[s>>2]=(c[s>>2]|0)+(e[t>>1]|0)}}c[r>>2]=(c[r>>2]|0)+(e[t>>1]|0);continue a;break}default:{A=54;break a}}}if((A|0)==10){c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else if((A|0)==21){c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else if((A|0)==27){c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else if((A|0)==38){c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else if((A|0)==47){c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else if((A|0)==51){c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else if((A|0)==54)Re(22704,2008,22779);else if((A|0)==55){do if((c[o>>2]|0)!=1?(c[v>>2]=(c[v>>2]|0)+1,c[p>>2]|0):0){if((c[v>>2]|0)>>>0<(c[q>>2]|0)>>>0){A=c[s>>2]|0;c[s>>2]=A+1;a[A>>0]=10;break}c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}while(0);o=c[v>>2]|0;do if(c[p>>2]|0){if(o>>>0<(c[q>>2]|0)>>>0){A=c[s>>2]|0;c[s>>2]=A+1;a[A>>0]=0;break}c[m>>2]=0;B=c[m>>2]|0;i=k;return B|0}else c[v>>2]=o+1;while(0);c[m>>2]=c[v>>2];B=c[m>>2]|0;i=k;return B|0}return 0}function gg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[k>>2]=e;c[m>>2]=1;if(!(c[k>>2]|0)){c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}if(d[c[h>>2]>>0]&128|0){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[l>>2]=c[h>>2];while(1){if(!(c[k>>2]|0))break;if((d[c[l>>2]>>0]|0)>=32){if((d[c[l>>2]>>0]|0)>=127?(d[c[l>>2]>>0]|0)<=160:0)o=12}else o=12;if((o|0)==12?(o=0,(Vv(22802,d[c[l>>2]>>0]|0)|0)==0):0){o=13;break}do if(c[m>>2]|0){if((d[c[l>>2]>>0]|0)>=65?(d[c[l>>2]>>0]|0)<=90:0)break;if((d[c[l>>2]>>0]|0)>=97?(d[c[l>>2]>>0]|0)<=122:0)break;if((d[c[l>>2]>>0]|0)>=48?(d[c[l>>2]>>0]|0)<=57:0)break;if(!(Vv(22812,d[c[l>>2]>>0]|0)|0))c[m>>2]=0}while(0);c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((o|0)==13){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[l>>2]=c[h>>2];do if(c[m>>2]|0){if((d[c[l>>2]>>0]|0)>=48?(d[c[l>>2]>>0]|0)<=57:0)break;c[g>>2]=2;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;if(!(c[n>>2]|0)){c[p>>2]=2;while(1){if(!(c[m>>2]|0))break;a:do switch(d[c[l>>2]>>0]|0|0){case 92:case 39:case 34:case 13:case 12:case 10:case 11:case 9:case 8:{c[p>>2]=(c[p>>2]|0)+2;break}default:{do if((d[c[l>>2]>>0]|0|0)>=32){if((d[c[l>>2]>>0]|0|0)>=127?(d[c[l>>2]>>0]|0|0)<=160:0)break;c[p>>2]=(c[p>>2]|0)+1;break a}while(0);c[p>>2]=(c[p>>2]|0)+4}}while(0);c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=c[p>>2];q=c[k>>2]|0;i=g;return q|0}c[o>>2]=c[n>>2];p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=34;while(1){if(!(c[m>>2]|0))break;b:do switch(d[c[l>>2]>>0]|0|0){case 8:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=98;break}case 9:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=116;break}case 11:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=118;break}case 10:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=110;break}case 12:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=102;break}case 13:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=114;break}case 34:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=34;break}case 39:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=39;break}case 92:{p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=92;break}default:{do if((d[c[l>>2]>>0]|0|0)>=32){if((d[c[l>>2]>>0]|0|0)>=127?(d[c[l>>2]>>0]|0|0)<=160:0)break;p=a[c[l>>2]>>0]|0;f=c[o>>2]|0;c[o>>2]=f+1;a[f>>0]=p;break b}while(0);p=c[o>>2]|0;c[h>>2]=d[c[l>>2]>>0];Dv(p,22626,h)|0;c[o>>2]=(c[o>>2]|0)+4}}while(0);c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}l=c[o>>2]|0;c[o>>2]=l+1;a[l>>0]=34;c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);q=c[k>>2]|0;i=g;return q|0}function ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){k=c[g>>2]|0;i=e;return k|0}Yw(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;k=c[g>>2]|0;i=e;return k|0}function jg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[m>>2]|0)){o=c[l>>2]|0;p=o<<1;q=p+2|0;i=g;return q|0}f=c[m>>2]|0;c[m>>2]=f+1;a[f>>0]=35;c[n>>2]=0;while(1){r=c[m>>2]|0;if((c[n>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;c[h>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];Dv(r,22797,h)|0;c[n>>2]=(c[n>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+2}c[m>>2]=r+1;a[r>>0]=35;o=c[l>>2]|0;p=o<<1;q=p+2|0;i=g;return q|0}function kg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+192|0;if((i|0)>=(j|0))$(192);h=g+164|0;k=g+160|0;l=g+156|0;m=g+152|0;n=g+148|0;o=g+144|0;p=g+140|0;q=g+136|0;r=g+56|0;s=g+168|0;t=g+48|0;u=g+44|0;v=g+40|0;w=g+36|0;x=g+32|0;y=g+28|0;z=g+24|0;A=g+20|0;B=g+16|0;C=g+12|0;D=g+8|0;E=g+4|0;F=g;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[v>>2]=43;c[w>>2]=0;f=s;e=f+20|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[p>>2]=c[m>>2];c[t>>2]=0;while(1){G=a[c[p>>2]>>0]|0;if(!(a[c[p>>2]>>0]|0?(c[t>>2]|0)>>>0<20:0)){H=18;break}if((((((G<<24>>24|0)!=38?(a[c[p>>2]>>0]|0)!=43:0)?(a[c[p>>2]>>0]|0)!=45:0)?(a[c[p>>2]>>0]|0)!=47:0)?(a[c[p>>2]>>0]|0)!=63:0)?(Nf(c[p>>2]|0)|0)==0:0){if((a[c[p>>2]>>0]|0)==39){c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=Vv(c[p>>2]|0,39)|0;if(!(c[q>>2]|0)){H=12;break}if((c[q>>2]|0)==(c[p>>2]|0)){H=12;break}c[p>>2]=c[q>>2]}f=c[n>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[f>>2]=e+4;c[x>>2]=d;c[r+(c[t>>2]<<2)>>2]=c[x>>2];if(!(c[r+(c[t>>2]<<2)>>2]|0)){H=15;break}c[t>>2]=(c[t>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}if((H|0)==12){c[h>>2]=29;I=c[h>>2]|0;i=g;return I|0}else if((H|0)==15){c[h>>2]=128;I=c[h>>2]|0;i=g;return I|0}else if((H|0)==18){if(G<<24>>24){c[h>>2]=183;I=c[h>>2]|0;i=g;return I|0}G=c[n>>2]|0;n=(c[G>>2]|0)+(4-1)&~(4-1);x=c[n>>2]|0;c[G>>2]=n+4;c[y>>2]=x;if(c[y>>2]|0){c[h>>2]=45;I=c[h>>2]|0;i=g;return I|0}while(1){if(!(c[l>>2]|0)){H=33;break}if(!(a[c[l>>2]>>0]|0)){H=33;break}c[p>>2]=Vv(c[l>>2]|0,33)|0;if((c[p>>2]|0)==(c[l>>2]|0)){H=25;break}if(c[p>>2]|0)J=(c[p>>2]|0)-(c[l>>2]|0)|0;else J=0;c[z>>2]=J;c[u>>2]=Tf(c[k>>2]|0,c[l>>2]|0,c[z>>2]|0)|0;if(!(c[u>>2]|0)){H=29;break}c[k>>2]=c[u>>2];c[u>>2]=0;Rf(c[w>>2]|0);c[w>>2]=c[k>>2];if(c[z>>2]|0){c[l>>2]=(c[l>>2]|0)+((c[z>>2]|0)+1);continue}else{c[l>>2]=0;continue}}do if((H|0)==25)c[o>>2]=27;else if((H|0)==29)c[o>>2]=27;else if((H|0)==33){c[p>>2]=c[m>>2];c[t>>2]=0;a:while(1){if(!(a[c[p>>2]>>0]|0)){H=76;break}if((((a[c[p>>2]>>0]|0)!=38?(a[c[p>>2]>>0]|0)!=43:0)?(a[c[p>>2]>>0]|0)!=45:0)?(a[c[p>>2]>>0]|0)!=47:0){if((Nf(c[p>>2]|0)|0)==0?(a[c[p>>2]>>0]|0)!=63:0){if((a[c[p>>2]>>0]|0)==39){c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=Vv(c[p>>2]|0,39)|0;if(!(c[q>>2]|0)){H=45;break}if((c[q>>2]|0)==(c[p>>2]|0)){H=45;break}c[u>>2]=Tf(c[k>>2]|0,c[p>>2]|0,(c[q>>2]|0)-(c[p>>2]|0)|0)|0;c[p>>2]=c[q>>2]}else c[u>>2]=Tf(c[k>>2]|0,c[p>>2]|0,1)|0;do if(!(c[u>>2]|0)?(a[(c[p>>2]|0)+1>>0]|0)==63:0){l=c[r+(c[t>>2]<<2)>>2]|0;if((c[v>>2]|0)!=38){c[l>>2]=0;break}c[A>>2]=l;if(!(c[(c[A>>2]|0)+12>>2]|0)){c[c[A>>2]>>2]=0;c[(c[A>>2]|0)+4>>2]=0}c[(c[A>>2]|0)+8>>2]=0}else H=55;while(0);if((H|0)==55){H=0;if(!(c[u>>2]|0)){H=56;break}do if((c[v>>2]|0)!=38){if((c[v>>2]|0)==47){l=$f(c[u>>2]|0,1,8)|0;c[c[r+(c[t>>2]<<2)>>2]>>2]=l;break}l=c[u>>2]|0;if((c[v>>2]|0)==45){z=$f(l,1,1)|0;c[c[r+(c[t>>2]<<2)>>2]>>2]=z;break}else{z=$f(l,1,5)|0;c[c[r+(c[t>>2]<<2)>>2]>>2]=z;break}}else{c[B>>2]=c[r+(c[t>>2]<<2)>>2];z=c[u>>2]|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){l=Zf(z,1,c[B>>2]|0)|0;c[(c[B>>2]|0)+12>>2]=l;if(!(c[(c[B>>2]|0)+12>>2]|0)){H=65;break a}c[(c[B>>2]|0)+8>>2]=c[c[B>>2]>>2];c[(c[B>>2]|0)+4>>2]=0;a[s+(c[t>>2]|0)>>0]=2;break}c[C>>2]=Xf(z,1,D)|0;if(!((c[C>>2]|0)!=0&(c[D>>2]|0)!=0)){H=60;break a}if(((c[(c[B>>2]|0)+4>>2]|0)+(c[D>>2]|0)|0)>>>0>(c[c[B>>2]>>2]|0)>>>0){H=62;break a}Yw((c[(c[B>>2]|0)+12>>2]|0)+(c[(c[B>>2]|0)+4>>2]|0)|0,c[C>>2]|0,c[D>>2]|0)|0;c[(c[B>>2]|0)+8>>2]=c[D>>2];a[s+(c[t>>2]|0)>>0]=1}while(0);Rf(c[u>>2]|0);c[u>>2]=0;if(!(c[c[r+(c[t>>2]<<2)>>2]>>2]|0)){H=73;break}}c[t>>2]=(c[t>>2]|0)+1}}else c[v>>2]=a[c[p>>2]>>0];c[p>>2]=(c[p>>2]|0)+1}if((H|0)==45){c[o>>2]=29;break}else if((H|0)==56){c[o>>2]=68;break}else if((H|0)==60){c[o>>2]=65;break}else if((H|0)==62){c[o>>2]=200;break}else if((H|0)==65){c[o>>2]=65;break}else if((H|0)==73){c[o>>2]=65;break}else if((H|0)==76){Rf(c[w>>2]|0);c[h>>2]=0;I=c[h>>2]|0;i=g;return I|0}}while(0);Rf(c[w>>2]|0);Rf(c[u>>2]|0);while(1){u=c[t>>2]|0;c[t>>2]=u+-1;if(!u)break;u=c[t>>2]|0;if(!(a[s+(c[t>>2]|0)>>0]|0)){Tp(c[c[r+(u<<2)>>2]>>2]|0);c[c[r+(c[t>>2]<<2)>>2]>>2]=0;continue}w=c[r+(c[t>>2]<<2)>>2]|0;if((((a[s+u>>0]|0)!=0^1)&1|0)==1){c[E>>2]=w;c[(c[E>>2]|0)+8>>2]=0;continue}else{c[F>>2]=w;vf(c[(c[F>>2]|0)+12>>2]|0);c[(c[F>>2]|0)+12>>2]=0;c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+4>>2]=0;c[c[F>>2]>>2]=0;continue}}c[h>>2]=c[o>>2];I=c[h>>2]|0;i=g;return I|0}return 0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=e;c[l>>2]=kg(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,m)|0;m=mg(c[l>>2]|0)|0;i=f;return m|0}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=ng(1,c[d>>2]|0)|0;i=b;return a|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function og(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=13){g=6;break}a=(Fu(c[1180+(c[f>>2]<<3)+4>>2]|0,c[e>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){g=4;break}c[f>>2]=h+1}if((g|0)==4){c[17711]=c[17711]|c[1180+(h<<3)>>2];c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}else if((g|0)==6){c[d>>2]=88;k=c[d>>2]|0;i=b;return k|0}return 0}function pg(){return c[17712]|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)<0|(c[f>>2]|0)>>>0>=13){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}if(c[g>>2]|0)c[c[g>>2]>>2]=c[1180+(c[f>>2]<<3)>>2];c[e>>2]=c[1180+(c[f>>2]<<3)+4>>2];h=c[e>>2]|0;i=d;return h|0}function rg(){c[17712]=0;if(Wg()|0)return;sg();c[17712]=c[17712]&~c[17711];return}function sg(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+288|0;if((i|0)>=(j|0))$(288);d=b+20|0;e=b+16|0;f=b+24|0;g=b+12|0;h=b+8|0;k=b+4|0;l=b;c[d>>2]=22971;c[l>>2]=0;c[e>>2]=Pv(c[d>>2]|0,23624)|0;if(!(c[e>>2]|0)){i=b;return}while(1){if(!(Gv(f,256,c[e>>2]|0)|0))break;c[l>>2]=(c[l>>2]|0)+1;c[g>>2]=f;while(1){if(a[c[g>>2]>>0]&128|0)break;if(!(vv(a[c[g>>2]>>0]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=Vv(c[g>>2]|0,10)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;d=c[g>>2]|0;if(a[c[g>>2]>>0]|0)m=(hv(c[g>>2]|0)|0)-1|0;else m=0;c[h>>2]=d+m;while(1){if((c[h>>2]|0)>>>0<=(c[g>>2]|0)>>>0)break;if((a[c[h>>2]>>0]&128|0)==0?vv(a[c[h>>2]>>0]|0)|0:0)a[c[h>>2]>>0]=0;c[h>>2]=(c[h>>2]|0)+-1}if(!(a[c[g>>2]>>0]|0))continue;if((a[c[g>>2]>>0]|0)==35)continue;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=13)break;d=(Fu(c[1180+(c[k>>2]<<3)+4>>2]|0,c[g>>2]|0)|0)!=0;n=c[k>>2]|0;if(!d){o=23;break}c[k>>2]=n+1}if((o|0)==23){o=0;c[17711]=c[17711]|c[1180+(n<<3)>>2]}}aw(c[e>>2]|0)|0;Qv(c[e>>2]|0)|0;i=b;return}function tg(){c[17713]=1;return}function ug(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){Ft(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17713]|0)){c[e>>2]=Kw(b)|0;h=c[e>>2]|0;i=d;return h|0}k=Kw(b+0+5|0)|0;c[g>>2]=k;if(k|0){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=85;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function vg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){Ft(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17713]|0)){c[e>>2]=Hg(b)|0;h=c[e>>2]|0;i=d;return h|0}k=Hg(b+0+5|0)|0;c[g>>2]=k;if(k|0){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=-52;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function wg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;b=c[g>>2]|0;if(!(c[17713]|0)){a=(Sg(b)|0)!=0;n=c[g>>2]|0;o=c[h>>2]|0;if(a){c[f>>2]=Rg(n,o)|0;p=c[f>>2]|0;i=e;return p|0}else{c[f>>2]=Nw(n,o)|0;p=c[f>>2]|0;i=e;return p|0}}c[k>>2]=b;if(!(c[g>>2]|0)){c[f>>2]=ug(c[h>>2]|0)|0;p=c[f>>2]|0;i=e;return p|0}xg(c[k>>2]|0);c[m>>2]=d[(c[k>>2]|0)+-4>>0];c[m>>2]=c[m>>2]|(d[(c[k>>2]|0)+-3>>0]|0)<<8;c[m>>2]=c[m>>2]|(d[(c[k>>2]|0)+-2>>0]|0)<<16;if((c[m>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[f>>2]=c[g>>2];p=c[f>>2]|0;i=e;return p|0}b=c[h>>2]|0;if((d[(c[k>>2]|0)+-1>>0]|0|0)==204)c[l>>2]=vg(b)|0;else c[l>>2]=ug(b)|0;if(c[l>>2]|0){Yw(c[l>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;Sw((c[l>>2]|0)+(c[m>>2]|0)|0,0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0;yg(c[k>>2]|0);c[f>>2]=c[l>>2];p=c[f>>2]|0;i=e;return p|0}else{c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}return 0}function xg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=b+8|0;f=b;g=b+24|0;h=b+20|0;k=b+16|0;c[g>>2]=a;if(!(c[17713]|0)){i=b;return}c[h>>2]=c[g>>2];if(!(c[h>>2]|0)){i=b;return}if((d[(c[h>>2]|0)+-1>>0]|0|0)!=85?(d[(c[h>>2]|0)+-1>>0]|0|0)!=204:0){g=d[(c[h>>2]|0)+-1>>0]|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;We(22992,f)}c[k>>2]=d[(c[h>>2]|0)+-4>>0];c[k>>2]=c[k>>2]|(d[(c[h>>2]|0)+-3>>0]|0)<<8;c[k>>2]=c[k>>2]|(d[(c[h>>2]|0)+-2>>0]|0)<<16;if((d[(c[h>>2]|0)+(c[k>>2]|0)>>0]|0|0)!=170){k=d[(c[h>>2]|0)+-1>>0]|0;c[e>>2]=c[h>>2];c[e+4>>2]=k;We(23033,e)}else{i=b;return}}function yg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}if(c[17713]|0){xg(c[e>>2]|0);a=(Sg(c[d>>2]|0)|0)!=0;f=(c[e>>2]|0)+-4|0;if(a){Pg(f);i=b;return}else{Lw(f);i=b;return}}else{f=(Sg(c[d>>2]|0)|0)!=0;d=c[e>>2]|0;if(f){Pg(d);i=b;return}else{Lw(d);i=b;return}}}function zg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;Ht(1284)|0;c[e>>2]=c[17714];c[17715]=c[d>>2]&1;c[17714]=c[d>>2]&2;c[17716]=c[d>>2]&8;c[17717]=c[d>>2]&16;if(!((((c[e>>2]|0)==0|(c[17714]|0)!=0)^1)&(c[17718]|0)!=0)){It(1284)|0;i=b;return}c[17718]=0;Ag();It(1284)|0;i=b;return}function Ag(){var a=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);if(c[17715]|0){i=a;return}Te(Je(23073)|0,a);i=a;return}function Bg(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;Ht(1284)|0;c[b>>2]=c[17715]|0?1:0;c[b>>2]=c[b>>2]|(c[17714]|0?2:0);c[b>>2]=c[b>>2]|(c[17719]|0?4:0);c[b>>2]=c[b>>2]|(c[17716]|0?8:0);c[b>>2]=c[b>>2]|(c[17717]|0?16:0);It(1284)|0;i=a;return c[b>>2]|0}function Cg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Ht(1284)|0;Dg(c[d>>2]|0);It(1284)|0;i=b;return}function Dg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+8|0;e=b;f=b+16|0;g=b+12|0;c[f>>2]=a;if(c[f>>2]|0){if((c[f>>2]|0)>>>0<16384)c[f>>2]=16384;if(c[17721]|0){Ve(23129,d);i=b;return}else{Eg(c[f>>2]|0);Fg(c[17722]|0,c[f>>2]|0);i=b;return}}c[17720]=1;c[g>>2]=kw()|0;f=c[g>>2]|0;if((f|0)==(nw()|0)){i=b;return}if(ow(c[g>>2]|0)|0)We(23106,e);g=kw()|0;if((g|0)!=(nw()|0))We(23106,e);if(ow(0)|0){i=b;return}else We(23106,e)}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+48|0;if((i|0)>=(j|0))$(48);d=b+16|0;e=b+8|0;f=b+32|0;g=b+28|0;h=b+24|0;k=b+20|0;c[f>>2]=a;c[17723]=c[f>>2];if(c[17720]|0)Xe(23237,b);c[h>>2]=Ra(30)|0;c[g>>2]=(c[h>>2]|0)!=-1&(c[h>>2]|0)>0?c[h>>2]|0:4096;c[17723]=(c[17723]|0)+(c[g>>2]|0)-1&~((c[g>>2]|0)-1);c[17722]=rw(0,c[17723]|0,3,34,-1,0)|0;if((c[17722]|0)==(-1|0)){g=c[17723]|0;h=Nu(c[(xu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=h;Te(23263,e)}else{c[17724]=1;c[17721]=1}if(c[17721]|0){l=c[17722]|0;c[k>>2]=l;m=c[17723]|0;n=c[k>>2]|0;c[n>>2]=m;o=c[k>>2]|0;p=o+4|0;c[p>>2]=0;i=b;return}c[17722]=Kw(c[17723]|0)|0;if(!(c[17722]|0)){c[d>>2]=c[17723];We(23311,d)}c[17721]=1;l=c[17722]|0;c[k>>2]=l;m=c[17723]|0;n=c[k>>2]|0;c[n>>2]=m;o=c[k>>2]|0;p=o+4|0;c[p>>2]=0;i=b;return}function Fg(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[d+8>>2]=a;c[d+4>>2]=b;if(c[17716]|0){i=d;return}Te(23175,d);i=d;return}function Gg(){return 0}function Hg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;Ht(1284)|0;c[e>>2]=Ig(c[d>>2]|0)|0;It(1284)|0;i=b;return c[e>>2]|0}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;if((c[17721]|0)==0?(Dg(32768),(c[17721]|0)==0):0){Te(Je(23351)|0,e);Ft(12);c[f>>2]=0;k=c[f>>2]|0;i=b;return k|0}if(c[17719]|0?Wg()|0:0){Te(Je(23412)|0,d);Ft(12);c[f>>2]=0;k=c[f>>2]|0;i=b;return k|0}if(!((c[17718]|0)==0|(c[17714]|0)!=0)){c[17718]=0;Ag()}c[g>>2]=((((c[g>>2]|0)+31|0)>>>0)/32|0)<<5;c[h>>2]=Jg(c[17722]|0,c[g>>2]|0)|0;if(c[h>>2]|0)Kg(c[g>>2]|0,0);c[f>>2]=c[h>>2]|0?(c[h>>2]|0)+8|0:0;k=c[f>>2]|0;i=b;return k|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];while(1){if(!(Lg(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+4>>2]&1|0)==0?(c[c[g>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0:0){k=5;break}c[g>>2]=Ng(c[g>>2]|0)|0}if((k|0)==5?(k=(c[g>>2]|0)+4|0,c[k>>2]=c[k>>2]|1,((c[c[g>>2]>>2]|0)-(c[f>>2]|0)|0)>>>0>8):0){c[h>>2]=(c[g>>2]|0)+8+(c[f>>2]|0);c[c[h>>2]>>2]=(c[c[g>>2]>>2]|0)-(c[f>>2]|0)-8;c[(c[h>>2]|0)+4>>2]=0;c[c[g>>2]>>2]=c[f>>2];Mg(c[h>>2]|0)}if(Lg(c[g>>2]|0)|0){l=c[g>>2]|0;i=d;return l|0}Ft(12);c[g>>2]=0;l=c[g>>2]|0;i=d;return l|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){c[17725]=(c[17725]|0)+(c[e>>2]|0);c[17726]=(c[17726]|0)+1}if(!(c[f>>2]|0)){i=d;return}c[17725]=(c[17725]|0)-(c[f>>2]|0);c[17726]=(c[17726]|0)+-1;i=d;return}function Lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[f>>2]=c[17722];if((c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0){g=0;h=g&1;i=b;return h|0}g=(c[e>>2]|0)>>>0<((c[f>>2]|0)+(c[17723]|0)|0)>>>0;h=g&1;i=b;return h|0}function Mg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=Og(c[d>>2]|0)|0;c[f>>2]=Ng(c[d>>2]|0)|0;if(c[e>>2]|0?(c[(c[e>>2]|0)+4>>2]&1|0)==0:0){a=c[e>>2]|0;c[a>>2]=(c[a>>2]|0)+(8+(c[c[d>>2]>>2]|0));c[d>>2]=c[e>>2]}if(!(c[f>>2]|0)){i=b;return}if(c[(c[f>>2]|0)+4>>2]&1|0){i=b;return}e=c[d>>2]|0;c[e>>2]=(c[e>>2]|0)+(8+(c[c[f>>2]>>2]|0));i=b;return}function Ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+8+(c[c[d>>2]>>2]|0);if(Lg(c[e>>2]|0)|0){f=c[e>>2]|0;i=b;return f|0}c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}function Og(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if((c[d>>2]|0)==(c[17722]|0)){c[e>>2]=0;g=c[e>>2]|0;i=b;return g|0}c[e>>2]=c[17722];while(1){c[f>>2]=Ng(c[e>>2]|0)|0;if((c[f>>2]|0)==(c[d>>2]|0))break;c[e>>2]=c[f>>2]}g=c[e>>2]|0;i=b;return g|0}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Ht(1284)|0;Qg(c[d>>2]|0);It(1284)|0;i=b;return}function Qg(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;e=i;i=i+96|0;if((i|0)>=(j|0))$(96);f=e+88|0;g=e+84|0;h=e+80|0;k=e+76|0;l=e+72|0;m=e+95|0;n=e+24|0;o=e+68|0;p=e+64|0;q=e+60|0;r=e+94|0;s=e+16|0;t=e+56|0;u=e+52|0;v=e+48|0;w=e+93|0;x=e+8|0;y=e+44|0;z=e+40|0;A=e+36|0;B=e+92|0;C=e;E=e+32|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}c[g>>2]=(c[f>>2]|0)+-8;c[h>>2]=c[c[g>>2]>>2];c[k>>2]=(c[g>>2]|0)+8;c[l>>2]=c[h>>2];a[m>>0]=-1;f=n;c[f>>2]=d[m>>0];c[f+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){f=n;b=ex(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=n;c[f>>2]=b;c[f+4>>2]=D;do{c[o>>2]=c[k>>2];f=n;b=c[f+4>>2]|0;F=c[o>>2]|0;c[F>>2]=c[f>>2];c[F+4>>2]=b;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}c[p>>2]=(c[g>>2]|0)+8;c[q>>2]=c[h>>2];a[r>>0]=-86;l=s;c[l>>2]=d[r>>0];c[l+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){l=s;k=ex(c[l>>2]|0,c[l+4>>2]|0,16843009,16843009)|0;l=s;c[l>>2]=k;c[l+4>>2]=D;do{c[t>>2]=c[p>>2];l=s;k=c[l+4>>2]|0;m=c[t>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=k;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}c[u>>2]=(c[g>>2]|0)+8;c[v>>2]=c[h>>2];a[w>>0]=85;q=x;c[q>>2]=d[w>>0];c[q+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){q=x;p=ex(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=x;c[q>>2]=p;c[q+4>>2]=D;do{c[y>>2]=c[u>>2];q=x;p=c[q+4>>2]|0;r=c[y>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=p;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}c[z>>2]=(c[g>>2]|0)+8;c[A>>2]=c[h>>2];a[B>>0]=0;v=C;c[v>>2]=d[B>>0];c[v+4>>2]=0;while(1){if(!(c[z>>2]&7|0?(c[A>>2]|0)!=0:0))break;a[c[z>>2]>>0]=a[B>>0]|0;c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}if((c[A>>2]|0)>>>0>=8){v=C;u=ex(c[v>>2]|0,c[v+4>>2]|0,16843009,16843009)|0;v=C;c[v>>2]=u;c[v+4>>2]=D;do{c[E>>2]=c[z>>2];v=C;u=c[v+4>>2]|0;w=c[E>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=u;c[A>>2]=(c[A>>2]|0)-8;c[z>>2]=(c[z>>2]|0)+8}while((c[A>>2]|0)>>>0>=8)}while(1){if(!(c[A>>2]|0))break;a[c[z>>2]>>0]=a[B>>0]|0;c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}Kg(0,c[h>>2]|0);h=(c[g>>2]|0)+4|0;c[h>>2]=c[h>>2]&-2;Mg(c[g>>2]|0);i=e;return}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;Ht(1284)|0;c[g>>2]=(c[e>>2]|0)+(0-8);c[h>>2]=c[c[g>>2]>>2];if((c[f>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[k>>2]=c[e>>2];It(1284)|0;l=c[k>>2]|0;i=d;return l|0}c[k>>2]=Ig(c[f>>2]|0)|0;if(!(c[k>>2]|0)){It(1284)|0;l=c[k>>2]|0;i=d;return l|0}Yw(c[k>>2]|0,c[e>>2]|0,c[h>>2]|0)|0;Sw((c[k>>2]|0)+(c[h>>2]|0)|0,0,(c[f>>2]|0)-(c[h>>2]|0)|0)|0;Qg(c[e>>2]|0);It(1284)|0;l=c[k>>2]|0;i=d;return l|0}function Sg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(c[17721]|0)e=(Lg(c[d>>2]|0)|0)!=0;else e=0;i=b;return e&1|0}function Tg(){var b=0,e=0,f=0,g=0,h=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;b=i;i=i+96|0;if((i|0)>=(j|0))$(96);e=b+76|0;f=b+72|0;g=b+83|0;h=b+24|0;k=b+68|0;l=b+64|0;m=b+60|0;n=b+82|0;o=b+16|0;p=b+56|0;q=b+52|0;r=b+48|0;s=b+81|0;t=b+8|0;u=b+44|0;v=b+40|0;w=b+36|0;x=b+80|0;y=b;z=b+32|0;if(!(c[17721]|0)){i=b;return}c[e>>2]=c[17722];c[f>>2]=c[17723];a[g>>0]=-1;A=h;c[A>>2]=d[g>>0];c[A+4>>2]=0;while(1){if(!(c[e>>2]&7|0?(c[f>>2]|0)!=0:0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}if((c[f>>2]|0)>>>0>=8){A=h;B=ex(c[A>>2]|0,c[A+4>>2]|0,16843009,16843009)|0;A=h;c[A>>2]=B;c[A+4>>2]=D;do{c[k>>2]=c[e>>2];A=h;B=c[A+4>>2]|0;C=c[k>>2]|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[f>>2]=(c[f>>2]|0)-8;c[e>>2]=(c[e>>2]|0)+8}while((c[f>>2]|0)>>>0>=8)}while(1){if(!(c[f>>2]|0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[l>>2]=c[17722];c[m>>2]=c[17723];a[n>>0]=-86;f=o;c[f>>2]=d[n>>0];c[f+4>>2]=0;while(1){if(!(c[l>>2]&7|0?(c[m>>2]|0)!=0:0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>>>0>=8){f=o;e=ex(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=o;c[f>>2]=e;c[f+4>>2]=D;do{c[p>>2]=c[l>>2];f=o;e=c[f+4>>2]|0;g=c[p>>2]|0;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[m>>2]=(c[m>>2]|0)-8;c[l>>2]=(c[l>>2]|0)+8}while((c[m>>2]|0)>>>0>=8)}while(1){if(!(c[m>>2]|0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}c[q>>2]=c[17722];c[r>>2]=c[17723];a[s>>0]=85;m=t;c[m>>2]=d[s>>0];c[m+4>>2]=0;while(1){if(!(c[q>>2]&7|0?(c[r>>2]|0)!=0:0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if((c[r>>2]|0)>>>0>=8){m=t;l=ex(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=t;c[m>>2]=l;c[m+4>>2]=D;do{c[u>>2]=c[q>>2];m=t;l=c[m+4>>2]|0;n=c[u>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=l;c[r>>2]=(c[r>>2]|0)-8;c[q>>2]=(c[q>>2]|0)+8}while((c[r>>2]|0)>>>0>=8)}while(1){if(!(c[r>>2]|0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}c[v>>2]=c[17722];c[w>>2]=c[17723];a[x>>0]=0;r=y;c[r>>2]=d[x>>0];c[r+4>>2]=0;while(1){if(!(c[v>>2]&7|0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){r=y;q=ex(c[r>>2]|0,c[r+4>>2]|0,16843009,16843009)|0;r=y;c[r>>2]=q;c[r+4>>2]=D;do{c[z>>2]=c[v>>2];r=y;q=c[r+4>>2]|0;s=c[z>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=q;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if(c[17724]|0)uw(c[17722]|0,c[17723]|0)|0;c[17722]=0;c[17721]=0;c[17723]=0;c[17719]=0;i=b;return}function Ug(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;Ht(1284)|0;if(!(c[17721]|0)){It(1284)|0;i=a;return}d=c[17723]|0;e=c[17726]|0;c[b>>2]=c[17725];c[b+4>>2]=d;c[b+8>>2]=e;Te(23465,b);It(1284)|0;i=a;return}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;b=i;i=i+544|0;if((i|0)>=(j|0))$(544);d=b+8|0;e=b;f=b+28|0;g=b+24|0;h=b+20|0;k=b+16|0;l=b+288|0;m=b+12|0;n=b+32|0;c[f>>2]=a;if(c[17727]|0){if(Wg()|0){Xg(5);Yg()}if(c[17727]|0)Se(23506,23512,114,23519)}c[17727]=1;do if(c[f>>2]|0){if(c[17728]|0)Se(23546,23512,121,23519)}else{if(!($v(23569,0)|0)){if(!(c[17728]|0))break;Se(23546,23512,132,23519)}c[h>>2]=Pv(23594,23624)|0;if(!(c[h>>2]|0)){a=c[(xu()|0)>>2]|0;c[k>>2]=a;if((a|0)!=2&(c[k>>2]|0)!=13?($v(23626,0)|0)==0:0){a=Nu(c[k>>2]|0)|0;c[e>>2]=23594;c[e+4>>2]=a;Te(23640,e);Aa()}}else{if(Gv(l,256,c[h>>2]|0)|0?Aw(l)|0:0){Qv(c[h>>2]|0)|0;if(!(c[17728]|0))break;Se(23546,23512,151,23519)}Qv(c[h>>2]|0)|0}c[17728]=1}while(0);if(c[17728]|0){i=b;return}c[g>>2]=Gt(1328)|0;if(c[g>>2]|0){c[d>>2]=Bt(c[g>>2]|0)|0;Te(23684,d);Aa()}c[m>>2]=Pv(23569,23624)|0;if(c[m>>2]|0){if(Gv(n,256,c[m>>2]|0)|0?Aw(n)|0:0)c[17729]=1;Qv(c[m>>2]|0)|0}Xg(1);i=b;return}function Wg(){return ((c[17728]|0)!=0^1)&1|0}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b;e=b+20|0;f=b+16|0;g=b+12|0;c[e>>2]=a;c[f>>2]=0;Zg();c[g>>2]=c[17730];switch(c[17730]|0){case 0:{if((c[e>>2]|0)==1|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 1:{if((c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 2:{if((c[e>>2]|0)==3|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 3:{if((c[e>>2]|0)==6|(c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 4:{if((c[e>>2]|0)==6|(c[e>>2]|0)==4|(c[e>>2]|0)==5|(c[e>>2]|0)==2)c[f>>2]=1;break}case 5:{if((c[e>>2]|0)==6)c[f>>2]=1;break}default:{}}if(c[f>>2]|0)c[17730]=c[e>>2];_g();if(!(c[f>>2]|0?!(Oe(2)|0):0)){a=$g(c[g>>2]|0)|0;g=$g(c[e>>2]|0)|0;e=c[f>>2]|0?23739:23747;c[d>>2]=a;c[d+4>>2]=g;c[d+8>>2]=e;Te(23754,d)}if(c[f>>2]|0){i=b;return}else{Yg();i=b;return}}function Yg(){Rv(0)|0;Aa()}function Zg(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[d>>2]=Ht(1328)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;Te(23912,b);Aa()}else{i=a;return}}function _g(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[d>>2]=It(1328)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;Te(23857,b);Aa()}else{i=a;return}}function $g(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;switch(c[d>>2]|0){case 0:{c[e>>2]=23794;break}case 1:{c[e>>2]=23803;break}case 2:{c[e>>2]=23808;break}case 3:{c[e>>2]=23818;break}case 4:{c[e>>2]=23830;break}case 5:{c[e>>2]=23836;break}case 6:{c[e>>2]=23848;break}default:c[e>>2]=37975}i=b;return c[e>>2]|0}function ah(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;if(Wg()|0)c[b>>2]=c[17729];else c[b>>2]=0;i=a;return c[b>>2]|0}function bh(){c[17729]=1;return}function ch(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(!(Wg()|0))Se(23967,23512,295,23986);if(ah()|0){dh(23512,300,23986,0,c[d>>2]|0);i=b;return}Zg();if(c[17731]|0){_g();i=b;return}else{c[17731]=1;_g();i=b;return}}function dh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(!(Wg()|0)){i=g;return}Xg(c[n>>2]|0?5:4);f=c[k>>2]|0;k=c[l>>2]|0;l=c[m>>2]|0?24020:72319;e=c[m>>2]|0?c[m>>2]|0:72319;m=c[o>>2]|0?c[o>>2]|0:24032;c[h>>2]=c[n>>2]|0?24013:72319;c[h+4>>2]=f;c[h+8>>2]=k;c[h+12>>2]=l;c[h+16>>2]=e;c[h+20>>2]=m;Te(24057,h);i=g;return}function eh(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a+4|0;d=a;if(Wg()|0){Zg();c[d>>2]=c[17731];_g();c[b>>2]=c[d>>2]}else c[b>>2]=0;i=a;return c[b>>2]|0}function fh(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;if(!(Wg()|0)){c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}Zg();if((c[17730]|0)==1){_g();gh(0)|0;Zg()}c[b>>2]=(c[17730]|0)==3&1;_g();d=c[b>>2]|0;i=a;return d|0}function gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=4;c[f>>2]=50;if(Wg()|0)Xg(2);if((((((hh(c[d>>2]|0)|0)==0?(ih(c[d>>2]|0)|0)==0:0)?(jh(c[d>>2]|0)|0)==0:0)?(kh()|0)==0:0)?(lh(c[d>>2]|0)|0)==0:0)?(mh()|0)==0:0){c[e>>2]=3;c[f>>2]=0}if(!(Wg()|0)){g=c[f>>2]|0;i=b;return g|0}Xg(c[e>>2]|0);g=c[f>>2]|0;i=b;return g|0}function hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1432+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Oh(c[1432+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1432+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=Bt(c[f>>2]|0)|0;else h=0;nh(38079,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function ih(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1408+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=sj(c[1408+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1408+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=Bt(c[f>>2]|0)|0;else h=0;nh(43214,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1384+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Bi(c[1384+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1384+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=Bt(c[f>>2]|0)|0;else h=0;nh(36101,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function kh(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;c[b>>2]=on(1)|0;if(c[b>>2]|0)d=Bt(c[b>>2]|0)|0;else d=0;nh(52642,0,0,d);i=a;return ((c[b>>2]|0)!=0^1^1)&1|0}function lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1372+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=$j(c[1372+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1372+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=Bt(c[f>>2]|0)|0;else h=0;nh(47251,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function mh(){return 0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f;h=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((c[m>>2]|0)==0?(Oe(2)|0)==0:0){i=f;return}e=(Fu(c[h>>2]|0,36101)|0)!=0;d=e?c[h>>2]|0:43214;e=(Fu(c[h>>2]|0,36101)|0)!=0^1;b=e?24105:72319;do if(Fu(c[h>>2]|0,38079)|0){if(!(Fu(c[h>>2]|0,43214)|0)){n=Pi(c[k>>2]|0)|0;break}if(!(Fu(c[h>>2]|0,36101)|0)){n=Pi(c[k>>2]|0)|0;break}if(Fu(c[h>>2]|0,47251)|0)n=72319;else n=Qj(c[k>>2]|0)|0}else n=th(c[k>>2]|0)|0;while(0);h=c[k>>2]|0;k=c[m>>2]|0?c[m>>2]|0:24111;m=c[l>>2]|0?24116:72319;e=c[l>>2]|0?c[l>>2]|0:72319;a=c[l>>2]|0?47239:72319;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=n;c[g+12>>2]=h;c[g+16>>2]=k;c[g+20>>2]=m;c[g+24>>2]=e;c[g+28>>2]=a;Te(24119,g);i=f;return}function oh(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;if(Wg()|0){Zg();c[b>>2]=(c[17730]|0)==3&1;_g()}else c[b>>2]=1;i=a;return c[b>>2]|0}function ph(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;if(Wg()|0){Zg();c[b>>2]=((c[17730]|0)==3?1:(c[17730]|0)==4)&1;_g();d=c[b>>2]|0;i=a;return d|0}else{c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}return 0}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((c[k>>2]|0)!=1){c[g>>2]=c[k>>2];Xe(24163,g)}if((c[l>>2]|0)>>>0<8)c[l>>2]=8;c[n>>2]=wf(1,8+(c[l>>2]|0)|0)|0;if(c[n>>2]|0){l=c[n>>2]|0;a[l>>0]=a[24209]|0;a[l+1>>0]=a[24210]|0;a[l+2>>0]=a[24211]|0;a[(c[n>>2]|0)+3>>0]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[m>>2];c[h>>2]=c[n>>2];o=c[h>>2]|0;i=f;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=f;return o|0}return 0}function rh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+8|0;g=e;h=e+24|0;k=e+20|0;c[h>>2]=b;c[k>>2]=d;if(!(c[h>>2]|0)){l=c[h>>2]|0;c[g>>2]=l;We(24213,g)}if(Jv(c[h>>2]|0,24209,3)|0){l=c[h>>2]|0;c[g>>2]=l;We(24213,g)}if((a[(c[h>>2]|0)+3>>0]|0)!=(c[k>>2]|0)){g=c[h>>2]|0;l=a[(c[h>>2]|0)+3>>0]|0;c[f>>2]=c[k>>2];c[f+4>>2]=g;c[f+8>>2]=l;We(24261,f)}else{i=e;return (c[h>>2]|0)+8|0}return 0}function sh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d;g=d+12|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=d;return}b=(Jv(c[g>>2]|0,24209,3)|0)!=0;h=c[g>>2]|0;if(b){c[f>>2]=h;We(24318,f)}f=c[g>>2]|0;if((a[h+3>>0]|0)!=1){c[e>>2]=a[f+3>>0];We(24360,e)}if(c[f+4>>2]|0)wb[c[(c[g>>2]|0)+4>>2]&15]((c[g>>2]|0)+8|0);vf(c[g>>2]|0);i=d;return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uh(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37975;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function uh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=vh(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[1452+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];k=c[d>>2]|0;i=b;return k|0}else if((h|0)==6){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}return 0}function vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=0;if((c[k>>2]|0)>=65536)c[m>>2]=71;else c[m>>2]=xh(n,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[m>>2]|0?0:c[n>>2]|0;i=f;return c[m>>2]|0}function xh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[m>>2]&1;c[p>>2]=0;mn();c[o>>2]=uh(c[k>>2]|0)|0;do if(c[o>>2]|0)if(a[(c[o>>2]|0)+4>>0]&1|0){c[q>>2]=12;break}else{c[q>>2]=0;break}else c[q>>2]=12;while(0);do if(!(c[q>>2]|0)){if((c[m>>2]&-16|0)==0?(c[m>>2]&0|0)==0:0)break;c[q>>2]=12}while(0);a:do if(!(c[q>>2]|0)){f=c[l>>2]|0;b:do if((f|0)<6)switch(f|0){case 5:case 2:case 3:case 1:{break b;break}case 4:{if(c[(c[o>>2]|0)+44>>2]|0?c[(c[o>>2]|0)+48>>2]|0:0)break a;c[q>>2]=71;break a;break}case 0:{if((Wg()|0)==0?Ff(0)|0:0)break a;c[q>>2]=71;break a;break}default:{t=37;break b}}else{if((f|0)<9){switch(f|0){case 7:case 6:{break b;break}case 8:break;default:{t=37;break b}}if((c[(c[o>>2]|0)+20>>2]|0)!=16)c[q>>2]=71;if(c[(c[o>>2]|0)+36>>2]|0?c[(c[o>>2]|0)+40>>2]|0:0)break a;c[q>>2]=71;break a}if((f|0)<11){switch(f|0){case 9:{break b;break}case 10:break;default:{t=37;break b}}if((c[(c[o>>2]|0)+44>>2]|0?c[(c[o>>2]|0)+48>>2]|0:0)?c[(c[o>>2]|0)+60>>2]|0:0){if((c[c[o>>2]>>2]|0)==316)break a;c[q>>2]=71;break a}c[q>>2]=71;break a}if((f|0)>=65537)switch(f|0){case 65537:{break b;break}default:{t=37;break b}}switch(f|0){case 11:break;default:{t=37;break b}}if(c[(c[o>>2]|0)+36>>2]|0?c[(c[o>>2]|0)+40>>2]|0:0){if((c[(c[o>>2]|0)+20>>2]|0)==16)break a;c[q>>2]=71;break a}c[q>>2]=71;break a}while(0);if((t|0)==37){c[q>>2]=71;break}if(c[(c[o>>2]|0)+36>>2]|0?c[(c[o>>2]|0)+40>>2]|0:0)break;c[q>>2]=71}while(0);if(c[q>>2]|0){u=c[q>>2]|0;v=(u|0)!=0;w=c[p>>2]|0;x=v?0:w;y=c[h>>2]|0;c[y>>2]=x;z=c[q>>2]|0;A=yh(z)|0;i=g;return A|0}c[r>>2]=512+(c[(c[o>>2]|0)+28>>2]<<1)-16+15;t=c[r>>2]|0;if(c[n>>2]|0)c[p>>2]=xf(1,t)|0;else c[p>>2]=wf(1,t)|0;if(!(c[p>>2]|0)){c[q>>2]=Et()|0;u=c[q>>2]|0;v=(u|0)!=0;w=c[p>>2]|0;x=v?0:w;y=c[h>>2]|0;c[y>>2]=x;z=c[q>>2]|0;A=yh(z)|0;i=g;return A|0}c[s>>2]=0;if(c[p>>2]&15|0){c[s>>2]=16-(c[p>>2]&15);c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0)}c[c[p>>2]>>2]=c[n>>2]|0?1183944770:604576100;c[(c[p>>2]|0)+4>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[(c[p>>2]|0)+8>>2]=c[s>>2];c[(c[p>>2]|0)+12>>2]=c[o>>2];c[(c[p>>2]|0)+16>>2]=c[k>>2];c[(c[p>>2]|0)+48>>2]=c[l>>2];c[(c[p>>2]|0)+52>>2]=c[m>>2];switch(c[k>>2]|0){case 9:case 8:case 7:{c[(c[p>>2]|0)+20>>2]=1;c[(c[p>>2]|0)+20+4>>2]=2;c[(c[p>>2]|0)+20+8>>2]=1;c[(c[p>>2]|0)+20+12>>2]=3;c[(c[p>>2]|0)+20+16>>2]=4;c[(c[p>>2]|0)+20+20>>2]=5;c[(c[p>>2]|0)+20+24>>2]=2;break}case 303:case 10:{c[(c[p>>2]|0)+20+12>>2]=6;c[(c[p>>2]|0)+20+4>>2]=7;c[(c[p>>2]|0)+20+16>>2]=8;break}default:{}}if((c[l>>2]|0)!=11){u=c[q>>2]|0;v=(u|0)!=0;w=c[p>>2]|0;x=v?0:w;y=c[h>>2]|0;c[y>>2]=x;z=c[q>>2]|0;A=yh(z)|0;i=g;return A|0}a[(c[p>>2]|0)+128+352>>0]=16;u=c[q>>2]|0;v=(u|0)!=0;w=c[p>>2]|0;x=v?0:w;y=c[h>>2]|0;c[y>>2]=x;z=c[q>>2]|0;A=yh(z)|0;i=g;return A|0}function yh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=zh(32,c[d>>2]|0)|0;i=b;return a|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Ah(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Bh(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+24|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+28|0;m=e;n=e+8|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if((c[c[f>>2]>>2]|0)!=1183944770?(c[c[f>>2]>>2]|0)!=604576100:0)Le(63,24409);c[c[f>>2]>>2]=0;c[g>>2]=c[(c[f>>2]|0)+8>>2];c[h>>2]=c[f>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2];a[l>>0]=0;b=m;c[b>>2]=d[l>>0];c[b+4>>2]=0;while(1){if(!(c[h>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[h>>2]>>0]=a[l>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){b=m;o=ex(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=m;c[b>>2]=o;c[b+4>>2]=D;do{c[n>>2]=c[h>>2];b=m;o=c[b+4>>2]|0;p=c[n>>2]|0;c[p>>2]=c[b>>2];c[p+4>>2]=o;c[k>>2]=(c[k>>2]|0)-8;c[h>>2]=(c[h>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[h>>2]>>0]=a[l>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}vf((c[f>>2]|0)+(0-(c[g>>2]|0))|0);i=e;return}function Ch(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[m>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2]}c[o>>2]=Dh(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!((c[o>>2]|0)!=0&(c[k>>2]|0)!=0)){p=c[o>>2]|0;i=g;return p|0}Sw(c[k>>2]|0,66,c[l>>2]|0)|0;p=c[o>>2]|0;i=g;return p|0}function Dh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;f=c[(c[k>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[p>>2]=yq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 7:{c[p>>2]=dq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 8:{c[p>>2]=oq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24504,h)}}if((f|0)<11)switch(f|0){case 9:{c[p>>2]=Bq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 10:{c[p>>2]=nr(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24504,h)}}if((f|0)<65537)switch(f|0){case 11:{c[p>>2]=er(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24504,h)}}else switch(f|0){case 65537:{c[p>>2]=71;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24504,h)}}}else switch(f|0){case 1:{c[p>>2]=Eh(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 3:{c[p>>2]=gq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 2:{c[p>>2]=qq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 5:{c[p>>2]=ir(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 4:{Eb[c[(c[(c[k>>2]|0)+12>>2]|0)+44>>2]&1]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0);c[p>>2]=0;break a;break}case 0:{if((Wg()|0)==0?Ff(0)|0:0){if((c[n>>2]|0)!=(c[l>>2]|0))Zw(c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[p>>2]=0;break a}dh(24458,875,24467,0,24482);c[p>>2]=71;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24504,h)}}while(0);i=g;return c[p>>2]|0}function Eh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=Fh(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+36>>2]|0)|0;i=g;return f|0}function Fh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;w=c[k>>2]|0;i=h;return w|0}if(((c[p>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0|0){c[k>>2]=139;w=c[k>>2]|0;i=h;return w|0}c[t>>2]=((c[p>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;c[u>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;c[v>>2]=ub[c[q>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[r>>2]|0);c[s>>2]=(c[s>>2]|0)+1}if((c[u>>2]|0)>>>0>0){bf((c[u>>2]|0)+16|0);cf()}c[k>>2]=0;w=c[k>>2]|0;i=h;return w|0}function Gh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[m>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2]}f=Hh(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;i=g;return f|0}function Hh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;f=c[(c[k>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[p>>2]=yq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 7:{c[p>>2]=fq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 8:{c[p>>2]=pq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24552,h)}}if((f|0)<11)switch(f|0){case 9:{c[p>>2]=Kq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 10:{c[p>>2]=qr(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24552,h)}}if((f|0)<65537)switch(f|0){case 11:{c[p>>2]=hr(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24552,h)}}else switch(f|0){case 65537:{c[p>>2]=71;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24552,h)}}}else switch(f|0){case 1:{c[p>>2]=Ih(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 3:{c[p>>2]=jq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 2:{c[p>>2]=tq(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 5:{c[p>>2]=ir(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;break a;break}case 4:{Eb[c[(c[(c[k>>2]|0)+12>>2]|0)+48>>2]&1]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0);c[p>>2]=0;break a;break}case 0:{if((Wg()|0)==0?Ff(0)|0:0){if((c[n>>2]|0)!=(c[l>>2]|0))Zw(c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[p>>2]=0;break a}dh(24458,992,24537,0,24482);c[p>>2]=71;break a;break}default:{q=c[k>>2]|0;r=q+48|0;s=c[r>>2]|0;c[h>>2]=s;We(24552,h)}}while(0);i=g;return c[p>>2]|0}function Ih(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=Fh(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+40>>2]|0)|0;i=g;return f|0}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Kh(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=ub[c[(c[(c[g>>2]|0)+12>>2]|0)+32>>2]&63]((c[g>>2]|0)+496|0,c[h>>2]|0,c[k>>2]|0)|0;k=c[g>>2]|0;a:do if(!(c[l>>2]|0)){Yw(k+496+(c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0,(c[g>>2]|0)+496|0,c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0;h=(c[g>>2]|0)+56|0;a[h>>0]=a[h>>0]&-2|1;h=c[(c[g>>2]|0)+48>>2]|0;if((h|0)<10){switch(h|0){case 9:break;default:break a}Lq(c[g>>2]|0);break}if((h|0)<65537){switch(h|0){case 10:break;default:break a}rr(c[g>>2]|0);break}else{switch(h|0){case 65537:break;default:break a}wq(c[g>>2]|0)|0;break}}else{h=k+56|0;a[h>>0]=a[h>>0]&-2}while(0);i=f;return c[l>>2]|0}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;switch(c[(c[f>>2]|0)+48>>2]|0){case 8:{c[k>>2]=lq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[k>>2]=Cq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[k>>2]=mr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[k>>2]=ar(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}default:c[k>>2]=Mh(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0}i=e;return c[k>>2]|0}function Mh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;e=c[k>>2]|0;if(c[(c[(c[k>>2]|0)+12>>2]|0)+60>>2]|0){zb[c[(c[e+12>>2]|0)+60>>2]&7]((c[k>>2]|0)+496|0,c[l>>2]|0,c[m>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=f;return n|0}Sw(e+64|0,0,c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){if((c[m>>2]|0)!=(c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2]|0)){e=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=e;Te(24585,g);dh(24458,682,24628,0,24641)}if((c[m>>2]|0)>>>0>(c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2]|0)>>>0)c[m>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];Yw((c[k>>2]|0)+64|0,c[l>>2]|0,c[m>>2]|0)|0;m=(c[k>>2]|0)+56|0;a[m>>0]=a[m>>0]&-3|2}else{m=(c[k>>2]|0)+56|0;a[m>>0]=a[m>>0]&-3}c[(c[k>>2]|0)+112>>2]=0;c[h>>2]=0;n=c[h>>2]|0;i=f;return n|0}function Nh(){return 0}function Oh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=0;c[m>>2]=uh(c[g>>2]|0)|0;if((c[m>>2]|0?(a[(c[m>>2]|0)+4>>0]&1|0)==0:0)?c[(c[m>>2]|0)+52>>2]|0:0){c[l>>2]=ub[c[(c[m>>2]|0)+52>>2]&63](c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;n=c[l>>2]|0;o=Ph(n)|0;i=f;return o|0}c[l>>2]=12;if(!(c[k>>2]|0)){n=c[l>>2]|0;o=Ph(n)|0;i=f;return o|0}h=c[k>>2]|0;k=c[g>>2]|0;if(c[m>>2]|0?!(a[(c[m>>2]|0)+4>>0]&1|0):0)p=38046;else p=c[m>>2]|0?38007:38026;Eb[h&1](38079,k,38068,p);n=c[l>>2]|0;o=Ph(n)|0;i=f;return o|0}function Ph(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Ah(1,c[d>>2]|0)|0;i=b;return a|0}function Qh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;p=g;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=0;if(!(c[l>>2]|0)){c[o>>2]=0;while(1){if(!(c[1476+((c[o>>2]|0)*48|0)>>2]|0))break;if((c[k>>2]|0)==(c[1476+((c[o>>2]|0)*48|0)+4>>2]|0)?(c[1476+((c[o>>2]|0)*48|0)+12>>2]|0)==0:0)break;c[o>>2]=(c[o>>2]|0)+1}if(!(c[1476+((c[o>>2]|0)*48|0)>>2]|0))c[o>>2]=-1}else c[o>>2]=Rh(c[l>>2]|0)|0;if((c[o>>2]|0)<0){c[h>>2]=188;q=c[h>>2]|0;i=g;return q|0}c[p>>2]=c[1476+((c[o>>2]|0)*48|0)>>2];if(Wg()|0?(a[1476+((c[o>>2]|0)*48|0)+8>>0]&1|0)==0:0){c[h>>2]=60;q=c[h>>2]|0;i=g;return q|0}if((c[1476+((c[o>>2]|0)*48|0)+12>>2]|0)>>>0>=3){c[h>>2]=59;q=c[h>>2]|0;i=g;return q|0}if(c[n>>2]|0)c[c[n>>2]>>2]=c[1476+((c[o>>2]|0)*48|0)+4>>2];if(c[m>>2]|0){c[c[m>>2]>>2]=c[1476+((c[o>>2]|0)*48|0)+12>>2];c[(c[m>>2]|0)+4>>2]=c[1476+((c[o>>2]|0)*48|0)+16>>2];if(!(c[(c[m>>2]|0)+8>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+20>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n}if(!(c[(c[m>>2]|0)+12>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+24>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=n}if(!(c[(c[m>>2]|0)+16>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+28>>2]|0)|0;c[(c[m>>2]|0)+16>>2]=n}if(!(c[(c[m>>2]|0)+32>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+32>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=n}if(!(c[(c[m>>2]|0)+36>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+44>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=n}if(!(c[(c[m>>2]|0)+20>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+36>>2]|0)|0;c[(c[m>>2]|0)+20>>2]=n}if(!(c[(c[m>>2]|0)+20+4>>2]|0)){n=Sh(c[1476+((c[o>>2]|0)*48|0)+40>>2]|0)|0;c[(c[m>>2]|0)+20+4>>2]=n}if(!(c[(c[m>>2]|0)+20+8>>2]|0)){n=up(1)|0;c[(c[m>>2]|0)+20+8>>2]=n}if(!(c[(c[m>>2]|0)+40>>2]|0))c[(c[m>>2]|0)+40>>2]=c[p>>2]}c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}function Rh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=0;while(1){if(!(c[1476+((c[f>>2]|0)*48|0)>>2]|0))break;a=(Fu(c[e>>2]|0,c[1476+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){k=4;break}c[f>>2]=h+1}if((k|0)==4){c[d>>2]=h;l=c[d>>2]|0;i=b;return l|0}a:do if(!(c[1476+((c[f>>2]|0)*48|0)>>2]|0)){c[g>>2]=0;while(1){if(!(c[2532+(c[g>>2]<<3)>>2]|0))break;if(!(Fu(c[e>>2]|0,c[2532+(c[g>>2]<<3)+4>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}if(c[2532+(c[g>>2]<<3)>>2]|0){c[f>>2]=0;while(1){if(!(c[1476+((c[f>>2]|0)*48|0)>>2]|0))break a;h=(Fu(c[2532+(c[g>>2]<<3)>>2]|0,c[1476+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;m=c[f>>2]|0;if(!h)break;c[f>>2]=m+1}c[d>>2]=m;l=c[d>>2]|0;i=b;return l|0}}while(0);c[d>>2]=-1;l=c[d>>2]|0;i=b;return l|0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Zo(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=Bt(c[f>>2]|0)|0;We(35925,d)}else{i=b;return c[g>>2]|0}return 0}function Th(a,b,d,e,f,g,h,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=i;i=i+64|0;if((i|0)>=(j|0))$(64);n=m+48|0;o=m+44|0;p=m+40|0;q=m+36|0;r=m+32|0;s=m+28|0;t=m+24|0;u=m+20|0;v=m+16|0;w=m+12|0;x=m+8|0;y=m+4|0;z=m;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=k;c[w>>2]=l;c[x>>2]=Rh(c[o>>2]|0)|0;if((c[x>>2]|0)<0){c[n>>2]=188;A=c[n>>2]|0;i=m;return A|0}do if(c[u>>2]|0){c[z>>2]=4;o=hv((c[1476+((c[x>>2]|0)*48|0)+36>>2]|0)+2|0)|0;c[z>>2]=(c[z>>2]|0)+o;o=hv((c[1476+((c[x>>2]|0)*48|0)+40>>2]|0)+2|0)|0;c[z>>2]=(c[z>>2]|0)+o;c[z>>2]=(c[z>>2]|0)+1;c[y>>2]=pf(c[z>>2]|0)|0;if(c[y>>2]|0){o=uv(c[y>>2]|0,35599)|0;l=uv(o,(c[1476+((c[x>>2]|0)*48|0)+36>>2]|0)+2|0)|0;tv(l,(c[1476+((c[x>>2]|0)*48|0)+40>>2]|0)+2|0)|0;Tp(c[c[u>>2]>>2]|0);l=Sh(c[y>>2]|0)|0;c[c[u>>2]>>2]=l;vf(c[y>>2]|0);break}c[n>>2]=Et()|0;A=c[n>>2]|0;i=m;return A|0}while(0);if(c[p>>2]|0)c[c[p>>2]>>2]=c[1476+((c[x>>2]|0)*48|0)+12>>2];if(c[q>>2]|0)c[c[q>>2]>>2]=c[1476+((c[x>>2]|0)*48|0)+16>>2];if(c[r>>2]|0){Tp(c[c[r>>2]>>2]|0);q=Sh(c[1476+((c[x>>2]|0)*48|0)+20>>2]|0)|0;c[c[r>>2]>>2]=q}if(c[s>>2]|0){Tp(c[c[s>>2]>>2]|0);q=Sh(c[1476+((c[x>>2]|0)*48|0)+24>>2]|0)|0;c[c[s>>2]>>2]=q}if(c[t>>2]|0){Tp(c[c[t>>2]>>2]|0);q=Sh(c[1476+((c[x>>2]|0)*48|0)+28>>2]|0)|0;c[c[t>>2]>>2]=q}if(c[v>>2]|0){Tp(c[c[v>>2]>>2]|0);q=Sh(c[1476+((c[x>>2]|0)*48|0)+32>>2]|0)|0;c[c[v>>2]>>2]=q}if(c[w>>2]|0){Tp(c[c[w>>2]>>2]|0);q=Sh(c[1476+((c[x>>2]|0)*48|0)+44>>2]|0)|0;c[c[w>>2]>>2]=q}c[n>>2]=0;A=c[n>>2]|0;i=m;return A|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+128|0;if((i|0)>=(j|0))$(128);f=e;g=e+112|0;h=e+108|0;k=e+104|0;l=e+100|0;m=e+96|0;n=e+92|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+36|0;s=e+32|0;t=e+28|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[n>>2]=0;c[p>>2]=0;c[q>>2]=0;d=o;b=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));if(c[l>>2]|0)c[c[l>>2]>>2]=0;if(!(c[h>>2]|0)){c[r>>2]=c[k>>2];if((c[r>>2]|0)>=0&(c[r>>2]|0)>>>0<22?(c[n>>2]=c[1476+((c[r>>2]|0)*48|0)>>2],c[l>>2]|0):0)c[c[l>>2]>>2]=c[1476+((c[r>>2]|0)*48|0)+4>>2];c[g>>2]=c[n>>2];u=c[g>>2]|0;i=e;return u|0}k=c[h>>2]|0;c[f>>2]=o+8;c[f+4>>2]=o+12;c[f+8>>2]=o+16;c[f+12>>2]=p;c[f+16>>2]=o+32;c[f+20>>2]=o+36;c[f+24>>2]=0;c[m>>2]=Vh(lg(k,0,35604,f)|0)|0;a:do if((c[m>>2]|0)==68){c[s>>2]=Tf(c[h>>2]|0,47217,5)|0;if(c[s>>2]|0?(c[t>>2]=_f(c[s>>2]|0,1)|0,Rf(c[s>>2]|0),c[t>>2]|0):0){c[r>>2]=Rh(c[t>>2]|0)|0;vf(c[t>>2]|0);if((c[r>>2]|0)>=0?(c[n>>2]=c[1476+((c[r>>2]|0)*48|0)>>2],c[l>>2]|0):0)c[c[l>>2]>>2]=c[1476+((c[r>>2]|0)*48|0)+4>>2];c[g>>2]=c[n>>2];u=c[g>>2]|0;i=e;return u|0}}else if(!(c[m>>2]|0)){if(c[p>>2]|0?(yn(o+20|0),zi(o+20|0,c[p>>2]|0)|0):0)break;c[r>>2]=0;while(1){if(!(c[1476+((c[r>>2]|0)*48|0)>>2]|0))break a;Dp(c[q>>2]|0);c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+20>>2]|0)|0;if(((((((wo(c[q>>2]|0,c[o+8>>2]|0)|0)==0?(Dp(c[q>>2]|0),c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+24>>2]|0)|0,(wo(c[q>>2]|0,c[o+12>>2]|0)|0)==0):0)?(Dp(c[q>>2]|0),c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+28>>2]|0)|0,(wo(c[q>>2]|0,c[o+16>>2]|0)|0)==0):0)?(Dp(c[q>>2]|0),c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+32>>2]|0)|0,(wo(c[q>>2]|0,c[o+32>>2]|0)|0)==0):0)?(Dp(c[q>>2]|0),c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+44>>2]|0)|0,(wo(c[q>>2]|0,c[o+36>>2]|0)|0)==0):0)?(Dp(c[q>>2]|0),c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+36>>2]|0)|0,(wo(c[q>>2]|0,c[o+20>>2]|0)|0)==0):0)?(Dp(c[q>>2]|0),c[q>>2]=Sh(c[1476+((c[r>>2]|0)*48|0)+40>>2]|0)|0,(wo(c[q>>2]|0,c[o+20+4>>2]|0)|0)==0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[n>>2]=c[1476+((c[r>>2]|0)*48|0)>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[1476+((c[r>>2]|0)*48|0)+4>>2]}while(0);Tp(c[q>>2]|0);Tp(c[o+8>>2]|0);Tp(c[o+12>>2]|0);Tp(c[o+16>>2]|0);Tp(c[p>>2]|0);An(o+20|0);Tp(c[o+32>>2]|0);Tp(c[o+36>>2]|0);c[g>>2]=c[n>>2];u=c[g>>2]|0;i=e;return u|0}function Vh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+76|0;g=e+72|0;h=e+68|0;k=e+64|0;l=e+60|0;m=e+56|0;n=e+52|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+36|0;s=e+32|0;t=e+28|0;u=e+24|0;v=e+20|0;w=e+16|0;x=e+12|0;y=e+8|0;z=e+4|0;A=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[c[f>>2]>>2]=0;do if(c[g>>2]|0){c[x>>2]=Tf(c[g>>2]|0,47177,0)|0;if(c[x>>2]|0?(c[k>>2]=Fj(c[x>>2]|0,w,0)|0,Rf(c[x>>2]|0),c[x>>2]=0,c[k>>2]|0):0)break;c[x>>2]=Tf(c[g>>2]|0,47217,5)|0;if(c[x>>2]|0?(c[w>>2]&512|0)==0:0){B=13;break}c[k>>2]=Xh(o,c[g>>2]|0,47258)|0;if((((((c[k>>2]|0)==0?(c[k>>2]=Xh(p,c[g>>2]|0,39371)|0,(c[k>>2]|0)==0):0)?(c[k>>2]=Xh(q,c[g>>2]|0,35612)|0,(c[k>>2]|0)==0):0)?(c[k>>2]=Yh(r,c[g>>2]|0,35614,0)|0,(c[k>>2]|0)==0):0)?(c[k>>2]=Xh(s,c[g>>2]|0,39375)|0,(c[k>>2]|0)==0):0)?(c[k>>2]=Xh(t,c[g>>2]|0,35616)|0,(c[k>>2]|0)==0):0)B=13}else{c[x>>2]=0;B=13}while(0);do if((B|0)==13){if((c[x>>2]|0)!=0|(c[h>>2]|0)!=0){if(c[x>>2]|0){c[y>>2]=_f(c[x>>2]|0,1)|0;Rf(c[x>>2]|0);if(!(c[y>>2]|0)){c[k>>2]=65;break}}else c[y>>2]=0;c[z>>2]=wf(1,44)|0;if(!(c[z>>2]|0)){c[k>>2]=Et()|0;vf(c[y>>2]|0);break}c[k>>2]=Qh(0,c[y>>2]|0?c[y>>2]|0:c[h>>2]|0,c[z>>2]|0,0)|0;vf(c[y>>2]|0);d=c[z>>2]|0;if(c[k>>2]|0){vf(d);break}c[m>>2]=c[d>>2];c[n>>2]=c[(c[z>>2]|0)+4>>2];if(!(c[o>>2]|0)){c[o>>2]=c[(c[z>>2]|0)+8>>2];c[(c[z>>2]|0)+8>>2]=0}if(!(c[p>>2]|0)){c[p>>2]=c[(c[z>>2]|0)+12>>2];c[(c[z>>2]|0)+12>>2]=0}if(!(c[q>>2]|0)){c[q>>2]=c[(c[z>>2]|0)+16>>2];c[(c[z>>2]|0)+16>>2]=0}if(!(c[r>>2]|0)){c[r>>2]=Cn(0,c[(c[z>>2]|0)+20>>2]|0,c[(c[z>>2]|0)+20+4>>2]|0,c[(c[z>>2]|0)+20+8>>2]|0)|0;c[(c[z>>2]|0)+20>>2]=0;c[(c[z>>2]|0)+20+4>>2]=0;c[(c[z>>2]|0)+20+8>>2]=0}if(!(c[s>>2]|0)){c[s>>2]=c[(c[z>>2]|0)+32>>2];c[(c[z>>2]|0)+32>>2]=0}if(!(c[t>>2]|0)){c[t>>2]=c[(c[z>>2]|0)+36>>2];c[(c[z>>2]|0)+36>>2]=0}si(c[z>>2]|0);vf(c[z>>2]|0)}c[k>>2]=Gn(l,c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[k>>2]|0)){c[A>>2]=rh(c[l>>2]|0,1)|0;if(c[q>>2]|0){Dp(c[(c[A>>2]|0)+24>>2]|0);c[(c[A>>2]|0)+24>>2]=c[q>>2];c[q>>2]=0}if(c[r>>2]|0){c[(c[A>>2]|0)+28>>2]=c[r>>2];c[r>>2]=0}if(c[s>>2]|0){c[(c[A>>2]|0)+32>>2]=c[s>>2];c[s>>2]=0}if(c[t>>2]|0){c[(c[A>>2]|0)+36>>2]=c[t>>2];c[t>>2]=0}if(c[g>>2]|0){c[k>>2]=Yh(u,c[g>>2]|0,47215,c[A>>2]|0)|0;if(c[k>>2]|0)break;c[k>>2]=Xh(v,c[g>>2]|0,35618)|0;if(c[k>>2]|0)break}if(c[u>>2]|0){c[(c[A>>2]|0)+40>>2]=c[u>>2];c[u>>2]=0}if(c[v>>2]|0){c[(c[A>>2]|0)+44>>2]=c[v>>2];c[v>>2]=0}c[c[f>>2]>>2]=c[l>>2];c[l>>2]=0}}while(0);sh(c[l>>2]|0);Dp(c[o>>2]|0);Dp(c[p>>2]|0);Dp(c[q>>2]|0);zn(c[r>>2]|0);Dp(c[s>>2]|0);Dp(c[t>>2]|0);zn(c[u>>2]|0);Dp(c[v>>2]|0);i=e;return c[k>>2]|0}function Xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=Tf(c[g>>2]|0,c[h>>2]|0,0)|0;if(!(c[l>>2]|0)){m=c[k>>2]|0;i=e;return m|0}h=$f(c[l>>2]|0,1,5)|0;c[c[f>>2]>>2]=h;Rf(c[l>>2]|0);if(c[c[f>>2]>>2]|0){m=c[k>>2]|0;i=e;return m|0}c[k>>2]=65;m=c[k>>2]|0;i=e;return m|0}function Yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=f+48|0;h=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+28|0;o=f+24|0;p=f+20|0;q=f+16|0;r=f+12|0;s=f+8|0;t=f+4|0;u=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[o>>2]=Tf(c[k>>2]|0,c[l>>2]|0,0)|0;if(c[o>>2]|0){c[q>>2]=$f(c[o>>2]|0,1,8)|0;Rf(c[o>>2]|0);if(!(c[q>>2]|0)){c[g>>2]=65;v=c[g>>2]|0;i=f;return v|0}c[p>>2]=xn(0)|0;if(c[m>>2]|0?(c[(c[m>>2]|0)+4>>2]|0)==1:0)c[n>>2]=hi(c[q>>2]|0,c[m>>2]|0,c[p>>2]|0,0,0)|0;else c[n>>2]=zi(c[p>>2]|0,c[q>>2]|0)|0;Dp(c[q>>2]|0);if(c[n>>2]|0){zn(c[p>>2]|0);c[p>>2]=0;c[g>>2]=c[n>>2];v=c[g>>2]|0;i=f;return v|0}}else{c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[r>>2]=pf((hv(c[l>>2]|0)|0)+2+1|0)|0;if(!(c[r>>2]|0)){c[g>>2]=Et()|0;v=c[g>>2]|0;i=f;return v|0}tv(uv(c[r>>2]|0,c[l>>2]|0)|0,35620)|0;c[n>>2]=Xh(s,c[k>>2]|0,c[r>>2]|0)|0;q=c[r>>2]|0;if(c[n>>2]|0){vf(q);c[g>>2]=c[n>>2];v=c[g>>2]|0;i=f;return v|0}tv(uv(q,c[l>>2]|0)|0,35623)|0;c[n>>2]=Xh(t,c[k>>2]|0,c[r>>2]|0)|0;if(c[n>>2]|0){Dp(c[s>>2]|0);vf(c[r>>2]|0);c[g>>2]=c[n>>2];v=c[g>>2]|0;i=f;return v|0}tv(uv(c[r>>2]|0,c[l>>2]|0)|0,35626)|0;c[n>>2]=Xh(u,c[k>>2]|0,c[r>>2]|0)|0;if(c[n>>2]|0){Dp(c[t>>2]|0);Dp(c[s>>2]|0);vf(c[r>>2]|0);c[g>>2]=c[n>>2];v=c[g>>2]|0;i=f;return v|0}if(!(c[u>>2]|0))c[u>>2]=Op(0,1)|0;n=c[s>>2]|0;if((c[s>>2]|0)!=0&(c[t>>2]|0)!=0)c[p>>2]=Cn(0,n,c[t>>2]|0,c[u>>2]|0)|0;else{Dp(n);Dp(c[t>>2]|0);Dp(c[u>>2]|0);c[p>>2]=0}vf(c[r>>2]|0)}if(c[p>>2]|0)c[c[h>>2]>>2]=c[p>>2];c[g>>2]=0;v=c[g>>2]|0;i=f;return v|0}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;i=i+144|0;if((i|0)>=(j|0))$(144);d=b+8|0;e=b;f=b+132|0;g=b+128|0;h=b+124|0;k=b+80|0;l=b+76|0;m=b+72|0;n=b+68|0;o=b+40|0;p=b+36|0;q=b+32|0;c[g>>2]=a;a=k;r=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(r|0));if(Qh(0,c[g>>2]|0,k,h)|0){c[f>>2]=0;s=c[f>>2]|0;i=b;return s|0}c[m>>2]=Rp(0)|0;c[n>>2]=Rp(0)|0;c[l>>2]=En(0,0,0,c[k+8>>2]|0,c[k+12>>2]|0,0)|0;if(tn(c[m>>2]|0,c[n>>2]|0,k+20|0,c[l>>2]|0)|0)We(35629,e);In(c[l>>2]|0);An(k+20|0);c[o>>2]=c[k+8>>2];c[o+4>>2]=c[k+12>>2];c[o+8>>2]=c[k+16>>2];c[o+12>>2]=xi(c[m>>2]|0,c[n>>2]|0,c[k+8>>2]|0)|0;c[o+16>>2]=c[k+32>>2];c[o+20>>2]=c[k+36>>2];c[o+24>>2]=0;Dp(c[m>>2]|0);Dp(c[n>>2]|0);n=c[o+4>>2]|0;m=c[o+8>>2]|0;k=c[o+12>>2]|0;l=c[o+16>>2]|0;e=c[o+20>>2]|0;c[d>>2]=c[o>>2];c[d+4>>2]=n;c[d+8>>2]=m;c[d+12>>2]=k;c[d+16>>2]=l;c[d+20>>2]=e;if(cg(p,0,35678,d)|0)c[p>>2]=0;c[q>>2]=0;while(1){if(!(c[o+(c[q>>2]<<2)>>2]|0))break;Tp(c[o+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[f>>2]=c[p>>2];s=c[f>>2]|0;i=b;return s|0}function _h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,47258)|0)==0?c[(c[k>>2]|0)+16>>2]|0:0){if(c[(c[k>>2]|0)+16>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]&32|0)==0):0)p=c[(c[k>>2]|0)+16>>2]|0;else p=Ip(c[(c[k>>2]|0)+16>>2]|0)|0;c[g>>2]=p;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,39371)|0)==0?c[(c[k>>2]|0)+20>>2]|0:0){if(c[(c[k>>2]|0)+20>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[k>>2]|0)+20>>2]|0)+12>>2]&32|0)==0):0)q=c[(c[k>>2]|0)+20>>2]|0;else q=Ip(c[(c[k>>2]|0)+20>>2]|0)|0;c[g>>2]=q;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,35612)|0)==0?c[(c[k>>2]|0)+24>>2]|0:0){if(c[(c[k>>2]|0)+24>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[k>>2]|0)+24>>2]|0)+12>>2]&32|0)==0):0)r=c[(c[k>>2]|0)+24>>2]|0;else r=Ip(c[(c[k>>2]|0)+24>>2]|0)|0;c[g>>2]=r;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,39375)|0)==0?c[(c[k>>2]|0)+32>>2]|0:0){if(c[(c[k>>2]|0)+32>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[k>>2]|0)+32>>2]|0)+12>>2]&32|0)==0):0)s=c[(c[k>>2]|0)+32>>2]|0;else s=Ip(c[(c[k>>2]|0)+32>>2]|0)|0;c[g>>2]=s;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,35616)|0)==0?c[(c[k>>2]|0)+36>>2]|0:0){if(c[(c[k>>2]|0)+36>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[k>>2]|0)+36>>2]|0)+12>>2]&32|0)==0):0)t=c[(c[k>>2]|0)+36>>2]|0;else t=Ip(c[(c[k>>2]|0)+36>>2]|0)|0;c[g>>2]=t;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,35618)|0)==0?c[(c[k>>2]|0)+44>>2]|0:0){if(c[(c[k>>2]|0)+44>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[k>>2]|0)+44>>2]|0)+12>>2]&32|0)==0):0)u=c[(c[k>>2]|0)+44>>2]|0;else u=Ip(c[(c[k>>2]|0)+44>>2]|0)|0;c[g>>2]=u;o=c[g>>2]|0;i=f;return o|0}if(((Fu(c[h>>2]|0,35726)|0)==0?c[(c[k>>2]|0)+28>>2]|0:0)?c[c[(c[k>>2]|0)+28>>2]>>2]|0:0){if(c[c[(c[k>>2]|0)+28>>2]>>2]|0?!(c[l>>2]|0?1:(c[(c[c[(c[k>>2]|0)+28>>2]>>2]|0)+12>>2]&32|0)==0):0)v=c[c[(c[k>>2]|0)+28>>2]>>2]|0;else v=Ip(c[c[(c[k>>2]|0)+28>>2]>>2]|0)|0;c[g>>2]=v;o=c[g>>2]|0;i=f;return o|0}if(((Fu(c[h>>2]|0,35730)|0)==0?c[(c[k>>2]|0)+28>>2]|0:0)?c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0:0){if(c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)w=c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0;else w=Ip(c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0)|0;c[g>>2]=w;o=c[g>>2]|0;i=f;return o|0}if(((Fu(c[h>>2]|0,35734)|0)==0?c[(c[k>>2]|0)+40>>2]|0:0)?c[c[(c[k>>2]|0)+40>>2]>>2]|0:0){if(c[c[(c[k>>2]|0)+40>>2]>>2]|0?!(c[l>>2]|0?1:(c[(c[c[(c[k>>2]|0)+40>>2]>>2]|0)+12>>2]&32|0)==0):0)x=c[c[(c[k>>2]|0)+40>>2]>>2]|0;else x=Ip(c[c[(c[k>>2]|0)+40>>2]>>2]|0)|0;c[g>>2]=x;o=c[g>>2]|0;i=f;return o|0}if(((Fu(c[h>>2]|0,35738)|0)==0?c[(c[k>>2]|0)+40>>2]|0:0)?c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0:0){if(c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0?!(c[l>>2]|0?1:(c[(c[(c[(c[k>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)y=c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0;else y=Ip(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)|0;c[g>>2]=y;o=c[g>>2]|0;i=f;return o|0}if((Fu(c[h>>2]|0,35614)|0)==0?c[(c[k>>2]|0)+28>>2]|0:0){c[g>>2]=yi(c[(c[k>>2]|0)+28>>2]|0,c[k>>2]|0)|0;o=c[g>>2]|0;i=f;return o|0}do if((a[c[h>>2]>>0]|0)==113){if(a[(c[h>>2]|0)+1>>0]|0?(a[(c[h>>2]|0)+1>>0]|0)!=64:0)break;if(!(c[(c[k>>2]|0)+40>>2]|0)){y=Ai(0,c[k>>2]|0,0,0)|0;c[(c[k>>2]|0)+40>>2]=y}if(!(c[(c[k>>2]|0)+40>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}if((a[(c[h>>2]|0)+1>>0]|0)!=64){c[g>>2]=yi(c[(c[k>>2]|0)+40>>2]|0,c[k>>2]|0)|0;o=c[g>>2]|0;i=f;return o|0}if((Fu((c[h>>2]|0)+2|0,49923)|0)==0?(c[c[k>>2]>>2]|0)==2:0){if(ci(c[(c[k>>2]|0)+40>>2]|0,c[k>>2]|0,0,0,0,m,n)|0)break;c[g>>2]=Ep(0,c[m>>2]|0,c[n>>2]<<3)|0;o=c[g>>2]|0;i=f;return o|0}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function $h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((Fu(c[f>>2]|0,35614)|0)==0?c[(c[g>>2]|0)+28>>2]|0:0){c[e>>2]=ai(c[(c[g>>2]|0)+28>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}if(!(Fu(c[f>>2]|0,47215)|0)){if(!(c[(c[g>>2]|0)+40>>2]|0)){f=Ai(0,c[g>>2]|0,0,0)|0;c[(c[g>>2]|0)+40>>2]=f}if(c[(c[g>>2]|0)+40>>2]|0){c[e>>2]=ai(c[(c[g>>2]|0)+40>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}}c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}function ai(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;if(c[d>>2]|0){c[e>>2]=xn(0)|0;bi(c[e>>2]|0,c[d>>2]|0);f=c[e>>2]|0;i=b;return f|0}else{c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Kp(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;Kp(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;Kp(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function ci(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=k+40|0;m=k+36|0;n=k+32|0;o=k+28|0;p=k+24|0;q=k+20|0;r=k+16|0;s=k+12|0;t=k+8|0;u=k+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;if(c[n>>2]|0)v=c[n>>2]|0;else v=Rp(0)|0;c[t>>2]=v;if(c[o>>2]|0)w=c[o>>2]|0;else w=Rp(0)|0;c[u>>2]=w;if(tn(c[t>>2]|0,c[u>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){Ve(35742,k);c[s>>2]=63}else c[s>>2]=di(c[t>>2]|0,c[u>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[n>>2]|0))Dp(c[t>>2]|0);if(c[o>>2]|0){x=c[s>>2]|0;i=k;return x|0}Dp(c[u>>2]|0);x=c[s>>2]|0;i=k;return x|0}function di(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;l=i;i=i+48|0;if((i|0)>=(j|0))$(48);m=l+36|0;n=l+32|0;o=l+28|0;p=l+24|0;q=l+20|0;r=l+16|0;s=l+12|0;t=l+8|0;u=l+4|0;v=l;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;c[v>>2]=c[q>>2]|0?1:0;c[t>>2]=Xo(c[o>>2]|0,c[p>>2]|0,c[v>>2]|0?-1:0,u,0)|0;if(!(c[t>>2]|0)){c[m>>2]=Et()|0;w=c[m>>2]|0;i=l;return w|0}p=(mo(c[n>>2]|0,0)|0)!=0;if(p&(c[u>>2]|0)!=0){p=(c[t>>2]|0)+((c[v>>2]|0)+(c[u>>2]|0)-1)|0;a[p>>0]=d[p>>0]|0|128}if(c[v>>2]|0)a[c[t>>2]>>0]=64;c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=(c[u>>2]|0)+(c[v>>2]|0);c[m>>2]=0;w=c[m>>2]|0;i=l;return w|0}function ei(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+36|0;g=e+32|0;h=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;o=e+8|0;p=e+4|0;q=e;c[g>>2]=a;c[h>>2]=b;if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[l>>2]=Gp(c[g>>2]|0,m)|0;if(!(c[l>>2]|0)){c[f>>2]=65;r=c[f>>2]|0;i=e;return r|0}c[m>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;do if((c[m>>2]|0)>>>0>1?((c[m>>2]|0)>>>0)%2|0|0:0){b=c[l>>2]|0;if((d[c[l>>2]>>0]|0|0)!=4){if((d[b>>0]|0|0)!=64)break;if(Fp(c[g>>2]|0,(c[l>>2]|0)+1|0,(c[m>>2]|0)-1<<3)|0)break;c[f>>2]=Et()|0;r=c[f>>2]|0;i=e;return r|0}c[k>>2]=Zo(n,1,b+1|0,(((c[m>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];r=c[f>>2]|0;i=e;return r|0}c[k>>2]=Zo(o,1,(c[l>>2]|0)+1+((((c[m>>2]|0)-1|0)>>>0)/2|0)|0,(((c[m>>2]|0)-1|0)>>>0)/2|0,0)|0;b=c[n>>2]|0;if(c[k>>2]|0){Dp(b);c[f>>2]=c[k>>2];r=c[f>>2]|0;i=e;return r|0}c[k>>2]=di(b,c[o>>2]|0,((c[h>>2]|0)>>>0)/8|0,0,p,q)|0;Dp(c[n>>2]|0);Dp(c[o>>2]|0);if(!(c[k>>2]|0)){Ep(c[g>>2]|0,c[p>>2]|0,c[q>>2]<<3)|0;break}c[f>>2]=c[k>>2];r=c[f>>2]|0;i=e;return r|0}while(0);c[f>>2]=0;r=c[f>>2]|0;i=e;return r|0}c[f>>2]=65;r=c[f>>2]|0;i=e;return r|0}function fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+36|0;h=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=0;if((c[(c[m>>2]|0)+4>>2]|0)!=1){c[g>>2]=69;s=c[g>>2]|0;i=f;return s|0}if(!(c[17732]|0))c[17732]=gi(35795)|0;if(!(c[17733]|0))c[17733]=Op(0,7)|0;c[o>>2]=Rp(0)|0;c[p>>2]=Rp(0)|0;c[q>>2]=Rp(0)|0;c[r>>2]=Rp(0)|0;Ro(c[o>>2]|0,c[k>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[p>>2]|0,c[(c[m>>2]|0)+24>>2]|0,c[o>>2]|0,c[(c[m>>2]|0)+16>>2]|0);go(c[o>>2]|0,c[o>>2]|0,1);eo(c[p>>2]|0,c[p>>2]|0,1);k=c[q>>2]|0;e=c[p>>2]|0;d=Wp(3)|0;So(k,e,d,c[(c[m>>2]|0)+16>>2]|0);So(c[r>>2]|0,c[p>>2]|0,c[17733]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[r>>2]|0,c[r>>2]|0,c[o>>2]|0,c[(c[m>>2]|0)+16>>2]|0);So(c[r>>2]|0,c[r>>2]|0,c[17732]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[r>>2]|0,c[r>>2]|0,c[o>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[h>>2]|0,c[r>>2]|0,c[q>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[r>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[r>>2]|0,c[r>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Jp(c[r>>2]|0,c[r>>2]|0);if(!(wo(c[r>>2]|0,c[o>>2]|0)|0)){if(!(c[17734]|0))c[17734]=gi(35860)|0;Ro(c[h>>2]|0,c[h>>2]|0,c[17734]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[r>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Ro(c[r>>2]|0,c[r>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+16>>2]|0);Jp(c[r>>2]|0,c[r>>2]|0);if(!(wo(c[r>>2]|0,c[o>>2]|0)|0))c[n>>2]=65}d=mo(c[h>>2]|0,0)|0;if((d|0)!=(((c[l>>2]|0)!=0^1^1)&1|0))ho(c[h>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[h>>2]|0);Dp(c[r>>2]|0);Dp(c[q>>2]|0);Dp(c[p>>2]|0);Dp(c[o>>2]|0);c[g>>2]=c[n>>2];s=c[g>>2]|0;i=f;return s|0}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Zo(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=Bt(c[f>>2]|0)|0;We(35925,d)}else{i=b;return c[g>>2]|0}return 0}function hi(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=k+48|0;m=k+44|0;n=k+40|0;o=k+36|0;p=k+32|0;q=k+28|0;r=k+24|0;s=k+20|0;t=k+16|0;u=k+12|0;v=k+8|0;w=k+4|0;x=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;do if(c[m>>2]|0?c[(c[m>>2]|0)+12>>2]&4|0:0){c[v>>2]=Gp(c[m>>2]|0,t)|0;if(!(c[v>>2]|0)){c[l>>2]=65;y=c[l>>2]|0;i=k;return y|0}c[t>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;do if((c[t>>2]|0)>>>0>1?((c[t>>2]|0)>>>0)%2|0|0:0){h=c[v>>2]|0;if((d[c[v>>2]>>0]|0|0)!=4){if((d[h>>0]|0|0)!=64)break;c[t>>2]=(c[t>>2]|0)+-1;c[v>>2]=(c[v>>2]|0)+1;break}c[r>>2]=Zo(w,1,h+1|0,(((c[t>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[r>>2]|0){c[l>>2]=c[r>>2];y=c[l>>2]|0;i=k;return y|0}c[r>>2]=Zo(x,1,(c[v>>2]|0)+1+((((c[t>>2]|0)-1|0)>>>0)/2|0)|0,(((c[t>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[r>>2]|0){Dp(c[w>>2]|0);c[l>>2]=c[r>>2];y=c[l>>2]|0;i=k;return y|0}if(c[p>>2]|0?(c[r>>2]=di(c[w>>2]|0,c[x>>2]|0,((c[(c[n>>2]|0)+12>>2]|0)>>>0)/8|0,0,c[p>>2]|0,c[q>>2]|0)|0,c[r>>2]|0):0){Dp(c[w>>2]|0);Dp(c[x>>2]|0);c[l>>2]=c[r>>2];y=c[l>>2]|0;i=k;return y|0}Mp(c[c[o>>2]>>2]|0,c[w>>2]|0);Mp(c[(c[o>>2]|0)+4>>2]|0,c[x>>2]|0);Op(c[(c[o>>2]|0)+8>>2]|0,1)|0;c[l>>2]=0;y=c[l>>2]|0;i=k;return y|0}while(0);c[s>>2]=pf(c[t>>2]|0?c[t>>2]|0:1)|0;if(c[s>>2]|0){Yw(c[s>>2]|0,c[v>>2]|0,c[t>>2]|0)|0;ii(c[s>>2]|0,c[t>>2]|0);break}c[l>>2]=Et()|0;y=c[l>>2]|0;i=k;return y|0}else z=21;while(0);if((z|0)==21?(c[s>>2]=Vo(c[m>>2]|0,((c[(c[n>>2]|0)+12>>2]|0)>>>0)/8|0,t,0)|0,(c[s>>2]|0)==0):0){c[l>>2]=Et()|0;y=c[l>>2]|0;i=k;return y|0}if(c[t>>2]|0){c[u>>2]=(((d[c[s>>2]>>0]|0)&128|0)!=0^1^1)&1;m=c[s>>2]|0;a[m>>0]=(d[m>>0]|0)&127}else c[u>>2]=0;Yo(c[(c[o>>2]|0)+4>>2]|0,c[s>>2]|0,c[t>>2]|0,0);if(c[p>>2]|0){if((c[u>>2]|0)!=0&(c[t>>2]|0)!=0){m=c[s>>2]|0;a[m>>0]=d[m>>0]|0|128}ii(c[s>>2]|0,c[t>>2]|0);c[c[p>>2]>>2]=c[s>>2];if(c[q>>2]|0)c[c[q>>2]>>2]=c[t>>2]}else vf(c[s>>2]|0);c[r>>2]=fi(c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[u>>2]|0,c[n>>2]|0)|0;Op(c[(c[o>>2]|0)+8>>2]|0,1)|0;c[l>>2]=c[r>>2];y=c[l>>2]|0;i=k;return y|0}function ii(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(((c[h>>2]|0)>>>0)/2|0)>>>0)break;c[k>>2]=d[(c[g>>2]|0)+(c[l>>2]|0)>>0];a[(c[g>>2]|0)+(c[l>>2]|0)>>0]=a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[l>>2]|0))>>0]|0;a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[l>>2]|0))>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}i=f;return}function ji(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=g+68|0;k=g+64|0;l=g+60|0;m=g+56|0;n=g+52|0;o=g+48|0;p=g+44|0;q=g+40|0;r=g+8|0;s=g+4|0;t=g;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[c[k>>2]>>2]=0;c[s>>2]=10;if((c[s>>2]|0)!=10){c[h>>2]=5;u=c[h>>2]|0;i=g;return u|0}c[t>>2]=(((c[(c[m>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[t>>2]|0)!=32){c[h>>2]=63;u=c[h>>2]|0;i=g;return u|0}c[q>>2]=xf(2,c[t>>2]|0)|0;if(!(c[q>>2]|0)){c[h>>2]=Et()|0;u=c[h>>2]|0;i=g;return u|0};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[o>>2]=Vo(c[l>>2]|0,0,p,0)|0;l=c[q>>2]|0;if(!(c[o>>2]|0)){vf(l);c[h>>2]=Et()|0;u=c[h>>2]|0;i=g;return u|0}c[r+12>>2]=l;c[r+4>>2]=0;if((c[t>>2]|0)>>>0>(c[p>>2]|0)>>>0)v=(c[t>>2]|0)-(c[p>>2]|0)|0;else v=0;c[r+8>>2]=v;c[r+16+12>>2]=c[o>>2];c[r+16+4>>2]=0;c[r+16+8>>2]=c[p>>2];c[n>>2]=mj(c[s>>2]|0,0,c[q>>2]|0,r,2)|0;vf(c[o>>2]|0);o=c[q>>2]|0;if(c[n>>2]|0){vf(o);c[h>>2]=c[n>>2];u=c[h>>2]|0;i=g;return u|0}else{ii(o,32);a[c[q>>2]>>0]=(d[c[q>>2]>>0]|0)&127|64;o=(c[q>>2]|0)+31|0;a[o>>0]=(d[o>>0]|0)&248;c[c[k>>2]>>2]=c[q>>2];c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}return 0}function ki(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=i;i=i+96|0;if((i|0)>=(j|0))$(96);k=h+80|0;l=h+76|0;m=h+72|0;n=h+68|0;o=h+64|0;p=h+60|0;q=h+56|0;r=h+52|0;s=h+48|0;t=h+36|0;u=h+32|0;v=h+28|0;w=h+24|0;x=h+8|0;y=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=32;c[y>>2]=0;yn(t);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;if(c[n>>2]&32|0)c[u>>2]=1;else c[u>>2]=2;c[q>>2]=Sp(0)|0;c[r>>2]=Rp(0)|0;c[s>>2]=Rp(0)|0;c[y>>2]=sf(c[p>>2]<<1)|0;if(!(c[y>>2]|0)){c[o>>2]=li()|0;An(t);z=c[q>>2]|0;Tp(z);A=c[r>>2]|0;Tp(A);B=c[s>>2]|0;Tp(B);C=c[y>>2]|0;vf(C);D=c[o>>2]|0;i=h;return D|0}c[w>>2]=c[p>>2];c[v>>2]=hn(c[w>>2]|0,c[u>>2]|0)|0;c[x+12>>2]=c[v>>2];c[x+8>>2]=c[w>>2];c[o>>2]=mj(10,0,c[y>>2]|0,x,1)|0;if(c[o>>2]|0){An(t);z=c[q>>2]|0;Tp(z);A=c[r>>2]|0;Tp(A);B=c[s>>2]|0;Tp(B);C=c[y>>2]|0;vf(C);D=c[o>>2]|0;i=h;return D|0}x=Ep(0,c[v>>2]|0,c[w>>2]<<3)|0;c[(c[k>>2]|0)+56>>2]=x;c[v>>2]=0;ii(c[y>>2]|0,32);a[c[y>>2]>>0]=(d[c[y>>2]>>0]|0)&127|64;v=(c[y>>2]|0)+31|0;a[v>>0]=(d[v>>0]|0)&248;Yo(c[q>>2]|0,c[y>>2]|0,32,0);vf(c[y>>2]|0);c[y>>2]=0;$n(t,c[q>>2]|0,(c[l>>2]|0)+20|0,c[m>>2]|0);if(Ff(1)|0)sn(35960,t,c[m>>2]|0);c[c[k>>2]>>2]=c[c[l>>2]>>2];c[(c[k>>2]|0)+4>>2]=c[(c[l>>2]|0)+4>>2];m=Ip(c[(c[l>>2]|0)+8>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=m;m=Ip(c[(c[l>>2]|0)+12>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=m;m=Ip(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=m;yn((c[k>>2]|0)+20|0);mi((c[k>>2]|0)+20|0,(c[l>>2]|0)+20|0);m=Ip(c[(c[l>>2]|0)+32>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=m;m=Ip(c[(c[l>>2]|0)+36>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=m;yn((c[k>>2]|0)+44|0);mi((c[k>>2]|0)+44|0,t);An(t);z=c[q>>2]|0;Tp(z);A=c[r>>2]|0;Tp(A);B=c[s>>2]|0;Tp(B);C=c[y>>2]|0;vf(C);D=c[o>>2]|0;i=h;return D|0}function li(){return ni(Et()|0)|0}function mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Kp(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;Kp(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;Kp(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function ni(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=oi(1,c[d>>2]|0)|0;i=b;return a|0}function oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;h=i;i=i+160|0;if((i|0)>=(j|0))$(160);k=h+156|0;l=h+152|0;m=h+148|0;n=h+144|0;o=h+140|0;p=h+136|0;q=h+132|0;r=h+128|0;s=h+124|0;t=h+120|0;u=h+116|0;v=h+112|0;w=h+64|0;x=h+60|0;y=h+56|0;z=h+52|0;A=h+48|0;B=h+44|0;C=h+40|0;D=h+28|0;E=h+16|0;F=h+12|0;G=h+8|0;H=h+4|0;I=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[s>>2]=0;c[z>>2]=0;c[B>>2]=0;g=w;f=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));if(c[l>>2]|0?c[(c[l>>2]|0)+12>>2]&4|0:0){yn(D);yn(E);c[F>>2]=Sp(0)|0;c[G>>2]=Rp(0)|0;c[H>>2]=Rp(0)|0;c[I>>2]=Rp(0)|0;c[s>>2]=En(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0)|0;c[t>>2]=(((c[(c[s>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[t>>2]|0)!=32){c[k>>2]=63;J=c[k>>2]|0;i=h;return J|0}c[r>>2]=ji(v,c[(c[m>>2]|0)+56>>2]|0,c[s>>2]|0)|0;do if(!(c[r>>2]|0)){Yo(c[F>>2]|0,c[v>>2]|0,32,0);if(c[q>>2]|0){c[r>>2]=hi(c[q>>2]|0,c[s>>2]|0,E,B,C)|0;if(c[r>>2]|0)break;if(Ff(1)|0)_e(35974,c[B>>2]|0,c[C>>2]|0);if(!(bo(E,c[s>>2]|0)|0)){c[r>>2]=195;break}}else{$n(E,c[F>>2]|0,(c[m>>2]|0)+20|0,c[s>>2]|0);c[r>>2]=ci(E,c[s>>2]|0,c[G>>2]|0,c[H>>2]|0,0,B,C)|0;if(c[r>>2]|0)break;if(Ff(1)|0)_e(35981,c[B>>2]|0,c[C>>2]|0)}c[x>>2]=Gp(c[l>>2]|0,u)|0;c[y>>2]=(((c[u>>2]|0)+7|0)>>>0)/8|0;if(Ff(1)|0)_e(35988,c[x>>2]|0,c[y>>2]|0);c[w+12>>2]=c[v>>2];c[w+4>>2]=32;c[w+8>>2]=32;c[w+16+12>>2]=c[x>>2];c[w+16+8>>2]=c[y>>2];c[r>>2]=mj(c[p>>2]|0,0,c[v>>2]|0,w,2)|0;if(!(c[r>>2]|0)){ii(c[v>>2]|0,64);if(Ff(1)|0)_e(53409,c[v>>2]|0,64);Yo(c[I>>2]|0,c[v>>2]|0,64,0);$n(D,c[I>>2]|0,(c[m>>2]|0)+20|0,c[s>>2]|0);if(Ff(1)|0)sn(35995,D,c[s>>2]|0);c[r>>2]=ci(D,c[s>>2]|0,c[G>>2]|0,c[H>>2]|0,0,z,A)|0;if(!(c[r>>2]|0)){if(Ff(1)|0)_e(36e3,c[z>>2]|0,c[A>>2]|0);c[w+12>>2]=c[z>>2];c[w+4>>2]=0;c[w+8>>2]=c[A>>2];c[w+16+12>>2]=c[B>>2];c[w+16+4>>2]=0;c[w+16+8>>2]=c[C>>2];c[w+32+12>>2]=c[x>>2];c[w+32+4>>2]=0;c[w+32+8>>2]=c[y>>2];c[r>>2]=mj(c[p>>2]|0,0,c[v>>2]|0,w,3)|0;if(!(c[r>>2]|0)){Ep(c[n>>2]|0,c[z>>2]|0,c[A>>2]<<3)|0;c[z>>2]=0;ii(c[v>>2]|0,64);if(Ff(1)|0)_e(36007,c[v>>2]|0,64);Yo(c[o>>2]|0,c[v>>2]|0,64,0);Ro(c[o>>2]|0,c[o>>2]|0,c[F>>2]|0,c[(c[m>>2]|0)+32>>2]|0);io(c[o>>2]|0,c[o>>2]|0,c[I>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[r>>2]=qi(c[o>>2]|0,c[t>>2]|0,z,A)|0;if(!(c[r>>2]|0)){if(Ff(1)|0)_e(36014,c[z>>2]|0,c[A>>2]|0);Ep(c[o>>2]|0,c[z>>2]|0,c[A>>2]<<3)|0;c[z>>2]=0;c[r>>2]=0}}}}}while(0);Tp(c[F>>2]|0);Tp(c[G>>2]|0);Tp(c[H>>2]|0);Tp(c[I>>2]|0);vf(c[v>>2]|0);In(c[s>>2]|0);An(D);An(E);vf(c[B>>2]|0);vf(c[z>>2]|0);c[k>>2]=c[r>>2];J=c[k>>2]|0;i=h;return J|0}c[k>>2]=79;J=c[k>>2]|0;i=h;return J|0}function qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+24|0;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=Vo(c[h>>2]|0,c[k>>2]|0,o,0)|0;if(c[n>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2];c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}else{c[g>>2]=Et()|0;p=c[g>>2]|0;i=f;return p|0}return 0}function ri(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;h=i;i=i+240|0;if((i|0)>=(j|0))$(240);k=h+172|0;l=h+168|0;m=h+164|0;n=h+160|0;o=h+156|0;p=h+152|0;q=h+148|0;r=h+144|0;s=h+140|0;t=h+136|0;u=h+132|0;v=h+120|0;w=h+116|0;x=h+112|0;y=h+108|0;z=h+104|0;A=h+100|0;B=h+96|0;C=h+92|0;D=h+88|0;E=h+176|0;F=h+40|0;G=h+36|0;H=h+32|0;I=h+20|0;J=h+8|0;K=h+4|0;L=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[s>>2]=0;c[w>>2]=0;c[A>>2]=0;if(((c[l>>2]|0?(c[n>>2]|0?(c[(c[l>>2]|0)+12>>2]&4|0)!=0:0):0)?(c[o>>2]|0?(c[(c[n>>2]|0)+12>>2]&4|0)!=0:0):0)?c[(c[o>>2]|0)+12>>2]&4|0:0){if((c[p>>2]|0)!=10){c[k>>2]=5;M=c[k>>2]|0;i=h;return M|0}yn(v);yn(I);yn(J);c[G>>2]=Rp(0)|0;c[H>>2]=Rp(0)|0;c[s>>2]=En(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0)|0;c[t>>2]=((c[(c[s>>2]|0)+12>>2]|0)>>>0)/8|0;if((c[t>>2]|0)!=32){c[k>>2]=63;M=c[k>>2]|0;i=h;return M|0}c[r>>2]=hi(c[q>>2]|0,c[s>>2]|0,v,w,x)|0;a:do if(!(c[r>>2]|0)){if(!(bo(v,c[s>>2]|0)|0)){c[r>>2]=195;break}if(Ff(1)|0)_e(35981,c[w>>2]|0,c[x>>2]|0);if((c[x>>2]|0)!=(c[t>>2]|0)){c[r>>2]=139;break}c[y>>2]=Gp(c[l>>2]|0,u)|0;c[B>>2]=(((c[u>>2]|0)+7|0)>>>0)/8|0;if(Ff(1)|0)_e(35988,c[y>>2]|0,c[B>>2]|0);c[z>>2]=Gp(c[n>>2]|0,u)|0;c[C>>2]=(((c[u>>2]|0)+7|0)>>>0)/8|0;if(Ff(1)|0)_e(53409,c[z>>2]|0,c[C>>2]|0);if((c[C>>2]|0)!=(c[t>>2]|0)){c[r>>2]=139;break}c[F+12>>2]=c[z>>2];c[F+4>>2]=0;c[F+8>>2]=c[C>>2];c[F+16+12>>2]=c[w>>2];c[F+16+4>>2]=0;c[F+16+8>>2]=c[x>>2];c[F+32+12>>2]=c[y>>2];c[F+32+4>>2]=0;c[F+32+8>>2]=c[B>>2];c[r>>2]=mj(c[p>>2]|0,0,E,F,3)|0;if(!(c[r>>2]|0)){ii(E,64);if(Ff(1)|0)_e(36007,E,64);Yo(c[G>>2]|0,E,64,0);c[K>>2]=Hp(c[o>>2]|0,u)|0;c[L>>2]=(((c[u>>2]|0)+7|0)>>>0)/8|0;ii(c[K>>2]|0,c[L>>2]|0);if(Ff(1)|0)_e(53416,c[K>>2]|0,c[L>>2]|0);Yo(c[H>>2]|0,c[K>>2]|0,c[L>>2]|0,0);vf(c[K>>2]|0);if((c[L>>2]|0)!=(c[t>>2]|0)){c[r>>2]=139;break}$n(I,c[H>>2]|0,(c[m>>2]|0)+20|0,c[s>>2]|0);$n(J,c[G>>2]|0,v,c[s>>2]|0);Jp(c[J>>2]|0,c[J>>2]|0);Vn(I,I,J,c[s>>2]|0);c[r>>2]=ci(I,c[s>>2]|0,c[H>>2]|0,c[G>>2]|0,0,A,D)|0;if(!(c[r>>2]|0)){do if((c[D>>2]|0)==(c[C>>2]|0)){if(Jv(c[A>>2]|0,c[z>>2]|0,c[D>>2]|0)|0)break;c[r>>2]=0;break a}while(0);c[r>>2]=8}}}while(0);vf(c[w>>2]|0);vf(c[A>>2]|0);In(c[s>>2]|0);Tp(c[H>>2]|0);Tp(c[G>>2]|0);An(I);An(J);An(v);c[k>>2]=c[r>>2];M=c[k>>2]|0;i=h;return M|0}c[k>>2]=79;M=c[k>>2]|0;i=h;return M|0}function si(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Dp(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;Dp(c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+12>>2]=0;Dp(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;An((c[d>>2]|0)+20|0);Dp(c[(c[d>>2]|0)+32>>2]|0);c[(c[d>>2]|0)+32>>2]=0;Dp(c[(c[d>>2]|0)+36>>2]|0);c[(c[d>>2]|0)+36>>2]=0;i=b;return}function ti(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+40>>2]=c[b+40>>2];c[e+8>>2]=Ip(c[b+8>>2]|0)|0;c[e+12>>2]=Ip(c[b+12>>2]|0)|0;c[e+16>>2]=Ip(c[b+16>>2]|0)|0;yn(e+20|0);ui(e+20|0,b+20|0);c[e+32>>2]=Ip(c[b+32>>2]|0)|0;c[e+36>>2]=Ip(c[b+36>>2]|0)|0;b=a;a=e;e=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));i=d;return}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Kp(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;Kp(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;Kp(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function vi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37975;switch(c[d>>2]|0){case 0:{c[e>>2]=36021;break}case 1:{c[e>>2]=45707;break}case 2:{c[e>>2]=36033;break}default:{}}i=b;return c[e>>2]|0}function wi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37975;switch(c[d>>2]|0){case 0:{c[e>>2]=36041;break}case 1:{c[e>>2]=36050;break}default:{}}i=b;return c[e>>2]|0}function xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=f+16|0;h=f+8|0;k=f;l=f+52|0;m=f+48|0;n=f+44|0;o=f+40|0;p=f+36|0;q=f+32|0;r=f+28|0;s=f+24|0;t=f+20|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[p>>2]=(((lo(c[n>>2]|0)|0)+7|0)>>>0)/8|0;c[r>>2]=zf(1+(c[p>>2]<<1)|0)|0;a[c[r>>2]>>0]=4;c[s>>2]=(c[r>>2]|0)+1;c[o>>2]=bp(5,c[s>>2]|0,c[p>>2]|0,q,c[l>>2]|0)|0;if(c[o>>2]|0){c[k>>2]=Bt(c[o>>2]|0)|0;We(36058,k)}if((c[q>>2]|0)>>>0<(c[p>>2]|0)>>>0){Zw((c[s>>2]|0)+((c[p>>2]|0)-(c[q>>2]|0))|0,c[s>>2]|0,c[q>>2]|0)|0;Sw(c[s>>2]|0,0,(c[p>>2]|0)-(c[q>>2]|0)|0)|0}c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);c[o>>2]=bp(5,c[s>>2]|0,c[p>>2]|0,q,c[m>>2]|0)|0;if(c[o>>2]|0){c[h>>2]=Bt(c[o>>2]|0)|0;We(36058,h)}if((c[q>>2]|0)>>>0<(c[p>>2]|0)>>>0){Zw((c[s>>2]|0)+((c[p>>2]|0)-(c[q>>2]|0))|0,c[s>>2]|0,c[q>>2]|0)|0;Sw(c[s>>2]|0,0,(c[p>>2]|0)-(c[q>>2]|0)|0)|0}c[o>>2]=Zo(t,5,c[r>>2]|0,1+(c[p>>2]<<1)|0,0)|0;if(c[o>>2]|0){c[g>>2]=Bt(c[o>>2]|0)|0;We(36080,g)}else{vf(c[r>>2]|0);i=f;return c[t>>2]|0}return 0}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Rp(0)|0;c[h>>2]=Rp(0)|0;if(tn(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0,c[f>>2]|0)|0)c[k>>2]=0;else c[k>>2]=xi(c[g>>2]|0,c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0;Dp(c[g>>2]|0);Dp(c[h>>2]|0);i=d;return c[k>>2]|0}function zi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+36|0;g=e+32|0;h=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;o=e+8|0;p=e+4|0;q=e;c[g>>2]=a;c[h>>2]=b;do if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&4|0:0){c[m>>2]=Gp(c[h>>2]|0,q)|0;if(c[m>>2]|0){c[l>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[n>>2]=0;break}c[f>>2]=65;r=c[f>>2]|0;i=e;return r|0}else s=6;while(0);do if((s|0)==6){c[l>>2]=(((lo(c[h>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=zf(c[l>>2]|0)|0;c[k>>2]=bp(5,c[n>>2]|0,c[l>>2]|0,l,c[h>>2]|0)|0;q=c[n>>2]|0;if(!(c[k>>2]|0)){c[m>>2]=q;break}vf(q);c[f>>2]=c[k>>2];r=c[f>>2]|0;i=e;return r|0}while(0);if((c[l>>2]|0)>>>0<1){vf(c[n>>2]|0);c[f>>2]=65;r=c[f>>2]|0;i=e;return r|0}if((d[c[m>>2]>>0]|0|0)!=4){vf(c[n>>2]|0);c[f>>2]=69;r=c[f>>2]|0;i=e;return r|0}if((((c[l>>2]|0)-1|0)>>>0)%2|0|0){vf(c[n>>2]|0);c[f>>2]=65;r=c[f>>2]|0;i=e;return r|0}c[l>>2]=(((c[l>>2]|0)-1|0)>>>0)/2|0;c[k>>2]=Zo(o,5,(c[m>>2]|0)+1|0,c[l>>2]|0,0)|0;if(c[k>>2]|0){vf(c[n>>2]|0);c[f>>2]=c[k>>2];r=c[f>>2]|0;i=e;return r|0}c[k>>2]=Zo(p,5,(c[m>>2]|0)+1+(c[l>>2]|0)|0,c[l>>2]|0,0)|0;vf(c[n>>2]|0);if(c[k>>2]|0){Dp(c[o>>2]|0);c[f>>2]=c[k>>2];r=c[f>>2]|0;i=e;return r|0}else{Kp(c[c[g>>2]>>2]|0,c[o>>2]|0)|0;Kp(c[(c[g>>2]|0)+4>>2]|0,c[p>>2]|0)|0;Op(c[(c[g>>2]|0)+8>>2]|0,1)|0;Dp(c[o>>2]|0);Dp(c[p>>2]|0);c[f>>2]=0;r=c[f>>2]|0;i=e;return r|0}return 0}function Ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+24|0;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if(!(c[l>>2]|0))c[l>>2]=c[(c[k>>2]|0)+28>>2];if(!(c[m>>2]|0))c[m>>2]=c[(c[k>>2]|0)+44>>2];if(((c[m>>2]|0)!=0&(c[l>>2]|0)!=0?c[(c[k>>2]|0)+16>>2]|0:0)?c[(c[k>>2]|0)+20>>2]|0:0){if((c[c[k>>2]>>2]|0)==2?(c[(c[k>>2]|0)+24>>2]|0)==0:0){c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}if((c[(c[k>>2]|0)+4>>2]|0)==1?c[(c[k>>2]|0)+8>>2]&4096|0:0){if(ji(o,c[m>>2]|0,c[k>>2]|0)|0){c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}c[n>>2]=Sp(0)|0;Yo(c[n>>2]|0,c[o>>2]|0,32,0);vf(c[o>>2]|0);if(!(c[h>>2]|0))c[h>>2]=xn(0)|0;if(c[h>>2]|0)$n(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[k>>2]|0);Dp(c[n>>2]|0)}else{if(!(c[h>>2]|0))c[h>>2]=xn(0)|0;if(c[h>>2]|0)$n(c[h>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)}c[g>>2]=c[h>>2];p=c[g>>2]|0;i=f;return p|0}c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;if(pj(c[f>>2]|0,8,0,0)|0){c[k>>2]=5;if(c[h>>2]|0)Eb[c[h>>2]&1](36101,c[f>>2]|0,38068,36106)}else c[k>>2]=Ci(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;h=Di(c[k>>2]|0)|0;i=e;return h|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 2:{c[k>>2]=Fi(c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[k>>2]=Gi(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[k>>2]=Hi(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[k>>2]=Ii(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[k>>2]=Ji(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[k>>2]=5}i=e;return c[k>>2]|0}function Di(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Ei(1,c[d>>2]|0)|0;i=b;return a|0}function Ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+160|0;if((i|0)>=(j|0))$(160);f=e+24|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;m=e+32|0;n=e+4|0;o=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=36945;c[n>>2]=0;while(1){if((c[n>>2]|0)>=64)break;a[m+(c[n>>2]|0)>>0]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=Ki(2,36960,9,m,64,36970,20)|0;do if(!(c[l>>2]|0)){if(c[g>>2]|0){c[k>>2]=36991;c[n>>2]=0;c[o>>2]=48;while(1){if((c[n>>2]|0)>=20)break;d=c[o>>2]|0;c[o>>2]=d+1;a[m+(c[n>>2]|0)>>0]=d;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=Ki(2,37006,9,m,20,37016,20)|0;if(c[l>>2]|0)break;c[k>>2]=37037;c[n>>2]=0;c[o>>2]=80;while(1){if((c[n>>2]|0)>=100)break;d=c[o>>2]|0;c[o>>2]=d+1;a[m+(c[n>>2]|0)>>0]=d;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=Ki(2,37052,9,m,100,37062,20)|0;if(c[l>>2]|0)break;c[k>>2]=37083;c[n>>2]=0;c[o>>2]=112;while(1){if((c[n>>2]|0)>=49)break;d=c[o>>2]|0;c[o>>2]=d+1;a[m+(c[n>>2]|0)>>0]=d;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=Ki(2,37098,9,m,49,37108,20)|0;if(c[l>>2]|0)break}c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}while(0);if(c[h>>2]|0)Eb[c[h>>2]&1](36101,2,c[k>>2]|0,c[l>>2]|0);c[f>>2]=50;p=c[f>>2]|0;i=e;return p|0}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[l>>2]=0;while(1){if(!(c[4088+((c[l>>2]|0)*40|0)>>2]|0)){m=6;break}c[h>>2]=c[4088+((c[l>>2]|0)*40|0)>>2];b=c[4088+((c[l>>2]|0)*40|0)+4>>2]|0;a=hv(c[4088+((c[l>>2]|0)*40|0)+4>>2]|0)|0;n=c[4088+((c[l>>2]|0)*40|0)+8>>2]|0;o=hv(c[4088+((c[l>>2]|0)*40|0)+8>>2]|0)|0;c[k>>2]=Ki(11,b,a,n,o,4088+((c[l>>2]|0)*40|0)+12|0,28)|0;if(c[k>>2]|0)break;if(!(c[f>>2]|0)){m=6;break}c[l>>2]=(c[l>>2]|0)+1}if((m|0)==6){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}if(c[g>>2]|0)Eb[c[g>>2]&1](36101,11,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;p=c[e>>2]|0;i=d;return p|0}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+32|0;f=d+28|0;g=d+24|0;h=d+20|0;k=d+16|0;l=d+12|0;m=d+8|0;n=d+4|0;o=d;c[f>>2]=a;c[g>>2]=b;c[l>>2]=0;while(1){if(!(c[3780+((c[l>>2]|0)*44|0)>>2]|0)){p=13;break}c[h>>2]=c[3780+((c[l>>2]|0)*44|0)>>2];b=c[3780+((c[l>>2]|0)*44|0)+4>>2]|0;a=hv(c[3780+((c[l>>2]|0)*44|0)+4>>2]|0)|0;q=c[3780+((c[l>>2]|0)*44|0)+8>>2]|0;r=hv(c[3780+((c[l>>2]|0)*44|0)+8>>2]|0)|0;c[k>>2]=Ki(8,b,a,q,r,3780+((c[l>>2]|0)*44|0)+12|0,32)|0;if(c[k>>2]|0)break;r=c[3780+((c[l>>2]|0)*44|0)+8>>2]|0;c[m>>2]=Yp(r,hv(c[3780+((c[l>>2]|0)*44|0)+8>>2]|0)|0)|0;if(!(c[m>>2]|0)){p=5;break}r=c[m>>2]|0;q=c[3780+((c[l>>2]|0)*44|0)+4>>2]|0;Zp(r,q,hv(c[3780+((c[l>>2]|0)*44|0)+4>>2]|0)|0);c[n>>2]=cq(c[m>>2]|0,o)|0;if(!(c[n>>2]|0)){p=7;break}if((c[o>>2]|0)!=32){p=10;break}if(Jv(c[n>>2]|0,3780+((c[l>>2]|0)*44|0)+12|0,32)|0){p=10;break}$p(c[m>>2]|0);if(!(c[f>>2]|0)){p=13;break}c[l>>2]=(c[l>>2]|0)+1}if((p|0)==5)c[k>>2]=36850;else if((p|0)==7){c[k>>2]=36875;$p(c[m>>2]|0)}else if((p|0)==10){c[k>>2]=36905;$p(c[m>>2]|0)}else if((p|0)==13){c[e>>2]=0;s=c[e>>2]|0;i=d;return s|0}if(c[g>>2]|0)Eb[c[g>>2]&1](36101,8,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;s=c[e>>2]|0;i=d;return s|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[l>>2]=0;while(1){if(!(c[3360+((c[l>>2]|0)*60|0)>>2]|0)){m=6;break}c[h>>2]=c[3360+((c[l>>2]|0)*60|0)>>2];b=c[3360+((c[l>>2]|0)*60|0)+4>>2]|0;a=hv(c[3360+((c[l>>2]|0)*60|0)+4>>2]|0)|0;n=c[3360+((c[l>>2]|0)*60|0)+8>>2]|0;o=hv(c[3360+((c[l>>2]|0)*60|0)+8>>2]|0)|0;c[k>>2]=Ki(9,b,a,n,o,3360+((c[l>>2]|0)*60|0)+12|0,48)|0;if(c[k>>2]|0)break;if(!(c[f>>2]|0)){m=6;break}c[l>>2]=(c[l>>2]|0)+1}if((m|0)==6){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}if(c[g>>2]|0)Eb[c[g>>2]&1](36101,9,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;p=c[e>>2]|0;i=d;return p|0}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[l>>2]=0;while(1){if(!(c[2828+((c[l>>2]|0)*76|0)>>2]|0)){m=6;break}c[h>>2]=c[2828+((c[l>>2]|0)*76|0)>>2];b=c[2828+((c[l>>2]|0)*76|0)+4>>2]|0;a=hv(c[2828+((c[l>>2]|0)*76|0)+4>>2]|0)|0;n=c[2828+((c[l>>2]|0)*76|0)+8>>2]|0;o=hv(c[2828+((c[l>>2]|0)*76|0)+8>>2]|0)|0;c[k>>2]=Ki(10,b,a,n,o,2828+((c[l>>2]|0)*76|0)+12|0,64)|0;if(c[k>>2]|0)break;if(!(c[f>>2]|0)){m=6;break}c[l>>2]=(c[l>>2]|0)+1}if((m|0)==6){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}if(c[g>>2]|0)Eb[c[g>>2]&1](36101,10,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;p=c[e>>2]|0;i=d;return p|0}function Ki(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=k+36|0;m=k+32|0;n=k+28|0;o=k+24|0;p=k+20|0;q=k+16|0;r=k+12|0;s=k+8|0;t=k+4|0;u=k;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;h=oj(c[m>>2]|0)|0;do if((h|0)==(c[s>>2]|0)){if(Si(t,c[m>>2]|0,2)|0){c[l>>2]=49975;break}g=(fj(c[t>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)!=0;f=c[t>>2]|0;if(g){_i(f);c[l>>2]=36149;break}$i(f,c[n>>2]|0,c[o>>2]|0);c[u>>2]=lj(c[t>>2]|0,c[m>>2]|0)|0;if(!(c[u>>2]|0)){_i(c[t>>2]|0);c[l>>2]=36171;break}f=(Jv(c[u>>2]|0,c[r>>2]|0,c[s>>2]|0)|0)!=0;_i(c[t>>2]|0);if(f){c[l>>2]=36191;break}else{c[l>>2]=0;break}}else c[l>>2]=36130;while(0);i=k;return c[l>>2]|0}function Li(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(c[e>>2]|0){c[f>>2]=Mi(c[e>>2]|0,0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}c[f>>2]=Ni(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){if(Hv(c[f>>2]|0,37129,4)|0?Hv(c[f>>2]|0,37134,4)|0:0)break;c[f>>2]=(c[f>>2]|0)+4}while(0);c[h>>2]=Oi(c[f>>2]|0)|0;a:do if(c[h>>2]|0?c[(c[h>>2]|0)+20>>2]|0:0){c[k>>2]=0;while(1){if(!(c[(c[(c[h>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]|0))break a;if(!(sv(c[f>>2]|0,c[(c[(c[h>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]|0)|0))break;c[k>>2]=(c[k>>2]|0)+1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[(c[(c[h>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2];c[e>>2]=c[h>>2];l=c[e>>2]|0;i=d;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}function Ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[g>>2]=0;while(1){a=c[4368+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){h=6;break}if(!(sv(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0)){h=4;break}c[g>>2]=(c[g>>2]|0)+1}if((h|0)==4){c[d>>2]=c[f>>2];k=c[d>>2]|0;i=b;return k|0}else if((h|0)==6){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}return 0}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;k=b;c[e>>2]=a;c[h>>2]=0;a:while(1){a=c[4368+(c[h>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){l=10;break}c[g>>2]=c[(c[f>>2]|0)+20>>2];b:do if(c[g>>2]|0){c[k>>2]=0;while(1){if(!(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break b;if(!(sv(c[e>>2]|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)){l=7;break a}c[k>>2]=(c[k>>2]|0)+1}}while(0);c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){c[d>>2]=c[f>>2];m=c[d>>2]|0;i=b;return m|0}else if((l|0)==10){c[d>>2]=0;m=c[d>>2]|0;i=b;return m|0}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Qi(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37975;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=Ri(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4368+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];k=c[d>>2]|0;i=b;return k|0}else if((h|0)==6){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}return 0}function Ri(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function Si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[h>>2]&-260|0)c[k>>2]=45;else c[k>>2]=Ti(l,c[g>>2]|0,c[h>>2]|0)|0;c[c[f>>2]>>2]=c[k>>2]|0?0:c[l>>2]|0;i=e;return c[k>>2]|0}function Ti(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+36|0;h=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=0;c[m>>2]=((c[k>>2]&1|0)!=0^1^1)&1;c[n>>2]=((c[k>>2]&2|0)!=0^1^1)&1;c[o>>2]=c[m>>2]|0?512:1024;c[r>>2]=16+(c[o>>2]|0);c[r>>2]=((((c[r>>2]|0)+8-1|0)>>>0)/8|0)<<3;o=(c[r>>2]|0)+28|0;if(c[m>>2]|0)c[q>>2]=sf(o)|0;else c[q>>2]=pf(o)|0;if(!(c[q>>2]|0))c[l>>2]=Ct(c[(xu()|0)>>2]|0)|0;if((c[l>>2]|0)==0?(o=(c[q>>2]|0)+(c[r>>2]|0)|0,c[p>>2]=o,c[c[q>>2]>>2]=o,c[(c[q>>2]|0)+8>>2]=(c[r>>2]|0)-16+1,c[(c[q>>2]|0)+4>>2]=0,o=c[c[q>>2]>>2]|0,c[o>>2]=0,c[o+4>>2]=0,c[o+8>>2]=0,c[o+12>>2]=0,c[o+16>>2]=0,c[o+20>>2]=0,c[o+24>>2]=0,c[c[p>>2]>>2]=c[m>>2]|0?378630161:285677921,c[(c[p>>2]|0)+4>>2]=(c[r>>2]|0)+28,r=(c[p>>2]|0)+12|0,a[r>>0]=a[r>>0]&-2|c[m>>2]&1,m=(c[p>>2]|0)+12|0,a[m>>0]=a[m>>0]&-5|(((c[k>>2]&256|0)!=0^1^1)&1)<<2&255,c[n>>2]|0):0){switch(c[h>>2]|0){case 10:case 9:{c[(c[p>>2]|0)+24>>2]=128;break}case 311:case 308:{c[(c[p>>2]|0)+24>>2]=32;break}default:c[(c[p>>2]|0)+24>>2]=64}n=sf(c[(c[p>>2]|0)+24>>2]<<1)|0;c[(c[p>>2]|0)+20>>2]=n;if(!(c[(c[p>>2]|0)+20>>2]|0)){c[l>>2]=Ct(c[(xu()|0)>>2]|0)|0;Ui(c[q>>2]|0)}}if(((c[l>>2]|0)==0?(mn(),c[h>>2]|0):0)?(c[l>>2]=Vi(c[q>>2]|0,c[h>>2]|0)|0,c[l>>2]|0):0)Ui(c[q>>2]|0);if(c[l>>2]|0){s=c[l>>2]|0;i=f;return s|0}c[c[g>>2]>>2]=c[q>>2];s=c[l>>2]|0;i=f;return s|0}function Ui(b){b=b|0;var e=0,f=0,g=0,h=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;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+68|0;g=e+64|0;h=e+60|0;k=e+56|0;l=e+52|0;m=e+74|0;n=e+16|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+73|0;s=e+8|0;t=e+36|0;u=e+32|0;v=e+28|0;w=e+72|0;x=e;y=e+24|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if(c[(c[c[f>>2]>>2]|0)+8>>2]|0)Wi(c[f>>2]|0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=c[g>>2];c[l>>2]=c[(c[g>>2]|0)+8>>2];a[m>>0]=0;b=n;c[b>>2]=d[m>>0];c[b+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){b=n;z=ex(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=n;c[b>>2]=z;c[b+4>>2]=D;do{c[o>>2]=c[k>>2];b=n;z=c[b+4>>2]|0;A=c[o>>2]|0;c[A>>2]=c[b>>2];c[A+4>>2]=z;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}vf(c[g>>2]|0);c[g>>2]=c[h>>2]}if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[p>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];c[q>>2]=c[(c[c[f>>2]>>2]|0)+24>>2]<<1;a[r>>0]=0;h=s;c[h>>2]=d[r>>0];c[h+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){h=s;g=ex(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=s;c[h>>2]=g;c[h+4>>2]=D;do{c[t>>2]=c[p>>2];h=s;g=c[h+4>>2]|0;l=c[t>>2]|0;c[l>>2]=c[h>>2];c[l+4>>2]=g;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}vf(c[(c[c[f>>2]>>2]|0)+20>>2]|0)}c[u>>2]=c[f>>2];c[v>>2]=c[(c[c[f>>2]>>2]|0)+4>>2];a[w>>0]=0;q=x;c[q>>2]=d[w>>0];c[q+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){q=x;p=ex(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=x;c[q>>2]=p;c[q+4>>2]=D;do{c[y>>2]=c[u>>2];q=x;p=c[q+4>>2]|0;r=c[y>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=p;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}vf(c[f>>2]|0);i=e;return}function Vi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f;h=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=c[c[k>>2]>>2];c[p>>2]=0;c[o>>2]=c[(c[m>>2]|0)+16>>2];while(1){if(!(c[o>>2]|0))break;if((c[c[c[o>>2]>>2]>>2]|0)==(c[l>>2]|0)){r=4;break}c[o>>2]=c[(c[o>>2]|0)+4>>2]}if((r|0)==4){c[h>>2]=0;s=c[h>>2]|0;i=f;return s|0}c[n>>2]=Qi(c[l>>2]|0)|0;if(!(c[n>>2]|0)){c[g>>2]=c[l>>2];Ye(37139,g);c[p>>2]=5}if(((c[p>>2]|0)==0&(c[l>>2]|0)==1?Wg()|0:0)?(ch(37178),ah()|0):0)c[p>>2]=5;do if(!(c[p>>2]|0)){c[q>>2]=24+(c[(c[n>>2]|0)+44>>2]|0)-8;l=c[q>>2]|0;if(a[(c[m>>2]|0)+12>>0]&1|0)c[o>>2]=sf(l)|0;else c[o>>2]=pf(l)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=c[n>>2];c[(c[o>>2]|0)+4>>2]=c[(c[m>>2]|0)+16>>2];c[(c[o>>2]|0)+8>>2]=c[q>>2];c[(c[m>>2]|0)+16>>2]=c[o>>2];xb[c[(c[c[o>>2]>>2]|0)+28>>2]&7]((c[o>>2]|0)+16|0,(d[(c[m>>2]|0)+12>>0]|0)>>>2&1|0?256:0);break}else{c[p>>2]=Ct(c[(xu()|0)>>2]|0)|0;break}}while(0);c[h>>2]=c[p>>2];s=c[h>>2]|0;i=f;return s|0}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+20|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;if(c[(c[c[d>>2]>>2]|0)+8>>2]|0){if(c[(c[d>>2]|0)+4>>2]|0)Xi(c[d>>2]|0,0,0);Qv(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0;c[(c[c[d>>2]>>2]|0)+8>>2]=0}c[e>>2]=c[d>>2];d=f;c[d>>2]=42;c[d+4>>2]=0;d=f;f=ex(c[e>>2]|0,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=g;c[d>>2]=f;c[d+4>>2]=D;i=b;return}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+8>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0?(Zv((c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)Re(37187,630,37192);if(c[h>>2]|0?(Zv(c[g>>2]|0,c[h>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)Re(37187,632,37192)}c[k>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){l=(c[f>>2]|0)+4|0;if(!(c[k>>2]|0))break;if(c[l>>2]|0)zb[c[(c[c[k>>2]>>2]|0)+32>>2]&7]((c[k>>2]|0)+16|0,(c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0);zb[c[(c[c[k>>2]>>2]|0)+32>>2]&7]((c[k>>2]|0)+16|0,c[g>>2]|0,c[h>>2]|0);c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[l>>2]=0;i=e;return}function Yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+80|0;if((i|0)>=(j|0))$(80);e=d+16|0;f=d+8|0;g=d+24|0;h=d+20|0;k=d+28|0;c[g>>2]=a;c[h>>2]=b;if(Wg()|0){i=d;return}if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){Ye(37201,d);i=d;return}c[17735]=(c[17735]|0)+1;b=c[h>>2]|0;c[f>>2]=c[17735];c[f+4>>2]=b;Su(k,49,37233,f)|0;f=Pv(k,37250)|0;c[(c[c[g>>2]>>2]|0)+8>>2]=f;if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){i=d;return}c[e>>2]=k;Ye(37252,e);i=d;return}function Zi(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+4|0;g=e;c[f>>2]=b;b=(c[c[f>>2]>>2]|0)+12|0;a[b>>0]=a[b>>0]&-3;c[(c[f>>2]|0)+4>>2]=0;c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;Sw((c[g>>2]|0)+16|0,0,c[(c[c[g>>2]>>2]|0)+44>>2]|0)|0;xb[c[(c[c[g>>2]>>2]|0)+28>>2]&7]((c[g>>2]|0)+16|0,(d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0?256:0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}Xi(c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+20>>2]|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);i=e;return}function _i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Ui(c[d>>2]|0);i=b;return}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Xi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[f+4>>2]=e;c[l>>2]=0;switch(c[h>>2]|0){case 5:{bj(c[g>>2]|0);break}case 32:{Yi(c[g>>2]|0,c[k>>2]|0);break}case 33:{Wi(c[g>>2]|0);break}default:c[l>>2]=61}i=f;return c[l>>2]|0}function bj(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+24|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[f>>2]=b;if((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>1&1|0){i=e;return}if(c[(c[f>>2]|0)+4>>2]|0)Xi(c[f>>2]|0,0,0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;wb[c[(c[c[g>>2]>>2]|0)+36>>2]&15]((c[g>>2]|0)+16|0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}g=(c[c[f>>2]>>2]|0)+12|0;a[g>>0]=a[g>>0]&-3|2;if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}c[h>>2]=cj(c[f>>2]|0)|0;c[k>>2]=dj(c[f>>2]|0,c[h>>2]|0)|0;c[l>>2]=ej(c[h>>2]|0)|0;c[n>>2]=Ti(m,c[h>>2]|0,(a[(c[c[f>>2]>>2]|0)+12>>0]&1|0?1:0)|((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0?256:0))|0;if(c[n>>2]|0)Le(c[n>>2]|0,0);Xi(c[m>>2]|0,(c[(c[c[f>>2]>>2]|0)+20>>2]|0)+(c[(c[c[f>>2]>>2]|0)+24>>2]|0)|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);Xi(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);bj(c[m>>2]|0);f=c[k>>2]|0;k=dj(c[m>>2]|0,c[h>>2]|0)|0;Yw(f|0,k|0,c[l>>2]|0)|0;Ui(c[m>>2]|0);i=e;return}function cj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;e=b+8|0;f=b+4|0;c[e>>2]=a;c[f>>2]=c[(c[c[e>>2]>>2]|0)+16>>2];if(c[f>>2]|0?c[(c[f>>2]|0)+4>>2]|0:0){dh(37187,980,37324,0,37336);Ve(37357,d)}if(!(c[f>>2]|0)){g=0;i=b;return g|0}g=c[c[c[f>>2]>>2]>>2]|0;i=b;return g|0}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];if(!(c[h>>2]|0)){if(!(c[k>>2]|0))Re(37187,816,37316);if(c[(c[k>>2]|0)+4>>2]|0)Ye(37277,e);c[f>>2]=yb[c[(c[c[k>>2]>>2]|0)+40>>2]&15]((c[k>>2]|0)+16|0)|0;l=c[f>>2]|0;i=d;return l|0}c[k>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0)){m=11;break}n=c[k>>2]|0;if((c[c[c[k>>2]>>2]>>2]|0)==(c[h>>2]|0))break;c[k>>2]=c[n+4>>2]}if((m|0)==11)Re(37187,816,37316);c[f>>2]=yb[c[(c[n>>2]|0)+40>>2]&15]((c[k>>2]|0)+16|0)|0;l=c[f>>2]|0;i=d;return l|0}function ej(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Qi(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=0;i=b;return f|0}f=c[(c[e>>2]|0)+24>>2]|0;i=b;return f|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[k>>2]=gj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0))Zi(c[f>>2]|0)}else c[k>>2]=70;i=e;return c[k>>2]|0}function gj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[o>>2]=cj(c[k>>2]|0)|0;c[p>>2]=0;if(!(c[o>>2]|0)){c[h>>2]=5;s=c[h>>2]|0;i=g;return s|0}do if((c[m>>2]|0)>>>0>(c[(c[c[k>>2]>>2]|0)+24>>2]|0)>>>0){c[p>>2]=sf(ej(c[o>>2]|0)|0)|0;if(c[p>>2]|0){hj(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0,c[m>>2]|0);c[l>>2]=c[p>>2];c[m>>2]=ej(c[o>>2]|0)|0;if((c[m>>2]|0)>>>0<=(c[(c[c[k>>2]>>2]|0)+24>>2]|0)>>>0)break;Se(37408,37187,716,37441)}else{c[h>>2]=Ct(c[(xu()|0)>>2]|0)|0;s=c[h>>2]|0;i=g;return s|0}}while(0);Sw(c[(c[c[k>>2]>>2]|0)+20>>2]|0,0,c[(c[c[k>>2]>>2]|0)+24>>2]<<1|0)|0;c[q>>2]=c[(c[c[k>>2]>>2]|0)+20>>2];c[r>>2]=(c[(c[c[k>>2]>>2]|0)+20>>2]|0)+(c[(c[c[k>>2]>>2]|0)+24>>2]|0);Yw(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Yw(c[r>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[c[k>>2]>>2]|0)+24>>2]|0))break;m=(c[q>>2]|0)+(c[n>>2]|0)|0;a[m>>0]=(d[m>>0]|0)^54;m=(c[r>>2]|0)+(c[n>>2]|0)|0;a[m>>0]=(d[m>>0]|0)^92;c[n>>2]=(c[n>>2]|0)+1}vf(c[p>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}function hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;h=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((c[h>>2]|0)==2){Xl(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0);i=f;return}if((c[h>>2]|0)==3?(Wg()|0)==0:0){bl(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0);i=f;return}if(((c[h>>2]|0)==1?Wg()|0:0)?(ch(37178),ah()|0):0)Yg();c[o>>2]=Ti(n,c[h>>2]|0,0)|0;if(c[o>>2]|0){e=c[h>>2]|0;d=Bt(ij(c[o>>2]|0)|0)|0;c[g>>2]=e;c[g+4>>2]=d;Xe(37457,g)}Xi(c[n>>2]|0,c[l>>2]|0,c[m>>2]|0);bj(c[n>>2]|0);m=c[k>>2]|0;k=dj(c[n>>2]|0,c[h>>2]|0)|0;Yw(m|0,k|0,ej(c[h>>2]|0)|0)|0;Ui(c[n>>2]|0);i=f;return}function ij(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=jj(32,c[d>>2]|0)|0;i=b;return a|0}function jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=kj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;aj(c[e>>2]|0,5,0,0)|0;b=dj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function mj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if((c[n>>2]|0)==0|(c[o>>2]|0)<0){c[h>>2]=45;s=c[h>>2]|0;i=g;return s|0}if(c[l>>2]&-3|0){c[h>>2]=45;s=c[h>>2]|0;i=g;return s|0}c[p>>2]=((c[l>>2]&2|0)!=0^1^1)&1;if((c[p>>2]|0)!=0&(c[o>>2]|0)<1){c[h>>2]=45;s=c[h>>2]|0;i=g;return s|0}if((c[k>>2]|0)!=2|(c[p>>2]|0)!=0){if(((c[k>>2]|0)==1?Wg()|0:0)?(ch(37178),ah()|0):0)Yg();c[r>>2]=Ti(q,c[k>>2]|0,c[p>>2]|0?2:0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];s=c[h>>2]|0;i=g;return s|0}do if(c[p>>2]|0){c[r>>2]=fj(c[q>>2]|0,(c[(c[n>>2]|0)+12>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)|0,c[(c[n>>2]|0)+8>>2]|0)|0;if(!(c[r>>2]|0)){c[n>>2]=(c[n>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1;break}Ui(c[q>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=g;return s|0}while(0);while(1){t=c[q>>2]|0;if(!(c[o>>2]|0))break;Xi(t,(c[(c[n>>2]|0)+12>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)|0,c[(c[n>>2]|0)+8>>2]|0);c[n>>2]=(c[n>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}bj(t);t=c[m>>2]|0;r=dj(c[q>>2]|0,c[k>>2]|0)|0;Yw(t|0,r|0,ej(c[k>>2]|0)|0)|0;Ui(c[q>>2]|0)}else Yl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}function nj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=cj(c[d>>2]|0)|0;i=b;return a|0}function oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=ej(c[d>>2]|0)|0;i=b;return a|0}function pj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+24|0;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;a:do switch(c[h>>2]|0){case 8:{if((c[k>>2]|0)!=0|(c[l>>2]|0)!=0){c[m>>2]=45;break a}else{c[m>>2]=qj(c[g>>2]|0)|0;break a}break}case 10:{c[m>>2]=qj(c[g>>2]|0)|0;if(!(c[m>>2]|0)){c[n>>2]=rj(c[g>>2]|0,o,0)|0;if(c[k>>2]|0?(c[c[l>>2]>>2]|0)>>>0>=(c[o>>2]|0)>>>0:0){Yw(c[k>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[c[l>>2]>>2]=c[o>>2];break a}if((c[k>>2]|0)==0&(c[l>>2]|0)!=0){c[c[l>>2]>>2]=c[o>>2];break a}if(c[k>>2]|0){c[m>>2]=66;break a}else{c[m>>2]=45;break a}}break}case 57:{if(c[l>>2]|0)p=c[c[l>>2]>>2]|0;else p=0;c[m>>2]=tj(sj(c[g>>2]|0,p,0)|0)|0;break}default:c[m>>2]=61}while(0);i=f;return c[m>>2]|0}function qj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;c[g>>2]=Qi(c[f>>2]|0)|0;if(c[g>>2]|0?(a[(c[g>>2]|0)+4>>0]&1|0)==0:0){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[e>>2]=5;h=c[e>>2]|0;i=d;return h|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=0;c[l>>2]=Qi(c[g>>2]|0)|0;if(!(c[l>>2]|0)){c[f>>2]=c[g>>2];Xe(37493,f)}if(c[h>>2]|0)c[c[h>>2]>>2]=c[(c[l>>2]|0)+16>>2];if(!(c[k>>2]|0)){n=c[l>>2]|0;o=n+12|0;p=c[o>>2]|0;c[m>>2]=p;q=c[m>>2]|0;i=e;return q|0}c[c[k>>2]>>2]=c[(c[l>>2]|0)+24>>2];n=c[l>>2]|0;o=n+12|0;p=c[o>>2]|0;c[m>>2]=p;q=c[m>>2]|0;i=e;return q|0}function sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=0;c[m>>2]=Qi(c[g>>2]|0)|0;if((c[m>>2]|0?(a[(c[m>>2]|0)+4>>0]&1|0)==0:0)?c[(c[m>>2]|0)+48>>2]|0:0){c[l>>2]=ub[c[(c[m>>2]|0)+48>>2]&63](c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;n=c[l>>2]|0;o=uj(n)|0;i=f;return o|0}if(c[m>>2]|0)p=(c[(c[m>>2]|0)+48>>2]|0)!=0;else p=0;c[l>>2]=p?5:69;if(!(c[k>>2]|0)){n=c[l>>2]|0;o=uj(n)|0;i=f;return o|0}p=c[k>>2]|0;k=c[g>>2]|0;if(c[m>>2]|0?!(a[(c[m>>2]|0)+4>>0]&1|0):0)q=38046;else q=c[m>>2]|0?38007:38026;Eb[p&1](43214,k,38068,q);n=c[l>>2]|0;o=uj(n)|0;i=f;return o|0}function tj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=kj(1,c[d>>2]|0)|0;i=b;return a|0}function vj(){return 0}function wj(){return 0}function xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17736]=c[e>>2];c[17737]=c[f>>2];i=d;return}function yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=zj(c[g>>2]|0,1,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;Aj(10);i=f;return c[m>>2]|0}function zj(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=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;h=i;i=i+96|0;if((i|0)>=(j|0))$(96);k=h+8|0;l=h;m=h+80|0;n=h+76|0;o=h+72|0;p=h+68|0;q=h+64|0;r=h+60|0;s=h+56|0;t=h+52|0;u=h+48|0;v=h+44|0;w=h+40|0;x=h+36|0;y=h+32|0;z=h+28|0;A=h+24|0;B=h+20|0;C=h+16|0;D=h+12|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;if((c[m>>2]|0)>>>0<16){c[l>>2]=16;We(37531,l)}c[C>>2]=zf(c[1099]<<2)|0;c[u>>2]=up(2)|0;c[v>>2]=up(3)|0;l=c[m>>2]|0;if(c[n>>2]|0)E=Sp(l)|0;else E=Rp(l)|0;c[r>>2]=E;c[w>>2]=Lp(c[r>>2]|0)|0;c[t>>2]=Lp(c[r>>2]|0)|0;c[s>>2]=Lp(c[r>>2]|0)|0;c[B>>2]=0;c[A>>2]=0;a:while(1){c[D>>2]=0;Up(c[r>>2]|0,c[m>>2]|0,c[o>>2]|0);oo(c[r>>2]|0,(c[m>>2]|0)-1|0);if(c[n>>2]|0)no(c[r>>2]|0,(c[m>>2]|0)-2|0);no(c[r>>2]|0,0);c[x>>2]=0;while(1){E=e[16568+(c[x>>2]<<1)>>1]|0;c[y>>2]=E;if(!E)break;E=Ao(0,c[r>>2]|0,c[y>>2]|0)|0;c[(c[C>>2]|0)+(c[x>>2]<<2)>>2]=E;c[x>>2]=(c[x>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>>>0>=2e4)break;c[A>>2]=(c[A>>2]|0)+1;c[x>>2]=0;while(1){E=e[16568+(c[x>>2]<<1)>>1]|0;c[y>>2]=E;if(!E)break;while(1){if(((c[(c[C>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[z>>2]|0)|0)>>>0<(c[y>>2]|0)>>>0)break;E=(c[C>>2]|0)+(c[x>>2]<<2)|0;c[E>>2]=(c[E>>2]|0)-(c[y>>2]|0)}if(!((c[(c[C>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[z>>2]|0)|0))break;c[x>>2]=(c[x>>2]|0)+1}if(!(c[y>>2]|0)){eo(c[s>>2]|0,c[r>>2]|0,c[z>>2]|0);c[B>>2]=(c[B>>2]|0)+1;go(c[t>>2]|0,c[s>>2]|0,1);So(c[w>>2]|0,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0);if((vo(c[w>>2]|0,1)|0)==0?Bj(c[s>>2]|0,5,B)|0:0){if(!(mo(c[s>>2]|0,(c[m>>2]|0)-1-(c[n>>2]|0)|0)|0)){F=24;break}if(!(c[p>>2]|0)){F=28;break a}if(!(Db[c[p>>2]&7](c[q>>2]|0,c[s>>2]|0)|0)){F=28;break a}Aj(47)}E=(c[D>>2]|0)+1|0;c[D>>2]=E;if((E|0)==10){Aj(46);c[D>>2]=0}}c[z>>2]=(c[z>>2]|0)+2}if((F|0)==24){F=0;Aj(10);Ye(37578,k)}Aj(58)}if((F|0)==28){Dp(c[u>>2]|0);Dp(c[v>>2]|0);Dp(c[w>>2]|0);Dp(c[t>>2]|0);Dp(c[r>>2]|0);vf(c[C>>2]|0);i=h;return c[s>>2]|0}return 0}function Aj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(!(c[17736]|0)){i=b;return}vb[c[17736]&15](c[17737]|0,37522,c[d>>2]|0,0,0);i=b;return}function Bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+52|0;g=e+48|0;h=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+20|0;q=e+16|0;r=e+12|0;s=e+8|0;t=e+4|0;u=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=vp(c[(c[f>>2]|0)+4>>2]|0)|0;c[l>>2]=vp(c[(c[f>>2]|0)+4>>2]|0)|0;c[m>>2]=vp(c[(c[f>>2]|0)+4>>2]|0)|0;c[n>>2]=vp(c[(c[f>>2]|0)+4>>2]|0)|0;c[o>>2]=up(2)|0;c[t>>2]=0;c[u>>2]=lo(c[f>>2]|0)|0;if((c[g>>2]|0)<5)c[g>>2]=5;go(c[n>>2]|0,c[f>>2]|0,1);c[p>>2]=Ip(c[n>>2]|0)|0;c[s>>2]=Uo(c[p>>2]|0)|0;Do(c[p>>2]|0,c[p>>2]|0,c[s>>2]|0);c[q>>2]=0;a:while(1){if((c[q>>2]|0)>>>0>=(c[g>>2]|0)>>>0){v=22;break}d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[k>>2]|0;if(c[q>>2]|0){Up(d,c[u>>2]|0,0);b=(mo(c[k>>2]|0,(c[u>>2]|0)-2|0)|0)!=0;oo(c[k>>2]|0,(c[u>>2]|0)-2|0);if(!b)qo(c[k>>2]|0,(c[u>>2]|0)-2|0);if((wo(c[k>>2]|0,c[n>>2]|0)|0)>=0){v=11;break}if((vo(c[k>>2]|0,1)|0)<=0){v=11;break}}else Op(d,2)|0;So(c[l>>2]|0,c[k>>2]|0,c[p>>2]|0,c[f>>2]|0);if(vo(c[l>>2]|0,1)|0?wo(c[l>>2]|0,c[n>>2]|0)|0:0){c[r>>2]=1;while(1){if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)w=(wo(c[l>>2]|0,c[n>>2]|0)|0)!=0;else w=0;x=c[l>>2]|0;if(!w)break;So(x,c[l>>2]|0,c[o>>2]|0,c[f>>2]|0);if(!(vo(c[l>>2]|0,1)|0)){v=23;break a}c[r>>2]=(c[r>>2]|0)+1}if(wo(x,c[n>>2]|0)|0){v=23;break}}Aj(43);c[q>>2]=(c[q>>2]|0)+1}if((v|0)==11)Se(37608,37680,951,37691);else if((v|0)==22){c[t>>2]=1;y=c[k>>2]|0;Dp(y);z=c[l>>2]|0;Dp(z);A=c[m>>2]|0;Dp(A);B=c[n>>2]|0;Dp(B);C=c[p>>2]|0;Dp(C);D=c[o>>2]|0;Dp(D);E=c[t>>2]|0;i=e;return E|0}else if((v|0)==23){y=c[k>>2]|0;Dp(y);z=c[l>>2]|0;Dp(z);A=c[m>>2]|0;Dp(A);B=c[n>>2]|0;Dp(B);C=c[p>>2]|0;Dp(C);D=c[o>>2]|0;Dp(D);E=c[t>>2]|0;i=e;return E|0}return 0}function Cj(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=g;c[s>>2]=0;c[q>>2]=0;while(1){g=e[16568+(c[q>>2]<<1)>>1]|0;c[r>>2]=g;v=c[l>>2]|0;if(!g)break;if(Eo(v,c[r>>2]|0)|0){w=4;break}c[q>>2]=(c[q>>2]|0)+1}if((w|0)==4){c[k>>2]=((vo(c[l>>2]|0,c[r>>2]|0)|0)!=0^1)&1;x=c[k>>2]|0;i=h;return x|0}c[t>>2]=Lp(v)|0;c[u>>2]=Lp(c[l>>2]|0)|0;go(c[u>>2]|0,c[l>>2]|0,1);So(c[t>>2]|0,c[m>>2]|0,c[u>>2]|0,c[l>>2]|0);Dp(c[u>>2]|0);u=(vo(c[t>>2]|0,1)|0)!=0;Dp(c[t>>2]|0);if(u){Aj(46);c[k>>2]=0;x=c[k>>2]|0;i=h;return x|0}if(!(c[o>>2]|0?!(ub[c[o>>2]&63](c[p>>2]|0,2,c[l>>2]|0)|0):0))w=10;do if((w|0)==10?Bj(c[l>>2]|0,c[n>>2]|0,s)|0:0){if(c[o>>2]|0?(ub[c[o>>2]&63](c[p>>2]|0,1,c[l>>2]|0)|0)==0:0)break;c[k>>2]=1;x=c[k>>2]|0;i=h;return x|0}while(0);Aj(46);c[k>>2]=0;x=c[k>>2]|0;i=h;return x|0}function Dj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;h=i;i=i+64|0;if((i|0)>=(j|0))$(64);k=h+60|0;l=h+56|0;m=h+52|0;n=h+48|0;o=h+44|0;p=h+40|0;q=h+36|0;r=h+32|0;s=h+28|0;t=h+24|0;u=h+20|0;v=h+16|0;w=h+12|0;x=h+8|0;y=h+4|0;z=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0&(c[n>>2]|0)!=0)){c[k>>2]=0;A=c[k>>2]|0;i=h;return A|0}if(c[o>>2]|0?mo(c[o>>2]|0,0)|0:0){c[r>>2]=Ej(c[m>>2]|0)|0;c[s>>2]=Ej(c[n>>2]|0)|0;c[t>>2]=Lp(c[l>>2]|0)|0;Qo(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[w>>2]=Lp(c[r>>2]|0)|0;Lo(c[w>>2]|0,c[s>>2]|0,c[r>>2]|0)|0;Qo(c[w>>2]|0,c[w>>2]|0,c[s>>2]|0);c[v>>2]=c[w>>2];c[w>>2]=Lp(c[s>>2]|0)|0;Lo(c[w>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;Qo(c[w>>2]|0,c[w>>2]|0,c[r>>2]|0);ho(c[v>>2]|0,c[v>>2]|0,c[w>>2]|0);if(c[(c[v>>2]|0)+8>>2]|0)fo(c[v>>2]|0,c[v>>2]|0,c[t>>2]|0);c[u>>2]=c[w>>2];c[w>>2]=0;jo(c[u>>2]|0,c[v>>2]|0,c[l>>2]|0,c[t>>2]|0);fo(c[u>>2]|0,c[u>>2]|0,c[l>>2]|0);Dp(c[v>>2]|0);if((wo(c[u>>2]|0,c[l>>2]|0)|0)<0)fo(c[u>>2]|0,c[u>>2]|0,c[t>>2]|0);c[x>>2]=up(2)|0;c[y>>2]=Lp(c[u>>2]|0)|0;go(c[t>>2]|0,c[t>>2]|0,1);go(c[u>>2]|0,c[u>>2]|0,1);while(1){c[z>>2]=Fo(c[y>>2]|0,c[o>>2]|0,c[u>>2]|0)|0;eo(c[u>>2]|0,c[u>>2]|0,1);if(c[z>>2]|0){if(Cj(c[u>>2]|0,c[x>>2]|0,64,0,0)|0)break}else Aj(47);fo(c[u>>2]|0,c[u>>2]|0,c[t>>2]|0)}Dp(c[y>>2]|0);Dp(c[x>>2]|0);Dp(c[t>>2]|0);Aj(10);t=c[r>>2]|0;if(c[p>>2]|0)c[c[p>>2]>>2]=t;else Dp(t);t=c[s>>2]|0;if(c[q>>2]|0)c[c[q>>2]>>2]=t;else Dp(t);c[k>>2]=c[u>>2];A=c[k>>2]|0;i=h;return A|0}c[k>>2]=0;A=c[k>>2]|0;i=h;return A|0}function Ej(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=up(2)|0;c[f>>2]=Ip(c[d>>2]|0)|0;no(c[f>>2]|0,0);while(1){if(!((Cj(c[f>>2]|0,c[e>>2]|0,64,0,0)|0)!=0^1))break;eo(c[f>>2]|0,c[f>>2]|0,2)}Dp(c[e>>2]|0);i=b;return c[f>>2]|0}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+36|0;g=e+32|0;h=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;o=e+8|0;p=e+4|0;q=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[o>>2]=5;c[p>>2]=0;c[q>>2]=0;if(c[f>>2]|0)r=(Uf(c[f>>2]|0)|0)-1|0;else r=0;c[n>>2]=r;while(1){if((c[n>>2]|0)<=0)break;c[l>>2]=Xf(c[f>>2]|0,c[n>>2]|0,m)|0;a:do if(c[l>>2]|0)do switch(c[m>>2]|0){case 3:{if((Jv(c[l>>2]|0,37700,3)|0)==0&(c[o>>2]|0)==5){c[o>>2]=4;c[p>>2]=c[p>>2]|4;break a}if((Jv(c[l>>2]|0,37704,3)|0)==0&(c[o>>2]|0)==5){c[o>>2]=0;c[p>>2]=c[p>>2]|16;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 4:{if(!(Jv(c[l>>2]|0,37708,4)|0)){c[p>>2]=c[p>>2]|1024;break a}if((Jv(c[l>>2]|0,37713,4)|0)==0&(c[o>>2]|0)==5){c[o>>2]=3;c[p>>2]=c[p>>2]|4;break a}if(!(Jv(c[l>>2]|0,49929,4)|0)){c[o>>2]=0;c[p>>2]=c[p>>2]|8192;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 5:{if(!(Jv(c[l>>2]|0,49923,5)|0)){c[o>>2]=0;c[p>>2]=c[p>>2]|4096;break a}if((Jv(c[l>>2]|0,37718,5)|0)==0&(c[o>>2]|0)==5){c[o>>2]=1;c[p>>2]=c[p>>2]|4;break a}if(!(Jv(c[l>>2]|0,37724,5)|0)){c[p>>2]=c[p>>2]|512;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 6:{if(!(Jv(c[l>>2]|0,37730,6)|0)){c[p>>2]=c[p>>2]|2048;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 7:{if(!(Jv(c[l>>2]|0,37737,7)|0)){c[p>>2]=c[p>>2]|2;break a}if((Jv(c[l>>2]|0,37745,7)|0)==0|(c[q>>2]|0)!=0)break a;c[k>>2]=72;break a;break}case 8:{if(!(Jv(c[l>>2]|0,41808,8)|0)){c[p>>2]=c[p>>2]|64;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 9:{if((Jv(c[l>>2]|0,37753,9)|0)==0&(c[o>>2]|0)==5){c[o>>2]=2;c[p>>2]=c[p>>2]|4;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 10:{if(!(Jv(c[l>>2]|0,37763,10)|0)){c[q>>2]=1;break a}if(!(Jv(c[l>>2]|0,37774,10)|0)){c[p>>2]=c[p>>2]|16384;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 11:{if(!(Jv(c[l>>2]|0,37785,11)|0)){c[p>>2]=c[p>>2]|1;break a}if(!(Jv(c[l>>2]|0,37797,11)|0)){c[p>>2]=c[p>>2]|128;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}case 13:{if(!(Jv(c[l>>2]|0,37809,13)|0)){c[p>>2]=c[p>>2]|256;break a}if(!(Jv(c[l>>2]|0,48941,13)|0)){c[p>>2]=c[p>>2]|32;break a}if(c[q>>2]|0)break a;c[k>>2]=72;break a;break}default:{if(c[q>>2]|0)break a;c[k>>2]=72;break a}}while(0);while(0);c[n>>2]=(c[n>>2]|0)+-1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[p>>2];if(!(c[h>>2]|0)){s=c[k>>2]|0;i=e;return s|0}c[c[h>>2]>>2]=c[o>>2];s=c[k>>2]|0;i=e;return s|0}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+16|0;g=e+12|0;h=e+8|0;k=e+20|0;l=e+4|0;m=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=Tf(c[g>>2]|0,37823,0)|0;if(!(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}c[l>>2]=Xf(c[g>>2]|0,1,m)|0;if((c[l>>2]|0)==0|(c[m>>2]|0)>>>0>=49){Rf(c[g>>2]|0);c[f>>2]=65;n=c[f>>2]|0;i=e;return n|0}else{Yw(k|0,c[l>>2]|0,c[m>>2]|0)|0;a[k+(c[m>>2]|0)>>0]=0;m=wv(k,0,0)|0;c[c[h>>2]>>2]=m;Rf(c[g>>2]|0);c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function Hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;e=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+16|0;g=e+12|0;h=e+8|0;k=e+20|0;l=e+4|0;m=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=Tf(c[g>>2]|0,37829,0)|0;if(!(c[g>>2]|0)){c[c[h>>2]>>2]=65537;c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}c[l>>2]=Xf(c[g>>2]|0,1,m)|0;if((c[l>>2]|0)==0|(c[m>>2]|0)>>>0>=49){Rf(c[g>>2]|0);c[f>>2]=65;n=c[f>>2]|0;i=e;return n|0}else{Yw(k|0,c[l>>2]|0,c[m>>2]|0)|0;a[k+(c[m>>2]|0)>>0]=0;m=wv(k,0,0)|0;c[c[h>>2]>>2]=m;Rf(c[g>>2]|0);c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function Ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+32|0;h=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[c[k>>2]>>2]=0;if(c[l>>2]|0)c[c[l>>2]>>2]=0;c[n>>2]=Tf(c[g>>2]|0,37839,0)|0;do if(c[n>>2]|0){c[o>>2]=Vf(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){c[m>>2]=68;break}c[p>>2]=_f(c[o>>2]|0,0)|0;if(!(c[p>>2]|0)){c[m>>2]=65;break}if(!(Fu(c[p>>2]|0,47177)|0)){Rf(c[o>>2]|0);c[o>>2]=Vf(c[n>>2]|0,2)|0;if(!(c[o>>2]|0)){c[m>>2]=65;break}vf(c[p>>2]|0);c[p>>2]=_f(c[o>>2]|0,0)|0;if(!(c[p>>2]|0)){c[m>>2]=65;break}}c[q>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[q>>2]<<2)>>2]|0))break;if(!(sv(c[p>>2]|0,c[(c[h>>2]|0)+(c[q>>2]<<2)>>2]|0)|0))break;c[q>>2]=(c[q>>2]|0)+1}if(!(c[(c[h>>2]|0)+(c[q>>2]<<2)>>2]|0)){c[m>>2]=70;break}if(c[l>>2]|0){if(!(Fu(c[p>>2]|0,49923)|0))c[c[l>>2]>>2]=4096;if(!(Fu(c[p>>2]|0,49929)|0))c[c[l>>2]>>2]=8192}c[c[k>>2]>>2]=c[o>>2];c[o>>2]=0;c[m>>2]=0}else c[m>>2]=65;while(0);vf(c[p>>2]|0);Rf(c[o>>2]|0);Rf(c[n>>2]|0);i=f;return c[m>>2]|0}function Jj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+44|0;h=f+40|0;k=f+36|0;l=f+32|0;m=f+28|0;n=f+24|0;o=f+20|0;p=f+16|0;q=f+12|0;r=f+8|0;s=f+4|0;t=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[r>>2]=0;c[c[k>>2]>>2]=0;c[n>>2]=Tf(c[g>>2]|0,40951,0)|0;do if(c[n>>2]|0){c[o>>2]=Vf(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){c[m>>2]=68;break}c[p>>2]=_f(c[o>>2]|0,0)|0;if(!(c[p>>2]|0)){c[m>>2]=65;break}if(!(Fu(c[p>>2]|0,47177)|0)){c[m>>2]=Fj(c[o>>2]|0,r,(c[l>>2]|0)+8|0)|0;if(c[m>>2]|0)break;if((c[(c[l>>2]|0)+8>>2]|0)==4){c[m>>2]=70;break}if((c[(c[l>>2]|0)+8>>2]|0)==3){Rf(c[o>>2]|0);c[o>>2]=Tf(c[n>>2]|0,37847,0)|0;if(c[o>>2]|0){c[t>>2]=Xf(c[o>>2]|0,1,q)|0;if(c[t>>2]|0){g=Kj(c[t>>2]|0,c[q>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=g;if(!(c[(c[l>>2]|0)+16>>2]|0))c[m>>2]=5}else c[m>>2]=68;if(c[m>>2]|0)break}Rf(c[o>>2]|0);c[o>>2]=Tf(c[n>>2]|0,37857,0)|0;if(c[o>>2]|0){c[t>>2]=Xf(c[o>>2]|0,1,q)|0;do if(c[t>>2]|0){if((c[q>>2]|0)>>>0>0){g=pf(c[q>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=g;if(c[(c[l>>2]|0)+20>>2]|0){Yw(c[(c[l>>2]|0)+20>>2]|0,c[t>>2]|0,c[q>>2]|0)|0;c[(c[l>>2]|0)+24>>2]=c[q>>2];break}else{c[m>>2]=Et()|0;break}}}else c[m>>2]=68;while(0);if(c[m>>2]|0)break}}c[s>>2]=2;a:while(1){Rf(c[o>>2]|0);g=Vf(c[n>>2]|0,c[s>>2]|0)|0;c[o>>2]=g;if(!g)break;c[t>>2]=Xf(c[o>>2]|0,0,q)|0;if(!((c[q>>2]|0)==9?!(Jv(c[t>>2]|0,37847,9)|0):0))u=30;do if((u|0)==30){u=0;if((c[q>>2]|0)==5?(Jv(c[t>>2]|0,37857,5)|0)==0:0)break;if((c[q>>2]|0)!=15)break a;if(Jv(c[t>>2]|0,37863,15)|0)break a}while(0);c[s>>2]=(c[s>>2]|0)+1}if(!(c[o>>2]|0)){c[m>>2]=68;break}vf(c[p>>2]|0);c[p>>2]=_f(c[o>>2]|0,0)|0;if(!(c[p>>2]|0)){c[m>>2]=65;break}}else c[r>>2]=c[r>>2]|8;c[s>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0))break;if(!(sv(c[p>>2]|0,c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)|0))break;c[s>>2]=(c[s>>2]|0)+1}if(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0){c[c[k>>2]>>2]=c[o>>2];c[o>>2]=0;g=(c[l>>2]|0)+12|0;c[g>>2]=c[g>>2]|c[r>>2];c[m>>2]=0;break}else{c[m>>2]=70;break}}else c[m>>2]=65;while(0);vf(c[p>>2]|0);Rf(c[o>>2]|0);Rf(c[n>>2]|0);i=f;return c[m>>2]|0}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;while(1){if(!(c[4400+(c[k>>2]<<3)>>2]|0))break;d=hv(c[4400+(c[k>>2]<<3)>>2]|0)|0;if((d|0)==(c[g>>2]|0)?(Jv(c[4400+(c[k>>2]<<3)>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1}if(c[4400+(c[k>>2]<<3)>>2]|0){c[h>>2]=c[4400+(c[k>>2]<<3)+4>>2];m=c[h>>2]|0;i=e;return m|0}c[l>>2]=pf((c[g>>2]|0)+1|0)|0;if(c[l>>2]|0){Yw(c[l>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;a[(c[l>>2]|0)+(c[g>>2]|0)>>0]=0;c[h>>2]=Li(c[l>>2]|0)|0;vf(c[l>>2]|0);m=c[h>>2]|0;i=e;return m|0}else{c[h>>2]=0;m=c[h>>2]|0;i=e;return m|0}return 0}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=5;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=2;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=20;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;i=e;return}function Mj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;vf(c[(c[d>>2]|0)+20>>2]|0);i=b;return}
-function gq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+20|0;v=k+16|0;w=k+12|0;x=k+8|0;y=k+4|0;z=k;A=k+60|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[u>>2]=c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2];c[v>>2]=c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2];c[w>>2]=((c[q>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;if((c[o>>2]|0)>>>0<(c[(c[m>>2]|0)+52>>2]&8|0?c[u>>2]|0:c[q>>2]|0)>>>0){c[l>>2]=200;B=c[l>>2]|0;i=k;return B|0}do if(((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0|0){if((c[q>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[(c[m>>2]|0)+52>>2]&4|0:0)break;c[l>>2]=139;B=c[l>>2]|0;i=k;return B|0}while(0);c[x>>2]=0;if((c[(c[m>>2]|0)+52>>2]&4|0?(c[q>>2]|0)>>>0>(c[u>>2]|0)>>>0:0)?(((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0|0)==0:0)c[w>>2]=(c[w>>2]|0)+-1;o=c[m>>2]|0;if(c[(c[m>>2]|0)+20+8>>2]|0){Cb[c[o+20+8>>2]&1]((c[m>>2]|0)+496|0,(c[m>>2]|0)+64|0,c[n>>2]|0,c[p>>2]|0,c[w>>2]|0,c[(c[m>>2]|0)+52>>2]&8);h=S(c[w>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+h;if(!(c[(c[m>>2]|0)+52>>2]&8)){h=S(c[w>>2]|0,c[u>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+h}}else{c[s>>2]=o+64;c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;hq(c[n>>2]|0,c[p>>2]|0,c[s>>2]|0,c[u>>2]|0);c[y>>2]=ub[c[v>>2]&63]((c[m>>2]|0)+496|0,c[n>>2]|0,c[n>>2]|0)|0;c[x>>2]=(c[y>>2]|0)>>>0>(c[x>>2]|0)>>>0?c[y>>2]|0:c[x>>2]|0;c[s>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);if(!(c[(c[m>>2]|0)+52>>2]&8))c[n>>2]=(c[n>>2]|0)+(c[u>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((c[s>>2]|0)!=((c[m>>2]|0)+64|0))iq((c[m>>2]|0)+64|0,c[s>>2]|0,c[u>>2]|0)}if(c[(c[m>>2]|0)+52>>2]&4|0?(c[q>>2]|0)>>>0>(c[u>>2]|0)>>>0:0){if(!(((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0))c[z>>2]=c[u>>2];else c[z>>2]=((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[n>>2]=(c[n>>2]|0)+(0-(c[u>>2]|0));c[s>>2]=(c[m>>2]|0)+64;c[t>>2]=0;while(1){if((c[t>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break;a[A>>0]=a[(c[p>>2]|0)+(c[t>>2]|0)>>0]|0;a[(c[n>>2]|0)+((c[u>>2]|0)+(c[t>>2]|0))>>0]=a[(c[n>>2]|0)+(c[t>>2]|0)>>0]|0;q=d[A>>0]|0;r=c[s>>2]|0;c[s>>2]=r+1;a[(c[n>>2]|0)+(c[t>>2]|0)>>0]=q^(d[r>>0]|0);c[t>>2]=(c[t>>2]|0)+1}while(1){if((c[t>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;A=c[s>>2]|0;c[s>>2]=A+1;a[(c[n>>2]|0)+(c[t>>2]|0)>>0]=0^(d[A>>0]|0);c[t>>2]=(c[t>>2]|0)+1}c[y>>2]=ub[c[v>>2]&63]((c[m>>2]|0)+496|0,c[n>>2]|0,c[n>>2]|0)|0;c[x>>2]=(c[y>>2]|0)>>>0>(c[x>>2]|0)>>>0?c[y>>2]|0:c[x>>2]|0;iq((c[m>>2]|0)+64|0,c[n>>2]|0,c[u>>2]|0)}if((c[x>>2]|0)>>>0>0){bf((c[x>>2]|0)+16|0);cf()}c[l>>2]=0;B=c[l>>2]|0;i=k;return B|0}function hq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function jq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+64|0;if((i|0)>=(j|0))$(64);k=h+52|0;l=h+48|0;m=h+44|0;n=h+40|0;o=h+36|0;p=h+32|0;q=h+28|0;r=h+24|0;s=h+20|0;t=h+16|0;u=h+12|0;v=h+8|0;w=h+4|0;x=h;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[s>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+40>>2];c[u>>2]=((c[p>>2]|0)>>>0)/((c[s>>2]|0)>>>0)|0;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;y=c[k>>2]|0;i=h;return y|0}do if(((c[p>>2]|0)>>>0)%((c[s>>2]|0)>>>0)|0|0){if((c[p>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[(c[l>>2]|0)+52>>2]&4|0:0)break;c[k>>2]=139;y=c[k>>2]|0;i=h;return y|0}while(0);c[v>>2]=0;if(c[(c[l>>2]|0)+52>>2]&4|0?(c[p>>2]|0)>>>0>(c[s>>2]|0)>>>0:0){c[u>>2]=(c[u>>2]|0)+-1;if(!(((c[p>>2]|0)>>>0)%((c[s>>2]|0)>>>0)|0))c[u>>2]=(c[u>>2]|0)+-1;iq((c[l>>2]|0)+96|0,(c[l>>2]|0)+64|0,c[s>>2]|0)}a:do if(c[(c[l>>2]|0)+20+12>>2]|0){vb[c[(c[l>>2]|0)+20+12>>2]&15]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,c[m>>2]|0,c[o>>2]|0,c[u>>2]|0);n=S(c[u>>2]|0,c[s>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+n;n=S(c[u>>2]|0,c[s>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+n}else{c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;c[w>>2]=ub[c[t>>2]&63]((c[l>>2]|0)+496|0,(c[l>>2]|0)+96|0,c[o>>2]|0)|0;c[v>>2]=(c[w>>2]|0)>>>0>(c[v>>2]|0)>>>0?c[w>>2]|0:c[v>>2]|0;kq(c[m>>2]|0,(c[l>>2]|0)+96|0,(c[l>>2]|0)+64|0,c[o>>2]|0,c[s>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[s>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}while(0);if(c[(c[l>>2]|0)+52>>2]&4|0?(c[p>>2]|0)>>>0>(c[s>>2]|0)>>>0:0){if(!(((c[p>>2]|0)>>>0)%((c[s>>2]|0)>>>0)|0))c[x>>2]=c[s>>2];else c[x>>2]=((c[p>>2]|0)>>>0)%((c[s>>2]|0)>>>0)|0;iq((c[l>>2]|0)+96|0,(c[l>>2]|0)+64|0,c[s>>2]|0);iq((c[l>>2]|0)+64|0,(c[o>>2]|0)+(c[s>>2]|0)|0,c[x>>2]|0);c[w>>2]=ub[c[t>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[w>>2]|0)>>>0>(c[v>>2]|0)>>>0?c[w>>2]|0:c[v>>2]|0;hq(c[m>>2]|0,c[m>>2]|0,(c[l>>2]|0)+64|0,c[x>>2]|0);iq((c[m>>2]|0)+(c[s>>2]|0)|0,c[m>>2]|0,c[x>>2]|0);c[r>>2]=c[x>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;a[(c[l>>2]|0)+64+(c[r>>2]|0)>>0]=a[(c[m>>2]|0)+(c[r>>2]|0)>>0]|0;c[r>>2]=(c[r>>2]|0)+1}c[w>>2]=ub[c[t>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,(c[l>>2]|0)+64|0)|0;c[v>>2]=(c[w>>2]|0)>>>0>(c[v>>2]|0)>>>0?c[w>>2]|0:c[v>>2]|0;hq(c[m>>2]|0,c[m>>2]|0,(c[l>>2]|0)+96|0,c[s>>2]|0)}if((c[v>>2]|0)>>>0>0){bf((c[v>>2]|0)+16|0);cf()}c[k>>2]=0;y=c[k>>2]|0;i=h;return y|0}function kq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+60|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[m>>2];c[t>>2]=c[o>>2];c[k>>2]=3;if(!((c[t>>2]|c[s>>2]|c[q>>2]|c[r>>2])&3)){c[v>>2]=c[q>>2];c[y>>2]=c[s>>2];c[w>>2]=c[r>>2];c[x>>2]=c[t>>2];while(1){if((c[p>>2]|0)>>>0<4)break;o=c[x>>2]|0;c[x>>2]=o+4;c[z>>2]=c[o>>2];o=c[c[w>>2]>>2]|0;m=c[y>>2]|0;c[y>>2]=m+4;n=o^c[m>>2];m=c[v>>2]|0;c[v>>2]=m+4;c[m>>2]=n;n=c[z>>2]|0;m=c[w>>2]|0;c[w>>2]=m+4;c[m>>2]=n;c[p>>2]=(c[p>>2]|0)-4}c[q>>2]=c[v>>2];c[s>>2]=c[y>>2];c[r>>2]=c[w>>2];c[t>>2]=c[x>>2]}while(1){if(!(c[p>>2]|0))break;x=c[t>>2]|0;c[t>>2]=x+1;a[u>>0]=a[x>>0]|0;x=d[c[r>>2]>>0]|0;w=c[s>>2]|0;c[s>>2]=w+1;y=(x^(d[w>>0]|0))&255;w=c[q>>2]|0;c[q>>2]=w+1;a[w>>0]=y;y=a[u>>0]|0;w=c[r>>2]|0;c[r>>2]=w+1;a[w>>0]=y;c[p>>2]=(c[p>>2]|0)+-1}i=k;return}function lq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=15-(c[l>>2]|0);c[n>>2]=(c[m>>2]|0)-1;if(!(c[k>>2]|0)){c[g>>2]=45;o=c[g>>2]|0;i=f;return o|0}if((c[m>>2]|0)>>>0<2|(c[m>>2]|0)>>>0>8){c[g>>2]=139;o=c[g>>2]|0;i=f;return o|0}else{Sw((c[h>>2]|0)+128|0,0,368)|0;c[(c[h>>2]|0)+56>>2]=0;e=(c[h>>2]|0)+64|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[(c[h>>2]|0)+112>>2]=0;a[(c[h>>2]|0)+80>>0]=c[n>>2];Yw((c[h>>2]|0)+80+1|0,c[k>>2]|0,c[l>>2]|0)|0;Sw((c[h>>2]|0)+80+(1+(c[l>>2]|0))|0,0,c[m>>2]|0)|0;a[(c[h>>2]|0)+64>>0]=c[n>>2];Yw((c[h>>2]|0)+64+1|0,c[k>>2]|0,c[l>>2]|0)|0;Sw((c[h>>2]|0)+64+(1+(c[l>>2]|0))|0,0,c[m>>2]|0)|0;m=(c[h>>2]|0)+128+56|0;a[m>>0]=a[m>>0]&-2|1;c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}return 0}function mq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+96|0;if((i|0)>=(j|0))$(96);k=h+64|0;l=h+60|0;m=h+56|0;n=h+52|0;o=h+48|0;p=h+40|0;q=h+72|0;r=h+36|0;s=h+32|0;t=h+28|0;u=h+24|0;v=h+20|0;w=h+16|0;x=h+68|0;y=h;z=h+12|0;A=h+8|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h+44>>2]=16;c[p>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[r>>2]=0;c[s>>2]=c[(c[l>>2]|0)+128+36>>2];if((c[n>>2]|0)==0?!((c[s>>2]|0)!=0&(c[o>>2]|0)!=0):0){c[k>>2]=0;B=c[k>>2]|0;i=h;return B|0}a:do{b:do if((c[s>>2]|0)>>>0>0?1:((c[n>>2]|0)+(c[s>>2]|0)|0)>>>0<16)while(1){if(!(c[n>>2]|0?(c[s>>2]|0)>>>0<16:0))break b;g=c[m>>2]|0;c[m>>2]=g+1;f=a[g>>0]|0;g=c[s>>2]|0;c[s>>2]=g+1;a[(c[l>>2]|0)+128+20+g>>0]=f;c[n>>2]=(c[n>>2]|0)+-1}while(0);c:do if(!(c[n>>2]|0)){if(!(c[o>>2]|0))break a;while(1){if((c[s>>2]|0)>>>0>=16)break c;f=c[s>>2]|0;c[s>>2]=f+1;a[(c[l>>2]|0)+128+20+f>>0]=0}}while(0);if((c[s>>2]|0)>>>0>0){nq((c[l>>2]|0)+64|0,(c[l>>2]|0)+64|0,(c[l>>2]|0)+128+20|0,16);c[u>>2]=ub[c[p>>2]&63]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,(c[l>>2]|0)+64|0)|0;c[r>>2]=(c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[r>>2]|0:c[u>>2]|0;c[s>>2]=0}d:do if(c[(c[l>>2]|0)+20+8>>2]|0){c[t>>2]=((c[n>>2]|0)>>>0)/16|0;Cb[c[(c[l>>2]|0)+20+8>>2]&1]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,q,c[m>>2]|0,c[t>>2]|0,1);c[m>>2]=(c[m>>2]|0)+(c[t>>2]<<4);c[n>>2]=(c[n>>2]|0)-(c[t>>2]<<4);c[v>>2]=q;c[w>>2]=16;a[x>>0]=0;f=y;c[f>>2]=d[x>>0];c[f+4>>2]=0;while(1){if(!(c[v>>2]&7|0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){f=y;g=ex(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=y;c[f>>2]=g;c[f+4>>2]=D;do{c[z>>2]=c[v>>2];f=y;g=c[f+4>>2]|0;e=c[z>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=g;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break d;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}}else while(1){if((c[n>>2]|0)>>>0<16)break d;nq((c[l>>2]|0)+64|0,(c[l>>2]|0)+64|0,c[m>>2]|0,16);c[A>>2]=ub[c[p>>2]&63]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,(c[l>>2]|0)+64|0)|0;c[r>>2]=(c[r>>2]|0)>>>0>(c[A>>2]|0)>>>0?c[r>>2]|0:c[A>>2]|0;c[n>>2]=(c[n>>2]|0)-16;c[m>>2]=(c[m>>2]|0)+16}while(0)}while((c[n>>2]|0)>>>0>0);c[(c[l>>2]|0)+128+36>>2]=c[s>>2];if(c[r>>2]|0)c[r>>2]=(c[r>>2]|0)+16;c[k>>2]=c[r>>2];B=c[k>>2]|0;i=h;return B|0}function nq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function oq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+24|0;m=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;q=k+4|0;r=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;s=c[l>>2]|0;i=k;return s|0}if(((a[(c[m>>2]|0)+128+56>>0]&1|0?((d[(c[m>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?(d[(c[m>>2]|0)+128+56>>0]|0)>>>1&1|0:0)?(h=(c[m>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[m>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[q>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}h=(c[m>>2]|0)+128|0;g=h;f=Rw(c[g>>2]|0,c[g+4>>2]|0,c[q>>2]|0,0)|0;g=h;c[g>>2]=f;c[g+4>>2]=D;c[r>>2]=mq(c[m>>2]|0,c[p>>2]|0,c[q>>2]|0,0)|0;if(c[r>>2]|0){bf((c[r>>2]|0)+20|0);cf()}c[l>>2]=yq(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[l>>2]|0;i=k;return s|0}c[l>>2]=156;s=c[l>>2]|0;i=k;return s|0}function pq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+28|0;m=k+24|0;n=k+20|0;o=k+16|0;p=k+12|0;q=k+8|0;r=k+4|0;s=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;t=c[l>>2]|0;i=k;return t|0}if(((a[(c[m>>2]|0)+128+56>>0]&1|0?((d[(c[m>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?(d[(c[m>>2]|0)+128+56>>0]|0)>>>1&1|0:0)?(h=(c[m>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[m>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[q>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[l>>2]=139;t=c[l>>2]|0;i=k;return t|0}c[r>>2]=yq(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[r>>2]|0){c[l>>2]=c[r>>2];t=c[l>>2]|0;i=k;return t|0}p=(c[m>>2]|0)+128|0;o=p;h=Rw(c[o>>2]|0,c[o+4>>2]|0,c[q>>2]|0,0)|0;o=p;c[o>>2]=h;c[o+4>>2]=D;c[s>>2]=mq(c[m>>2]|0,c[n>>2]|0,c[q>>2]|0,0)|0;if(c[s>>2]|0){bf((c[s>>2]|0)+20|0);cf()}c[l>>2]=c[r>>2];t=c[l>>2]|0;i=k;return t|0}c[l>>2]=156;t=c[l>>2]|0;i=k;return t|0}function qq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=g+48|0;k=g+44|0;l=g+40|0;m=g+36|0;n=g+32|0;o=g+28|0;p=g+24|0;q=g+20|0;r=g+16|0;s=g+12|0;t=g+8|0;u=g+4|0;v=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2];c[r>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];c[s>>2]=(c[r>>2]|0)+(c[r>>2]|0);if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[h>>2]=200;w=c[h>>2]|0;i=g;return w|0}if((c[o>>2]|0)>>>0<=(c[(c[k>>2]|0)+112>>2]|0)>>>0){c[p>>2]=(c[k>>2]|0)+64+(c[r>>2]|0)+(0-(c[(c[k>>2]|0)+112>>2]|0));rq(c[l>>2]|0,c[p>>2]|0,c[n>>2]|0,c[o>>2]|0);m=(c[k>>2]|0)+112|0;c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0);c[h>>2]=0;w=c[h>>2]|0;i=g;return w|0}c[t>>2]=0;if(c[(c[k>>2]|0)+112>>2]|0){c[o>>2]=(c[o>>2]|0)-(c[(c[k>>2]|0)+112>>2]|0);c[p>>2]=(c[k>>2]|0)+64+(c[r>>2]|0)+(0-(c[(c[k>>2]|0)+112>>2]|0));rq(c[l>>2]|0,c[p>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+112>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[(c[k>>2]|0)+112>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+112>>2]|0);c[(c[k>>2]|0)+112>>2]=0}if((c[o>>2]|0)>>>0>=(c[s>>2]|0)>>>0?c[(c[k>>2]|0)+20>>2]|0:0){c[v>>2]=((c[o>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;vb[c[(c[k>>2]|0)+20>>2]&15]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,c[l>>2]|0,c[n>>2]|0,c[v>>2]|0);p=S(c[v>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+p;p=S(c[v>>2]|0,c[r>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+p;p=S(c[v>>2]|0,c[r>>2]|0)|0;c[o>>2]=(c[o>>2]|0)-p}else x=10;a:do if((x|0)==10)while(1){x=0;if((c[o>>2]|0)>>>0<(c[s>>2]|0)>>>0)break a;c[u>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;rq(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0);x=10}while(0);if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){sq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);c[u>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;rq(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0)}if(c[o>>2]|0){sq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);c[u>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;c[(c[k>>2]|0)+112>>2]=c[r>>2];r=(c[k>>2]|0)+112|0;c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0);rq(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[o>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=0}if((c[t>>2]|0)>>>0>0){bf((c[t>>2]|0)+16|0);cf()}c[h>>2]=0;w=c[h>>2]|0;i=g;return w|0}function rq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[q>>2]|c[o>>2]|c[p>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[t>>2]|0;c[t>>2]=m+4;l=c[m>>2]|0;m=c[s>>2]|0;c[s>>2]=m+4;k=c[m>>2]^l;c[m>>2]=k;m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[q>>2]|0;c[q>>2]=t+1;s=d[t>>0]|0;t=c[p>>2]|0;c[p>>2]=t+1;r=((d[t>>0]|0)^s)&255;a[t>>0]=r;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function sq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function tq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=g+48|0;k=g+44|0;l=g+40|0;m=g+36|0;n=g+32|0;o=g+28|0;p=g+24|0;q=g+20|0;r=g+16|0;s=g+12|0;t=g+8|0;u=g+4|0;v=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2];c[r>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];c[s>>2]=(c[r>>2]|0)+(c[r>>2]|0);if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[h>>2]=200;w=c[h>>2]|0;i=g;return w|0}if((c[o>>2]|0)>>>0<=(c[(c[k>>2]|0)+112>>2]|0)>>>0){c[p>>2]=(c[k>>2]|0)+64+(c[r>>2]|0)+(0-(c[(c[k>>2]|0)+112>>2]|0));uq(c[l>>2]|0,c[p>>2]|0,c[n>>2]|0,c[o>>2]|0);m=(c[k>>2]|0)+112|0;c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0);c[h>>2]=0;w=c[h>>2]|0;i=g;return w|0}c[t>>2]=0;if(c[(c[k>>2]|0)+112>>2]|0){c[o>>2]=(c[o>>2]|0)-(c[(c[k>>2]|0)+112>>2]|0);c[p>>2]=(c[k>>2]|0)+64+(c[r>>2]|0)+(0-(c[(c[k>>2]|0)+112>>2]|0));uq(c[l>>2]|0,c[p>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+112>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[(c[k>>2]|0)+112>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+112>>2]|0);c[(c[k>>2]|0)+112>>2]=0}if((c[o>>2]|0)>>>0>=(c[s>>2]|0)>>>0?c[(c[k>>2]|0)+20+4>>2]|0:0){c[v>>2]=((c[o>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;vb[c[(c[k>>2]|0)+20+4>>2]&15]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,c[l>>2]|0,c[n>>2]|0,c[v>>2]|0);p=S(c[v>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+p;p=S(c[v>>2]|0,c[r>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+p;p=S(c[v>>2]|0,c[r>>2]|0)|0;c[o>>2]=(c[o>>2]|0)-p}else x=10;a:do if((x|0)==10)while(1){x=0;if((c[o>>2]|0)>>>0<(c[s>>2]|0)>>>0)break a;c[u>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;uq(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0);x=10}while(0);if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){sq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);c[u>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;uq(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0)}if(c[o>>2]|0){sq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);c[u>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;c[(c[k>>2]|0)+112>>2]=c[r>>2];r=(c[k>>2]|0)+112|0;c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0);uq(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[o>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=0}if((c[t>>2]|0)>>>0>0){bf((c[t>>2]|0)+16|0);cf()}c[h>>2]=0;w=c[h>>2]|0;i=g;return w|0}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;vq(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function vq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+60|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[m>>2];c[t>>2]=c[o>>2];c[k>>2]=3;if(!((c[t>>2]|c[s>>2]|c[q>>2]|c[r>>2])&3)){c[v>>2]=c[q>>2];c[y>>2]=c[s>>2];c[w>>2]=c[r>>2];c[x>>2]=c[t>>2];while(1){if((c[p>>2]|0)>>>0<4)break;o=c[x>>2]|0;c[x>>2]=o+4;c[z>>2]=c[o>>2];o=c[c[w>>2]>>2]|0;m=c[y>>2]|0;c[y>>2]=m+4;n=o^c[m>>2];m=c[v>>2]|0;c[v>>2]=m+4;c[m>>2]=n;n=c[z>>2]|0;m=c[w>>2]|0;c[w>>2]=m+4;c[m>>2]=n;c[p>>2]=(c[p>>2]|0)-4}c[q>>2]=c[v>>2];c[s>>2]=c[y>>2];c[r>>2]=c[w>>2];c[t>>2]=c[x>>2]}while(1){if(!(c[p>>2]|0))break;x=c[t>>2]|0;c[t>>2]=x+1;a[u>>0]=a[x>>0]|0;x=d[c[r>>2]>>0]|0;w=c[s>>2]|0;c[s>>2]=w+1;y=(x^(d[w>>0]|0))&255;w=c[q>>2]|0;c[q>>2]=w+1;a[w>>0]=y;y=a[u>>0]|0;w=c[r>>2]|0;c[r>>2]=w+1;a[w>>0]=y;c[p>>2]=(c[p>>2]|0)+-1}i=k;return}function wq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;xq(c[d>>2]|0);i=b;return 0}function xq(b){b=b|0;var e=0,f=0,g=0,h=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=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=e+56|0;g=e+52|0;h=e+64|0;k=e+63|0;l=e+62|0;m=e+61|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+24|0;r=e+16|0;s=e+12|0;t=e+60|0;u=e;v=e+8|0;c[f>>2]=b;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2];if(16<(c[g>>2]|0)>>>0)Re(46821,113,46835);Sw(q|0,0,c[g>>2]|0)|0;c[n>>2]=ub[c[(c[(c[f>>2]|0)+12>>2]|0)+36>>2]&63]((c[f>>2]|0)+496|0,q,q)|0;a[h>>0]=(c[g>>2]|0)==16?135:27;c[p>>2]=0;while(1){if((c[p>>2]|0)>=2)break;a[k>>0]=0;c[o>>2]=(c[g>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;a[m>>0]=a[q+(c[o>>2]|0)>>0]|0;a[l>>0]=d[k>>0]|0|(d[m>>0]|0)<<1;a[k>>0]=(d[m>>0]|0)>>7;a[q+(c[o>>2]|0)>>0]=d[l>>0]|0;a[(c[f>>2]|0)+128+1+(c[p>>2]<<4)+(c[o>>2]|0)>>0]=a[q+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+-1}b=q+((c[g>>2]|0)-1)|0;a[b>>0]=(d[b>>0]|0)^(d[k>>0]|0|0?d[h>>0]|0:0);a[(c[f>>2]|0)+128+1+(c[p>>2]<<4)+((c[g>>2]|0)-1)>>0]=a[q+((c[g>>2]|0)-1)>>0]|0;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=q;c[s>>2]=16;a[t>>0]=0;q=u;c[q>>2]=d[t>>0];c[q+4>>2]=0;while(1){if(!(c[r>>2]&7|0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){q=u;p=ex(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=u;c[q>>2]=p;c[q+4>>2]=D;do{c[v>>2]=c[r>>2];q=u;p=c[q+4>>2]|0;g=c[v>>2]|0;c[g>>2]=c[q>>2];c[g+4>>2]=p;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if(!(c[n>>2]|0)){i=e;return}bf((c[n>>2]|0)+16|0);cf();i=e;return}function yq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;k=i;i=i+96|0;if((i|0)>=(j|0))$(96);l=k+68|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+80|0;z=k+16|0;A=k+12|0;B=k+72|0;C=k;E=k+8|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[t>>2]=c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2];c[u>>2]=c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2];if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;F=c[l>>2]|0;i=k;return F|0}c[w>>2]=0;if(c[(c[m>>2]|0)+112>>2]|0){if((c[(c[m>>2]|0)+112>>2]|0)>>>0>=(c[u>>2]|0)>>>0)Se(46857,46879,53,46892);c[s>>2]=(c[u>>2]|0)-(c[(c[m>>2]|0)+112>>2]|0);if((c[(c[m>>2]|0)+112>>2]|0)>>>0>(c[q>>2]|0)>>>0)G=c[q>>2]|0;else G=c[(c[m>>2]|0)+112>>2]|0;c[r>>2]=G;zq(c[n>>2]|0,c[p>>2]|0,(c[m>>2]|0)+96+(c[s>>2]|0)|0,c[r>>2]|0);G=(c[m>>2]|0)+112|0;c[G>>2]=(c[G>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[q>>2]=(c[q>>2]|0)-(c[r>>2]|0)}c[v>>2]=((c[q>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;if(c[v>>2]|0?c[(c[m>>2]|0)+20+16>>2]|0:0){vb[c[(c[m>>2]|0)+20+16>>2]&15]((c[m>>2]|0)+496|0,(c[m>>2]|0)+80|0,c[n>>2]|0,c[p>>2]|0,c[v>>2]|0);G=S(c[v>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+G;G=S(c[v>>2]|0,c[u>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+G;G=S(c[v>>2]|0,c[u>>2]|0)|0;c[q>>2]=(c[q>>2]|0)-G}a:do if(c[q>>2]|0){do{c[x>>2]=ub[c[t>>2]&63]((c[m>>2]|0)+496|0,y,(c[m>>2]|0)+80|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;c[s>>2]=c[u>>2];while(1){if((c[s>>2]|0)<=0)break;G=(c[m>>2]|0)+80+((c[s>>2]|0)-1)|0;a[G>>0]=(a[G>>0]|0)+1<<24>>24;if(d[(c[m>>2]|0)+80+((c[s>>2]|0)-1)>>0]|0|0)break;c[s>>2]=(c[s>>2]|0)+-1}c[r>>2]=(c[u>>2]|0)>>>0<(c[q>>2]|0)>>>0?c[u>>2]|0:c[q>>2]|0;zq(c[n>>2]|0,c[p>>2]|0,y,c[r>>2]|0);c[q>>2]=(c[q>>2]|0)-(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[r>>2]|0)}while((c[q>>2]|0)!=0);c[(c[m>>2]|0)+112>>2]=(c[u>>2]|0)-(c[r>>2]|0);if(c[(c[m>>2]|0)+112>>2]|0)Aq((c[m>>2]|0)+96+(c[r>>2]|0)|0,y+(c[r>>2]|0)|0,c[(c[m>>2]|0)+112>>2]|0);c[z>>2]=y;c[A>>2]=16;a[B>>0]=0;G=C;c[G>>2]=d[B>>0];c[G+4>>2]=0;while(1){if(!(c[z>>2]&7|0?(c[A>>2]|0)!=0:0))break;a[c[z>>2]>>0]=a[B>>0]|0;c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}if((c[A>>2]|0)>>>0>=8){G=C;v=ex(c[G>>2]|0,c[G+4>>2]|0,16843009,16843009)|0;G=C;c[G>>2]=v;c[G+4>>2]=D;do{c[E>>2]=c[z>>2];G=C;v=c[G+4>>2]|0;o=c[E>>2]|0;c[o>>2]=c[G>>2];c[o+4>>2]=v;c[A>>2]=(c[A>>2]|0)-8;c[z>>2]=(c[z>>2]|0)+8}while((c[A>>2]|0)>>>0>=8)}while(1){if(!(c[A>>2]|0))break a;a[c[z>>2]>>0]=a[B>>0]|0;c[z>>2]=(c[z>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+-1}}while(0);if((c[w>>2]|0)>>>0>0){bf((c[w>>2]|0)+16|0);cf()}c[l>>2]=0;F=c[l>>2]|0;i=k;return F|0}function zq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function Aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function Bq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+24|0;m=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;q=k+4|0;r=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=12;s=c[l>>2]|0;i=k;return s|0}if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;s=c[l>>2]|0;i=k;return s|0}if((d[(c[m>>2]|0)+128+68>>0]|0)>>>2&1|0){c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[m>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[m>>2]|0)+56>>0]|0)>>>1&1))Cq(c[m>>2]|0,72251,16)|0;if((d[(c[m>>2]|0)+128+68>>0]|0)>>>3&1|0){c[l>>2]=156;s=c[l>>2]|0;i=k;return s|0}if(!((d[(c[m>>2]|0)+128+68>>0]|0)>>>1&1)){Dq(c[m>>2]|0,(c[m>>2]|0)+128|0,0,0,1);h=(c[m>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}Eq((c[m>>2]|0)+128+44|0,c[q>>2]|0);h=(Fq((c[m>>2]|0)+128+44|0)|0)!=0;g=c[m>>2]|0;if(!h){h=g+128+68|0;a[h>>0]=a[h>>0]&-5|4;c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}c[r>>2]=yq(g,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[r>>2]|0){c[l>>2]=c[r>>2];s=c[l>>2]|0;i=k;return s|0}else{Dq(c[m>>2]|0,(c[m>>2]|0)+128|0,c[n>>2]|0,c[q>>2]|0,0);c[l>>2]=0;s=c[l>>2]|0;i=k;return s|0}}c[l>>2]=156;s=c[l>>2]|0;i=k;return s|0}function Cq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+8|0;h=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-3;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-5;e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9;if(!(Wg()|0)){l=c[g>>2]|0;m=c[h>>2]|0;n=c[k>>2]|0;o=Hq(l,m,n)|0;i=f;return o|0}e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9|8;l=c[g>>2]|0;m=c[h>>2]|0;n=c[k>>2]|0;o=Hq(l,m,n)|0;i=f;return o|0}function Dq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=16;c[q>>2]=c[(c[k>>2]|0)+128+32>>2];c[r>>2]=c[(c[k>>2]|0)+128+96>>2];c[u>>2]=0;if((c[n>>2]|0)==0?!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0):0){i=h;return}a:do{if((c[q>>2]|0)>>>0>0?1:((c[n>>2]|0)+(c[q>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[t>>2]=(c[p>>2]|0)-(c[q>>2]|0);c[t>>2]=(c[t>>2]|0)>>>0<(c[n>>2]|0)>>>0?c[t>>2]|0:c[n>>2]|0;Gq((c[k>>2]|0)+128+16+(c[q>>2]|0)|0,c[m>>2]|0,c[t>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[t>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[t>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[t>>2]|0)}b:do if(!(c[n>>2]|0)){if(!(c[o>>2]|0))break a;while(1){if((c[q>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break b;g=c[q>>2]|0;c[q>>2]=g+1;a[(c[k>>2]|0)+128+16+g>>0]=0}}while(0);if((c[q>>2]|0)>>>0>0){if((c[q>>2]|0)!=(c[p>>2]|0)){v=11;break}c[u>>2]=Bb[c[r>>2]&7](c[k>>2]|0,c[l>>2]|0,(c[k>>2]|0)+128+16|0,1)|0;c[q>>2]=0}c[s>>2]=((c[n>>2]|0)>>>0)/((c[p>>2]|0)>>>0)|0;if(c[s>>2]|0){c[u>>2]=Bb[c[r>>2]&7](c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;g=S(c[p>>2]|0,c[s>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+g;g=S(c[p>>2]|0,c[s>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-g}}while((c[n>>2]|0)>>>0>0);if((v|0)==11)Se(46917,46937,499,46950);c[(c[k>>2]|0)+128+32>>2]=c[q>>2];if(!(c[u>>2]|0)){i=h;return}bf(c[u>>2]|0);cf();i=h;return}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[c[e>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0){i=d;return}f=(c[e>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;i=d;return}function Fq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=15){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<15){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967264){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function Hq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+96|0;if((i|0)>=(j|0))$(96);h=g+76|0;k=g+72|0;l=g+68|0;m=g+64|0;n=g+56|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+81|0;s=g+8|0;t=g+28|0;u=g+24|0;v=g+20|0;w=g+80|0;x=g;y=g+16|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;f=(c[k>>2]|0)+128+36|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[k>>2]|0)+128+44|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[k>>2]|0)+128|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;f=(c[k>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-5;f=(c[k>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-2;f=(c[k>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-3;if(!(c[m>>2]|0)){c[h>>2]=139;z=c[h>>2]|0;i=g;return z|0}a:do if((c[m>>2]|0)!=12){c[n>>2]=0;c[n+4>>2]=0;f=(c[k>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Eq(n,c[m>>2]|0);f=(Iq(n)|0)!=0;e=c[k>>2]|0;if(!f){f=e+128+68|0;a[f>>0]=a[f>>0]&-5|4;c[h>>2]=139;z=c[h>>2]|0;i=g;return z|0}Dq(e,(c[k>>2]|0)+80|0,c[l>>2]|0,c[m>>2]|0,1);c[o+8+4>>2]=_w(c[n>>2]<<3|0)|0;c[o+8>>2]=_w((c[n>>2]|0)>>>29|c[n+4>>2]<<3|0)|0;c[o+4>>2]=0;c[o>>2]=0;Dq(c[k>>2]|0,(c[k>>2]|0)+80|0,o,16,1);c[p>>2]=n;c[q>>2]=8;a[r>>0]=0;e=s;c[e>>2]=d[r>>0];c[e+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){e=s;f=ex(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=s;c[e>>2]=f;c[e+4>>2]=D;do{c[t>>2]=c[p>>2];e=s;f=c[e+4>>2]|0;b=c[t>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}c[u>>2]=o;c[v>>2]=16;a[w>>0]=0;f=x;c[f>>2]=d[w>>0];c[f+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){f=x;b=ex(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=x;c[f>>2]=b;c[f+4>>2]=D;do{c[y>>2]=c[u>>2];f=x;b=c[f+4>>2]|0;e=c[y>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=b;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break a;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}}else{Yw((c[k>>2]|0)+80|0,c[l>>2]|0,c[m>>2]|0)|0;a[(c[k>>2]|0)+80+14>>0]=0;a[(c[k>>2]|0)+80+13>>0]=0;a[(c[k>>2]|0)+80+12>>0]=0;a[(c[k>>2]|0)+80+15>>0]=1}while(0);ub[c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+128+52|0,(c[k>>2]|0)+80|0)|0;Jq((c[k>>2]|0)+80|0,1)|0;c[(c[k>>2]|0)+112>>2]=0;m=(c[k>>2]|0)+56|0;a[m>>0]=a[m>>0]&-3|2;m=(c[k>>2]|0)+56|0;a[m>>0]=a[m>>0]&-5;c[h>>2]=0;z=c[h>>2]|0;i=g;return z|0}function Iq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=536870911){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<536870911){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967295){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[d+8>>2]=16;c[g>>2]=(c[e>>2]|0)+16+-4;e=_w(c[c[g>>2]>>2]|0)|0;c[h>>2]=e+(c[f>>2]|0);f=_w(c[h>>2]|0)|0;c[c[g>>2]>>2]=f;i=d;return c[h>>2]|0}function Kq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=12;r=c[l>>2]|0;i=k;return r|0}if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;r=c[l>>2]|0;i=k;return r|0}if((d[(c[m>>2]|0)+128+68>>0]|0)>>>2&1|0){c[l>>2]=139;r=c[l>>2]|0;i=k;return r|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[m>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[m>>2]|0)+56>>0]|0)>>>1&1))Cq(c[m>>2]|0,72267,16)|0;if(!((d[(c[m>>2]|0)+128+68>>0]|0)>>>1&1)){Dq(c[m>>2]|0,(c[m>>2]|0)+128|0,0,0,1);h=(c[m>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}Eq((c[m>>2]|0)+128+44|0,c[q>>2]|0);h=(Fq((c[m>>2]|0)+128+44|0)|0)!=0;g=c[m>>2]|0;if(h){Dq(g,(c[m>>2]|0)+128|0,c[p>>2]|0,c[q>>2]|0,0);c[l>>2]=yq(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;r=c[l>>2]|0;i=k;return r|0}else{q=g+128+68|0;a[q>>0]=a[q>>0]&-5|4;c[l>>2]=139;r=c[l>>2]|0;i=k;return r|0}}c[l>>2]=156;r=c[l>>2]|0;i=k;return r|0}function Lq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=(c[d>>2]|0)+128+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;ub[c[(c[(c[d>>2]|0)+12>>2]|0)+36>>2]&63]((c[d>>2]|0)+496|0,(c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+80|0)|0;Mq(c[d>>2]|0);i=b;return}function Mq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;c[(c[d>>2]|0)+128+96>>2]=2;Oq((c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+100|0);i=b;return}function Nq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+8|0;m=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[f+4>>2]=16;c[m>>2]=0;while(1){if(!(c[l>>2]|0))break;c[m>>2]=Rq(c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+128+100|0)|0;c[k>>2]=(c[k>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}i=f;return (c[m>>2]|0)+(c[m>>2]|0?20:0)|0}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;b=Pq(c[e>>2]|0)|0;c[(c[f>>2]|0)+128>>2]=b;b=Pq((c[e>>2]|0)+4|0)|0;c[(c[f>>2]|0)+132>>2]=b;b=Pq((c[e>>2]|0)+8|0)|0;c[(c[f>>2]|0)+136>>2]=b;b=Pq((c[e>>2]|0)+12|0)|0;c[(c[f>>2]|0)+140>>2]=b;c[g>>2]=4;while(1){if((c[g>>2]|0)<=0)break;c[(c[f>>2]|0)+((c[g>>2]<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+0<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+1<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+2<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+3<<2)>>2];Qq(c[f>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)/2|0}c[g>>2]=2;while(1){if((c[g>>2]|0)>=16)break;c[h>>2]=1;while(1){k=c[g>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((k<<2)+0<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+0<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+1<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+2<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+3<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=k<<1}i=d;return}function Pq(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+28|0;f=d+24|0;g=d+8|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2];c[g+4>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2];c[g+8>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2];c[g+12>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2];c[h>>2]=c[g+12>>2]&1|0?225:0;c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2]=(c[g+12>>2]|0)>>>1^c[g+8>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2]=(c[g+8>>2]|0)>>>1^c[g+4>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2]=(c[g+4>>2]|0)>>>1^c[g>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2]=(c[g>>2]|0)>>>1^c[h>>2]<<24;i=d;return}function Rq(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=g+56|0;k=g+52|0;l=g+48|0;m=g+64|0;n=g+32|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+4|0;s=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=f;Sq(m,c[h>>2]|0,c[k>>2]|0,16);c[s>>2]=15;c[o>>2]=d[m+(c[s>>2]|0)>>0];c[p>>2]=(c[l>>2]|0)+((c[o>>2]&15)<<2<<2);c[o>>2]=(c[o>>2]&240)>>>4;c[q>>2]=(c[l>>2]|0)+(c[o>>2]<<2<<2);k=(c[s>>2]|0)+-1|0;c[s>>2]=k;c[o>>2]=d[m+k>>0];k=(c[c[p>>2]>>2]|0)>>>4;f=gx(e[17906+((c[(c[p>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[n>>2]=k^f^c[c[q>>2]>>2];c[n+4>>2]=(c[(c[p>>2]|0)+4>>2]|0)>>>4^c[c[p>>2]>>2]<<28^c[(c[q>>2]|0)+4>>2];c[n+8>>2]=(c[(c[p>>2]|0)+8>>2]|0)>>>4^c[(c[p>>2]|0)+4>>2]<<28^c[(c[q>>2]|0)+8>>2];c[n+12>>2]=(c[(c[p>>2]|0)+12>>2]|0)>>>4^c[(c[p>>2]|0)+8>>2]<<28^c[(c[q>>2]|0)+12>>2];while(1){c[p>>2]=(c[l>>2]|0)+((c[o>>2]&15)<<2<<2);c[o>>2]=(c[o>>2]&240)>>>4;c[q>>2]=(c[l>>2]|0)+(c[o>>2]<<2<<2);c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[n>>2]=(c[r>>2]|0)>>>8^(e[17906+((c[n+12>>2]&255)<<1)>>1]|0)<<16^c[c[q>>2]>>2];c[n+4>>2]=c[r>>2]<<24^(c[n+4>>2]|0)>>>8^c[(c[q>>2]|0)+4>>2];c[n+8>>2]=c[r+4>>2]<<24^(c[n+8>>2]|0)>>>8^c[(c[q>>2]|0)+8>>2];c[n+12>>2]=c[r+8>>2]<<24^(c[n+12>>2]|0)>>>8^c[(c[q>>2]|0)+12>>2];f=(c[c[p>>2]>>2]|0)>>>4;k=gx(e[17906+((c[(c[p>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[n>>2]=c[n>>2]^(f^k);k=n+4|0;c[k>>2]=c[k>>2]^((c[(c[p>>2]|0)+4>>2]|0)>>>4^c[c[p>>2]>>2]<<28);k=n+8|0;c[k>>2]=c[k>>2]^((c[(c[p>>2]|0)+8>>2]|0)>>>4^c[(c[p>>2]|0)+4>>2]<<28);k=n+12|0;c[k>>2]=c[k>>2]^((c[(c[p>>2]|0)+12>>2]|0)>>>4^c[(c[p>>2]|0)+8>>2]<<28);if(!(c[s>>2]|0))break;k=(c[s>>2]|0)+-1|0;c[s>>2]=k;c[o>>2]=d[m+k>>0]}Tq(c[h>>2]|0,c[n>>2]|0);Tq((c[h>>2]|0)+4|0,c[n+4>>2]|0);Tq((c[h>>2]|0)+8|0,c[n+8>>2]|0);Tq((c[h>>2]|0)+12|0,c[n+12>>2]|0);i=g;return 76}function Sq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function Tq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function Uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f;m=f+8|0;c[h>>2]=a;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;e=l;c[m>>2]=Vq(c[e>>2]|0,c[e+4>>2]|0)|0;if((c[m>>2]|0)<16){c[g>>2]=(c[h>>2]|0)+128+32+(c[m>>2]<<4);n=c[g>>2]|0;i=f;return n|0}Wq(c[k>>2]|0,(c[h>>2]|0)+128+32+240|0);c[m>>2]=(c[m>>2]|0)-16;while(1){o=c[k>>2]|0;if(!(c[m>>2]|0))break;Xq(o);c[m>>2]=(c[m>>2]|0)+-1}c[g>>2]=o;n=c[g>>2]|0;i=f;return n|0}function Vq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=$q(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+($q(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=(c[f>>2]|0))_q(c[e>>2]|0,c[f>>2]|0,16);Xq(c[e>>2]|0);i=d;return}function Xq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+24|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;a=Yq(c[d>>2]|0)|0;h=f;c[h>>2]=a;c[h+4>>2]=D;h=Yq((c[d>>2]|0)+8|0)|0;a=g;c[a>>2]=h;c[a+4>>2]=D;a=f;h=$w(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=e;c[a>>2]=h;c[a+4>>2]=D;a=f;h=f;k=Uw(c[a>>2]|0,c[a+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=D;a=g;l=ax(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=f;c[a>>2]=k^l;c[a+4>>2]=h^D;h=g;a=g;l=Uw(c[h>>2]|0,c[h+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=g;c[a>>2]=l^c[e>>2]&135;c[a+4>>2]=D;a=f;Zq(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0);a=g;Zq((c[d>>2]|0)+8|0,c[a>>2]|0,c[a+4>>2]|0);i=b;return}function Yq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=gx(d[c[f>>2]>>0]|0|0,0,56)|0;a=D;g=gx(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|D;a=gx(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;k=h|D|(d[(c[f>>2]|0)+3>>0]|0);h=gx(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;l=k|D;k=gx(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;m=l|D;l=gx(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;D=m|D;i=b;return e|g|a|h|k|l|(d[(c[f>>2]|0)+7>>0]|0)|0}function Zq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f;k=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[g>>2];g=h;e=ax(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[k>>2]>>0]=e;e=h;g=ax(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[k>>2]|0)+1>>0]=g;g=h;e=ax(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[k>>2]|0)+2>>0]=e;a[(c[k>>2]|0)+3>>0]=c[h+4>>2];e=h;g=ax(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[k>>2]|0)+4>>0]=g;g=h;e=ax(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[k>>2]|0)+5>>0]=e;e=h;g=ax(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[k>>2]|0)+6>>0]=g;a[(c[k>>2]|0)+7>>0]=c[h>>2];i=f;return}function _q(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function $q(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Vw(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function ar(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;g=i;i=i+128|0;if((i|0)>=(j|0))$(128);h=g+68|0;k=g+64|0;l=g+60|0;m=g+56|0;n=g+104|0;o=g+80|0;p=g+52|0;q=g+48|0;r=g+44|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+73|0;w=g+8|0;x=g+28|0;y=g+24|0;z=g+20|0;A=g+72|0;B=g;C=g+16|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;if(!(a[(c[k>>2]|0)+56>>0]&1)){c[h>>2]=156;E=c[h>>2]|0;i=g;return E|0}switch(d[(c[k>>2]|0)+128+352>>0]|0|0){case 16:case 12:case 8:break;default:{c[h>>2]=59;E=c[h>>2]|0;i=g;return E|0}}if((c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[h>>2]=12;E=c[h>>2]|0;i=g;return E|0}if(!(c[l>>2]|0)){c[h>>2]=45;E=c[h>>2]|0;i=g;return E|0}if((c[m>>2]|0)>>>0>15|(c[m>>2]|0)>>>0<8|(c[m>>2]|0)>>>0>=16){c[h>>2]=139;E=c[h>>2]|0;i=g;return E|0}f=n;e=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[s>>2]=ub[c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+128|0,n)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;Wq((c[k>>2]|0)+128+16|0,(c[k>>2]|0)+128|0);Wq((c[k>>2]|0)+128+32|0,(c[k>>2]|0)+128+16|0);c[q>>2]=1;while(1){if((c[q>>2]|0)>=16)break;Wq((c[k>>2]|0)+128+32+(c[q>>2]<<4)|0,(c[k>>2]|0)+128+32+((c[q>>2]|0)-1<<4)|0);c[q>>2]=(c[q>>2]|0)+1}Sw(n|0,0,16-(c[m>>2]|0)|0)|0;_q(n+(16-(c[m>>2]|0))|0,c[l>>2]|0,c[m>>2]|0);a[n>>0]=(((d[(c[k>>2]|0)+128+352>>0]|0)<<3|0)%128|0)<<1;l=n+(16-(c[m>>2]|0)-1)|0;a[l>>0]=d[l>>0]|0|1;c[p>>2]=(d[n+15>>0]|0)&63;l=n+15|0;a[l>>0]=(d[l>>0]|0)&192;c[s>>2]=ub[c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2]&63]((c[k>>2]|0)+496|0,n,n)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;_q(o,n,16);br(o+16|0,n,n+1|0,8);cr((c[k>>2]|0)+64|0,o,c[p>>2]|0,16);p=(c[k>>2]|0)+56|0;a[p>>0]=a[p>>0]&-3|2;p=(c[k>>2]|0)+80|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;p=(c[k>>2]|0)+128+304|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;p=(c[k>>2]|0)+128+320|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;p=(c[k>>2]|0)+96|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[(c[k>>2]|0)+112>>2]=0;p=(c[k>>2]|0)+56|0;a[p>>0]=a[p>>0]&-5;p=(c[k>>2]|0)+56|0;a[p>>0]=a[p>>0]&-9;p=(c[k>>2]|0)+128+336|0;c[p>>2]=0;c[p+4>>2]=0;p=(c[k>>2]|0)+128+344|0;c[p>>2]=0;c[p+4>>2]=0;p=(c[k>>2]|0)+128+353|0;a[p>>0]=a[p>>0]&-2;p=(c[k>>2]|0)+128+353|0;a[p>>0]=a[p>>0]&-3;c[t>>2]=n;c[u>>2]=16;a[v>>0]=0;n=w;c[n>>2]=d[v>>0];c[n+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){n=w;p=ex(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=w;c[n>>2]=p;c[n+4>>2]=D;do{c[x>>2]=c[t>>2];n=w;p=c[n+4>>2]|0;k=c[x>>2]|0;c[k>>2]=c[n>>2];c[k+4>>2]=p;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}c[y>>2]=o;c[z>>2]=24;a[A>>0]=0;o=B;c[o>>2]=d[A>>0];c[o+4>>2]=0;while(1){if(!(c[y>>2]&7|0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){o=B;u=ex(c[o>>2]|0,c[o+4>>2]|0,16843009,16843009)|0;o=B;c[o>>2]=u;c[o+4>>2]=D;do{c[C>>2]=c[y>>2];o=B;u=c[o+4>>2]|0;t=c[C>>2]|0;c[t>>2]=c[o>>2];c[t+4>>2]=u;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[r>>2]|0)>>>0>0){bf((c[r>>2]|0)+16|0);cf()}c[h>>2]=0;E=c[h>>2]|0;i=g;return E|0}function br(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function cr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[l>>2]=(c[l>>2]|0)+(((c[m>>2]|0)>>>0)/8|0);c[o>>2]=((c[m>>2]|0)>>>0)%8|0;if(c[o>>2]|0){while(1){if(!(c[n>>2]|0))break;a[c[k>>2]>>0]=(d[c[l>>2]>>0]|0)<<c[o>>2]|(d[(c[l>>2]|0)+1>>0]|0)>>8-(c[o>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}i=h;return}else{while(1){if(!(c[n>>2]|0))break;a[c[k>>2]>>0]=a[c[l>>2]>>0]|0;c[n>>2]=(c[n>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}i=h;return}}function dr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[h>>2];c[n>>2]=c[k>>2];c[g>>2]=3;if(!((c[m>>2]|c[n>>2])&3)){c[o>>2]=c[m>>2];c[p>>2]=c[n>>2];while(1){if((c[l>>2]|0)>>>0<4)break;k=c[p>>2]|0;c[p>>2]=k+4;h=c[k>>2]|0;k=c[o>>2]|0;c[o>>2]=k+4;c[k>>2]=c[k>>2]^h;c[l>>2]=(c[l>>2]|0)-4}c[m>>2]=c[o>>2];c[n>>2]=c[p>>2]}while(1){if(!(c[l>>2]|0))break;p=c[n>>2]|0;c[n>>2]=p+1;o=d[p>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=(d[p>>0]|0)^o;c[l>>2]=(c[l>>2]|0)+-1}i=g;return}function er(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=fr(c[h>>2]|0,1,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;i=g;return f|0}function fr(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=i;i=i+80|0;if((i|0)>=(j|0))$(80);m=l+40|0;n=l+36|0;o=l+32|0;p=l+28|0;q=l+24|0;r=l+20|0;s=l+16|0;t=l+64|0;u=l+12|0;v=l+8|0;w=l+4|0;x=l;y=l+48|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;c[u>>2]=0;c[w>>2]=((c[s>>2]|0)>>>0)/16|0;if((d[(c[n>>2]|0)+56>>0]|0)>>>1&1|0?(a[(c[n>>2]|0)+128+353>>0]&1|0)==0:0){if((c[(c[(c[n>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[m>>2]=12;z=c[m>>2]|0;i=l;return z|0}if((c[q>>2]|0)>>>0<(c[s>>2]|0)>>>0){c[m>>2]=200;z=c[m>>2]|0;i=l;return z|0}if(((d[(c[n>>2]|0)+56>>0]|0)>>>3&1|0)==0?((c[s>>2]|0)>>>0)%16|0|0:0){c[m>>2]=139;z=c[m>>2]|0;i=l;return z|0}if(c[w>>2]|0?c[(c[n>>2]|0)+20+20>>2]|0:0){vb[c[(c[n>>2]|0)+20+20>>2]&15](c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[w>>2]|0,c[o>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[w>>2]<<4);c[p>>2]=(c[p>>2]|0)+(c[w>>2]<<4);c[s>>2]=(c[s>>2]|0)-(c[w>>2]<<4);c[q>>2]=(c[q>>2]|0)-(c[w>>2]<<4);c[w>>2]=0}if(c[w>>2]|0){k=c[(c[n>>2]|0)+12>>2]|0;if(c[o>>2]|0)A=c[k+36>>2]|0;else A=c[k+40>>2]|0;c[x>>2]=A;if(c[o>>2]|0)gr((c[n>>2]|0)+80|0,c[r>>2]|0,c[w>>2]|0);while(1){if((c[s>>2]|0)>>>0<16)break;A=(c[n>>2]|0)+128+336|0;k=A;h=Uw(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;k=A;c[k>>2]=h;c[k+4>>2]=D;k=(c[n>>2]|0)+64|0;h=(c[n>>2]|0)+128+336|0;dr(k,Uq(c[n>>2]|0,t,c[h>>2]|0,c[h+4>>2]|0)|0,16);br(c[p>>2]|0,(c[n>>2]|0)+64|0,c[r>>2]|0,16);c[v>>2]=ub[c[x>>2]&63]((c[n>>2]|0)+496|0,c[p>>2]|0,c[p>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;dr(c[p>>2]|0,(c[n>>2]|0)+64|0,16);c[r>>2]=(c[r>>2]|0)+16;c[s>>2]=(c[s>>2]|0)-16;c[p>>2]=(c[p>>2]|0)+16;c[q>>2]=-16}if(!(c[o>>2]|0))gr((c[n>>2]|0)+80|0,(c[p>>2]|0)+(0-(c[w>>2]<<4))|0,c[w>>2]|0)}do if(c[s>>2]|0){dr((c[n>>2]|0)+64|0,(c[n>>2]|0)+128|0,16);c[v>>2]=ub[c[(c[(c[n>>2]|0)+12>>2]|0)+36>>2]&63]((c[n>>2]|0)+496|0,y,(c[n>>2]|0)+64|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;if(c[o>>2]|0){_q(t,c[r>>2]|0,c[s>>2]|0);Sw(t+(c[s>>2]|0)|0,0,16-(c[s>>2]|0)|0)|0;a[t+(c[s>>2]|0)>>0]=-128;dr((c[n>>2]|0)+80|0,t,16);br(c[p>>2]|0,c[r>>2]|0,y,c[s>>2]|0);break}else{_q(t,y,16);_q(t,c[r>>2]|0,c[s>>2]|0);dr(t,y,16);a[t+(c[s>>2]|0)>>0]=-128;_q(c[p>>2]|0,t,c[s>>2]|0);dr((c[n>>2]|0)+80|0,t,16);break}}while(0);if((d[(c[n>>2]|0)+56>>0]|0)>>>3&1|0){br((c[n>>2]|0)+128+288|0,(c[n>>2]|0)+80|0,(c[n>>2]|0)+64|0,16);dr((c[n>>2]|0)+128+288|0,(c[n>>2]|0)+128+16|0,16);c[v>>2]=ub[c[(c[(c[n>>2]|0)+12>>2]|0)+36>>2]&63]((c[n>>2]|0)+496|0,(c[n>>2]|0)+128+288|0,(c[n>>2]|0)+128+288|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;v=(c[n>>2]|0)+128+353|0;a[v>>0]=a[v>>0]&-2|1}if((c[u>>2]|0)>>>0>0){bf((c[u>>2]|0)+16|0);cf()}c[m>>2]=0;z=c[m>>2]|0;i=l;return z|0}c[m>>2]=156;z=c[m>>2]|0;i=l;return z|0}function gr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;while(1){if((c[h>>2]|0)>>>0<=0)break;dr(c[f>>2]|0,c[g>>2]|0,16);c[g>>2]=(c[g>>2]|0)+16;c[h>>2]=(c[h>>2]|0)+-1}i=e;return}function hr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=fr(c[h>>2]|0,0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;i=g;return f|0}function ir(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+8|0;s=g+4|0;t=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2];c[r>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[h>>2]=200;u=c[h>>2]|0;i=g;return u|0}if((c[o>>2]|0)>>>0<=(c[(c[k>>2]|0)+112>>2]|0)>>>0){c[p>>2]=(c[k>>2]|0)+64+(c[r>>2]|0)+(0-(c[(c[k>>2]|0)+112>>2]|0));jr(c[l>>2]|0,c[p>>2]|0,c[n>>2]|0,c[o>>2]|0);m=(c[k>>2]|0)+112|0;c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0);c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}c[s>>2]=0;if(c[(c[k>>2]|0)+112>>2]|0){c[o>>2]=(c[o>>2]|0)-(c[(c[k>>2]|0)+112>>2]|0);c[p>>2]=(c[k>>2]|0)+64+(c[r>>2]|0)+(0-(c[(c[k>>2]|0)+112>>2]|0));jr(c[l>>2]|0,c[p>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+112>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[(c[k>>2]|0)+112>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+112>>2]|0);c[(c[k>>2]|0)+112>>2]=0}while(1){if((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0)break;c[t>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;jr(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0)}if(c[o>>2]|0){c[t>>2]=ub[c[q>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[k>>2]|0)+112>>2]=c[r>>2];r=(c[k>>2]|0)+112|0;c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0);jr(c[l>>2]|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[o>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=0}if((c[s>>2]|0)>>>0>0){bf((c[s>>2]|0)+16|0);cf()}c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}function jr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function kr(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;f=d+8|0;c[e>>2]=b;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[f+4>>0]=0;a[f+5>>0]=0;a[f+6>>0]=0;a[f+7>>0]=0;b=mr(c[e>>2]|0,f,8)|0;i=d;return b|0}function lr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=c[f>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);if((c[c[f>>2]>>2]|0)>>>0>=(c[g>>2]|0)>>>0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}else{g=(c[f>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=((c[(c[f>>2]|0)+4>>2]|0)>>>0<1?1:(c[h>>2]|0)!=0)&1;k=c[e>>2]|0;i=d;return k|0}return 0}function mr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+112|0;if((i|0)>=(j|0))$(112);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+48|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+40|0;s=g;t=g+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if((c[l>>2]|0)==0&(c[m>>2]|0)!=12){c[h>>2]=45;u=c[h>>2]|0;i=g;return u|0}f=(c[k>>2]|0)+128+20|0;e=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[(c[k>>2]|0)+128>>2]=0;c[(c[k>>2]|0)+128+4>>2]=0;c[(c[k>>2]|0)+128+8>>2]=0;c[(c[k>>2]|0)+128+8+4>>2]=0;b=(c[k>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[k>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[k>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[k>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;zb[c[(c[(c[k>>2]|0)+12>>2]|0)+60>>2]&7]((c[k>>2]|0)+496|0,c[l>>2]|0,c[m>>2]|0);f=n;e=f+64|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));Eb[c[(c[(c[k>>2]|0)+12>>2]|0)+44>>2]&1]((c[k>>2]|0)+496|0,n,n,64);c[o>>2]=Sr((c[k>>2]|0)+128+20|0,n,32)|0;c[p>>2]=n;c[q>>2]=64;a[r>>0]=0;n=s;c[n>>2]=d[r>>0];c[n+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){n=s;f=ex(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=s;c[n>>2]=f;c[n+4>>2]=D;do{c[t>>2]=c[p>>2];n=s;f=c[n+4>>2]|0;e=c[t>>2]|0;c[e>>2]=c[n>>2];c[e+4>>2]=f;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if(c[o>>2]|0){c[h>>2]=c[o>>2];u=c[h>>2]|0;i=g;return u|0}else{o=(c[k>>2]|0)+56|0;a[o>>0]=a[o>>0]&-3|2;c[h>>2]=0;u=c[h>>2]|0;i=g;return u|0}return 0}function nr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+24|0;m=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;q=k+4|0;r=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;s=c[l>>2]|0;i=k;return s|0}if((d[(c[m>>2]|0)+56>>0]|0)>>>2&1|0){c[l>>2]=156;s=c[l>>2]|0;i=k;return s|0}if((d[(c[m>>2]|0)+128+16>>0]|0)>>>1&1|0){c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[r>>2]=kr(c[m>>2]|0)|0,c[r>>2]|0):0){c[l>>2]=c[r>>2];s=c[l>>2]|0;i=k;return s|0}if(!(a[(c[m>>2]|0)+128+16>>0]&1))or(c[m>>2]|0);r=(lr((c[m>>2]|0)+128+8|0,c[q>>2]|0)|0)!=0;o=c[m>>2]|0;if(r){r=o+128+16|0;a[r>>0]=a[r>>0]&-3|2;c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}else{Eb[c[(c[o+12>>2]|0)+44>>2]&1]((c[m>>2]|0)+496|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0);Or((c[m>>2]|0)+128+20|0,c[n>>2]|0,c[q>>2]|0);c[l>>2]=0;s=c[l>>2]|0;i=k;return s|0}return 0}function or(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;pr(c[e>>2]|0,(c[e>>2]|0)+128|0);b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2|1;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;i=d;return}function pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if((((c[c[f>>2]>>2]|0)>>>0)%16|0)>>>0<=0){i=d;return}c[g>>2]=16-(((c[c[f>>2]>>2]|0)>>>0)%16|0);Or((c[e>>2]|0)+128+20|0,72283,c[g>>2]|0);i=d;return}function qr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+24|0;m=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;q=k+4|0;r=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if((c[o>>2]|0)>>>0<(c[q>>2]|0)>>>0){c[l>>2]=200;s=c[l>>2]|0;i=k;return s|0}if((d[(c[m>>2]|0)+56>>0]|0)>>>2&1|0){c[l>>2]=156;s=c[l>>2]|0;i=k;return s|0}if((d[(c[m>>2]|0)+128+16>>0]|0)>>>1&1|0){c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[r>>2]=kr(c[m>>2]|0)|0,c[r>>2]|0):0){c[l>>2]=c[r>>2];s=c[l>>2]|0;i=k;return s|0}if(!(a[(c[m>>2]|0)+128+16>>0]&1))or(c[m>>2]|0);r=(lr((c[m>>2]|0)+128+8|0,c[q>>2]|0)|0)!=0;o=(c[m>>2]|0)+128|0;if(r){r=o+16|0;a[r>>0]=a[r>>0]&-3|2;c[l>>2]=139;s=c[l>>2]|0;i=k;return s|0}else{Or(o+20|0,c[p>>2]|0,c[q>>2]|0);Eb[c[(c[(c[m>>2]|0)+12>>2]|0)+48>>2]&1]((c[m>>2]|0)+496|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0);c[l>>2]=0;s=c[l>>2]|0;i=k;return s|0}return 0}function rr(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;c[(c[e>>2]|0)+128>>2]=0;c[(c[e>>2]|0)+128+4>>2]=0;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;i=d;return}function sr(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=i;i=i+80|0;if((i|0)>=(j|0))$(80);m=l+72|0;n=l+64|0;o=l+60|0;p=l+56|0;q=l+52|0;r=l+48|0;s=l+44|0;t=l+40|0;u=l+36|0;v=l+32|0;w=l+28|0;x=l+24|0;y=l+20|0;z=l+16|0;A=l+12|0;B=l+8|0;C=l+4|0;D=l;c[l+68>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;c[C>>2]=(c[s>>2]|0)+15;c[C>>2]=(c[C>>2]|0)-(c[C>>2]&15);c[D>>2]=(c[C>>2]|0)+(c[r>>2]<<1)+((S(c[r>>2]|0,c[q>>2]|0)|0)*3|0)+16;c[B>>2]=wf(1,c[D>>2]|0)|0;if(!(c[B>>2]|0)){c[m>>2]=46963;E=c[m>>2]|0;i=l;return E|0}c[u>>2]=16-(c[B>>2]&15)&15;c[v>>2]=(c[B>>2]|0)+(c[u>>2]|0);c[z>>2]=(c[v>>2]|0)+(c[C>>2]|0);c[A>>2]=(c[z>>2]|0)+(c[r>>2]|0);c[w>>2]=(c[A>>2]|0)+(c[r>>2]|0);c[x>>2]=(c[w>>2]|0)+(S(c[q>>2]|0,c[r>>2]|0)|0);c[y>>2]=(c[x>>2]|0)+(S(c[q>>2]|0,c[r>>2]|0)|0);if(ub[c[n>>2]&63](c[v>>2]|0,16,16)|0){vf(c[B>>2]|0);c[m>>2]=46989;E=c[m>>2]|0;i=l;return E|0}Sw(c[z>>2]|0,78,c[r>>2]|0)|0;Sw(c[A>>2]|0,78,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;a[(c[w>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}tr(c[y>>2]|0,c[z>>2]|0,c[w>>2]|0,c[r>>2]|0);ub[c[o>>2]&63](c[v>>2]|0,c[y>>2]|0,c[y>>2]|0)|0;Yw(c[z>>2]|0,c[y>>2]|0,c[r>>2]|0)|0;vb[c[p>>2]&15](c[v>>2]|0,c[A>>2]|0,c[x>>2]|0,c[y>>2]|0,1);if(Jv(c[x>>2]|0,c[w>>2]|0,c[r>>2]|0)|0){vf(c[B>>2]|0);c[m>>2]=47003;E=c[m>>2]|0;i=l;return E|0}if(Jv(c[A>>2]|0,c[z>>2]|0,c[r>>2]|0)|0){vf(c[B>>2]|0);c[m>>2]=47003;E=c[m>>2]|0;i=l;return E|0}Sw(c[z>>2]|0,95,c[r>>2]|0)|0;Sw(c[A>>2]|0,95,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(S(c[q>>2]|0,c[r>>2]|0)|0))break;a[(c[w>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(S(c[q>>2]|0,c[r>>2]|0)|0))break;tr((c[y>>2]|0)+(c[t>>2]|0)|0,c[z>>2]|0,(c[w>>2]|0)+(c[t>>2]|0)|0,c[r>>2]|0);ub[c[o>>2]&63](c[v>>2]|0,(c[y>>2]|0)+(c[t>>2]|0)|0,(c[y>>2]|0)+(c[t>>2]|0)|0)|0;Yw(c[z>>2]|0,(c[y>>2]|0)+(c[t>>2]|0)|0,c[r>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}vb[c[p>>2]&15](c[v>>2]|0,c[A>>2]|0,c[x>>2]|0,c[y>>2]|0,c[q>>2]|0);if(Jv(c[x>>2]|0,c[w>>2]|0,S(c[q>>2]|0,c[r>>2]|0)|0)|0){vf(c[B>>2]|0);c[m>>2]=47003;E=c[m>>2]|0;i=l;return E|0}q=(Jv(c[A>>2]|0,c[z>>2]|0,c[r>>2]|0)|0)!=0;vf(c[B>>2]|0);if(q){c[m>>2]=47003;E=c[m>>2]|0;i=l;return E|0}else{c[m>>2]=0;E=c[m>>2]|0;i=l;return E|0}return 0}function tr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function ur(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=i;i=i+80|0;if((i|0)>=(j|0))$(80);m=l+72|0;n=l+64|0;o=l+60|0;p=l+56|0;q=l+52|0;r=l+48|0;s=l+44|0;t=l+40|0;u=l+36|0;v=l+32|0;w=l+28|0;x=l+24|0;y=l+20|0;z=l+16|0;A=l+12|0;B=l+8|0;C=l+4|0;D=l;c[l+68>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;c[C>>2]=(c[s>>2]|0)+15;c[C>>2]=(c[C>>2]|0)-(c[C>>2]&15);c[D>>2]=(c[C>>2]|0)+(c[r>>2]<<1)+((S(c[r>>2]|0,c[q>>2]|0)|0)*3|0)+16;c[B>>2]=wf(1,c[D>>2]|0)|0;if(!(c[B>>2]|0)){c[m>>2]=46963;E=c[m>>2]|0;i=l;return E|0}c[u>>2]=16-(c[B>>2]&15)&15;c[v>>2]=(c[B>>2]|0)+(c[u>>2]|0);c[z>>2]=(c[v>>2]|0)+(c[C>>2]|0);c[A>>2]=(c[z>>2]|0)+(c[r>>2]|0);c[w>>2]=(c[A>>2]|0)+(c[r>>2]|0);c[x>>2]=(c[w>>2]|0)+(S(c[q>>2]|0,c[r>>2]|0)|0);c[y>>2]=(c[x>>2]|0)+(S(c[q>>2]|0,c[r>>2]|0)|0);if(ub[c[n>>2]&63](c[v>>2]|0,32,16)|0){vf(c[B>>2]|0);c[m>>2]=46989;E=c[m>>2]|0;i=l;return E|0}Sw(c[z>>2]|0,-45,c[r>>2]|0)|0;Sw(c[A>>2]|0,-45,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;a[(c[w>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}ub[c[o>>2]&63](c[v>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;vr(c[z>>2]|0,c[y>>2]|0,c[w>>2]|0,c[r>>2]|0);vb[c[p>>2]&15](c[v>>2]|0,c[A>>2]|0,c[x>>2]|0,c[y>>2]|0,1);if(Jv(c[x>>2]|0,c[w>>2]|0,c[r>>2]|0)|0){vf(c[B>>2]|0);c[m>>2]=47052;E=c[m>>2]|0;i=l;return E|0}if(Jv(c[A>>2]|0,c[z>>2]|0,c[r>>2]|0)|0){vf(c[B>>2]|0);c[m>>2]=47052;E=c[m>>2]|0;i=l;return E|0}Sw(c[z>>2]|0,-26,c[r>>2]|0)|0;Sw(c[A>>2]|0,-26,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(S(c[q>>2]|0,c[r>>2]|0)|0))break;a[(c[w>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(S(c[q>>2]|0,c[r>>2]|0)|0))break;ub[c[o>>2]&63](c[v>>2]|0,(c[y>>2]|0)+(c[t>>2]|0)|0,c[z>>2]|0)|0;vr(c[z>>2]|0,(c[y>>2]|0)+(c[t>>2]|0)|0,(c[w>>2]|0)+(c[t>>2]|0)|0,c[r>>2]|0);c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}vb[c[p>>2]&15](c[v>>2]|0,c[A>>2]|0,c[x>>2]|0,c[y>>2]|0,c[q>>2]|0);if(Jv(c[x>>2]|0,c[w>>2]|0,S(c[q>>2]|0,c[r>>2]|0)|0)|0){vf(c[B>>2]|0);c[m>>2]=47052;E=c[m>>2]|0;i=l;return E|0}q=(Jv(c[A>>2]|0,c[z>>2]|0,c[r>>2]|0)|0)!=0;vf(c[B>>2]|0);if(q){c[m>>2]=47052;E=c[m>>2]|0;i=l;return E|0}else{c[m>>2]=0;E=c[m>>2]|0;i=l;return E|0}return 0}function vr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[q>>2]|c[o>>2]|c[p>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[t>>2]|0;c[t>>2]=m+4;l=c[m>>2]|0;m=c[s>>2]|0;c[s>>2]=m+4;k=c[m>>2]^l;c[m>>2]=k;m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[q>>2]|0;c[q>>2]=t+1;s=d[t>>0]|0;t=c[p>>2]|0;c[p>>2]=t+1;r=((d[t>>0]|0)^s)&255;a[t>>0]=r;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function wr(b,e,f,g,h,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=i;i=i+96|0;if((i|0)>=(j|0))$(96);n=m+84|0;o=m+76|0;p=m+72|0;q=m+68|0;r=m+64|0;s=m+60|0;t=m+56|0;u=m+52|0;v=m+48|0;w=m+44|0;x=m+40|0;y=m+36|0;z=m+32|0;A=m+28|0;B=m+24|0;C=m+20|0;D=m+16|0;E=m+12|0;F=m+8|0;G=m+4|0;H=m;c[m+80>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;c[t>>2]=l;c[G>>2]=(c[t>>2]|0)+15;c[G>>2]=(c[G>>2]|0)-(c[G>>2]&15);c[H>>2]=(c[G>>2]|0)+(c[s>>2]<<1)+((S(c[s>>2]|0,c[r>>2]|0)|0)<<2)+16;c[F>>2]=wf(1,c[H>>2]|0)|0;if(!(c[F>>2]|0)){c[n>>2]=46963;I=c[n>>2]|0;i=m;return I|0}c[w>>2]=16-(c[F>>2]&15)&15;c[y>>2]=(c[F>>2]|0)+(c[w>>2]|0);c[D>>2]=(c[y>>2]|0)+(c[G>>2]|0);c[E>>2]=(c[D>>2]|0)+(c[s>>2]|0);c[z>>2]=(c[E>>2]|0)+(c[s>>2]|0);c[A>>2]=(c[z>>2]|0)+(S(c[r>>2]|0,c[s>>2]|0)|0);c[B>>2]=(c[A>>2]|0)+(S(c[r>>2]|0,c[s>>2]|0)|0);c[C>>2]=(c[B>>2]|0)+(S(c[r>>2]|0,c[s>>2]|0)|0);if(ub[c[o>>2]&63](c[y>>2]|0,48,16)|0){vf(c[F>>2]|0);c[n>>2]=46989;I=c[n>>2]|0;i=m;return I|0}Sw(c[D>>2]|0,-1,c[s>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;a[(c[z>>2]|0)+(c[u>>2]|0)>>0]=c[u>>2];c[u>>2]=(c[u>>2]|0)+1}ub[c[p>>2]&63](c[y>>2]|0,c[B>>2]|0,c[D>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;o=(c[B>>2]|0)+(c[u>>2]|0)|0;a[o>>0]=d[o>>0]^d[(c[z>>2]|0)+(c[u>>2]|0)>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[s>>2];while(1){if((c[u>>2]|0)<=0)break;o=(c[D>>2]|0)+((c[u>>2]|0)-1)|0;a[o>>0]=(a[o>>0]|0)+1<<24>>24;if(a[(c[D>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}Sw(c[E>>2]|0,-1,c[s>>2]|0)|0;vb[c[q>>2]&15](c[y>>2]|0,c[E>>2]|0,c[A>>2]|0,c[B>>2]|0,1);if(Jv(c[A>>2]|0,c[z>>2]|0,c[s>>2]|0)|0){vf(c[F>>2]|0);c[n>>2]=47101;I=c[n>>2]|0;i=m;return I|0}if(Jv(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0)|0){vf(c[F>>2]|0);c[n>>2]=47101;I=c[n>>2]|0;i=m;return I|0}Sw(c[D>>2]|0,87,(c[s>>2]|0)-4|0)|0;a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=1;a[(c[D>>2]|0)+((c[s>>2]|0)-2)>>0]=0;a[(c[D>>2]|0)+((c[s>>2]|0)-3)>>0]=0;a[(c[D>>2]|0)+((c[s>>2]|0)-4)>>0]=0;Sw(c[E>>2]|0,87,(c[s>>2]|0)-4|0)|0;a[(c[E>>2]|0)+((c[s>>2]|0)-1)>>0]=1;a[(c[E>>2]|0)+((c[s>>2]|0)-2)>>0]=0;a[(c[E>>2]|0)+((c[s>>2]|0)-3)>>0]=0;a[(c[E>>2]|0)+((c[s>>2]|0)-4)>>0]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(S(c[s>>2]|0,c[r>>2]|0)|0))break;o=c[u>>2]&255;a[(c[z>>2]|0)+(c[u>>2]|0)>>0]=o;a[(c[A>>2]|0)+(c[u>>2]|0)>>0]=o;c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(S(c[s>>2]|0,c[r>>2]|0)|0))break;ub[c[p>>2]&63](c[y>>2]|0,(c[B>>2]|0)+(c[u>>2]|0)|0,c[D>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;o=(c[B>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0))|0;a[o>>0]=d[o>>0]^d[(c[z>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0))>>0];c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=c[s>>2];while(1){if((c[v>>2]|0)<=0)break;o=(c[D>>2]|0)+((c[v>>2]|0)-1)|0;a[o>>0]=(a[o>>0]|0)+1<<24>>24;if(a[(c[D>>2]|0)+((c[v>>2]|0)-1)>>0]|0)break;c[v>>2]=(c[v>>2]|0)+-1}c[u>>2]=(c[u>>2]|0)+(c[s>>2]|0)}vb[c[q>>2]&15](c[y>>2]|0,c[E>>2]|0,c[C>>2]|0,c[A>>2]|0,c[r>>2]|0);if(Jv(c[C>>2]|0,c[B>>2]|0,S(c[s>>2]|0,c[r>>2]|0)|0)|0){vf(c[F>>2]|0);c[n>>2]=47101;I=c[n>>2]|0;i=m;return I|0}if(Jv(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0)|0){vf(c[F>>2]|0);c[n>>2]=47101;I=c[n>>2]|0;i=m;return I|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[r>>2]|0)){J=56;break}Sw(c[D>>2]|0,-1,c[s>>2]|0)|0;C=(c[D>>2]|0)+((c[s>>2]|0)-1)|0;a[C>>0]=(d[C>>0]|0)-(c[x>>2]|0);a[(c[D>>2]|0)+1>>0]=0;a[c[D>>2]>>0]=0;a[(c[D>>2]|0)+2>>0]=7;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(S(c[s>>2]|0,c[r>>2]|0)|0))break;a[(c[z>>2]|0)+(c[u>>2]|0)>>0]=c[u>>2];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(S(c[s>>2]|0,c[r>>2]|0)|0))break;ub[c[p>>2]&63](c[y>>2]|0,(c[B>>2]|0)+(c[u>>2]|0)|0,c[D>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;C=(c[B>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0))|0;a[C>>0]=d[C>>0]^d[(c[z>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0))>>0];c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=c[s>>2];while(1){if((c[v>>2]|0)<=0)break;C=(c[D>>2]|0)+((c[v>>2]|0)-1)|0;a[C>>0]=(a[C>>0]|0)+1<<24>>24;if(a[(c[D>>2]|0)+((c[v>>2]|0)-1)>>0]|0)break;c[v>>2]=(c[v>>2]|0)+-1}c[u>>2]=(c[u>>2]|0)+(c[s>>2]|0)}Sw(c[E>>2]|0,-1,c[s>>2]|0)|0;C=(c[E>>2]|0)+((c[s>>2]|0)-1)|0;a[C>>0]=(d[C>>0]|0)-(c[x>>2]|0);a[(c[E>>2]|0)+1>>0]=0;a[c[E>>2]>>0]=0;a[(c[E>>2]|0)+2>>0]=7;vb[c[q>>2]&15](c[y>>2]|0,c[E>>2]|0,c[A>>2]|0,c[B>>2]|0,c[r>>2]|0);if(Jv(c[A>>2]|0,c[z>>2]|0,S(c[s>>2]|0,c[r>>2]|0)|0)|0){J=52;break}if(Jv(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0)|0){J=54;break}c[x>>2]=(c[x>>2]|0)+1}if((J|0)==52){vf(c[F>>2]|0);c[n>>2]=47101;I=c[n>>2]|0;i=m;return I|0}else if((J|0)==54){vf(c[F>>2]|0);c[n>>2]=47101;I=c[n>>2]|0;i=m;return I|0}else if((J|0)==56){vf(c[F>>2]|0);c[n>>2]=0;I=c[n>>2]|0;i=m;return I|0}return 0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0;d=i;i=i+352|0;if((i|0)>=(j|0))$(352);e=d+160|0;f=d+128|0;g=d+48|0;h=d+40|0;k=d+32|0;l=d+24|0;m=d+16|0;n=d+8|0;o=d;p=d+344|0;q=d+340|0;r=d+336|0;s=d+332|0;t=d+328|0;u=d+284|0;v=d+224|0;w=d+220|0;x=d+216|0;y=d+212|0;z=d+208|0;A=d+204|0;B=d+200|0;C=d+196|0;D=d+192|0;E=d+188|0;F=d+184|0;G=d+180|0;H=d+176|0;I=d+172|0;J=d+168|0;K=d+164|0;c[q>>2]=a;c[r>>2]=b;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;b=u;a=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));b=v;a=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[s>>2]=Gj(c[q>>2]|0,t)|0;if(c[s>>2]|0){c[p>>2]=c[s>>2];L=c[p>>2]|0;i=d;return L|0}c[B>>2]=Tf(c[q>>2]|0,47217,0)|0;if(c[B>>2]|0?(c[A>>2]=_f(c[B>>2]|0,1)|0,Rf(c[B>>2]|0),(c[A>>2]|0)==0):0){c[p>>2]=65;L=c[p>>2]|0;i=d;return L|0}c[B>>2]=Tf(c[q>>2]|0,47177,0)|0;if(!(c[B>>2]|0?(c[s>>2]=Fj(c[B>>2]|0,I,0)|0,Rf(c[B>>2]|0),(c[s>>2]|0)!=0):0))M=8;do if((M|0)==8){c[B>>2]=Tf(c[q>>2]|0,48941,0)|0;if(c[B>>2]|0){c[I>>2]=c[I>>2]|32;Rf(c[B>>2]|0)}if(!((c[t>>2]|0)!=0|(c[A>>2]|0)!=0)){c[p>>2]=68;L=c[p>>2]|0;i=d;return L|0}c[s>>2]=Qh(c[t>>2]|0,c[A>>2]|0,u,t)|0;vf(c[A>>2]|0);c[A>>2]=0;if(!(c[s>>2]|0)){if(Ff(1)|0){b=vi(c[u>>2]|0)|0;a=wi(c[u+4>>2]|0)|0;c[o>>2]=b;c[o+4>>2]=a;Ye(48955,o);if(c[u+40>>2]|0){c[n>>2]=c[u+40>>2];Ye(48980,n)}af(49002,c[u+8>>2]|0);af(49018,c[u+12>>2]|0);af(49034,c[u+16>>2]|0);af(49050,c[u+32>>2]|0);af(49066,c[u+36>>2]|0);sn(49082,u+20|0,0)}c[C>>2]=En(c[u>>2]|0,c[u+4>>2]|0,0,c[u+8>>2]|0,c[u+12>>2]|0,c[u+16>>2]|0)|0;a=c[C>>2]|0;b=c[I>>2]|0;if(c[I>>2]&4096|0)c[s>>2]=ki(v,u,a,b)|0;else c[s>>2]=Ir(v,u,a,b,c[t>>2]|0,y,z)|0;if(!(c[s>>2]|0)){c[w>>2]=Rp(0)|0;c[x>>2]=Rp(0)|0;if(tn(c[w>>2]|0,c[x>>2]|0,v+20|0,c[C>>2]|0)|0){c[m>>2]=49144;We(49096,m)}c[F>>2]=xi(c[w>>2]|0,c[x>>2]|0,c[v+8>>2]|0)|0;do if((c[v+4>>2]|0)==1?!(c[I>>2]&2048|0):0){c[s>>2]=ci(v+44|0,c[C>>2]|0,c[w>>2]|0,c[x>>2]|0,((c[I>>2]&1024|0)!=0^1^1)&1,J,K)|0;if(!(c[s>>2]|0)){c[G>>2]=Rp(0)|0;Ep(c[G>>2]|0,c[J>>2]|0,c[K>>2]<<3)|0;c[J>>2]=0;break}c[p>>2]=c[s>>2];L=c[p>>2]|0;i=d;return L|0}else M=28;while(0);if((M|0)==28){if((c[y>>2]|0)==0?(c[y>>2]=Rp(0)|0,c[z>>2]=Rp(0)|0,tn(c[y>>2]|0,c[z>>2]|0,v+44|0,c[C>>2]|0)|0):0){c[l>>2]=49146;We(49096,l)}c[G>>2]=xi(c[y>>2]|0,c[z>>2]|0,c[v+8>>2]|0)|0}c[H>>2]=c[v+56>>2];c[v+56>>2]=0;if(c[u+40>>2]|0?(c[k>>2]=c[u+40>>2],c[s>>2]=cg(D,0,49148,k)|0,c[s>>2]|0):0)break;if(!(!(c[I>>2]&512|0)?!(c[I>>2]&4096|0):0)){if(c[I>>2]&512|0?c[I>>2]&4096|0:0)N=49187;else N=c[I>>2]&512|0?49159:49173;c[s>>2]=cg(E,0,N,h)|0;if(c[s>>2]|0)break}if(c[I>>2]&512|0?c[u+40>>2]|0:0){b=c[r>>2]|0;a=c[E>>2]|0;O=c[v+8>>2]|0;P=c[v+12>>2]|0;Q=c[v+16>>2]|0;R=c[F>>2]|0;S=c[v+32>>2]|0;T=c[v+36>>2]|0;U=c[G>>2]|0;V=c[D>>2]|0;W=c[E>>2]|0;X=c[v+8>>2]|0;Y=c[v+12>>2]|0;Z=c[v+16>>2]|0;_=c[F>>2]|0;aa=c[v+32>>2]|0;ba=c[v+36>>2]|0;ca=c[G>>2]|0;da=c[H>>2]|0;c[g>>2]=c[D>>2];c[g+4>>2]=a;c[g+8>>2]=O;c[g+12>>2]=P;c[g+16>>2]=Q;c[g+20>>2]=R;c[g+24>>2]=S;c[g+28>>2]=T;c[g+32>>2]=U;c[g+36>>2]=V;c[g+40>>2]=W;c[g+44>>2]=X;c[g+48>>2]=Y;c[g+52>>2]=Z;c[g+56>>2]=_;c[g+60>>2]=aa;c[g+64>>2]=ba;c[g+68>>2]=ca;c[g+72>>2]=da;c[s>>2]=cg(b,0,49207,g)|0}else{b=c[r>>2]|0;da=c[E>>2]|0;ca=c[G>>2]|0;ba=c[D>>2]|0;aa=c[E>>2]|0;_=c[G>>2]|0;Z=c[H>>2]|0;c[f>>2]=c[D>>2];c[f+4>>2]=da;c[f+8>>2]=ca;c[f+12>>2]=ba;c[f+16>>2]=aa;c[f+20>>2]=_;c[f+24>>2]=Z;c[s>>2]=cg(b,0,49343,f)|0}if(((c[s>>2]|0)==0?Ff(1)|0:0)?(af(49419,c[v+8>>2]|0),af(49435,c[v+12>>2]|0),af(49451,c[v+16>>2]|0),af(49467,c[F>>2]|0),af(49483,c[v+32>>2]|0),af(49499,c[v+36>>2]|0),af(49515,c[G>>2]|0),af(49531,c[H>>2]|0),c[I>>2]&4096|0):0)Ye(49547,e)}}}while(0);Dp(c[H>>2]|0);Dp(c[G>>2]|0);Dp(c[F>>2]|0);si(v);An(v+44|0);Dp(c[v+56>>2]|0);si(u);Dp(c[w>>2]|0);Dp(c[x>>2]|0);Dp(c[y>>2]|0);Dp(c[z>>2]|0);In(c[C>>2]|0);Rf(c[E>>2]|0);Rf(c[D>>2]|0);c[p>>2]=c[s>>2];L=c[p>>2]|0;i=d;return L|0}function yr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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;b=i;i=i+176|0;if((i|0)>=(j|0))$(176);d=b+72|0;e=b+64|0;f=b+56|0;g=b+40|0;h=b;k=b+168|0;l=b+164|0;m=b+160|0;n=b+156|0;o=b+152|0;p=b+148|0;q=b+144|0;r=b+140|0;s=b+80|0;t=b+76|0;c[l>>2]=a;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[t>>2]=0;a=s;u=a+60|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(u|0));c[n>>2]=Tf(c[l>>2]|0,47177,0)|0;if(!(c[n>>2]|0?(c[m>>2]=Fj(c[n>>2]|0,o,0)|0,(c[m>>2]|0)!=0):0))v=3;do if((v|0)==3){a=c[l>>2]|0;if(c[o>>2]&512|0){c[h>>2]=s+8;c[h+4>>2]=s+12;c[h+8>>2]=s+16;c[h+12>>2]=q;c[h+16>>2]=s+32;c[h+20>>2]=s+36;c[h+24>>2]=r;c[h+28>>2]=s+56;c[h+32>>2]=0;c[m>>2]=lg(a,0,47534,h)|0}else{c[g>>2]=r;c[g+4>>2]=s+56;c[g+8>>2]=0;c[m>>2]=lg(a,0,47553,g)|0}if(!(c[m>>2]|0)){Rf(c[n>>2]|0);c[n>>2]=Tf(c[l>>2]|0,47217,5)|0;if((c[n>>2]|0?(c[p>>2]=_f(c[n>>2]|0,1)|0,c[p>>2]|0):0)?(c[m>>2]=Th(c[p>>2]|0,s,s+4|0,s+8|0,s+12|0,s+16|0,q,s+32|0,s+36|0)|0,c[m>>2]|0):0){c[k>>2]=c[m>>2];w=c[k>>2]|0;i=b;return w|0}if(c[q>>2]|0?(yn(s+20|0),c[m>>2]=zi(s+20|0,c[q>>2]|0)|0,c[m>>2]|0):0)break;if(!(c[p>>2]|0)){c[s>>2]=c[o>>2]&4096|0?2:0;c[s+4>>2]=c[o>>2]&4096|0?1:0}if(Ff(1)|0){a=vi(c[s>>2]|0)|0;u=wi(c[s+4>>2]|0)|0;c[f>>2]=a;c[f+4>>2]=u;Ye(48462,f);if(c[s+40>>2]|0){c[e>>2]=c[s+40>>2];Ye(48486,e)}af(48507,c[s+8>>2]|0);af(48523,c[s+12>>2]|0);af(48539,c[s+16>>2]|0);sn(48555,s+20|0,0);af(48569,c[s+32>>2]|0);af(48585,c[s+36>>2]|0);af(48601,c[r>>2]|0);if(!(Wg()|0))af(48617,c[s+56>>2]|0)}if((((((c[s+8>>2]|0?c[s+12>>2]|0:0)?c[s+16>>2]|0:0)?c[s+20>>2]|0:0)?c[s+32>>2]|0:0)?c[s+36>>2]|0:0)?c[s+56>>2]|0:0){c[t>>2]=En(c[s>>2]|0,c[s+4>>2]|0,0,c[s+8>>2]|0,c[s+12>>2]|0,c[s+16>>2]|0)|0;if(!(c[r>>2]|0)){c[m>>2]=68;break}yn(s+44|0);if((c[(c[t>>2]|0)+4>>2]|0)==1)c[m>>2]=hi(c[r>>2]|0,c[t>>2]|0,s+44|0,0,0)|0;else c[m>>2]=zi(s+44|0,c[r>>2]|0)|0;if(c[m>>2]|0)break;if(!(Hr(s,c[t>>2]|0,c[o>>2]|0)|0))break;c[m>>2]=7;break}c[m>>2]=68}}while(0);In(c[t>>2]|0);Tp(c[s+8>>2]|0);Tp(c[s+12>>2]|0);Tp(c[s+16>>2]|0);Tp(c[q>>2]|0);An(s+20|0);Tp(c[s+32>>2]|0);Tp(c[s+36>>2]|0);Tp(c[r>>2]|0);An(s+44|0);Tp(c[s+56>>2]|0);vf(c[p>>2]|0);Rf(c[n>>2]|0);if(Ff(1)|0){c[d>>2]=Bt(c[m>>2]|0)|0;Ye(48633,d)}c[k>>2]=c[m>>2];w=c[k>>2]|0;i=b;return w|0}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+256|0;if((i|0)>=(j|0))$(256);f=e+72|0;g=e+64|0;h=e+56|0;k=e+48|0;l=e+40|0;m=e+32|0;n=e;o=e+248|0;p=e+244|0;q=e+240|0;r=e+236|0;s=e+232|0;t=e+192|0;u=e+184|0;v=e+180|0;w=e+176|0;x=e+172|0;y=e+168|0;z=e+164|0;A=e+160|0;B=e+104|0;C=e+96|0;D=e+84|0;E=e+80|0;F=e+76|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[C>>2]=0;d=B;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));Lj(t,0,Dr(c[r>>2]|0)|0);c[s>>2]=Nj(c[q>>2]|0,A,t)|0;do if(!(c[s>>2]|0)){if(Ff(1)|0)af(48122,c[A>>2]|0);if(c[A>>2]|0?c[(c[A>>2]|0)+12>>2]&4|0:0){c[s>>2]=79;break}q=c[r>>2]|0;c[n>>2]=B+8;c[n+4>>2]=B+12;c[n+8>>2]=B+16;c[n+12>>2]=w;c[n+16>>2]=B+32;c[n+20>>2]=B+36;c[n+24>>2]=x;c[n+28>>2]=0;c[s>>2]=lg(q,0,48139,n)|0;if(!(c[s>>2]|0)){if(c[w>>2]|0?(yn(B+20|0),c[s>>2]=zi(B+20|0,c[w>>2]|0)|0,c[s>>2]|0):0)break;Rf(c[u>>2]|0);c[u>>2]=Tf(c[r>>2]|0,47217,5)|0;if((c[u>>2]|0?(c[v>>2]=_f(c[u>>2]|0,1)|0,c[v>>2]|0):0)?(c[s>>2]=Qh(0,c[v>>2]|0,B,0)|0,c[s>>2]|0):0){c[o>>2]=c[s>>2];G=c[o>>2]|0;i=e;return G|0}if(!(c[v>>2]|0)){c[B>>2]=0;c[B+4>>2]=0}if(Ff(1)|0){q=vi(c[B>>2]|0)|0;d=wi(c[B+4>>2]|0)|0;c[m>>2]=q;c[m+4>>2]=d;Ye(48155,m);if(c[B+40>>2]|0){c[l>>2]=c[B+40>>2];Ye(48180,l)}af(48202,c[B+8>>2]|0);af(48219,c[B+12>>2]|0);af(48236,c[B+16>>2]|0);sn(48253,B+20|0,0);af(48268,c[B+32>>2]|0);af(48285,c[B+36>>2]|0);af(48302,c[x>>2]|0)}if(((((c[B+8>>2]|0?c[B+12>>2]|0:0)?c[B+16>>2]|0:0)?c[B+20>>2]|0:0)?c[B+32>>2]|0:0)?(c[B+36>>2]|0)!=0&(c[x>>2]|0)!=0:0){if(c[x>>2]|0?(yn(B+44|0),c[s>>2]=zi(B+44|0,c[x>>2]|0)|0,c[s>>2]|0):0)break;c[C>>2]=En(c[B>>2]|0,c[B+4>>2]|0,0,c[B+8>>2]|0,c[B+12>>2]|0,c[B+16>>2]|0)|0;c[E>>2]=Rp(0)|0;c[F>>2]=Rp(0)|0;yn(D);$n(D,c[A>>2]|0,B+44|0,c[C>>2]|0);if(tn(c[E>>2]|0,c[F>>2]|0,D,c[C>>2]|0)|0)We(48319,k);c[y>>2]=xi(c[E>>2]|0,c[F>>2]|0,c[B+8>>2]|0)|0;$n(D,c[A>>2]|0,B+20|0,c[C>>2]|0);if(tn(c[E>>2]|0,c[F>>2]|0,D,c[C>>2]|0)|0)We(48367,h);else{c[z>>2]=xi(c[E>>2]|0,c[F>>2]|0,c[B+8>>2]|0)|0;Dp(c[E>>2]|0);Dp(c[F>>2]|0);An(D);d=c[p>>2]|0;q=c[z>>2]|0;c[g>>2]=c[y>>2];c[g+4>>2]=q;c[s>>2]=cg(d,0,48414,g)|0;break}}c[s>>2]=68}}while(0);Tp(c[B+8>>2]|0);Tp(c[B+12>>2]|0);Tp(c[B+16>>2]|0);Tp(c[w>>2]|0);An(B+20|0);Tp(c[B+32>>2]|0);Tp(c[B+36>>2]|0);Tp(c[x>>2]|0);An(B+44|0);Tp(c[A>>2]|0);Tp(c[y>>2]|0);Tp(c[z>>2]|0);vf(c[v>>2]|0);In(c[C>>2]|0);Mj(t);if(Ff(1)|0){c[f>>2]=Bt(c[s>>2]|0)|0;Ye(48440,f)}c[o>>2]=c[s>>2];G=c[o>>2]|0;i=e;return G|0}function Ar(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+256|0;if((i|0)>=(j|0))$(256);f=e+72|0;g=e+64|0;h=e+56|0;k=e+48|0;l=e+40|0;m=e+8|0;n=e;o=e+248|0;p=e+244|0;q=e+240|0;r=e+236|0;s=e+232|0;t=e+192|0;u=e+188|0;v=e+184|0;w=e+124|0;x=e+120|0;y=e+116|0;z=e+112|0;A=e+100|0;B=e+88|0;C=e+84|0;D=e+80|0;E=e+76|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[u>>2]=0;c[v>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[C>>2]=0;d=w;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));yn(A);yn(B);Lj(t,1,Dr(c[r>>2]|0)|0);c[s>>2]=Jj(c[q>>2]|0,12976,u,t)|0;do if((c[s>>2]|0)==0?(q=c[u>>2]|0,c[n>>2]=v,c[n+4>>2]=0,c[s>>2]=lg(q,0,47833,n)|0,(c[s>>2]|0)==0):0){if(Ff(1)|0)af(47835,c[v>>2]|0);if(c[v>>2]|0?c[(c[v>>2]|0)+12>>2]&4|0:0){c[s>>2]=79;break}q=c[r>>2]|0;c[m>>2]=w+8;c[m+4>>2]=w+12;c[m+8>>2]=w+16;c[m+12>>2]=x;c[m+16>>2]=w+32;c[m+20>>2]=w+36;c[m+24>>2]=w+56;c[m+28>>2]=0;c[s>>2]=lg(q,0,47852,m)|0;if(!(c[s>>2]|0)){if(c[x>>2]|0?(yn(w+20|0),c[s>>2]=zi(w+20|0,c[x>>2]|0)|0,c[s>>2]|0):0)break;Rf(c[u>>2]|0);c[u>>2]=Tf(c[r>>2]|0,47217,5)|0;if((c[u>>2]|0?(c[y>>2]=_f(c[u>>2]|0,1)|0,c[y>>2]|0):0)?(c[s>>2]=Qh(0,c[y>>2]|0,w,0)|0,c[s>>2]|0):0){c[o>>2]=c[s>>2];F=c[o>>2]|0;i=e;return F|0}if(!(c[y>>2]|0)){c[w>>2]=0;c[w+4>>2]=0}if(Ff(1)|0){q=vi(c[w>>2]|0)|0;d=wi(c[w+4>>2]|0)|0;c[l>>2]=q;c[l+4>>2]=d;Ye(47868,l);if(c[w+40>>2]|0){c[k>>2]=c[w+40>>2];Ye(47893,k)}af(47915,c[w+8>>2]|0);af(47932,c[w+12>>2]|0);af(47949,c[w+16>>2]|0);sn(47966,w+20|0,0);af(47981,c[w+32>>2]|0);af(47998,c[w+36>>2]|0);if(!(Wg()|0))af(48015,c[w+56>>2]|0)}if((((((c[w+8>>2]|0?c[w+12>>2]|0:0)?c[w+16>>2]|0:0)?c[w+20>>2]|0:0)?c[w+32>>2]|0:0)?c[w+36>>2]|0:0)?c[w+56>>2]|0:0){c[s>>2]=zi(A,c[v>>2]|0)|0;if(c[s>>2]|0){An(A);c[o>>2]=c[s>>2];F=c[o>>2]|0;i=e;return F|0}c[z>>2]=En(c[w>>2]|0,c[w+4>>2]|0,0,c[w+8>>2]|0,c[w+12>>2]|0,c[w+16>>2]|0)|0;$n(B,c[w+56>>2]|0,A,c[z>>2]|0);c[D>>2]=Rp(0)|0;c[E>>2]=Rp(0)|0;if(tn(c[D>>2]|0,c[E>>2]|0,B,c[z>>2]|0)|0)We(48032,h);c[C>>2]=xi(c[D>>2]|0,c[E>>2]|0,c[w+8>>2]|0)|0;if(c[C>>2]|0)c[s>>2]=0;else c[s>>2]=Et()|0;Dp(c[D>>2]|0);Dp(c[E>>2]|0);if(Ff(1)|0)af(48072,c[C>>2]|0);if(c[s>>2]|0)break;d=c[p>>2]|0;c[g>>2]=c[C>>2];c[s>>2]=cg(d,0,48089,g)|0;break}c[s>>2]=68}}while(0);An(B);An(A);Tp(c[C>>2]|0);Tp(c[w+8>>2]|0);Tp(c[w+12>>2]|0);Tp(c[w+16>>2]|0);Tp(c[x>>2]|0);An(w+20|0);Tp(c[w+32>>2]|0);Tp(c[w+36>>2]|0);Tp(c[w+56>>2]|0);Tp(c[v>>2]|0);vf(c[y>>2]|0);Rf(c[u>>2]|0);In(c[z>>2]|0);Mj(t);if(Ff(1)|0){c[f>>2]=Bt(c[s>>2]|0)|0;Ye(48100,f)}c[o>>2]=c[s>>2];F=c[o>>2]|0;i=e;return F|0}function Br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+272|0;if((i|0)>=(j|0))$(272);f=e+104|0;g=e+96|0;h=e+88|0;k=e+80|0;l=e+72|0;m=e+56|0;n=e+40|0;o=e;p=e+256|0;q=e+252|0;r=e+248|0;s=e+244|0;t=e+240|0;u=e+200|0;v=e+192|0;w=e+188|0;x=e+184|0;y=e+180|0;z=e+176|0;A=e+116|0;B=e+112|0;C=e+108|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;c[C>>2]=0;d=A;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));Lj(u,2,0);c[t>>2]=Nj(c[r>>2]|0,v,u)|0;do if(!(c[t>>2]|0)){if(Ff(1)|0)af(47518,c[v>>2]|0);r=c[s>>2]|0;if(c[u+12>>2]&512|0){c[o>>2]=A+8;c[o+4>>2]=A+12;c[o+8>>2]=A+16;c[o+12>>2]=y;c[o+16>>2]=A+32;c[o+20>>2]=A+36;c[o+24>>2]=z;c[o+28>>2]=A+56;c[o+32>>2]=0;c[t>>2]=lg(r,0,47534,o)|0}else{c[n>>2]=z;c[n+4>>2]=A+56;c[n+8>>2]=0;c[t>>2]=lg(r,0,47553,n)|0}if(!(c[t>>2]|0)){if(c[y>>2]|0?(yn(A+20|0),c[t>>2]=zi(A+20|0,c[y>>2]|0)|0,c[t>>2]|0):0)break;Rf(c[w>>2]|0);c[w>>2]=Tf(c[s>>2]|0,47217,5)|0;if((c[w>>2]|0?(c[x>>2]=_f(c[w>>2]|0,1)|0,c[x>>2]|0):0)?(c[t>>2]=Qh(0,c[x>>2]|0,A,0)|0,c[t>>2]|0):0){c[p>>2]=c[t>>2];D=c[p>>2]|0;i=e;return D|0}if(!(c[x>>2]|0)){c[A>>2]=c[u+12>>2]&4096|0?2:0;c[A+4>>2]=c[u+12>>2]&4096|0?1:0}if(Ff(1)|0){r=vi(c[A>>2]|0)|0;d=wi(c[A+4>>2]|0)|0;b=c[u+12>>2]&4096|0?47328:72319;c[m>>2]=r;c[m+4>>2]=d;c[m+8>>2]=b;Ye(47559,m);if(c[A+40>>2]|0){c[l>>2]=c[A+40>>2];Ye(47585,l)}af(47606,c[A+8>>2]|0);af(47622,c[A+12>>2]|0);af(47638,c[A+16>>2]|0);sn(47654,A+20|0,0);af(47668,c[A+32>>2]|0);af(47684,c[A+36>>2]|0);af(47700,c[z>>2]|0);if(!(Wg()|0))af(47716,c[A+56>>2]|0)}if((((((c[A+8>>2]|0?c[A+12>>2]|0:0)?c[A+16>>2]|0:0)?c[A+20>>2]|0:0)?c[A+32>>2]|0:0)?c[A+36>>2]|0:0)?c[A+56>>2]|0:0){c[B>>2]=Rp(0)|0;c[C>>2]=Rp(0)|0;if(c[u+12>>2]&4096|0){c[t>>2]=pi(c[v>>2]|0,A,c[B>>2]|0,c[C>>2]|0,c[u+16>>2]|0,c[z>>2]|0)|0;if(c[t>>2]|0)break;b=c[q>>2]|0;d=c[C>>2]|0;c[k>>2]=c[B>>2];c[k+4>>2]=d;c[t>>2]=cg(b,0,47732,k)|0;break}b=c[v>>2]|0;d=c[B>>2]|0;r=c[C>>2]|0;if(c[u+12>>2]&8192|0){c[t>>2]=yt(b,A,d,r)|0;if(c[t>>2]|0)break;a=c[q>>2]|0;E=c[C>>2]|0;c[h>>2]=c[B>>2];c[h+4>>2]=E;c[t>>2]=cg(a,0,47759,h)|0;break}else{c[t>>2]=wt(b,A,d,r,c[u+12>>2]|0,c[u+16>>2]|0)|0;if(c[t>>2]|0)break;r=c[q>>2]|0;d=c[C>>2]|0;c[g>>2]=c[B>>2];c[g+4>>2]=d;c[t>>2]=cg(r,0,47785,g)|0;break}}c[t>>2]=68}}while(0);Tp(c[A+8>>2]|0);Tp(c[A+12>>2]|0);Tp(c[A+16>>2]|0);Tp(c[y>>2]|0);An(A+20|0);Tp(c[A+32>>2]|0);Tp(c[A+36>>2]|0);Tp(c[z>>2]|0);An(A+44|0);Tp(c[A+56>>2]|0);Tp(c[B>>2]|0);Tp(c[C>>2]|0);vf(c[x>>2]|0);Tp(c[v>>2]|0);Rf(c[w>>2]|0);Mj(u);if(Ff(1)|0){c[f>>2]=Bt(c[t>>2]|0)|0;Ye(47812,f)}c[p>>2]=c[t>>2];D=c[p>>2]|0;i=e;return D|0}function Cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+272|0;if((i|0)>=(j|0))$(272);f=e+80|0;g=e+72|0;h=e+56|0;k=e+48|0;l=e+16|0;m=e;n=e+256|0;o=e+252|0;p=e+248|0;q=e+244|0;r=e+240|0;s=e+200|0;t=e+192|0;u=e+188|0;v=e+184|0;w=e+180|0;x=e+176|0;y=e+172|0;z=e+168|0;A=e+112|0;B=e+104|0;C=e+100|0;D=e+96|0;E=e+92|0;F=e+88|0;G=e+84|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;d=A;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));Lj(s,3,Dr(c[q>>2]|0)|0);c[r>>2]=Nj(c[p>>2]|0,z,s)|0;a:do if(!(c[r>>2]|0)){if(Ff(1)|0)af(47260,c[z>>2]|0);c[r>>2]=Ij(c[o>>2]|0,12976,t,B)|0;if((c[r>>2]|0)==0?(p=c[t>>2]|0,d=c[B>>2]&4096|0?47276:47174,c[m>>2]=x,c[m+4>>2]=y,c[m+8>>2]=0,c[r>>2]=lg(p,0,d,m)|0,(c[r>>2]|0)==0):0){if(Ff(1)|0){af(47280,c[x>>2]|0);af(47296,c[y>>2]|0)}if(c[s+12>>2]&4096^c[B>>2]&4096|0){c[r>>2]=70;break}d=c[q>>2]|0;if(c[s+12>>2]&512|0){c[l>>2]=A+8;c[l+4>>2]=A+12;c[l+8>>2]=A+16;c[l+12>>2]=v;c[l+16>>2]=A+32;c[l+20>>2]=A+32;c[l+24>>2]=w;c[l+28>>2]=0;c[r>>2]=lg(d,0,47312,l)|0}else{c[k>>2]=w;c[k+4>>2]=0;c[r>>2]=lg(d,0,47212,k)|0}if(!(c[r>>2]|0)){if(c[v>>2]|0?(yn(A+20|0),c[r>>2]=zi(A+20|0,c[v>>2]|0)|0,c[r>>2]|0):0)break;Rf(c[t>>2]|0);c[t>>2]=Tf(c[q>>2]|0,47217,5)|0;if((c[t>>2]|0?(c[u>>2]=_f(c[t>>2]|0,1)|0,c[u>>2]|0):0)?(c[r>>2]=Qh(0,c[u>>2]|0,A,0)|0,c[r>>2]|0):0){c[n>>2]=c[r>>2];H=c[n>>2]|0;i=e;return H|0}if(!(c[u>>2]|0)){c[A>>2]=c[B>>2]&4096|0?2:0;c[A+4>>2]=c[B>>2]&4096|0?1:0}if(Ff(1)|0){d=vi(c[A>>2]|0)|0;p=wi(c[A+4>>2]|0)|0;b=c[B>>2]&4096|0?47328:72319;c[h>>2]=d;c[h+4>>2]=p;c[h+8>>2]=b;Ye(47335,h);if(c[A+40>>2]|0){c[g>>2]=c[A+40>>2];Ye(47361,g)}af(47382,c[A+8>>2]|0);af(47398,c[A+12>>2]|0);af(47414,c[A+16>>2]|0);sn(47430,A+20|0,0);af(47444,c[A+32>>2]|0);af(47460,c[A+36>>2]|0);af(47476,c[w>>2]|0)}if(((((c[A+8>>2]|0?c[A+12>>2]|0:0)?c[A+16>>2]|0:0)?c[A+20>>2]|0:0)?c[A+32>>2]|0:0)?(c[A+36>>2]|0)!=0&(c[w>>2]|0)!=0:0){if(c[B>>2]&4096|0){c[r>>2]=ri(c[z>>2]|0,A,c[x>>2]|0,c[y>>2]|0,c[s+16>>2]|0,c[w>>2]|0)|0;break}b=(c[B>>2]&8192|0)!=0;yn(A+44|0);if(b){c[r>>2]=zi(A+44|0,c[w>>2]|0)|0;if(c[r>>2]|0)break;c[r>>2]=zt(c[z>>2]|0,A,c[x>>2]|0,c[y>>2]|0)|0;break}if((c[A+4>>2]|0)==1){c[C>>2]=En(c[A>>2]|0,c[A+4>>2]|0,0,c[A+8>>2]|0,c[A+12>>2]|0,c[A+16>>2]|0)|0;c[r>>2]=hi(c[w>>2]|0,c[C>>2]|0,A+44|0,0,0)|0;In(c[C>>2]|0)}else c[r>>2]=zi(A+44|0,c[w>>2]|0)|0;if(c[r>>2]|0)break;do if(c[z>>2]|0){if(!(c[(c[z>>2]|0)+12>>2]&4))break;c[F>>2]=lo(c[A+32>>2]|0)|0;c[D>>2]=Gp(c[z>>2]|0,E)|0;c[r>>2]=Zo(G,5,c[D>>2]|0,(((c[E>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[r>>2]|0)break a;if((c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0)so(c[G>>2]|0,c[G>>2]|0,(c[E>>2]|0)-(c[F>>2]|0)|0);c[r>>2]=xt(c[G>>2]|0,A,c[x>>2]|0,c[y>>2]|0)|0;Tp(c[G>>2]|0);break a}while(0);c[r>>2]=xt(c[z>>2]|0,A,c[x>>2]|0,c[y>>2]|0)|0;break}c[r>>2]=68}}}while(0);Tp(c[A+8>>2]|0);Tp(c[A+12>>2]|0);Tp(c[A+16>>2]|0);Tp(c[v>>2]|0);An(A+20|0);Tp(c[A+32>>2]|0);Tp(c[A+36>>2]|0);Tp(c[w>>2]|0);An(A+44|0);Tp(c[z>>2]|0);Tp(c[x>>2]|0);Tp(c[y>>2]|0);vf(c[u>>2]|0);Rf(c[t>>2]|0);Mj(s);if(Ff(1)|0){if(c[r>>2]|0)I=Bt(c[r>>2]|0)|0;else I=47492;c[f>>2]=I;Ye(47497,f)}c[n>>2]=c[r>>2];H=c[n>>2]|0;i=e;return H|0}function Dr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;k=b;c[e>>2]=a;c[h>>2]=0;c[f>>2]=Tf(c[e>>2]|0,47258,1)|0;if(c[f>>2]|0){c[g>>2]=$f(c[f>>2]|0,1,5)|0;Rf(c[f>>2]|0);if(c[g>>2]|0){c[h>>2]=lo(c[g>>2]|0)|0;Tp(c[g>>2]|0)}}else{c[f>>2]=Tf(c[e>>2]|0,47217,5)|0;if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}c[k>>2]=_f(c[f>>2]|0,1)|0;Rf(c[f>>2]|0);if(!(c[k>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}if(Qh(0,c[k>>2]|0,0,h)|0)c[h>>2]=0;vf(c[k>>2]|0)}c[d>>2]=c[h>>2];l=c[d>>2]|0;i=b;return l|0}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e;c[g>>2]=a;c[e+4>>2]=b;c[h>>2]=d;if((c[g>>2]|0)!=18){c[f>>2]=4;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=Gr(c[h>>2]|0)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+208|0;if((i|0)>=(j|0))$(208);f=e+88|0;g=e+80|0;h=e+72|0;k=e+64|0;l=e+32|0;m=e;n=e+172|0;o=e+168|0;p=e+164|0;q=e+160|0;r=e+132|0;s=e+128|0;t=e+124|0;u=e+120|0;v=e+116|0;w=e+112|0;x=e+176|0;y=e+108|0;z=e+104|0;A=e+100|0;B=e+96|0;c[n>>2]=b;c[o>>2]=d;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=7)break;c[r+(c[s>>2]<<2)>>2]=0;c[s>>2]=(c[s>>2]|0)+1}c[q>>2]=Tf(c[o>>2]|0,47177,0)|0;if(!(c[q>>2]|0?(c[p>>2]=Fj(c[q>>2]|0,u,0)|0,(c[p>>2]|0)!=0):0))C=6;a:do if((C|0)==6){d=(c[u>>2]&4096|0)!=0;b=c[o>>2]|0;do if(c[u>>2]&512|0){D=r+4|0;E=r+8|0;F=r+12|0;G=r+16|0;H=r+20|0;I=r+24|0;if(d){c[m>>2]=r;c[m+4>>2]=D;c[m+8>>2]=E;c[m+12>>2]=F;c[m+16>>2]=G;c[m+20>>2]=H;c[m+24>>2]=I;c[m+28>>2]=0;c[p>>2]=lg(b,0,47183,m)|0;break}else{c[l>>2]=r;c[l+4>>2]=D;c[l+8>>2]=E;c[l+12>>2]=F;c[l+16>>2]=G;c[l+20>>2]=H;c[l+24>>2]=I;c[l+28>>2]=0;c[p>>2]=lg(b,0,47198,l)|0;break}}else{I=r+24|0;if(d){c[k>>2]=I;c[k+4>>2]=0;c[p>>2]=lg(b,0,47212,k)|0;break}else{c[h>>2]=I;c[h+4>>2]=0;c[p>>2]=lg(b,0,47215,h)|0;break}}while(0);if(!(c[p>>2]|0)){Rf(c[q>>2]|0);c[q>>2]=Tf(c[o>>2]|0,47217,5)|0;if((c[q>>2]|0?(c[t>>2]=_f(c[q>>2]|0,1)|0,c[t>>2]|0):0)?(c[p>>2]=Th(c[t>>2]|0,v,w,r,r+4|0,r+8|0,r+12|0,r+16|0,r+20|0)|0,c[p>>2]|0):0)break;if(!(c[t>>2]|0)){c[v>>2]=c[u>>2]&4096|0?2:0;c[w>>2]=c[u>>2]&4096|0?1:0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=7)break;if(!(c[r+(c[s>>2]<<2)>>2]|0)){C=22;break}ko(c[r+(c[s>>2]<<2)>>2]|0);c[s>>2]=(c[s>>2]|0)+1}if((C|0)==22){c[p>>2]=68;break}if(c[u>>2]&4096|0){if((c[w>>2]|0)==1)c[p>>2]=ei(c[r+24>>2]|0,256)|0;else c[p>>2]=69;if(c[p>>2]|0)break}c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=7)break a;do if((c[s>>2]|0)!=5){if(c[r+(c[s>>2]<<2)>>2]|0?c[(c[r+(c[s>>2]<<2)>>2]|0)+12>>2]&4|0:0){c[y>>2]=Gp(c[r+(c[s>>2]<<2)>>2]|0,z)|0;c[z>>2]=(((c[z>>2]|0)+7|0)>>>0)/8|0;b=c[z>>2]|0;c[g>>2]=a[47223+(c[s>>2]|0)>>0];c[g+4>>2]=b;Su(x,30,47230,g)|0;b=c[n>>2]|0;$i(b,x,hv(x)|0);$i(c[n>>2]|0,c[y>>2]|0,c[z>>2]|0);$i(c[n>>2]|0,47239,1);break}c[A>>2]=Vo(c[r+(c[s>>2]<<2)>>2]|0,0,B,0)|0;if(!(c[A>>2]|0))break b;b=c[B>>2]|0;c[f>>2]=a[47223+(c[s>>2]|0)>>0];c[f+4>>2]=b;Su(x,30,47230,f)|0;b=c[n>>2]|0;$i(b,x,hv(x)|0);$i(c[n>>2]|0,c[A>>2]|0,c[B>>2]|0);$i(c[n>>2]|0,47239,1);vf(c[A>>2]|0)}while(0);c[s>>2]=(c[s>>2]|0)+1}c[p>>2]=Et()|0}}while(0);vf(c[t>>2]|0);Rf(c[q>>2]|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=7)break;Tp(c[r+(c[s>>2]<<2)>>2]|0);c[s>>2]=(c[s>>2]|0)+1}i=e;return c[p>>2]|0}function Gr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=47241;c[g>>2]=0;if(!(c[g>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}if(c[e>>2]|0)Eb[c[e>>2]&1](47251,18,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;h=c[d>>2]|0;i=b;return h|0}function Hr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+112|0;if((i|0)>=(j|0))$(112);f=e+64|0;g=e+56|0;h=e+48|0;k=e+40|0;l=e+32|0;m=e+24|0;n=e+16|0;o=e+8|0;p=e;q=e+108|0;r=e+104|0;s=e+100|0;t=e+96|0;u=e+84|0;v=e+80|0;w=e+76|0;x=e+72|0;y=e+68|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=1;c[x>>2]=0;c[y>>2]=0;yn(u);c[v>>2]=Rp(0)|0;if((c[c[r>>2]>>2]|0)==1)c[w>>2]=0;else c[w>>2]=Rp(0)|0;a:do if(!(bo((c[q>>2]|0)+20|0,c[r>>2]|0)|0)){if(Ff(1)|0)Ye(48654,p)}else{if(!(vo(c[(c[q>>2]|0)+20+8>>2]|0,0)|0)){if(!(Ff(1)|0))break;Ye(48706,o);break}if((c[(c[q>>2]|0)+4>>2]|0)!=1?($n(u,c[(c[q>>2]|0)+32>>2]|0,(c[q>>2]|0)+20|0,c[r>>2]|0),vo(c[u+8>>2]|0,0)|0):0){if(!(Ff(1)|0))break;Ye(48751,n);break}if(!(vo(c[(c[q>>2]|0)+44+8>>2]|0,0)|0)){if(!(Ff(1)|0))break;Ye(48798,m);break}if(!(Ai(u,c[r>>2]|0,(c[q>>2]|0)+20|0,c[(c[q>>2]|0)+56>>2]|0)|0)){if(!(Ff(1)|0))break;Ye(48844,l);break}if(tn(c[v>>2]|0,c[w>>2]|0,u,c[r>>2]|0)|0){if(!(Ff(1)|0))break;Ye(48798,k);break}do if(!(c[s>>2]&4096)){if(!(vo(c[(c[q>>2]|0)+44+8>>2]|0,1)|0)){if(!(wo(c[v>>2]|0,c[(c[q>>2]|0)+44>>2]|0)|0)){if(c[w>>2]|0)break;if(!(wo(c[w>>2]|0,c[(c[q>>2]|0)+44+4>>2]|0)|0))break}if(!(Ff(1)|0))break a;Ye(48881,h);break a}c[x>>2]=Rp(0)|0;c[y>>2]=Rp(0)|0;if(tn(c[x>>2]|0,c[y>>2]|0,(c[q>>2]|0)+44|0,c[r>>2]|0)|0){if(!(Ff(1)|0))break a;Ye(48798,g);break a}if((wo(c[v>>2]|0,c[x>>2]|0)|0)==0?(wo(c[w>>2]|0,c[y>>2]|0)|0)==0:0)break;if(!(Ff(1)|0))break a;Ye(48881,f);break a}while(0);c[t>>2]=0}while(0);Dp(c[x>>2]|0);Dp(c[v>>2]|0);Dp(c[w>>2]|0);Dp(c[y>>2]|0);An(u);i=e;return c[t>>2]|0}function Ir(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;l=i;i=i+96|0;if((i|0)>=(j|0))$(96);m=l+16|0;n=l+8|0;o=l;p=l+80|0;q=l+76|0;r=l+72|0;s=l+68|0;t=l+64|0;u=l+60|0;v=l+56|0;w=l+44|0;x=l+40|0;y=l+36|0;z=l+32|0;A=l+28|0;B=l+24|0;C=l+20|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=k;c[A>>2]=lo(c[(c[q>>2]|0)+8>>2]|0)|0;yn(w);if(c[s>>2]&32|0)c[x>>2]=1;else c[x>>2]=2;if((c[(c[r>>2]|0)+4>>2]|0)==1){k=Sp(256)|0;c[(c[p>>2]|0)+56>>2]=k;c[B>>2]=hn(32,c[x>>2]|0)|0;k=c[B>>2]|0;a[k>>0]=a[k>>0]&127;k=c[B>>2]|0;a[k>>0]=a[k>>0]|64;k=(c[B>>2]|0)+31|0;a[k>>0]=a[k>>0]&248;Yo(c[(c[p>>2]|0)+56>>2]|0,c[B>>2]|0,32,0);vf(c[B>>2]|0)}else{B=rt(c[(c[q>>2]|0)+32>>2]|0,c[x>>2]|0)|0;c[(c[p>>2]|0)+56>>2]=B}$n(w,c[(c[p>>2]|0)+56>>2]|0,(c[q>>2]|0)+20|0,c[r>>2]|0);c[c[p>>2]>>2]=c[c[q>>2]>>2];c[(c[p>>2]|0)+4>>2]=c[(c[q>>2]|0)+4>>2];B=Ip(c[(c[q>>2]|0)+8>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=B;B=Ip(c[(c[q>>2]|0)+12>>2]|0)|0;c[(c[p>>2]|0)+12>>2]=B;B=Ip(c[(c[q>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+16>>2]=B;yn((c[p>>2]|0)+20|0);Jr((c[p>>2]|0)+20|0,(c[q>>2]|0)+20|0);B=Ip(c[(c[q>>2]|0)+32>>2]|0)|0;c[(c[p>>2]|0)+32>>2]=B;B=Ip(c[(c[q>>2]|0)+36>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=B;yn((c[p>>2]|0)+44|0);c[y>>2]=Rp(c[A>>2]|0)|0;c[z>>2]=Rp(c[A>>2]|0)|0;if(tn(c[y>>2]|0,c[z>>2]|0,w,c[r>>2]|0)|0){c[o>>2]=49146;We(49096,o)}do if((c[(c[q>>2]|0)+4>>2]|0)!=1){c[C>>2]=Rp(c[A>>2]|0)|0;o=c[C>>2]|0;r=c[(c[q>>2]|0)+8>>2]|0;if(!(c[c[q>>2]>>2]|0))ho(o,r,c[z>>2]|0);else ho(o,r,c[y>>2]|0);if((wo(c[C>>2]|0,c[z>>2]|0)|0)>=0){Dp(c[C>>2]|0);Jr((c[p>>2]|0)+44|0,w);if(!(Ff(1)|0))break;Ye(49622,m);break}if(!(c[c[q>>2]>>2]|0)){Dp(c[z>>2]|0);c[z>>2]=c[C>>2]}else{Dp(c[y>>2]|0);c[y>>2]=c[C>>2]}ho(c[(c[p>>2]|0)+56>>2]|0,c[(c[q>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+56>>2]|0);r=(c[p>>2]|0)+44|0;o=c[y>>2]|0;B=c[z>>2]|0;Bn(r,o,B,Wp(1)|0)|0;if(Ff(1)|0)Ye(49582,n)}else Jr((c[p>>2]|0)+44|0,w);while(0);c[c[u>>2]>>2]=c[y>>2];c[c[v>>2]>>2]=c[z>>2];An(w);if(c[s>>2]&16384|0){i=l;return 0}s=c[p>>2]|0;w=(c[t>>2]|0)-64|0;if((c[c[p>>2]>>2]|0)!=1){Kr(s,w);i=l;return 0}else{Lr(s,w);i=l;return 0}return 0}function Jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Kp(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;Kp(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;Kp(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Kr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+224|0;if((i|0)>=(j|0))$(224);e=d+168|0;f=d+24|0;g=d+16|0;h=d+8|0;k=d+164|0;l=d+160|0;m=d+104|0;n=d+100|0;o=d+88|0;p=d+84|0;q=d+80|0;r=d+76|0;s=d+72|0;t=d+28|0;c[k>>2]=a;c[l>>2]=b;c[n>>2]=Rp(c[l>>2]|0)|0;c[p>>2]=Rp(c[l>>2]|0)|0;c[q>>2]=Rp(c[l>>2]|0)|0;c[r>>2]=Rp(c[l>>2]|0)|0;c[s>>2]=Rp(c[l>>2]|0)|0;if(Ff(1)|0)Ye(49675,d);yn(o);b=e;a=c[k>>2]|0;u=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(u|0));ti(t,e);b=m;a=t;u=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(u|0));yn(m+44|0);Jr(m+44|0,(c[k>>2]|0)+44|0);Up(c[n>>2]|0,c[l>>2]|0,0);if(wt(c[n>>2]|0,c[k>>2]|0,c[r>>2]|0,c[s>>2]|0,0,0)|0)We(49805,h);if(xt(c[n>>2]|0,m,c[r>>2]|0,c[s>>2]|0)|0)We(49835,g);if(!(Ff(1)|0)){v=m+44|0;An(v);si(m);An(o);w=c[s>>2]|0;Dp(w);x=c[r>>2]|0;Dp(x);y=c[q>>2]|0;Dp(y);z=c[p>>2]|0;Dp(z);A=c[n>>2]|0;Dp(A);i=d;return}Ye(49873,f);v=m+44|0;An(v);si(m);An(o);w=c[s>>2]|0;Dp(w);x=c[r>>2]|0;Dp(x);y=c[q>>2]|0;Dp(y);z=c[p>>2]|0;Dp(z);A=c[n>>2]|0;Dp(A);i=d;return}function Lr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+224|0;if((i|0)>=(j|0))$(224);f=e+168|0;g=e+24|0;h=e+16|0;k=e+8|0;l=e+164|0;m=e+160|0;n=e+104|0;o=e+100|0;p=e+88|0;q=e+84|0;r=e+80|0;s=e+76|0;t=e+32|0;u=e+28|0;c[l>>2]=b;c[m>>2]=d;if(Ff(1)|0)Ye(49675,e);yn(p);d=f;b=c[l>>2]|0;v=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(v|0));ti(t,f);d=n;b=t;v=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(v|0));yn(n+44|0);Jr(n+44|0,(c[l>>2]|0)+44|0);if((c[(c[l>>2]|0)+4>>2]|0)==1){c[o>>2]=Rp(256)|0;c[u>>2]=fn(32,0)|0;b=c[u>>2]|0;a[b>>0]=a[b>>0]&127;b=c[u>>2]|0;a[b>>0]=a[b>>0]|64;b=(c[u>>2]|0)+31|0;a[b>>0]=a[b>>0]&248;Yo(c[o>>2]|0,c[u>>2]|0,32,0);vf(c[u>>2]|0)}else{c[o>>2]=Rp(c[m>>2]|0)|0;Up(c[o>>2]|0,c[m>>2]|0,0)}c[s>>2]=En(c[n>>2]|0,c[n+4>>2]|0,0,c[n+8>>2]|0,c[n+12>>2]|0,c[n+16>>2]|0)|0;c[q>>2]=Rp(0)|0;c[r>>2]=Rp(0)|0;$n(p,c[o>>2]|0,n+44|0,c[s>>2]|0);if((c[(c[l>>2]|0)+4>>2]|0)!=1)$n(p,c[(c[s>>2]|0)+36>>2]|0,p,c[s>>2]|0);if(tn(c[q>>2]|0,0,p,c[s>>2]|0)|0)We(49689,k);$n(p,c[o>>2]|0,n+20|0,c[s>>2]|0);$n(p,c[(c[l>>2]|0)+56>>2]|0,p,c[s>>2]|0);if((c[(c[l>>2]|0)+4>>2]|0)!=1)$n(p,c[(c[s>>2]|0)+36>>2]|0,p,c[s>>2]|0);if(tn(c[r>>2]|0,0,p,c[s>>2]|0)|0)We(49737,h);if(wo(c[q>>2]|0,c[r>>2]|0)|0)We(49786,g);else{Dp(c[q>>2]|0);Dp(c[r>>2]|0);In(c[s>>2]|0);An(n+44|0);si(n);An(p);Dp(c[o>>2]|0);i=e;return}}function Mr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;i=i+1056|0;if((i|0)>=(j|0))$(1056);k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h+48|0;w=h;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=0;c[s>>2]=0;g=oj(c[l>>2]|0)|0;if((g|0)!=(c[q>>2]|0)){c[k>>2]=49934;x=c[k>>2]|0;i=h;return x|0}c[s>>2]=Si(t,c[l>>2]|0,0)|0;if(c[s>>2]|0){c[k>>2]=49975;x=c[k>>2]|0;i=h;return x|0}a:do switch(c[m>>2]|0){case 0:{$i(c[t>>2]|0,c[n>>2]|0,c[o>>2]|0);break}case 1:{Sw(v|0,97,1e3)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=1e3)break a;$i(c[t>>2]|0,v,1e3);c[w>>2]=(c[w>>2]|0)+1}break}default:c[r>>2]=49995}while(0);if((c[r>>2]|0)==0?(c[u>>2]=lj(c[t>>2]|0,c[l>>2]|0)|0,Jv(c[u>>2]|0,c[p>>2]|0,c[q>>2]|0)|0):0)c[r>>2]=50012;_i(c[t>>2]|0);c[k>>2]=c[r>>2];x=c[k>>2]|0;i=h;return x|0}function Nr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[h>>2];c[m>>2]=c[g>>2];c[n>>2]=0;c[o>>2]=c[(c[m>>2]|0)+148>>2];if(128<(c[o>>2]|0)>>>0)Re(50028,112,50042);if(!(c[(c[m>>2]|0)+152>>2]|0)){i=f;return}if((c[(c[m>>2]|0)+144>>2]|0)==(c[o>>2]|0)?(c[n>>2]=ub[c[(c[m>>2]|0)+152>>2]&63](c[m>>2]|0,c[m>>2]|0,1)|0,bf(c[n>>2]|0),cf(),c[n>>2]=0,c[(c[m>>2]|0)+144>>2]=0,g=(c[m>>2]|0)+128|0,h=g,e=Uw(c[h>>2]|0,c[h+4>>2]|0,1,0)|0,h=D,d=g,c[d>>2]=e,c[d+4>>2]=h,!((e|0)!=0|(h|0)!=0)):0){h=(c[m>>2]|0)+136|0;e=h;d=Uw(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;e=h;c[e>>2]=d;c[e+4>>2]=D}if(!(c[l>>2]|0)){i=f;return}if(c[(c[m>>2]|0)+144>>2]|0){while(1){if(!(c[k>>2]|0))break;if((c[(c[m>>2]|0)+144>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;e=c[l>>2]|0;c[l>>2]=e+1;d=a[e>>0]|0;e=(c[m>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[m>>2]|0)+h>>0]=d;c[k>>2]=(c[k>>2]|0)+-1}Nr(c[m>>2]|0,0,0);if(!(c[k>>2]|0)){i=f;return}}if((c[k>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=((c[k>>2]|0)>>>0)/((c[o>>2]|0)>>>0)|0;c[n>>2]=ub[c[(c[m>>2]|0)+152>>2]&63](c[m>>2]|0,c[l>>2]|0,c[p>>2]|0)|0;c[(c[m>>2]|0)+144>>2]=0;d=(c[m>>2]|0)+128|0;h=Uw(c[d>>2]|0,c[d+4>>2]|0,c[p>>2]|0,0)|0;d=D;e=(d>>>0<0|((d|0)==0?h>>>0<(c[p>>2]|0)>>>0:0))&1;h=(c[m>>2]|0)+136|0;d=h;g=Uw(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=D;e=(c[m>>2]|0)+128|0;g=e;h=Uw(c[g>>2]|0,c[g+4>>2]|0,c[p>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=D;g=S(c[p>>2]|0,c[o>>2]|0)|0;c[k>>2]=(c[k>>2]|0)-g;g=S(c[p>>2]|0,c[o>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+g}bf(c[n>>2]|0);cf();while(1){if(!(c[k>>2]|0)){q=19;break}if((c[(c[m>>2]|0)+144>>2]|0)>>>0>=(c[o>>2]|0)>>>0){q=19;break}n=c[l>>2]|0;c[l>>2]=n+1;g=a[n>>0]|0;n=(c[m>>2]|0)+144|0;p=c[n>>2]|0;c[n>>2]=p+1;a[(c[m>>2]|0)+p>>0]=g;c[k>>2]=(c[k>>2]|0)+-1}if((q|0)==19){i=f;return}}function Or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+28|0;g=e+24|0;h=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=Pr(c[f>>2]|0)|0;c[l>>2]=0;c[m>>2]=c[c[(c[f>>2]|0)+84>>2]>>2];do if(c[(c[f>>2]|0)+88>>2]|0){c[n>>2]=(c[m>>2]|0)-(c[(c[f>>2]|0)+88>>2]|0);if((c[n>>2]|0)>>>0>(c[h>>2]|0)>>>0)c[n>>2]=c[h>>2];Qr((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[n>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[n>>2]|0);d=(c[f>>2]|0)+88|0;c[d>>2]=(c[d>>2]|0)+(c[n>>2]|0);if((c[(c[f>>2]|0)+88>>2]|0)>>>0<(c[m>>2]|0)>>>0){i=e;return}else{c[l>>2]=ub[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[k>>2]|0,(c[f>>2]|0)+68|0,c[m>>2]|0)|0;c[(c[f>>2]|0)+88>>2]=0;break}}while(0);if((c[h>>2]|0)>>>0>=(c[m>>2]|0)>>>0){c[o>>2]=c[h>>2]&~((c[m>>2]|0)-1);c[l>>2]=ub[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[k>>2]|0,c[g>>2]|0,c[o>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+(c[o>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[o>>2]|0)}if(c[h>>2]|0){Qr((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[h>>2]|0);g=(c[f>>2]|0)+88|0;c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0)}if(!(c[l>>2]|0)){i=e;return}bf(c[l>>2]|0);cf();i=e;return}function Pr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+3;c[e>>2]=(c[e>>2]|0)+(0-(c[e>>2]&3));i=b;return c[e>>2]|0}function Qr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Pr(c[e>>2]|0)|0;c[h>>2]=Bb[c[(c[(c[e>>2]|0)+84>>2]|0)+12>>2]&7](c[g>>2]|0,(c[e>>2]|0)+68|0,c[(c[e>>2]|0)+88>>2]|0,c[f>>2]|0)|0;bf(c[h>>2]|0);cf();i=d;return}function Sr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=g+8|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+48|0;p=g+20|0;q=g+16|0;r=g+44|0;s=g;t=g+12|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[g+24>>2]=pg()|0;if((c[17757]|0)==0?(c[17757]=1,c[17758]=Tr()|0,c[17758]|0):0){c[h>>2]=c[17758];Ve(50063,h)}if((c[n>>2]|0)!=32){c[k>>2]=44;u=c[k>>2]|0;i=g;return u|0}if(c[17758]|0){c[k>>2]=50;u=c[k>>2]|0;i=g;return u|0}c[(c[l>>2]|0)+84>>2]=13e3;Qr(o,c[m>>2]|0,32);Ur(c[l>>2]|0,o);c[p>>2]=o;c[q>>2]=32;a[r>>0]=0;o=s;c[o>>2]=d[r>>0];c[o+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){o=s;l=ex(c[o>>2]|0,c[o+4>>2]|0,16843009,16843009)|0;o=s;c[o>>2]=l;c[o+4>>2]=D;do{c[t>>2]=c[p>>2];o=s;l=c[o+4>>2]|0;m=c[t>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=l;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}c[k>>2]=0;u=c[k>>2]|0;i=g;return u|0}function Tr(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+512|0;if((i|0)>=(j|0))$(512);d=b+192|0;e=b+100|0;f=b+8|0;g=b+472|0;h=b+216|0;k=b+200|0;l=b+4|0;m=b;n=e;o=n+92|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));n=f;o=n+92|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));n=k;o=n+16|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));_r(k,50094,131,50225);if(Jv(50257,k,16)|0){c[d>>2]=50273;p=c[d>>2]|0;i=b;return p|0}n=k;o=n+16|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));Sr(e,50225,32)|0;Or(e,50094,32);Or(e,50126,64);Or(e,50190,16);Or(e,50206,8);Or(e,50214,4);Or(e,50218,2);Or(e,50220,1);Or(e,50221,1);Or(e,50222,1);Or(e,50223,1);Or(e,50224,1);Rr(e,k);if(Jv(50257,k,16)|0){c[d>>2]=50297;p=c[d>>2]|0;i=b;return p|0}n=k;o=n+16|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));_r(k,50321,16,50337);if(Jv(50369,k,16)|0){c[d>>2]=50385;p=c[d>>2]|0;i=b;return p|0}Sr(f,50409,32)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=256)break;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=32)break;a[g+(c[m>>2]|0)>>0]=c[l>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;a[h+(c[m>>2]|0)>>0]=c[l>>2];c[m>>2]=(c[m>>2]|0)+1}_r(k,h,c[l>>2]|0,g);Or(f,k,16);c[l>>2]=(c[l>>2]|0)+1}Rr(f,k);if(Jv(50441,k,16)|0){c[d>>2]=50457;p=c[d>>2]|0;i=b;return p|0}else{c[d>>2]=0;p=c[d>>2]|0;i=b;return p|0}return 0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Pr(c[e>>2]|0)|0;c[(c[e>>2]|0)+88>>2]=0;xb[c[(c[(c[e>>2]|0)+84>>2]|0)+4>>2]&7](c[g>>2]|0,c[f>>2]|0);i=d;return}function Vr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];f=(Zr(c[g>>2]|0)|0)&67108863;c[c[h>>2]>>2]=f;f=(Zr((c[g>>2]|0)+3|0)|0)>>>2&67108611;c[(c[h>>2]|0)+4>>2]=f;f=(Zr((c[g>>2]|0)+6|0)|0)>>>4&67092735;c[(c[h>>2]|0)+8>>2]=f;f=(Zr((c[g>>2]|0)+9|0)|0)>>>6&66076671;c[(c[h>>2]|0)+12>>2]=f;f=(Zr((c[g>>2]|0)+12|0)|0)>>>8&1048575;c[(c[h>>2]|0)+16>>2]=f;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+20+4>>2]=0;c[(c[h>>2]|0)+20+8>>2]=0;c[(c[h>>2]|0)+20+12>>2]=0;c[(c[h>>2]|0)+20+16>>2]=0;f=Zr((c[g>>2]|0)+16|0)|0;c[(c[h>>2]|0)+40>>2]=f;f=Zr((c[g>>2]|0)+20|0)|0;c[(c[h>>2]|0)+40+4>>2]=f;f=Zr((c[g>>2]|0)+24|0)|0;c[(c[h>>2]|0)+40+8>>2]=f;f=Zr((c[g>>2]|0)+28|0)|0;c[(c[h>>2]|0)+40+12>>2]=f;a[(c[h>>2]|0)+56>>0]=0;i=e;return}function Wr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;f=i;i=i+128|0;if((i|0)>=(j|0))$(128);g=f+116|0;h=f+112|0;k=f+108|0;l=f+104|0;m=f+100|0;n=f+96|0;o=f+92|0;p=f+88|0;q=f+84|0;r=f+80|0;s=f+76|0;t=f+72|0;u=f+68|0;v=f+64|0;w=f+60|0;x=f+56|0;y=f+52|0;z=f+48|0;A=f+44|0;B=f+32|0;C=f+24|0;E=f+16|0;F=f+8|0;G=f;H=f+40|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=d[(c[l>>2]|0)+56>>0]|0|0?0:16777216;c[n>>2]=c[c[l>>2]>>2];c[o>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=c[(c[l>>2]|0)+8>>2];c[q>>2]=c[(c[l>>2]|0)+12>>2];c[r>>2]=c[(c[l>>2]|0)+16>>2];c[s>>2]=(c[o>>2]|0)*5;c[t>>2]=(c[p>>2]|0)*5;c[u>>2]=(c[q>>2]|0)*5;c[v>>2]=(c[r>>2]|0)*5;c[w>>2]=c[(c[l>>2]|0)+20>>2];c[x>>2]=c[(c[l>>2]|0)+20+4>>2];c[y>>2]=c[(c[l>>2]|0)+20+8>>2];c[z>>2]=c[(c[l>>2]|0)+20+12>>2];c[A>>2]=c[(c[l>>2]|0)+20+16>>2];while(1){if((c[k>>2]|0)>>>0<16)break;g=(Zr(c[h>>2]|0)|0)&67108863;c[w>>2]=(c[w>>2]|0)+g;g=(Zr((c[h>>2]|0)+3|0)|0)>>>2&67108863;c[x>>2]=(c[x>>2]|0)+g;g=(Zr((c[h>>2]|0)+6|0)|0)>>>4&67108863;c[y>>2]=(c[y>>2]|0)+g;g=(Zr((c[h>>2]|0)+9|0)|0)>>>6&67108863;c[z>>2]=(c[z>>2]|0)+g;g=(Zr((c[h>>2]|0)+12|0)|0)>>>8;c[A>>2]=(c[A>>2]|0)+(g|c[m>>2]);g=ex(c[w>>2]|0,0,c[n>>2]|0,0)|0;e=D;b=ex(c[x>>2]|0,0,c[v>>2]|0,0)|0;a=Uw(g|0,e|0,b|0,D|0)|0;b=D;e=ex(c[y>>2]|0,0,c[u>>2]|0,0)|0;g=Uw(a|0,b|0,e|0,D|0)|0;e=D;b=ex(c[z>>2]|0,0,c[t>>2]|0,0)|0;a=Uw(g|0,e|0,b|0,D|0)|0;b=D;e=ex(c[A>>2]|0,0,c[s>>2]|0,0)|0;g=Uw(a|0,b|0,e|0,D|0)|0;e=B;c[e>>2]=g;c[e+4>>2]=D;e=ex(c[w>>2]|0,0,c[o>>2]|0,0)|0;g=D;b=ex(c[x>>2]|0,0,c[n>>2]|0,0)|0;a=Uw(e|0,g|0,b|0,D|0)|0;b=D;g=ex(c[y>>2]|0,0,c[v>>2]|0,0)|0;e=Uw(a|0,b|0,g|0,D|0)|0;g=D;b=ex(c[z>>2]|0,0,c[u>>2]|0,0)|0;a=Uw(e|0,g|0,b|0,D|0)|0;b=D;g=ex(c[A>>2]|0,0,c[t>>2]|0,0)|0;e=Uw(a|0,b|0,g|0,D|0)|0;g=C;c[g>>2]=e;c[g+4>>2]=D;g=ex(c[w>>2]|0,0,c[p>>2]|0,0)|0;e=D;b=ex(c[x>>2]|0,0,c[o>>2]|0,0)|0;a=Uw(g|0,e|0,b|0,D|0)|0;b=D;e=ex(c[y>>2]|0,0,c[n>>2]|0,0)|0;g=Uw(a|0,b|0,e|0,D|0)|0;e=D;b=ex(c[z>>2]|0,0,c[v>>2]|0,0)|0;a=Uw(g|0,e|0,b|0,D|0)|0;b=D;e=ex(c[A>>2]|0,0,c[u>>2]|0,0)|0;g=Uw(a|0,b|0,e|0,D|0)|0;e=E;c[e>>2]=g;c[e+4>>2]=D;e=ex(c[w>>2]|0,0,c[q>>2]|0,0)|0;g=D;b=ex(c[x>>2]|0,0,c[p>>2]|0,0)|0;a=Uw(e|0,g|0,b|0,D|0)|0;b=D;g=ex(c[y>>2]|0,0,c[o>>2]|0,0)|0;e=Uw(a|0,b|0,g|0,D|0)|0;g=D;b=ex(c[z>>2]|0,0,c[n>>2]|0,0)|0;a=Uw(e|0,g|0,b|0,D|0)|0;b=D;g=ex(c[A>>2]|0,0,c[v>>2]|0,0)|0;e=Uw(a|0,b|0,g|0,D|0)|0;g=F;c[g>>2]=e;c[g+4>>2]=D;g=ex(c[w>>2]|0,0,c[r>>2]|0,0)|0;e=D;b=ex(c[x>>2]|0,0,c[q>>2]|0,0)|0;a=Uw(g|0,e|0,b|0,D|0)|0;b=D;e=ex(c[y>>2]|0,0,c[p>>2]|0,0)|0;g=Uw(a|0,b|0,e|0,D|0)|0;e=D;b=ex(c[z>>2]|0,0,c[o>>2]|0,0)|0;a=Uw(g|0,e|0,b|0,D|0)|0;b=D;e=ex(c[A>>2]|0,0,c[n>>2]|0,0)|0;g=Uw(a|0,b|0,e|0,D|0)|0;e=G;c[e>>2]=g;c[e+4>>2]=D;e=B;g=ax(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[H>>2]=g;c[w>>2]=c[B>>2]&67108863;g=C;e=Uw(c[g>>2]|0,c[g+4>>2]|0,c[H>>2]|0,0)|0;g=C;c[g>>2]=e;c[g+4>>2]=D;g=C;e=ax(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[H>>2]=e;c[x>>2]=c[C>>2]&67108863;e=E;g=Uw(c[e>>2]|0,c[e+4>>2]|0,c[H>>2]|0,0)|0;e=E;c[e>>2]=g;c[e+4>>2]=D;e=E;g=ax(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[H>>2]=g;c[y>>2]=c[E>>2]&67108863;g=F;e=Uw(c[g>>2]|0,c[g+4>>2]|0,c[H>>2]|0,0)|0;g=F;c[g>>2]=e;c[g+4>>2]=D;g=F;e=ax(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[H>>2]=e;c[z>>2]=c[F>>2]&67108863;e=G;g=Uw(c[e>>2]|0,c[e+4>>2]|0,c[H>>2]|0,0)|0;e=G;c[e>>2]=g;c[e+4>>2]=D;e=G;g=ax(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[H>>2]=g;c[A>>2]=c[G>>2]&67108863;c[w>>2]=(c[w>>2]|0)+((c[H>>2]|0)*5|0);c[H>>2]=(c[w>>2]|0)>>>26;c[w>>2]=c[w>>2]&67108863;c[x>>2]=(c[x>>2]|0)+(c[H>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[k>>2]=(c[k>>2]|0)-16}c[(c[l>>2]|0)+20>>2]=c[w>>2];c[(c[l>>2]|0)+20+4>>2]=c[x>>2];c[(c[l>>2]|0)+20+8>>2]=c[y>>2];c[(c[l>>2]|0)+20+12>>2]=c[z>>2];c[(c[l>>2]|0)+20+16>>2]=c[A>>2];i=f;return 124}function Xr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;g=i;i=i+112|0;if((i|0)>=(j|0))$(112);h=g+80|0;k=g+76|0;l=g+72|0;m=g+68|0;n=g+64|0;o=g+60|0;p=g+56|0;q=g+52|0;r=g+48|0;s=g+44|0;t=g+40|0;u=g+36|0;v=g+32|0;w=g+28|0;x=g+24|0;y=g+20|0;z=g;A=g+16|0;B=g+12|0;C=g+88|0;E=g+8|0;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[B>>2]=0;if(c[l>>2]|0){h=C;f=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(f|0));c[E>>2]=0;while(1){if((c[E>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;a[C+(c[E>>2]|0)>>0]=a[(c[k>>2]|0)+(c[E>>2]|0)>>0]|0;c[E>>2]=(c[E>>2]|0)+1}a[C+(c[l>>2]|0)>>0]=1;a[(c[n>>2]|0)+56>>0]=1;c[B>>2]=Wr(c[n>>2]|0,C,16)|0}c[o>>2]=c[(c[n>>2]|0)+20>>2];c[p>>2]=c[(c[n>>2]|0)+20+4>>2];c[q>>2]=c[(c[n>>2]|0)+20+8>>2];c[r>>2]=c[(c[n>>2]|0)+20+12>>2];c[s>>2]=c[(c[n>>2]|0)+20+16>>2];c[t>>2]=(c[p>>2]|0)>>>26;c[p>>2]=c[p>>2]&67108863;c[q>>2]=(c[q>>2]|0)+(c[t>>2]|0);c[t>>2]=(c[q>>2]|0)>>>26;c[q>>2]=c[q>>2]&67108863;c[r>>2]=(c[r>>2]|0)+(c[t>>2]|0);c[t>>2]=(c[r>>2]|0)>>>26;c[r>>2]=c[r>>2]&67108863;c[s>>2]=(c[s>>2]|0)+(c[t>>2]|0);c[t>>2]=(c[s>>2]|0)>>>26;c[s>>2]=c[s>>2]&67108863;c[o>>2]=(c[o>>2]|0)+((c[t>>2]|0)*5|0);c[t>>2]=(c[o>>2]|0)>>>26;c[o>>2]=c[o>>2]&67108863;c[p>>2]=(c[p>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[o>>2]|0)+5;c[t>>2]=(c[u>>2]|0)>>>26;c[u>>2]=c[u>>2]&67108863;c[v>>2]=(c[p>>2]|0)+(c[t>>2]|0);c[t>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[q>>2]|0)+(c[t>>2]|0);c[t>>2]=(c[w>>2]|0)>>>26;c[w>>2]=c[w>>2]&67108863;c[x>>2]=(c[r>>2]|0)+(c[t>>2]|0);c[t>>2]=(c[x>>2]|0)>>>26;c[x>>2]=c[x>>2]&67108863;c[y>>2]=(c[s>>2]|0)+(c[t>>2]|0)-67108864;c[A>>2]=((c[y>>2]|0)>>>31)-1;c[u>>2]=c[u>>2]&c[A>>2];c[v>>2]=c[v>>2]&c[A>>2];c[w>>2]=c[w>>2]&c[A>>2];c[x>>2]=c[x>>2]&c[A>>2];c[y>>2]=c[y>>2]&c[A>>2];c[A>>2]=~c[A>>2];c[o>>2]=c[o>>2]&c[A>>2]|c[u>>2];c[p>>2]=c[p>>2]&c[A>>2]|c[v>>2];c[q>>2]=c[q>>2]&c[A>>2]|c[w>>2];c[r>>2]=c[r>>2]&c[A>>2]|c[x>>2];c[s>>2]=c[s>>2]&c[A>>2]|c[y>>2];c[o>>2]=c[o>>2]|c[p>>2]<<26;c[p>>2]=(c[p>>2]|0)>>>6|c[q>>2]<<20;c[q>>2]=(c[q>>2]|0)>>>12|c[r>>2]<<14;c[r>>2]=(c[r>>2]|0)>>>18|c[s>>2]<<8;s=Uw(c[o>>2]|0,0,c[(c[n>>2]|0)+40>>2]|0,0)|0;y=z;c[y>>2]=s;c[y+4>>2]=D;c[o>>2]=c[z>>2];y=Uw(c[p>>2]|0,0,c[(c[n>>2]|0)+40+4>>2]|0,0)|0;s=Uw(y|0,D|0,c[z+4>>2]|0,0)|0;y=z;c[y>>2]=s;c[y+4>>2]=D;c[p>>2]=c[z>>2];y=Uw(c[q>>2]|0,0,c[(c[n>>2]|0)+40+8>>2]|0,0)|0;s=Uw(y|0,D|0,c[z+4>>2]|0,0)|0;y=z;c[y>>2]=s;c[y+4>>2]=D;c[q>>2]=c[z>>2];y=Uw(c[r>>2]|0,0,c[(c[n>>2]|0)+40+12>>2]|0,0)|0;s=Uw(y|0,D|0,c[z+4>>2]|0,0)|0;y=z;c[y>>2]=s;c[y+4>>2]=D;c[r>>2]=c[z>>2];Yr(c[m>>2]|0,c[o>>2]|0);Yr((c[m>>2]|0)+4|0,c[p>>2]|0);Yr((c[m>>2]|0)+8|0,c[q>>2]|0);Yr((c[m>>2]|0)+12|0,c[r>>2]|0);c[(c[n>>2]|0)+20>>2]=0;c[(c[n>>2]|0)+20+4>>2]=0;c[(c[n>>2]|0)+20+8>>2]=0;c[(c[n>>2]|0)+20+12>>2]=0;c[(c[n>>2]|0)+20+16>>2]=0;c[c[n>>2]>>2]=0;c[(c[n>>2]|0)+4>>2]=0;c[(c[n>>2]|0)+8>>2]=0;c[(c[n>>2]|0)+12>>2]=0;c[(c[n>>2]|0)+16>>2]=0;c[(c[n>>2]|0)+40>>2]=0;c[(c[n>>2]|0)+40+4>>2]=0;c[(c[n>>2]|0)+40+8>>2]=0;c[(c[n>>2]|0)+40+12>>2]=0;i=g;return 100+(c[B>>2]|0)|0}function Yr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Zr(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function _r(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+144|0;if((i|0)>=(j|0))$(144);k=h+124|0;l=h+120|0;m=h+116|0;n=h+112|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+128|0;s=h;t=h+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;g=o;f=g+92|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));Sr(o,c[n>>2]|0,32)|0;Or(o,c[l>>2]|0,c[m>>2]|0);Rr(o,c[k>>2]|0);c[p>>2]=o;c[q>>2]=92;a[r>>0]=0;o=s;c[o>>2]=d[r>>0];c[o+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){o=s;k=ex(c[o>>2]|0,c[o+4>>2]|0,16843009,16843009)|0;o=s;c[o>>2]=k;c[o+4>>2]=D;do{c[t>>2]=c[p>>2];o=s;k=c[o+4>>2]|0;m=c[t>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}i=h;return}function $r(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(c[d>>2]|0){bs();i=b;return}else{as();i=b;return}}function as(){if(c[17782]|0)return;c[17782]=1;return}function bs(){var a=0,b=0;as();cs();if(c[17759]|0){gs();return}if(c[17760]|0)a=Df(1,664)|0;else a=Cf(1,664)|0;c[17759]=a;if(c[17760]|0)b=Df(1,664)|0;else b=Cf(1,664)|0;c[17761]=b;c[17762]=ds()|0;if(!(c[17762]|0)){c[17763]=1;c[17762]=3}c[17764]=fs()|0;gs();return}function cs(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[d>>2]=Ht(13016)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;We(50662,b)}else{c[17765]=1;i=a;return}}function ds(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;if(($v(52863,4)|0)==0?($v(52875,4)|0)==0:0){c[d>>2]=4;i=a;return c[d>>2]|0}We(Je(50624)|0,b);return 0}function es(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+24|0;k=g+20|0;l=g+12|0;m=g+8|0;n=g+4|0;c[g+28>>2]=b;c[h>>2]=d;c[k>>2]=e;c[g+16>>2]=f;if(!(c[17766]|0)){Te(Je(50518)|0,g);c[17766]=1;f=kb(0)|0;vw(S(f,_v()|0)|0)}f=zf(c[k>>2]|0)|0;c[m>>2]=f;c[n>>2]=f;c[l>>2]=c[k>>2];while(1){f=c[l>>2]|0;c[l>>2]=f+-1;if(!f)break;f=1+~~(+(ww()|0)*256.0/2147483648.0)-1&255;e=c[n>>2]|0;c[n>>2]=e+1;a[e>>0]=f}hs(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0);vf(c[m>>2]|0);i=g;return 0}function fs(){return 0}function gs(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[17765]=0;c[d>>2]=It(13016)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;We(50481,b)}else{i=a;return}}function hs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[h>>2];c[n>>2]=0;if(!(c[17765]|0))Se(50569,50584,1074,50600);c[17775]=(c[17775]|0)+(c[k>>2]|0);c[17776]=(c[17776]|0)+1;while(1){h=c[k>>2]|0;c[k>>2]=h+-1;if(!h)break;h=c[m>>2]|0;c[m>>2]=h+1;f=d[h>>0]|0;h=c[17777]|0;c[17777]=h+1;e=(c[17759]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f;c[n>>2]=(c[n>>2]|0)+1;if((c[17777]|0)>>>0<600)continue;if(!((c[l>>2]|0)>>>0<3|(c[17778]|0)!=0)?(c[17779]=(c[17779]|0)+(c[n>>2]|0),c[n>>2]=0,(c[17779]|0)>>>0>=600):0)c[17778]=1;c[17777]=0;is(c[17759]|0);c[17767]=(c[17767]|0)+1;c[17780]=((c[k>>2]|0)!=0^1)&1}i=g;return}function is(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+224|0;if((i|0)>=(j|0))$(224);f=e+208|0;g=e+204|0;h=e+200|0;k=e+196|0;l=e+192|0;m=e+188|0;n=e;o=e+184|0;c[f>>2]=b;c[g>>2]=(c[f>>2]|0)+600;if(!(c[17765]|0))Se(50569,50584,615,50615);$k(n);c[k>>2]=(c[f>>2]|0)+600;b=c[g>>2]|0;p=(c[k>>2]|0)+-20|0;q=b+20|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0));b=(c[g>>2]|0)+20|0;p=c[f>>2]|0;q=b+44|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0));al(n,c[g>>2]|0);b=c[f>>2]|0;p=c[g>>2]|0;q=b+20|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0));a:do if(c[17781]|0?(c[f>>2]|0)==(c[17759]|0):0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=20)break a;r=(c[f>>2]|0)+(c[l>>2]|0)|0;a[r>>0]=(d[r>>0]|0)^(d[72298+(c[l>>2]|0)>>0]|0);c[l>>2]=(c[l>>2]|0)+1}}while(0);c[h>>2]=c[f>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=30)break;b=c[g>>2]|0;p=c[h>>2]|0;q=b+20|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0));c[h>>2]=(c[h>>2]|0)+20;b:do if(((c[h>>2]|0)+20+64|0)>>>0<(c[k>>2]|0)>>>0){b=(c[g>>2]|0)+20|0;p=(c[h>>2]|0)+20|0;q=b+44|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0))}else{c[o>>2]=(c[h>>2]|0)+20;c[l>>2]=20;while(1){if((c[l>>2]|0)>=64)break b;if((c[o>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[o>>2]=c[f>>2];r=c[o>>2]|0;c[o>>2]=r+1;a[(c[g>>2]|0)+(c[l>>2]|0)>>0]=a[r>>0]|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);al(n,c[g>>2]|0);b=c[h>>2]|0;p=c[g>>2]|0;q=b+20|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0));c[m>>2]=(c[m>>2]|0)+1}if((c[f>>2]|0)!=(c[17759]|0)){bf(384);cf();i=e;return}bl(72298,c[f>>2]|0,600);c[17781]=1;bf(384);cf();i=e;return}function js(){cs();nt(0,0,0,0)|0;c[17778]=0;gs();return}function ks(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;a=i;i=i+48|0;if((i|0)>=(j|0))$(48);b=a;d=c[17767]|0;e=c[17769]|0;f=c[17770]|0;g=c[17776]|0;h=c[17775]|0;k=c[17768]|0;l=c[17772]|0;m=c[17771]|0;n=c[17774]|0;o=c[17773]|0;p=(kt()|0)!=0;c[b>>2]=600;c[b+4>>2]=d;c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=g;c[b+20>>2]=h;c[b+24>>2]=k;c[b+28>>2]=l;c[b+32>>2]=m;c[b+36>>2]=n;c[b+40>>2]=o;c[b+44>>2]=p?50699:72319;Te(50715,b);i=a;return}function ls(){c[17760]=1;return}function ms(){c[17783]=1;return}function ns(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[b>>2]=a;i=b;return}function os(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[b>>2]=a;i=b;return 0}function ps(){bs();return (c[17763]|0?1:(c[17783]|0)!=0)&1|0}function qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;bs();if((c[17783]|0)!=0&(c[h>>2]|0)>>>0>1)c[h>>2]=1;c[h>>2]=c[h>>2]&3;cs();d=c[g>>2]|0;if((c[h>>2]|0)>>>0>=2){c[17773]=(c[17773]|0)+d;c[17774]=(c[17774]|0)+1}else{c[17771]=(c[17771]|0)+d;c[17772]=(c[17772]|0)+1}c[k>>2]=c[f>>2];while(1){if((c[g>>2]|0)>>>0<=0)break;c[l>>2]=(c[g>>2]|0)>>>0>600?600:c[g>>2]|0;rs(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0);c[g>>2]=(c[g>>2]|0)-(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0)}gs();i=e;return}function rs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=f;h=f+48|0;k=f+44|0;l=f+40|0;m=f+36|0;n=f+32|0;o=f+28|0;p=f+24|0;q=f+20|0;r=f+16|0;s=f+12|0;t=f+8|0;u=f+4|0;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[17765]|0))Se(50569,50584,934,50839);while(1){c[p>>2]=_v()|0;if((c[3265]|0)==-1)c[3265]=c[p>>2];if((c[3265]|0)!=(c[p>>2]|0)){c[3265]=c[p>>2];c[q>>2]=c[3265];hs(q,4,0);c[17780]=0}if(!(c[17765]|0)){v=8;break}if((c[k>>2]|0)>>>0>600){v=10;break}if((c[17778]|0)==0?ss()|0:0)c[17778]=1;if(!((c[l>>2]|0)!=2|(c[17784]|0)!=0)){c[17785]=0;c[r>>2]=(c[k>>2]|0)-(c[17785]|0);if((c[r>>2]|0)>>>0>=16){if((c[r>>2]|0)>>>0>600){v=18;break}}else c[r>>2]=16;ts(4,c[r>>2]|0,2);c[17785]=(c[17785]|0)+(c[r>>2]|0);c[17784]=1}if((c[l>>2]|0)==2?(c[17785]|0)>>>0<(c[k>>2]|0)>>>0:0){if((c[17785]|0)<0)c[17785]=0;c[s>>2]=(c[k>>2]|0)-(c[17785]|0);if((c[s>>2]|0)>>>0>600){v=25;break}ts(4,c[s>>2]|0,2);c[17785]=(c[17785]|0)+(c[s>>2]|0)}while(1){if(!((c[17778]|0)!=0^1))break;us()}vs();c[t>>2]=c[3265];hs(t,4,0);if(!(c[17780]|0)){is(c[17759]|0);c[17767]=(c[17767]|0)+1}c[m>>2]=0;c[o>>2]=c[17761];c[n>>2]=c[17759];while(1){if((c[m>>2]|0)>=150)break;c[c[o>>2]>>2]=(c[c[n>>2]>>2]|0)+-1515870811;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+4;c[n>>2]=(c[n>>2]|0)+4}is(c[17759]|0);c[17767]=(c[17767]|0)+1;is(c[17761]|0);c[17768]=(c[17768]|0)+1;while(1){e=c[k>>2]|0;c[k>>2]=e+-1;if(!e)break;e=c[17786]|0;c[17786]=e+1;d=a[(c[17761]|0)+e>>0]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=d;if((c[17786]|0)>>>0>=600)c[17786]=0;c[17785]=(c[17785]|0)+-1}if((c[17785]|0)<0)c[17785]=0;Sw(c[17761]|0,0,600)|0;d=_v()|0;if((d|0)==(c[p>>2]|0)){v=43;break}c[u>>2]=_v()|0;hs(u,4,0);c[17780]=0;c[3265]=c[u>>2]}if((v|0)==8)Se(50569,50584,953,50839);else if((v|0)==10)Xe(50849,g);else if((v|0)==18)Re(50584,979,50839);else if((v|0)==25)Re(50584,995,50839);else if((v|0)==43){i=f;return}}function ss(){var a=0,b=0,d=0,e=0,f=0,g=0,h=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;a=i;i=i+768|0;if((i|0)>=(j|0))$(768);b=a+48|0;d=a+40|0;e=a+32|0;f=a+24|0;g=a+16|0;h=a+8|0;k=a+152|0;l=a+148|0;m=a+72|0;n=a+160|0;o=a+68|0;p=a+64|0;q=a+60|0;r=a+56|0;if(!(c[17765]|0))Se(50569,50584,743,50990);if(!(c[17787]|0)){c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}c[l>>2]=gw(c[17787]|0,0,a)|0;if((c[l>>2]|0)==-1?(c[(xu()|0)>>2]|0)==2:0){c[17788]=1;c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}if((c[l>>2]|0)==-1){t=Je(51005)|0;u=c[17787]|0;v=Nu(c[(xu()|0)>>2]|0)|0;c[h>>2]=u;c[h+4>>2]=v;Te(t,h);c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}h=(ws(c[l>>2]|0,c[17787]|0,0)|0)!=0;t=c[l>>2]|0;if(h){Kv(t)|0;c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}if(cw(t,m)|0){t=Je(51026)|0;h=c[17787]|0;v=Nu(c[(xu()|0)>>2]|0)|0;c[g>>2]=h;c[g+4>>2]=v;Te(t,g);Kv(c[l>>2]|0)|0;c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}if((c[m+12>>2]&61440|0)!=32768){g=Je(51047)|0;c[f>>2]=c[17787];Te(g,f);Kv(c[l>>2]|0)|0;c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}if(!(c[m+36>>2]|0)){Te(Je(51085)|0,e);Kv(c[l>>2]|0)|0;c[17788]=1;c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}if((c[m+36>>2]|0)!=600){Te(Je(51118)|0,d);Kv(c[l>>2]|0)|0;c[k>>2]=0;s=c[k>>2]|0;i=a;return s|0}do{c[o>>2]=fw(c[l>>2]|0,n,600)|0;if((c[o>>2]|0)!=-1)break}while((c[(xu()|0)>>2]|0)==4);if((c[o>>2]|0)!=600){o=Je(51172)|0;d=c[17787]|0;m=Nu(c[(xu()|0)>>2]|0)|0;c[b>>2]=d;c[b+4>>2]=m;We(o,b)}Kv(c[l>>2]|0)|0;hs(n,600,0);c[p>>2]=_v()|0;hs(p,4,0);c[q>>2]=kb(0)|0;hs(q,4,0);c[r>>2]=Ta()|0;hs(r,4,0);ts(0,16,0);c[17788]=1;c[k>>2]=1;s=c[k>>2]|0;i=a;return s|0}function ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[17762]|0))We(50901,e);if((Bb[c[17762]&7](3,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)<0)We(50952,e+8|0);else{i=e;return}}function us(){c[17769]=(c[17769]|0)+1;ts(3,120,1);return}function vs(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+160|0;if((i|0)>=(j|0))$(160);b=a+144|0;d=a+8|0;e=a+4|0;f=a;if(!(c[17765]|0))Se(50569,50584,1180,50881);c[17770]=(c[17770]|0)+1;if(c[17764]|0)xb[c[17764]&7](3,2);if(lb(b|0,0)|0)Re(50584,1198,50881);else{hs(b,4,2);hs(b+4|0,4,2);Bw(0,d)|0;hs(d,136,2);Sw(d|0,0,136)|0;c[e>>2]=kb(0)|0;hs(e,4,2);c[f>>2]=Ta()|0;hs(f,4,2);lt(3,2);i=a;return}}function ws(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=f+16|0;h=f+8|0;k=f;l=f+60|0;m=f+56|0;n=f+52|0;o=f+48|0;p=f+32|0;q=f+24|0;r=f+20|0;c[m>>2]=a;c[n>>2]=d;c[o>>2]=e;c[r>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;b[p>>1]=c[o>>2]|0?1:0;b[p+2>>1]=0;while(1){o=c[m>>2]|0;c[k>>2]=p;if((Lv(o,13,k)|0)!=-1){s=10;break}if((c[(xu()|0)>>2]|0)!=11?(c[(xu()|0)>>2]|0)!=13:0){s=5;break}if((c[r>>2]|0)>2){o=Je(51214)|0;c[g>>2]=c[n>>2];Te(o,g)}c[q>>2]=c[r>>2];c[q+4>>2]=25e4;dw(0,0,0,0,q)|0;if((c[r>>2]|0)>=10)continue;c[r>>2]=(c[r>>2]|0)+1}if((s|0)==5){r=Je(51193)|0;q=c[n>>2]|0;n=Nu(c[(xu()|0)>>2]|0)|0;c[h>>2]=q;c[h+4>>2]=n;Te(r,h);c[l>>2]=-1;t=c[l>>2]|0;i=f;return t|0}else if((s|0)==10){c[l>>2]=0;t=c[l>>2]|0;i=f;return t|0}return 0}function xs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(c[17787]|0)Re(50584,673,51243);else{c[17787]=Ef(c[d>>2]|0)|0;i=b;return}}function ys(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;a=i;i=i+64|0;if((i|0)>=(j|0))$(64);b=a+40|0;d=a+32|0;e=a+24|0;f=a+16|0;g=a+8|0;h=a+60|0;k=a+56|0;l=a+52|0;m=a+48|0;as();cs();if(!((c[17787]|0)!=0&(c[17759]|0)!=0&(c[17778]|0)!=0)){gs();i=a;return}if(!(c[17788]|0)){gs();Te(Je(51273)|0,a);i=a;return}c[m>>2]=0;c[k>>2]=c[17761];c[h>>2]=c[17759];while(1){if((c[m>>2]|0)>=150)break;c[c[k>>2]>>2]=(c[c[h>>2]>>2]|0)+-1515870811;c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+4}is(c[17759]|0);c[17767]=(c[17767]|0)+1;is(c[17761]|0);c[17768]=(c[17768]|0)+1;h=c[17787]|0;c[g>>2]=384;c[l>>2]=gw(h,65,g)|0;do if((c[l>>2]|0)!=-1){g=(ws(c[l>>2]|0,c[17787]|0,1)|0)!=0;h=c[l>>2]|0;if(g){Kv(h)|0;break}if(pw(h,0)|0){h=Je(51332)|0;g=c[17787]|0;k=Nu(c[(xu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=k;Te(h,e);Kv(c[l>>2]|0)|0;break}do{c[m>>2]=ew(c[l>>2]|0,c[17761]|0,600)|0;if((c[m>>2]|0)!=-1)break}while((c[(xu()|0)>>2]|0)==4);if((c[m>>2]|0)!=600){h=Je(51332)|0;k=c[17787]|0;g=Nu(c[(xu()|0)>>2]|0)|0;c[d>>2]=k;c[d+4>>2]=g;Te(h,d)}if(Kv(c[l>>2]|0)|0){h=Je(51354)|0;g=c[17787]|0;k=Nu(c[(xu()|0)>>2]|0)|0;c[b>>2]=g;c[b+4>>2]=k;Te(h,b)}}else{h=Je(51309)|0;k=c[17787]|0;g=Nu(c[(xu()|0)>>2]|0)|0;c[f>>2]=k;c[f+4>>2]=g;Te(h,f)}while(0);gs();i=a;return}function zs(){as();cs();if(!(c[17759]|0)){gs();return}vs();gs();return}function As(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Bs();if(!(c[d>>2]|0)){i=b;return}Cs();do if(c[17789]|0){if(c[(c[17790]|0)+52>>2]|0)Se(51376,51404,767,51418);if(c[(c[17791]|0)+52>>2]|0)Se(51443,51404,768,51418);if(c[(c[17792]|0)+52>>2]|0)Se(51473,51404,769,51418);else{Es(c[17790]|0);Es(c[17791]|0);Es(c[17792]|0);break}}else{c[17789]=Bf(48)|0;c[17790]=Cf(1,68)|0;Ds(c[17790]|0);c[17791]=Df(1,68)|0;Ds(c[17791]|0);c[17792]=Df(1,68)|0;Ds(c[17792]|0)}while(0);Fs();i=b;return}function Bs(){if(c[17794]|0)return;c[17794]=1;c[17793]=0;return}function Cs(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[d>>2]=Ht(13064)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;We(51588,b)}else{c[17793]=1;i=a;return}}function Ds(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;a[c[e>>2]>>0]=17;a[(c[e>>2]|0)+16>>0]=42;a[(c[e>>2]|0)+33>>0]=-119;a[(c[e>>2]|0)+50>>0]=-4;i=d;return}function Es(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b;f=b+4|0;c[f>>2]=a;if((((d[c[f>>2]>>0]|0|0)==17?(d[(c[f>>2]|0)+16>>0]|0|0)==42:0)?(d[(c[f>>2]|0)+33>>0]|0|0)==137:0)?(d[(c[f>>2]|0)+50>>0]|0|0)==252:0){i=b;return}c[e>>2]=c[f>>2];We(51542,e)}function Fs(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[17793]=0;c[d>>2]=It(13064)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;We(51506,b)}else{i=a;return}}function Gs(){Cs();nt(0,0,0,0)|0;Fs();return}function Hs(){return}function Is(){return 0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;As(1);Cs();d=c[f>>2]|0;f=c[g>>2]|0;if((c[h>>2]|0)==2){Ks(d,f,c[17792]|0);Fs();i=e;return}else{Ks(d,f,c[17791]|0);Fs();i=e;return}}
-function Nj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;e=i;i=i+160|0;if((i|0)>=(j|0))$(160);f=e+144|0;g=e+140|0;h=e+136|0;k=e+132|0;l=e+128|0;m=e+124|0;n=e+120|0;o=e+116|0;p=e+112|0;q=e+108|0;r=e+104|0;s=e+100|0;t=e+96|0;u=e+92|0;v=e+88|0;w=e+84|0;x=e+80|0;y=e+76|0;z=e+72|0;A=e+68|0;B=e+64|0;C=e+60|0;D=e+56|0;E=e+52|0;F=e+48|0;G=e+44|0;H=e+40|0;I=e+36|0;J=e+32|0;K=e+28|0;L=e+24|0;M=e+20|0;N=e+16|0;O=e+12|0;P=e+8|0;Q=e+4|0;R=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=0;c[r>>2]=0;c[s>>2]=0;c[c[h>>2]>>2]=0;c[m>>2]=Tf(c[g>>2]|0,37953,0)|0;if(!(c[m>>2]|0)){d=$f(c[g>>2]|0,0,0)|0;c[c[h>>2]>>2]=d;c[f>>2]=c[c[h>>2]>>2]|0?0:65;S=c[f>>2]|0;i=e;return S|0}c[t>>2]=Tf(c[m>>2]|0,47177,0)|0;if(c[t>>2]|0){if(Fj(c[t>>2]|0,s,(c[k>>2]|0)+8|0)|0)c[r>>2]=1;Rf(c[t>>2]|0)}if((c[(c[k>>2]|0)+8>>2]|0)==5)c[(c[k>>2]|0)+8>>2]=0;c[n>>2]=Tf(c[m>>2]|0,37958,0)|0;if(c[n>>2]|0)T=0;else T=Tf(c[m>>2]|0,40906,0)|0;c[o>>2]=T;a:do if(((c[n>>2]|0)!=0^1)&1^((c[o>>2]|0)!=0^1)&1|0){if(c[r>>2]|0){c[l>>2]=72;break}if((c[(c[k>>2]|0)+8>>2]|0)==0?c[s>>2]&4096|0:0){if(!(c[o>>2]|0)){c[l>>2]=65;break}c[u>>2]=Tf(c[m>>2]|0,37847,0)|0;if(c[u>>2]|0){c[q>>2]=Xf(c[u>>2]|0,1,p)|0;if(c[q>>2]|0){T=Kj(c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=T;if(!(c[(c[k>>2]|0)+16>>2]|0))c[l>>2]=5}else c[l>>2]=68;Rf(c[u>>2]|0)}else c[l>>2]=65;if(c[l>>2]|0)break;c[v>>2]=Zf(c[o>>2]|0,1,w)|0;if(c[v>>2]|0){if(c[w>>2]<<3>>>0<(c[w>>2]|0)>>>0){vf(c[v>>2]|0);c[l>>2]=67}}else{c[w>>2]=0;c[v>>2]=pf(1)|0;if(!(c[v>>2]|0))c[l>>2]=Et()|0}if(c[l>>2]|0)break;T=Ep(0,c[v>>2]|0,c[w>>2]<<3)|0;c[c[h>>2]>>2]=T;break}do if(c[n>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==0:0){if((c[s>>2]&16|0)==0?(c[s>>2]&2|0)==0:0)break;if((Uf(c[n>>2]|0)|0)!=3){c[l>>2]=65;break a}T=Xf(c[n>>2]|0,1,p)|0;c[q>>2]=T;if(!((T|0)!=0&(c[p>>2]|0)!=0)){c[l>>2]=65;break a}T=Kj(c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=T;if(!(c[(c[k>>2]|0)+16>>2]|0)){c[l>>2]=5;break a}T=Zf(c[n>>2]|0,2,y)|0;c[x>>2]=T;if(!T){c[l>>2]=65;break a}T=c[x>>2]|0;if(c[y>>2]<<3>>>0<(c[y>>2]|0)>>>0){vf(T);c[l>>2]=67;break a}else{t=Ep(0,T,c[y>>2]<<3)|0;c[c[h>>2]>>2]=t;break a}}while(0);if(c[o>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==0:0){if(c[s>>2]&2|0){c[l>>2]=70;break}t=$f(c[o>>2]|0,1,5)|0;c[c[h>>2]>>2]=t;if(c[c[h>>2]>>2]|0)break;c[l>>2]=65;break}if((c[o>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==1:0)?(c[c[k>>2]>>2]|0)==0:0){c[C>>2]=0;c[D>>2]=0;t=Xf(c[o>>2]|0,1,A)|0;c[z>>2]=t;if(!((t|0)!=0&(c[A>>2]|0)!=0)){c[l>>2]=65;break}c[B>>2]=Tf(c[m>>2]|0,37863,0)|0;if(c[B>>2]|0){c[q>>2]=Xf(c[B>>2]|0,1,p)|0;do if(c[q>>2]|0){if((c[p>>2]|0)>>>0>0){c[C>>2]=pf(c[p>>2]|0)|0;if(c[C>>2]|0){Yw(c[C>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[D>>2]=c[p>>2];break}else{c[l>>2]=Et()|0;break}}}else c[l>>2]=68;while(0);Rf(c[B>>2]|0);if(c[l>>2]|0)break}c[l>>2]=cl(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[z>>2]|0,c[A>>2]|0,c[C>>2]|0,c[D>>2]|0)|0;vf(c[C>>2]|0);break}do if(c[n>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==1:0){if((c[c[k>>2]>>2]|0)!=2?(c[c[k>>2]>>2]|0)!=3:0)break;if((Uf(c[n>>2]|0)|0)!=3){c[l>>2]=65;break a}t=Xf(c[n>>2]|0,1,p)|0;c[q>>2]=t;if(!((t|0)!=0&(c[p>>2]|0)!=0)){c[l>>2]=65;break a}t=Kj(c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=t;if(!(c[(c[k>>2]|0)+16>>2]|0)){c[l>>2]=5;break a}t=Xf(c[n>>2]|0,2,F)|0;c[E>>2]=t;if((t|0)!=0&(c[F>>2]|0)!=0){c[l>>2]=gl(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[E>>2]|0,c[F>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;break a}else{c[l>>2]=65;break a}}while(0);do if(c[o>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==2:0){if((c[c[k>>2]>>2]|0)!=2?(c[c[k>>2]>>2]|0)!=3:0)break;if((Uf(c[o>>2]|0)|0)!=2){c[l>>2]=65;break a}t=Xf(c[o>>2]|0,1,H)|0;c[G>>2]=t;if((t|0)!=0&(c[H>>2]|0)!=0){c[l>>2]=hl(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[G>>2]|0,c[H>>2]|0)|0;break a}else{c[l>>2]=65;break a}}while(0);if((c[o>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==3:0)?(c[c[k>>2]>>2]|0)==0:0){t=Xf(c[o>>2]|0,1,J)|0;c[I>>2]=t;if(!((t|0)!=0&(c[J>>2]|0)!=0)){c[l>>2]=65;break}c[L>>2]=0;c[M>>2]=0;c[K>>2]=Tf(c[m>>2]|0,37847,0)|0;if(c[K>>2]|0){c[q>>2]=Xf(c[K>>2]|0,1,p)|0;do if(c[q>>2]|0){t=Kj(c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=t;if(c[(c[k>>2]|0)+16>>2]|0)break;c[l>>2]=5}else c[l>>2]=68;while(0);Rf(c[K>>2]|0);if(c[l>>2]|0)break}c[K>>2]=Tf(c[m>>2]|0,37857,0)|0;if(c[K>>2]|0){c[q>>2]=Xf(c[K>>2]|0,1,p)|0;do if(c[q>>2]|0){if((c[p>>2]|0)>>>0<=0)break;t=pf(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=t;if(c[(c[k>>2]|0)+20>>2]|0){Yw(c[(c[k>>2]|0)+20>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=c[p>>2];break}else{c[l>>2]=Et()|0;break}}else c[l>>2]=68;while(0);Rf(c[K>>2]|0);if(c[l>>2]|0)break}c[K>>2]=Tf(c[m>>2]|0,37863,0)|0;if(c[K>>2]|0){c[q>>2]=Xf(c[K>>2]|0,1,p)|0;do if(c[q>>2]|0){if((c[p>>2]|0)>>>0<=0)break;c[L>>2]=pf(c[p>>2]|0)|0;if(c[L>>2]|0){Yw(c[L>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[M>>2]=c[p>>2];break}else{c[l>>2]=Et()|0;break}}else c[l>>2]=68;while(0);Rf(c[K>>2]|0);if(c[l>>2]|0)break}c[l>>2]=il(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[I>>2]|0,c[J>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[L>>2]|0,c[M>>2]|0)|0;vf(c[L>>2]|0);break}if((c[n>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==4:0)?(c[c[k>>2]>>2]|0)==2:0){if((Uf(c[n>>2]|0)|0)!=3){c[l>>2]=65;break}t=Xf(c[n>>2]|0,1,p)|0;c[q>>2]=t;if(!((t|0)!=0&(c[p>>2]|0)!=0)){c[l>>2]=65;break}c[P>>2]=0;c[Q>>2]=0;t=Kj(c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=t;if(!(c[(c[k>>2]|0)+16>>2]|0)){c[l>>2]=5;break}t=Xf(c[n>>2]|0,2,O)|0;c[N>>2]=t;if(!((t|0)!=0&(c[O>>2]|0)!=0)){c[l>>2]=65;break}c[R>>2]=Tf(c[m>>2]|0,37963,0)|0;do if(c[R>>2]|0){c[q>>2]=Xf(c[R>>2]|0,1,p)|0;if(c[q>>2]|0){t=wv(c[q>>2]|0,0,10)|0;c[(c[k>>2]|0)+28>>2]=t;Rf(c[R>>2]|0);break}else{c[l>>2]=68;break a}}while(0);c[R>>2]=Tf(c[m>>2]|0,37863,0)|0;if(c[R>>2]|0){c[q>>2]=Xf(c[R>>2]|0,1,p)|0;do if(c[q>>2]|0){if((c[p>>2]|0)>>>0<=0)break;c[P>>2]=pf(c[p>>2]|0)|0;if(c[P>>2]|0){Yw(c[P>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[Q>>2]=c[p>>2];break}else{c[l>>2]=Et()|0;break}}else c[l>>2]=68;while(0);Rf(c[R>>2]|0);if(c[l>>2]|0)break}c[l>>2]=ml(c[h>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0,c[(c[k>>2]|0)+16>>2]|0,c[N>>2]|0,c[O>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;vf(c[P>>2]|0);break}if((c[n>>2]|0?(c[(c[k>>2]|0)+8>>2]|0)==4:0)?(c[c[k>>2]>>2]|0)==3:0){if((Uf(c[n>>2]|0)|0)!=3){c[l>>2]=65;break}t=Xf(c[n>>2]|0,1,p)|0;c[q>>2]=t;if(!((t|0)!=0&(c[p>>2]|0)!=0)){c[l>>2]=65;break}t=Kj(c[q>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=t;if(!(c[(c[k>>2]|0)+16>>2]|0)){c[l>>2]=5;break}t=$f(c[n>>2]|0,2,5)|0;c[c[h>>2]>>2]=t;if(!(c[c[h>>2]>>2]|0))c[l>>2]=65;c[(c[k>>2]|0)+32>>2]=5;c[(c[k>>2]|0)+36>>2]=c[c[h>>2]>>2];break}c[l>>2]=70}else c[l>>2]=65;while(0);Rf(c[m>>2]|0);Rf(c[n>>2]|0);Rf(c[o>>2]|0);if(c[l>>2]|0){vf(c[(c[k>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+20>>2]=0}else c[(c[k>>2]|0)+12>>2]=c[s>>2];c[f>>2]=c[l>>2];S=c[f>>2]|0;i=e;return S|0}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+36>>2];e=nl(c[h>>2]|0,c[f>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)-1|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;i=d;return e|0}function Pj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[g>>2]=0;a:while(1){a=c[4504+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){k=11;break}a=(sv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0;l=c[f>>2]|0;if(!a){k=4;break}c[h>>2]=c[l+16>>2];while(1){if(!(c[c[h>>2]>>2]|0))break;if(!(sv(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)){k=8;break a}c[h>>2]=(c[h>>2]|0)+4}c[g>>2]=(c[g>>2]|0)+1}if((k|0)==4){c[d>>2]=l;m=c[d>>2]|0;i=b;return m|0}else if((k|0)==8){c[d>>2]=c[f>>2];m=c[d>>2]|0;i=b;return m|0}else if((k|0)==11){c[d>>2]=0;m=c[d>>2]|0;i=b;return m|0}return 0}function Qj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=Rj(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[(c[f>>2]|0)+12>>2];g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=37975;g=c[d>>2]|0;i=b;return g|0}return 0}function Rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=Sj(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4504+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];k=c[d>>2]|0;i=b;return k|0}else if((h|0)==6){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}return 0}function Sj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;switch(c[e>>2]|0){case 2:{c[d>>2]=1;break}case 3:{c[d>>2]=1;break}case 16:{c[d>>2]=20;break}case 301:{c[d>>2]=18;break}case 302:{c[d>>2]=18;break}default:c[d>>2]=c[e>>2]}i=b;return c[d>>2]|0}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[k>>2]=Uj(c[h>>2]|0,0,l,m)|0;do if(!(c[k>>2]|0))if(c[(c[l>>2]|0)+48>>2]|0){c[k>>2]=ub[c[(c[l>>2]|0)+48>>2]&63](c[f>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;break}else{c[k>>2]=69;break}while(0);Rf(c[m>>2]|0);i=e;return c[k>>2]|0}function Uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+32|0;h=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[c[l>>2]>>2]=0;if(c[m>>2]|0)c[c[m>>2]>>2]=0;c[n>>2]=Tf(c[h>>2]|0,c[k>>2]|0?37977:37989,0)|0;if(!((c[n>>2]|0)!=0|(c[k>>2]|0)!=0))c[n>>2]=Tf(c[h>>2]|0,37977,0)|0;if(!(c[n>>2]|0)){c[g>>2]=65;r=c[g>>2]|0;i=f;return r|0}c[o>>2]=bg(c[n>>2]|0)|0;Rf(c[n>>2]|0);c[n>>2]=c[o>>2];c[p>>2]=_f(c[n>>2]|0,0)|0;if(!(c[p>>2]|0)){Rf(c[n>>2]|0);c[g>>2]=65;r=c[g>>2]|0;i=f;return r|0}c[q>>2]=Pj(c[p>>2]|0)|0;vf(c[p>>2]|0);if(!(c[q>>2]|0)){Rf(c[n>>2]|0);c[g>>2]=4;r=c[g>>2]|0;i=f;return r|0}c[c[l>>2]>>2]=c[q>>2];q=c[n>>2]|0;if(c[m>>2]|0)c[c[m>>2]>>2]=q;else Rf(q);c[g>>2]=0;r=c[g>>2]|0;i=f;return r|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[k>>2]=Uj(c[h>>2]|0,1,l,m)|0;do if(!(c[k>>2]|0))if(c[(c[l>>2]|0)+52>>2]|0){c[k>>2]=ub[c[(c[l>>2]|0)+52>>2]&63](c[f>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;break}else{c[k>>2]=69;break}while(0);Rf(c[m>>2]|0);i=e;return c[k>>2]|0}function Wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[k>>2]=Uj(c[h>>2]|0,1,l,m)|0;do if(!(c[k>>2]|0))if(c[(c[l>>2]|0)+56>>2]|0){c[k>>2]=ub[c[(c[l>>2]|0)+56>>2]&63](c[f>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;break}else{c[k>>2]=69;break}while(0);Rf(c[m>>2]|0);i=e;return c[k>>2]|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=Uj(c[h>>2]|0,0,l,m)|0;do if(!(c[k>>2]|0))if(c[(c[l>>2]|0)+60>>2]|0){c[k>>2]=ub[c[(c[l>>2]|0)+60>>2]&63](c[f>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;break}else{c[k>>2]=69;break}while(0);Rf(c[m>>2]|0);i=e;return c[k>>2]|0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[e>>2]=Uj(c[d>>2]|0,1,f,g)|0;do if(!(c[e>>2]|0))if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=yb[c[(c[f>>2]|0)+44>>2]&15](c[g>>2]|0)|0;break}else{c[e>>2]=69;break}while(0);Rf(c[g>>2]|0);i=b;return c[e>>2]|0}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[h>>2]=0;c[k>>2]=0;c[l>>2]=0;c[c[e>>2]>>2]=0;c[h>>2]=Tf(c[f>>2]|0,38e3,0)|0;do if(c[h>>2]|0){c[k>>2]=bg(c[h>>2]|0)|0;Rf(c[h>>2]|0);c[h>>2]=c[k>>2];c[k>>2]=0;if(!(c[h>>2]|0)){c[m>>2]=68;break}c[l>>2]=_f(c[h>>2]|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=65;break}c[g>>2]=Pj(c[l>>2]|0)|0;vf(c[l>>2]|0);c[l>>2]=0;if(!(c[g>>2]|0)){c[m>>2]=4;break}if(c[(c[g>>2]|0)+40>>2]|0){c[m>>2]=Db[c[(c[g>>2]|0)+40>>2]&7](c[h>>2]|0,c[e>>2]|0)|0;break}else{c[m>>2]=69;break}}else c[m>>2]=65;while(0);Rf(c[h>>2]|0);vf(c[l>>2]|0);Rf(c[k>>2]|0);i=d;return c[m>>2]|0}function _j(){return 0}function $j(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[g>>2]=Sj(c[g>>2]|0)|0;c[m>>2]=Rj(c[g>>2]|0)|0;if((c[m>>2]|0?(a[(c[m>>2]|0)+4>>0]&1|0)==0:0)?c[(c[m>>2]|0)+68>>2]|0:0){c[l>>2]=ub[c[(c[m>>2]|0)+68>>2]&63](c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;n=c[l>>2]|0;o=ak(n)|0;i=f;return o|0}c[l>>2]=4;if(!(c[k>>2]|0)){n=c[l>>2]|0;o=ak(n)|0;i=f;return o|0}h=c[k>>2]|0;k=c[g>>2]|0;if(c[m>>2]|0?!(a[(c[m>>2]|0)+4>>0]&1|0):0)p=38046;else p=c[m>>2]|0?38007:38026;Eb[h&1](47251,k,38068,p);n=c[l>>2]|0;o=ak(n)|0;i=f;return o|0}function ak(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=bk(1,c[d>>2]|0)|0;i=b;return a|0}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];f=tk(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];if(c[(c[k>>2]|0)+496>>2]|0)Ab[c[(c[k>>2]|0)+496>>2]&3]();f=ub[c[(c[k>>2]|0)+488>>2]&63](c[k>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];nk(c[k>>2]|0);if(c[(c[k>>2]|0)+500>>2]|0)Ab[c[(c[k>>2]|0)+500>>2]&3]();f=ub[c[(c[k>>2]|0)+492>>2]&63](c[k>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 7:{c[k>>2]=gk(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[k>>2]=hk(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[k>>2]=ik(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[k>>2]=12}i=e;return c[k>>2]|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=47241;c[k>>2]=lk()|0;do if(!(c[k>>2]|0)){if(c[f>>2]|0){c[h>>2]=38334;c[k>>2]=mk(2)|0;if(c[k>>2]|0)break;c[h>>2]=38338;c[k>>2]=mk(5)|0;if(c[k>>2]|0)break}c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}while(0);if(c[g>>2]|0)Eb[c[g>>2]&1](38079,7,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;l=c[e>>2]|0;i=d;return l|0}function hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=47241;c[h>>2]=kk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}if(c[f>>2]|0)Eb[c[f>>2]&1](38079,8,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=47241;c[h>>2]=jk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}if(c[f>>2]|0)Eb[c[f>>2]&1](38079,9,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function jk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;if((i|0)>=(j|0))$(528);b=a+504|0;d=a;e=a+512|0;ck(d,38086,32)|0;dk(d,e,38118)|0;do if(!(Jv(e,38134,16)|0)){ek(d,e,e)|0;if(Jv(e,38118,16)|0){c[b>>2]=38182;break}else{c[b>>2]=0;break}}else c[b>>2]=38150;while(0);i=a;return c[b>>2]|0}function kk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;if((i|0)>=(j|0))$(528);b=a+504|0;d=a;e=a+512|0;ck(d,38214,24)|0;dk(d,e,38238)|0;do if(!(Jv(e,38254,16)|0)){ek(d,e,e)|0;if(Jv(e,38238,16)|0){c[b>>2]=38302;break}else{c[b>>2]=0;break}}else c[b>>2]=38270;while(0);i=a;return c[b>>2]|0}function lk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;if((i|0)>=(j|0))$(528);b=a+504|0;d=a;e=a+512|0;ck(d,38455,16)|0;dk(d,e,38471)|0;do if(!(Jv(e,38487,16)|0)){ek(d,e,e)|0;if(Jv(e,38471,16)|0){c[b>>2]=38535;break}else{c[b>>2]=0;break}}else c[b>>2]=38503;while(0);i=a;return c[b>>2]|0}function mk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+48|0;if((i|0)>=(j|0))$(48);d=b+24|0;e=b+20|0;f=b+32|0;g=b+16|0;h=b+12|0;k=b+8|0;l=b+4|0;m=b;c[e>>2]=a;c[l>>2]=0;c[m>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=2)break;if((c[4636+((c[h>>2]|0)*164|0)>>2]|0)==(c[e>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((c[h>>2]|0)==2){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38342;n=c[d>>2]|0;i=b;return n|0}c[g>>2]=wh(l,7,c[4636+((c[h>>2]|0)*164|0)>>2]|0,0)|0;if(c[g>>2]|0){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38369;n=c[d>>2]|0;i=b;return n|0}c[g>>2]=wh(m,7,c[4636+((c[h>>2]|0)*164|0)>>2]|0,0)|0;e=c[l>>2]|0;if(c[g>>2]|0){Bh(e);Bh(c[m>>2]|0);c[d>>2]=38369;n=c[d>>2]|0;i=b;return n|0}c[g>>2]=Jh(e,4636+((c[h>>2]|0)*164|0)+4|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=Jh(c[m>>2]|0,4636+((c[h>>2]|0)*164|0)+4|0,16)|0;e=c[l>>2]|0;if(c[g>>2]|0){Bh(e);Bh(c[m>>2]|0);c[d>>2]=38374;n=c[d>>2]|0;i=b;return n|0}c[g>>2]=Lh(e,4636+((c[h>>2]|0)*164|0)+20|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=Lh(c[m>>2]|0,4636+((c[h>>2]|0)*164|0)+20|0,16)|0;if(c[g>>2]|0){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38382;n=c[d>>2]|0;i=b;return n|0}c[k>>2]=0;while(1){o=c[l>>2]|0;if((c[k>>2]|0)>>>0>=4){p=30;break}c[g>>2]=Ch(o,f,16,4636+((c[h>>2]|0)*164|0)+36+(c[k>>2]<<5)|0,16)|0;if(c[g>>2]|0){p=22;break}if(Jv(f,4636+((c[h>>2]|0)*164|0)+36+(c[k>>2]<<5)+16|0,16)|0){p=24;break}c[g>>2]=Gh(c[m>>2]|0,f,16,4636+((c[h>>2]|0)*164|0)+36+(c[k>>2]<<5)+16|0,16)|0;if(c[g>>2]|0){p=26;break}if(Jv(f,4636+((c[h>>2]|0)*164|0)+36+(c[k>>2]<<5)|0,16)|0){p=28;break}c[k>>2]=(c[k>>2]|0)+1}if((p|0)==22){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38389;n=c[d>>2]|0;i=b;return n|0}else if((p|0)==24){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38405;n=c[d>>2]|0;i=b;return n|0}else if((p|0)==26){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38422;n=c[d>>2]|0;i=b;return n|0}else if((p|0)==28){Bh(c[l>>2]|0);Bh(c[m>>2]|0);c[d>>2]=38438;n=c[d>>2]|0;i=b;return n|0}else if((p|0)==30){Bh(o);Bh(c[m>>2]|0);c[d>>2]=0;n=c[d>>2]|0;i=b;return n|0}return 0}function nk(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;if(a[(c[e>>2]|0)+484>>0]&1|0){i=d;return}ok(c[e>>2]|0);b=(c[e>>2]|0)+484|0;a[b>>0]=a[b>>0]&-2|1;i=d;return}function ok(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;k=b+4|0;l=b;c[e>>2]=a;c[g>>2]=4965;pk();qk();c[(c[e>>2]|0)+240>>2]=c[c[e>>2]>>2];c[(c[e>>2]|0)+240+4>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+240+8>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+240+12>>2]=c[(c[e>>2]|0)+12>>2];c[f>>2]=1;while(1){m=(c[e>>2]|0)+(c[f>>2]<<4)|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+480>>2]|0))break;c[h>>2]=m;c[k>>2]=(c[e>>2]|0)+240+(c[f>>2]<<4);c[l>>2]=c[c[h>>2]>>2];a=rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;n=a^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=n^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);n=a^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[c[k>>2]>>2]=n;c[l>>2]=c[(c[h>>2]|0)+4>>2];n=rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=n^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);n=a^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=n^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[k>>2]|0)+4>>2]=a;c[l>>2]=c[(c[h>>2]|0)+8>>2];a=rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;n=a^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=n^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);n=a^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[k>>2]|0)+8>>2]=n;c[l>>2]=c[(c[h>>2]|0)+12>>2];n=rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=n^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);n=a^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=n^(rk(c[5988+((d[(c[g>>2]|0)+(((c[l>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[k>>2]|0)+12>>2]=a;c[f>>2]=(c[f>>2]|0)+1}c[(c[e>>2]|0)+240+(c[f>>2]<<4)>>2]=c[m>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+4>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+4>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+8>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+8>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+12>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+12>>2];i=b;return}function pk(){sk(4964,1024);return}function qk(){sk(5988,1280);return}function rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[d+8>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)+256}i=d;return}function tk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=i;i=i+144|0;if((i|0)>=(j|0))$(144);h=g+72|0;k=g+132|0;l=g+128|0;m=g+124|0;n=g+120|0;o=g+116|0;p=g+112|0;q=g+108|0;r=g+104|0;s=g+100|0;t=g+96|0;u=g+92|0;v=g+88|0;w=g+8|0;x=g+84|0;y=g+80|0;z=g+136|0;A=g;B=g+76|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[t>>2]=0;f=(Wg()|0)!=0;if(!(f|(c[17738]|0)!=0)?(c[17738]=1,c[17739]=uk()|0,c[17739]|0):0){c[h>>2]=c[17739];Ve(43492,h)}if(c[17739]|0){c[k>>2]=50;C=c[k>>2]|0;i=g;return C|0}do if((c[n>>2]|0)==16){c[o>>2]=10;c[u>>2]=4}else{if((c[n>>2]|0)==24){c[o>>2]=12;c[u>>2]=6;break}if((c[n>>2]|0)==32){c[o>>2]=14;c[u>>2]=8;break}c[k>>2]=44;C=c[k>>2]|0;i=g;return C|0}while(0);c[(c[l>>2]|0)+480>>2]=c[o>>2];h=(c[l>>2]|0)+484|0;a[h>>0]=a[h>>0]&-2;c[(c[l>>2]|0)+488>>2]=29;c[(c[l>>2]|0)+492>>2]=30;c[(c[l>>2]|0)+496>>2]=1;c[(c[l>>2]|0)+500>>2]=2;c[v>>2]=4965;pk();c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;a[w+(c[p>>2]>>2<<2)+(c[p>>2]&3)>>0]=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0;c[p>>2]=(c[p>>2]|0)+1}c[q>>2]=(c[u>>2]|0)-1;while(1){if((c[q>>2]|0)<0)break;c[w+32+(c[q>>2]<<2)>>2]=c[w+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+-1}c[r>>2]=0;c[s>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[u>>2]|0))break;if((c[r>>2]|0)>=((c[o>>2]|0)+1|0))break;while(1){if(!((c[q>>2]|0)<(c[u>>2]|0)?(c[s>>2]|0)<4:0))break;c[(c[l>>2]|0)+(c[r>>2]<<4)+(c[s>>2]<<2)>>2]=c[w+32+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)!=4)continue;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=0}a:while(1){if((c[r>>2]|0)>=((c[o>>2]|0)+1|0))break;p=w+32|0;a[p>>0]=(d[p>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+((c[u>>2]|0)-1<<2)+1>>0]|0)<<2)>>0]|0);p=w+32+1|0;a[p>>0]=(d[p>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+((c[u>>2]|0)-1<<2)+2>>0]|0)<<2)>>0]|0);p=w+32+2|0;a[p>>0]=(d[p>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+((c[u>>2]|0)-1<<2)+3>>0]|0)<<2)>>0]|0);p=w+32+3|0;a[p>>0]=(d[p>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+((c[u>>2]|0)-1<<2)>>0]|0)<<2)>>0]|0);p=c[t>>2]|0;c[t>>2]=p+1;m=w+32|0;a[m>>0]=(d[m>>0]|0)^c[7268+(p<<2)>>2];p=(c[u>>2]|0)!=8;c[q>>2]=1;b:do if(p)while(1){if((c[q>>2]|0)>=(c[u>>2]|0))break b;m=w+32+(c[q>>2]<<2)|0;c[m>>2]=c[m>>2]^c[w+32+((c[q>>2]|0)-1<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}else{while(1){if((c[q>>2]|0)>=((c[u>>2]|0)/2|0|0))break;m=w+32+(c[q>>2]<<2)|0;c[m>>2]=c[m>>2]^c[w+32+((c[q>>2]|0)-1<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}m=w+32+(((c[u>>2]|0)/2|0)<<2)|0;a[m>>0]=(d[m>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+(((c[u>>2]|0)/2|0)-1<<2)>>0]|0)<<2)>>0]|0);m=w+32+(((c[u>>2]|0)/2|0)<<2)+1|0;a[m>>0]=(d[m>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+(((c[u>>2]|0)/2|0)-1<<2)+1>>0]|0)<<2)>>0]|0);m=w+32+(((c[u>>2]|0)/2|0)<<2)+2|0;a[m>>0]=(d[m>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+(((c[u>>2]|0)/2|0)-1<<2)+2>>0]|0)<<2)>>0]|0);m=w+32+(((c[u>>2]|0)/2|0)<<2)+3|0;a[m>>0]=(d[m>>0]|0)^(d[(c[v>>2]|0)+((d[w+32+(((c[u>>2]|0)/2|0)-1<<2)+3>>0]|0)<<2)>>0]|0);c[q>>2]=((c[u>>2]|0)/2|0)+1;while(1){if((c[q>>2]|0)>=(c[u>>2]|0))break b;m=w+32+(c[q>>2]<<2)|0;c[m>>2]=c[m>>2]^c[w+32+((c[q>>2]|0)-1<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[u>>2]|0))continue a;if((c[r>>2]|0)>=((c[o>>2]|0)+1|0))continue a;while(1){if(!((c[q>>2]|0)<(c[u>>2]|0)?(c[s>>2]|0)<4:0))break;c[(c[l>>2]|0)+(c[r>>2]<<4)+(c[s>>2]<<2)>>2]=c[w+32+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)!=4)continue;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=0}}c[x>>2]=w;c[y>>2]=64;a[z>>0]=0;w=A;c[w>>2]=d[z>>0];c[w+4>>2]=0;while(1){if(!(c[x>>2]&7|0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){w=A;s=ex(c[w>>2]|0,c[w+4>>2]|0,16843009,16843009)|0;w=A;c[w>>2]=s;c[w+4>>2]=D;do{c[B>>2]=c[x>>2];w=A;s=c[w+4>>2]|0;r=c[B>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=s;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}c[k>>2]=0;C=c[k>>2]|0;i=g;return C|0}function uk(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a+4|0;d=a;e=lk()|0;c[d>>2]=e;do if((!(e|0)?(f=kk()|0,c[d>>2]=f,!(f|0)):0)?(f=jk()|0,c[d>>2]=f,!(f|0)):0){f=Bk()|0;c[d>>2]=f;if(f|0){c[b>>2]=c[d>>2];break}f=Ck()|0;c[d>>2]=f;if(f|0){c[b>>2]=c[d>>2];break}else{c[d>>2]=Dk()|0;c[b>>2]=c[d>>2];break}}else g=4;while(0);if((g|0)==4)c[b>>2]=c[d>>2];i=a;return c[b>>2]|0}function vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Ak(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=xk(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function xk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=f+48|0;h=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+16|0;o=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=e;c[l>>2]=c[(c[g>>2]|0)+480>>2];c[o>>2]=yk(c[k>>2]|0)|0;c[o+4>>2]=yk((c[k>>2]|0)+4|0)|0;c[o+8>>2]=yk((c[k>>2]|0)+8|0)|0;c[o+12>>2]=yk((c[k>>2]|0)+12|0)|0;c[n>>2]=c[o>>2]^c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2];c[n+4>>2]=c[o+4>>2]^c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2];c[n+8>>2]=c[o+8>>2]^c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2];c[n+12>>2]=c[o+12>>2]^c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2];c[m>>2]=(c[l>>2]|0)-1;while(1){l=(c[m>>2]|0)>1;c[o>>2]=rk(c[5988+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+4>>2]=rk(c[5988+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=rk(c[5988+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+12>>2]=rk(c[5988+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;if(!l)break;c[n>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)>>2]^c[o>>2];l=rk(c[5988+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=o+4|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=o+8|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=o+12|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^l;c[n+4>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)+4>>2]^c[o+4>>2];l=rk(c[5988+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=o+8|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=o+12|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^l;l=rk(c[5988+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;c[n+8>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)+8>>2]^c[o+8>>2];l=rk(c[5988+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=o+12|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^l;l=rk(c[5988+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;c[n+12>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+-1;c[o>>2]=rk(c[5988+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+4>>2]=rk(c[5988+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=rk(c[5988+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+12>>2]=rk(c[5988+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)>>2]^c[o>>2];l=rk(c[5988+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=o+4|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=o+8|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=o+12|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^l;c[n+4>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)+4>>2]^c[o+4>>2];l=rk(c[5988+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=o+8|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=o+12|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^l;l=rk(c[5988+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;c[n+8>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)+8>>2]^c[o+8>>2];l=rk(c[5988+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=o+12|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^l;l=rk(c[5988+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;l=rk(c[5988+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;c[n+12>>2]=c[(c[g>>2]|0)+240+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+-1}c[n>>2]=c[(c[g>>2]|0)+240+16>>2]^c[o>>2];m=rk(c[5988+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;l=o+4|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;l=o+8|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;l=o+12|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^m;c[n+4>>2]=c[(c[g>>2]|0)+240+16+4>>2]^c[o+4>>2];m=rk(c[5988+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;l=o+8|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;l=o+12|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^m;m=rk(c[5988+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;l=n+4|0;c[l>>2]=c[l>>2]^m;c[n+8>>2]=c[(c[g>>2]|0)+240+16+8>>2]^c[o+8>>2];m=rk(c[5988+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;l=o+12|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^m;m=rk(c[5988+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;l=n+4|0;c[l>>2]=c[l>>2]^m;m=rk(c[5988+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;l=n+8|0;c[l>>2]=c[l>>2]^m;c[n+12>>2]=c[(c[g>>2]|0)+240+16+12>>2]^c[o+12>>2];c[o>>2]=(d[7012+((c[n>>2]|0)>>>0&255)>>0]|0)<<0;c[o+4>>2]=(d[7012+((c[n>>2]|0)>>>8&255)>>0]|0)<<8;c[o+8>>2]=(d[7012+((c[n>>2]|0)>>>16&255)>>0]|0)<<16;c[o+12>>2]=(d[7012+((c[n>>2]|0)>>>24&255)>>0]|0)<<24;c[n>>2]=c[o>>2]^c[(c[g>>2]|0)+240>>2];m=o+4|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+4>>2]|0)>>>0&255)>>0]|0)<<0;m=o+8|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+4>>2]|0)>>>8&255)>>0]|0)<<8;m=o+12|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+4>>2]|0)>>>16&255)>>0]|0)<<16;c[n>>2]=c[n>>2]^(d[7012+((c[n+4>>2]|0)>>>24&255)>>0]|0)<<24;c[n+4>>2]=c[o+4>>2]^c[(c[g>>2]|0)+240+4>>2];m=o+8|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+8>>2]|0)>>>0&255)>>0]|0)<<0;m=o+12|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+8>>2]|0)>>>8&255)>>0]|0)<<8;c[n>>2]=c[n>>2]^(d[7012+((c[n+8>>2]|0)>>>16&255)>>0]|0)<<16;m=n+4|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+8>>2]|0)>>>24&255)>>0]|0)<<24;c[n+8>>2]=c[o+8>>2]^c[(c[g>>2]|0)+240+8>>2];m=o+12|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+12>>2]|0)>>>0&255)>>0]|0)<<0;c[n>>2]=c[n>>2]^(d[7012+((c[n+12>>2]|0)>>>8&255)>>0]|0)<<8;m=n+4|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+12>>2]|0)>>>16&255)>>0]|0)<<16;m=n+8|0;c[m>>2]=c[m>>2]^(d[7012+((c[n+12>>2]|0)>>>24&255)>>0]|0)<<24;c[n+12>>2]=c[o+12>>2]^c[(c[g>>2]|0)+240+12>>2];zk(c[h>>2]|0,c[n>>2]|0);zk((c[h>>2]|0)+4|0,c[n+4>>2]|0);zk((c[h>>2]|0)+8|0,c[n+8>>2]|0);zk((c[h>>2]|0)+12|0,c[n+12>>2]|0);i=f;return 64}function yk(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Ak(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=f+52|0;h=f+48|0;k=f+44|0;l=f+40|0;m=f+36|0;n=f+32|0;o=f+16|0;p=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=e;c[l>>2]=4965;c[m>>2]=c[(c[g>>2]|0)+480>>2];c[p>>2]=yk(c[k>>2]|0)|0;c[p+4>>2]=yk((c[k>>2]|0)+4|0)|0;c[p+8>>2]=yk((c[k>>2]|0)+8|0)|0;c[p+12>>2]=yk((c[k>>2]|0)+12|0)|0;c[o>>2]=c[p>>2]^c[c[g>>2]>>2];c[o+4>>2]=c[p+4>>2]^c[(c[g>>2]|0)+4>>2];c[o+8>>2]=c[p+8>>2]^c[(c[g>>2]|0)+8>>2];c[o+12>>2]=c[p+12>>2]^c[(c[g>>2]|0)+12>>2];c[p>>2]=rk(c[4964+(((c[o>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[p+12>>2]=rk(c[4964+(((c[o>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[p+8>>2]=rk(c[4964+(((c[o>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[p+4>>2]=rk(c[4964+(((c[o>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[o>>2]=c[(c[g>>2]|0)+16>>2]^c[p>>2];k=rk(c[4964+(((c[o+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o>>2]=c[o>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=p+8|0;c[e>>2]=c[e>>2]^k;c[o+4>>2]=c[(c[g>>2]|0)+16+4>>2]^c[p+4>>2];k=rk(c[4964+(((c[o+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+8|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=o+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o>>2]=c[o>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;c[o+8>>2]=c[(c[g>>2]|0)+16+8>>2]^c[p+8>>2];k=rk(c[4964+(((c[o+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=o+8|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[o>>2]=c[o>>2]^k;c[o+12>>2]=c[(c[g>>2]|0)+16+12>>2]^c[p+12>>2];c[n>>2]=2;while(1){q=(c[o>>2]|0)>>>0&255;if((c[n>>2]|0)>=(c[m>>2]|0))break;c[p>>2]=rk(c[4964+(q<<2)>>2]|0,0)|0;c[p+12>>2]=rk(c[4964+(((c[o>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[p+8>>2]=rk(c[4964+(((c[o>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[p+4>>2]=rk(c[4964+(((c[o>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[o>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)>>2]^c[p>>2];k=rk(c[4964+(((c[o+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o>>2]=c[o>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=p+8|0;c[e>>2]=c[e>>2]^k;c[o+4>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+4>>2]^c[p+4>>2];k=rk(c[4964+(((c[o+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+8|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=o+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o>>2]=c[o>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;c[o+8>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+8>>2]^c[p+8>>2];k=rk(c[4964+(((c[o+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=o+8|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[o>>2]=c[o>>2]^k;c[o+12>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+12>>2]^c[p+12>>2];c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=rk(c[4964+(((c[o>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[p+12>>2]=rk(c[4964+(((c[o>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[p+8>>2]=rk(c[4964+(((c[o>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[p+4>>2]=rk(c[4964+(((c[o>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[o>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)>>2]^c[p>>2];k=rk(c[4964+(((c[o+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o>>2]=c[o>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=p+8|0;c[e>>2]=c[e>>2]^k;c[o+4>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+4>>2]^c[p+4>>2];k=rk(c[4964+(((c[o+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+8|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=o+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o>>2]=c[o>>2]^k;k=rk(c[4964+(((c[o+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;c[o+8>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+8>>2]^c[p+8>>2];k=rk(c[4964+(((c[o+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=p+12|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=o+8|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+4|0;c[e>>2]=c[e>>2]^k;k=rk(c[4964+(((c[o+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[o>>2]=c[o>>2]^k;c[o+12>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+12>>2]^c[p+12>>2];c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(d[(c[l>>2]|0)+(q<<2)>>0]|0)<<0;c[p+12>>2]=(d[(c[l>>2]|0)+(((c[o>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[p+8>>2]=(d[(c[l>>2]|0)+(((c[o>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[p+4>>2]=(d[(c[l>>2]|0)+(((c[o>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[o>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)>>2]^c[p>>2];q=p+4|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+4>>2]|0)>>>0&255)<<2)>>0]|0)<<0;c[o>>2]=c[o>>2]^(d[(c[l>>2]|0)+(((c[o+4>>2]|0)>>>8&255)<<2)>>0]|0)<<8;q=p+12|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+4>>2]|0)>>>16&255)<<2)>>0]|0)<<16;q=p+8|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+4>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[o+4>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+4>>2]^c[p+4>>2];q=p+8|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+8>>2]|0)>>>0&255)<<2)>>0]|0)<<0;q=o+4|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+8>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[o>>2]=c[o>>2]^(d[(c[l>>2]|0)+(((c[o+8>>2]|0)>>>16&255)<<2)>>0]|0)<<16;q=p+12|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+8>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[o+8>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+8>>2]^c[p+8>>2];q=p+12|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+12>>2]|0)>>>0&255)<<2)>>0]|0)<<0;q=o+8|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+12>>2]|0)>>>8&255)<<2)>>0]|0)<<8;q=o+4|0;c[q>>2]=c[q>>2]^(d[(c[l>>2]|0)+(((c[o+12>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[o>>2]=c[o>>2]^(d[(c[l>>2]|0)+(((c[o+12>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[o+12>>2]=c[(c[g>>2]|0)+(c[n>>2]<<4)+12>>2]^c[p+12>>2];zk(c[h>>2]|0,c[o>>2]|0);zk((c[h>>2]|0)+4|0,c[o+4>>2]|0);zk((c[h>>2]|0)+8|0,c[o+8>>2]|0);zk((c[h>>2]|0)+12|0,c[o+12>>2]|0);i=f;return 64}function Bk(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[a+8>>2]=9;c[a+4>>2]=16;c[a>>2]=504;b=wr(38075,1,2,4,9,16,504)|0;i=a;return b|0}function Ck(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=sr(38075,1,2,3,10,16,504)|0;i=a;return b|0}function Dk(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=ur(38075,1,2,2,10,16,504)|0;i=a;return b|0}function Ek(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[h>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[r>>2]=0;if(c[(c[o>>2]|0)+496>>2]|0)Ab[c[(c[o>>2]|0)+496>>2]&3]();c[s>>2]=c[(c[o>>2]|0)+488>>2];while(1){if(!(c[n>>2]|0))break;c[r>>2]=ub[c[s>>2]&63](c[o>>2]|0,c[k>>2]|0,c[k>>2]|0)|0;Fk(c[p>>2]|0,c[k>>2]|0,c[q>>2]|0,16);c[p>>2]=(c[p>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}if(!(c[r>>2]|0)){i=g;return}bf((c[r>>2]|0)+16|0);cf();i=g;return}function Fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;Gk(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function Gk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+60|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[m>>2];c[t>>2]=c[o>>2];c[k>>2]=3;if(!((c[t>>2]|c[s>>2]|c[q>>2]|c[r>>2])&3)){c[v>>2]=c[q>>2];c[y>>2]=c[s>>2];c[w>>2]=c[r>>2];c[x>>2]=c[t>>2];while(1){if((c[p>>2]|0)>>>0<4)break;o=c[x>>2]|0;c[x>>2]=o+4;c[z>>2]=c[o>>2];o=c[c[w>>2]>>2]|0;m=c[y>>2]|0;c[y>>2]=m+4;n=o^c[m>>2];m=c[v>>2]|0;c[v>>2]=m+4;c[m>>2]=n;n=c[z>>2]|0;m=c[w>>2]|0;c[w>>2]=m+4;c[m>>2]=n;c[p>>2]=(c[p>>2]|0)-4}c[q>>2]=c[v>>2];c[s>>2]=c[y>>2];c[r>>2]=c[w>>2];c[t>>2]=c[x>>2]}while(1){if(!(c[p>>2]|0))break;x=c[t>>2]|0;c[t>>2]=x+1;a[u>>0]=a[x>>0]|0;x=d[c[r>>2]>>0]|0;w=c[s>>2]|0;c[s>>2]=w+1;y=(x^(d[w>>0]|0))&255;w=c[q>>2]|0;c[q>>2]=w+1;a[w>>0]=y;y=a[u>>0]|0;w=c[r>>2]|0;c[r>>2]=w+1;a[w>>0]=y;c[p>>2]=(c[p>>2]|0)+-1}i=k;return}function Hk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);l=k+72|0;m=k+68|0;n=k+64|0;o=k+60|0;p=k+56|0;q=k+52|0;r=k+48|0;s=k+44|0;t=k+40|0;u=k;v=k+36|0;w=k+32|0;x=k+28|0;y=k+76|0;z=k+16|0;A=k+24|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[o>>2];c[t>>2]=0;nk(c[q>>2]|0);if(c[(c[q>>2]|0)+500>>2]|0)Ab[c[(c[q>>2]|0)+500>>2]&3]();c[v>>2]=c[(c[q>>2]|0)+492>>2];while(1){if(!(c[p>>2]|0))break;c[t>>2]=ub[c[v>>2]&63](c[q>>2]|0,u,c[s>>2]|0)|0;Gk(c[r>>2]|0,u,c[m>>2]|0,c[s>>2]|0,16);c[s>>2]=(c[s>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=u;c[x>>2]=16;a[y>>0]=0;u=z;c[u>>2]=d[y>>0];c[u+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){u=z;p=ex(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=z;c[u>>2]=p;c[u+4>>2]=D;do{c[A>>2]=c[w>>2];u=z;p=c[u+4>>2]|0;r=c[A>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=p;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if(!(c[t>>2]|0)){i=k;return}bf((c[t>>2]|0)+16|0);cf();i=k;return}function Ik(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+96|0;if((i|0)>=(j|0))$(96);l=k+76|0;m=k+72|0;n=k+68|0;o=k+64|0;p=k+60|0;q=k+56|0;r=k+52|0;s=k+48|0;t=k+44|0;u=k+40|0;v=k;w=k+36|0;x=k+32|0;y=k+28|0;z=k+80|0;A=k+16|0;B=k+24|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[o>>2];c[t>>2]=0;if(c[(c[q>>2]|0)+496>>2]|0)Ab[c[(c[q>>2]|0)+496>>2]&3]();c[w>>2]=c[(c[q>>2]|0)+488>>2];while(1){if(!(c[p>>2]|0))break;c[t>>2]=ub[c[w>>2]&63](c[q>>2]|0,v,c[m>>2]|0)|0;Jk(c[r>>2]|0,v,c[s>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[s>>2]=(c[s>>2]|0)+16;c[u>>2]=16;while(1){if((c[u>>2]|0)<=0)break;o=(c[m>>2]|0)+((c[u>>2]|0)-1)|0;a[o>>0]=(a[o>>0]|0)+1<<24>>24;if(a[(c[m>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[p>>2]=(c[p>>2]|0)+-1}c[x>>2]=v;c[y>>2]=16;a[z>>0]=0;v=A;c[v>>2]=d[z>>0];c[v+4>>2]=0;while(1){if(!(c[x>>2]&7|0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){v=A;p=ex(c[v>>2]|0,c[v+4>>2]|0,16843009,16843009)|0;v=A;c[v>>2]=p;c[v+4>>2]=D;do{c[B>>2]=c[x>>2];v=A;p=c[v+4>>2]|0;u=c[B>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=p;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if(!(c[t>>2]|0)){i=k;return}bf((c[t>>2]|0)+16|0);cf();i=k;return}function Jk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function Kk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[h>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[r>>2]=0;if(c[(c[o>>2]|0)+496>>2]|0)Ab[c[(c[o>>2]|0)+496>>2]&3]();c[s>>2]=c[(c[o>>2]|0)+488>>2];while(1){if(!(c[n>>2]|0))break;c[r>>2]=ub[c[s>>2]&63](c[o>>2]|0,c[k>>2]|0,c[k>>2]|0)|0;Lk(c[p>>2]|0,c[k>>2]|0,c[q>>2]|0,16);c[p>>2]=(c[p>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}if(!(c[r>>2]|0)){i=g;return}bf((c[r>>2]|0)+16|0);cf();i=g;return}function Lk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[q>>2]|c[o>>2]|c[p>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[t>>2]|0;c[t>>2]=m+4;l=c[m>>2]|0;m=c[s>>2]|0;c[s>>2]=m+4;k=c[m>>2]^l;c[m>>2]=k;m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[q>>2]|0;c[q>>2]=t+1;s=d[t>>0]|0;t=c[p>>2]|0;c[p>>2]=t+1;r=((d[t>>0]|0)^s)&255;a[t>>0]=r;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function Mk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[k>>2];c[r>>2]=c[m>>2];c[s>>2]=c[n>>2];c[u>>2]=0;if(c[(c[q>>2]|0)+496>>2]|0)Ab[c[(c[q>>2]|0)+496>>2]&3]();c[v>>2]=c[(c[q>>2]|0)+488>>2];c[t>>2]=c[l>>2];while(1){if(!(c[o>>2]|0))break;Jk(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,16);c[u>>2]=ub[c[v>>2]&63](c[q>>2]|0,c[r>>2]|0,c[r>>2]|0)|0;c[t>>2]=c[r>>2];c[s>>2]=(c[s>>2]|0)+16;if(!(c[p>>2]|0))c[r>>2]=(c[r>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}if((c[t>>2]|0)!=(c[l>>2]|0))Nk(c[l>>2]|0,c[t>>2]|0,16);if(!(c[u>>2]|0)){i=h;return}bf((c[u>>2]|0)+16|0);cf();i=h;return}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[g>>2];c[m>>2]=c[h>>2];c[f>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;h=c[o>>2]|0;c[o>>2]=h+4;g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=a[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=n;c[k>>2]=(c[k>>2]|0)+-1}i=f;return}function Ok(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;g=i;i=i+112|0;if((i|0)>=(j|0))$(112);h=g+104|0;k=g+100|0;l=g+96|0;m=g+92|0;n=g+88|0;o=g+84|0;p=g+80|0;q=g+76|0;r=g+72|0;s=g+16|0;t=g+68|0;u=g+40|0;v=g+64|0;w=g+60|0;x=g;y=g+56|0;z=g+32|0;A=g+52|0;B=g+48|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=(c[h>>2]|0)+496;c[p>>2]=c[k>>2];c[q>>2]=c[l>>2];c[r>>2]=0;l=c[o>>2]|0;if(c[n>>2]|0){if(c[l+496>>2]|0)Ab[c[(c[o>>2]|0)+496>>2]&3]()}else{nk(l);if(c[(c[o>>2]|0)+500>>2]|0)Ab[c[(c[o>>2]|0)+500>>2]&3]()}l=c[o>>2]|0;a:do if(c[n>>2]|0){c[t>>2]=c[l+488>>2];while(1){if(!(c[m>>2]|0))break a;k=(c[h>>2]|0)+128+336|0;f=k;e=Uw(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=D;d=k;c[d>>2]=e;c[d+4>>2]=f;d=u;c[d>>2]=e;c[d+4>>2]=f;f=u;c[v>>2]=Pk(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[v>>2]|0)>>>0<16)c[w>>2]=(c[h>>2]|0)+128+32+(c[v>>2]<<4);else{f=u;c[w>>2]=Uq(c[h>>2]|0,s,c[f>>2]|0,c[f+4>>2]|0)|0}Qk((c[h>>2]|0)+64|0,c[w>>2]|0,16);Nk(s,c[q>>2]|0,16);Qk((c[h>>2]|0)+80|0,s,16);Qk(s,(c[h>>2]|0)+64|0,16);c[r>>2]=ub[c[t>>2]&63](c[o>>2]|0,s,s)|0;Qk(s,(c[h>>2]|0)+64|0,16);Nk(c[p>>2]|0,s,16);c[q>>2]=(c[q>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}}else{c[y>>2]=c[l+492>>2];while(1){if(!(c[m>>2]|0))break a;f=(c[h>>2]|0)+128+336|0;d=f;e=Uw(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;d=D;k=f;c[k>>2]=e;c[k+4>>2]=d;k=z;c[k>>2]=e;c[k+4>>2]=d;d=z;c[A>>2]=Pk(c[d>>2]|0,c[d+4>>2]|0)|0;if((c[A>>2]|0)>>>0<16)c[B>>2]=(c[h>>2]|0)+128+32+(c[A>>2]<<4);else{d=z;c[B>>2]=Uq(c[h>>2]|0,x,c[d>>2]|0,c[d+4>>2]|0)|0}Qk((c[h>>2]|0)+64|0,c[B>>2]|0,16);Nk(x,c[q>>2]|0,16);Qk(x,(c[h>>2]|0)+64|0,16);c[r>>2]=ub[c[y>>2]&63](c[o>>2]|0,x,x)|0;Qk(x,(c[h>>2]|0)+64|0,16);Qk((c[h>>2]|0)+80|0,x,16);Nk(c[p>>2]|0,x,16);c[q>>2]=(c[q>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}}while(0);if(!(c[r>>2]|0)){i=g;return}bf((c[r>>2]|0)+16|0);cf();i=g;return}function Pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=Rk(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(Rk(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function Qk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[h>>2];c[n>>2]=c[k>>2];c[g>>2]=3;if(!((c[m>>2]|c[n>>2])&3)){c[o>>2]=c[m>>2];c[p>>2]=c[n>>2];while(1){if((c[l>>2]|0)>>>0<4)break;k=c[p>>2]|0;c[p>>2]=k+4;h=c[k>>2]|0;k=c[o>>2]|0;c[o>>2]=k+4;c[k>>2]=c[k>>2]^h;c[l>>2]=(c[l>>2]|0)-4}c[m>>2]=c[o>>2];c[n>>2]=c[p>>2]}while(1){if(!(c[l>>2]|0))break;p=c[n>>2]|0;c[n>>2]=p+1;o=d[p>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=(d[p>>0]|0)^o;c[l>>2]=(c[l>>2]|0)+-1}i=g;return}function Rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Vw(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function Sk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+96|0;if((i|0)>=(j|0))$(96);h=g+76|0;k=g+72|0;l=g+68|0;m=g+64|0;n=g+60|0;o=g+56|0;p=g;q=g+52|0;r=g+24|0;s=g+48|0;t=g+44|0;u=g+40|0;v=g+36|0;w=g+80|0;x=g+16|0;y=g+32|0;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)+496;c[n>>2]=c[k>>2];c[o>>2]=0;if(c[(c[m>>2]|0)+496>>2]|0)Ab[c[(c[m>>2]|0)+496>>2]&3]();c[q>>2]=c[(c[m>>2]|0)+488>>2];while(1){if(!(c[l>>2]|0))break;k=(c[h>>2]|0)+128+344|0;f=k;e=Uw(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=D;b=k;c[b>>2]=e;c[b+4>>2]=f;b=r;c[b>>2]=e;c[b+4>>2]=f;f=r;c[s>>2]=Pk(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[s>>2]|0)>>>0<16)c[t>>2]=(c[h>>2]|0)+128+32+(c[s>>2]<<4);else{f=r;c[t>>2]=Uq(c[h>>2]|0,p,c[f>>2]|0,c[f+4>>2]|0)|0}Qk((c[h>>2]|0)+128+304|0,c[t>>2]|0,16);Jk(p,(c[h>>2]|0)+128+304|0,c[n>>2]|0,16);c[o>>2]=ub[c[q>>2]&63](c[m>>2]|0,p,p)|0;Qk((c[h>>2]|0)+128+320|0,p,16);c[n>>2]=(c[n>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}c[u>>2]=p;c[v>>2]=16;a[w>>0]=0;p=x;c[p>>2]=d[w>>0];c[p+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){p=x;l=ex(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=x;c[p>>2]=l;c[p+4>>2]=D;do{c[y>>2]=c[u>>2];p=x;l=c[p+4>>2]|0;n=c[y>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=l;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if(!(c[o>>2]|0)){i=g;return}bf((c[o>>2]|0)+16|0);cf();i=g;return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d;c[e>>2]=a;c[d+4>>2]=b;c[f>>2]=c[e>>2];c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=31;i=d;return}function Uk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[e>>2]=b;c[f>>2]=c[e>>2];Nr(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[l>>2]=c[g>>2]<<6;c[k>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[l>>2];h=(c[l>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[l>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=c[l>>2];c[l>>2]=c[l>>2]<<3;c[k>>2]=c[k>>2]<<3;c[k>>2]=c[k>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){o=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=o+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}Nr(o,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Wk((c[f>>2]|0)+56|0,c[l>>2]|0);Wk((c[f>>2]|0)+60|0,c[k>>2]|0);c[n>>2]=Xk(c[f>>2]|0,c[f>>2]|0,1)|0;bf(c[n>>2]|0);cf();c[m>>2]=c[f>>2];Wk(c[m>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Wk(c[m>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Wk(c[m>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Wk(c[m>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Wk(c[m>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[m>>2]=(c[m>>2]|0)+4;i=d;return}function Vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do{c[k>>2]=Yk(c[f>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;d=(c[h>>2]|0)+-1|0;c[h>>2]=d}while((d|0)!=0);i=e;return c[k>>2]|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=i;i=i+128|0;if((i|0)>=(j|0))$(128);e=d+120|0;f=d+116|0;g=d+112|0;h=d+108|0;k=d+104|0;l=d+100|0;m=d+96|0;n=d+92|0;o=d+88|0;p=d+84|0;q=d+80|0;r=d+76|0;s=d+72|0;t=d+8|0;u=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=16)break;e=Zk((c[f>>2]|0)+(c[u>>2]<<2)|0)|0;c[t+(c[u>>2]<<2)>>2]=e;c[u>>2]=(c[u>>2]|0)+1}u=c[(c[g>>2]|0)+160>>2]|0;c[k>>2]=u;c[h>>2]=u;u=c[(c[g>>2]|0)+164>>2]|0;c[m>>2]=u;c[l>>2]=u;u=c[(c[g>>2]|0)+168>>2]|0;c[o>>2]=u;c[n>>2]=u;u=c[(c[g>>2]|0)+172>>2]|0;c[q>>2]=u;c[p>>2]=u;u=c[(c[g>>2]|0)+176>>2]|0;c[s>>2]=u;c[r>>2]=u;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[t>>2]|0));u=_k(c[h>>2]|0,11)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+1352829926+(c[t+20>>2]|0));u=_k(c[k>>2]|0,8)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]^c[l>>2]^c[n>>2])+0+(c[t+4>>2]|0));u=_k(c[r>>2]|0,14)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+1352829926+(c[t+56>>2]|0));u=_k(c[s>>2]|0,9)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[h>>2]^c[l>>2])+0+(c[t+8>>2]|0));u=_k(c[p>>2]|0,15)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]^(c[k>>2]|~c[m>>2]))+1352829926+(c[t+28>>2]|0));u=_k(c[q>>2]|0,9)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[h>>2])+0+(c[t+12>>2]|0));u=_k(c[n>>2]|0,12)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[s>>2]|~c[k>>2]))+1352829926+(c[t>>2]|0));u=_k(c[o>>2]|0,11)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[t+16>>2]|0));u=_k(c[l>>2]|0,5)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[s>>2]))+1352829926+(c[t+36>>2]|0));u=_k(c[m>>2]|0,13)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[t+20>>2]|0));u=_k(c[h>>2]|0,8)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+1352829926+(c[t+8>>2]|0));u=_k(c[k>>2]|0,15)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]^c[l>>2]^c[n>>2])+0+(c[t+24>>2]|0));u=_k(c[r>>2]|0,7)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+1352829926+(c[t+44>>2]|0));u=_k(c[s>>2]|0,15)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[h>>2]^c[l>>2])+0+(c[t+28>>2]|0));u=_k(c[p>>2]|0,9)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]^(c[k>>2]|~c[m>>2]))+1352829926+(c[t+16>>2]|0));u=_k(c[q>>2]|0,5)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[h>>2])+0+(c[t+32>>2]|0));u=_k(c[n>>2]|0,11)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[s>>2]|~c[k>>2]))+1352829926+(c[t+52>>2]|0));u=_k(c[o>>2]|0,7)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[t+36>>2]|0));u=_k(c[l>>2]|0,13)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[s>>2]))+1352829926+(c[t+24>>2]|0));u=_k(c[m>>2]|0,7)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[t+40>>2]|0));u=_k(c[h>>2]|0,14)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+1352829926+(c[t+60>>2]|0));u=_k(c[k>>2]|0,8)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]^c[l>>2]^c[n>>2])+0+(c[t+44>>2]|0));u=_k(c[r>>2]|0,15)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+1352829926+(c[t+32>>2]|0));u=_k(c[s>>2]|0,11)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[h>>2]^c[l>>2])+0+(c[t+48>>2]|0));u=_k(c[p>>2]|0,6)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]^(c[k>>2]|~c[m>>2]))+1352829926+(c[t+4>>2]|0));u=_k(c[q>>2]|0,14)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[h>>2])+0+(c[t+52>>2]|0));u=_k(c[n>>2]|0,7)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[s>>2]|~c[k>>2]))+1352829926+(c[t+40>>2]|0));u=_k(c[o>>2]|0,14)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[t+56>>2]|0));u=_k(c[l>>2]|0,9)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[s>>2]))+1352829926+(c[t+12>>2]|0));u=_k(c[m>>2]|0,12)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[t+60>>2]|0));u=_k(c[h>>2]|0,8)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+1352829926+(c[t+48>>2]|0));u=_k(c[k>>2]|0,6)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[l>>2]|~c[h>>2]&c[n>>2])+1518500249+(c[t+28>>2]|0));u=_k(c[r>>2]|0,7)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+1548603684+(c[t+24>>2]|0));u=_k(c[s>>2]|0,9)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[h>>2]|~c[r>>2]&c[l>>2])+1518500249+(c[t+16>>2]|0));u=_k(c[p>>2]|0,6)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+1548603684+(c[t+44>>2]|0));u=_k(c[q>>2]|0,13)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[h>>2])+1518500249+(c[t+52>>2]|0));u=_k(c[n>>2]|0,8)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[s>>2]&~c[k>>2])+1548603684+(c[t+12>>2]|0));u=_k(c[o>>2]|0,15)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+1518500249+(c[t+4>>2]|0));u=_k(c[l>>2]|0,13)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[s>>2]|c[q>>2]&~c[s>>2])+1548603684+(c[t+28>>2]|0));u=_k(c[m>>2]|0,7)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+1518500249+(c[t+40>>2]|0));u=_k(c[h>>2]|0,11)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+1548603684+(c[t>>2]|0));u=_k(c[k>>2]|0,12)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[l>>2]|~c[h>>2]&c[n>>2])+1518500249+(c[t+24>>2]|0));u=_k(c[r>>2]|0,9)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+1548603684+(c[t+52>>2]|0));u=_k(c[s>>2]|0,8)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[h>>2]|~c[r>>2]&c[l>>2])+1518500249+(c[t+60>>2]|0));u=_k(c[p>>2]|0,7)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+1548603684+(c[t+20>>2]|0));u=_k(c[q>>2]|0,9)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[h>>2])+1518500249+(c[t+12>>2]|0));u=_k(c[n>>2]|0,15)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[s>>2]&~c[k>>2])+1548603684+(c[t+40>>2]|0));u=_k(c[o>>2]|0,11)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+1518500249+(c[t+48>>2]|0));u=_k(c[l>>2]|0,7)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[s>>2]|c[q>>2]&~c[s>>2])+1548603684+(c[t+56>>2]|0));u=_k(c[m>>2]|0,7)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+1518500249+(c[t>>2]|0));u=_k(c[h>>2]|0,12)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+1548603684+(c[t+60>>2]|0));u=_k(c[k>>2]|0,7)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[l>>2]|~c[h>>2]&c[n>>2])+1518500249+(c[t+36>>2]|0));u=_k(c[r>>2]|0,15)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+1548603684+(c[t+32>>2]|0));u=_k(c[s>>2]|0,12)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[h>>2]|~c[r>>2]&c[l>>2])+1518500249+(c[t+20>>2]|0));u=_k(c[p>>2]|0,9)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+1548603684+(c[t+48>>2]|0));u=_k(c[q>>2]|0,7)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[h>>2])+1518500249+(c[t+8>>2]|0));u=_k(c[n>>2]|0,11)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[s>>2]&~c[k>>2])+1548603684+(c[t+16>>2]|0));u=_k(c[o>>2]|0,6)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+1518500249+(c[t+56>>2]|0));u=_k(c[l>>2]|0,7)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[s>>2]|c[q>>2]&~c[s>>2])+1548603684+(c[t+36>>2]|0));u=_k(c[m>>2]|0,15)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+1518500249+(c[t+44>>2]|0));u=_k(c[h>>2]|0,13)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+1548603684+(c[t+4>>2]|0));u=_k(c[k>>2]|0,13)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[l>>2]|~c[h>>2]&c[n>>2])+1518500249+(c[t+32>>2]|0));u=_k(c[r>>2]|0,12)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+1548603684+(c[t+8>>2]|0));u=_k(c[s>>2]|0,11)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[h>>2])^c[l>>2])+1859775393+(c[t+12>>2]|0));u=_k(c[p>>2]|0,11)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[s>>2]|~c[k>>2])^c[m>>2])+1836072691+(c[t+60>>2]|0));u=_k(c[q>>2]|0,9)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[h>>2])+1859775393+(c[t+40>>2]|0));u=_k(c[n>>2]|0,13)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[s>>2])^c[k>>2])+1836072691+(c[t+20>>2]|0));u=_k(c[o>>2]|0,7)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1859775393+(c[t+56>>2]|0));u=_k(c[l>>2]|0,6)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[s>>2])+1836072691+(c[t+4>>2]|0));u=_k(c[m>>2]|0,15)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1859775393+(c[t+16>>2]|0));u=_k(c[h>>2]|0,7)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1836072691+(c[t+12>>2]|0));u=_k(c[k>>2]|0,11)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[h>>2]|~c[l>>2])^c[n>>2])+1859775393+(c[t+36>>2]|0));u=_k(c[r>>2]|0,14)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1836072691+(c[t+28>>2]|0));u=_k(c[s>>2]|0,8)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[h>>2])^c[l>>2])+1859775393+(c[t+60>>2]|0));u=_k(c[p>>2]|0,9)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[s>>2]|~c[k>>2])^c[m>>2])+1836072691+(c[t+56>>2]|0));u=_k(c[q>>2]|0,6)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[h>>2])+1859775393+(c[t+32>>2]|0));u=_k(c[n>>2]|0,13)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[s>>2])^c[k>>2])+1836072691+(c[t+24>>2]|0));u=_k(c[o>>2]|0,6)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1859775393+(c[t+4>>2]|0));u=_k(c[l>>2]|0,15)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[s>>2])+1836072691+(c[t+36>>2]|0));u=_k(c[m>>2]|0,14)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1859775393+(c[t+8>>2]|0));u=_k(c[h>>2]|0,14)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1836072691+(c[t+44>>2]|0));u=_k(c[k>>2]|0,12)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[h>>2]|~c[l>>2])^c[n>>2])+1859775393+(c[t+28>>2]|0));u=_k(c[r>>2]|0,8)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1836072691+(c[t+32>>2]|0));u=_k(c[s>>2]|0,13)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[h>>2])^c[l>>2])+1859775393+(c[t>>2]|0));u=_k(c[p>>2]|0,13)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[s>>2]|~c[k>>2])^c[m>>2])+1836072691+(c[t+48>>2]|0));u=_k(c[q>>2]|0,5)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[h>>2])+1859775393+(c[t+24>>2]|0));u=_k(c[n>>2]|0,6)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[s>>2])^c[k>>2])+1836072691+(c[t+8>>2]|0));u=_k(c[o>>2]|0,14)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1859775393+(c[t+52>>2]|0));u=_k(c[l>>2]|0,5)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[s>>2])+1836072691+(c[t+40>>2]|0));u=_k(c[m>>2]|0,13)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1859775393+(c[t+44>>2]|0));u=_k(c[h>>2]|0,12)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1836072691+(c[t>>2]|0));u=_k(c[k>>2]|0,13)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[h>>2]|~c[l>>2])^c[n>>2])+1859775393+(c[t+20>>2]|0));u=_k(c[r>>2]|0,7)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1836072691+(c[t+16>>2]|0));u=_k(c[s>>2]|0,7)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[h>>2])^c[l>>2])+1859775393+(c[t+48>>2]|0));u=_k(c[p>>2]|0,5)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[s>>2]|~c[k>>2])^c[m>>2])+1836072691+(c[t+52>>2]|0));u=_k(c[q>>2]|0,5)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[h>>2]|c[r>>2]&~c[h>>2])+-1894007588+(c[t+4>>2]|0));u=_k(c[n>>2]|0,11)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[s>>2]|~c[q>>2]&c[k>>2])+2053994217+(c[t+32>>2]|0));u=_k(c[o>>2]|0,15)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+-1894007588+(c[t+36>>2]|0));u=_k(c[l>>2]|0,12)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[s>>2])+2053994217+(c[t+24>>2]|0));u=_k(c[m>>2]|0,5)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+-1894007588+(c[t+44>>2]|0));u=_k(c[h>>2]|0,14)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+2053994217+(c[t+16>>2]|0));u=_k(c[k>>2]|0,8)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+-1894007588+(c[t+40>>2]|0));u=_k(c[r>>2]|0,15)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+2053994217+(c[t+4>>2]|0));u=_k(c[s>>2]|0,11)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[h>>2]&~c[l>>2])+-1894007588+(c[t>>2]|0));u=_k(c[p>>2]|0,14)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]&c[k>>2]|~c[s>>2]&c[m>>2])+2053994217+(c[t+12>>2]|0));u=_k(c[q>>2]|0,14)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[h>>2]|c[r>>2]&~c[h>>2])+-1894007588+(c[t+32>>2]|0));u=_k(c[n>>2]|0,15)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[s>>2]|~c[q>>2]&c[k>>2])+2053994217+(c[t+44>>2]|0));u=_k(c[o>>2]|0,14)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+-1894007588+(c[t+48>>2]|0));u=_k(c[l>>2]|0,9)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[s>>2])+2053994217+(c[t+60>>2]|0));u=_k(c[m>>2]|0,6)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+-1894007588+(c[t+16>>2]|0));u=_k(c[h>>2]|0,8)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+2053994217+(c[t>>2]|0));u=_k(c[k>>2]|0,14)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+-1894007588+(c[t+52>>2]|0));u=_k(c[r>>2]|0,9)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+2053994217+(c[t+20>>2]|0));u=_k(c[s>>2]|0,6)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[h>>2]&~c[l>>2])+-1894007588+(c[t+12>>2]|0));u=_k(c[p>>2]|0,14)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]&c[k>>2]|~c[s>>2]&c[m>>2])+2053994217+(c[t+48>>2]|0));u=_k(c[q>>2]|0,9)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[h>>2]|c[r>>2]&~c[h>>2])+-1894007588+(c[t+28>>2]|0));u=_k(c[n>>2]|0,5)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[s>>2]|~c[q>>2]&c[k>>2])+2053994217+(c[t+8>>2]|0));u=_k(c[o>>2]|0,12)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+-1894007588+(c[t+60>>2]|0));u=_k(c[l>>2]|0,6)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[s>>2])+2053994217+(c[t+52>>2]|0));u=_k(c[m>>2]|0,9)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+-1894007588+(c[t+56>>2]|0));u=_k(c[h>>2]|0,8)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+2053994217+(c[t+36>>2]|0));u=_k(c[k>>2]|0,12)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+-1894007588+(c[t+20>>2]|0));u=_k(c[r>>2]|0,6)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+2053994217+(c[t+28>>2]|0));u=_k(c[s>>2]|0,5)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[h>>2]&~c[l>>2])+-1894007588+(c[t+24>>2]|0));u=_k(c[p>>2]|0,5)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]&c[k>>2]|~c[s>>2]&c[m>>2])+2053994217+(c[t+40>>2]|0));u=_k(c[q>>2]|0,15)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[h>>2]|c[r>>2]&~c[h>>2])+-1894007588+(c[t+8>>2]|0));u=_k(c[n>>2]|0,12)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[s>>2]|~c[q>>2]&c[k>>2])+2053994217+(c[t+56>>2]|0));u=_k(c[o>>2]|0,8)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+-1454113458+(c[t+16>>2]|0));u=_k(c[l>>2]|0,9)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[s>>2])+0+(c[t+48>>2]|0));u=_k(c[m>>2]|0,8)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+-1454113458+(c[t>>2]|0));u=_k(c[h>>2]|0,15)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[t+60>>2]|0));u=_k(c[k>>2]|0,5)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]^(c[l>>2]|~c[n>>2]))+-1454113458+(c[t+20>>2]|0));u=_k(c[r>>2]|0,5)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[t+40>>2]|0));u=_k(c[s>>2]|0,12)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[h>>2]|~c[l>>2]))+-1454113458+(c[t+36>>2]|0));u=_k(c[p>>2]|0,11)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]^c[k>>2]^c[m>>2])+0+(c[t+16>>2]|0));u=_k(c[q>>2]|0,9)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[h>>2]))+-1454113458+(c[t+28>>2]|0));u=_k(c[n>>2]|0,6)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[s>>2]^c[k>>2])+0+(c[t+4>>2]|0));u=_k(c[o>>2]|0,12)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+-1454113458+(c[t+48>>2]|0));u=_k(c[l>>2]|0,8)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[s>>2])+0+(c[t+20>>2]|0));u=_k(c[m>>2]|0,5)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+-1454113458+(c[t+8>>2]|0));u=_k(c[h>>2]|0,13)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[t+32>>2]|0));u=_k(c[k>>2]|0,14)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]^(c[l>>2]|~c[n>>2]))+-1454113458+(c[t+40>>2]|0));u=_k(c[r>>2]|0,12)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[t+28>>2]|0));u=_k(c[s>>2]|0,6)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[h>>2]|~c[l>>2]))+-1454113458+(c[t+56>>2]|0));u=_k(c[p>>2]|0,5)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]^c[k>>2]^c[m>>2])+0+(c[t+24>>2]|0));u=_k(c[q>>2]|0,8)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[h>>2]))+-1454113458+(c[t+4>>2]|0));u=_k(c[n>>2]|0,12)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[s>>2]^c[k>>2])+0+(c[t+8>>2]|0));u=_k(c[o>>2]|0,13)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+-1454113458+(c[t+12>>2]|0));u=_k(c[l>>2]|0,13)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[s>>2])+0+(c[t+52>>2]|0));u=_k(c[m>>2]|0,6)|0;c[m>>2]=u+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+-1454113458+(c[t+32>>2]|0));u=_k(c[h>>2]|0,14)|0;c[h>>2]=u+(c[r>>2]|0);c[n>>2]=_k(c[n>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[t+56>>2]|0));u=_k(c[k>>2]|0,5)|0;c[k>>2]=u+(c[s>>2]|0);c[o>>2]=_k(c[o>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[h>>2]^(c[l>>2]|~c[n>>2]))+-1454113458+(c[t+44>>2]|0));u=_k(c[r>>2]|0,11)|0;c[r>>2]=u+(c[p>>2]|0);c[l>>2]=_k(c[l>>2]|0,10)|0;c[s>>2]=(c[s>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[t>>2]|0));u=_k(c[s>>2]|0,15)|0;c[s>>2]=u+(c[q>>2]|0);c[m>>2]=_k(c[m>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[h>>2]|~c[l>>2]))+-1454113458+(c[t+24>>2]|0));u=_k(c[p>>2]|0,8)|0;c[p>>2]=u+(c[n>>2]|0);c[h>>2]=_k(c[h>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[s>>2]^c[k>>2]^c[m>>2])+0+(c[t+12>>2]|0));u=_k(c[q>>2]|0,13)|0;c[q>>2]=u+(c[o>>2]|0);c[k>>2]=_k(c[k>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[h>>2]))+-1454113458+(c[t+60>>2]|0));u=_k(c[n>>2]|0,5)|0;c[n>>2]=u+(c[l>>2]|0);c[r>>2]=_k(c[r>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[s>>2]^c[k>>2])+0+(c[t+36>>2]|0));u=_k(c[o>>2]|0,11)|0;c[o>>2]=u+(c[m>>2]|0);c[s>>2]=_k(c[s>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+-1454113458+(c[t+52>>2]|0));u=_k(c[l>>2]|0,6)|0;c[l>>2]=u+(c[h>>2]|0);c[p>>2]=_k(c[p>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[s>>2])+0+(c[t+44>>2]|0));t=_k(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=_k(c[q>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[n>>2]|0)+(c[(c[g>>2]|0)+164>>2]|0));c[(c[g>>2]|0)+164>>2]=(c[(c[g>>2]|0)+168>>2]|0)+(c[p>>2]|0)+(c[s>>2]|0);c[(c[g>>2]|0)+168>>2]=(c[(c[g>>2]|0)+172>>2]|0)+(c[r>>2]|0)+(c[k>>2]|0);c[(c[g>>2]|0)+172>>2]=(c[(c[g>>2]|0)+176>>2]|0)+(c[h>>2]|0)+(c[m>>2]|0);c[(c[g>>2]|0)+176>>2]=(c[(c[g>>2]|0)+160>>2]|0)+(c[l>>2]|0)+(c[o>>2]|0);c[(c[g>>2]|0)+160>>2]=c[q>>2];i=d;return 124}function Zk(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function $k(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Tk(c[d>>2]|0,0);i=b;return}function al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[f>>2];Xk(c[e>>2]|0,c[f>>2]|0,1)|0;c[c[g>>2]>>2]=c[(c[e>>2]|0)+160>>2];c[(c[g>>2]|0)+4>>2]=c[(c[e>>2]|0)+164>>2];c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+168>>2];c[(c[g>>2]|0)+12>>2]=c[(c[e>>2]|0)+172>>2];c[(c[g>>2]|0)+16>>2]=c[(c[e>>2]|0)+176>>2];i=d;return}function bl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+208|0;if((i|0)>=(j|0))$(208);g=f+192|0;h=f+188|0;k=f+184|0;l=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;$k(l);Nr(l,c[h>>2]|0,c[k>>2]|0);Uk(l);k=c[g>>2]|0;g=l;l=k+20|0;do{a[k>>0]=a[g>>0]|0;k=k+1|0;g=g+1|0}while((k|0)<(l|0));i=f;return}function cl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);l=k+64|0;m=k+60|0;n=k+56|0;o=k+52|0;p=k+48|0;q=k+44|0;r=k+40|0;s=k+36|0;t=k+32|0;u=k+28|0;v=k+24|0;w=k+20|0;x=k+16|0;y=k+12|0;z=k+8|0;A=k+4|0;B=k;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=0;c[t>>2]=0;c[u>>2]=(((c[n>>2]|0)+7|0)>>>0)/8|0;if(!(c[u>>2]|0?((c[p>>2]|0)+7|0)>>>0<=(c[u>>2]|0)>>>0:0)){c[l>>2]=66;C=c[l>>2]|0;i=k;return C|0}n=sf(c[u>>2]|0)|0;c[t>>2]=n;if(!n){c[l>>2]=Et()|0;C=c[l>>2]|0;i=k;return C|0}c[w>>2]=0;n=c[w>>2]|0;c[w>>2]=n+1;a[(c[t>>2]|0)+n>>0]=0;n=c[w>>2]|0;c[w>>2]=n+1;a[(c[t>>2]|0)+n>>0]=2;c[v>>2]=(c[u>>2]|0)-3-(c[p>>2]|0);if((c[v>>2]|0)<=0)Se(38982,38988,95,39001);do if(c[q>>2]|0){if((c[r>>2]|0)!=(c[v>>2]|0)){vf(c[t>>2]|0);c[l>>2]=45;C=c[l>>2]|0;i=k;return C|0}c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=(c[r>>2]|0)>>>0){D=15;break}if(!(a[(c[q>>2]|0)+(c[y>>2]|0)>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1}if((D|0)==15){Yw((c[t>>2]|0)+(c[w>>2]|0)|0,c[q>>2]|0,c[r>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);break}vf(c[t>>2]|0);c[l>>2]=45;C=c[l>>2]|0;i=k;return C|0}else{c[x>>2]=hn(c[v>>2]|0,1)|0;while(1){c[A>>2]=0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[v>>2]|0))break;if(!(a[(c[x>>2]|0)+(c[z>>2]|0)>>0]|0))c[A>>2]=(c[A>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}if(!(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+(((c[A>>2]|0)/128|0)+3);c[B>>2]=hn(c[A>>2]|0,1)|0;c[z>>2]=0;while(1){if(!((c[z>>2]|0)<(c[v>>2]|0)?(c[A>>2]|0)!=0:0))break;if(!(a[(c[x>>2]|0)+(c[z>>2]|0)>>0]|0)){n=(c[A>>2]|0)+-1|0;c[A>>2]=n;a[(c[x>>2]|0)+(c[z>>2]|0)>>0]=a[(c[B>>2]|0)+n>>0]|0}if(!(a[(c[x>>2]|0)+(c[z>>2]|0)>>0]|0))continue;c[z>>2]=(c[z>>2]|0)+1}vf(c[B>>2]|0)}Yw((c[t>>2]|0)+(c[w>>2]|0)|0,c[x>>2]|0,c[v>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+(c[v>>2]|0);vf(c[x>>2]|0)}while(0);x=c[w>>2]|0;c[w>>2]=x+1;a[(c[t>>2]|0)+x>>0]=0;Yw((c[t>>2]|0)+(c[w>>2]|0)|0,c[o>>2]|0,c[p>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+(c[p>>2]|0);if((c[w>>2]|0)!=(c[u>>2]|0))Se(39032,38988,153,39001);c[s>>2]=Zo(c[m>>2]|0,5,c[t>>2]|0,c[w>>2]|0,u)|0;if((c[s>>2]|0)==0?Ff(1)|0:0)af(39044,c[c[m>>2]>>2]|0);vf(c[t>>2]|0);c[l>>2]=c[s>>2];C=c[l>>2]|0;i=k;return C|0}function dl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+32|0;l=h+28|0;m=h+24|0;n=h+20|0;o=h+16|0;p=h+12|0;q=h+8|0;r=h+4|0;s=h;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=0;c[r>>2]=(((c[n>>2]|0)+7|0)>>>0)/8|0;c[c[l>>2]>>2]=0;n=sf(c[r>>2]|0)|0;c[q>>2]=n;if(!n){c[k>>2]=Et()|0;t=c[k>>2]|0;i=h;return t|0}c[p>>2]=bp(5,c[q>>2]|0,c[r>>2]|0,s,c[o>>2]|0)|0;if(c[p>>2]|0){vf(c[q>>2]|0);c[k>>2]=el(c[p>>2]|0)|0;t=c[k>>2]|0;i=h;return t|0}c[r>>2]=c[s>>2];if((c[r>>2]|0)>>>0<4){vf(c[q>>2]|0);c[k>>2]=155;t=c[k>>2]|0;i=h;return t|0}c[s>>2]=0;if(!(a[c[q>>2]>>0]|0))c[s>>2]=(c[s>>2]|0)+1;p=c[s>>2]|0;c[s>>2]=p+1;if((d[(c[q>>2]|0)+p>>0]|0)!=2){vf(c[q>>2]|0);c[k>>2]=155;t=c[k>>2]|0;i=h;return t|0}while(1){if((c[s>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;if(!(d[(c[q>>2]|0)+(c[s>>2]|0)>>0]|0))break;c[s>>2]=(c[s>>2]|0)+1}if(((c[s>>2]|0)+1|0)>>>0>=(c[r>>2]|0)>>>0){vf(c[q>>2]|0);c[k>>2]=155;t=c[k>>2]|0;i=h;return t|0}c[s>>2]=(c[s>>2]|0)+1;Zw(c[q>>2]|0,(c[q>>2]|0)+(c[s>>2]|0)|0,(c[r>>2]|0)-(c[s>>2]|0)|0)|0;c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=(c[r>>2]|0)-(c[s>>2]|0);if(Ff(1)|0)_e(39077,c[c[l>>2]>>2]|0,c[c[m>>2]>>2]|0);c[k>>2]=0;t=c[k>>2]|0;i=h;return t|0}function el(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=fl(c[d>>2]|0)|0;i=b;return a|0}function fl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function gl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+160|0;if((i|0)>=(j|0))$(160);k=h+48|0;l=h+44|0;m=h+40|0;n=h+36|0;o=h+32|0;p=h+28|0;q=h+24|0;r=h+52|0;s=h+20|0;t=h+16|0;u=h+12|0;v=h+8|0;w=h+4|0;x=h;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;c[s>>2]=0;c[t>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[w>>2]=100;c[x>>2]=oj(c[p>>2]|0)|0;if(pj(c[p>>2]|0,10,r,w)|0){c[k>>2]=69;y=c[k>>2]|0;i=h;return y|0}if((c[o>>2]|0)!=(c[x>>2]|0)){c[k>>2]=70;y=c[k>>2]|0;i=h;return y|0}if(c[x>>2]|0?((c[x>>2]|0)+(c[w>>2]|0)+4|0)>>>0<=(c[t>>2]|0)>>>0:0){x=pf(c[t>>2]|0)|0;c[s>>2]=x;if(!x){c[k>>2]=Et()|0;y=c[k>>2]|0;i=h;return y|0}c[v>>2]=0;x=c[v>>2]|0;c[v>>2]=x+1;a[(c[s>>2]|0)+x>>0]=0;x=c[v>>2]|0;c[v>>2]=x+1;a[(c[s>>2]|0)+x>>0]=1;c[u>>2]=(c[t>>2]|0)-(c[o>>2]|0)-(c[w>>2]|0)-3;if((c[u>>2]|0)<=1)Se(39131,38988,303,39137);Sw((c[s>>2]|0)+(c[v>>2]|0)|0,-1,c[u>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[u>>2]|0);u=c[v>>2]|0;c[v>>2]=u+1;a[(c[s>>2]|0)+u>>0]=0;Yw((c[s>>2]|0)+(c[v>>2]|0)|0,r|0,c[w>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[w>>2]|0);Yw((c[s>>2]|0)+(c[v>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[o>>2]|0);if((c[v>>2]|0)!=(c[t>>2]|0))Se(39032,38988,311,39137);c[q>>2]=Zo(c[l>>2]|0,5,c[s>>2]|0,c[v>>2]|0,t)|0;if((c[q>>2]|0)==0?Ff(1)|0:0)af(39168,c[c[l>>2]>>2]|0);vf(c[s>>2]|0);c[k>>2]=c[q>>2];y=c[k>>2]|0;i=h;return y|0}c[k>>2]=66;y=c[k>>2]|0;i=h;return y|0}function hl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+8|0;s=g+4|0;t=g;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;c[q>>2]=0;c[r>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;if(c[n>>2]|0?((c[n>>2]|0)+4|0)>>>0<=(c[r>>2]|0)>>>0:0){l=pf(c[r>>2]|0)|0;c[q>>2]=l;if(!l){c[h>>2]=Et()|0;u=c[h>>2]|0;i=g;return u|0}c[t>>2]=0;l=c[t>>2]|0;c[t>>2]=l+1;a[(c[q>>2]|0)+l>>0]=0;l=c[t>>2]|0;c[t>>2]=l+1;a[(c[q>>2]|0)+l>>0]=1;c[s>>2]=(c[r>>2]|0)-(c[n>>2]|0)-3;if((c[s>>2]|0)<=1)Se(39131,38988,368,39201);Sw((c[q>>2]|0)+(c[t>>2]|0)|0,-1,c[s>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+(c[s>>2]|0);s=c[t>>2]|0;c[t>>2]=s+1;a[(c[q>>2]|0)+s>>0]=0;Yw((c[q>>2]|0)+(c[t>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+(c[n>>2]|0);if((c[t>>2]|0)!=(c[r>>2]|0))Se(39032,38988,374,39201);c[p>>2]=Zo(c[k>>2]|0,5,c[q>>2]|0,c[t>>2]|0,r)|0;if(!(c[p>>2]|0)){if(Ff(1)|0)af(39168,c[c[k>>2]>>2]|0)}else c[o>>2]=el(c[p>>2]|0)|0;vf(c[q>>2]|0);c[h>>2]=c[o>>2];u=c[h>>2]|0;i=g;return u|0}c[h>>2]=66;u=c[h>>2]|0;i=g;return u|0}function il(b,e,f,g,h,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;o=i;i=i+80|0;if((i|0)>=(j|0))$(80);p=o+68|0;q=o+64|0;r=o+60|0;s=o+56|0;t=o+52|0;u=o+48|0;v=o+44|0;w=o+40|0;x=o+36|0;y=o+32|0;z=o+28|0;A=o+24|0;B=o+20|0;C=o+16|0;D=o+12|0;E=o+8|0;F=o+4|0;G=o;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=n;c[z>>2]=0;c[A>>2]=0;c[B>>2]=(((c[r>>2]|0)+7|0)>>>0)/8|0;c[c[q>>2]>>2]=0;if(!((c[v>>2]|0)!=0&(c[w>>2]|0)!=0)){c[v>>2]=72319;c[w>>2]=0}c[D>>2]=oj(c[s>>2]|0)|0;if(!(c[B>>2]|0?(c[u>>2]|0)>>>0<=((c[B>>2]|0)-(c[D>>2]<<1)-2|0)>>>0:0)){c[p>>2]=66;H=c[p>>2]|0;i=o;return H|0}c[A>>2]=xf(1,c[B>>2]|0)|0;if(!(c[A>>2]|0)){c[p>>2]=Et()|0;H=c[p>>2]|0;i=o;return H|0}hj(c[s>>2]|0,(c[A>>2]|0)+1+(c[D>>2]|0)|0,c[v>>2]|0,c[w>>2]|0);c[E>>2]=(c[B>>2]|0)-(c[u>>2]|0)-1;a[(c[A>>2]|0)+(c[E>>2]|0)>>0]=1;Yw((c[A>>2]|0)+(c[E>>2]|0)+1|0,c[t>>2]|0,c[u>>2]|0)|0;do if(c[x>>2]|0){u=c[A>>2]|0;if((c[y>>2]|0)==(c[D>>2]|0)){Yw(u+1|0,c[x>>2]|0,c[D>>2]|0)|0;break}vf(u);c[p>>2]=45;H=c[p>>2]|0;i=o;return H|0}else jn((c[A>>2]|0)+1|0,c[D>>2]|0,1);while(0);c[F>>2]=sf((c[B>>2]|0)-(c[D>>2]|0)-1|0)|0;if(!(c[F>>2]|0)){c[z>>2]=Et()|0;vf(c[A>>2]|0);c[p>>2]=c[z>>2];H=c[p>>2]|0;i=o;return H|0}c[z>>2]=jl(c[F>>2]|0,(c[B>>2]|0)-(c[D>>2]|0)-1|0,(c[A>>2]|0)+1|0,c[D>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){vf(c[F>>2]|0);vf(c[A>>2]|0);c[p>>2]=c[z>>2];H=c[p>>2]|0;i=o;return H|0}c[E>>2]=1+(c[D>>2]|0);c[C>>2]=c[F>>2];while(1){if((c[E>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;x=c[C>>2]|0;c[C>>2]=x+1;y=(c[A>>2]|0)+(c[E>>2]|0)|0;a[y>>0]=(d[y>>0]|0)^(d[x>>0]|0);c[E>>2]=(c[E>>2]|0)+1}vf(c[F>>2]|0);c[G>>2]=sf(c[D>>2]|0)|0;if(!(c[G>>2]|0)){c[z>>2]=Et()|0;vf(c[A>>2]|0);c[p>>2]=c[z>>2];H=c[p>>2]|0;i=o;return H|0}c[z>>2]=jl(c[G>>2]|0,c[D>>2]|0,(c[A>>2]|0)+1+(c[D>>2]|0)|0,(c[B>>2]|0)-(c[D>>2]|0)-1|0,c[s>>2]|0)|0;if(c[z>>2]|0){vf(c[G>>2]|0);vf(c[A>>2]|0);c[p>>2]=c[z>>2];H=c[p>>2]|0;i=o;return H|0}c[E>>2]=1;c[C>>2]=c[G>>2];while(1){if((c[E>>2]|0)>>>0>=(1+(c[D>>2]|0)|0)>>>0)break;s=c[C>>2]|0;c[C>>2]=s+1;F=(c[A>>2]|0)+(c[E>>2]|0)|0;a[F>>0]=(d[F>>0]|0)^(d[s>>0]|0);c[E>>2]=(c[E>>2]|0)+1}vf(c[G>>2]|0);c[z>>2]=Zo(c[q>>2]|0,5,c[A>>2]|0,c[B>>2]|0,0)|0;if((c[z>>2]|0)==0?Ff(1)|0:0)af(39236,c[c[q>>2]>>2]|0);vf(c[A>>2]|0);c[p>>2]=c[z>>2];H=c[p>>2]|0;i=o;return H|0}function jl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+64|0;if((i|0)>=(j|0))$(64);k=h+48|0;l=h+44|0;m=h+40|0;n=h+36|0;o=h+32|0;p=h+28|0;q=h+24|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h+52|0;x=h;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[v>>2]=Si(u,c[p>>2]|0,0)|0;if(c[v>>2]|0){c[k>>2]=c[v>>2];y=c[k>>2]|0;i=h;return y|0}c[q>>2]=oj(c[p>>2]|0)|0;c[r>>2]=0;c[t>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;if(c[t>>2]|0)Zi(c[u>>2]|0);a[w>>0]=c[t>>2]>>24;a[w+1>>0]=c[t>>2]>>16;a[w+2>>0]=c[t>>2]>>8;a[w+3>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1;$i(c[u>>2]|0,c[n>>2]|0,c[o>>2]|0);$i(c[u>>2]|0,w,4);c[x>>2]=lj(c[u>>2]|0,0)|0;if(((c[m>>2]|0)-(c[r>>2]|0)|0)>>>0<(c[q>>2]|0)>>>0)z=(c[m>>2]|0)-(c[r>>2]|0)|0;else z=c[q>>2]|0;c[s>>2]=z;Yw((c[l>>2]|0)+(c[r>>2]|0)|0,c[x>>2]|0,c[s>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0)}_i(c[u>>2]|0);c[k>>2]=0;y=c[k>>2]|0;i=h;return y|0}function kl(b,e,f,g,h,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;m=i;i=i+96|0;if((i|0)>=(j|0))$(96);n=m+80|0;o=m+76|0;p=m+72|0;q=m+68|0;r=m+64|0;s=m+60|0;t=m+56|0;u=m+52|0;v=m+48|0;w=m+44|0;x=m+40|0;y=m+36|0;z=m+32|0;A=m+28|0;B=m+24|0;C=m+20|0;D=m+16|0;E=m+12|0;F=m+8|0;G=m+4|0;H=m;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=k;c[u>>2]=l;c[w>>2]=0;c[z>>2]=0;c[B>>2]=0;c[F>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[G>>2]=0;c[c[o>>2]>>2]=0;if(!((c[t>>2]|0)!=0&(c[u>>2]|0)!=0)){c[t>>2]=72319;c[u>>2]=0}c[D>>2]=oj(c[r>>2]|0)|0;c[B>>2]=pf(c[D>>2]|0)|0;if(!(c[B>>2]|0)){c[n>>2]=Et()|0;I=c[n>>2]|0;i=m;return I|0}hj(c[r>>2]|0,c[B>>2]|0,c[t>>2]|0,c[u>>2]|0);c[v>>2]=ll(w,0,c[s>>2]|0,c[F>>2]|0)|0;if(c[v>>2]|0){vf(c[B>>2]|0);c[n>>2]=155;I=c[n>>2]|0;i=m;return I|0}c[C>>2]=c[F>>2];if((c[C>>2]|0)>>>0<((c[D>>2]<<1)+2|0)>>>0){vf(c[w>>2]|0);vf(c[B>>2]|0);c[n>>2]=155;I=c[n>>2]|0;i=m;return I|0}c[z>>2]=sf((c[C>>2]|0)-1|0)|0;if(!(c[z>>2]|0)){c[v>>2]=Et()|0;vf(c[w>>2]|0);vf(c[B>>2]|0);c[n>>2]=c[v>>2];I=c[n>>2]|0;i=m;return I|0}c[A>>2]=(c[z>>2]|0)+(c[D>>2]|0);c[x>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[w>>2]|0)+1+(c[D>>2]|0);c[E>>2]=(c[C>>2]|0)-1-(c[D>>2]|0);if(jl(c[z>>2]|0,c[D>>2]|0,c[y>>2]|0,c[E>>2]|0,c[r>>2]|0)|0)c[G>>2]=1;c[H>>2]=0;while(1){if((c[H>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;C=(c[z>>2]|0)+(c[H>>2]|0)|0;a[C>>0]=d[C>>0]^d[(c[x>>2]|0)+(c[H>>2]|0)>>0];c[H>>2]=(c[H>>2]|0)+1}if(jl(c[A>>2]|0,c[E>>2]|0,c[z>>2]|0,c[D>>2]|0,c[r>>2]|0)|0)c[G>>2]=1;c[H>>2]=0;while(1){if((c[H>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;r=(c[A>>2]|0)+(c[H>>2]|0)|0;a[r>>0]=d[r>>0]^d[(c[y>>2]|0)+(c[H>>2]|0)>>0];c[H>>2]=(c[H>>2]|0)+1}if(Jv(c[B>>2]|0,c[A>>2]|0,c[D>>2]|0)|0)c[G>>2]=1;c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((d[(c[A>>2]|0)+(c[H>>2]|0)>>0]|0)==1)break;c[H>>2]=(c[H>>2]|0)+1}if((c[H>>2]|0)==(c[E>>2]|0))c[G>>2]=1;if(a[c[w>>2]>>0]|0)c[G>>2]=1;vf(c[B>>2]|0);vf(c[w>>2]|0);if(c[G>>2]|0){vf(c[z>>2]|0);c[n>>2]=155;I=c[n>>2]|0;i=m;return I|0}c[H>>2]=(c[H>>2]|0)+1;Zw(c[z>>2]|0,(c[A>>2]|0)+(c[H>>2]|0)|0,(c[E>>2]|0)-(c[H>>2]|0)|0)|0;c[c[o>>2]>>2]=c[z>>2];c[c[p>>2]>>2]=(c[E>>2]|0)-(c[H>>2]|0);c[z>>2]=0;if(Ff(1)|0)_e(39254,c[c[o>>2]>>2]|0,c[c[p>>2]>>2]|0);c[n>>2]=0;I=c[n>>2]|0;i=m;return I|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;e=dp(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;i=f;return e|0}function ml(b,e,f,g,h,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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;n=i;i=i+128|0;if((i|0)>=(j|0))$(128);o=n+116|0;p=n+112|0;q=n+108|0;r=n+104|0;s=n+100|0;t=n+96|0;u=n+92|0;v=n+88|0;w=n+84|0;x=n+80|0;y=n+76|0;z=n+72|0;A=n+68|0;B=n+64|0;C=n+60|0;E=n+56|0;F=n+52|0;G=n+48|0;H=n+44|0;I=n+40|0;J=n+36|0;K=n+32|0;L=n+121|0;M=n+8|0;N=n+28|0;O=n+24|0;P=n+20|0;Q=n+120|0;R=n;S=n+16|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=0;c[y>>2]=0;c[z>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[B>>2]=0;c[x>>2]=oj(c[q>>2]|0)|0;if(!(c[x>>2]|0))Se(39293,38988,800,39298);c[C>>2]=8+(c[x>>2]|0)+(c[t>>2]|0)+((c[z>>2]|0)-(c[x>>2]|0)-1);c[B>>2]=pf(c[C>>2]|0)|0;a:do if(c[B>>2]|0){c[E>>2]=(c[B>>2]|0)+8;c[F>>2]=(c[E>>2]|0)+(c[x>>2]|0);c[G>>2]=(c[F>>2]|0)+(c[t>>2]|0);if((c[s>>2]|0)!=(c[x>>2]|0)){c[w>>2]=139;break}Yw(c[E>>2]|0,c[r>>2]|0,c[x>>2]|0)|0;if((c[z>>2]|0)>>>0<((c[x>>2]|0)+(c[t>>2]|0)+2|0)>>>0){c[w>>2]=66;break}c[y>>2]=pf(c[z>>2]|0)|0;if(!(c[y>>2]|0)){c[w>>2]=Et()|0;break}c[A>>2]=(c[y>>2]|0)+(c[z>>2]|0)+-1+(0-(c[x>>2]|0));do if(c[t>>2]|0){if(!(c[u>>2]|0)){jn(c[F>>2]|0,c[t>>2]|0,1);break}if((c[v>>2]|0)!=(c[t>>2]|0)){c[w>>2]=45;break a}else{Yw(c[F>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;break}}while(0);m=c[B>>2]|0;a[m>>0]=0;a[m+1>>0]=0;a[m+2>>0]=0;a[m+3>>0]=0;a[m+4>>0]=0;a[m+5>>0]=0;a[m+6>>0]=0;a[m+7>>0]=0;hj(c[q>>2]|0,c[A>>2]|0,c[B>>2]|0,8+(c[x>>2]|0)+(c[t>>2]|0)|0);c[H>>2]=(c[y>>2]|0)+(c[z>>2]|0)+-1+(0-(c[x>>2]|0))+(0-(c[t>>2]|0))+-1;Sw(c[y>>2]|0,0,(c[H>>2]|0)-(c[y>>2]|0)|0)|0;m=c[H>>2]|0;c[H>>2]=m+1;a[m>>0]=1;Yw(c[H>>2]|0,c[F>>2]|0,c[t>>2]|0)|0;jl(c[G>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)-1|0,c[A>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;c[I>>2]=0;c[H>>2]=c[G>>2];while(1){if((c[I>>2]|0)>>>0>=((c[z>>2]|0)-(c[x>>2]|0)-1|0)>>>0)break;m=(c[y>>2]|0)+(c[I>>2]|0)|0;a[m>>0]=(d[m>>0]|0)^(d[c[H>>2]>>0]|0);c[I>>2]=(c[I>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}m=c[y>>2]|0;a[m>>0]=(d[m>>0]|0)&255>>(c[z>>2]<<3)-(c[p>>2]|0);a[(c[y>>2]|0)+((c[z>>2]|0)-1)>>0]=-68;c[w>>2]=Zo(c[o>>2]|0,5,c[y>>2]|0,c[z>>2]|0,0)|0;if((c[w>>2]|0)==0?Ff(1)|0:0)af(39319,c[c[o>>2]>>2]|0)}else c[w>>2]=Et()|0;while(0);if(c[y>>2]|0){c[J>>2]=c[y>>2];c[K>>2]=c[z>>2];a[L>>0]=0;z=M;c[z>>2]=d[L>>0];c[z+4>>2]=0;while(1){if(!(c[J>>2]&7|0?(c[K>>2]|0)!=0:0))break;a[c[J>>2]>>0]=a[L>>0]|0;c[J>>2]=(c[J>>2]|0)+1;c[K>>2]=(c[K>>2]|0)+-1}if((c[K>>2]|0)>>>0>=8){z=M;o=ex(c[z>>2]|0,c[z+4>>2]|0,16843009,16843009)|0;z=M;c[z>>2]=o;c[z+4>>2]=D;do{c[N>>2]=c[J>>2];z=M;o=c[z+4>>2]|0;p=c[N>>2]|0;c[p>>2]=c[z>>2];c[p+4>>2]=o;c[K>>2]=(c[K>>2]|0)-8;c[J>>2]=(c[J>>2]|0)+8}while((c[K>>2]|0)>>>0>=8)}while(1){if(!(c[K>>2]|0))break;a[c[J>>2]>>0]=a[L>>0]|0;c[J>>2]=(c[J>>2]|0)+1;c[K>>2]=(c[K>>2]|0)+-1}vf(c[y>>2]|0)}if(!(c[B>>2]|0)){T=c[w>>2]|0;i=n;return T|0}c[O>>2]=c[B>>2];c[P>>2]=c[C>>2];a[Q>>0]=0;C=R;c[C>>2]=d[Q>>0];c[C+4>>2]=0;while(1){if(!(c[O>>2]&7|0?(c[P>>2]|0)!=0:0))break;a[c[O>>2]>>0]=a[Q>>0]|0;c[O>>2]=(c[O>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+-1}if((c[P>>2]|0)>>>0>=8){C=R;y=ex(c[C>>2]|0,c[C+4>>2]|0,16843009,16843009)|0;C=R;c[C>>2]=y;c[C+4>>2]=D;do{c[S>>2]=c[O>>2];C=R;y=c[C+4>>2]|0;K=c[S>>2]|0;c[K>>2]=c[C>>2];c[K+4>>2]=y;c[P>>2]=(c[P>>2]|0)-8;c[O>>2]=(c[O>>2]|0)+8}while((c[P>>2]|0)>>>0>=8)}while(1){if(!(c[P>>2]|0))break;a[c[O>>2]>>0]=a[Q>>0]|0;c[O>>2]=(c[O>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+-1}vf(c[B>>2]|0);T=c[w>>2]|0;i=n;return T|0}function nl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;k=i;i=i+112|0;if((i|0)>=(j|0))$(112);l=k+104|0;m=k+100|0;n=k+96|0;o=k+92|0;p=k+88|0;q=k+84|0;r=k+80|0;s=k+76|0;t=k+72|0;u=k+68|0;v=k+64|0;w=k+60|0;x=k+56|0;y=k+52|0;z=k+48|0;A=k+44|0;B=k+40|0;C=k+36|0;E=k+32|0;F=k+109|0;G=k+8|0;H=k+28|0;I=k+24|0;J=k+20|0;K=k+108|0;L=k;M=k+16|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=0;c[s>>2]=0;c[t>>2]=(((c[n>>2]|0)+7|0)>>>0)/8|0;c[w>>2]=0;c[r>>2]=oj(c[o>>2]|0)|0;if(!(c[r>>2]|0))Se(39293,38988,926,39336);c[x>>2]=8+(c[r>>2]|0)+(c[p>>2]|0);if((c[x>>2]|0)>>>0<((c[t>>2]|0)-(c[r>>2]|0)-1|0)>>>0)c[x>>2]=(c[t>>2]|0)-(c[r>>2]|0)-1;c[x>>2]=(c[x>>2]|0)+(c[r>>2]|0);c[w>>2]=pf(c[x>>2]|0)|0;do if(c[w>>2]|0){c[y>>2]=c[w>>2];c[z>>2]=(c[w>>2]|0)+(c[x>>2]|0)+(0-(c[r>>2]|0));c[q>>2]=ll(0,c[z>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;if((c[q>>2]|0)==0?(c[q>>2]=ll(s,0,c[m>>2]|0,c[t>>2]|0)|0,(c[q>>2]|0)==0):0){if((c[t>>2]|0)>>>0<((c[r>>2]|0)+(c[p>>2]|0)+2|0)>>>0){c[q>>2]=66;break}if((d[(c[s>>2]|0)+((c[t>>2]|0)-1)>>0]|0)!=188){c[q>>2]=8;break}c[v>>2]=(c[s>>2]|0)+(c[t>>2]|0)+-1+(0-(c[r>>2]|0));if(d[c[s>>2]>>0]&~(255>>(c[t>>2]<<3)-(c[n>>2]|0))|0){c[q>>2]=8;break}jl(c[y>>2]|0,(c[t>>2]|0)-(c[r>>2]|0)-1|0,c[v>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[B>>2]=0;c[A>>2]=c[y>>2];while(1){if((c[B>>2]|0)>>>0>=((c[t>>2]|0)-(c[r>>2]|0)-1|0)>>>0)break;h=(c[s>>2]|0)+(c[B>>2]|0)|0;a[h>>0]=d[h>>0]^d[c[A>>2]>>0];c[B>>2]=(c[B>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}h=c[s>>2]|0;a[h>>0]=d[h>>0]&255>>(c[t>>2]<<3)-(c[n>>2]|0);c[B>>2]=0;while(1){if((c[B>>2]|0)>>>0>=((c[t>>2]|0)-(c[r>>2]|0)-(c[p>>2]|0)-2|0)>>>0)break;if(!((a[(c[s>>2]|0)+(c[B>>2]|0)>>0]|0)!=0^1))break;c[B>>2]=(c[B>>2]|0)+1}if((c[B>>2]|0)==((c[t>>2]|0)-(c[r>>2]|0)-(c[p>>2]|0)-2|0)?(h=c[B>>2]|0,c[B>>2]=h+1,(d[(c[s>>2]|0)+h>>0]|0)==1):0){c[u>>2]=(c[s>>2]|0)+(c[B>>2]|0);h=c[w>>2]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[h+4>>0]=0;a[h+5>>0]=0;a[h+6>>0]=0;a[h+7>>0]=0;Yw((c[w>>2]|0)+8|0,c[z>>2]|0,c[r>>2]|0)|0;Yw((c[w>>2]|0)+8+(c[r>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;hj(c[o>>2]|0,c[w>>2]|0,c[w>>2]|0,8+(c[r>>2]|0)+(c[p>>2]|0)|0);h=(Jv(c[v>>2]|0,c[w>>2]|0,c[r>>2]|0)|0)!=0;c[q>>2]=h?8:0;break}c[q>>2]=8}}else c[q>>2]=Et()|0;while(0);if(c[s>>2]|0){c[C>>2]=c[s>>2];c[E>>2]=c[t>>2];a[F>>0]=0;t=G;c[t>>2]=d[F>>0];c[t+4>>2]=0;while(1){if(!(c[C>>2]&7|0?(c[E>>2]|0)!=0:0))break;a[c[C>>2]>>0]=a[F>>0]|0;c[C>>2]=(c[C>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1}if((c[E>>2]|0)>>>0>=8){t=G;r=ex(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=G;c[t>>2]=r;c[t+4>>2]=D;do{c[H>>2]=c[C>>2];t=G;r=c[t+4>>2]|0;v=c[H>>2]|0;c[v>>2]=c[t>>2];c[v+4>>2]=r;c[E>>2]=(c[E>>2]|0)-8;c[C>>2]=(c[C>>2]|0)+8}while((c[E>>2]|0)>>>0>=8)}while(1){if(!(c[E>>2]|0))break;a[c[C>>2]>>0]=a[F>>0]|0;c[C>>2]=(c[C>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1}vf(c[s>>2]|0)}if(!(c[w>>2]|0)){N=c[q>>2]|0;i=k;return N|0}c[I>>2]=c[w>>2];c[J>>2]=c[x>>2];a[K>>0]=0;x=L;c[x>>2]=d[K>>0];c[x+4>>2]=0;while(1){if(!(c[I>>2]&7|0?(c[J>>2]|0)!=0:0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}if((c[J>>2]|0)>>>0>=8){x=L;s=ex(c[x>>2]|0,c[x+4>>2]|0,16843009,16843009)|0;x=L;c[x>>2]=s;c[x+4>>2]=D;do{c[M>>2]=c[I>>2];x=L;s=c[x+4>>2]|0;E=c[M>>2]|0;c[E>>2]=c[x>>2];c[E+4>>2]=s;c[J>>2]=(c[J>>2]|0)-8;c[I>>2]=(c[I>>2]|0)+8}while((c[J>>2]|0)>>>0>=8)}while(1){if(!(c[J>>2]|0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}vf(c[w>>2]|0);N=c[q>>2]|0;i=k;return N|0}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+112|0;if((i|0)>=(j|0))$(112);e=d;f=d+100|0;g=d+96|0;h=d+92|0;k=d+88|0;l=d+84|0;m=d+80|0;n=d+56|0;o=d+52|0;p=d+48|0;q=d+44|0;r=d+40|0;s=d+36|0;c[g>>2]=a;c[h>>2]=b;c[p>>2]=0;c[r>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[k>>2]=Gj(c[g>>2]|0,l)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];t=c[f>>2]|0;i=d;return t|0}c[k>>2]=Hj(c[g>>2]|0,m)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];t=c[f>>2]|0;i=d;return t|0}c[q>>2]=Tf(c[g>>2]|0,47177,0)|0;if(c[q>>2]|0?(c[k>>2]=Fj(c[q>>2]|0,p,0)|0,Rf(c[q>>2]|0),c[k>>2]|0):0){c[f>>2]=c[k>>2];t=c[f>>2]|0;i=d;return t|0}if(c[g>>2]|0)u=Tf(c[g>>2]|0,41795,0)|0;else u=0;c[o>>2]=u;if((c[o>>2]|0)==0?(c[q>>2]=Tf(c[g>>2]|0,41808,0)|0,c[q>>2]|0):0){c[p>>2]=c[p>>2]|64;Rf(c[q>>2]|0)}if((!(c[o>>2]|0)?!(c[p>>2]&64|0):0)?!(Wg()|0):0){if((c[p>>2]&32|0)==0?(c[q>>2]=Tf(c[g>>2]|0,48941,0)|0,c[q>>2]|0):0){c[p>>2]=c[p>>2]|32;Rf(c[q>>2]|0)}c[k>>2]=Il(n,c[l>>2]|0,c[m>>2]|0,((c[p>>2]&32|0)!=0^1^1)&1)|0}else v=16;if((v|0)==16?(c[k>>2]=Hl(n,c[l>>2]|0,c[m>>2]|0,c[o>>2]|0,s)|0,Rf(c[o>>2]|0),(c[k>>2]|0)==0&(c[s>>2]|0)!=0):0)c[k>>2]=Sf(r,41817,0,1)|0;if(!(c[k>>2]|0)){s=c[h>>2]|0;h=c[n+4>>2]|0;o=c[n>>2]|0;m=c[n+4>>2]|0;l=c[n+8>>2]|0;v=c[n+12>>2]|0;p=c[n+16>>2]|0;q=c[n+20>>2]|0;g=c[r>>2]|0;c[e>>2]=c[n>>2];c[e+4>>2]=h;c[e+8>>2]=o;c[e+12>>2]=m;c[e+16>>2]=l;c[e+20>>2]=v;c[e+24>>2]=p;c[e+28>>2]=q;c[e+32>>2]=g;c[k>>2]=cg(s,0,41846,e)|0}Dp(c[n>>2]|0);Dp(c[n+4>>2]|0);Dp(c[n+12>>2]|0);Dp(c[n+16>>2]|0);Dp(c[n+8>>2]|0);Dp(c[n+20>>2]|0);Rf(c[r>>2]|0);c[f>>2]=c[k>>2];t=c[f>>2]|0;i=d;return t|0}function pl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+80|0;if((i|0)>=(j|0))$(80);d=b+32|0;e=b;f=b+68|0;g=b+64|0;h=b+40|0;c[f>>2]=a;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a=c[f>>2]|0;c[e>>2]=h;c[e+4>>2]=h+4;c[e+8>>2]=h+8;c[e+12>>2]=h+12;c[e+16>>2]=h+16;c[e+20>>2]=h+20;c[e+24>>2]=0;c[g>>2]=lg(a,0,39364,e)|0;if((c[g>>2]|0)==0?(Gl(h)|0)==0:0)c[g>>2]=7;Tp(c[h>>2]|0);Tp(c[h+4>>2]|0);Tp(c[h+8>>2]|0);Tp(c[h+12>>2]|0);Tp(c[h+16>>2]|0);Tp(c[h+20>>2]|0);if(!(Ff(1)|0)){k=c[g>>2]|0;i=b;return k|0}c[d>>2]=Bt(c[g>>2]|0)|0;Ye(41773,d);k=c[g>>2]|0;i=b;return k|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+128|0;if((i|0)>=(j|0))$(128);f=e+32|0;g=e+24|0;h=e+16|0;k=e;l=e+116|0;m=e+112|0;n=e+108|0;o=e+104|0;p=e+64|0;q=e+56|0;r=e+48|0;s=e+44|0;t=e+40|0;u=e+36|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[q>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=0;Lj(p,0,ul(c[n>>2]|0)|0);c[o>>2]=Nj(c[m>>2]|0,q,p)|0;do if(!(c[o>>2]|0)){if(Ff(1)|0)af(41643,c[q>>2]|0);if(c[q>>2]|0?c[(c[q>>2]|0)+12>>2]&4|0:0){c[o>>2]=79;break}m=c[n>>2]|0;c[k>>2]=r;c[k+4>>2]=r+4;c[k+8>>2]=0;c[o>>2]=lg(m,0,39361,k)|0;if(!(c[o>>2]|0)){if(Ff(1)|0){af(41660,c[r>>2]|0);af(41677,c[r+4>>2]|0)}c[s>>2]=Rp(0)|0;El(c[s>>2]|0,c[q>>2]|0,r);if(Ff(1)|0)af(41694,c[s>>2]|0);if(!(c[p+12>>2]&4)){m=c[l>>2]|0;c[g>>2]=c[s>>2];c[o>>2]=cg(m,0,41731,g)|0;break}c[u>>2]=(((lo(c[r>>2]|0)|0)+7|0)>>>0)/8|0;c[o>>2]=dp(t,0,c[s>>2]|0,c[u>>2]|0)|0;if(!(c[o>>2]|0)){m=c[l>>2]|0;d=c[t>>2]|0;c[h>>2]=c[u>>2];c[h+4>>2]=d;c[o>>2]=cg(m,0,41711,h)|0;vf(c[t>>2]|0)}}}while(0);Tp(c[s>>2]|0);Tp(c[r>>2]|0);Tp(c[r+4>>2]|0);Tp(c[q>>2]|0);Mj(p);if(!(Ff(1)|0)){v=c[o>>2]|0;i=e;return v|0}c[f>>2]=Bt(c[o>>2]|0)|0;Ye(41751,f);v=c[o>>2]|0;i=e;return v|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;i=i+192|0;if((i|0)>=(j|0))$(192);f=e+64|0;g=e+56|0;h=e+48|0;k=e+40|0;l=e+8|0;m=e;n=e+180|0;o=e+176|0;p=e+172|0;q=e+168|0;r=e+128|0;s=e+124|0;t=e+120|0;u=e+96|0;v=e+88|0;w=e+84|0;x=e+80|0;y=e+76|0;z=e+72|0;A=e+68|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;Lj(r,1,ul(c[p>>2]|0)|0);c[q>>2]=Jj(c[o>>2]|0,7768,s,r)|0;a:do if((c[q>>2]|0)==0?(o=c[s>>2]|0,c[m>>2]=t,c[m+4>>2]=0,c[q>>2]=lg(o,0,39371,m)|0,(c[q>>2]|0)==0):0){if(Ff(1)|0)af(41471,c[t>>2]|0);if(c[t>>2]|0?c[(c[t>>2]|0)+12>>2]&4|0:0){c[q>>2]=79;break}o=c[p>>2]|0;c[l>>2]=u;c[l+4>>2]=u+4;c[l+8>>2]=u+8;c[l+12>>2]=u+12;c[l+16>>2]=u+16;c[l+20>>2]=u+20;c[l+24>>2]=0;c[q>>2]=lg(o,0,41288,l)|0;if(!(c[q>>2]|0)){if(Ff(1)|0?(af(41488,c[u>>2]|0),af(41505,c[u+4>>2]|0),(Wg()|0)==0):0){af(41522,c[u+8>>2]|0);af(41539,c[u+12>>2]|0);af(41556,c[u+16>>2]|0);af(41573,c[u+20>>2]|0)}ko(c[t>>2]|0);xo(c[t>>2]|0,c[t>>2]|0,c[u>>2]|0);c[v>>2]=Sp(c[r+4>>2]|0)|0;if(c[r+12>>2]&1|0)Fl(c[v>>2]|0,c[t>>2]|0,u);else{c[w>>2]=Sp(c[r+4>>2]|0)|0;c[x>>2]=Sp(c[r+4>>2]|0)|0;c[y>>2]=Sp(c[r+4>>2]|0)|0;do{Up(c[w>>2]|0,c[r+4>>2]|0,0);Mo(c[w>>2]|0,c[w>>2]|0,c[u>>2]|0)}while((Lo(c[x>>2]|0,c[w>>2]|0,c[u>>2]|0)|0)!=0^1);So(c[y>>2]|0,c[w>>2]|0,c[u+4>>2]|0,c[u>>2]|0);Ro(c[y>>2]|0,c[y>>2]|0,c[t>>2]|0,c[u>>2]|0);Fl(c[v>>2]|0,c[y>>2]|0,u);Tp(c[y>>2]|0);c[y>>2]=0;Ro(c[v>>2]|0,c[v>>2]|0,c[x>>2]|0,c[u>>2]|0);Tp(c[w>>2]|0);c[w>>2]=0;Tp(c[x>>2]|0);c[x>>2]=0}if(Ff(1)|0)af(41590,c[v>>2]|0);switch(c[r+8>>2]|0){case 1:{c[q>>2]=dl(z,A,c[r+4>>2]|0,c[v>>2]|0)|0;Dp(c[v>>2]|0);c[v>>2]=0;if(c[q>>2]|0)break a;o=c[n>>2]|0;d=c[z>>2]|0;c[k>>2]=c[A>>2];c[k+4>>2]=d;c[q>>2]=cg(o,0,41607,k)|0;break a;break}case 3:{c[q>>2]=kl(z,A,c[r+4>>2]|0,c[r+16>>2]|0,c[v>>2]|0,c[r+20>>2]|0,c[r+24>>2]|0)|0;Dp(c[v>>2]|0);c[v>>2]=0;if(c[q>>2]|0)break a;o=c[n>>2]|0;d=c[z>>2]|0;c[h>>2]=c[A>>2];c[h+4>>2]=d;c[q>>2]=cg(o,0,41607,h)|0;break a;break}default:{o=c[n>>2]|0;d=c[r+12>>2]&8|0?41618:48089;c[g>>2]=c[v>>2];c[q>>2]=cg(o,0,d,g)|0;break a}}}}while(0);vf(c[z>>2]|0);Tp(c[v>>2]|0);Tp(c[u>>2]|0);Tp(c[u+4>>2]|0);Tp(c[u+8>>2]|0);Tp(c[u+12>>2]|0);Tp(c[u+16>>2]|0);Tp(c[u+20>>2]|0);Tp(c[t>>2]|0);Tp(c[w>>2]|0);Tp(c[x>>2]|0);Tp(c[y>>2]|0);Rf(c[s>>2]|0);Mj(r);if(!(Ff(1)|0)){B=c[q>>2]|0;i=e;return B|0}c[f>>2]=Bt(c[q>>2]|0)|0;Ye(41621,f);B=c[q>>2]|0;i=e;return B|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+160|0;if((i|0)>=(j|0))$(160);f=e+48|0;g=e+40|0;h=e+32|0;k=e;l=e+148|0;m=e+144|0;n=e+140|0;o=e+136|0;p=e+96|0;q=e+88|0;r=e+64|0;s=e+60|0;t=e+56|0;u=e+52|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[q>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[s>>2]=0;Lj(p,2,ul(c[n>>2]|0)|0);c[o>>2]=Nj(c[m>>2]|0,q,p)|0;do if(!(c[o>>2]|0)){if(Ff(1)|0)af(41272,c[q>>2]|0);if(c[q>>2]|0?c[(c[q>>2]|0)+12>>2]&4|0:0){c[o>>2]=79;break}m=c[n>>2]|0;c[k>>2]=r;c[k+4>>2]=r+4;c[k+8>>2]=r+8;c[k+12>>2]=r+12;c[k+16>>2]=r+16;c[k+20>>2]=r+20;c[k+24>>2]=0;c[o>>2]=lg(m,0,41288,k)|0;if(!(c[o>>2]|0)){if(Ff(1)|0?(af(41298,c[r>>2]|0),af(41314,c[r+4>>2]|0),(Wg()|0)==0):0){af(41330,c[r+8>>2]|0);af(41346,c[r+12>>2]|0);af(41362,c[r+16>>2]|0);af(41378,c[r+20>>2]|0)}c[s>>2]=Rp(0)|0;Fl(c[s>>2]|0,c[q>>2]|0,r);if(Ff(1)|0)af(41394,c[s>>2]|0);if(!(c[p+12>>2]&4)){m=c[l>>2]|0;c[g>>2]=c[s>>2];c[o>>2]=cg(m,0,41430,g)|0;break}c[u>>2]=(((lo(c[r>>2]|0)|0)+7|0)>>>0)/8|0;c[o>>2]=dp(t,0,c[s>>2]|0,c[u>>2]|0)|0;if(!(c[o>>2]|0)){m=c[l>>2]|0;d=c[t>>2]|0;c[h>>2]=c[u>>2];c[h+4>>2]=d;c[o>>2]=cg(m,0,41410,h)|0;vf(c[t>>2]|0)}}}while(0);Tp(c[s>>2]|0);Tp(c[r>>2]|0);Tp(c[r+4>>2]|0);Tp(c[r+8>>2]|0);Tp(c[r+12>>2]|0);Tp(c[r+16>>2]|0);Tp(c[r+20>>2]|0);Tp(c[q>>2]|0);Mj(p);if(!(Ff(1)|0)){v=c[o>>2]|0;i=e;return v|0}c[f>>2]=Bt(c[o>>2]|0)|0;Ye(41450,f);v=c[o>>2]|0;i=e;return v|0}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+112|0;if((i|0)>=(j|0))$(112);f=e+24|0;g=e+8|0;h=e;k=e+108|0;l=e+104|0;m=e+100|0;n=e+96|0;o=e+56|0;p=e+48|0;q=e+44|0;r=e+40|0;s=e+32|0;t=e+28|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[s+4>>2]=0;c[t>>2]=0;Lj(o,3,ul(c[m>>2]|0)|0);c[n>>2]=Nj(c[l>>2]|0,r,o)|0;do if(!(c[n>>2]|0)){if(Ff(1)|0)af(41171,c[r>>2]|0);if(c[r>>2]|0?c[(c[r>>2]|0)+12>>2]&4|0:0){c[n>>2]=79;break}c[n>>2]=Ij(c[k>>2]|0,7768,p,0)|0;if((c[n>>2]|0)==0?(l=c[p>>2]|0,c[h>>2]=q,c[h+4>>2]=0,c[n>>2]=lg(l,0,39373,h)|0,(c[n>>2]|0)==0):0){if(Ff(1)|0)af(41187,c[q>>2]|0);l=c[m>>2]|0;c[g>>2]=s;c[g+4>>2]=s+4;c[g+8>>2]=0;c[n>>2]=lg(l,0,39361,g)|0;if(!(c[n>>2]|0)){if(Ff(1)|0){af(41203,c[s>>2]|0);af(41219,c[s+4>>2]|0)}c[t>>2]=Rp(0)|0;El(c[t>>2]|0,c[q>>2]|0,s);if(Ff(1)|0)af(41235,c[t>>2]|0);if(c[o+32>>2]|0){c[n>>2]=Db[c[o+32>>2]&7](o,c[t>>2]|0)|0;break}else{l=(wo(c[t>>2]|0,c[r>>2]|0)|0)!=0;c[n>>2]=l?8:0;break}}}}while(0);Tp(c[t>>2]|0);Tp(c[s>>2]|0);Tp(c[s+4>>2]|0);Tp(c[r>>2]|0);Tp(c[q>>2]|0);Rf(c[p>>2]|0);Mj(o);if(!(Ff(1)|0)){u=c[n>>2]|0;i=e;return u|0}if(c[n>>2]|0)v=Bt(c[n>>2]|0)|0;else v=47492;c[f>>2]=v;Ye(41251,f);u=c[n>>2]|0;i=e;return u|0}function ul(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[f>>2]=Tf(c[e>>2]|0,39375,1)|0;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[g>>2]=$f(c[f>>2]|0,1,5)|0;Rf(c[f>>2]|0);if(c[g>>2]|0)l=lo(c[g>>2]|0)|0;else l=0;c[h>>2]=l;Tp(c[g>>2]|0);c[d>>2]=c[h>>2];k=c[d>>2]|0;i=b;return k|0}function vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+4|0;h=e;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1){c[h>>2]=xl(c[g>>2]|0)|0;k=c[h>>2]|0;i=e;return k|0}else{c[h>>2]=4;k=c[h>>2]|0;i=e;return k|0}return 0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Tf(c[g>>2]|0,39375,1)|0;if(!(c[h>>2]|0)){c[e>>2]=68;m=c[e>>2]|0;i=d;return m|0}c[k>>2]=Xf(c[h>>2]|0,1,l)|0;if(c[k>>2]|0){$i(c[f>>2]|0,c[k>>2]|0,c[l>>2]|0);Rf(c[h>>2]|0);c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}else{Rf(c[h>>2]|0);c[e>>2]=68;m=c[e>>2]|0;i=d;return m|0}return 0}function xl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+24|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;k=b+4|0;l=b;c[e>>2]=a;c[k>>2]=0;c[l>>2]=0;c[f>>2]=39377;c[h>>2]=eg(k,0,39385,hv(39385)|0)|0;if(!(c[h>>2]|0))c[h>>2]=eg(l,0,40415,hv(40415)|0)|0;do if(!(c[h>>2]|0)){c[f>>2]=40732;c[h>>2]=Yj(c[k>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=yl(c[h>>2]|0)|0;break}c[f>>2]=40748;c[g>>2]=zl(c[l>>2]|0,c[k>>2]|0)|0;if((c[g>>2]|0)==0?(c[f>>2]=40753,c[g>>2]=Al(c[l>>2]|0,c[k>>2]|0)|0,(c[g>>2]|0)==0):0){Rf(c[l>>2]|0);Rf(c[k>>2]|0);c[d>>2]=0;m=c[d>>2]|0;i=b;return m|0}}else c[g>>2]=yl(c[h>>2]|0)|0;while(0);Rf(c[l>>2]|0);Rf(c[k>>2]|0);if(c[e>>2]|0)Eb[c[e>>2]&1](47251,1,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;m=c[d>>2]|0;i=b;return m|0}function yl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Bt(c[d>>2]|0)|0;i=b;return a|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[h>>2]=eg(k,0,40963,hv(40963)|0)|0;if(!(c[h>>2]|0))c[h>>2]=eg(l,0,41039,hv(41039)|0)|0;do if(!(c[h>>2]|0)){c[h>>2]=Wj(m,c[k>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=41115;break}c[h>>2]=Xj(c[m>>2]|0,c[k>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=41130;break}c[h>>2]=Xj(c[m>>2]|0,c[l>>2]|0,c[e>>2]|0)|0;if((Cl(c[h>>2]|0)|0)!=8)c[g>>2]=41144}else c[g>>2]=40791;while(0);Rf(c[m>>2]|0);Rf(c[l>>2]|0);Rf(c[k>>2]|0);i=d;return c[g>>2]|0}function Al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+64|0;if((i|0)>=(j|0))$(64);e=d;f=d+48|0;g=d+44|0;h=d+40|0;k=d+36|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;p=d+12|0;q=d+8|0;r=d+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[d+32>>2]=1e3;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[l>>2]=Rp(1e3)|0;Up(c[l>>2]|0,1e3,0);c[e>>2]=c[l>>2];c[k>>2]=cg(m,0,40761,e)|0;do if(!(c[k>>2]|0)){c[k>>2]=Tj(n,c[m>>2]|0,c[f>>2]|0)|0;if(c[k>>2]|0){c[h>>2]=40814;break}c[o>>2]=Bl(c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[h>>2]=40829;break}if(!(wo(c[l>>2]|0,c[o>>2]|0)|0)){c[h>>2]=40862;break}c[k>>2]=Vj(p,c[n>>2]|0,c[g>>2]|0)|0;if(c[k>>2]|0){c[h>>2]=40891;break}c[r>>2]=Tf(c[p>>2]|0,40906,0)|0;if(c[r>>2]|0)c[q>>2]=$f(c[r>>2]|0,1,5)|0;else c[q>>2]=$f(c[p>>2]|0,0,5)|0;if(!(c[q>>2]|0)){c[h>>2]=40912;break}if(wo(c[l>>2]|0,c[q>>2]|0)|0)c[h>>2]=40942}else c[h>>2]=40791;while(0);Rf(c[r>>2]|0);Tp(c[q>>2]|0);Rf(c[p>>2]|0);Tp(c[o>>2]|0);Rf(c[n>>2]|0);Rf(c[m>>2]|0);Tp(c[l>>2]|0);i=d;return c[h>>2]|0}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;k=b;c[e>>2]=a;c[f>>2]=Tf(c[e>>2]|0,40951,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}c[g>>2]=Tf(c[f>>2]|0,40959,0)|0;Rf(c[f>>2]|0);if(!(c[g>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}c[h>>2]=Tf(c[g>>2]|0,39371,0)|0;Rf(c[g>>2]|0);if(c[h>>2]|0){c[k>>2]=$f(c[h>>2]|0,1,0)|0;Rf(c[h>>2]|0);c[d>>2]=c[k>>2];l=c[d>>2]|0;i=b;return l|0}else{c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function Cl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Dl(c[d>>2]|0)|0;i=b;return a|0}function Dl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==(c[g>>2]|0)){c[k>>2]=vp(c[(c[g>>2]|0)+4>>2]<<1)|0;So(c[k>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);Kp(c[f>>2]|0,c[k>>2]|0)|0;Dp(c[k>>2]|0);i=e;return}else{So(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);i=e;return}}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;ko(c[g>>2]|0);if((c[(c[h>>2]|0)+12>>2]|0?c[(c[h>>2]|0)+16>>2]|0:0)?c[(c[h>>2]|0)+20>>2]|0:0){c[k>>2]=xp((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[l>>2]=xp((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[m>>2]=xp((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;go(c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0,1);xo(c[m>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[m>>2]|0);So(c[k>>2]|0,c[g>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0);go(c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0,1);xo(c[m>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[m>>2]|0);So(c[l>>2]|0,c[g>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0);ho(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0);if(c[(c[m>>2]|0)+8>>2]|0)fo(c[m>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Ro(c[m>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Qo(c[m>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0);fo(c[f>>2]|0,c[k>>2]|0,c[m>>2]|0);Dp(c[m>>2]|0);Dp(c[k>>2]|0);Dp(c[l>>2]|0);i=e;return}So(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[c[h>>2]>>2]|0);i=e;return}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[f>>2]=vp(c[(c[(c[d>>2]|0)+12>>2]|0)+4>>2]<<1)|0;Qo(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0,c[(c[d>>2]|0)+16>>2]|0);c[e>>2]=wo(c[f>>2]|0,c[c[d>>2]>>2]|0)|0;Dp(c[f>>2]|0);i=b;return ((c[e>>2]|0)!=0^1)&1|0}function Hl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=i;i=i+176|0;if((i|0)>=(j|0))$(176);h=g;k=g+164|0;l=g+160|0;m=g+156|0;n=g+152|0;o=g+148|0;p=g+144|0;q=g+140|0;r=g+136|0;s=g+132|0;t=g+128|0;u=g+124|0;v=g+120|0;w=g+116|0;x=g+112|0;y=g+108|0;z=g+104|0;A=g+100|0;B=g+96|0;C=g+92|0;D=g+88|0;E=g+84|0;F=g+80|0;G=g+76|0;H=g+72|0;I=g+16|0;J=g+8|0;K=g+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[c[p>>2]>>2]=0;if((c[n>>2]|0)==1)c[n>>2]=65537;if((c[m>>2]|0)>>>0>=1024?(((c[m>>2]|0)>>>0)%256|0|0)==0:0){if((c[n>>2]|0)>>>0<3){c[k>>2]=55;L=c[k>>2]|0;i=g;return L|0}if(!(c[n>>2]&1)){c[k>>2]=55;L=c[k>>2]|0;i=g;return L|0}c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;if(c[o>>2]|0){f=I;e=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[I>>2]=42052;c[I+8>>2]=42056;c[I+16>>2]=42060;c[I+24>>2]=42063;c[I+32>>2]=42067;c[I+40>>2]=42071;c[I+4>>2]=B;c[I+8+4>>2]=C;c[I+16+4>>2]=D;c[I+24+4>>2]=E;c[I+32+4>>2]=F;c[I+40+4>>2]=G;c[J>>2]=0;while(1){if(!(c[I+(c[J>>2]<<3)>>2]|0))break;c[K>>2]=Tf(c[o>>2]|0,c[I+(c[J>>2]<<3)>>2]|0,0)|0;if(c[K>>2]|0){f=$f(c[K>>2]|0,1,5)|0;c[c[I+(c[J>>2]<<3)+4>>2]>>2]=f;Rf(c[K>>2]|0)}c[J>>2]=(c[J>>2]|0)+1}c[J>>2]=0;while(1){if(!(c[I+(c[J>>2]<<3)>>2]|0))break;if(!(c[c[I+(c[J>>2]<<3)+4>>2]>>2]|0))break;c[J>>2]=(c[J>>2]|0)+1}if(c[I+(c[J>>2]<<3)>>2]|0){c[J>>2]=0;while(1){if(!(c[I+(c[J>>2]<<3)>>2]|0))break;Tp(c[c[I+(c[J>>2]<<3)+4>>2]>>2]|0);c[J>>2]=(c[J>>2]|0)+1}c[k>>2]=128;L=c[k>>2]|0;i=g;return L|0}}else{c[D>>2]=Ll(((c[m>>2]|0)>>>0)/2|0)|0;c[H>>2]=Sp(((c[m>>2]|0)>>>0)/2|0)|0;do{Tp(c[G>>2]|0);c[G>>2]=Ll(((c[m>>2]|0)>>>0)/2|0)|0;ho(c[H>>2]|0,c[D>>2]|0,c[G>>2]|0);J=lo(c[H>>2]|0)|0}while(J>>>0<=((((c[m>>2]|0)>>>0)/2|0)-100|0)>>>0);Tp(c[H>>2]|0);c[B>>2]=Ml()|0;c[C>>2]=Ml()|0;c[E>>2]=Ml()|0;c[F>>2]=Ml()|0}c[s>>2]=up(c[n>>2]|0)|0;c[q>>2]=Dj(c[D>>2]|0,c[B>>2]|0,c[C>>2]|0,c[s>>2]|0,0,0)|0;c[r>>2]=Dj(c[G>>2]|0,c[E>>2]|0,c[F>>2]|0,c[s>>2]|0,0,0)|0;Tp(c[D>>2]|0);c[D>>2]=0;Tp(c[B>>2]|0);c[B>>2]=0;Tp(c[C>>2]|0);c[C>>2]=0;Tp(c[G>>2]|0);c[G>>2]=0;Tp(c[E>>2]|0);c[E>>2]=0;Tp(c[F>>2]|0);c[F>>2]=0;F=c[q>>2]|0;if(!((c[q>>2]|0)!=0&(c[r>>2]|0)!=0)){Tp(F);Tp(c[r>>2]|0);Tp(c[s>>2]|0);c[k>>2]=21;L=c[k>>2]|0;i=g;return L|0}if((wo(F,c[r>>2]|0)|0)>0){Pp(c[q>>2]|0,c[r>>2]|0);c[c[p>>2]>>2]=1}c[t>>2]=Rp(c[m>>2]|0)|0;Qo(c[t>>2]|0,c[q>>2]|0,c[r>>2]|0);c[w>>2]=Sp(((c[m>>2]|0)>>>0)/2|0)|0;c[x>>2]=Sp(((c[m>>2]|0)>>>0)/2|0)|0;c[y>>2]=Sp(c[m>>2]|0)|0;go(c[w>>2]|0,c[q>>2]|0,1);go(c[x>>2]|0,c[r>>2]|0,1);Qo(c[y>>2]|0,c[w>>2]|0,c[x>>2]|0);c[A>>2]=Sp(c[m>>2]|0)|0;if(!(Fo(c[A>>2]|0,c[s>>2]|0,c[y>>2]|0)|0))Se(42074,41941,541,42108);Fo(c[A>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;c[z>>2]=c[w>>2];c[w>>2]=0;Tp(c[x>>2]|0);c[x>>2]=0;Bo(c[z>>2]|0,c[y>>2]|0,c[A>>2]|0);Tp(c[y>>2]|0);c[y>>2]=0;c[u>>2]=c[A>>2];c[A>>2]=0;Lo(c[u>>2]|0,c[s>>2]|0,c[z>>2]|0)|0;c[v>>2]=c[z>>2];c[z>>2]=0;Lo(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(Ff(1)|0){if(c[c[p>>2]>>2]|0)Ye(42122,h);af(45756,c[q>>2]|0);af(42143,c[r>>2]|0);af(42147,c[t>>2]|0);af(42151,c[s>>2]|0);af(42155,c[u>>2]|0);af(42159,c[v>>2]|0)}c[c[l>>2]>>2]=c[t>>2];c[(c[l>>2]|0)+4>>2]=c[s>>2];c[(c[l>>2]|0)+12>>2]=c[q>>2];c[(c[l>>2]|0)+16>>2]=c[r>>2];c[(c[l>>2]|0)+8>>2]=c[u>>2];c[(c[l>>2]|0)+20>>2]=c[v>>2];if(Kl(c[l>>2]|0,(c[m>>2]|0)-64|0)|0){Tp(c[c[l>>2]>>2]|0);c[c[l>>2]>>2]=0;Tp(c[(c[l>>2]|0)+4>>2]|0);c[(c[l>>2]|0)+4>>2]=0;Tp(c[(c[l>>2]|0)+12>>2]|0);c[(c[l>>2]|0)+12>>2]=0;Tp(c[(c[l>>2]|0)+16>>2]|0);c[(c[l>>2]|0)+16>>2]=0;Tp(c[(c[l>>2]|0)+8>>2]|0);c[(c[l>>2]|0)+8>>2]=0;Tp(c[(c[l>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+20>>2]=0;dh(41941,586,42108,0,42014);c[k>>2]=50;L=c[k>>2]|0;i=g;return L|0}else{c[k>>2]=0;L=c[k>>2]|0;i=g;return L|0}}c[k>>2]=55;L=c[k>>2]|0;i=g;return L|0}function Il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+80|0;if((i|0)>=(j|0))$(80);g=f+64|0;h=f+60|0;k=f+56|0;l=f+52|0;m=f+48|0;n=f+44|0;o=f+40|0;p=f+36|0;q=f+32|0;r=f+28|0;s=f+24|0;t=f+20|0;u=f+16|0;v=f+12|0;w=f+8|0;x=f+4|0;y=f;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if(Wg()|0){if((c[k>>2]|0)>>>0<1024){c[g>>2]=55;z=c[g>>2]|0;i=f;return z|0}if(c[m>>2]|0){c[g>>2]=55;z=c[g>>2]|0;i=f;return z|0}}c[y>>2]=c[m>>2]|0?1:2;if(c[k>>2]&1|0)c[k>>2]=(c[k>>2]|0)+1;if((c[l>>2]|0)==1)c[l>>2]=65537;c[u>>2]=vp(1)|0;if(c[l>>2]|0){c[l>>2]=c[l>>2]|1;Op(c[u>>2]|0,c[l>>2]|0)|0}else Op(c[u>>2]|0,41)|0;c[t>>2]=Rp(c[k>>2]|0)|0;c[o>>2]=0;c[n>>2]=0;do{if(c[n>>2]|0)Tp(c[n>>2]|0);if(c[o>>2]|0)Tp(c[o>>2]|0);m=((c[k>>2]|0)>>>0)/2|0;e=c[y>>2]|0;if(c[l>>2]|0){c[n>>2]=yj(m,e,6,c[u>>2]|0)|0;c[o>>2]=yj(((c[k>>2]|0)>>>0)/2|0,c[y>>2]|0,6,c[u>>2]|0)|0}else{c[n>>2]=yj(m,e,0,0)|0;c[o>>2]=yj(((c[k>>2]|0)>>>0)/2|0,c[y>>2]|0,0,0)|0}if((wo(c[n>>2]|0,c[o>>2]|0)|0)>0)Pp(c[n>>2]|0,c[o>>2]|0);Qo(c[t>>2]|0,c[n>>2]|0,c[o>>2]|0);e=lo(c[t>>2]|0)|0}while((e|0)!=(c[k>>2]|0));c[r>>2]=xp(c[(c[n>>2]|0)+4>>2]|0)|0;c[s>>2]=xp(c[(c[n>>2]|0)+4>>2]|0)|0;c[v>>2]=Sp(c[k>>2]|0)|0;c[w>>2]=Sp(c[k>>2]|0)|0;c[x>>2]=Sp(c[k>>2]|0)|0;go(c[r>>2]|0,c[n>>2]|0,1);go(c[s>>2]|0,c[o>>2]|0,1);Qo(c[v>>2]|0,c[r>>2]|0,c[s>>2]|0);Fo(c[w>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;Bo(c[x>>2]|0,c[v>>2]|0,c[w>>2]|0);while(1){if(!((Fo(c[r>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)!=0^1))break;if(c[l>>2]|0){A=27;break}eo(c[u>>2]|0,c[u>>2]|0,2)}if((A|0)==27)Re(41941,287,41947);c[p>>2]=Sp(c[k>>2]|0)|0;Lo(c[p>>2]|0,c[u>>2]|0,c[x>>2]|0)|0;c[q>>2]=Sp(c[k>>2]|0)|0;Lo(c[q>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(Ff(1)|0){af(41960,c[n>>2]|0);af(41966,c[o>>2]|0);af(41972,c[v>>2]|0);af(41978,c[w>>2]|0);af(41984,c[x>>2]|0);af(41990,c[t>>2]|0);af(41996,c[u>>2]|0);af(42002,c[p>>2]|0);af(42008,c[q>>2]|0)}Tp(c[r>>2]|0);Tp(c[s>>2]|0);Tp(c[v>>2]|0);Tp(c[x>>2]|0);Tp(c[w>>2]|0);c[c[h>>2]>>2]=c[t>>2];c[(c[h>>2]|0)+4>>2]=c[u>>2];c[(c[h>>2]|0)+12>>2]=c[n>>2];c[(c[h>>2]|0)+16>>2]=c[o>>2];c[(c[h>>2]|0)+8>>2]=c[p>>2];c[(c[h>>2]|0)+20>>2]=c[q>>2];if(Kl(c[h>>2]|0,(c[k>>2]|0)-64|0)|0){Tp(c[c[h>>2]>>2]|0);c[c[h>>2]>>2]=0;Tp(c[(c[h>>2]|0)+4>>2]|0);c[(c[h>>2]|0)+4>>2]=0;Tp(c[(c[h>>2]|0)+12>>2]|0);c[(c[h>>2]|0)+12>>2]=0;Tp(c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=0;Tp(c[(c[h>>2]|0)+8>>2]|0);c[(c[h>>2]|0)+8>>2]=0;Tp(c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+20>>2]=0;dh(41941,334,41947,0,42014);c[g>>2]=50;z=c[g>>2]|0;i=f;return z|0}else{c[g>>2]=0;z=c[g>>2]|0;i=f;return z|0}return 0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];go(c[f>>2]|0,c[f>>2]|0,1);c[h>>2]=Lp(c[f>>2]|0)|0;c[k>>2]=((Fo(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0)!=0^1)&1;Tp(c[h>>2]|0);eo(c[f>>2]|0,c[f>>2]|0,1);i=d;return c[k>>2]|0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+32|0;f=d+28|0;g=d+24|0;h=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=-1;c[k>>2]=Rp(c[f>>2]|0)|0;c[l>>2]=Rp(c[f>>2]|0)|0;c[m>>2]=Rp(c[f>>2]|0)|0;c[n>>2]=Rp(c[f>>2]|0)|0;c[h>>2]=c[c[e>>2]>>2];c[h+4>>2]=c[(c[e>>2]|0)+4>>2];Up(c[k>>2]|0,c[f>>2]|0,0);El(c[l>>2]|0,c[k>>2]|0,h);if(((wo(c[l>>2]|0,c[k>>2]|0)|0?(Fl(c[m>>2]|0,c[l>>2]|0,c[e>>2]|0),(wo(c[m>>2]|0,c[k>>2]|0)|0)==0):0)?(Up(c[k>>2]|0,c[f>>2]|0,0),Fl(c[n>>2]|0,c[k>>2]|0,c[e>>2]|0),El(c[m>>2]|0,c[n>>2]|0,h),(wo(c[m>>2]|0,c[k>>2]|0)|0)==0):0)?(eo(c[n>>2]|0,c[n>>2]|0,1),El(c[m>>2]|0,c[n>>2]|0,h),wo(c[m>>2]|0,c[k>>2]|0)|0):0)c[g>>2]=0;Tp(c[n>>2]|0);Tp(c[m>>2]|0);Tp(c[l>>2]|0);Tp(c[k>>2]|0);i=d;return c[g>>2]|0}function Ll(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Sp(c[d>>2]|0)|0;Up(c[e>>2]|0,c[d>>2]|0,2);oo(c[e>>2]|0,(c[d>>2]|0)-1|0);no(c[e>>2]|0,(c[d>>2]|0)-2|0);a=lo(c[e>>2]|0)|0;if((a|0)==(c[d>>2]|0)){i=b;return c[e>>2]|0}else Se(42214,41941,360,42250);return 0}function Ml(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;c[b>>2]=Sp(101)|0;Up(c[b>>2]|0,101,2);oo(c[b>>2]|0,100);if((lo(c[b>>2]|0)|0)==101){i=a;return c[b>>2]|0}else Se(42163,41941,375,42197);return 0}function Nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=pg()|0;c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=32;i=d;return}
-function Ks(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;h=f+12|0;k=f+8|0;l=f+4|0;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0))Se(52739,51404,685,52762);if(!(c[l>>2]|0))Se(51624,51404,686,52762);Es(c[l>>2]|0);do if(!(c[(c[l>>2]|0)+4>>2]|0)){if((c[l>>2]|0)==(c[17790]|0)){e=Ls(1)|0;c[(c[l>>2]|0)+4>>2]=e}else{e=Ls(0)|0;c[(c[l>>2]|0)+4>>2]=e}if(c[(c[l>>2]|0)+4>>2]|0){e=_v()|0;c[(c[l>>2]|0)+60>>2]=e;break}else We(51686,g)}while(0);if(!((a[(c[l>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))Ms(c[l>>2]|0);e=c[(c[l>>2]|0)+60>>2]|0;if((e|0)==(_v()|0)?(e=c[(c[l>>2]|0)+64>>2]|0,(e|0)==(_v()|0)):0)if(Ns(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)We(51686,g);else{Es(c[l>>2]|0);i=f;return}dh(51404,714,52762,0,51632);We(51686,g)}function Ls(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+64|0;if((i|0)>=(j|0))$(64);f=e+16|0;g=e+8|0;h=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;q=e+52|0;r=e;s=e+20|0;c[k>>2]=b;if(!(c[17793]|0))Se(51715,51404,596,52093);c[m>>2]=wh(l,7,1,1)|0;if(c[m>>2]|0){c[g>>2]=Ss(c[m>>2]|0)|0;Ve(52111,g);c[h>>2]=0;t=c[h>>2]|0;i=e;return t|0}if(c[k>>2]|0){c[n>>2]=zf(16)|0;Ks(c[n>>2]|0,16,c[17791]|0)}else c[n>>2]=Us(16)|0;c[m>>2]=Jh(c[l>>2]|0,c[n>>2]|0,16)|0;c[o>>2]=c[n>>2];c[p>>2]=16;a[q>>0]=0;k=r;c[k>>2]=d[q>>0];c[k+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){k=r;g=ex(c[k>>2]|0,c[k+4>>2]|0,16843009,16843009)|0;k=r;c[k>>2]=g;c[k+4>>2]=D;do{c[s>>2]=c[o>>2];k=r;g=c[k+4>>2]|0;b=c[s>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=g;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}vf(c[n>>2]|0);if(c[m>>2]|0){c[f>>2]=Ss(c[m>>2]|0)|0;Ve(52154,f);Bh(c[l>>2]|0);c[h>>2]=0;t=c[h>>2]|0;i=e;return t|0}else{c[h>>2]=c[l>>2];t=c[h>>2]|0;i=e;return t|0}return 0}function Ms(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;if(!(c[17793]|0))Se(51715,51404,658,51956);b=(c[e>>2]|0)+17|0;if((c[e>>2]|0)==(c[17790]|0)){Ks(b,16,c[17791]|0);f=(c[e>>2]|0)+8|0;a[f>>0]=a[f>>0]&-2|1;f=_v()|0;c[(c[e>>2]|0)+64>>2]=f;i=d;return}else{Ts(b,16);b=(c[e>>2]|0)+8|0;a[b>>0]=a[b>>0]&-2|1;b=_v()|0;c[(c[e>>2]|0)+64>>2]=b;i=d;return}}function Ns(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=g+48|0;k=g+44|0;l=g+40|0;m=g+36|0;n=g+56|0;o=g+32|0;p=g+28|0;q=g+24|0;r=g+20|0;s=g+16|0;t=g+12|0;u=g+52|0;v=g;w=g+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[17793]|0))Se(51715,51404,444,51734);if(!(c[(c[m>>2]|0)+4>>2]|0))Se(51750,51404,445,51734);if(!((a[(c[m>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))Se(51769,51404,446,51734);if(!(c[17789]|0))Se(51788,51404,448,51734);c[o>>2]=c[17789];c[p>>2]=(c[17789]|0)+16;c[q>>2]=(c[17789]|0)+32;while(1){if(!(c[l>>2]|0)){x=33;break}if((c[(c[m>>2]|0)+52>>2]|0)==0?(c[(c[m>>2]|0)+12>>2]|0)>>>0>1e3:0){Ms(c[m>>2]|0);c[(c[m>>2]|0)+12>>2]=0}c[r>>2]=(c[l>>2]|0)>>>0<16?c[l>>2]|0:16;Os(n,16,c[m>>2]|0);Ps(c[q>>2]|0,n,(c[m>>2]|0)+17|0,c[(c[m>>2]|0)+4>>2]|0,c[o>>2]|0,c[p>>2]|0);f=(c[m>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;if(!((((d[(c[m>>2]|0)+51>>0]|0|0?c[(c[m>>2]|0)+52>>2]|0:0)?(c[m>>2]|0)!=(c[17790]|0):0)?(c[m>>2]|0)!=(c[17791]|0):0)?(c[m>>2]|0)!=(c[17792]|0):0)){f=(c[m>>2]|0)+34|0;e=c[q>>2]|0;if(!((a[(c[m>>2]|0)+8>>0]<<6&255)<<24>>24>>7<<24>>24)){y=f;z=e;A=y+16|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));b=(c[m>>2]|0)+8|0;a[b>>0]=a[b>>0]&-3|2;continue}if(!(Jv(f,e,16)|0)){x=22;break}y=(c[m>>2]|0)+34|0;z=c[q>>2]|0;A=y+16|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0))}Yw(c[k>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[s>>2]=c[q>>2];c[t>>2]=16;a[u>>0]=0;e=v;c[e>>2]=d[u>>0];c[e+4>>2]=0;while(1){if(!(c[s>>2]&7|0?(c[t>>2]|0)!=0:0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}if((c[t>>2]|0)>>>0>=8){e=v;f=ex(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=v;c[e>>2]=f;c[e+4>>2]=D;do{c[w>>2]=c[s>>2];e=v;f=c[e+4>>2]|0;b=c[w>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[t>>2]=(c[t>>2]|0)-8;c[s>>2]=(c[s>>2]|0)+8}while((c[t>>2]|0)>>>0>=8)}while(1){if(!(c[t>>2]|0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+(c[r>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[r>>2]|0)}if((x|0)==22){dh(51404,502,51734,0,51818);c[h>>2]=-1;B=c[h>>2]|0;i=g;return B|0}else if((x|0)==33){c[h>>2]=0;B=c[h>>2]|0;i=g;return B|0}return 0}function Os(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h;l=h+28|0;m=h+24|0;n=h+20|0;o=h+16|0;p=h+8|0;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;if((c[m>>2]|0)!=16)Se(51858,51404,273,51917);if(!(c[17793]|0))Se(51715,51404,274,51917);if(((c[(c[n>>2]|0)+52>>2]|0?(c[n>>2]|0)!=(c[17790]|0):0)?(c[n>>2]|0)!=(c[17791]|0):0)?(c[n>>2]|0)!=(c[17792]|0):0){m=c[l>>2]|0;g=c[(c[n>>2]|0)+52>>2]|0;f=m+16|0;do{a[m>>0]=a[g>>0]|0;m=m+1|0;g=g+1|0}while((m|0)<(f|0));a[(c[l>>2]|0)+12>>0]=(c[(c[n>>2]|0)+56>>2]|0)>>>24;a[(c[l>>2]|0)+13>>0]=(c[(c[n>>2]|0)+56>>2]|0)>>>16;a[(c[l>>2]|0)+14>>0]=(c[(c[n>>2]|0)+56>>2]|0)>>>8;a[(c[l>>2]|0)+15>>0]=c[(c[n>>2]|0)+56>>2];g=(c[n>>2]|0)+56|0;c[g>>2]=(c[g>>2]|0)+1;i=h;return}if(!(c[17795]|0)){c[17796]=_v()|0;c[17797]=qw()|0}if(lb(p|0,0)|0){c[k>>2]=Nu(c[(xu()|0)>>2]|0)|0;We(51929,k)}c[o>>2]=c[p+4>>2];c[o>>2]=c[o>>2]<<4;if((c[p>>2]|0)==(c[17795]|0)?(c[o>>2]|0)==(c[17798]|0):0){b[35902]=(b[35902]|0)+1<<16>>16;b[35902]=(e[35902]|0)&4095}else{b[35902]=0;c[17795]=c[p>>2];c[17798]=c[o>>2]}a[c[l>>2]>>0]=c[p>>2]>>24;a[(c[l>>2]|0)+1>>0]=c[p>>2]>>16;a[(c[l>>2]|0)+2>>0]=c[p>>2]>>8;a[(c[l>>2]|0)+3>>0]=c[p>>2];a[(c[l>>2]|0)+4>>0]=(c[o>>2]|0)>>>16;a[(c[l>>2]|0)+5>>0]=(c[o>>2]|0)>>>8;a[(c[l>>2]|0)+6>>0]=c[o>>2]&240|(e[35902]|0)>>8&15;a[(c[l>>2]|0)+7>>0]=e[35902]|0;a[(c[l>>2]|0)+8>>0]=(c[17796]|0)>>>24;a[(c[l>>2]|0)+9>>0]=(c[17796]|0)>>>16;a[(c[l>>2]|0)+10>>0]=(c[17796]|0)>>>8;a[(c[l>>2]|0)+11>>0]=c[17796];a[(c[l>>2]|0)+12>>0]=(c[17797]|0)>>>24;a[(c[l>>2]|0)+13>>0]=(c[17797]|0)>>>16;a[(c[l>>2]|0)+14>>0]=(c[17797]|0)>>>8;a[(c[l>>2]|0)+15>>0]=c[17797];l=(c[17797]|0)+1|0;c[17797]=l;if(l|0){i=h;return}c[17796]=(c[17796]|0)+1;i=h;return}function Ps(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=i;i=i+80|0;if((i|0)>=(j|0))$(80);m=l+60|0;n=l+56|0;o=l+52|0;p=l+48|0;q=l+44|0;r=l+40|0;s=l+36|0;t=l+32|0;u=l+65|0;v=l+8|0;w=l+28|0;x=l+24|0;y=l+20|0;z=l+64|0;A=l;B=l+16|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=k;Qs(c[p>>2]|0,c[q>>2]|0,c[n>>2]|0,16);Rs(c[r>>2]|0,c[q>>2]|0,c[o>>2]|0,16);Qs(c[p>>2]|0,c[m>>2]|0,c[r>>2]|0,16);Rs(c[r>>2]|0,c[m>>2]|0,c[q>>2]|0,16);Qs(c[p>>2]|0,c[o>>2]|0,c[r>>2]|0,16);c[s>>2]=c[q>>2];c[t>>2]=16;a[u>>0]=0;q=v;c[q>>2]=d[u>>0];c[q+4>>2]=0;while(1){if(!(c[s>>2]&7|0?(c[t>>2]|0)!=0:0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}if((c[t>>2]|0)>>>0>=8){q=v;o=ex(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=v;c[q>>2]=o;c[q+4>>2]=D;do{c[w>>2]=c[s>>2];q=v;o=c[q+4>>2]|0;p=c[w>>2]|0;c[p>>2]=c[q>>2];c[p+4>>2]=o;c[t>>2]=(c[t>>2]|0)-8;c[s>>2]=(c[s>>2]|0)+8}while((c[t>>2]|0)>>>0>=8)}while(1){if(!(c[t>>2]|0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}c[x>>2]=c[r>>2];c[y>>2]=16;a[z>>0]=0;r=A;c[r>>2]=d[z>>0];c[r+4>>2]=0;while(1){if(!(c[x>>2]&7|0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){r=A;t=ex(c[r>>2]|0,c[r+4>>2]|0,16843009,16843009)|0;r=A;c[r>>2]=t;c[r+4>>2]=D;do{c[B>>2]=c[x>>2];r=A;t=c[r+4>>2]|0;s=c[B>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=t;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}i=l;return}function Qs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;h=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((c[m>>2]|0)!=16)Se(51858,51404,386,51871);c[n>>2]=Ch(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=Ss(c[n>>2]|0)|0;We(51883,g)}else{i=f;return}}function Rs(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=h+12|0;l=h+8|0;m=h+4|0;n=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;while(1){if(!(c[n>>2]|0))break;a[c[k>>2]>>0]=(d[c[l>>2]>>0]|0)^(d[c[m>>2]>>0]|0);c[n>>2]=(c[n>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}function Ss(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Bt(c[d>>2]|0)|0;i=b;return a|0}function Ts(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+28|0;h=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+32|0;o=f;p=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[17793]|0))Se(51715,51404,642,51968);if((c[h>>2]|0)!=16)Se(51858,51404,643,51968);c[k>>2]=Us(16)|0;h=c[g>>2]|0;g=c[k>>2]|0;e=h+16|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(e|0));c[l>>2]=c[k>>2];c[m>>2]=16;a[n>>0]=0;g=o;c[g>>2]=d[n>>0];c[g+4>>2]=0;while(1){if(!(c[l>>2]&7|0?(c[m>>2]|0)!=0:0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>>>0>=8){g=o;h=ex(c[g>>2]|0,c[g+4>>2]|0,16843009,16843009)|0;g=o;c[g>>2]=h;c[g+4>>2]=D;do{c[p>>2]=c[l>>2];g=o;h=c[g+4>>2]|0;e=c[p>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[m>>2]=(c[m>>2]|0)-8;c[l>>2]=(c[l>>2]|0)+8}while((c[m>>2]|0)>>>0>=8)}while(1){if(!(c[m>>2]|0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}vf(c[k>>2]|0);i=f;return}function Us(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;if(c[17799]|0)Se(51987,51404,552,52011);c[17799]=Bf(c[e>>2]|0)|0;c[17800]=c[e>>2];c[17801]=0;c[g>>2]=nt(4,0,16,2)|0;if((c[g>>2]|0)<0){h=c[17799]|0;vf(h);c[17799]=0;We(52023,d)}if((c[17801]|0)!=(c[17800]|0)){h=c[17799]|0;vf(h);c[17799]=0;We(52023,d)}else{c[f>>2]=c[17799];c[17799]=0;i=b;return c[f>>2]|0}return 0}function Vs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=g+12|0;k=g+8|0;l=g;c[h>>2]=b;c[k>>2]=e;c[g+4>>2]=f;c[l>>2]=c[h>>2];if(!(c[17793]|0))Se(51715,51404,531,52051);if(!(c[17799]|0))Se(52070,51404,532,52051);while(1){h=c[k>>2]|0;c[k>>2]=h+-1;if(!h){m=8;break}if((c[17801]|0)>>>0>=(c[17800]|0)>>>0){m=8;break}h=c[l>>2]|0;c[l>>2]=h+1;f=d[h>>0]|0;h=c[17801]|0;c[17801]=h+1;e=(c[17799]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f}if((m|0)==8){i=g;return}}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;As(1);Cs();Ks(c[e>>2]|0,c[f>>2]|0,c[17790]|0);Fs();i=d;return}function Xs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;jn(b+8|0,8,1);c[e>>2]=Ys(c[d>>2]|0)|0;d=Zs(c[e>>2]|0)|0;i=b;return d|0}function Ys(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+20|0;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;m=e;n=e+24|0;c[f>>2]=b;c[m>>2]=0;if(!(c[17789]|0))Se(51788,51404,912,52186);c[k>>2]=Cf(1,68)|0;Ds(c[k>>2]|0);Cs();c[g>>2]=0;a:while(1){if((c[g>>2]|0)>>>0>=3)break;c[l>>2]=wh((c[k>>2]|0)+4|0,7,1,1)|0;if(c[l>>2]|0){o=6;break}c[l>>2]=Jh(c[(c[k>>2]|0)+4>>2]|0,52237+((c[g>>2]|0)*96|0)|0,16)|0;if(c[l>>2]|0){o=8;break}b=_v()|0;c[(c[k>>2]|0)+60>>2]=b;b=(c[k>>2]|0)+17|0;p=52237+((c[g>>2]|0)*96|0)+32|0;q=b+16|0;do{a[b>>0]=a[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(q|0));p=(c[k>>2]|0)+8|0;a[p>>0]=a[p>>0]&-2|1;p=_v()|0;c[(c[k>>2]|0)+64>>2]=p;c[(c[k>>2]|0)+52>>2]=52237+((c[g>>2]|0)*96|0)+16;c[(c[k>>2]|0)+56>>2]=(d[52237+((c[g>>2]|0)*96|0)+16+12>>0]|0)<<24|(d[52237+((c[g>>2]|0)*96|0)+16+13>>0]|0)<<16|(d[52237+((c[g>>2]|0)*96|0)+16+14>>0]|0)<<8|(d[52237+((c[g>>2]|0)*96|0)+16+15>>0]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(Ns(n,16,c[k>>2]|0)|0){o=12;break a}if(Jv(n,52237+((c[g>>2]|0)*96|0)+48+(c[h>>2]<<4)|0,16)|0){o=14;break a}c[h>>2]=(c[h>>2]|0)+1}p=c[(c[k>>2]|0)+60>>2]|0;if((p|0)!=(_v()|0)){o=18;break}p=c[(c[k>>2]|0)+64>>2]|0;if((p|0)!=(_v()|0)){o=18;break}Bh(c[(c[k>>2]|0)+4>>2]|0);c[(c[k>>2]|0)+4>>2]=0;p=(c[k>>2]|0)+8|0;a[p>>0]=a[p>>0]&-2;Es(c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((o|0)==6)c[m>>2]=52199;else if((o|0)==8)c[m>>2]=52525;else if((o|0)==12)c[m>>2]=52551;else if((o|0)==14)c[m>>2]=52582;else if((o|0)==18)c[m>>2]=52620;Fs();Bh(c[(c[k>>2]|0)+4>>2]|0);Es(c[k>>2]|0);vf(c[k>>2]|0);if(!((c[f>>2]|0)!=0&(c[m>>2]|0)!=0)){r=c[m>>2]|0;s=(r|0)!=0;t=s?50:0;i=e;return t|0}Eb[c[f>>2]&1](52642,0,52649,c[m>>2]|0);r=c[m>>2]|0;s=(r|0)!=0;t=s?50:0;i=e;return t|0}function Zs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=_s(1,c[d>>2]|0)|0;i=b;return a|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function $s(b,e,f,g,h,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i;i=i+48|0;if((i|0)>=(j|0))$(48);o=n+40|0;p=n+36|0;q=n+32|0;r=n+28|0;s=n+24|0;t=n+20|0;u=n+16|0;v=n+12|0;w=n+8|0;x=n+4|0;y=n;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;As(1);if((((((c[p>>2]|0)!=0&(c[r>>2]|0)!=0^1|(c[s>>2]|0)!=16)^1)&(c[t>>2]|0)!=0^1|(c[u>>2]|0)!=16)^1)&(c[v>>2]|0)!=0^1|(c[w>>2]|0)!=16){c[o>>2]=45;z=c[o>>2]|0;i=n;return z|0}c[y>>2]=wf(1,68+(c[w>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[o>>2]=Et()|0;z=c[o>>2]|0;i=n;return z|0}Ds(c[y>>2]|0);c[x>>2]=wh((c[y>>2]|0)+4|0,7,1,1)|0;if((c[x>>2]|0)==0?(c[x>>2]=Jh(c[(c[y>>2]|0)+4>>2]|0,c[r>>2]|0,c[s>>2]|0)|0,(c[x>>2]|0)==0):0){s=_v()|0;c[(c[y>>2]|0)+60>>2]=s;Yw((c[y>>2]|0)+17|0,c[t>>2]|0,c[u>>2]|0)|0;u=(c[y>>2]|0)+8|0;a[u>>0]=a[u>>0]&-2|1;u=_v()|0;c[(c[y>>2]|0)+64>>2]=u;Yw((c[y>>2]|0)+68|0,c[v>>2]|0,c[w>>2]|0)|0;c[(c[y>>2]|0)+52>>2]=(c[y>>2]|0)+68;c[(c[y>>2]|0)+56>>2]=(d[(c[(c[y>>2]|0)+52>>2]|0)+12>>0]|0)<<24|(d[(c[(c[y>>2]|0)+52>>2]|0)+13>>0]|0)<<16|(d[(c[(c[y>>2]|0)+52>>2]|0)+14>>0]|0)<<8|(d[(c[(c[y>>2]|0)+52>>2]|0)+15>>0]|0);if(c[q>>2]&1|0)a[(c[y>>2]|0)+51>>0]=1;Es(c[y>>2]|0);c[x>>2]=0}q=c[y>>2]|0;if(c[x>>2]|0){Bh(c[q+4>>2]|0);vf(c[y>>2]|0);c[c[p>>2]>>2]=0}else c[c[p>>2]>>2]=q;c[o>>2]=c[x>>2];z=c[o>>2]|0;i=n;return z|0}function at(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=c[g>>2];if((c[l>>2]|0)!=0&(c[h>>2]|0)!=0^1|(c[k>>2]|0)!=16){c[f>>2]=45;m=c[f>>2]|0;i=e;return m|0}else{Cs();Ks(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);Fs();c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}Bh(c[(c[e>>2]|0)+4>>2]|0);vf(c[e>>2]|0);i=b;return}function ct(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[b>>2]=a;dt();i=b;return}function dt(){if(c[17802]|0)return;c[17802]=1;c[17803]=0;return}function et(){ft();nt(0,0,0,0)|0;gt();return}function ft(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[d>>2]=Ht(13108)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;We(52696,b)}else{c[17803]=1;i=a;return}}function gt(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;d=a+4|0;c[17803]=0;c[d>>2]=It(13108)|0;if(c[d>>2]|0){c[b>>2]=Bt(c[d>>2]|0)|0;We(52653,b)}else{i=a;return}}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;ct(1);if((c[h>>2]|0)!=2)c[h>>2]=1;ft();it(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);gt();i=e;return}function it(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+16|0;h=e+12|0;k=e+8|0;l=e+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(!(c[g>>2]|0))Se(52739,52746,144,52762);c[17804]=c[g>>2];c[17805]=c[h>>2];c[17806]=0;c[l>>2]=nt(5,0,c[h>>2]|0,c[k>>2]|0)|0;if((c[l>>2]|0)<0){m=c[l>>2]|0;c[f>>2]=m;We(52773,f)}if((c[17806]|0)!=(c[17805]|0)){m=c[l>>2]|0;c[f>>2]=m;We(52773,f)}else{i=e;return}}function jt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f;c[g>>2]=b;c[h>>2]=d;c[f+4>>2]=e;c[k>>2]=c[g>>2];if(!(c[17803]|0))Se(52819,52746,124,52840);if(!(c[17804]|0))Se(52848,52746,125,52840);while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if(!g){l=8;break}if((c[17806]|0)>>>0>=(c[17805]|0)>>>0){l=8;break}g=c[k>>2]|0;c[k>>2]=g+1;e=a[g>>0]|0;g=c[17806]|0;c[17806]=g+1;a[(c[17804]|0)+g>>0]=e}if((l|0)==8){i=f;return}}function kt(){return c[17807]|0}function lt(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[d+4>>2]=a;c[d>>2]=b;i=d;return}function mt(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[d+8>>2]=a;c[d+4>>2]=b;c[e>>2]=0;i=d;return c[e>>2]|0}function nt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;h=i;i=i+1024|0;if((i|0)>=(j|0))$(1024);k=h+24|0;l=h+16|0;m=h+8|0;n=h+236|0;o=h+232|0;p=h+228|0;q=h+224|0;r=h+220|0;s=h+216|0;t=h+212|0;u=h+248|0;v=h+208|0;w=h+204|0;x=h+200|0;y=h+196|0;z=h+192|0;A=h+64|0;B=h+56|0;C=h+52|0;E=h+48|0;F=h+44|0;G=h+40|0;H=h+36|0;I=h+32|0;J=h+240|0;K=h;L=h+28|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[w>>2]=c[q>>2];c[x>>2]=0;c[y>>2]=0;if(!(c[o>>2]|0)){if((c[3288]|0)!=-1){Kv(c[3288]|0)|0;c[3288]=-1}if((c[3289]|0)!=-1){Kv(c[3289]|0)|0;c[3289]=-1}c[n>>2]=0;M=c[n>>2]|0;i=h;return M|0}c[v>>2]=mt(c[o>>2]|0,c[p>>2]|0)|0;if((c[v>>2]|0)>>>0>(((c[q>>2]|0)>>>0)/2|0)>>>0)c[v>>2]=((c[q>>2]|0)>>>0)/2|0;if((c[q>>2]|0)>>>0>1)c[q>>2]=(c[q>>2]|0)-(c[v>>2]|0);if((c[r>>2]|0)>=2){if((c[3288]|0)==-1){c[3288]=ot(52863,(d[72318]|0)&1)|0;a[72318]=d[72318]|0|1}c[s>>2]=c[3288]}else{if((c[3289]|0)==-1){c[3289]=ot(52875,(d[72318]|0)&2)|0;a[72318]=d[72318]|0|2}c[s>>2]=c[3289]}c[z>>2]=0;while(1){if(!(c[q>>2]|0))break;if(!(!(c[y>>2]|0)?(c[x>>2]|0)==((c[w>>2]|0)-(c[q>>2]|0)|0):0)){c[x>>2]=(c[w>>2]|0)-(c[q>>2]|0);Wm(52888,88,c[x>>2]|0,c[w>>2]|0);c[y>>2]=1}if((c[s>>2]|0)<1024){c[F>>2]=A;c[E>>2]=32;while(1){if(!(c[E>>2]|0))break;r=c[F>>2]|0;c[F>>2]=r+4;c[r>>2]=0;c[E>>2]=(c[E>>2]|0)+-1}r=A+((((c[s>>2]|0)>>>0)/32|0)<<2)|0;c[r>>2]=c[r>>2]|1<<(((c[s>>2]|0)>>>0)%32|0);c[B>>2]=c[z>>2];c[B+4>>2]=c[z>>2]|0?0:1e5;r=dw((c[s>>2]|0)+1|0,A,0,0,B)|0;c[C>>2]=r;if(!r){c[y>>2]=1;c[z>>2]=3;continue}if((c[C>>2]|0)==-1){c[m>>2]=Nu(c[(xu()|0)>>2]|0)|0;Ve(52901,m);if(c[z>>2]|0)continue;c[z>>2]=1;continue}}do{c[G>>2]=(c[q>>2]|0)>>>0<768?c[q>>2]|0:768;c[t>>2]=fw(c[s>>2]|0,u,c[G>>2]|0)|0;if((c[t>>2]|0)>=0?(c[t>>2]|0)>>>0>(c[G>>2]|0)>>>0:0){c[l>>2]=c[t>>2];Ve(52921,l);c[t>>2]=c[G>>2]}if((c[t>>2]|0)!=-1)break}while((c[(xu()|0)>>2]|0)==4);if((c[t>>2]|0)==-1){N=38;break}zb[c[o>>2]&7](u,c[t>>2]|0,c[p>>2]|0);c[q>>2]=(c[q>>2]|0)-(c[t>>2]|0)}if((N|0)==38){c[k>>2]=Nu(c[(xu()|0)>>2]|0)|0;We(52959,k)}c[H>>2]=u;c[I>>2]=768;a[J>>0]=0;u=K;c[u>>2]=d[J>>0];c[u+4>>2]=0;while(1){if(!(c[H>>2]&7|0?(c[I>>2]|0)!=0:0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}if((c[I>>2]|0)>>>0>=8){u=K;k=ex(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=K;c[u>>2]=k;c[u+4>>2]=D;do{c[L>>2]=c[H>>2];u=K;k=c[u+4>>2]|0;N=c[L>>2]|0;c[N>>2]=c[u>>2];c[N+4>>2]=k;c[I>>2]=(c[I>>2]|0)-8;c[H>>2]=(c[H>>2]|0)+8}while((c[I>>2]|0)>>>0>=8)}while(1){if(!(c[I>>2]|0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}if(c[y>>2]|0)Wm(52888,88,c[w>>2]|0,c[w>>2]|0);c[n>>2]=0;M=c[n>>2]|0;i=h;return M|0}function ot(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+16|0;f=d+8|0;g=d;h=d+40|0;k=d+36|0;l=d+32|0;m=d+24|0;c[h>>2]=a;c[k>>2]=b;if(c[k>>2]|0)Wm(52992,88,1,0);while(1){c[l>>2]=gw(c[h>>2]|0,0,g)|0;if(!((c[l>>2]|0)==-1&(c[k>>2]|0)!=0))break;c[m>>2]=5;c[m+4>>2]=0;Wm(53008,88,0,c[m>>2]|0);dw(0,0,0,0,m)|0}if((c[l>>2]|0)==-1){m=c[h>>2]|0;h=Nu(c[(xu()|0)>>2]|0)|0;c[f>>2]=m;c[f+4>>2]=h;We(53024,f)}if(!(pt(c[l>>2]|0)|0)){n=c[l>>2]|0;i=d;return n|0}f=c[l>>2]|0;h=Nu(c[(xu()|0)>>2]|0)|0;c[e>>2]=f;c[e+4>>2]=h;Ve(53043,e);n=c[l>>2]|0;i=d;return n|0}function pt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;a=c[g>>2]|0;c[e>>2]=0;c[h>>2]=Lv(a,1,e)|0;e=c[h>>2]|0;if((c[h>>2]|0)<0){c[f>>2]=e;k=c[f>>2]|0;i=b;return k|0}else{c[h>>2]=e|1;e=c[g>>2]|0;c[d>>2]=c[h>>2];c[f>>2]=Lv(e,2,d)|0;k=c[f>>2]|0;i=b;return k|0}return 0}function qt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+80|0;if((i|0)>=(j|0))$(80);g=f+72|0;h=f+68|0;k=f+64|0;l=f+60|0;m=f+56|0;n=f+52|0;o=f+48|0;p=f+44|0;q=f+40|0;r=f+36|0;s=f+32|0;t=f+28|0;u=f+24|0;v=f+20|0;w=f+16|0;x=f+12|0;y=f+8|0;z=f+4|0;A=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=0-(c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[n>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[n>>2]|0)<<2);c[m>>2]=0;do{c[z>>2]=c[(c[h>>2]|0)+(c[n>>2]<<2)>>2];c[A>>2]=c[l>>2];c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[w>>2]=c[A>>2]&65535;c[y>>2]=(c[A>>2]|0)>>>16;c[r>>2]=S(c[v>>2]|0,c[w>>2]|0)|0;c[s>>2]=S(c[v>>2]|0,c[y>>2]|0)|0;c[t>>2]=S(c[x>>2]|0,c[w>>2]|0)|0;c[u>>2]=S(c[x>>2]|0,c[y>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+((c[r>>2]|0)>>>16);c[s>>2]=(c[s>>2]|0)+(c[t>>2]|0);if((c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0)c[u>>2]=(c[u>>2]|0)+65536;c[o>>2]=(c[u>>2]|0)+((c[s>>2]|0)>>>16);c[p>>2]=((c[s>>2]&65535)<<16)+(c[r>>2]&65535);c[p>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[m>>2]=((c[p>>2]|0)>>>0<(c[m>>2]|0)>>>0?1:0)+(c[o>>2]|0);c[q>>2]=c[(c[g>>2]|0)+(c[n>>2]<<2)>>2];c[p>>2]=(c[q>>2]|0)+(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[n>>2]<<2)>>2]=c[p>>2];k=(c[n>>2]|0)+1|0;c[n>>2]=k}while((k|0)!=0);i=f;return c[m>>2]|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+16|0;g=e+8|0;h=e;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;q=e+20|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=xp(c[(c[k>>2]|0)+4>>2]|0)|0;c[n>>2]=lo(c[k>>2]|0)|0;c[o>>2]=(((c[n>>2]|0)+7|0)>>>0)/8|0;c[p>>2]=0;if(Ff(1)|0){d=c[l>>2]|0;c[h>>2]=c[n>>2];c[h+4>>2]=d;Ye(53082,h)}while(1){if((c[p>>2]|0)==0|(c[n>>2]|0)>>>0<32){vf(c[p>>2]|0);c[p>>2]=hn(c[o>>2]|0,c[l>>2]|0)|0}else{c[q>>2]=hn(4,c[l>>2]|0)|0;h=c[p>>2]|0;d=c[q>>2]|0;a[h>>0]=a[d>>0]|0;a[h+1>>0]=a[d+1>>0]|0;a[h+2>>0]=a[d+2>>0]|0;a[h+3>>0]=a[d+3>>0]|0;vf(c[q>>2]|0)}Yo(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,0);d=(mo(c[m>>2]|0,(c[n>>2]|0)-1|0)|0)!=0;oo(c[m>>2]|0,(c[n>>2]|0)-1|0);if(!d)qo(c[m>>2]|0,(c[n>>2]|0)-1|0);if((wo(c[m>>2]|0,c[k>>2]|0)|0)>=0){if(!(Ff(1)|0))continue;Ye(53129,g);continue}if((vo(c[m>>2]|0,0)|0)>0)break;if(!(Ff(1)|0))continue;Ye(53151,f)}vf(c[p>>2]|0);i=e;return c[m>>2]|0}function st(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=i;i=i+80|0;if((i|0)>=(j|0))$(80);m=l+72|0;n=l+68|0;o=l+64|0;p=l+60|0;q=l+56|0;r=l+52|0;s=l+48|0;t=l+44|0;u=l+40|0;v=l+36|0;w=l+32|0;x=l+28|0;y=l+24|0;z=l+20|0;A=l+16|0;B=l+12|0;C=l+8|0;D=l+4|0;E=l;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=k;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=0;c[D>>2]=lo(c[o>>2]|0)|0;if(!((c[D>>2]|0)!=0&(c[q>>2]|0)!=0&(c[r>>2]|0)!=0)){c[m>>2]=32816;F=c[m>>2]|0;i=l;return F|0}k=oj(c[s>>2]|0)|0;if((k|0)!=(c[r>>2]|0)){c[m>>2]=5;F=c[m>>2]|0;i=l;return F|0}c[v>>2]=pf(c[r>>2]|0)|0;a:do if(c[v>>2]|0){c[E>>2]=0;while(1){if((c[E>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;a[(c[v>>2]|0)+(c[E>>2]|0)>>0]=1;c[E>>2]=(c[E>>2]|0)+1}c[w>>2]=wf(1,c[r>>2]|0)|0;if(!(c[w>>2]|0)){c[u>>2]=Et()|0;break}c[u>>2]=tt(x,c[p>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0)|0;if(((((((c[u>>2]|0)==0?(c[u>>2]=ut(y,c[q>>2]|0,c[r>>2]<<3,c[o>>2]|0,c[D>>2]|0)|0,(c[u>>2]|0)==0):0)?(c[u>>2]=Si(z,c[s>>2]|0,3)|0,(c[u>>2]|0)==0):0)?(c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0,(c[u>>2]|0)==0):0)?($i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0),$i(c[z>>2]|0,72319,1),$i(c[z>>2]|0,c[x>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0),$i(c[z>>2]|0,c[y>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0),k=c[w>>2]|0,h=lj(c[z>>2]|0,0)|0,Yw(k|0,h|0,c[r>>2]|0)|0,c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0,(c[u>>2]|0)==0):0)?($i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0),h=c[v>>2]|0,k=lj(c[z>>2]|0,0)|0,Yw(h|0,k|0,c[r>>2]|0)|0,c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0,(c[u>>2]|0)==0):0)?($i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0),$i(c[z>>2]|0,53171,1),$i(c[z>>2]|0,c[x>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0),$i(c[z>>2]|0,c[y>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0),k=c[w>>2]|0,h=lj(c[z>>2]|0,0)|0,Yw(k|0,h|0,c[r>>2]|0)|0,c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0,(c[u>>2]|0)==0):0){$i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0);h=c[v>>2]|0;k=lj(c[z>>2]|0,0)|0;Yw(h|0,k|0,c[r>>2]|0)|0;c[A>>2]=pf(((((c[D>>2]|0)+7|0)>>>0)/8|0)+(c[r>>2]|0)|0)|0;if(!(c[A>>2]|0)){c[u>>2]=Et()|0;break}while(1){c[C>>2]=0;while(1){if((c[C>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0;if(c[u>>2]|0)break a;$i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0);k=c[v>>2]|0;h=lj(c[z>>2]|0,0)|0;Yw(k|0,h|0,c[r>>2]|0)|0;Yw((c[A>>2]|0)+((((c[C>>2]|0)+7|0)>>>0)/8|0)|0,c[v>>2]|0,c[r>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+(c[r>>2]<<3)}Dp(c[B>>2]|0);c[B>>2]=0;c[u>>2]=Zo(B,5,c[A>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[u>>2]|0)break a;if((c[C>>2]|0)>>>0>(c[D>>2]|0)>>>0)so(c[B>>2]|0,c[B>>2]|0,(c[C>>2]|0)-(c[D>>2]|0)|0);if((wo(c[B>>2]|0,c[o>>2]|0)|0)<0?(vo(c[B>>2]|0,0)|0)>0:0){if(!(c[t>>2]|0))break a;c[t>>2]=(c[t>>2]|0)+-1;c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0;if(c[u>>2]|0)break a;$i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0);$i(c[z>>2]|0,72319,1);h=c[w>>2]|0;k=lj(c[z>>2]|0,0)|0;Yw(h|0,k|0,c[r>>2]|0)|0;c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0;if(c[u>>2]|0)break a;$i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0);k=c[v>>2]|0;h=lj(c[z>>2]|0,0)|0;Yw(k|0,h|0,c[r>>2]|0)|0;continue}c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0;if(c[u>>2]|0)break a;$i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0);$i(c[z>>2]|0,72319,1);h=c[w>>2]|0;k=lj(c[z>>2]|0,0)|0;Yw(h|0,k|0,c[r>>2]|0)|0;c[u>>2]=fj(c[z>>2]|0,c[w>>2]|0,c[r>>2]|0)|0;if(c[u>>2]|0)break a;$i(c[z>>2]|0,c[v>>2]|0,c[r>>2]|0);k=c[v>>2]|0;h=lj(c[z>>2]|0,0)|0;Yw(k|0,h|0,c[r>>2]|0)|0}}}else c[u>>2]=Et()|0;while(0);vf(c[A>>2]|0);_i(c[z>>2]|0);vf(c[y>>2]|0);vf(c[x>>2]|0);vf(c[w>>2]|0);vf(c[v>>2]|0);v=c[B>>2]|0;if(c[u>>2]|0)Dp(v);else c[c[n>>2]>>2]=v;c[m>>2]=c[u>>2];F=c[m>>2]|0;i=l;return F|0}function tt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+32|0;g=e+28|0;h=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=bp(5,0,0,m,c[h>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];q=c[f>>2]|0;i=e;return q|0}if((c[m>>2]|0)>>>0>(c[k>>2]|0)>>>0){c[f>>2]=67;q=c[f>>2]|0;i=e;return q|0}if((c[m>>2]|0)>>>0<(c[k>>2]|0)>>>0)r=(c[k>>2]|0)-(c[m>>2]|0)|0;else r=0;c[n>>2]=r;c[o>>2]=(c[m>>2]|0)+(c[n>>2]|0);if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&1|0:0)s=sf(c[o>>2]|0)|0;else s=pf(c[o>>2]|0)|0;c[p>>2]=s;if(!(c[p>>2]|0)){c[f>>2]=Et()|0;q=c[f>>2]|0;i=e;return q|0}if(c[n>>2]|0)Sw(c[p>>2]|0,0,c[n>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[l>>2]=bp(5,(c[p>>2]|0)+(c[n>>2]|0)|0,(c[m>>2]|0)-(c[n>>2]|0)|0,0,c[h>>2]|0)|0;h=c[p>>2]|0;if(c[l>>2]|0){vf(h);c[f>>2]=c[l>>2];q=c[f>>2]|0;i=e;return q|0}else{c[c[g>>2]>>2]=h;c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}return 0}function ut(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=Zo(q,5,c[l>>2]|0,(((c[m>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[p>>2]|0){c[h>>2]=c[p>>2];r=c[h>>2]|0;i=g;return r|0}if((c[m>>2]|0)>>>0>(c[o>>2]|0)>>>0)so(c[q>>2]|0,c[q>>2]|0,(c[m>>2]|0)-(c[o>>2]|0)|0);if((wo(c[q>>2]|0,c[n>>2]|0)|0)>=0)ho(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0);c[p>>2]=tt(c[k>>2]|0,c[q>>2]|0,(((c[o>>2]|0)+7|0)>>>0)/8|0)|0;Dp(c[q>>2]|0);c[h>>2]=c[p>>2];r=c[h>>2]|0;i=g;return r|0}function vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+28|0;g=e+24|0;h=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=0;do if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[m>>2]=Gp(c[g>>2]|0,n)|0;c[l>>2]=Zo(o,5,c[m>>2]|0,(((c[n>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];p=c[f>>2]|0;i=e;return p|0}else{if((c[n>>2]|0)>>>0<=(c[k>>2]|0)>>>0)break;so(c[o>>2]|0,c[o>>2]|0,(c[n>>2]|0)-(c[k>>2]|0)|0);break}}else q=7;while(0);if((q|0)==7)c[o>>2]=c[g>>2];c[c[h>>2]>>2]=c[o>>2];c[f>>2]=c[l>>2];p=c[f>>2]|0;i=e;return p|0}function wt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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=i;i=i+96|0;if((i|0)>=(j|0))$(96);k=h;l=h+88|0;m=h+84|0;n=h+80|0;o=h+76|0;p=h+72|0;q=h+68|0;r=h+64|0;s=h+60|0;t=h+56|0;u=h+52|0;v=h+48|0;w=h+44|0;x=h+40|0;y=h+36|0;z=h+24|0;A=h+20|0;B=h+16|0;C=h+12|0;D=h+8|0;E=h+4|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=0;c[t>>2]=0;if(Ff(1)|0)af(53173,c[m>>2]|0);c[D>>2]=lo(c[(c[n>>2]|0)+32>>2]|0)|0;c[s>>2]=vt(c[m>>2]|0,A,c[D>>2]|0)|0;if(c[s>>2]|0){c[l>>2]=c[s>>2];F=c[l>>2]|0;i=h;return F|0}c[u>>2]=0;c[v>>2]=vp(0)|0;c[w>>2]=vp(0)|0;c[x>>2]=vp(0)|0;c[y>>2]=vp(0)|0;yn(z);c[E>>2]=En(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,0,c[(c[n>>2]|0)+8>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;a:while(1){do{Dp(c[u>>2]|0);c[u>>2]=0;if((c[q>>2]&2|0)!=0&(c[r>>2]|0)!=0){if(!(c[m>>2]|0)){G=10;break a}if(!(c[(c[m>>2]|0)+12>>2]&4)){G=10;break a}c[B>>2]=Gp(c[m>>2]|0,C)|0;c[s>>2]=st(u,c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+56>>2]|0,c[B>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0,c[r>>2]|0,c[t>>2]|0)|0;if(c[s>>2]|0)break a;c[t>>2]=(c[t>>2]|0)+1}else c[u>>2]=rt(c[(c[n>>2]|0)+32>>2]|0,1)|0;$n(z,c[u>>2]|0,(c[n>>2]|0)+20|0,c[E>>2]|0);if(tn(c[y>>2]|0,0,z,c[E>>2]|0)|0){G=15;break a}Mo(c[o>>2]|0,c[y>>2]|0,c[(c[n>>2]|0)+32>>2]|0)}while((vo(c[o>>2]|0,0)|0)!=0^1);Ro(c[v>>2]|0,c[(c[n>>2]|0)+56>>2]|0,c[o>>2]|0,c[(c[n>>2]|0)+32>>2]|0);io(c[w>>2]|0,c[A>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Lo(c[x>>2]|0,c[u>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0;Ro(c[p>>2]|0,c[x>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+32>>2]|0);if(!((vo(c[p>>2]|0,0)|0)!=0^1)){G=20;break}}if((G|0)==10)c[s>>2]=70;else if((G|0)==15){if(Ff(1)|0)Ye(53250,k);c[s>>2]=8}else if((G|0)==20?Ff(1)|0:0){af(53191,c[o>>2]|0);af(53212,c[p>>2]|0)}In(c[E>>2]|0);An(z);Dp(c[y>>2]|0);Dp(c[x>>2]|0);Dp(c[w>>2]|0);Dp(c[v>>2]|0);Dp(c[u>>2]|0);if((c[A>>2]|0)!=(c[m>>2]|0))Dp(c[A>>2]|0);c[l>>2]=c[s>>2];F=c[l>>2]|0;i=h;return F|0}function xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+112|0;if((i|0)>=(j|0))$(112);g=f+8|0;h=f;k=f+96|0;l=f+92|0;m=f+88|0;n=f+84|0;o=f+80|0;p=f+76|0;q=f+72|0;r=f+68|0;s=f+64|0;t=f+60|0;u=f+56|0;v=f+44|0;w=f+32|0;x=f+20|0;y=f+16|0;z=f+12|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=0;if((vo(c[n>>2]|0,0)|0)>0?(wo(c[n>>2]|0,c[(c[m>>2]|0)+32>>2]|0)|0)<0:0){if((vo(c[o>>2]|0,0)|0)>0?(wo(c[o>>2]|0,c[(c[m>>2]|0)+32>>2]|0)|0)<0:0){c[z>>2]=lo(c[(c[m>>2]|0)+32>>2]|0)|0;c[p>>2]=vt(c[l>>2]|0,q,c[z>>2]|0)|0;if(c[p>>2]|0){c[k>>2]=c[p>>2];A=c[k>>2]|0;i=f;return A|0}c[r>>2]=vp(0)|0;c[s>>2]=vp(0)|0;c[t>>2]=vp(0)|0;c[u>>2]=vp(0)|0;yn(v);yn(w);yn(x);c[y>>2]=En(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0)|0;Lo(c[r>>2]|0,c[o>>2]|0,c[(c[m>>2]|0)+32>>2]|0)|0;Ro(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[(c[m>>2]|0)+32>>2]|0);$n(w,c[s>>2]|0,(c[m>>2]|0)+20|0,c[y>>2]|0);Ro(c[t>>2]|0,c[n>>2]|0,c[r>>2]|0,c[(c[m>>2]|0)+32>>2]|0);$n(x,c[t>>2]|0,(c[m>>2]|0)+44|0,c[y>>2]|0);Vn(v,w,x,c[y>>2]|0);do if(vo(c[v+8>>2]|0,0)|0){if(tn(c[u>>2]|0,0,v,c[y>>2]|0)|0){if(Ff(1)|0)Ye(53356,g);c[p>>2]=8;break}Mo(c[u>>2]|0,c[u>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(wo(c[u>>2]|0,c[n>>2]|0)|0){if(Ff(1)|0){af(53402,c[u>>2]|0);af(53409,c[n>>2]|0);af(53416,c[o>>2]|0)}c[p>>2]=8}}else{if(Ff(1)|0)Ye(53334,h);c[p>>2]=8}while(0);In(c[y>>2]|0);An(x);An(w);An(v);Dp(c[u>>2]|0);Dp(c[t>>2]|0);Dp(c[s>>2]|0);Dp(c[r>>2]|0);if((c[q>>2]|0)!=(c[l>>2]|0))Dp(c[q>>2]|0);c[k>>2]=c[p>>2];A=c[k>>2]|0;i=f;return A|0}c[k>>2]=8;A=c[k>>2]|0;i=f;return A|0}c[k>>2]=8;A=c[k>>2]|0;i=f;return A|0}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=i;i=i+96|0;if((i|0)>=(j|0))$(96);g=f;h=f+80|0;k=f+76|0;l=f+72|0;m=f+68|0;n=f+64|0;o=f+60|0;p=f+56|0;q=f+52|0;r=f+48|0;s=f+44|0;t=f+40|0;u=f+36|0;v=f+24|0;w=f+20|0;x=f+16|0;y=f+12|0;z=f+8|0;A=f+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=0;if(Ff(1)|0)af(53233,c[k>>2]|0);c[z>>2]=lo(c[(c[l>>2]|0)+32>>2]|0)|0;do if(c[k>>2]|0?c[(c[k>>2]|0)+12>>2]&4|0:0){c[x>>2]=Gp(c[k>>2]|0,y)|0;c[o>>2]=Zo(w,5,c[x>>2]|0,(((c[y>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];B=c[h>>2]|0;i=f;return B|0}else{if((c[y>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;so(c[w>>2]|0,c[w>>2]|0,(c[y>>2]|0)-(c[z>>2]|0)|0);break}}else C=9;while(0);if((C|0)==9)c[w>>2]=c[k>>2];c[p>>2]=0;c[q>>2]=vp(0)|0;c[r>>2]=vp(0)|0;c[s>>2]=vp(0)|0;c[u>>2]=vp(0)|0;c[t>>2]=vp(0)|0;yn(v);c[A>>2]=En(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;Mo(c[u>>2]|0,c[k>>2]|0,c[(c[l>>2]|0)+32>>2]|0);if(!(vo(c[u>>2]|0,0)|0))Op(c[u>>2]|0,1)|0;a:while(1){do{Dp(c[p>>2]|0);c[p>>2]=rt(c[(c[l>>2]|0)+32>>2]|0,1)|0;$n(v,c[p>>2]|0,(c[l>>2]|0)+20|0,c[A>>2]|0);if(tn(c[t>>2]|0,0,v,c[A>>2]|0)|0){C=14;break a}Mo(c[m>>2]|0,c[t>>2]|0,c[(c[l>>2]|0)+32>>2]|0)}while((vo(c[m>>2]|0,0)|0)!=0^1);Ro(c[q>>2]|0,c[(c[l>>2]|0)+56>>2]|0,c[m>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Ro(c[s>>2]|0,c[p>>2]|0,c[u>>2]|0,c[(c[l>>2]|0)+32>>2]|0);io(c[n>>2]|0,c[s>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);if(!((vo(c[n>>2]|0,0)|0)!=0^1)){C=19;break}}if((C|0)==14){if(Ff(1)|0)Ye(53250,g);c[o>>2]=8}else if((C|0)==19?Ff(1)|0:0){af(53294,c[m>>2]|0);af(53314,c[n>>2]|0)}In(c[A>>2]|0);An(v);Dp(c[t>>2]|0);Dp(c[u>>2]|0);Dp(c[s>>2]|0);Dp(c[r>>2]|0);Dp(c[q>>2]|0);Dp(c[p>>2]|0);if((c[w>>2]|0)!=(c[k>>2]|0))Dp(c[w>>2]|0);c[h>>2]=c[o>>2];B=c[h>>2]|0;i=f;return B|0}function zt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+128|0;if((i|0)>=(j|0))$(128);g=f+24|0;h=f+16|0;k=f+8|0;l=f;m=f+116|0;n=f+112|0;o=f+108|0;p=f+104|0;q=f+100|0;r=f+96|0;s=f+92|0;t=f+88|0;u=f+84|0;v=f+80|0;w=f+76|0;x=f+72|0;y=f+68|0;z=f+56|0;A=f+44|0;B=f+32|0;C=f+28|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if((vo(c[p>>2]|0,0)|0)>0?(wo(c[p>>2]|0,c[(c[o>>2]|0)+32>>2]|0)|0)<0:0){if((vo(c[q>>2]|0,0)|0)>0?(wo(c[q>>2]|0,c[(c[o>>2]|0)+32>>2]|0)|0)<0:0){c[t>>2]=vp(0)|0;c[s>>2]=vp(0)|0;c[u>>2]=vp(0)|0;c[v>>2]=vp(0)|0;c[w>>2]=vp(0)|0;c[x>>2]=vp(0)|0;c[y>>2]=vp(0)|0;yn(z);yn(A);yn(B);c[C>>2]=En(c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0,0,c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;Mo(c[s>>2]|0,c[n>>2]|0,c[(c[o>>2]|0)+32>>2]|0);if(!(vo(c[s>>2]|0,0)|0))Op(c[s>>2]|0,1)|0;Lo(c[w>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+32>>2]|0)|0;Ro(c[u>>2]|0,c[q>>2]|0,c[w>>2]|0,c[(c[o>>2]|0)+32>>2]|0);Ro(c[x>>2]|0,c[p>>2]|0,c[w>>2]|0,c[(c[o>>2]|0)+32>>2]|0);jo(c[v>>2]|0,c[y>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+32>>2]|0);$n(A,c[u>>2]|0,(c[o>>2]|0)+20|0,c[C>>2]|0);$n(B,c[v>>2]|0,(c[o>>2]|0)+44|0,c[C>>2]|0);Vn(z,A,B,c[C>>2]|0);do if(vo(c[z+8>>2]|0,0)|0){if(tn(c[t>>2]|0,0,z,c[C>>2]|0)|0){if(Ff(1)|0)Ye(53356,k);c[r>>2]=8;break}Mo(c[t>>2]|0,c[t>>2]|0,c[(c[o>>2]|0)+32>>2]|0);n=(wo(c[t>>2]|0,c[p>>2]|0)|0)!=0;e=(Ff(1)|0)!=0;if(!n){if(!e)break;Ye(53449,g);break}if(e){af(53402,c[t>>2]|0);af(53409,c[p>>2]|0);af(53416,c[q>>2]|0);Ye(53423,h)}c[r>>2]=8}else{if(Ff(1)|0)Ye(53334,l);c[r>>2]=8}while(0);In(c[C>>2]|0);An(B);An(A);An(z);Dp(c[y>>2]|0);Dp(c[x>>2]|0);Dp(c[w>>2]|0);Dp(c[v>>2]|0);Dp(c[u>>2]|0);Dp(c[t>>2]|0);Dp(c[s>>2]|0);c[m>>2]=c[r>>2];D=c[m>>2]|0;i=f;return D|0}c[m>>2]=8;D=c[m>>2]|0;i=f;return D|0}c[m>>2]=8;D=c[m>>2]|0;i=f;return D|0}function At(){return Pt()|0}function Bt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=au(c[d>>2]|0)|0;i=b;return a|0}function Ct(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=eu(c[d>>2]|0)|0;i=b;return a|0}function Dt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=du(c[d>>2]|0)|0;i=b;return a|0}function Et(){return fu()|0}function Ft(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Rt(c[d>>2]|0);i=b;return}function Gt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Kt(c[d>>2]|0)|0;i=b;return a|0}function Ht(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Mt(c[d>>2]|0)|0;i=b;return a|0}function It(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Nt(c[d>>2]|0)|0;i=b;return a|0}function Jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Ot(c[d>>2]|0)|0;i=b;return a|0}function Kt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(c[c[e>>2]>>2]|0)c[e>>2]=Lt(c[d>>2]|0)|0;else c[c[e>>2]>>2]=1;c[f>>2]=ya((c[e>>2]|0)+4|0,0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=Ct(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function Lt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if((c[c[e>>2]>>2]|0)!=1)Fa(53471,53491,114,53504);else{i=b;return c[e>>2]|0}return 0}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=Lt(c[d>>2]|0)|0;c[f>>2]=Tw((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=Ct(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function Nt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=Lt(c[d>>2]|0)|0;c[f>>2]=bx((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=Ct(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+64|0;if((i|0)>=(j|0))$(64);d=b+52|0;e=b+48|0;f=b+44|0;g=b;c[d>>2]=a;c[e>>2]=Lt(c[d>>2]|0)|0;c[f>>2]=Ya((c[e>>2]|0)+4|0)|0;if(c[f>>2]|0){c[f>>2]=Ct(c[f>>2]|0)|0;h=c[f>>2]|0;i=b;return h|0}else{e=g;a=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(a|0));c[g>>2]=1;e=c[d>>2]|0;d=g;a=e+44|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));h=c[f>>2]|0;i=b;return h|0}return 0}function Pt(){Qt();return 0}function Qt(){St()|0;return}function Rt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=c[d>>2]|0;c[(xu()|0)>>2]=a;i=b;return}function St(){if(c[17808]|0)return 0;c[17808]=1;nb(3)|0;return 0}function Tt(){Ut(0)|0;c[17809]=0;c[17810]=0;return}function Ut(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if(c[d>>2]|0){Vt(c[d>>2]|0);c[e>>2]=Wt(c[d>>2]|0)|0;Xt(c[d>>2]|0);g=c[e>>2]|0;h=(g|0)!=0;k=h?-1:0;i=b;return k|0}c[e>>2]=0;Yt();c[f>>2]=c[17811];while(1){if(!(c[f>>2]|0))break;if(c[(c[f>>2]|0)+4>>2]|0){Vt(c[(c[f>>2]|0)+4>>2]|0);d=Wt(c[(c[f>>2]|0)+4>>2]|0)|0;c[e>>2]=c[e>>2]|d;Xt(c[(c[f>>2]|0)+4>>2]|0)}c[f>>2]=c[c[f>>2]>>2]}Zt();g=c[e>>2]|0;h=(g|0)!=0;k=h?-1:0;i=b;return k|0}function Vt(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1|0){i=b;return}Mt((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Wt(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;a=c[d>>2]|0;if((c[c[d>>2]>>2]|0)>>>16&1|0){c[e>>2]=_t(a)|0;f=c[e>>2]|0;i=b;return f|0}else{$t(a);c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Xt(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1|0){i=b;return}Nt((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Yt(){Mt(13160)|0;return}function Zt(){Nt(13160)|0;return}function _t(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[e>>2]=b;c[f>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+1108>>2];if(!((c[c[e>>2]>>2]|0)>>>16&1))Fa(53562,53543,1654,53584);do if(c[(c[e>>2]|0)+16>>2]|0){if(!(c[f>>2]|0)){c[g>>2]=95;break}c[k>>2]=0;c[g>>2]=0;do{if(((c[(c[e>>2]|0)+16>>2]|0)-(c[k>>2]|0)|0)<=0)break;if(!((c[g>>2]|0)!=0^1))break;c[l>>2]=ub[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,(c[(c[e>>2]|0)+4>>2]|0)+(c[k>>2]|0)|0,(c[(c[e>>2]|0)+16>>2]|0)-(c[k>>2]|0)|0)|0;if((c[l>>2]|0)==-1){c[h>>2]=0;c[g>>2]=-1}else c[h>>2]=c[l>>2];c[k>>2]=(c[k>>2]|0)+(c[h>>2]|0)}while(!(c[g>>2]|0));b=(c[e>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+(c[k>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[k>>2]|0)){b=(c[(c[e>>2]|0)+36>>2]|0)+1100|0;c[b>>2]=(c[b>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+20>>2]=0;ub[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,0,0)|0}}else c[g>>2]=0;while(0);if(!(c[g>>2]|0)){m=c[g>>2]|0;i=d;return m|0}f=(c[(c[e>>2]|0)+36>>2]|0)+1136|0;a[f>>0]=a[f>>0]&-2|1;m=c[g>>2]|0;i=d;return m|0}function $t(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if((c[c[d>>2]>>2]|0)>>>16&1|0)Fa(53520,53543,1722,53553);else{c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+32>>2]=0;i=b;return}}function au(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=bu(c[e>>2]|0)|0;do if(c[f>>2]&32768|0){c[g>>2]=Dt(c[f>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=16382;break}c[d>>2]=Nu(c[g>>2]|0)|0;h=c[d>>2]|0;i=b;return h|0}while(0);c[d>>2]=53593+(c[13204+((cu(c[f>>2]|0)|0)<<2)>>2]|0);h=c[d>>2]|0;i=b;return h|0}function bu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function cu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)>=0&(c[d>>2]|0)<=213){e=a-0|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=222&(c[d>>2]|0)<=254){e=f-8|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=257&(c[d>>2]|0)<=271){e=a-10|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=273&(c[d>>2]|0)<=281){e=f-11|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=721&(c[d>>2]|0)<=729){e=a-450|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=750&(c[d>>2]|0)<=752){e=f-470|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=754&(c[d>>2]|0)<=782){e=a-471|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=784&(c[d>>2]|0)<=789){e=f-472|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=800&(c[d>>2]|0)<=804){e=a-482|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=815&(c[d>>2]|0)<=822){e=f-492|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=832&(c[d>>2]|0)<=839){e=a-501|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=844&(c[d>>2]|0)<=844){e=f-505|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=848&(c[d>>2]|0)<=848){e=a-508|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=881&(c[d>>2]|0)<=891){e=f-540|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=1024&(c[d>>2]|0)<=1039){e=a-672|0;i=b;return e|0}else{e=(a|0)>=16381&(c[d>>2]|0)<=16383?(c[d>>2]|0)-16013|0:371;i=b;return e|0}return 0}function du(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;do if(c[e>>2]&32768|0){c[e>>2]=c[e>>2]&-32769;if((c[e>>2]|0)>>>0<141){c[d>>2]=c[14692+(c[e>>2]<<2)>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}a=c[e>>2]|0;do if(!((c[e>>2]|0)>=1&(c[e>>2]|0)<=11)){h=c[e>>2]|0;if((a|0)>=11&(c[e>>2]|0)<=35){k=h-0|0;break}l=c[e>>2]|0;if((h|0)>=35&(c[e>>2]|0)<=40){k=l+1|0;break}h=c[e>>2]|0;if((l|0)>=42&(c[e>>2]|0)<=57){k=h-0|0;break}l=c[e>>2]|0;if((h|0)>=59&(c[e>>2]|0)<=95){k=l-1|0;break}else{k=(l|0)>=95&(c[e>>2]|0)<=125?(c[e>>2]|0)-0|0:-1;break}}else k=a-1|0;while(0);c[f>>2]=k;if((c[f>>2]|0)<0){c[d>>2]=16382;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=32768|c[15256+(c[f>>2]<<2)>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function fu(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a+8|0;d=a+4|0;e=a;c[d>>2]=c[(xu()|0)>>2];if(!(c[d>>2]|0)){c[b>>2]=16381;f=c[b>>2]|0;i=a;return f|0}g=c[d>>2]|0;do if(!((c[d>>2]|0)>=1&(c[d>>2]|0)<=11)){h=c[d>>2]|0;if((g|0)>=11&(c[d>>2]|0)<=35){k=h-0|0;break}l=c[d>>2]|0;if((h|0)>=35&(c[d>>2]|0)<=40){k=l+1|0;break}h=c[d>>2]|0;if((l|0)>=42&(c[d>>2]|0)<=57){k=h-0|0;break}l=c[d>>2]|0;if((h|0)>=59&(c[d>>2]|0)<=95){k=l-1|0;break}else{k=(l|0)>=95&(c[d>>2]|0)<=125?(c[d>>2]|0)-0|0:-1;break}}else k=g-1|0;while(0);c[e>>2]=k;if((c[e>>2]|0)<0){c[b>>2]=16382;f=c[b>>2]|0;i=a;return f|0}else{c[b>>2]=32768|c[15256+(c[e>>2]<<2)>>2];f=c[b>>2]|0;i=a;return f|0}return 0}function gu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=c[g>>2]|0;b=Ad(c[d>>2]|0,c[d+4>>2]|0)|0;d=D;h=c[f>>2]|0;k=h;a[k>>0]=b;a[k+1>>0]=b>>8;a[k+2>>0]=b>>16;a[k+3>>0]=b>>24;b=h+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=Iv(c[(c[g>>2]|0)+8>>2]|0)|0;b=(c[f>>2]|0)+8|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=(c[f>>2]|0)+12|0;f=(c[g>>2]|0)+12|0;g=d+12|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(g|0));i=e;return}function hu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=e;e=c[h>>2]|0;b=e;k=e+4|0;e=Bd(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=c[g>>2]|0;c[k>>2]=e;c[k+4>>2]=D;k=(c[h>>2]|0)+8|0;e=Mv(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;c[(c[g>>2]|0)+8>>2]=e;e=(c[g>>2]|0)+12|0;g=(c[h>>2]|0)+12|0;h=e+12|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));i=f;return}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=hv(c[f>>2]|0)|0;if((c[h>>2]|0)>>>0>=12){c[e>>2]=-1;k=c[e>>2]|0;i=d;return k|0}else{b=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;Yw((c[g>>2]|0)+12|0,c[f>>2]|0,c[h>>2]|0)|0;c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}return 0}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;do if(0!=(ku(c[f>>2]|0)|0)?0!=(ku(c[g>>2]|0)|0):0)if(!(sv((c[f>>2]|0)+12|0,(c[g>>2]|0)+12|0)|0)){c[e>>2]=1;break}else{c[e>>2]=0;break}else h=3;while(0);if((h|0)==3)c[e>>2]=-1;i=d;return c[e>>2]|0}function ku(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;i=d;return 0!=(a[(c[e>>2]|0)+12>>0]|0)|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+96|0;if((i|0)>=(j|0))$(96);e=d+64|0;f=d+56|0;g=d+48|0;h=d+92|0;k=d+88|0;l=d+84|0;m=d+24|0;n=d;o=d+80|0;p=d+76|0;q=d+72|0;c[k>>2]=a;c[l>>2]=b;if(1!=(ju(c[k>>2]|0,c[l>>2]|0)|0)){c[o>>2]=349;if((c[3940]|0)==-1)c[3940]=$b(1,0,61608,61617,c[o>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3940]|0))_b();c[g>>2]=61608;c[g+4>>2]=349;cc(1,61746,g);_b()}g=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[m+16>>2]=c[g+16>>2];c[m+20>>2]=c[g+20>>2];g=c[l>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];if(-1==(mu(m)|0)){c[p>>2]=353;if((c[3941]|0)==-1)c[3941]=$b(1,0,61608,61617,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3941]|0))_b();c[f>>2]=61608;c[f+4>>2]=353;cc(1,61746,f);_b()}if(-1==(mu(n)|0)){c[q>>2]=355;if((c[3942]|0)==-1)c[3942]=$b(1,0,61608,61617,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3942]|0))_b();c[e>>2]=61608;c[e+4>>2]=355;cc(1,61746,e);_b()}e=m;q=n;if(!((c[e>>2]|0)==(c[q>>2]|0)?(c[e+4>>2]|0)==(c[q+4>>2]|0):0)){q=m;e=c[q+4>>2]|0;f=n;p=c[f+4>>2]|0;if(e>>>0<p>>>0|((e|0)==(p|0)?(c[q>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}else{c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}}if((c[m+8>>2]|0)>>>0<(c[n+8>>2]|0)>>>0){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}if((c[m+8>>2]|0)>>>0>(c[n+8>>2]|0)>>>0){c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}else{c[h>>2]=0;r=c[h>>2]|0;i=d;return r|0}return 0}function mu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(1!=(ku(c[e>>2]|0)|0)){c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=0;while(1){a=c[e>>2]|0;if((c[a>>2]|0)!=-1?1:(c[a+4>>2]|0)!=-1)h=(c[(c[e>>2]|0)+8>>2]|0)>>>0>=1e6;else h=0;a=(c[e>>2]|0)+8|0;k=c[a>>2]|0;if(!h)break;c[a>>2]=k-1e6;a=c[e>>2]|0;l=a;m=Uw(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;l=a;c[l>>2]=m;c[l+4>>2]=D;c[f>>2]=1}if(k>>>0>=1e6){nu(c[e>>2]|0);c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function nu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=c[d>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;i=b;return}function ou(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+112|0;if((i|0)>=(j|0))$(112);f=e+64|0;g=e+56|0;h=e+48|0;k=e+96|0;l=e+92|0;m=e+88|0;n=e+84|0;o=e+24|0;p=e;q=e+80|0;r=e+76|0;s=e+72|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;if(1!=(ju(c[m>>2]|0,c[n>>2]|0)|0)){nu(c[l>>2]|0);c[k>>2]=-1;t=c[k>>2]|0;i=e;return t|0}d=c[m>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+20>>2]=c[d+20>>2];d=c[n>>2]|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[p+16>>2]=c[d+16>>2];c[p+20>>2]=c[d+20>>2];if(-1!=(mu(o)|0)?-1!=(mu(p)|0):0){do if((c[o+8>>2]|0)>>>0<(c[p+8>>2]|0)>>>0){d=o;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=o+8|0;c[d>>2]=(c[d>>2]|0)+1e6;d=o;n=Uw(c[d>>2]|0,c[d+4>>2]|0,-1,-1)|0;d=o;c[d>>2]=n;c[d+4>>2]=D;break}nu(c[l>>2]|0);c[k>>2]=-1;t=c[k>>2]|0;i=e;return t|0}while(0);d=o;n=c[d+4>>2]|0;m=p;b=c[m+4>>2]|0;if(n>>>0<b>>>0|((n|0)==(b|0)?(c[d>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){nu(c[l>>2]|0);c[k>>2]=-1;t=c[k>>2]|0;i=e;return t|0}if(1!=(iu(o+12|0,c[l>>2]|0)|0)){c[q>>2]=421;if((c[3943]|0)==-1)c[3943]=$b(1,0,61608,61634,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3943]|0))_b();c[h>>2]=61608;c[h+4>>2]=421;cc(1,61746,h);_b()}if((c[o+8>>2]|0)>>>0<(c[p+8>>2]|0)>>>0){c[r>>2]=422;if((c[3944]|0)==-1)c[3944]=$b(1,0,61608,61634,c[r>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3944]|0))_b();c[g>>2]=61608;c[g+4>>2]=422;cc(1,61746,g);_b()}c[(c[l>>2]|0)+8>>2]=(c[o+8>>2]|0)-(c[p+8>>2]|0);g=o;r=c[g+4>>2]|0;h=p;q=c[h+4>>2]|0;if(r>>>0>q>>>0|((r|0)==(q|0)?(c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0:0)){h=o;o=p;p=Rw(c[h>>2]|0,c[h+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;o=c[l>>2]|0;c[o>>2]=p;c[o+4>>2]=D;if(0==(c[(c[l>>2]|0)+8>>2]|0)?(o=c[l>>2]|0,0==(c[o>>2]|0)?0==(c[o+4>>2]|0):0):0){c[k>>2]=0;t=c[k>>2]|0;i=e;return t|0}c[k>>2]=1;t=c[k>>2]|0;i=e;return t|0}c[s>>2]=424;if((c[3945]|0)==-1)c[3945]=$b(1,0,61608,61634,c[s>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3945]|0))_b();c[f>>2]=61608;c[f+4>>2]=424;cc(1,61746,f);_b()}nu(c[l>>2]|0);c[k>>2]=-1;t=c[k>>2]|0;i=e;return t|0}function pu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+112|0;if((i|0)>=(j|0))$(112);f=e+72|0;g=e+96|0;h=e+92|0;k=e+88|0;l=e+84|0;m=e+48|0;n=e+24|0;o=e;p=e+80|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;if(1!=(ju(c[k>>2]|0,c[l>>2]|0)|0)){nu(c[h>>2]|0);c[g>>2]=-1;q=c[g>>2]|0;i=e;return q|0}d=c[k>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[m+16>>2]=c[d+16>>2];c[m+20>>2]=c[d+20>>2];d=c[l>>2]|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[n+16>>2]=c[d+16>>2];c[n+20>>2]=c[d+20>>2];if(-1!=(mu(m)|0)?-1!=(mu(n)|0):0){if(1==(iu((c[k>>2]|0)+12|0,o)|0)){k=m;d=n;l=Uw(c[k>>2]|0,c[k+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=o;c[d>>2]=l;c[d+4>>2]=D;d=o;l=c[d+4>>2]|0;k=m;b=c[k+4>>2]|0;if(l>>>0<b>>>0|((l|0)==(b|0)?(c[d>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){nu(c[h>>2]|0);c[g>>2]=-1;q=c[g>>2]|0;i=e;return q|0}c[o+8>>2]=(c[m+8>>2]|0)+(c[n+8>>2]|0);n=-1==(mu(o)|0);m=c[h>>2]|0;if(n){nu(m);c[g>>2]=-1;q=c[g>>2]|0;i=e;return q|0}else{c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[g>>2]=1;q=c[g>>2]|0;i=e;return q|0}}c[p>>2]=468;if((c[3946]|0)==-1)c[3946]=$b(1,0,61608,61656,c[p>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3946]|0))_b();c[f>>2]=61608;c[f+4>>2]=468;cc(1,61746,f);_b()}nu(c[h>>2]|0);c[g>>2]=-1;q=c[g>>2]|0;i=e;return q|0}function qu(){var a=0,b=0,d=0;a=i;i=i+32|0;if((i|0)>=(j|0))$(32);b=a+16|0;d=a+8|0;He(6,0);if(Gd(61673)|0){c[d>>2]=0;Hd(37,d)|0;c[b>>2]=0;Hd(38,b)|0;i=a;return}else{Fv(c[3977]|0,61679,a)|0;Aa()}}function ru(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;d=c[3977]|0;c[f>>2]=c[g>>2];Fv(d,61707,f)|0;Aa()}function su(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+16|0;k=g;l=g+44|0;m=g+40|0;n=g+36|0;o=g+32|0;p=g+28|0;q=g+24|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=Iv(c[m>>2]|0)|0;m=c[n>>2]|0;f=c[l>>2]|0;c[k>>2]=61774;c[k+4>>2]=21;c[k+8>>2]=0;c[k+12>>2]=0;if(1==(Mc(m,64,o,4,f,64,k)|0)){c[p>>2]=c[n>>2];n=c[p>>2]|0;a[n>>0]=(d[n>>0]|0)&127;n=c[p>>2]|0;a[n>>0]=d[n>>0]|0|64;n=(c[p>>2]|0)+31|0;a[n>>0]=(d[n>>0]|0)&248;i=g;return}c[q>>2]=197;if((c[3947]|0)==-1)c[3947]=$b(1,0,61737,61796,c[q>>2]|0)|0;if((ac()|0)>0){bc(-1,0);_b()}if(!(c[3947]|0))_b();c[h>>2]=61737;c[h+4>>2]=197;cc(1,61746,h);_b()}function tu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=c[a+60>>2];a=wu(hb(6,d|0)|0)|0;i=b;return a|0}function uu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+80|0;if((i|0)>=(j|0))$(80);g=f;c[b+36>>2]=25;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21505,c[g+8>>2]=f+12,bb(54,g|0)|0):0)a[b+75>>0]=-1;g=yu(b,d,e)|0;i=f;return g|0}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((wu(ob(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function wu(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(xu()|0)>>2]=0-a;b=-1}else b=a;return b|0}function xu(){var a=0;if(!(c[17812]|0))a=71292;else a=c[(ix()|0)+64>>2]|0;return a|0}function yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+16|0;g=e;h=e+32|0;k=a+28|0;l=c[k>>2]|0;c[h>>2]=l;m=a+20|0;n=(c[m>>2]|0)-l|0;c[h+4>>2]=n;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;l=a+44|0;o=2;p=n+d|0;n=h;while(1){if(!(c[17812]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=o;q=wu(sb(146,f|0)|0)|0}else{Ca(6,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=o;h=wu(sb(146,g|0)|0)|0;wa(0);q=h}if((p|0)==(q|0)){r=6;break}if((q|0)<0){r=8;break}h=p-q|0;s=c[n+4>>2]|0;if(q>>>0<=s>>>0)if((o|0)==2){c[k>>2]=(c[k>>2]|0)+q;t=q;u=2;v=n;w=s}else{t=q;u=o;v=n;w=s}else{x=c[l>>2]|0;c[k>>2]=x;c[m>>2]=x;t=q-s|0;u=o+-1|0;v=n+8|0;w=c[n+12>>2]|0}c[v>>2]=(c[v>>2]|0)+t;c[v+4>>2]=w-t;o=u;p=h;n=v}if((r|0)==6){v=c[l>>2]|0;c[a+16>>2]=v+(c[a+48>>2]|0);l=v;c[k>>2]=l;c[m>>2]=l;y=d}else if((r|0)==8){c[a+16>>2]=0;c[k>>2]=0;c[m>>2]=0;c[a>>2]=c[a>>2]|32;if((o|0)==2)y=0;else y=d-(c[n+4>>2]|0)|0}i=e;return y|0}function zu(a){a=a|0;if(!(c[a+68>>2]|0))Au(a);return}function Au(a){a=a|0;return}function Bu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f+16|0;h=f;k=f+32|0;c[k>>2]=d;l=k+4|0;m=b+48|0;n=c[m>>2]|0;c[l>>2]=e-((n|0)!=0&1);o=b+44|0;c[k+8>>2]=c[o>>2];c[k+12>>2]=n;if(!(c[17812]|0)){c[g>>2]=c[b+60>>2];c[g+4>>2]=k;c[g+8>>2]=2;p=wu(rb(145,g|0)|0)|0}else{Ca(7,b|0);c[h>>2]=c[b+60>>2];c[h+4>>2]=k;c[h+8>>2]=2;k=wu(rb(145,h|0)|0)|0;wa(0);p=k}if((p|0)>=1){k=c[l>>2]|0;if(p>>>0>k>>>0){l=c[o>>2]|0;o=b+4|0;c[o>>2]=l;h=l;c[b+8>>2]=h+(p-k);if(!(c[m>>2]|0))q=e;else{c[o>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;q=e}}else q=p}else{c[b>>2]=c[b>>2]|p&48^16;c[b+8>>2]=0;c[b+4>>2]=0;q=p}i=f;return q|0}function Cu(a){a=a|0;if(!(c[a+68>>2]|0))Au(a);return}function Du(a){a=a|0;return Eu(a)|0}function Eu(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function Fu(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function Gu(a){a=a|0;var b=0;b=(Hu(a)|0)==0;return (b?a:a|32)|0}function Hu(a){a=a|0;return (a+-65|0)>>>0<26|0}function Iu(a){a=a|0;return Ku(a,0)|0}function Ju(a){a=a|0;return Ku(a,1)|0}function Ku(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=(f<<1)+-1|0;h=f+-1|0;a:do if((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(Lu(c)|0)==0)))i=c;else{j=(f|0)!=0;if(j&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:{i=c;break a}}i=c+7264|0;break}if((c+-11520|0)>>>0<38&(j^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:{i=c;break a}}i=c+-7264|0;break}else k=0;do{l=a[18910+(k<<2)+2>>0]|0;m=l<<24>>24;n=c-(e[18910+(k<<2)>>1]|0)|0;if((n-(m&h)|0)>>>0<(d[18910+(k<<2)+3>>0]|0)>>>0){o=13;break}k=k+1|0}while((k|0)!=61);if((o|0)==13)if(l<<24>>24==1){i=f+c-(n&1)|0;break}else{i=(S(m,g)|0)+c|0;break}j=1-f|0;p=b[18418+(j<<1)>>1]|0;b:do if(p<<16>>16){q=0;r=p;while(1){if((r&65535|0)==(c|0))break;s=q+1|0;r=b[18418+(s<<2)+(j<<1)>>1]|0;if(!(r<<16>>16))break b;else q=s}i=e[18418+(q<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return i|0}function Lu(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[61819+((d[61819+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=a>>>0<196606&1;return b|0}function Mu(a){a=a|0;return (a+-97|0)>>>0<26|0}function Nu(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0;c=0;while(1){if((d[64795+c>>0]|0)==(b|0)){e=2;break}f=c+1|0;if((f|0)==87){g=64883;h=87;e=5;break}else c=f}if((e|0)==2)if(!c)i=64883;else{g=64883;h=c;e=5}if((e|0)==5)while(1){e=0;c=g;do{b=c;c=c+1|0}while((a[b>>0]|0)!=0);h=h+-1|0;if(!h){i=c;break}else{g=c;e=5}}return i|0}function Ou(a){a=a|0;var b=0;if(!a)b=0;else b=(Pu(16228,a)|0)!=0;return b&1|0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b)d=a+((Qu(a)|0)<<2)|0;else{e=a;while(1){f=c[e>>2]|0;if((f|0)==0|(f|0)==(b|0))break;else e=e+4|0}d=f|0?e:0}return d|0}function Qu(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function Ru(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function Su(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;c[g>>2]=e;e=Tu(a,b,d,g)|0;i=f;return e|0}function Tu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+128|0;if((i|0)>=(j|0))$(128);h=g+112|0;k=g;l=k;m=16316;n=l+112|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((d+-1|0)>>>0>2147483646)if(!d){o=h;p=1;q=4}else{c[(xu()|0)>>2]=75;r=-1}else{o=b;p=d;q=4}if((q|0)==4){q=-2-o|0;d=p>>>0>q>>>0?q:p;c[k+48>>2]=d;p=k+20|0;c[p>>2]=o;c[k+44>>2]=o;q=o+d|0;o=k+16|0;c[o>>2]=q;c[k+28>>2]=q;q=Uu(k,e,f)|0;if(!d)r=q;else{d=c[p>>2]|0;a[d+(((d|0)==(c[o>>2]|0))<<31>>31)>>0]=0;r=q}}i=g;return r|0}function Uu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+224|0;if((i|0)>=(j|0))$(224);g=f+120|0;h=f+80|0;k=f;l=f+136|0;m=h;n=m+40|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[g>>2]=c[e>>2];if((Vu(0,d,g,k,h)|0)<0)o=-1;else{if((c[b+76>>2]|0)>-1)p=Wu(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){n=b+44|0;q=c[n>>2]|0;c[n>>2]=l;r=b+28|0;c[r>>2]=l;s=b+20|0;c[s>>2]=l;c[e>>2]=80;t=b+16|0;c[t>>2]=l+80;l=Vu(b,d,g,k,h)|0;if(!q)u=l;else{ub[c[b+36>>2]&63](b,0,0)|0;v=(c[s>>2]|0)==0?-1:l;c[n>>2]=q;c[e>>2]=0;c[t>>2]=0;c[r>>2]=0;c[s>>2]=0;u=v}}else u=Vu(b,d,g,k,h)|0;h=c[b>>2]|0;c[b>>2]=h|m;if(p|0)Au(b);o=(h&32|0)==0?u:-1}i=f;return o|0}function Vu(e,f,g,k,m){e=e|0;f=f|0;g=g|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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,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,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,_a=0,$a=0,ab=0,bb=0.0,cb=0.0,db=0,eb=0,fb=0,gb=0,hb=0.0,ib=0,jb=0.0,kb=0,lb=0,mb=0,nb=0.0,ob=0,pb=0,qb=0,rb=0,sb=0.0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0.0,Rb=0.0,Sb=0.0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0;n=i;i=i+624|0;if((i|0)>=(j|0))$(624);o=n+24|0;p=n+16|0;q=n+588|0;r=n+576|0;s=n;t=n+536|0;u=n+8|0;v=n+528|0;w=(e|0)!=0;x=t+40|0;y=x;z=t+39|0;t=u+4|0;A=q;B=0-A|0;C=r+12|0;E=r+11|0;r=C;F=r-A|0;G=-2-A|0;H=r+2|0;I=o+288|0;J=q+9|0;K=J;L=q+8|0;M=0;N=0;O=0;P=f;a:while(1){do if((N|0)>-1)if((M|0)>(2147483647-N|0)){c[(xu()|0)>>2]=75;Q=-1;break}else{Q=M+N|0;break}else Q=N;while(0);f=a[P>>0]|0;if(!(f<<24>>24)){R=243;break}else{T=P;U=f}b:while(1){switch(U<<24>>24){case 37:{V=T;W=T;R=9;break b;break}case 0:{X=T;Y=T;break b;break}default:{}}f=T+1|0;T=f;U=a[f>>0]|0}c:do if((R|0)==9)while(1){R=0;if((a[W+1>>0]|0)!=37){X=V;Y=W;break c}f=V+1|0;Z=W+2|0;if((a[Z>>0]|0)==37){V=f;W=Z;R=9}else{X=f;Y=Z;break}}while(0);Z=X-P|0;if(w?(c[e>>2]&32|0)==0:0)Xu(P,Z,e)|0;if(Z|0){M=Z;N=Q;P=Y;continue}Z=Y+1|0;f=a[Z>>0]|0;_=(f<<24>>24)+-48|0;if(_>>>0<10){aa=(a[Y+2>>0]|0)==36;ba=aa?Y+3|0:Z;ca=aa?_:-1;da=aa?1:O;ea=a[ba>>0]|0;fa=ba}else{ca=-1;da=O;ea=f;fa=Z}Z=(ea<<24>>24)+-32|0;d:do if(Z>>>0<32){f=0;ba=Z;aa=ea;_=fa;while(1){if(!(1<<ba&75913)){ga=f;ha=aa;ia=_;break d}ja=1<<(aa<<24>>24)+-32|f;ka=_+1|0;la=a[ka>>0]|0;ba=(la<<24>>24)+-32|0;if(ba>>>0>=32){ga=ja;ha=la;ia=ka;break}else{f=ja;aa=la;_=ka}}}else{ga=0;ha=ea;ia=fa}while(0);do if(ha<<24>>24!=42){Z=(ha<<24>>24)+-48|0;if(Z>>>0<10){_=0;aa=ia;f=Z;do{_=(_*10|0)+f|0;aa=aa+1|0;ma=a[aa>>0]|0;f=(ma<<24>>24)+-48|0}while(f>>>0<10);if((_|0)<0){na=-1;break a}else{oa=_;pa=ga;qa=da;ra=aa;sa=ma}}else{oa=0;pa=ga;qa=da;ra=ia;sa=ha}}else{f=ia+1|0;Z=a[f>>0]|0;ba=(Z<<24>>24)+-48|0;if(ba>>>0<10?(a[ia+2>>0]|0)==36:0){c[m+(ba<<2)>>2]=10;ta=c[k+((a[f>>0]|0)+-48<<3)>>2]|0;ua=1;va=ia+3|0}else{if(da|0){na=-1;break a}if(!w){oa=0;pa=ga;qa=0;ra=f;sa=Z;break}Z=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[Z>>2]|0;c[g>>2]=Z+4;ta=ba;ua=0;va=f}f=(ta|0)<0;oa=f?0-ta|0:ta;pa=f?ga|8192:ga;qa=ua;ra=va;sa=a[va>>0]|0}while(0);e:do if(sa<<24>>24==46){f=ra+1|0;ba=a[f>>0]|0;if(ba<<24>>24!=42){Z=(ba<<24>>24)+-48|0;if(Z>>>0<10){wa=0;xa=f;ya=Z}else{za=0;Aa=f;break}while(1){f=(wa*10|0)+ya|0;Z=xa+1|0;ya=(a[Z>>0]|0)+-48|0;if(ya>>>0>=10){za=f;Aa=Z;break e}else{wa=f;xa=Z}}}aa=ra+2|0;_=(a[aa>>0]|0)+-48|0;if(_>>>0<10?(a[ra+3>>0]|0)==36:0){c[m+(_<<2)>>2]=10;za=c[k+((a[aa>>0]|0)+-48<<3)>>2]|0;Aa=ra+4|0;break}if(qa|0){na=-1;break a}if(w){_=(c[g>>2]|0)+(4-1)&~(4-1);Z=c[_>>2]|0;c[g>>2]=_+4;za=Z;Aa=aa}else{za=0;Aa=aa}}else{za=-1;Aa=ra}while(0);aa=0;Z=Aa;while(1){_=(a[Z>>0]|0)+-65|0;if(_>>>0>57){na=-1;break a}Ba=Z+1|0;Ca=a[66687+(aa*58|0)+_>>0]|0;Da=Ca&255;if((Da+-1|0)>>>0<8){aa=Da;Z=Ba}else break}if(!(Ca<<24>>24)){na=-1;break}_=(ca|0)>-1;do if(Ca<<24>>24==19)if(_){na=-1;break a}else R=51;else{if(_){c[m+(ca<<2)>>2]=Da;f=k+(ca<<3)|0;ba=c[f+4>>2]|0;ka=s;c[ka>>2]=c[f>>2];c[ka+4>>2]=ba;R=51;break}if(!w){na=0;break a}Yu(s,Da,g)}while(0);if((R|0)==51?(R=0,!w):0){M=0;N=Q;O=qa;P=Ba;continue}_=a[Z>>0]|0;ba=(aa|0)!=0&(_&15|0)==3?_&-33:_;_=pa&-65537;ka=(pa&8192|0)==0?pa:_;f:do switch(ba|0){case 110:{switch((aa&255)<<24>>24){case 0:{c[c[s>>2]>>2]=Q;M=0;N=Q;O=qa;P=Ba;continue a;break}case 1:{c[c[s>>2]>>2]=Q;M=0;N=Q;O=qa;P=Ba;continue a;break}case 2:{f=c[s>>2]|0;c[f>>2]=Q;c[f+4>>2]=((Q|0)<0)<<31>>31;M=0;N=Q;O=qa;P=Ba;continue a;break}case 3:{b[c[s>>2]>>1]=Q;M=0;N=Q;O=qa;P=Ba;continue a;break}case 4:{a[c[s>>2]>>0]=Q;M=0;N=Q;O=qa;P=Ba;continue a;break}case 6:{c[c[s>>2]>>2]=Q;M=0;N=Q;O=qa;P=Ba;continue a;break}case 7:{f=c[s>>2]|0;c[f>>2]=Q;c[f+4>>2]=((Q|0)<0)<<31>>31;M=0;N=Q;O=qa;P=Ba;continue a;break}default:{M=0;N=Q;O=qa;P=Ba;continue a}}break}case 112:{Ea=120;Fa=za>>>0>8?za:8;Ga=ka|8;R=63;break}case 88:case 120:{Ea=ba;Fa=za;Ga=ka;R=63;break}case 111:{f=s;la=c[f>>2]|0;ja=c[f+4>>2]|0;if((la|0)==0&(ja|0)==0)Ha=x;else{f=x;Ia=la;la=ja;while(1){ja=f+-1|0;a[ja>>0]=Ia&7|48;Ia=ax(Ia|0,la|0,3)|0;la=D;if((Ia|0)==0&(la|0)==0){Ha=ja;break}else f=ja}}if(!(ka&8)){Ja=Ha;Ka=0;La=67167;Ma=za;Na=ka;R=76}else{f=y-Ha|0;Ja=Ha;Ka=0;La=67167;Ma=(za|0)>(f|0)?za:f+1|0;Na=ka;R=76}break}case 105:case 100:{f=s;la=c[f>>2]|0;Ia=c[f+4>>2]|0;if((Ia|0)<0){f=Rw(0,0,la|0,Ia|0)|0;ja=D;Oa=s;c[Oa>>2]=f;c[Oa+4>>2]=ja;Pa=1;Qa=67167;Ra=f;Sa=ja;R=75;break f}if(!(ka&2048)){ja=ka&1;Pa=ja;Qa=(ja|0)==0?67167:67169;Ra=la;Sa=Ia;R=75}else{Pa=1;Qa=67168;Ra=la;Sa=Ia;R=75}break}case 117:{Ia=s;Pa=0;Qa=67167;Ra=c[Ia>>2]|0;Sa=c[Ia+4>>2]|0;R=75;break}case 99:{a[z>>0]=c[s>>2];Ta=z;Ua=0;Va=67167;Wa=x;Xa=1;Ya=_;break}case 109:{Za=Nu(c[(xu()|0)>>2]|0)|0;R=81;break}case 115:{Ia=c[s>>2]|0;Za=Ia|0?Ia:67177;R=81;break}case 67:{c[u>>2]=c[s>>2];c[t>>2]=0;c[s>>2]=u;_a=-1;$a=u;R=85;break}case 83:{Ia=c[s>>2]|0;if(!za){$u(e,32,oa,0,ka);ab=0;R=96}else{_a=za;$a=Ia;R=85}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{bb=+h[s>>3];c[p>>2]=0;h[l>>3]=bb;if((c[l+4>>2]|0)>=0){Ia=ka&1;if(!(ka&2048)){cb=bb;db=Ia;eb=(Ia|0)==0?67185:67190}else{cb=bb;db=1;eb=67187}}else{cb=-bb;db=1;eb=67184}h[l>>3]=cb;Ia=c[l+4>>2]&2146435072;do if(Ia>>>0<2146435072|(Ia|0)==2146435072&0<0){bb=+bv(cb,p)*2.0;la=bb!=0.0;if(la)c[p>>2]=(c[p>>2]|0)+-1;ja=ba|32;if((ja|0)==97){f=ba&32;Oa=(f|0)==0?eb:eb+9|0;fb=db|2;gb=12-za|0;do if(!(za>>>0>11|(gb|0)==0)){hb=8.0;ib=gb;do{ib=ib+-1|0;hb=hb*16.0}while((ib|0)!=0);if((a[Oa>>0]|0)==45){jb=-(hb+(-bb-hb));break}else{jb=bb+hb-hb;break}}else jb=bb;while(0);gb=c[p>>2]|0;ib=(gb|0)<0?0-gb|0:gb;kb=Zu(ib,((ib|0)<0)<<31>>31,C)|0;if((kb|0)==(C|0)){a[E>>0]=48;lb=E}else lb=kb;a[lb+-1>>0]=(gb>>31&2)+43;gb=lb+-2|0;a[gb>>0]=ba+15;kb=(za|0)<1;ib=(ka&8|0)==0;mb=q;nb=jb;while(1){ob=~~nb;pb=mb+1|0;a[mb>>0]=d[67151+ob>>0]|f;nb=(nb-+(ob|0))*16.0;do if((pb-A|0)==1){if(ib&(kb&nb==0.0)){qb=pb;break}a[pb>>0]=46;qb=mb+2|0}else qb=pb;while(0);if(!(nb!=0.0))break;else mb=qb}mb=qb;kb=gb;ib=(za|0)!=0&(G+mb|0)<(za|0)?H+za-kb|0:F-kb+mb|0;f=ib+fb|0;$u(e,32,oa,f,ka);if(!(c[e>>2]&32))Xu(Oa,fb,e)|0;$u(e,48,oa,f,ka^65536);pb=mb-A|0;if(!(c[e>>2]&32))Xu(q,pb,e)|0;mb=r-kb|0;$u(e,48,ib-(pb+mb)|0,0,0);if(!(c[e>>2]&32))Xu(gb,mb,e)|0;$u(e,32,oa,f,ka^8192);rb=(f|0)<(oa|0)?oa:f;break}f=(za|0)<0?6:za;if(la){mb=(c[p>>2]|0)+-28|0;c[p>>2]=mb;sb=bb*268435456.0;tb=mb}else{sb=bb;tb=c[p>>2]|0}mb=(tb|0)<0?o:I;pb=mb;nb=sb;do{ib=~~nb>>>0;c[pb>>2]=ib;pb=pb+4|0;nb=(nb-+(ib>>>0))*1.0e9}while(nb!=0.0);if((tb|0)>0){la=mb;gb=pb;fb=tb;while(1){Oa=(fb|0)>29?29:fb;ib=gb+-4|0;do if(ib>>>0<la>>>0)ub=la;else{kb=ib;ob=0;do{vb=gx(c[kb>>2]|0,0,Oa|0)|0;wb=Uw(vb|0,D|0,ob|0,0)|0;vb=D;xb=hx(wb|0,vb|0,1e9,0)|0;c[kb>>2]=xb;ob=cx(wb|0,vb|0,1e9,0)|0;kb=kb+-4|0}while(kb>>>0>=la>>>0);if(!ob){ub=la;break}kb=la+-4|0;c[kb>>2]=ob;ub=kb}while(0);ib=gb;while(1){if(ib>>>0<=ub>>>0)break;kb=ib+-4|0;if(!(c[kb>>2]|0))ib=kb;else break}kb=(c[p>>2]|0)-Oa|0;c[p>>2]=kb;if((kb|0)>0){la=ub;gb=ib;fb=kb}else{yb=ub;zb=ib;Ab=kb;break}}}else{yb=mb;zb=pb;Ab=tb}if((Ab|0)<0){fb=((f+25|0)/9|0)+1|0;gb=(ja|0)==102;la=yb;kb=zb;vb=Ab;while(1){wb=0-vb|0;xb=(wb|0)>9?9:wb;do if(la>>>0<kb>>>0){wb=(1<<xb)+-1|0;Bb=1e9>>>xb;Cb=0;Db=la;do{Eb=c[Db>>2]|0;c[Db>>2]=(Eb>>>xb)+Cb;Cb=S(Eb&wb,Bb)|0;Db=Db+4|0}while(Db>>>0<kb>>>0);Db=(c[la>>2]|0)==0?la+4|0:la;if(!Cb){Fb=Db;Gb=kb;break}c[kb>>2]=Cb;Fb=Db;Gb=kb+4|0}else{Fb=(c[la>>2]|0)==0?la+4|0:la;Gb=kb}while(0);ib=gb?mb:Fb;Oa=(Gb-ib>>2|0)>(fb|0)?ib+(fb<<2)|0:Gb;vb=(c[p>>2]|0)+xb|0;c[p>>2]=vb;if((vb|0)>=0){Hb=Fb;Ib=Oa;break}else{la=Fb;kb=Oa}}}else{Hb=yb;Ib=zb}kb=mb;do if(Hb>>>0<Ib>>>0){la=(kb-Hb>>2)*9|0;vb=c[Hb>>2]|0;if(vb>>>0<10){Jb=la;break}else{Kb=la;Lb=10}while(1){Lb=Lb*10|0;la=Kb+1|0;if(vb>>>0<Lb>>>0){Jb=la;break}else Kb=la}}else Jb=0;while(0);vb=(ja|0)==103;xb=(f|0)!=0;la=f-((ja|0)!=102?Jb:0)+((xb&vb)<<31>>31)|0;if((la|0)<(((Ib-kb>>2)*9|0)+-9|0)){fb=la+9216|0;la=mb+4+(((fb|0)/9|0)+-1024<<2)|0;gb=((fb|0)%9|0)+1|0;if((gb|0)<9){fb=gb;gb=10;while(1){pb=gb*10|0;fb=fb+1|0;if((fb|0)==9){Mb=pb;break}else gb=pb}}else Mb=10;gb=c[la>>2]|0;fb=(gb>>>0)%(Mb>>>0)|0;ja=(la+4|0)==(Ib|0);do if(ja&(fb|0)==0){Nb=la;Ob=Jb;Pb=Hb}else{nb=(((gb>>>0)/(Mb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;pb=(Mb|0)/2|0;if(fb>>>0<pb>>>0)Qb=.5;else Qb=ja&(fb|0)==(pb|0)?1.0:1.5;do if(!db){Rb=Qb;Sb=nb}else{if((a[eb>>0]|0)!=45){Rb=Qb;Sb=nb;break}Rb=-Qb;Sb=-nb}while(0);pb=gb-fb|0;c[la>>2]=pb;if(!(Sb+Rb!=Sb)){Nb=la;Ob=Jb;Pb=Hb;break}Oa=pb+Mb|0;c[la>>2]=Oa;if(Oa>>>0>999999999){Oa=la;pb=Hb;while(1){ib=Oa+-4|0;c[Oa>>2]=0;if(ib>>>0<pb>>>0){Db=pb+-4|0;c[Db>>2]=0;Tb=Db}else Tb=pb;Db=(c[ib>>2]|0)+1|0;c[ib>>2]=Db;if(Db>>>0>999999999){Oa=ib;pb=Tb}else{Ub=ib;Vb=Tb;break}}}else{Ub=la;Vb=Hb}pb=(kb-Vb>>2)*9|0;Oa=c[Vb>>2]|0;if(Oa>>>0<10){Nb=Ub;Ob=pb;Pb=Vb;break}else{Wb=pb;Xb=10}while(1){Xb=Xb*10|0;pb=Wb+1|0;if(Oa>>>0<Xb>>>0){Nb=Ub;Ob=pb;Pb=Vb;break}else Wb=pb}}while(0);la=Nb+4|0;Yb=Ob;Zb=Ib>>>0>la>>>0?la:Ib;_b=Pb}else{Yb=Jb;Zb=Ib;_b=Hb}la=0-Yb|0;fb=Zb;while(1){if(fb>>>0<=_b>>>0){$b=0;break}gb=fb+-4|0;if(!(c[gb>>2]|0))fb=gb;else{$b=1;break}}do if(vb){gb=(xb&1^1)+f|0;if((gb|0)>(Yb|0)&(Yb|0)>-5){ac=ba+-1|0;bc=gb+-1-Yb|0}else{ac=ba+-2|0;bc=gb+-1|0}gb=ka&8;if(gb|0){cc=ac;dc=bc;ec=gb;break}do if($b){gb=c[fb+-4>>2]|0;if(!gb){fc=9;break}if(!((gb>>>0)%10|0)){gc=0;hc=10}else{fc=0;break}while(1){hc=hc*10|0;ja=gc+1|0;if((gb>>>0)%(hc>>>0)|0|0){fc=ja;break}else gc=ja}}else fc=9;while(0);gb=((fb-kb>>2)*9|0)+-9|0;if((ac|32|0)==102){Cb=gb-fc|0;ja=(Cb|0)<0?0:Cb;cc=ac;dc=(bc|0)<(ja|0)?bc:ja;ec=0;break}else{ja=gb+Yb-fc|0;gb=(ja|0)<0?0:ja;cc=ac;dc=(bc|0)<(gb|0)?bc:gb;ec=0;break}}else{cc=ba;dc=f;ec=ka&8}while(0);f=dc|ec;kb=(f|0)!=0&1;xb=(cc|32|0)==102;if(xb){ic=0;jc=(Yb|0)>0?Yb:0}else{vb=(Yb|0)<0?la:Yb;gb=Zu(vb,((vb|0)<0)<<31>>31,C)|0;if((r-gb|0)<2){vb=gb;while(1){ja=vb+-1|0;a[ja>>0]=48;if((r-ja|0)<2)vb=ja;else{kc=ja;break}}}else kc=gb;a[kc+-1>>0]=(Yb>>31&2)+43;vb=kc+-2|0;a[vb>>0]=cc;ic=vb;jc=r-vb|0}vb=db+1+dc+kb+jc|0;$u(e,32,oa,vb,ka);if(!(c[e>>2]&32))Xu(eb,db,e)|0;$u(e,48,oa,vb,ka^65536);do if(xb){la=_b>>>0>mb>>>0?mb:_b;ja=la;do{Cb=Zu(c[ja>>2]|0,0,J)|0;do if((ja|0)==(la|0)){if((Cb|0)!=(J|0)){lc=Cb;break}a[L>>0]=48;lc=L}else{if(Cb>>>0<=q>>>0){lc=Cb;break}Sw(q|0,48,Cb-A|0)|0;Oa=Cb;while(1){pb=Oa+-1|0;if(pb>>>0>q>>>0)Oa=pb;else{lc=pb;break}}}while(0);if(!(c[e>>2]&32))Xu(lc,K-lc|0,e)|0;ja=ja+4|0}while(ja>>>0<=mb>>>0);do if(f|0){if(c[e>>2]&32|0)break;Xu(67219,1,e)|0}while(0);if((dc|0)>0&ja>>>0<fb>>>0){la=dc;Cb=ja;while(1){Oa=Zu(c[Cb>>2]|0,0,J)|0;if(Oa>>>0>q>>>0){Sw(q|0,48,Oa-A|0)|0;pb=Oa;while(1){ib=pb+-1|0;if(ib>>>0>q>>>0)pb=ib;else{mc=ib;break}}}else mc=Oa;if(!(c[e>>2]&32))Xu(mc,(la|0)>9?9:la,e)|0;Cb=Cb+4|0;pb=la+-9|0;if(!((la|0)>9&Cb>>>0<fb>>>0)){nc=pb;break}else la=pb}}else nc=dc;$u(e,48,nc+9|0,9,0)}else{la=$b?fb:_b+4|0;if((dc|0)>-1){Cb=(ec|0)==0;ja=dc;pb=_b;while(1){ib=Zu(c[pb>>2]|0,0,J)|0;if((ib|0)==(J|0)){a[L>>0]=48;oc=L}else oc=ib;do if((pb|0)==(_b|0)){ib=oc+1|0;if(!(c[e>>2]&32))Xu(oc,1,e)|0;if(Cb&(ja|0)<1){pc=ib;break}if(c[e>>2]&32|0){pc=ib;break}Xu(67219,1,e)|0;pc=ib}else{if(oc>>>0<=q>>>0){pc=oc;break}Sw(q|0,48,oc+B|0)|0;ib=oc;while(1){Db=ib+-1|0;if(Db>>>0>q>>>0)ib=Db;else{pc=Db;break}}}while(0);Oa=K-pc|0;if(!(c[e>>2]&32))Xu(pc,(ja|0)>(Oa|0)?Oa:ja,e)|0;ib=ja-Oa|0;pb=pb+4|0;if(!(pb>>>0<la>>>0&(ib|0)>-1)){qc=ib;break}else ja=ib}}else qc=dc;$u(e,48,qc+18|0,18,0);if(c[e>>2]&32|0)break;Xu(ic,r-ic|0,e)|0}while(0);$u(e,32,oa,vb,ka^8192);rb=(vb|0)<(oa|0)?oa:vb}else{fb=(ba&32|0)!=0;f=cb!=cb|0.0!=0.0;mb=f?0:db;xb=mb+3|0;$u(e,32,oa,xb,_);kb=c[e>>2]|0;if(!(kb&32)){Xu(eb,mb,e)|0;rc=c[e>>2]|0}else rc=kb;if(!(rc&32))Xu(f?(fb?67211:67215):fb?67203:67207,3,e)|0;$u(e,32,oa,xb,ka^8192);rb=(xb|0)<(oa|0)?oa:xb}while(0);M=rb;N=Q;O=qa;P=Ba;continue a;break}default:{Ta=P;Ua=0;Va=67167;Wa=x;Xa=za;Ya=ka}}while(0);g:do if((R|0)==63){R=0;ba=s;aa=c[ba>>2]|0;Z=c[ba+4>>2]|0;ba=Ea&32;if((aa|0)==0&(Z|0)==0){sc=x;tc=0;uc=0}else{Ia=x;xb=aa;aa=Z;do{Ia=Ia+-1|0;a[Ia>>0]=d[67151+(xb&15)>>0]|ba;xb=ax(xb|0,aa|0,4)|0;aa=D}while(!((xb|0)==0&(aa|0)==0));aa=s;sc=Ia;tc=c[aa>>2]|0;uc=c[aa+4>>2]|0}aa=(Ga&8|0)==0|(tc|0)==0&(uc|0)==0;Ja=sc;Ka=aa?0:2;La=aa?67167:67167+(Ea>>4)|0;Ma=Fa;Na=Ga;R=76}else if((R|0)==75){R=0;Ja=Zu(Ra,Sa,x)|0;Ka=Pa;La=Qa;Ma=za;Na=ka;R=76}else if((R|0)==81){R=0;aa=_u(Za,0,za)|0;xb=(aa|0)==0;Ta=Za;Ua=0;Va=67167;Wa=xb?Za+za|0:aa;Xa=xb?za:aa-Za|0;Ya=_}else if((R|0)==85){R=0;aa=$a;xb=0;ba=0;while(1){Z=c[aa>>2]|0;if(!Z){vc=xb;wc=ba;break}fb=av(v,Z)|0;if((fb|0)<0|fb>>>0>(_a-xb|0)>>>0){vc=xb;wc=fb;break}Z=fb+xb|0;if(_a>>>0>Z>>>0){aa=aa+4|0;xb=Z;ba=fb}else{vc=Z;wc=fb;break}}if((wc|0)<0){na=-1;break a}$u(e,32,oa,vc,ka);if(!vc){ab=0;R=96}else{ba=$a;xb=0;while(1){aa=c[ba>>2]|0;if(!aa){ab=vc;R=96;break g}Ia=av(v,aa)|0;xb=Ia+xb|0;if((xb|0)>(vc|0)){ab=vc;R=96;break g}if(!(c[e>>2]&32))Xu(v,Ia,e)|0;if(xb>>>0>=vc>>>0){ab=vc;R=96;break}else ba=ba+4|0}}}while(0);if((R|0)==96){R=0;$u(e,32,oa,ab,ka^8192);M=(oa|0)>(ab|0)?oa:ab;N=Q;O=qa;P=Ba;continue}if((R|0)==76){R=0;_=(Ma|0)>-1?Na&-65537:Na;ba=s;xb=(c[ba>>2]|0)!=0|(c[ba+4>>2]|0)!=0;if((Ma|0)!=0|xb){ba=(xb&1^1)+(y-Ja)|0;Ta=Ja;Ua=Ka;Va=La;Wa=x;Xa=(Ma|0)>(ba|0)?Ma:ba;Ya=_}else{Ta=x;Ua=Ka;Va=La;Wa=x;Xa=0;Ya=_}}_=Wa-Ta|0;ba=(Xa|0)<(_|0)?_:Xa;xb=ba+Ua|0;Ia=(oa|0)<(xb|0)?xb:oa;$u(e,32,Ia,xb,Ya);if(!(c[e>>2]&32))Xu(Va,Ua,e)|0;$u(e,48,Ia,xb,Ya^65536);$u(e,48,ba,_,0);if(!(c[e>>2]&32))Xu(Ta,_,e)|0;$u(e,32,Ia,xb,Ya^8192);M=Ia;N=Q;O=qa;P=Ba}h:do if((R|0)==243)if(!e)if(!O)na=0;else{Ba=1;while(1){P=c[m+(Ba<<2)>>2]|0;if(!P){xc=Ba;break}Yu(k+(Ba<<3)|0,P,g);Ba=Ba+1|0;if((Ba|0)>=10){na=1;break h}}while(1){if(c[m+(xc<<2)>>2]|0){na=-1;break h}xc=xc+1|0;if((xc|0)>=10){na=1;break}}}else na=Q;while(0);i=n;return na|0}function Wu(a){a=a|0;return 0}function Xu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(ev(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=ub[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=0;o=k;break b}p=f+-1|0;if((a[b+p>>0]|0)==10)break;else f=p}if((ub[c[e+36>>2]&63](e,b,f)|0)>>>0<f>>>0){j=f;break a}l=d-f|0;m=b+f|0;n=f;o=c[g>>2]|0}else{l=d;m=b;n=0;o=k}while(0);Yw(o|0,m|0,l|0)|0;c[g>>2]=(c[g>>2]|0)+l;j=n+l|0}while(0);return j|0}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Zu(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=hx(f|0,g|0,10,0)|0;e=e+-1|0;a[e>>0]=c|48;c=f;f=cx(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=D}h=f;i=e}else{h=b;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;a[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function _u(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=d&255;if((a[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=S(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^r;if((e&-2139062144^-2139062144)&e+-16843009|0)break;e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{v=e;w=b;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((a[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function $u(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+256|0;if((i|0)>=(j|0))$(256);h=g;do if((d|0)>(e|0)&(f&73728|0)==0){k=d-e|0;Sw(h|0,b|0,(k>>>0>256?256:k)|0)|0;l=c[a>>2]|0;m=(l&32|0)==0;if(k>>>0>255){n=d-e|0;o=k;p=l;l=m;while(1){if(l){Xu(h,256,a)|0;q=c[a>>2]|0}else q=p;o=o+-256|0;l=(q&32|0)==0;if(o>>>0<=255)break;else p=q}if(l)r=n&255;else break}else if(m)r=k;else break;Xu(h,r,a)|0}while(0);i=g;return}function av(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=dv(a,b,0)|0;return c|0}function bv(a,b){a=+a;b=b|0;return +(+cv(a,b))}function cv(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0;h[l>>3]=a;d=c[l>>2]|0;e=c[l+4>>2]|0;f=ax(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){g=+cv(a*18446744073709551616.0,b);i=g;j=(c[b>>2]|0)+-64|0}else{i=a;j=0}c[b>>2]=j;k=i;break}case 2047:{k=a;break}default:{c[b>>2]=(f&2047)+-1022;c[l>>2]=d;c[l+4>>2]=e&-2146435073|1071644672;k=+h[l>>3]}}return +k}function dv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(xu()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function ev(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Yw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gv(a){a=a|0;var b=0;b=(Mu(a)|0)==0;return (b?a:a&95)|0}function hv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=4;break}else g=j}}while(0);if((f|0)==4){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function iv(a){a=a|0;return ((a|0)==223|(Iu(a)|0)!=(a|0))&1|0}function jv(a){a=a|0;var b=0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))b=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else b=(a+1&127)>>>0>32&1;return b|0}function kv(a,b){a=a|0;b=b|0;var c=0;do switch(b|0){case 1:{c=lv(a)|0;break}case 2:{c=Lu(a)|0;break}case 3:{c=Du(a)|0;break}case 4:{c=mv(a)|0;break}case 5:{c=nv(a)|0;break}case 6:{c=ov(a)|0;break}case 7:{c=iv(a)|0;break}case 8:{c=jv(a)|0;break}case 9:{c=pv(a)|0;break}case 10:{c=Ou(a)|0;break}case 11:{c=qv(a)|0;break}case 12:{c=rv(a)|0;break}default:c=0}while(0);return c|0}function lv(a){a=a|0;var b=0;if(!(nv(a)|0))b=(Lu(a)|0)!=0;else b=1;return b&1|0}function mv(a){a=a|0;var b=0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))b=1;else b=(a+-65529|0)>>>0<3;return b&1|0}function nv(a){a=a|0;return (a+-48|0)>>>0<10|0}function ov(a){a=a|0;var b=0;if(!(Ou(a)|0))b=(jv(a)|0)!=0;else b=0;return b&1|0}function pv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[67221+((d[67221+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=0;return b|0}function qv(a){a=a|0;return (Ju(a)|0)!=(a|0)|0}function rv(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function sv(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a[b>>0]|0;a:do if(!(e<<24>>24)){f=c;g=0}else{h=b;i=c;j=e&255;k=e;while(1){l=a[i>>0]|0;if(!(l<<24>>24)){f=i;g=k;break a}if(k<<24>>24!=l<<24>>24?(m=Gu(j)|0,(m|0)!=(Gu(l&255)|0)):0){f=i;g=k;break a}h=h+1|0;l=i+1|0;m=a[h>>0]|0;if(!(m<<24>>24)){f=l;g=0;break}else{i=l;j=m&255;k=m}}}while(0);e=Gu(g&255)|0;return e-(Gu(d[f>>0]|0)|0)|0}function tv(a,b){a=a|0;b=b|0;uv(a,b)|0;return a|0}function uv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=8}else{p=d;q=b;r=8}while(0);if((r|0)==8){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function vv(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xv(a,b,c,-1,0)|0;return d|0}function xv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;g=i;i=i+112|0;if((i|0)>=(j|0))$(112);h=g;c[h>>2]=0;k=h+4|0;c[k>>2]=a;c[h+44>>2]=a;l=h+8|0;c[l>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;yv(h,0);m=zv(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[k>>2]|0)+(c[h+108>>2]|0)-(c[l>>2]|0));i=g;return m|0}function yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function zv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;a:do if(e>>>0>36){c[(xu()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Av(b)|0}while((vv(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=Av(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Av(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=46;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Av(b)|0;if((d[70390+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){yv(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=46}}else{o=m?10:e;if((d[70390+q>>0]|0)>>>0<o>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;yv(b,0);c[(xu()|0)>>2]=22;i=0;j=0;break a}}while(0);if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;z=d[m>>0]|0}else z=Av(b)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);A=z;B=o;C=0}else{A=v;B=0;C=0}y=A+-48|0;if(y>>>0<10){m=A;E=B;F=C;G=y;while(1){y=ex(E|0,F|0,10,0)|0;H=D;I=((G|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&y>>>0>~G>>>0){K=m;L=G;M=E;N=F;break}J=Uw(y|0,H|0,G|0,I|0)|0;I=D;H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;O=d[H>>0]|0}else O=Av(b)|0;H=O+-48|0;if(H>>>0<10&(I>>>0<429496729|(I|0)==429496729&J>>>0<2576980378)){m=O;E=J;F=I;G=H}else{K=O;L=H;M=J;N=I;break}}if(L>>>0>9){P=p;Q=N;R=M}else{T=10;U=K;V=M;W=N;u=72}}else{P=p;Q=C;R=B}}else{s=v;t=w;u=46}c:do if((u|0)==46){if(!(t+-1&t)){G=a[70646+((t*23|0)>>>5&7)>>0]|0;F=a[70390+s>>0]|0;E=F&255;if(E>>>0<t>>>0){m=0;o=E;do{m=o|m<<G;E=c[k>>2]|0;if(E>>>0<(c[l>>2]|0)>>>0){c[k>>2]=E+1;X=d[E>>0]|0}else X=Av(b)|0;Y=a[70390+X>>0]|0;o=Y&255}while(m>>>0<134217728&o>>>0<t>>>0);Z=X;_=Y;$=0;aa=m}else{Z=s;_=F;$=0;aa=0}o=ax(-1,-1,G|0)|0;E=D;if((_&255)>>>0>=t>>>0|($>>>0>E>>>0|($|0)==(E|0)&aa>>>0>o>>>0)){T=t;U=Z;V=aa;W=$;u=72;break}else{ba=aa;ca=$;da=_}while(1){I=gx(ba|0,ca|0,G|0)|0;J=D;H=da&255|I;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;ea=d[I>>0]|0}else ea=Av(b)|0;da=a[70390+ea>>0]|0;if((da&255)>>>0>=t>>>0|(J>>>0>E>>>0|(J|0)==(E|0)&H>>>0>o>>>0)){T=t;U=ea;V=H;W=J;u=72;break c}else{ba=H;ca=J}}}o=a[70390+s>>0]|0;E=o&255;if(E>>>0<t>>>0){G=0;F=E;do{G=F+(S(G,t)|0)|0;E=c[k>>2]|0;if(E>>>0<(c[l>>2]|0)>>>0){c[k>>2]=E+1;fa=d[E>>0]|0}else fa=Av(b)|0;ga=a[70390+fa>>0]|0;F=ga&255}while(G>>>0<119304647&F>>>0<t>>>0);ha=fa;ia=ga;ja=G;ka=0}else{ha=s;ia=o;ja=0;ka=0}if((ia&255)>>>0<t>>>0){F=cx(-1,-1,t|0,0)|0;E=D;m=ha;J=ka;H=ja;I=ia;while(1){if(J>>>0>E>>>0|(J|0)==(E|0)&H>>>0>F>>>0){T=t;U=m;V=H;W=J;u=72;break c}y=ex(H|0,J|0,t|0,0)|0;la=D;ma=I&255;if(la>>>0>4294967295|(la|0)==-1&y>>>0>~ma>>>0){T=t;U=m;V=H;W=J;u=72;break c}na=Uw(ma|0,0,y|0,la|0)|0;la=D;y=c[k>>2]|0;if(y>>>0<(c[l>>2]|0)>>>0){c[k>>2]=y+1;oa=d[y>>0]|0}else oa=Av(b)|0;I=a[70390+oa>>0]|0;if((I&255)>>>0>=t>>>0){T=t;U=oa;V=na;W=la;u=72;break}else{m=oa;J=la;H=na}}}else{T=t;U=ha;V=ja;W=ka;u=72}}while(0);if((u|0)==72)if((d[70390+U>>0]|0)>>>0<T>>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;pa=d[H>>0]|0}else pa=Av(b)|0}while((d[70390+pa>>0]|0)>>>0<T>>>0);c[(xu()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=W;R=V}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0<h>>>0|(Q|0)==(h|0)&R>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(xu()|0)>>2]=34;H=Uw(g|0,h|0,-1,-1)|0;i=D;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(xu()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;J=Rw(R^P|0,Q^H|0,P|0,H|0)|0;i=D;j=J}while(0);D=i;return j|0}function Av(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=Bv(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function Bv(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b;if((c[a+8>>2]|0)==0?(Cv(a)|0)!=0:0)f=-1;else if((ub[c[a+32>>2]&63](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function Cv(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)ub[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(e&20)if(!(e&4))f=-1;else{c[b>>2]=e|32;f=-1}else{e=c[d>>2]|0;c[b+8>>2]=e;c[b+4>>2]=e;f=0}return f|0}function Dv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=d;d=Ev(a,b,f)|0;i=e;return d|0}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;return Tu(a,2147483647,b,c)|0}function Fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=d;d=Uu(a,b,f)|0;i=e;return d|0}function Gv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Wu(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)Au(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=_u(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0<k>>>0?r:k;Yw(l|0,m|0,p|0)|0;m=(c[i>>2]|0)+p|0;c[i>>2]=m;s=l+p|0;r=k-p|0;if(!(q&(r|0)!=0)){t=s;u=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){q=Bv(f)|0;if((q|0)<0)break;else v=q}else{c[i>>2]=m+1;v=d[m>>0]|0}k=r+-1|0;r=s+1|0;a[s>>0]=v;if(!((k|0)!=0&(v&255|0)!=10)){t=r;u=17;break a}else l=r}if((s|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){t=s;u=17}else w=0}else{t=b;u=17}while(0);if((u|0)==17)if(!b)w=0;else{a[t>>0]=0;w=b}if(!g)j=w;else{Au(f);j=w}}return j|0}function Hv(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function Iv(a){a=a|0;return _w(a|0)|0}function Jv(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Kv(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=hb(6,d|0)|0;d=wu((a|0)==-4?-115:a)|0;i=b;return d|0}function Lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+192|0;if((i|0)>=(j|0))$(192);f=e+152|0;g=e+136|0;h=e+120|0;k=e+104|0;l=e+96|0;m=e+80|0;n=e+64|0;o=e+48|0;p=e+32|0;q=e+16|0;r=e;s=e+176|0;t=e+168|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[s>>2]=d+4;d=(b|0)==4?u|32768:u;a:do switch(b|0){case 14:{c[r>>2]=a;c[r+4>>2]=14;c[r+8>>2]=d;v=wu(xa(221,r|0)|0)|0;break}case 9:{c[q>>2]=a;c[q+4>>2]=16;c[q+8>>2]=t;u=xa(221,q|0)|0;switch(u|0){case -22:{c[p>>2]=a;c[p+4>>2]=9;c[p+8>>2]=d;w=xa(221,p|0)|0;break}case 0:{s=c[t+4>>2]|0;w=(c[t>>2]|0)==2?0-s|0:s;break}default:w=wu(u)|0}v=w;break}case 1030:{c[o>>2]=a;c[o+4>>2]=1030;c[o+8>>2]=d;u=xa(221,o|0)|0;if((u|0)!=-22){if((u|0)>-1){c[n>>2]=u;c[n+4>>2]=2;c[n+8>>2]=1;xa(221,n|0)|0}v=wu(u)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;u=xa(221,m|0)|0;if((u|0)==-22){c[k>>2]=a;c[k+4>>2]=0;c[k+8>>2]=d;s=xa(221,k|0)|0;if((s|0)>-1){c[h>>2]=s;c[h+4>>2]=2;c[h+8>>2]=1;xa(221,h|0)|0}v=wu(s)|0;break a}else{if((u|0)>-1){c[l>>2]=u;hb(6,l|0)|0}v=wu(-22)|0;break a}break}default:if((b+-12|0)>>>0<5){c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;v=wu(xa(221,g|0)|0)|0;break a}else{c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;v=wu(xa(221,f|0)|0)|0;break a}}while(0);i=e;return v|0}function Mv(a){a=a|0;return _w(a|0)|0}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;Ov(a,b,c)|0;return a|0}function Ov(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=d;do if(!((f^b)&3)){g=(e|0)!=0;a:do if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=h;m=i;n=j;break a}k=h+-1|0;o=i+1|0;p=j+1|0;q=(k|0)!=0;if(q&(o&3|0)!=0){h=k;i=o;j=p}else{r=k;s=o;t=p;u=q;v=5;break}}}else{r=e;s=d;t=b;u=g;v=5}while(0);if((v|0)==5)if(u){l=r;m=s;n=t}else{w=t;x=0;break}if(!(a[m>>0]|0)){w=n;x=l}else{b:do if(l>>>0>3){g=n;j=m;i=l;while(1){h=c[j>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){y=j;z=g;A=i;break b}c[g>>2]=h;h=i+-4|0;q=j+4|0;p=g+4|0;if(h>>>0>3){g=p;j=q;i=h}else{y=q;z=p;A=h;break}}}else{y=m;z=n;A=l}while(0);B=y;C=z;D=A;v=11}}else{B=d;C=b;D=e;v=11}while(0);c:do if((v|0)==11)if(!D){w=C;x=0}else{e=B;b=C;d=D;while(1){A=a[e>>0]|0;a[b>>0]=A;if(!(A<<24>>24)){w=b;x=d;break c}d=d+-1|0;A=b+1|0;if(!d){w=A;x=0;break}else{e=e+1|0;b=A}}}while(0);Sw(w|0,0,x|0)|0;return w|0}function Pv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e;if(_u(70655,a[d>>0]|0,4)|0){h=Tv(d)|0|32768;c[g>>2]=b;c[g+4>>2]=h;c[g+8>>2]=438;h=wu(ib(5,g|0)|0)|0;if((h|0)>=0){g=Uv(h,d)|0;if(!g){c[f>>2]=h;hb(6,f|0)|0;k=0}else k=g}else k=0}else{c[(xu()|0)>>2]=22;k=0}i=e;return k|0}function Qv(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a>>2]&1|0)!=0;if(!b){gb(71276);d=c[a+52>>2]|0;e=a+56|0;if(d|0)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f|0)c[f+52>>2]=d;if((c[17818]|0)==(a|0))c[17818]=f;cb(71276)}f=Rv(a)|0;d=yb[c[a+12>>2]&15](a)|0|f;f=c[a+92>>2]|0;if(f|0)Lw(f);if(!b)Lw(a);return d|0}function Rv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Sv(a)|0;break}d=(Wu(a)|0)==0;e=Sv(a)|0;if(d)b=e;else{Au(a);b=e}}else{if(!(c[3976]|0))f=0;else f=Rv(c[3976]|0)|0;gb(71276);e=c[17818]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Wu(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Sv(d)|0|e;else i=e;if(h|0)Au(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}cb(71276);b=g}while(0);return b|0}function Sv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(ub[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)ub[c[a+40>>2]&63](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Tv(b){b=b|0;var c=0,d=0,e=0,f=0;c=(Vv(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(Vv(b,120)|0)==0;f=c?e:e|128;e=(Vv(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Uv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+112|0;if((i|0)>=(j|0))$(112);f=e+40|0;g=e+24|0;h=e+16|0;k=e;l=e+52|0;m=a[d>>0]|0;if(_u(70655,m<<24>>24,4)|0){n=Kw(1144)|0;if(!n)o=0;else{p=n;q=p+112|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));if(!(Vv(d,43)|0))c[n>>2]=m<<24>>24==114?8:4;if(!(Vv(d,101)|0))r=m;else{c[k>>2]=b;c[k+4>>2]=2;c[k+8>>2]=1;xa(221,k|0)|0;r=a[d>>0]|0}if(r<<24>>24==97){c[h>>2]=b;c[h+4>>2]=3;r=xa(221,h|0)|0;if(!(r&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=r|1024;xa(221,g|0)|0}g=c[n>>2]|128;c[n>>2]=g;s=g}else s=c[n>>2]|0;c[n+60>>2]=b;c[n+44>>2]=n+120;c[n+48>>2]=1024;g=n+75|0;a[g>>0]=-1;if((s&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21505,c[f+8>>2]=l,(bb(54,f|0)|0)==0):0)a[g>>0]=10;c[n+32>>2]=35;c[n+36>>2]=25;c[n+40>>2]=24;c[n+12>>2]=10;if(!(c[17813]|0))c[n+76>>2]=-1;gb(71276);g=c[17818]|0;c[n+56>>2]=g;if(g|0)c[g+52>>2]=n;c[17818]=n;cb(71276);o=n}}else{c[(xu()|0)>>2]=22;o=0}i=e;return o|0}function Vv(b,c){b=b|0;c=c|0;var d=0;d=Wv(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function Wv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(hv(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=S(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function Xv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=g;a:do if(!e)k=0;else{do if(f|0){l=(b|0)==0?h:b;m=a[e>>0]|0;n=m&255;if(m<<24>>24>-1){c[l>>2]=n;k=m<<24>>24!=0&1;break a}m=n+-194|0;if(m>>>0<=50){n=e+1|0;o=c[16024+(m<<2)>>2]|0;if(f>>>0<4?o&-2147483648>>>((f*6|0)+-6|0)|0:0)break;m=d[n>>0]|0;n=m>>>3;if((n+-16|n+(o>>26))>>>0<=7){n=m+-128|o<<6;if((n|0)>=0){c[l>>2]=n;k=2;break a}o=(d[e+2>>0]|0)+-128|0;if(o>>>0<=63){m=o|n<<6;if((m|0)>=0){c[l>>2]=m;k=3;break a}n=(d[e+3>>0]|0)+-128|0;if(n>>>0<=63){c[l>>2]=n|m<<6;k=4;break a}}}}}while(0);c[(xu()|0)>>2]=84;k=-1}while(0);i=g;return k|0}function Yv(a,b){a=a|0;b=b|0;return (Zv(a,hv(a)|0,1,b)|0)+-1|0}function Zv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=S(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Wu(e)|0)==0;h=Xu(a,f,e)|0;if(g)i=h;else{Au(e);i=h}}else i=Xu(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function _v(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=Da(20,a|0)|0;i=a;return b|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=b;b=wu(ab(33,e|0)|0)|0;i=d;return b|0}function aw(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Wu(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else e=d}else e=(c[a>>2]|0)>>>4&1;return e|0}function bw(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=70659;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;e=c;c=d;while(1){c=c+-1|0;a[b+c>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+40|0;f=d+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;h=Na(197,g|0)|0;if((h|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(xa(221,f|0)|0)>=0):0){bw(f,a);c[e>>2]=f;c[e+4>>2]=b;k=wu(Oa(195,e|0)|0)|0}else k=wu(h)|0;i=d;return k|0}function dw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;f=wu(qb(142,h|0)|0)|0;i=g;return f|0}function ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=wu(jb(4,f|0)|0)|0;i=e;return d|0}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=wu(eb(3,f|0)|0)|0;i=e;return d|0}function gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+16|0;c[g>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);h=c[d>>2]|0;c[g>>2]=d+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=h;h=wu(ib(5,f|0)|0)|0;i=e;return h|0}function hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=a;e=g+16|0;c[e>>2]=0;d=g+20|0;c[d>>2]=0;switch(a|0){case 208:case 203:case 213:{c[e>>2]=1;break}default:{}}jw(8,g);g=c[d>>2]|0;if(!g)h=0;else{c[(xu()|0)>>2]=g;h=-1}i=f;return h|0}function iw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=b+16|0;e=b;f=a+20|0;do if(!(c[f>>2]|0)){if((c[a+16>>2]|0?(g=c[a>>2]|0,(g|0)>-1):0)?(g|0)!=(kw()|0):0){c[d>>2]=c[178];c[d+4>>2]=c[179];c[d+8>>2]=c[180];c[d+12>>2]=c[181];lw(6,e)|0;g=mw(6,d)|0;c[f>>2]=0-g;if(!((g|0)!=0?(c[17816]|0)!=0:0)){c[f>>2]=1;mw(6,e)|0}break}c[f>>2]=1}while(0);i=b;return}function jw(a,b){a=a|0;b=b|0;wb[a&15](b);return}function kw(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=Qa(199,a|0)|0;i=a;return b|0}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=0;c[f+12>>2]=b;h=wu(fb(340,f|0)|0)|0;if(!h){f=b;if((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0){f=b;c[f>>2]=-1;c[f+4>>2]=-1}f=b+8|0;k=f;if((c[k>>2]|0)==-1?(c[k+4>>2]|0)==-1:0){k=f;c[k>>2]=-1;c[k+4>>2]=-1;l=0}else l=0}else if((c[(xu()|0)>>2]|0)==38){c[e>>2]=a;c[e+4>>2]=g;if((wu(Ma(191,e|0)|0)|0)>=0){e=c[g>>2]|0;a=(e|0)==-1;k=b;c[k>>2]=a?-1:e;c[k+4>>2]=a?-1:0;k=c[g+4>>2]|0;g=(k|0)==-1;e=b+8|0;f=e;c[f>>2]=g?-1:k;c[f+4>>2]=g?-1:0;if(a){a=b;c[a>>2]=-1;c[a+4>>2]=-1}if(g){g=e;c[g>>2]=-1;c[g+4>>2]=-1;l=0}else l=0}else l=-1}else l=h;i=d;return l|0}function mw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=0;h=fb(340,f|0)|0;if((h|0)==-38){f=b;k=c[f>>2]|0;l=c[f+4>>2]|0;f=l>>>0<0|(l|0)==0&k>>>0<4294967295;l=f?k:-1;c[g>>2]=l;l=b+8|0;b=c[l>>2]|0;k=c[l+4>>2]|0;l=k>>>0<0|(k|0)==0&b>>>0<4294967295;k=l?b:-1;c[g+4>>2]=k;c[e>>2]=a;c[e+4>>2]=g;m=Xa(75,e|0)|0}else m=h;i=d;return m|0}function nw(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=mb(201,a|0)|0;i=a;return b|0}function ow(a){a=a|0;return hw(213,a,0,0)|0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=wu(Pa(194,e|0)|0)|0;i=d;return b|0}function qw(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=za(64,a|0)|0;i=a;return b|0}function rw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(xu()|0)>>2]=12;l=-1;break}m=(e&16|0)!=0;if(m)tw(-1);c[k>>2]=a;c[k+4>>2]=b;c[k+8>>2]=d;c[k+12>>2]=e;c[k+16>>2]=f;c[k+20>>2]=g>>12;n=wu(La(192,k|0)|0)|0;if(m){sw();l=n}else l=n}else{c[(xu()|0)>>2]=22;l=-1}while(0);i=h;return l|0}function sw(){return}function tw(a){a=a|0;return}function uw(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;tw(-1);c[e>>2]=a;c[e+4>>2]=b;b=wu(Wa(91,e|0)|0)|0;sw();i=d;return b|0}function vw(a){a=a|0;var b=0;b=70712;c[b>>2]=a+-1;c[b+4>>2]=0;return}function ww(){var a=0,b=0,d=0;a=70712;b=ex(c[a>>2]|0,c[a+4>>2]|0,1284865837,1481765933)|0;a=Uw(b|0,D|0,1,0)|0;b=D;d=70712;c[d>>2]=a;c[d+4>>2]=b;d=ax(a|0,b|0,33)|0;return d|0}function xw(a){a=a|0;gb(71296);yw(a);cb(71296);return}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[4107]|0;if(!b)c[c[4108]>>2]=a;else{c[4109]=(b|0)==31|(b|0)==7?3:1;c[17826]=0;if((b|0)>0){d=c[4108]|0;e=0;f=a;a=0;do{g=ex(f|0,a|0,1284865837,1481765933)|0;f=Uw(g|0,D|0,1,0)|0;a=D;c[d+(e<<2)>>2]=a;e=e+1|0}while((e|0)<(b|0));h=d}else h=c[4108]|0;c[h>>2]=c[h>>2]|1}return}function zw(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;gb(71296);a=c[4107]|0;if(!a){b=c[4108]|0;d=(S(c[b>>2]|0,1103515245)|0)+12345&2147483647;c[b>>2]=d;e=d}else{d=c[17826]|0;b=c[4108]|0;f=c[4109]|0;g=b+(f<<2)|0;h=(c[g>>2]|0)+(c[b+(d<<2)>>2]|0)|0;c[g>>2]=h;g=f+1|0;c[4109]=(g|0)==(a|0)?0:g;g=d+1|0;c[17826]=(g|0)==(a|0)?0:g;e=h>>>1}cb(71296);return e|0}function Aw(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=b;while(1){d=a[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(vv(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=0;j=c;k=d}}if((h|0)==5){i=g;j=f;k=a[f>>0]|0}f=(k<<24>>24)+-48|0;if(f>>>0<10){k=0;g=j;j=f;while(1){g=g+1|0;f=(k*10|0)-j|0;j=(a[g>>0]|0)+-48|0;if(j>>>0>=10){l=f;break}else k=f}}else l=0;return (i|0?l:0-l|0)|0}function Bw(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=b;b=wu(_a(77,e|0)|0)|0;i=d;return b|0}function Cw(a){a=a|0;return (a+-48|0)>>>0<10|0}function Dw(a,b){a=a|0;b=b|0;var d=0;if(!a)d=Mw(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b}return d|0}function Ew(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){d=b;do{Lw(c[d>>2]|0);b=d;d=c[d+4>>2]|0;Lw(b)}while((d|0)!=0)}Lw(a);return}function Fw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=a+16|0;a:do if(!(c[g>>2]|0)){h=a+12|0;i=c[h>>2]|0;do if(i>>>0<f>>>0){if(b|0)if(!d){c[g>>2]=1;j=0;break a}else{k=a+8|0;c[k>>2]=d;c[h>>2]=1024;l=k;m=d;n=d;o=1024;break}k=f<<3;p=k>>>0>1024?k:1024;k=Kw(8)|0;if(!k){c[g>>2]=1;j=0;break a}q=Kw(p)|0;c[k>>2]=q;r=q;if(!q){Lw(k);c[g>>2]=1;j=0;break a}c[k+4>>2]=0;s=a+4|0;t=c[s>>2]|0;if(t|0)c[t+4>>2]=k;if(!(c[a>>2]|0))c[a>>2]=k;c[s>>2]=k;k=a+8|0;c[k>>2]=r;c[h>>2]=p;l=k;m=r;n=q;o=p}else{p=a+8|0;q=c[p>>2]|0;l=p;m=q;n=q;o=i}while(0);i=m+f&3;q=((i|0)==0?0:4-i|0)+f|0;c[l>>2]=n+q;c[h>>2]=o-q;if(!e)j=n;else{Sw(n|0,0,q|0)|0;j=n}}else j=0;while(0);return j|0}function Gw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,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,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,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=g;k=c[a+4>>2]|0;a=k+56|0;l=(c[a>>2]&8|0)==0?d:0;d=k+40|0;m=c[d>>2]|0;if((m|0)>0&(l|0)!=0){n=Kw(m<<2)|0;if(!n)o=12;else{p=n;q=3}}else{p=0;q=3}if((q|0)==3){if(!(c[k+60>>2]|0)){c[h>>2]=0;n=f&1;m=f&2;r=c[a>>2]&4;if(!p)s=0;else s=c[d>>2]|0;t=s<<2;u=c[k+52>>2]|0;v=u<<3;w=v+8|0;x=t+12+v+(w+(S(t,u)|0)<<1)|0;y=Kw(x)|0;if(!y){z=12;A=0}else{Sw(y|0,0,x|0)|0;x=y+t|0;B=x&3;C=x+((B|0)==0?0:4-B|0)|0;B=C+w|0;x=B&3;D=B+((x|0)==0?0:4-x|0)|0;x=D+w|0;w=x&3;B=x+((w|0)==0?0:4-w|0)|0;w=B+v|0;v=w&3;if((u|0)>0){x=w+((v|0)==0?0:4-v|0)|0;v=0;while(1){c[D+(v<<3)+4>>2]=x;w=x+t|0;c[C+(v<<3)+4>>2]=w;v=v+1|0;if((v|0)==(u|0)){E=0;break}else x=w+t|0}do{c[B+(E<<3)>>2]=-1;E=E+1|0}while((E|0)!=(u|0))}u=Xv(h,b,4)|0;if((u|0)<1)if((u|0)<0){F=1;G=0}else{H=1;q=201}else{H=u;q=201}a:do if((q|0)==201){u=k+8|0;E=(r|0)!=0;x=(s|0)>0;v=k+12|0;w=k+44|0;I=k+32|0;J=k+36|0;K=(s|0)==0;L=(n|0)==0;M=(s|0)<1;N=0;O=b+H|0;P=0;Q=0;R=-1;T=C;U=H;V=y;W=C;X=D;while(1){if((R|0)<0){Y=c[u>>2]|0;Z=Y+8|0;b:do if(!(c[Z>>2]|0)){_=Q;aa=R;ba=T}else{ca=(P|0)!=0;da=(N|0)==95;ea=(P|0)==0;fa=E&(N|0)==10;ga=L&(P|0)<1;ha=Y;ia=Q;ja=R;ka=T;la=Z;while(1){ma=ha;na=la;c:while(1){oa=ma+12|0;if((c[B+(c[oa>>2]<<3)>>2]|0)>=(P|0)){pa=ka;qa=ia;ra=ja;break}sa=ma+20|0;ta=c[sa>>2]|0;if(!ta){q=236;break}d:do if(fa|(ga|(ta&1|0)==0)){if(ta&2|0?(ua=c[h>>2]|0,!((ua|m|0)==0|E&(ua|0)==10)):0)break;do if(ta&16|0){if(da)break d;if(lv(N)|0)break d;ua=c[h>>2]|0;if((ua|0)==95)break;if(!(lv(ua)|0))break d}while(0);ua=c[sa>>2]|0;if(!(ua&32))va=ua;else{if(da){ua=c[h>>2]|0;if((ua|0)==95)break;else wa=ua}else{ua=(lv(N)|0)==0;xa=c[h>>2]|0;if(ua|(xa|0)==95)break;else wa=xa}if(lv(wa)|0)break;va=c[sa>>2]|0}xa=c[h>>2]|0;do if((xa|0)!=0&(ca&(va&64|0)!=0)){if(da){ya=xa;za=1}else{ua=(lv(N)|0)!=0;ya=c[h>>2]|0;za=ua}if((ya|0)==95)if(za)break d;else break;else if(za^(lv(ya)|0)!=0)break;else break d}while(0);if(!(c[sa>>2]&128)){q=236;break c}xa=c[h>>2]|0;if(ea|(xa|0)==0)break;if(da){Aa=xa;Ba=1}else{xa=(lv(N)|0)!=0;Aa=c[h>>2]|0;Ba=xa}if((Aa|0)==95)if(Ba){q=236;break c}else break;else if(Ba^(lv(Aa)|0)!=0)break;else{q=236;break c}}while(0);sa=ma+40|0;if(!(c[sa>>2]|0)){_=ia;aa=ja;ba=ka;break b}else{ma=ma+32|0;na=sa}}if((q|0)==236){q=0;c[ka>>2]=c[na>>2];if(x)Sw(c[ka+4>>2]|0,-1,t|0)|0;sa=c[ma+16>>2]|0;do if(sa|0){ta=c[sa>>2]|0;if((ta|0)<=-1)break;xa=ka+4|0;ua=sa;Ca=ta;do{if((Ca|0)<(s|0))c[(c[xa>>2]|0)+(Ca<<2)>>2]=P;ua=ua+4|0;Ca=c[ua>>2]|0}while((Ca|0)>-1)}while(0);sa=(c[ka>>2]|0)!=(c[v>>2]|0);if(M|sa){Da=sa?ia:1;Ea=sa?ja:P;Fa=ka+4|0}else{sa=ka+4|0;na=c[sa>>2]|0;Ca=0;do{c[p+(Ca<<2)>>2]=c[na+(Ca<<2)>>2];Ca=Ca+1|0}while((Ca|0)!=(s|0));Da=1;Ea=P;Fa=sa}sa=c[oa>>2]|0;c[B+(sa<<3)>>2]=P;c[B+(sa<<3)+4>>2]=Fa;pa=ka+8|0;qa=Da;ra=Ea}la=ma+40|0;if(!(c[la>>2]|0)){_=qa;aa=ra;ba=pa;break}else{ha=ma+32|0;ia=qa;ja=ra;ka=pa}}}while(0);c[ba>>2]=0;Z=c[h>>2]|0;if(!Z){Ga=aa;break}else{Ha=_;Ia=aa;Ja=Z}}else{if(K){Ga=R;break}Z=c[h>>2]|0;if((T|0)!=(W|0)&(Z|0)!=0){Ha=Q;Ia=R;Ja=Z}else{Ga=R;break}}Z=P+U|0;Y=Xv(h,O,4)|0;if((Y|0)<1)if((Y|0)<0){F=1;G=0;break a}else Ka=1;else Ka=Y;Y=O+Ka|0;if((Ha|0)!=0&(c[w>>2]|0)!=0){if(!(c[W>>2]|0))La=X;else{ka=c[J>>2]|0;ja=c[ka>>2]|0;ia=(ja|0)>-1;ha=W;la=X;while(1){da=ha+4|0;e:do if(ia){ea=0;ca=ja;do{ga=c[ka+((ea|1)<<2)>>2]|0;if((ca|0)>=(s|0)){Ma=la;break e}Na=c[da>>2]|0;if((c[Na+(ga<<2)>>2]|0)==(c[p+(ga<<2)>>2]|0)?(c[Na+(ca<<2)>>2]|0)<(c[p+(ca<<2)>>2]|0):0){Ma=la;break e}ea=ea+2|0;ca=c[ka+(ea<<2)>>2]|0}while((ca|0)>-1);Oa=da;Pa=Na;q=265}else{Oa=da;Pa=c[da>>2]|0;q=265}while(0);if((q|0)==265){q=0;c[la>>2]=c[ha>>2];da=la+4|0;ca=c[da>>2]|0;c[da>>2]=Pa;c[Oa>>2]=ca;Ma=la+8|0}ha=ha+8|0;if(!(c[ha>>2]|0)){La=Ma;break}else la=Ma}}c[La>>2]=0;Qa=W;Ra=X;Sa=0}else{Qa=X;Ra=W;Sa=Ha}la=c[Ra>>2]|0;if(!la){Ta=V;Ua=Ia;Va=Qa;Wa=Sa}else{ha=(Z|0)!=0;ka=(Ja|0)==95;ja=(Z|0)==0;ia=E&(Ja|0)==10;ca=L&(Z|0)<1;da=Ra;ea=V;ma=Ia;ga=Qa;fa=Sa;sa=la;while(1){la=sa+8|0;if(!(c[la>>2]|0)){Xa=ea;Ya=ma;Za=ga;_a=fa}else{Ca=da+4|0;na=sa;ua=ma;xa=ga;ta=fa;$a=ea;ab=la;while(1){f:do if((c[na>>2]|0)>>>0>Ja>>>0){bb=ta;cb=$a;db=xa;eb=ua}else{if((c[na+4>>2]|0)>>>0<Ja>>>0){bb=ta;cb=$a;db=xa;eb=ua;break}la=na+20|0;fb=c[la>>2]|0;do if(fb|0){if(!(ia|(ca|(fb&1|0)==0))){bb=ta;cb=$a;db=xa;eb=ua;break f}if(fb&2|0?(gb=c[h>>2]|0,!((gb|m|0)==0|E&(gb|0)==10)):0){bb=ta;cb=$a;db=xa;eb=ua;break f}do if(fb&16|0){if(ka){bb=ta;cb=$a;db=xa;eb=ua;break f}if(lv(Ja)|0){bb=ta;cb=$a;db=xa;eb=ua;break f}gb=c[h>>2]|0;if((gb|0)==95)break;if(!(lv(gb)|0)){bb=ta;cb=$a;db=xa;eb=ua;break f}}while(0);gb=c[la>>2]|0;if(!(gb&32))hb=gb;else{if(ka){gb=c[h>>2]|0;if((gb|0)==95){bb=ta;cb=$a;db=xa;eb=ua;break f}else ib=gb}else{gb=(lv(Ja)|0)==0;jb=c[h>>2]|0;if(gb|(jb|0)==95){bb=ta;cb=$a;db=xa;eb=ua;break f}else ib=jb}if(lv(ib)|0){bb=ta;cb=$a;db=xa;eb=ua;break f}hb=c[la>>2]|0}jb=c[h>>2]|0;do if((jb|0)!=0&(ha&(hb&64|0)!=0)){if(ka){kb=jb;lb=1}else{gb=(lv(Ja)|0)!=0;kb=c[h>>2]|0;lb=gb}if((kb|0)==95)if(lb){bb=ta;cb=$a;db=xa;eb=ua;break f}else break;else if(lb^(lv(kb)|0)!=0)break;else{bb=ta;cb=$a;db=xa;eb=ua;break f}}while(0);do if(c[la>>2]&128|0){jb=c[h>>2]|0;if(ja|(jb|0)==0){bb=ta;cb=$a;db=xa;eb=ua;break f}if(ka){mb=jb;nb=1}else{jb=(lv(Ja)|0)!=0;mb=c[h>>2]|0;nb=jb}if((mb|0)==95)if(nb)break;else{bb=ta;cb=$a;db=xa;eb=ua;break f}else if(nb^(lv(mb)|0)!=0){bb=ta;cb=$a;db=xa;eb=ua;break f}else break}while(0);jb=c[la>>2]|0;do if(!(jb&4))ob=jb;else{if(c[a>>2]&2|0){ob=jb;break}if(!(kv(Ja,c[na+24>>2]|0)|0)){bb=ta;cb=$a;db=xa;eb=ua;break f}ob=c[la>>2]|0}while(0);do if(ob&4|0){if(!(c[a>>2]&2))break;jb=Ju(Ja)|0;gb=na+24|0;if(kv(jb,c[gb>>2]|0)|0)break;jb=Iu(Ja)|0;if(!(kv(jb,c[gb>>2]|0)|0)){bb=ta;cb=$a;db=xa;eb=ua;break f}}while(0);if(!(c[la>>2]&8))break;if(Jw(c[na+28>>2]|0,Ja,c[a>>2]&2)|0){bb=ta;cb=$a;db=xa;eb=ua;break f}}while(0);if(x){la=c[Ca>>2]|0;fb=0;do{c[$a+(fb<<2)>>2]=c[la+(fb<<2)>>2];fb=fb+1|0}while((fb|0)!=(s|0))}fb=c[na+16>>2]|0;do if(fb|0){la=c[fb>>2]|0;if((la|0)>-1){pb=fb;qb=la}else break;do{if((qb|0)<(s|0))c[$a+(qb<<2)>>2]=Z;pb=pb+4|0;qb=c[pb>>2]|0}while((qb|0)>-1)}while(0);fb=c[na+12>>2]|0;la=B+(fb<<3)|0;if((c[la>>2]|0)>=(Z|0)){gb=c[B+(fb<<3)+4>>2]|0;jb=c[gb>>2]|0;if(!(Hw(s,c[I>>2]|0,$a,jb)|0)){bb=ta;cb=$a;db=xa;eb=ua;break}c[gb>>2]=$a;if((c[ab>>2]|0)!=(c[v>>2]|0)){bb=ta;cb=jb;db=xa;eb=ua;break}if(x)rb=0;else{bb=1;cb=jb;db=xa;eb=Z;break}while(1){c[p+(rb<<2)>>2]=c[$a+(rb<<2)>>2];rb=rb+1|0;if((rb|0)==(s|0)){bb=1;cb=jb;db=xa;eb=Z;break f}}}jb=c[ab>>2]|0;c[xa>>2]=jb;gb=xa+4|0;sb=c[gb>>2]|0;c[gb>>2]=$a;c[la>>2]=Z;c[B+(fb<<3)+4>>2]=gb;do if((jb|0)==(c[v>>2]|0)){if((ua|0)==-1)if(x)tb=0;else{ub=Z;vb=1;break}else{if(!x){ub=ua;vb=ta;break}if((c[$a>>2]|0)>(c[p>>2]|0)){ub=ua;vb=ta;break}else tb=0}do{c[p+(tb<<2)>>2]=c[$a+(tb<<2)>>2];tb=tb+1|0}while((tb|0)<(s|0));ub=Z;vb=1}else{ub=ua;vb=ta}while(0);bb=vb;cb=sb;db=xa+8|0;eb=ub}while(0);ab=na+40|0;if(!(c[ab>>2]|0)){Xa=cb;Ya=eb;Za=db;_a=bb;break}else{na=na+32|0;ua=eb;xa=db;ta=bb;$a=cb}}}da=da+8|0;sa=c[da>>2]|0;if(!sa){Ta=Xa;Ua=Ya;Va=Za;Wa=_a;break}else{ea=Xa;ma=Ya;ga=Za;fa=_a}}}c[Va>>2]=0;N=Ja;O=Y;P=Z;Q=Wa;R=Ua;T=Va;U=Ka;V=Ta;W=Qa;X=Ra}F=Ga>>>31;G=Ga}while(0);Lw(y);z=F;A=G}wb=z;xb=A}else{c[h>>2]=0;A=f&1;z=f&2;f=c[a>>2]&4;G=Dw(0,0)|0;g:do if(G){F=Fw(G,0,0,0,32)|0;if(!F){Ew(G);yb=0;zb=12;break}c[F+24>>2]=0;c[F+28>>2]=0;y=c[d>>2]|0;if(y){Ga=Kw(y<<2)|0;if(!Ga){Ab=0;Bb=0;Cb=0;Db=Ga;Eb=12}else{Fb=Ga;q=9}}else{Fb=0;q=9}h:do if((q|0)==9){Ga=c[k+28>>2]|0;if(Ga){Ra=Kw(Ga<<3)|0;if(!Ra){Ab=0;Bb=Ra;Cb=0;Db=Fb;Eb=12;break}else Gb=Ra}else Gb=0;Ra=k+52|0;Ga=c[Ra>>2]|0;if(Ga){Qa=Kw(Ga<<2)|0;if(!Qa){Ab=0;Bb=Gb;Cb=Qa;Db=Fb;Eb=12;break}else Hb=Qa}else Hb=0;Qa=k+8|0;Ga=k+12|0;Ta=(p|0)==0;Ka=(p|0)!=0;Va=k+32|0;Ua=(f|0)!=0;Wa=(Fb|0)==0;Ja=(Gb|0)==0;_a=(Hb|0)==0;Za=(A|0)==0;Ya=b;Xa=1;cb=-1;bb=-1;db=F;eb=y;i:while(1){if((eb|0)>0){ub=0;vb=eb;while(1){c[Fb+(ub<<2)>>2]=-1;if(Ta)Ib=vb;else{c[p+(ub<<2)>>2]=-1;Ib=c[d>>2]|0}ub=ub+1|0;if((ub|0)>=(Ib|0))break;else vb=Ib}}vb=c[Ra>>2]|0;if((vb|0)>0)Sw(Hb|0,0,vb<<2|0)|0;vb=c[h>>2]|0;ub=Xa+cb|0;s=Xv(h,Ya,4)|0;if((s|0)<1)if((s|0)<0){Ab=0;Bb=Gb;Cb=Hb;Db=Fb;Eb=1;break h}else Jb=1;else Jb=s;s=Ya+Jb|0;tb=c[h>>2]|0;B=c[Qa>>2]|0;rb=B+8|0;if(c[rb>>2]|0){qb=(ub|0)!=0;pb=(vb|0)==95;ob=(ub|0)==0;mb=Ua&(vb|0)==10;nb=Za&(ub|0)<1;kb=B;B=0;lb=0;hb=db;ib=rb;while(1){rb=kb+20|0;m=c[rb>>2]|0;j:do if(m){if(!(mb|(nb|(m&1|0)==0))){Kb=B;Lb=lb;Mb=hb;break}if(m&2|0?(Sa=c[h>>2]|0,!((Sa|z|0)==0|Ua&(Sa|0)==10)):0){Kb=B;Lb=lb;Mb=hb;break}do if(m&16|0){if(pb){Kb=B;Lb=lb;Mb=hb;break j}if(lv(vb)|0){Kb=B;Lb=lb;Mb=hb;break j}Sa=c[h>>2]|0;if((Sa|0)==95)break;if(!(lv(Sa)|0)){Kb=B;Lb=lb;Mb=hb;break j}}while(0);sb=c[rb>>2]|0;if(!(sb&32))Nb=sb;else{if(pb){sb=c[h>>2]|0;if((sb|0)==95){Kb=B;Lb=lb;Mb=hb;break}else Ob=sb}else{sb=(lv(vb)|0)==0;Sa=c[h>>2]|0;if(sb|(Sa|0)==95){Kb=B;Lb=lb;Mb=hb;break}else Ob=Sa}if(lv(Ob)|0){Kb=B;Lb=lb;Mb=hb;break}Nb=c[rb>>2]|0}Sa=c[h>>2]|0;do if((Sa|0)!=0&(qb&(Nb&64|0)!=0)){if(pb){Pb=Sa;Qb=1}else{sb=(lv(vb)|0)!=0;Pb=c[h>>2]|0;Qb=sb}if((Pb|0)==95)if(Qb){Kb=B;Lb=lb;Mb=hb;break j}else break;else if(Qb^(lv(Pb)|0)!=0)break;else{Kb=B;Lb=lb;Mb=hb;break j}}while(0);if(!(c[rb>>2]&128)){q=52;break}Sa=c[h>>2]|0;if(ob|(Sa|0)==0){Kb=B;Lb=lb;Mb=hb;break}if(pb){Rb=Sa;Sb=1}else{Sa=(lv(vb)|0)!=0;Rb=c[h>>2]|0;Sb=Sa}if((Rb|0)==95)if(Sb){q=52;break}else{Kb=B;Lb=lb;Mb=hb;break}else if(Sb^(lv(Rb)|0)!=0){Kb=B;Lb=lb;Mb=hb;break}else{q=52;break}}else q=52;while(0);do if((q|0)==52){q=0;if(!lb){Kb=c[kb+16>>2]|0;Lb=c[ib>>2]|0;Mb=hb;break}rb=hb+28|0;m=c[rb>>2]|0;if(!m){Sa=Fw(G,0,0,0,32)|0;if(!Sa){q=56;break i}c[Sa+24>>2]=hb;c[Sa+28>>2]=0;sb=Fw(G,0,0,0,c[d>>2]<<2)|0;c[Sa+20>>2]=sb;if(!sb){q=63;break i}c[rb>>2]=Sa;Tb=Sa}else Tb=m;c[Tb>>2]=ub;c[Tb+4>>2]=s;c[Tb+8>>2]=c[ib>>2];c[Tb+12>>2]=c[kb+12>>2];c[Tb+16>>2]=c[h>>2];if((c[d>>2]|0)>0){m=c[Tb+20>>2]|0;Sa=0;do{c[m+(Sa<<2)>>2]=c[Fb+(Sa<<2)>>2];Sa=Sa+1|0}while((Sa|0)<(c[d>>2]|0))}Sa=c[kb+16>>2]|0;if(!Sa){Kb=B;Lb=lb;Mb=Tb;break}m=c[Sa>>2]|0;if((m|0)<=-1){Kb=B;Lb=lb;Mb=Tb;break}rb=c[Tb+20>>2]|0;sb=Sa;Sa=m;do{sb=sb+4|0;c[rb+(Sa<<2)>>2]=ub;Sa=c[sb>>2]|0}while((Sa|0)>-1);Kb=B;Lb=lb;Mb=Tb}while(0);ib=kb+40|0;if(!(c[ib>>2]|0))break;else{kb=kb+32|0;B=Kb;lb=Lb;hb=Mb}}if(Kb){hb=c[Kb>>2]|0;if((hb|0)>-1){lb=Kb;B=hb;while(1){c[Fb+(B<<2)>>2]=ub;hb=lb+4|0;B=c[hb>>2]|0;if((B|0)<=-1){Ub=hb;break}else lb=hb}}else Ub=Kb}else Ub=0;if(!Lb){Vb=Mb;Wb=bb;Xb=vb;Yb=ub;Zb=0;_b=s;$b=Jb;ac=Ub;q=174}else{bc=vb;cc=ub;dc=s;ec=bb;fc=Jb;gc=Lb;hc=Ub;ic=Mb;q=82}}else{Vb=db;Wb=bb;Xb=vb;Yb=ub;Zb=0;_b=s;$b=Jb;ac=0;q=174}k:while(1){l:do if((q|0)==82){q=0;if((gc|0)==(c[Ga>>2]|0)){if((ec|0)>=(cc|0)){if(!(Ka&(ec|0)==(cc|0))){Vb=ic;Wb=ec;Xb=bc;Yb=cc;Zb=gc;_b=dc;$b=fc;ac=hc;q=174;continue k}if(!(Hw(c[d>>2]|0,c[Va>>2]|0,Fb,p)|0)){Vb=ic;Wb=ec;Xb=bc;Yb=ec;Zb=gc;_b=dc;$b=fc;ac=hc;q=174;continue k}}if(Ta){Vb=ic;Wb=cc;Xb=bc;Yb=cc;Zb=gc;_b=dc;$b=fc;ac=hc;q=174;continue k}if((c[d>>2]|0)>0)jc=0;else{Vb=ic;Wb=cc;Xb=bc;Yb=cc;Zb=gc;_b=dc;$b=fc;ac=hc;q=174;continue k}while(1){c[p+(jc<<2)>>2]=c[Fb+(jc<<2)>>2];lb=jc+1|0;if((lb|0)<(c[d>>2]|0))jc=lb;else{Vb=ic;Wb=cc;Xb=bc;Yb=cc;Zb=gc;_b=dc;$b=fc;ac=hc;q=174;continue k}}}lb=gc+8|0;do if(!(c[lb>>2]|0))q=98;else{if(!(c[gc+20>>2]&256)){q=98;break}B=c[gc+24>>2]|0;Iw(B+1|0,Gb,c[a>>2]&-9,k,Fb,cc);hb=c[Gb+(B<<3)>>2]|0;kb=(c[Gb+(B<<3)+4>>2]|0)-hb|0;do if(!(Hv(b+hb|0,dc+-1|0,kb)|0)){B=(kb|0)==0;ib=B&1;pb=Hb+(c[gc+12>>2]<<2)|0;if(B?c[pb>>2]|0:0){kc=bc;lc=cc;mc=dc;nc=25;oc=fc;break}c[pb>>2]=ib;ib=kb+-1|0;pb=dc+ib|0;B=c[h>>2]|0;ob=cc+fc+ib|0;ib=Xv(h,pb,4)|0;if((ib|0)<1)if((ib|0)<0){kc=B;lc=ob;mc=pb;nc=2;oc=ib;break}else pc=1;else pc=ib;kc=B;lc=ob;mc=pb+pc|0;nc=0;oc=pc}else{kc=bc;lc=cc;mc=dc;nc=25;oc=fc}while(0);switch(nc&31){case 25:{Vb=ic;Wb=ec;Xb=kc;Yb=lc;Zb=gc;_b=mc;$b=oc;ac=hc;q=174;continue k;break}case 0:{qc=kc;rc=lc;sc=mc;tc=oc;break}default:{uc=hc;vc=ic;wc=ec;xc=kc;yc=lc;zc=nc;Ac=gc;Bc=mc;Cc=oc;break l}}}while(0);if((q|0)==98){q=0;kb=c[h>>2]|0;if(!kb){Vb=ic;Wb=ec;Xb=bc;Yb=cc;Zb=gc;_b=dc;$b=fc;ac=hc;q=174;continue k}hb=cc+fc|0;pb=Xv(h,dc,4)|0;if((pb|0)<1)if((pb|0)<0){uc=hc;vc=ic;wc=ec;xc=kb;yc=hb;zc=2;Ac=gc;Bc=dc;Cc=pb;break}else Dc=1;else Dc=pb;qc=kb;rc=hb;sc=dc+Dc|0;tc=Dc}if(!(c[lb>>2]|0)){Vb=ic;Wb=ec;Xb=qc;Yb=rc;Zb=gc;_b=sc;$b=tc;ac=hc;q=174;continue k}hb=(rc|0)!=0;kb=(qc|0)==95;pb=(rc|0)==0;ob=Ua&(qc|0)==10;B=Za&(rc|0)<1;ib=0;qb=gc;nb=hc;mb=ic;Sa=lb;m:while(1){n:do if((c[qb>>2]|0)>>>0>qc>>>0){Ec=mb;Fc=ib;Gc=nb}else{if((c[qb+4>>2]|0)>>>0<qc>>>0){Ec=mb;Fc=ib;Gc=nb;break}sb=qb+20|0;rb=c[sb>>2]|0;do if(rb|0){if(!(ob|(B|(rb&1|0)==0))){Ec=mb;Fc=ib;Gc=nb;break n}if(rb&2|0?(m=c[h>>2]|0,!((m|z|0)==0|Ua&(m|0)==10)):0){Ec=mb;Fc=ib;Gc=nb;break n}do if(rb&16|0){if(kb){Ec=mb;Fc=ib;Gc=nb;break n}if(lv(qc)|0){Ec=mb;Fc=ib;Gc=nb;break n}m=c[h>>2]|0;if((m|0)==95)break;if(!(lv(m)|0)){Ec=mb;Fc=ib;Gc=nb;break n}}while(0);m=c[sb>>2]|0;if(!(m&32))Hc=m;else{if(kb){m=c[h>>2]|0;if((m|0)==95){Ec=mb;Fc=ib;Gc=nb;break n}else Ic=m}else{m=(lv(qc)|0)==0;Ia=c[h>>2]|0;if(m|(Ia|0)==95){Ec=mb;Fc=ib;Gc=nb;break n}else Ic=Ia}if(lv(Ic)|0){Ec=mb;Fc=ib;Gc=nb;break n}Hc=c[sb>>2]|0}Ia=c[h>>2]|0;do if((Ia|0)!=0&(hb&(Hc&64|0)!=0)){if(kb){Jc=Ia;Kc=1}else{m=(lv(qc)|0)!=0;Jc=c[h>>2]|0;Kc=m}if((Jc|0)==95)if(Kc){Ec=mb;Fc=ib;Gc=nb;break n}else break;else if(Kc^(lv(Jc)|0)!=0)break;else{Ec=mb;Fc=ib;Gc=nb;break n}}while(0);do if(c[sb>>2]&128|0){Ia=c[h>>2]|0;if(pb|(Ia|0)==0){Ec=mb;Fc=ib;Gc=nb;break n}if(kb){Lc=Ia;Mc=1}else{Ia=(lv(qc)|0)!=0;Lc=c[h>>2]|0;Mc=Ia}if((Lc|0)==95)if(Mc)break;else{Ec=mb;Fc=ib;Gc=nb;break n}else if(Mc^(lv(Lc)|0)!=0){Ec=mb;Fc=ib;Gc=nb;break n}else break}while(0);Ia=c[sb>>2]|0;do if(!(Ia&4))Nc=Ia;else{if(c[a>>2]&2|0){Nc=Ia;break}if(!(kv(qc,c[qb+24>>2]|0)|0)){Ec=mb;Fc=ib;Gc=nb;break n}Nc=c[sb>>2]|0}while(0);do if(Nc&4|0){if(!(c[a>>2]&2))break;Ia=Ju(qc)|0;m=qb+24|0;if(kv(Ia,c[m>>2]|0)|0)break;Ia=Iu(qc)|0;if(!(kv(Ia,c[m>>2]|0)|0)){Ec=mb;Fc=ib;Gc=nb;break n}}while(0);if(!(c[sb>>2]&8))break;if(Jw(c[qb+28>>2]|0,qc,c[a>>2]&2)|0){Ec=mb;Fc=ib;Gc=nb;break n}}while(0);if(!ib){Ec=mb;Fc=c[Sa>>2]|0;Gc=c[qb+16>>2]|0;break}sb=mb+28|0;rb=c[sb>>2]|0;if(!rb){m=Fw(G,0,0,0,32)|0;if(!m){q=148;break m}c[m+24>>2]=mb;c[m+28>>2]=0;Ia=Fw(G,0,0,0,c[d>>2]<<2)|0;c[m+20>>2]=Ia;if(!Ia){q=155;break m}c[sb>>2]=m;Oc=m}else Oc=rb;c[Oc>>2]=rc;c[Oc+4>>2]=sc;c[Oc+8>>2]=c[Sa>>2];c[Oc+12>>2]=c[qb+12>>2];c[Oc+16>>2]=c[h>>2];if((c[d>>2]|0)>0){rb=c[Oc+20>>2]|0;m=0;do{c[rb+(m<<2)>>2]=c[Fb+(m<<2)>>2];m=m+1|0}while((m|0)<(c[d>>2]|0))}m=c[qb+16>>2]|0;if(!m){Ec=Oc;Fc=ib;Gc=nb;break}rb=c[m>>2]|0;if((rb|0)<=-1){Ec=Oc;Fc=ib;Gc=nb;break}sb=c[Oc+20>>2]|0;Ia=m;m=rb;do{c[sb+(m<<2)>>2]=rc;Ia=Ia+4|0;m=c[Ia>>2]|0}while((m|0)>-1);Ec=Oc;Fc=ib;Gc=nb}while(0);Sa=qb+40|0;if(!(c[Sa>>2]|0)){q=170;break}else{ib=Fc;qb=qb+32|0;nb=Gc;mb=Ec}}if((q|0)==148){q=0;Ew(G);if(!Wa)Lw(Fb);if(!Ja)Lw(Gb);if(_a){uc=nb;vc=mb;wc=ec;xc=qc;yc=rc;zc=1;Ac=gc;Bc=sc;Cc=tc;break}Lw(Hb);uc=nb;vc=mb;wc=ec;xc=qc;yc=rc;zc=1;Ac=gc;Bc=sc;Cc=tc;break}else if((q|0)==155){q=0;Ew(G);if(!Wa)Lw(Fb);if(!Ja)Lw(Gb);if(_a){uc=nb;vc=mb;wc=ec;xc=qc;yc=rc;zc=1;Ac=gc;Bc=sc;Cc=tc;break}Lw(Hb);uc=nb;vc=mb;wc=ec;xc=qc;yc=rc;zc=1;Ac=gc;Bc=sc;Cc=tc;break}else if((q|0)==170){q=0;if(!Fc){Vb=Ec;Wb=ec;Xb=qc;Yb=rc;Zb=gc;_b=sc;$b=tc;ac=Gc;q=174;continue k}if(!Gc){uc=0;vc=Ec;wc=ec;xc=qc;yc=rc;zc=0;Ac=Fc;Bc=sc;Cc=tc;break}qb=c[Gc>>2]|0;if((qb|0)>-1){Pc=Gc;Qc=qb}else{uc=Gc;vc=Ec;wc=ec;xc=qc;yc=rc;zc=0;Ac=Fc;Bc=sc;Cc=tc;break}while(1){qb=Pc+4|0;c[Fb+(Qc<<2)>>2]=rc;Qc=c[qb>>2]|0;if((Qc|0)<=-1){uc=qb;vc=Ec;wc=ec;xc=qc;yc=rc;zc=0;Ac=Fc;Bc=sc;Cc=tc;break}else Pc=qb}}}else if((q|0)==174){q=0;mb=c[Vb+24>>2]|0;if(!mb){if((Wb|0)>-1|(c[h>>2]|0)==0){uc=ac;vc=Vb;wc=Wb;xc=Xb;yc=Yb;zc=27;Ac=Zb;Bc=_b;Cc=$b;break}c[h>>2]=tb;uc=ac;vc=Vb;wc=Wb;xc=Xb;yc=Yb;zc=3;Ac=Zb;Bc=s;Cc=$b;break}nb=c[Vb+8>>2]|0;if(c[nb+20>>2]&256|0)c[Hb+(c[Vb+12>>2]<<2)>>2]=0;qb=c[Vb>>2]|0;ib=c[Vb+4>>2]|0;c[h>>2]=c[Vb+16>>2];Sa=c[d>>2]|0;if((Sa|0)<=0){uc=ac;vc=mb;wc=Wb;xc=Xb;yc=qb;zc=0;Ac=nb;Bc=ib;Cc=$b;break}kb=c[Vb+20>>2]|0;pb=0;do{c[Fb+(pb<<2)>>2]=c[kb+(pb<<2)>>2];pb=pb+1|0}while((pb|0)!=(Sa|0));uc=ac;vc=mb;wc=Wb;xc=Xb;yc=qb;zc=0;Ac=nb;Bc=ib;Cc=$b}while(0);switch(zc|0){case 2:{Ab=0;Bb=Gb;Cb=Hb;Db=Fb;Eb=1;break h;break}case 27:{q=184;break i;break}case 0:{bc=xc;cc=yc;dc=Bc;ec=wc;fc=Cc;gc=Ac;hc=uc;ic=vc;q=82;break}case 3:{break k;break}default:{yb=0;zb=12;break g}}}Ya=Bc;Xa=Cc;cb=ub;bb=wc;db=vc;eb=c[d>>2]|0}if((q|0)==56){Ew(G);if(!Wa)Lw(Fb);if(!Ja)Lw(Gb);if(_a){yb=0;zb=12;break g}Lw(Hb);yb=0;zb=12;break g}else if((q|0)==63){Ew(G);if(!Wa)Lw(Fb);if(!Ja)Lw(Gb);if(_a){yb=0;zb=12;break g}Lw(Hb);yb=0;zb=12;break g}else if((q|0)==184){Ab=wc;Bb=Gb;Cb=Hb;Db=Fb;Eb=wc>>>31;break}}while(0);Ew(G);if(Db|0)Lw(Db);if(Bb|0)Lw(Bb);if(!Cb){yb=Ab;zb=Eb}else{Lw(Cb);yb=Ab;zb=Eb}}else{yb=0;zb=12}while(0);wb=zb;xb=yb}if(!wb)Iw(l,e,c[a>>2]|0,k,p,xb);if(!p)o=wb;else{Lw(p);o=wb}}i=g;return o|0}function Hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if((a|0)>0){f=0;while(1){g=c[d+(f<<2)>>2]|0;h=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((g|0)<(h|0)){i=1;break a}if((g|0)>(h|0)){i=0;break a}}else{if((g|0)>(h|0)){i=1;break a}if((g|0)<(h|0)){i=0;break a}}f=f+1|0;if((f|0)>=(a|0)){i=0;break}}}else i=0;while(0);return i|0}function Iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((d&8|0)==0&(g|0)>-1){d=c[e+16>>2]|0;h=e+28|0;i=c[h>>2]|0;j=(a|0)!=0;if(j&(i|0)!=0){k=e+48|0;e=0;do{l=c[d+(e*12|0)>>2]|0;if((l|0)==(c[k>>2]|0))m=g;else m=c[f+(l<<2)>>2]|0;l=b+(e<<3)|0;c[l>>2]=m;n=c[d+(e*12|0)+4>>2]|0;if((n|0)==(c[k>>2]|0))o=g;else o=c[f+(n<<2)>>2]|0;n=b+(e<<3)+4|0;c[n>>2]=o;if((m|0)==-1|(o|0)==-1){c[n>>2]=-1;c[l>>2]=-1}e=e+1|0;l=c[h>>2]|0}while(e>>>0<a>>>0&e>>>0<l>>>0);p=l}else p=i;if(j&(p|0)!=0){j=0;while(1){i=b+(j<<3)+4|0;e=c[d+(j*12|0)+8>>2]|0;if(e|0?(h=c[e>>2]|0,(h|0)>-1):0){o=b+(j<<3)|0;m=0;f=h;h=c[o>>2]|0;while(1){if((h|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)q=h;else{c[i>>2]=-1;c[o>>2]=-1;q=-1}m=m+1|0;f=c[e+(m<<2)>>2]|0;if((f|0)<=-1)break;else h=q}}h=j+1|0;if(h>>>0<a>>>0&h>>>0<p>>>0)j=h;else{r=h;break}}}else r=0}else r=0;if(r>>>0<a>>>0)Sw(b+(r<<3)|0,-1,a-r<<3|0)|0;return}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a>>2]|0;a:do if(!e)f=0;else{g=(d|0)==0;h=a;i=e;while(1){if(g){if(kv(b,i)|0){f=1;break a}}else{j=Iu(b)|0;if(kv(j,c[h>>2]|0)|0){f=1;break a}j=Ju(b)|0;if(kv(j,c[h>>2]|0)|0){f=1;break a}}h=h+4|0;i=c[h>>2]|0;if(!i){f=0;break}}}while(0);return f|0}
-function Ol(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[e>>2]=b;c[f>>2]=c[e>>2];Nr(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[l>>2]=c[g>>2]<<6;c[k>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[l>>2];h=(c[l>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[l>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=c[l>>2];c[l>>2]=c[l>>2]<<3;c[k>>2]=c[k>>2]<<3;c[k>>2]=c[k>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){o=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=o+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}Nr(o,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Sl((c[f>>2]|0)+56|0,c[k>>2]|0);Sl((c[f>>2]|0)+60|0,c[l>>2]|0);c[n>>2]=Tl(c[f>>2]|0,c[f>>2]|0,1)|0;bf(c[n>>2]|0);cf();c[m>>2]=c[f>>2];Sl(c[m>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Sl(c[m>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Sl(c[m>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Sl(c[m>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[m>>2]=(c[m>>2]|0)+4;Sl(c[m>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[m>>2]=(c[m>>2]|0)+4;i=d;return}function Pl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==2){c[k>>2]=Rl(c[g>>2]|0,c[h>>2]|0)|0;l=c[k>>2]|0;i=e;return l|0}else{c[k>>2]=5;l=c[k>>2]|0;i=e;return l|0}return 0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42861;c[k>>2]=Mr(2,0,42874,3,42324,20)|0;do if(!(c[k>>2]|0)){if(c[f>>2]|0){c[h>>2]=42943;c[k>>2]=Mr(2,0,42531,56,42345,20)|0;if(c[k>>2]|0)break;c[h>>2]=43133;c[k>>2]=Mr(2,1,0,0,42366,20)|0;if(c[k>>2]|0)break}c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}while(0);if(c[g>>2]|0)Eb[c[g>>2]&1](43214,2,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;l=c[e>>2]|0;i=d;return l|0}function Sl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];do{c[l>>2]=Ul(c[k>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[l>>2]|0}function Ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+112|0;if((i|0)>=(j|0))$(112);e=d+100|0;f=d+96|0;g=d+92|0;h=d+88|0;k=d+84|0;l=d+80|0;m=d+76|0;n=d+72|0;o=d+68|0;p=d+64|0;q=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[f>>2];c[k>>2]=c[(c[g>>2]|0)+160>>2];c[l>>2]=c[(c[g>>2]|0)+164>>2];c[m>>2]=c[(c[g>>2]|0)+168>>2];c[n>>2]=c[(c[g>>2]|0)+172>>2];c[o>>2]=c[(c[g>>2]|0)+176>>2];f=Vl(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=Wl(c[h>>2]|0)|0;c[q>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+4|0)|0;c[q+4>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[o>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+8|0)|0;c[q+8>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[o>>2]^c[k>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+12|0)|0;c[q+12>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[o>>2]^c[m>>2]&(c[n>>2]^c[o>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+16|0)|0;c[q+16>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+20|0)|0;c[q+20>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+24|0)|0;c[q+24>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[o>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+28|0)|0;c[q+28>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[o>>2]^c[k>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+32|0)|0;c[q+32>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[o>>2]^c[m>>2]&(c[n>>2]^c[o>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+36|0)|0;c[q+36>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+40|0)|0;c[q+40>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+44|0)|0;c[q+44>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[o>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+48|0)|0;c[q+48>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[o>>2]^c[k>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+52|0)|0;c[q+52>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[o>>2]^c[m>>2]&(c[n>>2]^c[o>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+56|0)|0;c[q+56>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=Wl((c[h>>2]|0)+60|0)|0;c[q+60>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;c[p>>2]=c[q>>2]^c[q+8>>2]^c[q+32>>2]^c[q+52>>2];f=Vl(c[p>>2]|0,1)|0;c[q>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[o>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;c[p>>2]=c[q+4>>2]^c[q+12>>2]^c[q+36>>2]^c[q+56>>2];f=Vl(c[p>>2]|0,1)|0;c[q+4>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[o>>2]^c[k>>2]))+1518500249|0;c[p>>2]=c[q+8>>2]^c[q+16>>2]^c[q+40>>2]^c[q+60>>2];f=Vl(c[p>>2]|0,1)|0;c[q+8>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[o>>2]^c[m>>2]&(c[n>>2]^c[o>>2]))+1518500249|0;c[p>>2]=c[q+12>>2]^c[q+20>>2]^c[q+44>>2]^c[q>>2];f=Vl(c[p>>2]|0,1)|0;c[q+12>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[p>>2]=c[q+16>>2]^c[q+24>>2]^c[q+48>>2]^c[q+4>>2];f=Vl(c[p>>2]|0,1)|0;c[q+16>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[p>>2]=c[q+20>>2]^c[q+28>>2]^c[q+52>>2]^c[q+8>>2];f=Vl(c[p>>2]|0,1)|0;c[q+20>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[p>>2]=c[q+24>>2]^c[q+32>>2]^c[q+56>>2]^c[q+12>>2];f=Vl(c[p>>2]|0,1)|0;c[q+24>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+1859775393|0;c[p>>2]=c[q+28>>2]^c[q+36>>2]^c[q+60>>2]^c[q+16>>2];f=Vl(c[p>>2]|0,1)|0;c[q+28>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+1859775393|0;c[p>>2]=c[q+32>>2]^c[q+40>>2]^c[q>>2]^c[q+20>>2];f=Vl(c[p>>2]|0,1)|0;c[q+32>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[p>>2]=c[q+36>>2]^c[q+44>>2]^c[q+4>>2]^c[q+24>>2];f=Vl(c[p>>2]|0,1)|0;c[q+36>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[p>>2]=c[q+40>>2]^c[q+48>>2]^c[q+8>>2]^c[q+28>>2];f=Vl(c[p>>2]|0,1)|0;c[q+40>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[p>>2]=c[q+44>>2]^c[q+52>>2]^c[q+12>>2]^c[q+32>>2];f=Vl(c[p>>2]|0,1)|0;c[q+44>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+1859775393|0;c[p>>2]=c[q+48>>2]^c[q+56>>2]^c[q+16>>2]^c[q+36>>2];f=Vl(c[p>>2]|0,1)|0;c[q+48>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+1859775393|0;c[p>>2]=c[q+52>>2]^c[q+60>>2]^c[q+20>>2]^c[q+40>>2];f=Vl(c[p>>2]|0,1)|0;c[q+52>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[p>>2]=c[q+56>>2]^c[q>>2]^c[q+24>>2]^c[q+44>>2];f=Vl(c[p>>2]|0,1)|0;c[q+56>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[p>>2]=c[q+60>>2]^c[q+4>>2]^c[q+28>>2]^c[q+48>>2];f=Vl(c[p>>2]|0,1)|0;c[q+60>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[p>>2]=c[q>>2]^c[q+8>>2]^c[q+32>>2]^c[q+52>>2];f=Vl(c[p>>2]|0,1)|0;c[q>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+1859775393|0;c[p>>2]=c[q+4>>2]^c[q+12>>2]^c[q+36>>2]^c[q+56>>2];f=Vl(c[p>>2]|0,1)|0;c[q+4>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+1859775393|0;c[p>>2]=c[q+8>>2]^c[q+16>>2]^c[q+40>>2]^c[q+60>>2];f=Vl(c[p>>2]|0,1)|0;c[q+8>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[p>>2]=c[q+12>>2]^c[q+20>>2]^c[q+44>>2]^c[q>>2];f=Vl(c[p>>2]|0,1)|0;c[q+12>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[p>>2]=c[q+16>>2]^c[q+24>>2]^c[q+48>>2]^c[q+4>>2];f=Vl(c[p>>2]|0,1)|0;c[q+16>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[p>>2]=c[q+20>>2]^c[q+28>>2]^c[q+52>>2]^c[q+8>>2];f=Vl(c[p>>2]|0,1)|0;c[q+20>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+1859775393|0;c[p>>2]=c[q+24>>2]^c[q+32>>2]^c[q+56>>2]^c[q+12>>2];f=Vl(c[p>>2]|0,1)|0;c[q+24>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+1859775393|0;c[p>>2]=c[q+28>>2]^c[q+36>>2]^c[q+60>>2]^c[q+16>>2];f=Vl(c[p>>2]|0,1)|0;c[q+28>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[p>>2]=c[q+32>>2]^c[q+40>>2]^c[q>>2]^c[q+20>>2];f=Vl(c[p>>2]|0,1)|0;c[q+32>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[p>>2]=c[q+36>>2]^c[q+44>>2]^c[q+4>>2]^c[q+24>>2];f=Vl(c[p>>2]|0,1)|0;c[q+36>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]&c[k>>2]|c[l>>2]&(c[o>>2]|c[k>>2]))+-1894007588|0;c[p>>2]=c[q+40>>2]^c[q+48>>2]^c[q+8>>2]^c[q+28>>2];f=Vl(c[p>>2]|0,1)|0;c[q+40>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[o>>2]|c[k>>2]&(c[n>>2]|c[o>>2]))+-1894007588|0;c[p>>2]=c[q+44>>2]^c[q+52>>2]^c[q+12>>2]^c[q+32>>2];f=Vl(c[p>>2]|0,1)|0;c[q+44>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[o>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[p>>2]=c[q+48>>2]^c[q+56>>2]^c[q+16>>2]^c[q+36>>2];f=Vl(c[p>>2]|0,1)|0;c[q+48>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[p>>2]=c[q+52>>2]^c[q+60>>2]^c[q+20>>2]^c[q+40>>2];f=Vl(c[p>>2]|0,1)|0;c[q+52>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[p>>2]=c[q+56>>2]^c[q>>2]^c[q+24>>2]^c[q+44>>2];f=Vl(c[p>>2]|0,1)|0;c[q+56>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]&c[k>>2]|c[l>>2]&(c[o>>2]|c[k>>2]))+-1894007588|0;c[p>>2]=c[q+60>>2]^c[q+4>>2]^c[q+28>>2]^c[q+48>>2];f=Vl(c[p>>2]|0,1)|0;c[q+60>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[o>>2]|c[k>>2]&(c[n>>2]|c[o>>2]))+-1894007588|0;c[p>>2]=c[q>>2]^c[q+8>>2]^c[q+32>>2]^c[q+52>>2];f=Vl(c[p>>2]|0,1)|0;c[q>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[o>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[p>>2]=c[q+4>>2]^c[q+12>>2]^c[q+36>>2]^c[q+56>>2];f=Vl(c[p>>2]|0,1)|0;c[q+4>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[p>>2]=c[q+8>>2]^c[q+16>>2]^c[q+40>>2]^c[q+60>>2];f=Vl(c[p>>2]|0,1)|0;c[q+8>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[p>>2]=c[q+12>>2]^c[q+20>>2]^c[q+44>>2]^c[q>>2];f=Vl(c[p>>2]|0,1)|0;c[q+12>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]&c[k>>2]|c[l>>2]&(c[o>>2]|c[k>>2]))+-1894007588|0;c[p>>2]=c[q+16>>2]^c[q+24>>2]^c[q+48>>2]^c[q+4>>2];f=Vl(c[p>>2]|0,1)|0;c[q+16>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[o>>2]|c[k>>2]&(c[n>>2]|c[o>>2]))+-1894007588|0;c[p>>2]=c[q+20>>2]^c[q+28>>2]^c[q+52>>2]^c[q+8>>2];f=Vl(c[p>>2]|0,1)|0;c[q+20>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[o>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[p>>2]=c[q+24>>2]^c[q+32>>2]^c[q+56>>2]^c[q+12>>2];f=Vl(c[p>>2]|0,1)|0;c[q+24>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[p>>2]=c[q+28>>2]^c[q+36>>2]^c[q+60>>2]^c[q+16>>2];f=Vl(c[p>>2]|0,1)|0;c[q+28>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[p>>2]=c[q+32>>2]^c[q+40>>2]^c[q>>2]^c[q+20>>2];f=Vl(c[p>>2]|0,1)|0;c[q+32>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]&c[k>>2]|c[l>>2]&(c[o>>2]|c[k>>2]))+-1894007588|0;c[p>>2]=c[q+36>>2]^c[q+44>>2]^c[q+4>>2]^c[q+24>>2];f=Vl(c[p>>2]|0,1)|0;c[q+36>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[o>>2]|c[k>>2]&(c[n>>2]|c[o>>2]))+-1894007588|0;c[p>>2]=c[q+40>>2]^c[q+48>>2]^c[q+8>>2]^c[q+28>>2];f=Vl(c[p>>2]|0,1)|0;c[q+40>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[o>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[p>>2]=c[q+44>>2]^c[q+52>>2]^c[q+12>>2]^c[q+32>>2];f=Vl(c[p>>2]|0,1)|0;c[q+44>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[p>>2]=c[q+48>>2]^c[q+56>>2]^c[q+16>>2]^c[q+36>>2];f=Vl(c[p>>2]|0,1)|0;c[q+48>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[p>>2]=c[q+52>>2]^c[q+60>>2]^c[q+20>>2]^c[q+40>>2];f=Vl(c[p>>2]|0,1)|0;c[q+52>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[p>>2]=c[q+56>>2]^c[q>>2]^c[q+24>>2]^c[q+44>>2];f=Vl(c[p>>2]|0,1)|0;c[q+56>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+-899497514|0;c[p>>2]=c[q+60>>2]^c[q+4>>2]^c[q+28>>2]^c[q+48>>2];f=Vl(c[p>>2]|0,1)|0;c[q+60>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+-899497514|0;c[p>>2]=c[q>>2]^c[q+8>>2]^c[q+32>>2]^c[q+52>>2];f=Vl(c[p>>2]|0,1)|0;c[q>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[p>>2]=c[q+4>>2]^c[q+12>>2]^c[q+36>>2]^c[q+56>>2];f=Vl(c[p>>2]|0,1)|0;c[q+4>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[p>>2]=c[q+8>>2]^c[q+16>>2]^c[q+40>>2]^c[q+60>>2];f=Vl(c[p>>2]|0,1)|0;c[q+8>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[p>>2]=c[q+12>>2]^c[q+20>>2]^c[q+44>>2]^c[q>>2];f=Vl(c[p>>2]|0,1)|0;c[q+12>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+-899497514|0;c[p>>2]=c[q+16>>2]^c[q+24>>2]^c[q+48>>2]^c[q+4>>2];f=Vl(c[p>>2]|0,1)|0;c[q+16>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+-899497514|0;c[p>>2]=c[q+20>>2]^c[q+28>>2]^c[q+52>>2]^c[q+8>>2];f=Vl(c[p>>2]|0,1)|0;c[q+20>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[p>>2]=c[q+24>>2]^c[q+32>>2]^c[q+56>>2]^c[q+12>>2];f=Vl(c[p>>2]|0,1)|0;c[q+24>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[p>>2]=c[q+28>>2]^c[q+36>>2]^c[q+60>>2]^c[q+16>>2];f=Vl(c[p>>2]|0,1)|0;c[q+28>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[p>>2]=c[q+32>>2]^c[q+40>>2]^c[q>>2]^c[q+20>>2];f=Vl(c[p>>2]|0,1)|0;c[q+32>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+-899497514|0;c[p>>2]=c[q+36>>2]^c[q+44>>2]^c[q+4>>2]^c[q+24>>2];f=Vl(c[p>>2]|0,1)|0;c[q+36>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+-899497514|0;c[p>>2]=c[q+40>>2]^c[q+48>>2]^c[q+8>>2]^c[q+28>>2];f=Vl(c[p>>2]|0,1)|0;c[q+40>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=Vl(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[p>>2]=c[q+44>>2]^c[q+52>>2]^c[q+12>>2]^c[q+32>>2];f=Vl(c[p>>2]|0,1)|0;c[q+44>>2]=f;c[o>>2]=(c[o>>2]|0)+(e+f);c[l>>2]=Vl(c[l>>2]|0,30)|0;f=Vl(c[o>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[p>>2]=c[q+48>>2]^c[q+56>>2]^c[q+16>>2]^c[q+36>>2];f=Vl(c[p>>2]|0,1)|0;c[q+48>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=Vl(c[k>>2]|0,30)|0;f=Vl(c[n>>2]|0,5)|0;e=f+(c[o>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[p>>2]=c[q+52>>2]^c[q+60>>2]^c[q+20>>2]^c[q+40>>2];f=Vl(c[p>>2]|0,1)|0;c[q+52>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[o>>2]=Vl(c[o>>2]|0,30)|0;f=Vl(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[o>>2]^c[k>>2])+-899497514|0;c[p>>2]=c[q+56>>2]^c[q>>2]^c[q+24>>2]^c[q+44>>2];f=Vl(c[p>>2]|0,1)|0;c[q+56>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=Vl(c[n>>2]|0,30)|0;f=Vl(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[o>>2])+-899497514|0;c[p>>2]=c[q+60>>2]^c[q+4>>2]^c[q+28>>2]^c[q+48>>2];f=Vl(c[p>>2]|0,1)|0;c[q+60>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=Vl(c[m>>2]|0,30)|0;f=(c[g>>2]|0)+160|0;c[f>>2]=(c[f>>2]|0)+(c[k>>2]|0);k=(c[g>>2]|0)+164|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[g>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[g>>2]|0)+172|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[g>>2]|0)+176|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);i=d;return 104}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Wl(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function Xl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+208|0;if((i|0)>=(j|0))$(208);g=f+192|0;h=f+188|0;k=f+184|0;l=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;Nl(l,0);Nr(l,c[h>>2]|0,c[k>>2]|0);Ol(l);k=c[g>>2]|0;g=l;l=k+20|0;do{a[k>>0]=a[g>>0]|0;k=k+1|0;g=g+1|0}while((k|0)<(l|0));i=f;return}function Yl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+208|0;if((i|0)>=(j|0))$(208);g=f+192|0;h=f+188|0;k=f+184|0;l=f;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;Nl(l,0);while(1){if((c[k>>2]|0)<=0)break;Nr(l,(c[(c[h>>2]|0)+12>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0)|0,c[(c[h>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}Ol(l);k=c[g>>2]|0;g=l;l=k+20|0;do{a[k>>0]=a[g>>0]|0;k=k+1|0;g=g+1|0}while((k|0)<(l|0));i=f;return}function Zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=pg()|0;c[(c[f>>2]|0)+160>>2]=-1056596264;c[(c[f>>2]|0)+164>>2]=914150663;c[(c[f>>2]|0)+168>>2]=812702999;c[(c[f>>2]|0)+172>>2]=-150054599;c[(c[f>>2]|0)+176>>2]=-4191439;c[(c[f>>2]|0)+180>>2]=1750603025;c[(c[f>>2]|0)+184>>2]=1694076839;c[(c[f>>2]|0)+188>>2]=-1090891868;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=33;i=d;return}function _l(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[e>>2]=b;c[f>>2]=c[e>>2];Nr(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[l>>2]=c[g>>2]<<6;c[k>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[l>>2];h=(c[l>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[l>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=c[l>>2];c[l>>2]=c[l>>2]<<3;c[k>>2]=c[k>>2]<<3;c[k>>2]=c[k>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){o=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=o+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}Nr(o,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);dm((c[f>>2]|0)+56|0,c[k>>2]|0);dm((c[f>>2]|0)+60|0,c[l>>2]|0);c[n>>2]=em(c[f>>2]|0,c[f>>2]|0,1)|0;bf(c[n>>2]|0);cf();c[m>>2]=c[f>>2];dm(c[m>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+180>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+184>>2]|0);c[m>>2]=(c[m>>2]|0)+4;dm(c[m>>2]|0,c[(c[f>>2]|0)+188>>2]|0);c[m>>2]=(c[m>>2]|0)+4;i=d;return}function $l(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 11:{c[k>>2]=bm(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[k>>2]=cm(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[k>>2]=5}i=e;return c[k>>2]|0}function bm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42861;c[k>>2]=Mr(11,0,42874,3,42654,28)|0;do if(!(c[k>>2]|0)){if(c[f>>2]|0){c[h>>2]=42943;c[k>>2]=Mr(11,0,42531,56,42683,28)|0;if(c[k>>2]|0)break;c[h>>2]=43133;c[k>>2]=Mr(11,1,0,0,42712,28)|0;if(c[k>>2]|0)break}c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}while(0);if(c[g>>2]|0)Eb[c[g>>2]&1](43214,11,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;l=c[e>>2]|0;i=d;return l|0}function cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42861;c[k>>2]=Mr(8,0,42874,3,42498,32)|0;do if(!(c[k>>2]|0)){if(c[f>>2]|0){c[h>>2]=42943;c[k>>2]=Mr(8,0,42531,56,42588,32)|0;if(c[k>>2]|0)break;c[h>>2]=43133;c[k>>2]=Mr(8,1,0,0,42621,32)|0;if(c[k>>2]|0)break}c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}while(0);if(c[g>>2]|0)Eb[c[g>>2]&1](43214,8,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;l=c[e>>2]|0;i=d;return l|0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];do{c[l>>2]=fm(c[k>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[l>>2]|0}function fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=i;i=i+320|0;if((i|0)>=(j|0))$(320);e=d+312|0;f=d+308|0;g=d+304|0;h=d+300|0;k=d+296|0;l=d+292|0;m=d+288|0;n=d+284|0;o=d+280|0;p=d+276|0;q=d+272|0;r=d+268|0;s=d+264|0;t=d+8|0;u=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+160>>2];c[k>>2]=c[(c[g>>2]|0)+164>>2];c[l>>2]=c[(c[g>>2]|0)+168>>2];c[m>>2]=c[(c[g>>2]|0)+172>>2];c[n>>2]=c[(c[g>>2]|0)+176>>2];c[o>>2]=c[(c[g>>2]|0)+180>>2];c[p>>2]=c[(c[g>>2]|0)+184>>2];c[q>>2]=c[(c[g>>2]|0)+188>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=16)break;e=gm((c[f>>2]|0)+(c[u>>2]<<2)|0)|0;c[t+(c[u>>2]<<2)>>2]=e;c[u>>2]=(c[u>>2]|0)+1}while(1){if((c[u>>2]|0)>=64)break;f=hm(c[t+((c[u>>2]|0)-2<<2)>>2]|0,17)|0;e=f^(hm(c[t+((c[u>>2]|0)-2<<2)>>2]|0,19)|0);f=(e^(c[t+((c[u>>2]|0)-2<<2)>>2]|0)>>>10)+(c[t+((c[u>>2]|0)-7<<2)>>2]|0)|0;e=hm(c[t+((c[u>>2]|0)-15<<2)>>2]|0,7)|0;b=e^(hm(c[t+((c[u>>2]|0)-15<<2)>>2]|0,18)|0);c[t+(c[u>>2]<<2)>>2]=f+(b^(c[t+((c[u>>2]|0)-15<<2)>>2]|0)>>>3)+(c[t+((c[u>>2]|0)-16<<2)>>2]|0);c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=64)break;b=c[q>>2]|0;f=b+(im(c[n>>2]|0)|0)|0;b=f+(jm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)|0;c[r>>2]=b+(c[7920+(c[u>>2]<<2)>>2]|0)+(c[t+(c[u>>2]<<2)>>2]|0);b=km(c[h>>2]|0)|0;c[s>>2]=b+(lm(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0);c[m>>2]=(c[m>>2]|0)+(c[r>>2]|0);c[q>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[p>>2]|0;f=b+(im(c[m>>2]|0)|0)|0;b=f+(jm(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+1<<2)>>2]|0)+(c[t+((c[u>>2]|0)+1<<2)>>2]|0);b=km(c[q>>2]|0)|0;c[s>>2]=b+(lm(c[q>>2]|0,c[h>>2]|0,c[k>>2]|0)|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[p>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[o>>2]|0;f=b+(im(c[l>>2]|0)|0)|0;b=f+(jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+2<<2)>>2]|0)+(c[t+((c[u>>2]|0)+2<<2)>>2]|0);b=km(c[p>>2]|0)|0;c[s>>2]=b+(lm(c[p>>2]|0,c[q>>2]|0,c[h>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[n>>2]|0;f=b+(im(c[k>>2]|0)|0)|0;b=f+(jm(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+3<<2)>>2]|0)+(c[t+((c[u>>2]|0)+3<<2)>>2]|0);b=km(c[o>>2]|0)|0;c[s>>2]=b+(lm(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0);c[h>>2]=(c[h>>2]|0)+(c[r>>2]|0);c[n>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[m>>2]|0;f=b+(im(c[h>>2]|0)|0)|0;b=f+(jm(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+4<<2)>>2]|0)+(c[t+((c[u>>2]|0)+4<<2)>>2]|0);b=km(c[n>>2]|0)|0;c[s>>2]=b+(lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[m>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[l>>2]|0;f=b+(im(c[q>>2]|0)|0)|0;b=f+(jm(c[q>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+5<<2)>>2]|0)+(c[t+((c[u>>2]|0)+5<<2)>>2]|0);b=km(c[m>>2]|0)|0;c[s>>2]=b+(lm(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0);c[p>>2]=(c[p>>2]|0)+(c[r>>2]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[k>>2]|0;f=b+(im(c[p>>2]|0)|0)|0;b=f+(jm(c[p>>2]|0,c[q>>2]|0,c[h>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+6<<2)>>2]|0)+(c[t+((c[u>>2]|0)+6<<2)>>2]|0);b=km(c[l>>2]|0)|0;c[s>>2]=b+(lm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0);c[k>>2]=(c[r>>2]|0)+(c[s>>2]|0);b=c[h>>2]|0;f=b+(im(c[o>>2]|0)|0)|0;b=f+(jm(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)|0;c[r>>2]=b+(c[7920+((c[u>>2]|0)+7<<2)>>2]|0)+(c[t+((c[u>>2]|0)+7<<2)>>2]|0);b=km(c[k>>2]|0)|0;c[s>>2]=b+(lm(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[h>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[u>>2]=(c[u>>2]|0)+8}u=(c[g>>2]|0)+160|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);h=(c[g>>2]|0)+164|0;c[h>>2]=(c[h>>2]|0)+(c[k>>2]|0);k=(c[g>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[g>>2]|0)+172|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[g>>2]|0)+176|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[g>>2]|0)+180|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[g>>2]|0)+184|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);p=(c[g>>2]|0)+188|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);i=d;return 328}function gm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]&31)|c[e>>2]<<(32-(c[f>>2]|0)&31)|0}function im(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=hm(c[d>>2]|0,6)|0;e=a^(hm(c[d>>2]|0,11)|0);a=e^(hm(c[d>>2]|0,25)|0);i=b;return a|0}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;i=e;return c[h>>2]^c[f>>2]&(c[g>>2]^c[h>>2])|0}function km(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=hm(c[d>>2]|0,2)|0;e=a^(hm(c[d>>2]|0,13)|0);a=e^(hm(c[d>>2]|0,22)|0);i=b;return a|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;i=e;return c[f>>2]&c[g>>2]|c[h>>2]&(c[f>>2]|c[g>>2])|0}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=pg()|0;c[(c[f>>2]|0)+160>>2]=1779033703;c[(c[f>>2]|0)+164>>2]=-1150833019;c[(c[f>>2]|0)+168>>2]=1013904242;c[(c[f>>2]|0)+172>>2]=-1521486534;c[(c[f>>2]|0)+176>>2]=1359893119;c[(c[f>>2]|0)+180>>2]=-1694144372;c[(c[f>>2]|0)+184>>2]=528734635;c[(c[f>>2]|0)+188>>2]=1541459225;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=33;i=d;return}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+8|0;g=d+4|0;c[e>>2]=a;c[d+12>>2]=b;c[f>>2]=c[e>>2];c[g>>2]=(c[f>>2]|0)+160;c[d>>2]=pg()|0;e=c[g>>2]|0;c[e>>2]=-205731576;c[e+4>>2]=1779033703;e=(c[g>>2]|0)+8|0;c[e>>2]=-2067093701;c[e+4>>2]=-1150833019;e=(c[g>>2]|0)+16|0;c[e>>2]=-23791573;c[e+4>>2]=1013904242;e=(c[g>>2]|0)+24|0;c[e>>2]=1595750129;c[e+4>>2]=-1521486534;e=(c[g>>2]|0)+32|0;c[e>>2]=-1377402159;c[e+4>>2]=1359893119;e=(c[g>>2]|0)+40|0;c[e>>2]=725511199;c[e+4>>2]=-1694144372;e=(c[g>>2]|0)+48|0;c[e>>2]=-79577749;c[e+4>>2]=528734635;e=(c[g>>2]|0)+56|0;c[e>>2]=327033209;c[e+4>>2]=1541459225;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=128;c[(c[f>>2]|0)+152>>2]=34;i=d;return}function om(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=d+44|0;f=d+40|0;g=d+36|0;h=d+24|0;k=d+16|0;l=d+8|0;m=d;n=d+32|0;c[e>>2]=b;c[f>>2]=c[e>>2];Nr(c[e>>2]|0,0,0);b=(c[f>>2]|0)+128|0;o=c[b+4>>2]|0;p=h;c[p>>2]=c[b>>2];c[p+4>>2]=o;o=(c[f>>2]|0)+136|0;p=c[o+4>>2]|0;b=k;c[b>>2]=c[o>>2];c[b+4>>2]=p;p=h;b=gx(c[p>>2]|0,c[p+4>>2]|0,7)|0;p=m;c[p>>2]=b;c[p+4>>2]=D;p=k;k=gx(c[p>>2]|0,c[p+4>>2]|0,7)|0;p=D;b=h;o=ax(c[b>>2]|0,c[b+4>>2]|0,57)|0;b=l;c[b>>2]=k|o;c[b+4>>2]=p|D;p=m;b=c[p+4>>2]|0;o=h;c[o>>2]=c[p>>2];c[o+4>>2]=b;b=c[(c[f>>2]|0)+144>>2]|0;o=m;p=Uw(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=D;o=m;c[o>>2]=p;c[o+4>>2]=b;o=h;k=c[o+4>>2]|0;if(b>>>0<k>>>0|((b|0)==(k|0)?p>>>0<(c[o>>2]|0)>>>0:0)){o=l;p=Uw(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;o=l;c[o>>2]=p;c[o+4>>2]=D}o=m;p=c[o+4>>2]|0;k=h;c[k>>2]=c[o>>2];c[k+4>>2]=p;p=m;k=gx(c[p>>2]|0,c[p+4>>2]|0,3)|0;p=m;c[p>>2]=k;c[p+4>>2]=D;p=l;k=gx(c[p>>2]|0,c[p+4>>2]|0,3)|0;p=l;c[p>>2]=k;c[p+4>>2]=D;p=h;h=ax(c[p>>2]|0,c[p+4>>2]|0,61)|0;p=l;k=c[p+4>>2]|D;o=l;c[o>>2]=c[p>>2]|h;c[o+4>>2]=k;k=(c[(c[f>>2]|0)+144>>2]|0)<112;o=(c[f>>2]|0)+144|0;h=c[o>>2]|0;c[o>>2]=h+1;a[(c[f>>2]|0)+h>>0]=-128;a:do if(k)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=112)break a;h=(c[f>>2]|0)+144|0;o=c[h>>2]|0;c[h>>2]=o+1;a[(c[f>>2]|0)+o>>0]=0}else{while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=128)break;o=(c[f>>2]|0)+144|0;h=c[o>>2]|0;c[o>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}Nr(c[e>>2]|0,0,0);h=c[f>>2]|0;o=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(o|0))}while(0);e=l;tm((c[f>>2]|0)+112|0,c[e>>2]|0,c[e+4>>2]|0);e=m;tm((c[f>>2]|0)+120|0,c[e>>2]|0,c[e+4>>2]|0);c[g>>2]=um(c[f>>2]|0,c[f>>2]|0,1)|0;bf(c[g>>2]|0);cf();c[n>>2]=c[f>>2];g=(c[f>>2]|0)+160|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+8|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+16|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+24|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+32|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+40|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+48|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;g=(c[f>>2]|0)+160+56|0;tm(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[n>>2]=(c[n>>2]|0)+8;i=d;return}function pm(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 9:{c[k>>2]=rm(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[k>>2]=sm(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[k>>2]=5}i=e;return c[k>>2]|0}function rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42861;c[k>>2]=Mr(9,0,42874,3,43221,48)|0;do if(!(c[k>>2]|0)){if(c[f>>2]|0){c[h>>2]=42943;c[k>>2]=Mr(9,0,42955,112,43270,48)|0;if(c[k>>2]|0)break;c[h>>2]=43133;c[k>>2]=Mr(9,1,0,0,43319,48)|0;if(c[k>>2]|0)break}c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}while(0);if(c[g>>2]|0)Eb[c[g>>2]&1](43214,9,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;l=c[e>>2]|0;i=d;return l|0}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42861;c[k>>2]=Mr(10,0,42874,3,42878,64)|0;do if(!(c[k>>2]|0)){if(c[f>>2]|0){c[h>>2]=42943;c[k>>2]=Mr(10,0,42955,112,43068,64)|0;if(c[k>>2]|0)break;c[h>>2]=43133;c[k>>2]=Mr(10,1,0,0,43149,64)|0;if(c[k>>2]|0)break}c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}while(0);if(c[g>>2]|0)Eb[c[g>>2]&1](43214,10,c[h>>2]|0,c[k>>2]|0);c[e>>2]=50;l=c[e>>2]|0;i=d;return l|0}function tm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f;k=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[g>>2];g=h;e=ax(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[k>>2]>>0]=e;e=h;g=ax(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[k>>2]|0)+1>>0]=g;g=h;e=ax(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[k>>2]|0)+2>>0]=e;a[(c[k>>2]|0)+3>>0]=c[h+4>>2];e=h;g=ax(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[k>>2]|0)+4>>0]=g;g=h;e=ax(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[k>>2]|0)+5>>0]=e;e=h;g=ax(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[k>>2]|0)+6>>0]=g;a[(c[k>>2]|0)+7>>0]=c[h>>2];i=f;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];do{c[l>>2]=(vm((c[k>>2]|0)+160|0,c[g>>2]|0)|0)+12;c[g>>2]=(c[g>>2]|0)+128;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[l>>2]|0}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+240|0;if((i|0)>=(j|0))$(240);e=d+232|0;f=d+228|0;g=d+216|0;h=d+208|0;k=d+200|0;l=d+192|0;m=d+184|0;n=d+176|0;o=d+168|0;p=d+160|0;q=d+32|0;r=d+224|0;s=d+24|0;t=d+16|0;u=d+8|0;v=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[b+4>>2]|0;w=g;c[w>>2]=c[b>>2];c[w+4>>2]=a;a=(c[e>>2]|0)+8|0;w=c[a+4>>2]|0;b=h;c[b>>2]=c[a>>2];c[b+4>>2]=w;w=(c[e>>2]|0)+16|0;b=c[w+4>>2]|0;a=k;c[a>>2]=c[w>>2];c[a+4>>2]=b;b=(c[e>>2]|0)+24|0;a=c[b+4>>2]|0;w=l;c[w>>2]=c[b>>2];c[w+4>>2]=a;a=(c[e>>2]|0)+32|0;w=c[a+4>>2]|0;b=m;c[b>>2]=c[a>>2];c[b+4>>2]=w;w=(c[e>>2]|0)+40|0;b=c[w+4>>2]|0;a=n;c[a>>2]=c[w>>2];c[a+4>>2]=b;b=(c[e>>2]|0)+48|0;a=c[b+4>>2]|0;w=o;c[w>>2]=c[b>>2];c[w+4>>2]=a;a=(c[e>>2]|0)+56|0;w=c[a+4>>2]|0;b=p;c[b>>2]=c[a>>2];c[b+4>>2]=w;c[r>>2]=0;while(1){if((c[r>>2]|0)>=16)break;w=wm((c[f>>2]|0)+(c[r>>2]<<3)|0)|0;b=q+(c[r>>2]<<3)|0;c[b>>2]=w;c[b+4>>2]=D;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=64)break;f=p;b=c[f>>2]|0;w=c[f+4>>2]|0;f=m;a=xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Uw(b|0,w|0,a|0,D|0)|0;a=D;w=m;b=n;x=o;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(f|0,a|0,y|0,D|0)|0;y=72+(c[r>>2]<<3)|0;a=Uw(x|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q;x=Uw(a|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=s;c[y>>2]=x;c[y+4>>2]=D;y=q+112|0;x=zm(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=D;a=q+112|0;f=zm(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=y^D;y=q+112|0;b=ax(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=q+72|0;w=Uw(x^f^b|0,a^D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=D;a=q+8|0;b=zm(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=D;f=q+8|0;x=zm(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^D;a=q+8|0;z=ax(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Uw(w|0,y|0,b^x^z|0,f^D|0)|0;f=q;z=Uw(c[f>>2]|0,c[f+4>>2]|0,a|0,D|0)|0;a=q;c[a>>2]=z;c[a+4>>2]=D;a=g;z=Am(c[a>>2]|0,c[a+4>>2]|0)|0;a=D;f=g;x=h;b=k;y=Bm(c[f>>2]|0,c[f+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,a|0,y|0,D|0)|0;y=t;c[y>>2]=b;c[y+4>>2]=D;y=s;b=l;a=Uw(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=l;c[y>>2]=a;c[y+4>>2]=D;y=s;a=t;b=Uw(c[y>>2]|0,c[y+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p;c[a>>2]=b;c[a+4>>2]=D;a=o;b=c[a>>2]|0;y=c[a+4>>2]|0;a=l;z=xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Uw(b|0,y|0,z|0,D|0)|0;z=D;y=l;b=m;x=n;f=ym(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(a|0,z|0,f|0,D|0)|0;f=72+((c[r>>2]|0)+1<<3)|0;z=Uw(x|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=q+8|0;x=Uw(z|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=s;c[f>>2]=x;c[f+4>>2]=D;f=q+120|0;x=zm(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=D;z=q+120|0;a=zm(c[z>>2]|0,c[z+4>>2]|0,61,0)|0;z=f^D;f=q+120|0;b=ax(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=q+80|0;y=Uw(x^a^b|0,z^D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=D;z=q+16|0;b=zm(c[z>>2]|0,c[z+4>>2]|0,1,0)|0;z=D;a=q+16|0;x=zm(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=z^D;z=q+16|0;w=ax(c[z>>2]|0,c[z+4>>2]|0,7)|0;z=Uw(y|0,f|0,b^x^w|0,a^D|0)|0;a=q+8|0;w=a;x=Uw(c[w>>2]|0,c[w+4>>2]|0,z|0,D|0)|0;z=a;c[z>>2]=x;c[z+4>>2]=D;z=p;x=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;a=p;w=g;b=h;f=Bm(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(x|0,z|0,f|0,D|0)|0;f=t;c[f>>2]=b;c[f+4>>2]=D;f=s;b=k;z=Uw(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=k;c[f>>2]=z;c[f+4>>2]=D;f=s;z=t;b=Uw(c[f>>2]|0,c[f+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=o;c[z>>2]=b;c[z+4>>2]=D;z=n;b=c[z>>2]|0;f=c[z+4>>2]|0;z=k;x=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(b|0,f|0,x|0,D|0)|0;x=D;f=k;b=l;w=m;a=ym(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Uw(z|0,x|0,a|0,D|0)|0;a=72+((c[r>>2]|0)+2<<3)|0;x=Uw(w|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=q+16|0;w=Uw(x|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=s;c[a>>2]=w;c[a+4>>2]=D;a=q;w=zm(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=D;x=q;z=zm(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=a^D;a=q;b=ax(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=q+88|0;f=Uw(w^z^b|0,x^D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=D;x=q+24|0;b=zm(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=D;z=q+24|0;w=zm(c[z>>2]|0,c[z+4>>2]|0,8,0)|0;z=x^D;x=q+24|0;y=ax(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Uw(f|0,a|0,b^w^y|0,z^D|0)|0;z=q+16|0;y=z;w=Uw(c[y>>2]|0,c[y+4>>2]|0,x|0,D|0)|0;x=z;c[x>>2]=w;c[x+4>>2]=D;x=o;w=Am(c[x>>2]|0,c[x+4>>2]|0)|0;x=D;z=o;y=p;b=g;a=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(w|0,x|0,a|0,D|0)|0;a=t;c[a>>2]=b;c[a+4>>2]=D;a=s;b=h;x=Uw(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=h;c[a>>2]=x;c[a+4>>2]=D;a=s;x=t;b=Uw(c[a>>2]|0,c[a+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=n;c[x>>2]=b;c[x+4>>2]=D;x=m;b=c[x>>2]|0;a=c[x+4>>2]|0;x=h;w=xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(b|0,a|0,w|0,D|0)|0;w=D;a=h;b=k;y=l;z=ym(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(x|0,w|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+3<<3)|0;w=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+24|0;y=Uw(w|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=s;c[z>>2]=y;c[z+4>>2]=D;z=q+8|0;y=zm(c[z>>2]|0,c[z+4>>2]|0,19,0)|0;z=D;w=q+8|0;x=zm(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=z^D;z=q+8|0;b=ax(c[z>>2]|0,c[z+4>>2]|0,6)|0;z=q+96|0;a=Uw(y^x^b|0,w^D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=D;w=q+32|0;b=zm(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=D;x=q+32|0;y=zm(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=w^D;w=q+32|0;f=ax(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Uw(a|0,z|0,b^y^f|0,x^D|0)|0;x=q+24|0;f=x;y=Uw(c[f>>2]|0,c[f+4>>2]|0,w|0,D|0)|0;w=x;c[w>>2]=y;c[w+4>>2]=D;w=n;y=Am(c[w>>2]|0,c[w+4>>2]|0)|0;w=D;x=n;f=o;b=p;z=Bm(c[x>>2]|0,c[x+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(y|0,w|0,z|0,D|0)|0;z=t;c[z>>2]=b;c[z+4>>2]=D;z=s;b=g;w=Uw(c[b>>2]|0,c[b+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=g;c[z>>2]=w;c[z+4>>2]=D;z=s;w=t;b=Uw(c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=m;c[w>>2]=b;c[w+4>>2]=D;w=l;b=c[w>>2]|0;z=c[w+4>>2]|0;w=g;y=xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Uw(b|0,z|0,y|0,D|0)|0;y=D;z=g;b=h;f=k;x=ym(c[z>>2]|0,c[z+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=Uw(w|0,y|0,x|0,D|0)|0;x=72+((c[r>>2]|0)+4<<3)|0;y=Uw(f|0,D|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=q+32|0;f=Uw(y|0,D|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=s;c[x>>2]=f;c[x+4>>2]=D;x=q+16|0;f=zm(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=D;y=q+16|0;w=zm(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=x^D;x=q+16|0;b=ax(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=q+104|0;z=Uw(f^w^b|0,y^D|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=D;y=q+40|0;b=zm(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=D;w=q+40|0;f=zm(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=y^D;y=q+40|0;a=ax(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Uw(z|0,x|0,b^f^a|0,w^D|0)|0;w=q+32|0;a=w;f=Uw(c[a>>2]|0,c[a+4>>2]|0,y|0,D|0)|0;y=w;c[y>>2]=f;c[y+4>>2]=D;y=m;f=Am(c[y>>2]|0,c[y+4>>2]|0)|0;y=D;w=m;a=n;b=o;x=Bm(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(f|0,y|0,x|0,D|0)|0;x=t;c[x>>2]=b;c[x+4>>2]=D;x=s;b=p;y=Uw(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p;c[x>>2]=y;c[x+4>>2]=D;x=s;y=t;b=Uw(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=l;c[y>>2]=b;c[y+4>>2]=D;y=k;b=c[y>>2]|0;x=c[y+4>>2]|0;y=p;f=xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(b|0,x|0,f|0,D|0)|0;f=D;x=p;b=g;a=h;w=ym(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=Uw(y|0,f|0,w|0,D|0)|0;w=72+((c[r>>2]|0)+5<<3)|0;f=Uw(a|0,D|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=q+40|0;a=Uw(f|0,D|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=s;c[w>>2]=a;c[w+4>>2]=D;w=q+24|0;a=zm(c[w>>2]|0,c[w+4>>2]|0,19,0)|0;w=D;f=q+24|0;y=zm(c[f>>2]|0,c[f+4>>2]|0,61,0)|0;f=w^D;w=q+24|0;b=ax(c[w>>2]|0,c[w+4>>2]|0,6)|0;w=q+112|0;x=Uw(a^y^b|0,f^D|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=D;f=q+48|0;b=zm(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=D;y=q+48|0;a=zm(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=f^D;f=q+48|0;z=ax(c[f>>2]|0,c[f+4>>2]|0,7)|0;f=Uw(x|0,w|0,b^a^z|0,y^D|0)|0;y=q+40|0;z=y;a=Uw(c[z>>2]|0,c[z+4>>2]|0,f|0,D|0)|0;f=y;c[f>>2]=a;c[f+4>>2]=D;f=l;a=Am(c[f>>2]|0,c[f+4>>2]|0)|0;f=D;y=l;z=m;b=n;w=Bm(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(a|0,f|0,w|0,D|0)|0;w=t;c[w>>2]=b;c[w+4>>2]=D;w=s;b=o;f=Uw(c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=f;c[w+4>>2]=D;w=s;f=t;b=Uw(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=k;c[f>>2]=b;c[f+4>>2]=D;f=h;b=c[f>>2]|0;w=c[f+4>>2]|0;f=o;a=xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Uw(b|0,w|0,a|0,D|0)|0;a=D;w=o;b=p;z=g;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(f|0,a|0,y|0,D|0)|0;y=72+((c[r>>2]|0)+6<<3)|0;a=Uw(z|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q+48|0;z=Uw(a|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=s;c[y>>2]=z;c[y+4>>2]=D;y=q+32|0;z=zm(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=D;a=q+32|0;f=zm(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=y^D;y=q+32|0;b=ax(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=q+120|0;w=Uw(z^f^b|0,a^D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=D;a=q+56|0;b=zm(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=D;f=q+56|0;z=zm(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^D;a=q+56|0;x=ax(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Uw(w|0,y|0,b^z^x|0,f^D|0)|0;f=q+48|0;x=f;z=Uw(c[x>>2]|0,c[x+4>>2]|0,a|0,D|0)|0;a=f;c[a>>2]=z;c[a+4>>2]=D;a=k;z=Am(c[a>>2]|0,c[a+4>>2]|0)|0;a=D;f=k;x=l;b=m;y=Bm(c[f>>2]|0,c[f+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,a|0,y|0,D|0)|0;y=t;c[y>>2]=b;c[y+4>>2]=D;y=s;b=n;a=Uw(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=n;c[y>>2]=a;c[y+4>>2]=D;y=s;a=t;b=Uw(c[y>>2]|0,c[y+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=D;a=g;b=c[a>>2]|0;y=c[a+4>>2]|0;a=n;z=xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Uw(b|0,y|0,z|0,D|0)|0;z=D;y=n;b=o;x=p;f=ym(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(a|0,z|0,f|0,D|0)|0;f=72+((c[r>>2]|0)+7<<3)|0;z=Uw(x|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=q+56|0;x=Uw(z|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=s;c[f>>2]=x;c[f+4>>2]=D;f=q+40|0;x=zm(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=D;z=q+40|0;a=zm(c[z>>2]|0,c[z+4>>2]|0,61,0)|0;z=f^D;f=q+40|0;b=ax(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=q;y=Uw(x^a^b|0,z^D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=D;z=q+64|0;b=zm(c[z>>2]|0,c[z+4>>2]|0,1,0)|0;z=D;a=q+64|0;x=zm(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=z^D;z=q+64|0;w=ax(c[z>>2]|0,c[z+4>>2]|0,7)|0;z=Uw(y|0,f|0,b^x^w|0,a^D|0)|0;a=q+56|0;w=a;x=Uw(c[w>>2]|0,c[w+4>>2]|0,z|0,D|0)|0;z=a;c[z>>2]=x;c[z+4>>2]=D;z=h;x=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;a=h;w=k;b=l;f=Bm(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(x|0,z|0,f|0,D|0)|0;f=t;c[f>>2]=b;c[f+4>>2]=D;f=s;b=m;z=Uw(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=m;c[f>>2]=z;c[f+4>>2]=D;f=s;z=t;b=Uw(c[f>>2]|0,c[f+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=g;c[z>>2]=b;c[z+4>>2]=D;z=p;b=c[z>>2]|0;f=c[z+4>>2]|0;z=m;x=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(b|0,f|0,x|0,D|0)|0;x=D;f=m;b=n;w=o;a=ym(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Uw(z|0,x|0,a|0,D|0)|0;a=72+((c[r>>2]|0)+8<<3)|0;x=Uw(w|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=q+64|0;w=Uw(x|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=s;c[a>>2]=w;c[a+4>>2]=D;a=q+48|0;w=zm(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=D;x=q+48|0;z=zm(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=a^D;a=q+48|0;b=ax(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=q+8|0;f=Uw(w^z^b|0,x^D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=D;x=q+72|0;b=zm(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=D;z=q+72|0;w=zm(c[z>>2]|0,c[z+4>>2]|0,8,0)|0;z=x^D;x=q+72|0;y=ax(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Uw(f|0,a|0,b^w^y|0,z^D|0)|0;z=q+64|0;y=z;w=Uw(c[y>>2]|0,c[y+4>>2]|0,x|0,D|0)|0;x=z;c[x>>2]=w;c[x+4>>2]=D;x=g;w=Am(c[x>>2]|0,c[x+4>>2]|0)|0;x=D;z=g;y=h;b=k;a=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(w|0,x|0,a|0,D|0)|0;a=t;c[a>>2]=b;c[a+4>>2]=D;a=s;b=l;x=Uw(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=l;c[a>>2]=x;c[a+4>>2]=D;a=s;x=t;b=Uw(c[a>>2]|0,c[a+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p;c[x>>2]=b;c[x+4>>2]=D;x=o;b=c[x>>2]|0;a=c[x+4>>2]|0;x=l;w=xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(b|0,a|0,w|0,D|0)|0;w=D;a=l;b=m;y=n;z=ym(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(x|0,w|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+9<<3)|0;w=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+72|0;y=Uw(w|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=s;c[z>>2]=y;c[z+4>>2]=D;z=q+56|0;y=zm(c[z>>2]|0,c[z+4>>2]|0,19,0)|0;z=D;w=q+56|0;x=zm(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=z^D;z=q+56|0;b=ax(c[z>>2]|0,c[z+4>>2]|0,6)|0;z=q+16|0;a=Uw(y^x^b|0,w^D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=D;w=q+80|0;b=zm(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=D;x=q+80|0;y=zm(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=w^D;w=q+80|0;f=ax(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Uw(a|0,z|0,b^y^f|0,x^D|0)|0;x=q+72|0;f=x;y=Uw(c[f>>2]|0,c[f+4>>2]|0,w|0,D|0)|0;w=x;c[w>>2]=y;c[w+4>>2]=D;w=p;y=Am(c[w>>2]|0,c[w+4>>2]|0)|0;w=D;x=p;f=g;b=h;z=Bm(c[x>>2]|0,c[x+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(y|0,w|0,z|0,D|0)|0;z=t;c[z>>2]=b;c[z+4>>2]=D;z=s;b=k;w=Uw(c[b>>2]|0,c[b+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=k;c[z>>2]=w;c[z+4>>2]=D;z=s;w=t;b=Uw(c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=b;c[w+4>>2]=D;w=n;b=c[w>>2]|0;z=c[w+4>>2]|0;w=k;y=xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Uw(b|0,z|0,y|0,D|0)|0;y=D;z=k;b=l;f=m;x=ym(c[z>>2]|0,c[z+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=Uw(w|0,y|0,x|0,D|0)|0;x=72+((c[r>>2]|0)+10<<3)|0;y=Uw(f|0,D|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=q+80|0;f=Uw(y|0,D|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=s;c[x>>2]=f;c[x+4>>2]=D;x=q+64|0;f=zm(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=D;y=q+64|0;w=zm(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=x^D;x=q+64|0;b=ax(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=q+24|0;z=Uw(f^w^b|0,y^D|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=D;y=q+88|0;b=zm(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=D;w=q+88|0;f=zm(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=y^D;y=q+88|0;a=ax(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Uw(z|0,x|0,b^f^a|0,w^D|0)|0;w=q+80|0;a=w;f=Uw(c[a>>2]|0,c[a+4>>2]|0,y|0,D|0)|0;y=w;c[y>>2]=f;c[y+4>>2]=D;y=o;f=Am(c[y>>2]|0,c[y+4>>2]|0)|0;y=D;w=o;a=p;b=g;x=Bm(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(f|0,y|0,x|0,D|0)|0;x=t;c[x>>2]=b;c[x+4>>2]=D;x=s;b=h;y=Uw(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=h;c[x>>2]=y;c[x+4>>2]=D;x=s;y=t;b=Uw(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=n;c[y>>2]=b;c[y+4>>2]=D;y=m;b=c[y>>2]|0;x=c[y+4>>2]|0;y=h;f=xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(b|0,x|0,f|0,D|0)|0;f=D;x=h;b=k;a=l;w=ym(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=Uw(y|0,f|0,w|0,D|0)|0;w=72+((c[r>>2]|0)+11<<3)|0;f=Uw(a|0,D|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=q+88|0;a=Uw(f|0,D|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=s;c[w>>2]=a;c[w+4>>2]=D;w=q+72|0;a=zm(c[w>>2]|0,c[w+4>>2]|0,19,0)|0;w=D;f=q+72|0;y=zm(c[f>>2]|0,c[f+4>>2]|0,61,0)|0;f=w^D;w=q+72|0;b=ax(c[w>>2]|0,c[w+4>>2]|0,6)|0;w=q+32|0;x=Uw(a^y^b|0,f^D|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=D;f=q+96|0;b=zm(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=D;y=q+96|0;a=zm(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=f^D;f=q+96|0;z=ax(c[f>>2]|0,c[f+4>>2]|0,7)|0;f=Uw(x|0,w|0,b^a^z|0,y^D|0)|0;y=q+88|0;z=y;a=Uw(c[z>>2]|0,c[z+4>>2]|0,f|0,D|0)|0;f=y;c[f>>2]=a;c[f+4>>2]=D;f=n;a=Am(c[f>>2]|0,c[f+4>>2]|0)|0;f=D;y=n;z=o;b=p;w=Bm(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(a|0,f|0,w|0,D|0)|0;w=t;c[w>>2]=b;c[w+4>>2]=D;w=s;b=g;f=Uw(c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=g;c[w>>2]=f;c[w+4>>2]=D;w=s;f=t;b=Uw(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=m;c[f>>2]=b;c[f+4>>2]=D;f=l;b=c[f>>2]|0;w=c[f+4>>2]|0;f=g;a=xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Uw(b|0,w|0,a|0,D|0)|0;a=D;w=g;b=h;z=k;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(f|0,a|0,y|0,D|0)|0;y=72+((c[r>>2]|0)+12<<3)|0;a=Uw(z|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q+96|0;z=Uw(a|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=s;c[y>>2]=z;c[y+4>>2]=D;y=q+80|0;z=zm(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=D;a=q+80|0;f=zm(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=y^D;y=q+80|0;b=ax(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=q+40|0;w=Uw(z^f^b|0,a^D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=D;a=q+104|0;b=zm(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=D;f=q+104|0;z=zm(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^D;a=q+104|0;x=ax(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Uw(w|0,y|0,b^z^x|0,f^D|0)|0;f=q+96|0;x=f;z=Uw(c[x>>2]|0,c[x+4>>2]|0,a|0,D|0)|0;a=f;c[a>>2]=z;c[a+4>>2]=D;a=m;z=Am(c[a>>2]|0,c[a+4>>2]|0)|0;a=D;f=m;x=n;b=o;y=Bm(c[f>>2]|0,c[f+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,a|0,y|0,D|0)|0;y=t;c[y>>2]=b;c[y+4>>2]=D;y=s;b=p;a=Uw(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p;c[y>>2]=a;c[y+4>>2]=D;y=s;a=t;b=Uw(c[y>>2]|0,c[y+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=l;c[a>>2]=b;c[a+4>>2]=D;a=k;b=c[a>>2]|0;y=c[a+4>>2]|0;a=p;z=xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Uw(b|0,y|0,z|0,D|0)|0;z=D;y=p;b=g;x=h;f=ym(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(a|0,z|0,f|0,D|0)|0;f=72+((c[r>>2]|0)+13<<3)|0;z=Uw(x|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=q+104|0;x=Uw(z|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=s;c[f>>2]=x;c[f+4>>2]=D;f=q+88|0;x=zm(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=D;z=q+88|0;a=zm(c[z>>2]|0,c[z+4>>2]|0,61,0)|0;z=f^D;f=q+88|0;b=ax(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=q+48|0;y=Uw(x^a^b|0,z^D|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=D;z=q+112|0;b=zm(c[z>>2]|0,c[z+4>>2]|0,1,0)|0;z=D;a=q+112|0;x=zm(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=z^D;z=q+112|0;w=ax(c[z>>2]|0,c[z+4>>2]|0,7)|0;z=Uw(y|0,f|0,b^x^w|0,a^D|0)|0;a=q+104|0;w=a;x=Uw(c[w>>2]|0,c[w+4>>2]|0,z|0,D|0)|0;z=a;c[z>>2]=x;c[z+4>>2]=D;z=l;x=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;a=l;w=m;b=n;f=Bm(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(x|0,z|0,f|0,D|0)|0;f=t;c[f>>2]=b;c[f+4>>2]=D;f=s;b=o;z=Uw(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=o;c[f>>2]=z;c[f+4>>2]=D;f=s;z=t;b=Uw(c[f>>2]|0,c[f+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=k;c[z>>2]=b;c[z+4>>2]=D;z=h;b=c[z>>2]|0;f=c[z+4>>2]|0;z=o;x=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(b|0,f|0,x|0,D|0)|0;x=D;f=o;b=p;w=g;a=ym(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Uw(z|0,x|0,a|0,D|0)|0;a=72+((c[r>>2]|0)+14<<3)|0;x=Uw(w|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=q+112|0;w=Uw(x|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=s;c[a>>2]=w;c[a+4>>2]=D;a=q+96|0;w=zm(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=D;x=q+96|0;z=zm(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=a^D;a=q+96|0;b=ax(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=q+56|0;f=Uw(w^z^b|0,x^D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=D;x=q+120|0;b=zm(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=D;z=q+120|0;w=zm(c[z>>2]|0,c[z+4>>2]|0,8,0)|0;z=x^D;x=q+120|0;y=ax(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Uw(f|0,a|0,b^w^y|0,z^D|0)|0;z=q+112|0;y=z;w=Uw(c[y>>2]|0,c[y+4>>2]|0,x|0,D|0)|0;x=z;c[x>>2]=w;c[x+4>>2]=D;x=k;w=Am(c[x>>2]|0,c[x+4>>2]|0)|0;x=D;z=k;y=l;b=m;a=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(w|0,x|0,a|0,D|0)|0;a=t;c[a>>2]=b;c[a+4>>2]=D;a=s;b=n;x=Uw(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=n;c[a>>2]=x;c[a+4>>2]=D;a=s;x=t;b=Uw(c[a>>2]|0,c[a+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=h;c[x>>2]=b;c[x+4>>2]=D;x=g;b=c[x>>2]|0;a=c[x+4>>2]|0;x=n;w=xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Uw(b|0,a|0,w|0,D|0)|0;w=D;a=n;b=o;y=p;z=ym(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(x|0,w|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+15<<3)|0;w=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+120|0;y=Uw(w|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=s;c[z>>2]=y;c[z+4>>2]=D;z=q+104|0;y=zm(c[z>>2]|0,c[z+4>>2]|0,19,0)|0;z=D;w=q+104|0;x=zm(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=z^D;z=q+104|0;b=ax(c[z>>2]|0,c[z+4>>2]|0,6)|0;z=q+64|0;a=Uw(y^x^b|0,w^D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=D;w=q;b=zm(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=D;x=q;y=zm(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=w^D;w=q;f=ax(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Uw(a|0,z|0,b^y^f|0,x^D|0)|0;x=q+120|0;f=x;y=Uw(c[f>>2]|0,c[f+4>>2]|0,w|0,D|0)|0;w=x;c[w>>2]=y;c[w+4>>2]=D;w=h;y=Am(c[w>>2]|0,c[w+4>>2]|0)|0;w=D;x=h;f=k;b=l;z=Bm(c[x>>2]|0,c[x+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(y|0,w|0,z|0,D|0)|0;z=t;c[z>>2]=b;c[z+4>>2]=D;z=s;b=m;w=Uw(c[b>>2]|0,c[b+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=m;c[z>>2]=w;c[z+4>>2]=D;z=s;w=t;b=Uw(c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=g;c[w>>2]=b;c[w+4>>2]=D;c[r>>2]=(c[r>>2]|0)+16}while(1){if((c[r>>2]|0)>=80)break;t=p;s=c[t>>2]|0;w=c[t+4>>2]|0;t=m;b=xm(c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(s|0,w|0,b|0,D|0)|0;b=D;w=m;s=n;z=o;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(t|0,b|0,y|0,D|0)|0;y=72+(c[r>>2]<<3)|0;b=Uw(z|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q;z=Uw(b|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=u;c[y>>2]=z;c[y+4>>2]=D;y=g;z=Am(c[y>>2]|0,c[y+4>>2]|0)|0;y=D;b=g;t=h;s=k;w=Bm(c[b>>2]|0,c[b+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(z|0,y|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=l;y=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=l;c[w>>2]=y;c[w+4>>2]=D;w=u;y=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p;c[y>>2]=s;c[y+4>>2]=D;y=o;s=c[y>>2]|0;w=c[y+4>>2]|0;y=l;z=xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(s|0,w|0,z|0,D|0)|0;z=D;w=l;s=m;t=n;b=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(y|0,z|0,b|0,D|0)|0;b=72+((c[r>>2]|0)+1<<3)|0;z=Uw(t|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=q+8|0;t=Uw(z|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=u;c[b>>2]=t;c[b+4>>2]=D;b=p;t=Am(c[b>>2]|0,c[b+4>>2]|0)|0;b=D;z=p;y=g;s=h;w=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(t|0,b|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=k;b=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=k;c[w>>2]=b;c[w+4>>2]=D;w=u;b=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=o;c[b>>2]=s;c[b+4>>2]=D;b=n;s=c[b>>2]|0;w=c[b+4>>2]|0;b=k;t=xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(s|0,w|0,t|0,D|0)|0;t=D;w=k;s=l;y=m;z=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(b|0,t|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+2<<3)|0;t=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+16|0;y=Uw(t|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=u;c[z>>2]=y;c[z+4>>2]=D;z=o;y=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;t=o;b=p;s=g;w=Bm(c[t>>2]|0,c[t+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(y|0,z|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=h;z=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=h;c[w>>2]=z;c[w+4>>2]=D;w=u;z=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=n;c[z>>2]=s;c[z+4>>2]=D;z=m;s=c[z>>2]|0;w=c[z+4>>2]|0;z=h;y=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(s|0,w|0,y|0,D|0)|0;y=D;w=h;s=k;b=l;t=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,y|0,t|0,D|0)|0;t=72+((c[r>>2]|0)+3<<3)|0;y=Uw(b|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=q+24|0;b=Uw(y|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=u;c[t>>2]=b;c[t+4>>2]=D;t=n;b=Am(c[t>>2]|0,c[t+4>>2]|0)|0;t=D;y=n;z=o;s=p;w=Bm(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(b|0,t|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=g;t=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=g;c[w>>2]=t;c[w+4>>2]=D;w=u;t=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=m;c[t>>2]=s;c[t+4>>2]=D;t=l;s=c[t>>2]|0;w=c[t+4>>2]|0;t=g;b=xm(c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(s|0,w|0,b|0,D|0)|0;b=D;w=g;s=h;z=k;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(t|0,b|0,y|0,D|0)|0;y=72+((c[r>>2]|0)+4<<3)|0;b=Uw(z|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q+32|0;z=Uw(b|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=u;c[y>>2]=z;c[y+4>>2]=D;y=m;z=Am(c[y>>2]|0,c[y+4>>2]|0)|0;y=D;b=m;t=n;s=o;w=Bm(c[b>>2]|0,c[b+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(z|0,y|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=p;y=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=p;c[w>>2]=y;c[w+4>>2]=D;w=u;y=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=l;c[y>>2]=s;c[y+4>>2]=D;y=k;s=c[y>>2]|0;w=c[y+4>>2]|0;y=p;z=xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(s|0,w|0,z|0,D|0)|0;z=D;w=p;s=g;t=h;b=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(y|0,z|0,b|0,D|0)|0;b=72+((c[r>>2]|0)+5<<3)|0;z=Uw(t|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=q+40|0;t=Uw(z|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=u;c[b>>2]=t;c[b+4>>2]=D;b=l;t=Am(c[b>>2]|0,c[b+4>>2]|0)|0;b=D;z=l;y=m;s=n;w=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(t|0,b|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=o;b=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=b;c[w+4>>2]=D;w=u;b=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=k;c[b>>2]=s;c[b+4>>2]=D;b=h;s=c[b>>2]|0;w=c[b+4>>2]|0;b=o;t=xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(s|0,w|0,t|0,D|0)|0;t=D;w=o;s=p;y=g;z=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(b|0,t|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+6<<3)|0;t=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+48|0;y=Uw(t|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=u;c[z>>2]=y;c[z+4>>2]=D;z=k;y=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;t=k;b=l;s=m;w=Bm(c[t>>2]|0,c[t+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(y|0,z|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=n;z=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=n;c[w>>2]=z;c[w+4>>2]=D;w=u;z=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=h;c[z>>2]=s;c[z+4>>2]=D;z=g;s=c[z>>2]|0;w=c[z+4>>2]|0;z=n;y=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(s|0,w|0,y|0,D|0)|0;y=D;w=n;s=o;b=p;t=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,y|0,t|0,D|0)|0;t=72+((c[r>>2]|0)+7<<3)|0;y=Uw(b|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=q+56|0;b=Uw(y|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=u;c[t>>2]=b;c[t+4>>2]=D;t=h;b=Am(c[t>>2]|0,c[t+4>>2]|0)|0;t=D;y=h;z=k;s=l;w=Bm(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(b|0,t|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=m;t=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=m;c[w>>2]=t;c[w+4>>2]=D;w=u;t=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=D;t=p;s=c[t>>2]|0;w=c[t+4>>2]|0;t=m;b=xm(c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(s|0,w|0,b|0,D|0)|0;b=D;w=m;s=n;z=o;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(t|0,b|0,y|0,D|0)|0;y=72+((c[r>>2]|0)+8<<3)|0;b=Uw(z|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q+64|0;z=Uw(b|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=u;c[y>>2]=z;c[y+4>>2]=D;y=g;z=Am(c[y>>2]|0,c[y+4>>2]|0)|0;y=D;b=g;t=h;s=k;w=Bm(c[b>>2]|0,c[b+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(z|0,y|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=l;y=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=l;c[w>>2]=y;c[w+4>>2]=D;w=u;y=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p;c[y>>2]=s;c[y+4>>2]=D;y=o;s=c[y>>2]|0;w=c[y+4>>2]|0;y=l;z=xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(s|0,w|0,z|0,D|0)|0;z=D;w=l;s=m;t=n;b=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(y|0,z|0,b|0,D|0)|0;b=72+((c[r>>2]|0)+9<<3)|0;z=Uw(t|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=q+72|0;t=Uw(z|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=u;c[b>>2]=t;c[b+4>>2]=D;b=p;t=Am(c[b>>2]|0,c[b+4>>2]|0)|0;b=D;z=p;y=g;s=h;w=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(t|0,b|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=k;b=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=k;c[w>>2]=b;c[w+4>>2]=D;w=u;b=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=o;c[b>>2]=s;c[b+4>>2]=D;b=n;s=c[b>>2]|0;w=c[b+4>>2]|0;b=k;t=xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(s|0,w|0,t|0,D|0)|0;t=D;w=k;s=l;y=m;z=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(b|0,t|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+10<<3)|0;t=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+80|0;y=Uw(t|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=u;c[z>>2]=y;c[z+4>>2]=D;z=o;y=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;t=o;b=p;s=g;w=Bm(c[t>>2]|0,c[t+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(y|0,z|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=h;z=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=h;c[w>>2]=z;c[w+4>>2]=D;w=u;z=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=n;c[z>>2]=s;c[z+4>>2]=D;z=m;s=c[z>>2]|0;w=c[z+4>>2]|0;z=h;y=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(s|0,w|0,y|0,D|0)|0;y=D;w=h;s=k;b=l;t=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,y|0,t|0,D|0)|0;t=72+((c[r>>2]|0)+11<<3)|0;y=Uw(b|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=q+88|0;b=Uw(y|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=u;c[t>>2]=b;c[t+4>>2]=D;t=n;b=Am(c[t>>2]|0,c[t+4>>2]|0)|0;t=D;y=n;z=o;s=p;w=Bm(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(b|0,t|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=g;t=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=g;c[w>>2]=t;c[w+4>>2]=D;w=u;t=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=m;c[t>>2]=s;c[t+4>>2]=D;t=l;s=c[t>>2]|0;w=c[t+4>>2]|0;t=g;b=xm(c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(s|0,w|0,b|0,D|0)|0;b=D;w=g;s=h;z=k;y=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(t|0,b|0,y|0,D|0)|0;y=72+((c[r>>2]|0)+12<<3)|0;b=Uw(z|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=q+96|0;z=Uw(b|0,D|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=u;c[y>>2]=z;c[y+4>>2]=D;y=m;z=Am(c[y>>2]|0,c[y+4>>2]|0)|0;y=D;b=m;t=n;s=o;w=Bm(c[b>>2]|0,c[b+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(z|0,y|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=p;y=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=p;c[w>>2]=y;c[w+4>>2]=D;w=u;y=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=l;c[y>>2]=s;c[y+4>>2]=D;y=k;s=c[y>>2]|0;w=c[y+4>>2]|0;y=p;z=xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(s|0,w|0,z|0,D|0)|0;z=D;w=p;s=g;t=h;b=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=Uw(y|0,z|0,b|0,D|0)|0;b=72+((c[r>>2]|0)+13<<3)|0;z=Uw(t|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=q+104|0;t=Uw(z|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=u;c[b>>2]=t;c[b+4>>2]=D;b=l;t=Am(c[b>>2]|0,c[b+4>>2]|0)|0;b=D;z=l;y=m;s=n;w=Bm(c[z>>2]|0,c[z+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(t|0,b|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=o;b=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=b;c[w+4>>2]=D;w=u;b=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=k;c[b>>2]=s;c[b+4>>2]=D;b=h;s=c[b>>2]|0;w=c[b+4>>2]|0;b=o;t=xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(s|0,w|0,t|0,D|0)|0;t=D;w=o;s=p;y=g;z=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Uw(b|0,t|0,z|0,D|0)|0;z=72+((c[r>>2]|0)+14<<3)|0;t=Uw(y|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=q+112|0;y=Uw(t|0,D|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=u;c[z>>2]=y;c[z+4>>2]=D;z=k;y=Am(c[z>>2]|0,c[z+4>>2]|0)|0;z=D;t=k;b=l;s=m;w=Bm(c[t>>2]|0,c[t+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(y|0,z|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=n;z=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=n;c[w>>2]=z;c[w+4>>2]=D;w=u;z=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=h;c[z>>2]=s;c[z+4>>2]=D;z=g;s=c[z>>2]|0;w=c[z+4>>2]|0;z=n;y=xm(c[z>>2]|0,c[z+4>>2]|0)|0;z=Uw(s|0,w|0,y|0,D|0)|0;y=D;w=n;s=o;b=p;t=ym(c[w>>2]|0,c[w+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Uw(z|0,y|0,t|0,D|0)|0;t=72+((c[r>>2]|0)+15<<3)|0;y=Uw(b|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=q+120|0;b=Uw(y|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=u;c[t>>2]=b;c[t+4>>2]=D;t=h;b=Am(c[t>>2]|0,c[t+4>>2]|0)|0;t=D;y=h;z=k;s=l;w=Bm(c[y>>2]|0,c[y+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Uw(b|0,t|0,w|0,D|0)|0;w=v;c[w>>2]=s;c[w+4>>2]=D;w=u;s=m;t=Uw(c[s>>2]|0,c[s+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=m;c[w>>2]=t;c[w+4>>2]=D;w=u;t=v;s=Uw(c[w>>2]|0,c[w+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=D;c[r>>2]=(c[r>>2]|0)+16}r=g;g=c[e>>2]|0;v=g;u=Uw(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=g;c[r>>2]=u;c[r+4>>2]=D;r=h;h=(c[e>>2]|0)+8|0;u=h;g=Uw(c[u>>2]|0,c[u+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=h;c[r>>2]=g;c[r+4>>2]=D;r=k;k=(c[e>>2]|0)+16|0;g=k;h=Uw(c[g>>2]|0,c[g+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=k;c[r>>2]=h;c[r+4>>2]=D;r=l;l=(c[e>>2]|0)+24|0;h=l;k=Uw(c[h>>2]|0,c[h+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=l;c[r>>2]=k;c[r+4>>2]=D;r=m;m=(c[e>>2]|0)+32|0;k=m;l=Uw(c[k>>2]|0,c[k+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=m;c[r>>2]=l;c[r+4>>2]=D;r=n;n=(c[e>>2]|0)+40|0;l=n;m=Uw(c[l>>2]|0,c[l+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=n;c[r>>2]=m;c[r+4>>2]=D;r=o;o=(c[e>>2]|0)+48|0;m=o;n=Uw(c[m>>2]|0,c[m+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=o;c[r>>2]=n;c[r+4>>2]=D;r=p;p=(c[e>>2]|0)+56|0;e=p;n=Uw(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=p;c[r>>2]=n;c[r+4>>2]=D;i=d;return 208}function wm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=gx(d[c[f>>2]>>0]|0|0,0,56)|0;a=D;g=gx(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|D;a=gx(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;k=h|D|(d[(c[f>>2]|0)+3>>0]|0);h=gx(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;l=k|D;k=gx(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;m=l|D;l=gx(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;D=m|D;i=b;return e|g|a|h|k|l|(d[(c[f>>2]|0)+7>>0]|0)|0}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=e;f=zm(c[b>>2]|0,c[b+4>>2]|0,14,0)|0;b=D;a=e;g=zm(c[a>>2]|0,c[a+4>>2]|0,18,0)|0;a=b^D;b=e;e=zm(c[b>>2]|0,c[b+4>>2]|0,41,0)|0;D=a^D;i=d;return f^g^e|0}function ym(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+16|0;l=h+8|0;m=h;n=k;c[n>>2]=a;c[n+4>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;g=k;e=l;l=k;k=m;D=c[g+4>>2]&c[e+4>>2]^~c[l+4>>2]&c[k+4>>2];i=h;return c[g>>2]&c[e>>2]^~c[l>>2]&c[k>>2]|0}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+8|0;h=f;k=g;c[k>>2]=a;c[k+4>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;e=g;b=ax(c[e>>2]|0,c[e+4>>2]|0,c[h>>2]|0)|0;e=D;d=g;g=c[d>>2]|0;k=c[d+4>>2]|0;d=h;h=Rw(64,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=gx(g|0,k|0,h|0)|0;D=e|D;i=f;return b|d|0}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=e;f=zm(c[b>>2]|0,c[b+4>>2]|0,28,0)|0;b=D;a=e;g=zm(c[a>>2]|0,c[a+4>>2]|0,34,0)|0;a=b^D;b=e;e=zm(c[b>>2]|0,c[b+4>>2]|0,39,0)|0;D=a^D;i=d;return f^g^e|0}function Bm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+16|0;l=h+8|0;m=h;n=k;c[n>>2]=a;c[n+4>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;g=k;e=l;f=k;k=m;b=l;l=m;D=c[g+4>>2]&c[e+4>>2]^c[f+4>>2]&c[k+4>>2]^c[b+4>>2]&c[l+4>>2];i=h;return c[g>>2]&c[e>>2]^c[f>>2]&c[k>>2]^c[b>>2]&c[l>>2]|0}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d+16|0;f=d+8|0;g=d+4|0;c[e>>2]=a;c[d+12>>2]=b;c[f>>2]=c[e>>2];c[g>>2]=(c[f>>2]|0)+160;c[d>>2]=pg()|0;e=c[g>>2]|0;c[e>>2]=-1056596264;c[e+4>>2]=-876896931;e=(c[g>>2]|0)+8|0;c[e>>2]=914150663;c[e+4>>2]=1654270250;e=(c[g>>2]|0)+16|0;c[e>>2]=812702999;c[e+4>>2]=-1856437926;e=(c[g>>2]|0)+24|0;c[e>>2]=-150054599;c[e+4>>2]=355462360;e=(c[g>>2]|0)+32|0;c[e>>2]=-4191439;c[e+4>>2]=1731405415;e=(c[g>>2]|0)+40|0;c[e>>2]=1750603025;c[e+4>>2]=-1900787065;e=(c[g>>2]|0)+48|0;c[e>>2]=1694076839;c[e+4>>2]=-619958771;e=(c[g>>2]|0)+56|0;c[e>>2]=-1090891868;c[e+4>>2]=1203062813;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=128;c[(c[f>>2]|0)+152>>2]=34;i=d;return}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e+16|0;g=e+12|0;h=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];c[l>>2]=Km(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;bf(47);cf();i=e;return c[l>>2]|0}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];Jm(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36}function Fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[f>>2];Gm(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36}function Gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+32|0;g=e+28|0;h=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=Hm(c[h>>2]|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+16>>2];c[n>>2]=Hm((c[h>>2]|0)+4|0)|0;c[n>>2]=c[n>>2]^c[(c[f>>2]|0)+4096+20>>2];c[k>>2]=Hm((c[h>>2]|0)+8|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+24>>2];c[l>>2]=Hm((c[h>>2]|0)+12|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+28>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=c[l>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[n>>2]=c[n>>2]^(c[p>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0);c[n>>2]=((c[n>>2]|0)>>>1)+(c[n>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096>>2];Im(c[g>>2]|0,c[k>>2]|0);c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+4>>2];Im((c[g>>2]|0)+4|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+8>>2];Im((c[g>>2]|0)+8|0,c[m>>2]|0);c[n>>2]=c[n>>2]^c[(c[f>>2]|0)+4096+12>>2];Im((c[g>>2]|0)+12|0,c[n>>2]|0);i=e;return}function Hm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+32|0;g=e+28|0;h=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=Hm(c[h>>2]|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096>>2];c[l>>2]=Hm((c[h>>2]|0)+4|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+4>>2];c[m>>2]=Hm((c[h>>2]|0)+8|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+8>>2];c[n>>2]=Hm((c[h>>2]|0)+12|0)|0;c[n>>2]=c[n>>2]^c[(c[f>>2]|0)+4096+12>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[k>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0));c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[n>>2]=(c[n>>2]<<1)+((c[n>>2]|0)>>>31)^c[p>>2];c[o>>2]=c[(c[f>>2]|0)+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[m>>2]|0)>>>24<<2)>>2];c[p>>2]=c[(c[f>>2]|0)+1024+((c[n>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[n>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[n>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[n>>2]|0)>>>24<<2)>>2];c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0));c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31)^c[p>>2];c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+16>>2];Im(c[g>>2]|0,c[m>>2]|0);c[n>>2]=c[n>>2]^c[(c[f>>2]|0)+4096+20>>2];Im((c[g>>2]|0)+4|0,c[n>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+24>>2];Im((c[g>>2]|0)+8|0,c[k>>2]|0);c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+28>>2];Im((c[g>>2]|0)+12|0,c[l>>2]|0);i=e;return}
-function Km(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=g;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+8|0;s=g+4|0;t=g+56|0;u=g+55|0;v=g+54|0;w=g+53|0;x=g+52|0;y=g+51|0;z=g+50|0;A=g+49|0;B=g+48|0;C=g+47|0;D=g+46|0;E=g+45|0;F=g+44|0;G=g+43|0;H=g+42|0;I=g+41|0;J=g+40|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;a[t>>0]=0;a[u>>0]=0;a[v>>0]=0;a[w>>0]=0;a[x>>0]=0;a[y>>0]=0;a[z>>0]=0;a[A>>0]=0;a[B>>0]=0;a[C>>0]=0;a[D>>0]=0;a[E>>0]=0;a[F>>0]=0;a[G>>0]=0;a[H>>0]=0;a[I>>0]=0;if(((c[n>>2]|0)-16|16|0)!=16){c[k>>2]=44;K=c[k>>2]|0;i=g;return K|0}if((c[17740]|0)==0?(c[17740]=1,c[17741]=Lm()|0,c[17741]|0):0){c[h>>2]=c[17741];Ve(43492,h)}if(c[17741]|0){c[k>>2]=50;K=c[k>>2]|0;i=g;return K|0}if(a[c[m>>2]>>0]|0){a[J>>0]=a[43496+((d[c[m>>2]>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+0)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+1)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+45)>>0]}if(a[(c[m>>2]|0)+1>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+1>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+164)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+68)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+138)>>0]}if(a[(c[m>>2]|0)+2>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+2>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+138)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+213)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+191)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+209)>>0]}if(a[(c[m>>2]|0)+3>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+3>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+209)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+127)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+61)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+153)>>0]}if(a[(c[m>>2]|0)+4>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+4>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+153)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+70)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+102)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+150)>>0]}if(a[(c[m>>2]|0)+5>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+5>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+150)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+60)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+91)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+237)>>0]}if(a[(c[m>>2]|0)+6>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+6>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+237)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+55)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+79)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+224)>>0]}if(a[(c[m>>2]|0)+7>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+7>>0]|0)-1)>>0]|0;a[t>>0]=d[t>>0]^d[43751+((d[J>>0]|0)+224)>>0];a[u>>0]=d[u>>0]^d[43751+((d[J>>0]|0)+208)>>0];a[v>>0]=d[v>>0]^d[43751+((d[J>>0]|0)+140)>>0];a[w>>0]=d[w>>0]^d[43751+((d[J>>0]|0)+23)>>0]}if(a[(c[m>>2]|0)+8>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+8>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+0)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+1)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+45)>>0]}if(a[(c[m>>2]|0)+9>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+9>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+164)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+68)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+138)>>0]}if(a[(c[m>>2]|0)+10>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+10>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+138)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+213)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+191)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+209)>>0]}if(a[(c[m>>2]|0)+11>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+11>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+209)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+127)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+61)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+153)>>0]}if(a[(c[m>>2]|0)+12>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+12>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+153)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+70)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+102)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+150)>>0]}if(a[(c[m>>2]|0)+13>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+13>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+150)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+60)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+91)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+237)>>0]}if(a[(c[m>>2]|0)+14>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+14>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+237)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+55)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+79)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+224)>>0]}if(a[(c[m>>2]|0)+15>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+15>>0]|0)-1)>>0]|0;a[x>>0]=d[x>>0]^d[43751+((d[J>>0]|0)+224)>>0];a[y>>0]=d[y>>0]^d[43751+((d[J>>0]|0)+208)>>0];a[z>>0]=d[z>>0]^d[43751+((d[J>>0]|0)+140)>>0];a[A>>0]=d[A>>0]^d[43751+((d[J>>0]|0)+23)>>0]}if((c[n>>2]|0)==32){if(a[(c[m>>2]|0)+16>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+16>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+0)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+1)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+45)>>0]}if(a[(c[m>>2]|0)+17>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+17>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+164)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+68)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+138)>>0]}if(a[(c[m>>2]|0)+18>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+18>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+138)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+213)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+191)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+209)>>0]}if(a[(c[m>>2]|0)+19>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+19>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+209)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+127)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+61)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+153)>>0]}if(a[(c[m>>2]|0)+20>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+20>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+153)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+70)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+102)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+150)>>0]}if(a[(c[m>>2]|0)+21>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+21>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+150)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+60)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+91)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+237)>>0]}if(a[(c[m>>2]|0)+22>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+22>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+237)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+55)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+79)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+224)>>0]}if(a[(c[m>>2]|0)+23>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+23>>0]|0)-1)>>0]|0;a[B>>0]=d[B>>0]^d[43751+((d[J>>0]|0)+224)>>0];a[C>>0]=d[C>>0]^d[43751+((d[J>>0]|0)+208)>>0];a[D>>0]=d[D>>0]^d[43751+((d[J>>0]|0)+140)>>0];a[E>>0]=d[E>>0]^d[43751+((d[J>>0]|0)+23)>>0]}if(a[(c[m>>2]|0)+24>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+24>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+0)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+1)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+45)>>0]}if(a[(c[m>>2]|0)+25>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+25>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+45)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+164)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+68)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+138)>>0]}if(a[(c[m>>2]|0)+26>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+26>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+138)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+213)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+191)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+209)>>0]}if(a[(c[m>>2]|0)+27>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+27>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+209)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+127)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+61)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+153)>>0]}if(a[(c[m>>2]|0)+28>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+28>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+153)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+70)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+102)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+150)>>0]}if(a[(c[m>>2]|0)+29>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+29>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+150)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+60)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+91)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+237)>>0]}if(a[(c[m>>2]|0)+30>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+30>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+237)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+55)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+79)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+224)>>0]}if(a[(c[m>>2]|0)+31>>0]|0){a[J>>0]=a[43496+((d[(c[m>>2]|0)+31>>0]|0)-1)>>0]|0;a[F>>0]=d[F>>0]^d[43751+((d[J>>0]|0)+224)>>0];a[G>>0]=d[G>>0]^d[43751+((d[J>>0]|0)+208)>>0];a[H>>0]=d[H>>0]^d[43751+((d[J>>0]|0)+140)>>0];a[I>>0]=d[I>>0]^d[43751+((d[J>>0]|0)+23)>>0]}c[p>>2]=0;c[o>>2]=0;c[q>>2]=1;while(1){if((c[o>>2]|0)>=256)break;c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[8432+((d[45011+(d[45011+(d[44755+(d[44243+(c[q>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])>>0]^d[B>>0])>>0]^d[F>>0])<<2)>>2];c[(c[l>>2]|0)+1024+(c[o>>2]<<2)>>2]=c[9456+((d[45011+(d[44755+(d[44755+(d[44243+(c[p>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])>>0]^d[C>>0])>>0]^d[G>>0])<<2)>>2];c[(c[l>>2]|0)+2048+(c[o>>2]<<2)>>2]=c[10480+((d[44755+(d[45011+(d[45011+(d[44243+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])>>0]^d[D>>0])>>0]^d[H>>0])<<2)>>2];c[(c[l>>2]|0)+3072+(c[o>>2]<<2)>>2]=c[11504+((d[44755+(d[44755+(d[45011+(d[44243+(c[q>>2]|0)>>0]^d[w>>0])>>0]^d[A>>0])>>0]^d[E>>0])>>0]^d[I>>0])<<2)>>2];c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+2;c[q>>2]=(c[q>>2]|0)+2}c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(117^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(169^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(169^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(117^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(243^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(103^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(103^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(243^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096>>2]=c[r>>2];c[(c[l>>2]|0)+4096+4>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(198^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(179^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(179^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(198^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(244^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(232^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(232^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(244^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096+8>>2]=c[r>>2];c[(c[l>>2]|0)+4096+12>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(219^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(4^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(4^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(219^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(123^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(253^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(253^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(123^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096+16>>2]=c[r>>2];c[(c[l>>2]|0)+4096+20>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(251^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(163^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(163^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(251^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(200^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(118^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(118^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(200^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096+24>>2]=c[r>>2];c[(c[l>>2]|0)+4096+28>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(74^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(154^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(154^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(74^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(211^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(146^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(146^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(211^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128>>2]=c[r>>2];c[(c[l>>2]|0)+4128+4>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(230^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(128^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(128^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(230^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(107^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(120^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(120^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(107^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+8>>2]=c[r>>2];c[(c[l>>2]|0)+4128+12>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(69^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(228^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(228^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(69^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(125^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(221^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(221^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(125^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+16>>2]=c[r>>2];c[(c[l>>2]|0)+4128+20>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(232^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(209^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(209^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(232^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(75^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(56^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(56^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(75^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+24>>2]=c[r>>2];c[(c[l>>2]|0)+4128+28>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(214^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(13^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(13^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(214^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(50^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(198^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(198^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(50^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+32>>2]=c[r>>2];c[(c[l>>2]|0)+4128+36>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(216^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(53^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(53^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(216^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(253^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(152^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(152^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(253^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+40>>2]=c[r>>2];c[(c[l>>2]|0)+4128+44>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(55^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(24^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(24^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(55^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(113^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(247^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(247^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(113^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+48>>2]=c[r>>2];c[(c[l>>2]|0)+4128+52>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(241^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(236^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(236^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(241^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(225^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(108^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(108^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(225^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+56>>2]=c[r>>2];c[(c[l>>2]|0)+4128+60>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(48^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(67^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(67^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(48^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(15^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(117^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(117^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(15^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+64>>2]=c[r>>2];c[(c[l>>2]|0)+4128+68>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(248^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(55^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(55^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(248^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(27^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(38^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(38^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(27^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+72>>2]=c[r>>2];c[(c[l>>2]|0)+4128+76>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(135^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(250^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(250^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(135^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(250^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(19^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(19^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(250^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+80>>2]=c[r>>2];c[(c[l>>2]|0)+4128+84>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(6^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(148^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(148^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(6^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(63^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(72^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(72^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(63^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+88>>2]=c[r>>2];c[(c[l>>2]|0)+4128+92>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(94^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(242^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(242^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(94^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(186^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(208^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(208^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(186^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+96>>2]=c[r>>2];c[(c[l>>2]|0)+4128+100>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(174^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(139^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(139^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(174^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(91^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(48^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(48^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(91^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+104>>2]=c[r>>2];c[(c[l>>2]|0)+4128+108>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(138^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(132^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(132^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(138^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(0^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(84^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(84^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(0^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+112>>2]=c[r>>2];c[(c[l>>2]|0)+4128+116>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(d[45011+(d[44755+(188^d[(c[m>>2]|0)+24>>0])>>0]^d[(c[m>>2]|0)+16>>0])>>0]^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(223^d[(c[m>>2]|0)+25>>0])>>0]^d[(c[m>>2]|0)+17>>0])>>0]^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(223^d[(c[m>>2]|0)+26>>0])>>0]^d[(c[m>>2]|0)+18>>0])>>0]^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(188^d[(c[m>>2]|0)+27>>0])>>0]^d[(c[m>>2]|0)+19>>0])>>0]^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(d[45011+(d[44755+(157^d[(c[m>>2]|0)+28>>0])>>0]^d[(c[m>>2]|0)+20>>0])>>0]^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(d[44755+(d[44755+(35^d[(c[m>>2]|0)+29>>0])>>0]^d[(c[m>>2]|0)+21>>0])>>0]^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(d[45011+(d[45011+(35^d[(c[m>>2]|0)+30>>0])>>0]^d[(c[m>>2]|0)+22>>0])>>0]^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(d[44755+(d[45011+(157^d[(c[m>>2]|0)+31>>0])>>0]^d[(c[m>>2]|0)+23>>0])>>0]^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+120>>2]=c[r>>2];c[(c[l>>2]|0)+4128+124>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23)}else{c[p>>2]=0;c[o>>2]=0;c[q>>2]=1;while(1){if((c[o>>2]|0)>=256)break;c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[8432+((d[45011+(d[44243+(c[p>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])<<2)>>2];c[(c[l>>2]|0)+1024+(c[o>>2]<<2)>>2]=c[9456+((d[45011+(d[44243+(c[q>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])<<2)>>2];c[(c[l>>2]|0)+2048+(c[o>>2]<<2)>>2]=c[10480+((d[44755+(d[44243+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])<<2)>>2];c[(c[l>>2]|0)+3072+(c[o>>2]<<2)>>2]=c[11504+((d[44755+(d[44243+(c[q>>2]|0)>>0]^d[w>>0])>>0]^d[A>>0])<<2)>>2];c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+2;c[q>>2]=(c[q>>2]|0)+2}c[r>>2]=c[8432+((d[45011+(169^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(117^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(169^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(117^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(103^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(243^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(103^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(243^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096>>2]=c[r>>2];c[(c[l>>2]|0)+4096+4>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(179^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(198^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(179^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(198^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(232^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(244^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(232^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(244^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096+8>>2]=c[r>>2];c[(c[l>>2]|0)+4096+12>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(4^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(219^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(4^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(219^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(253^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(123^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(253^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(123^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096+16>>2]=c[r>>2];c[(c[l>>2]|0)+4096+20>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(163^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(251^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(163^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(251^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(118^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(200^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(118^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(200^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4096+24>>2]=c[r>>2];c[(c[l>>2]|0)+4096+28>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(154^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(74^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(154^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(74^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(146^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(211^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(146^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(211^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128>>2]=c[r>>2];c[(c[l>>2]|0)+4128+4>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(128^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(230^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(128^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(230^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(120^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(107^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(120^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(107^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+8>>2]=c[r>>2];c[(c[l>>2]|0)+4128+12>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(228^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(69^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(228^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(69^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(221^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(125^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(221^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(125^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+16>>2]=c[r>>2];c[(c[l>>2]|0)+4128+20>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(209^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(232^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(209^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(232^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(56^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(75^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(56^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(75^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+24>>2]=c[r>>2];c[(c[l>>2]|0)+4128+28>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(13^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(214^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(13^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(214^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(198^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(50^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(198^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(50^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+32>>2]=c[r>>2];c[(c[l>>2]|0)+4128+36>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(53^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(216^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(53^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(216^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(152^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(253^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(152^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(253^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+40>>2]=c[r>>2];c[(c[l>>2]|0)+4128+44>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(24^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(55^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(24^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(55^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(247^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(113^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(247^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(113^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+48>>2]=c[r>>2];c[(c[l>>2]|0)+4128+52>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(236^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(241^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(236^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(241^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(108^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(225^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(108^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(225^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+56>>2]=c[r>>2];c[(c[l>>2]|0)+4128+60>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(67^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(48^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(67^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(48^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(117^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(15^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(117^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(15^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+64>>2]=c[r>>2];c[(c[l>>2]|0)+4128+68>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(55^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(248^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(55^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(248^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(38^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(27^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(38^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(27^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+72>>2]=c[r>>2];c[(c[l>>2]|0)+4128+76>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(250^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(135^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(250^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(135^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(19^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(250^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(19^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(250^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+80>>2]=c[r>>2];c[(c[l>>2]|0)+4128+84>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(148^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(6^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(148^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(6^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(72^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(63^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(72^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(63^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+88>>2]=c[r>>2];c[(c[l>>2]|0)+4128+92>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(242^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(94^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(242^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(94^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(208^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(186^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(208^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(186^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+96>>2]=c[r>>2];c[(c[l>>2]|0)+4128+100>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(139^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(174^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(139^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(174^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(48^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(91^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(48^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(91^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+104>>2]=c[r>>2];c[(c[l>>2]|0)+4128+108>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(132^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(138^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(132^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(138^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(84^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(0^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(84^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(0^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+112>>2]=c[r>>2];c[(c[l>>2]|0)+4128+116>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23);c[r>>2]=c[8432+((d[45011+(223^d[(c[m>>2]|0)+8>>0])>>0]^d[c[m>>2]>>0])<<2)>>2]^c[9456+((d[45011+(188^d[(c[m>>2]|0)+9>>0])>>0]^d[(c[m>>2]|0)+1>>0])<<2)>>2]^c[10480+((d[44755+(223^d[(c[m>>2]|0)+10>>0])>>0]^d[(c[m>>2]|0)+2>>0])<<2)>>2]^c[11504+((d[44755+(188^d[(c[m>>2]|0)+11>>0])>>0]^d[(c[m>>2]|0)+3>>0])<<2)>>2];c[s>>2]=c[8432+((d[45011+(35^d[(c[m>>2]|0)+12>>0])>>0]^d[(c[m>>2]|0)+4>>0])<<2)>>2]^c[9456+((d[45011+(157^d[(c[m>>2]|0)+13>>0])>>0]^d[(c[m>>2]|0)+5>>0])<<2)>>2]^c[10480+((d[44755+(35^d[(c[m>>2]|0)+14>>0])>>0]^d[(c[m>>2]|0)+6>>0])<<2)>>2]^c[11504+((d[44755+(157^d[(c[m>>2]|0)+15>>0])>>0]^d[(c[m>>2]|0)+7>>0])<<2)>>2];c[s>>2]=(c[s>>2]<<8)+((c[s>>2]|0)>>>24);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[l>>2]|0)+4128+120>>2]=c[r>>2];c[(c[l>>2]|0)+4128+124>>2]=(c[s>>2]<<9)+((c[s>>2]|0)>>>23)}c[k>>2]=0;K=c[k>>2]|0;i=g;return K|0}function Lm(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+4288|0;if((i|0)>=(j|0))$(4288);b=a+4264|0;d=a+8|0;e=a+4272|0;f=a;Dm(d,45267,16)|0;Em(d,e,45283)|0;do if(!(Jv(e,45299,16)|0)){Fm(d,e,e)|0;if(Jv(e,45283,16)|0){c[b>>2]=45351;break}Dm(d,45387,32)|0;Em(d,e,45419)|0;if(Jv(e,45435,16)|0){c[b>>2]=45451;break}Fm(d,e,e)|0;if(Jv(e,45419,16)|0){c[b>>2]=45487;break}g=Mm()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}g=Nm()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}g=Om()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}else{c[b>>2]=0;break}}else c[b>>2]=45315;while(0);i=a;return c[b>>2]|0}function Mm(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[a+8>>2]=4;c[a+4>>2]=16;c[a>>2]=4256;b=wr(43484,13,14,8,4,16,4256)|0;i=a;return b|0}function Nm(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=sr(43484,13,14,6,5,16,4256)|0;i=a;return b|0}function Om(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=ur(43484,13,14,7,5,16,4256)|0;i=a;return b|0}function Pm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[h>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[s>>2]=0;while(1){if(!(c[n>>2]|0))break;c[r>>2]=Em(c[o>>2]|0,c[k>>2]|0,c[k>>2]|0)|0;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0)c[s>>2]=c[r>>2];Qm(c[p>>2]|0,c[k>>2]|0,c[q>>2]|0,16);c[p>>2]=(c[p>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}bf(c[s>>2]|0);cf();i=g;return}function Qm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;Rm(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function Rm(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+24|0;u=k+60|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[m>>2];c[t>>2]=c[o>>2];c[k>>2]=3;if(!((c[t>>2]|c[s>>2]|c[q>>2]|c[r>>2])&3)){c[v>>2]=c[q>>2];c[y>>2]=c[s>>2];c[w>>2]=c[r>>2];c[x>>2]=c[t>>2];while(1){if((c[p>>2]|0)>>>0<4)break;o=c[x>>2]|0;c[x>>2]=o+4;c[z>>2]=c[o>>2];o=c[c[w>>2]>>2]|0;m=c[y>>2]|0;c[y>>2]=m+4;n=o^c[m>>2];m=c[v>>2]|0;c[v>>2]=m+4;c[m>>2]=n;n=c[z>>2]|0;m=c[w>>2]|0;c[w>>2]=m+4;c[m>>2]=n;c[p>>2]=(c[p>>2]|0)-4}c[q>>2]=c[v>>2];c[s>>2]=c[y>>2];c[r>>2]=c[w>>2];c[t>>2]=c[x>>2]}while(1){if(!(c[p>>2]|0))break;x=c[t>>2]|0;c[t>>2]=x+1;a[u>>0]=a[x>>0]|0;x=d[c[r>>2]>>0]|0;w=c[s>>2]|0;c[s>>2]=w+1;y=(x^(d[w>>0]|0))&255;w=c[q>>2]|0;c[q>>2]=w+1;a[w>>0]=y;y=a[u>>0]|0;w=c[r>>2]|0;c[r>>2]=w+1;a[w>>0]=y;c[p>>2]=(c[p>>2]|0)+-1}i=k;return}function Sm(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);l=k+56|0;m=k+52|0;n=k+48|0;o=k+44|0;p=k+40|0;q=k+36|0;r=k+32|0;s=k+28|0;t=k+64|0;u=k+24|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+60|0;z=k;A=k+8|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[o>>2];c[v>>2]=0;while(1){if(!(c[p>>2]|0))break;c[u>>2]=Fm(c[q>>2]|0,t,c[s>>2]|0)|0;if((c[u>>2]|0)>>>0>(c[v>>2]|0)>>>0)c[v>>2]=c[u>>2];Rm(c[r>>2]|0,t,c[m>>2]|0,c[s>>2]|0,16);c[s>>2]=(c[s>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=t;c[x>>2]=16;a[y>>0]=0;t=z;c[t>>2]=d[y>>0];c[t+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){t=z;p=ex(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=z;c[t>>2]=p;c[t+4>>2]=D;do{c[A>>2]=c[w>>2];t=z;p=c[t+4>>2]|0;r=c[A>>2]|0;c[r>>2]=c[t>>2];c[r+4>>2]=p;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}bf(c[v>>2]|0);cf();i=k;return}function Tm(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+96|0;if((i|0)>=(j|0))$(96);l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+72|0;u=k+28|0;v=k+24|0;w=k+20|0;x=k+16|0;y=k+12|0;z=k+64|0;A=k;B=k+8|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=c[l>>2];c[r>>2]=c[n>>2];c[s>>2]=c[o>>2];c[v>>2]=0;while(1){if(!(c[p>>2]|0))break;c[u>>2]=Em(c[q>>2]|0,t,c[m>>2]|0)|0;if((c[u>>2]|0)>>>0>(c[v>>2]|0)>>>0)c[v>>2]=c[u>>2];Um(c[r>>2]|0,t,c[s>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[s>>2]=(c[s>>2]|0)+16;c[w>>2]=16;while(1){if((c[w>>2]|0)<=0)break;o=(c[m>>2]|0)+((c[w>>2]|0)-1)|0;a[o>>0]=(a[o>>0]|0)+1<<24>>24;if(a[(c[m>>2]|0)+((c[w>>2]|0)-1)>>0]|0)break;c[w>>2]=(c[w>>2]|0)+-1}c[p>>2]=(c[p>>2]|0)+-1}c[x>>2]=t;c[y>>2]=16;a[z>>0]=0;t=A;c[t>>2]=d[z>>0];c[t+4>>2]=0;while(1){if(!(c[x>>2]&7|0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){t=A;p=ex(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=A;c[t>>2]=p;c[t+4>>2]=D;do{c[B>>2]=c[x>>2];t=A;p=c[t+4>>2]|0;w=c[B>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=p;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}bf(c[v>>2]|0);cf();i=k;return}function Um(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=c[m>>2];c[h>>2]=3;if(!((c[o>>2]|c[p>>2]|c[q>>2])&3)){c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];c[t>>2]=c[q>>2];while(1){if((c[n>>2]|0)>>>0<4)break;m=c[s>>2]|0;c[s>>2]=m+4;l=c[m>>2]|0;m=c[t>>2]|0;c[t>>2]=m+4;k=l^c[m>>2];m=c[r>>2]|0;c[r>>2]=m+4;c[m>>2]=k;c[n>>2]=(c[n>>2]|0)-4}c[o>>2]=c[r>>2];c[p>>2]=c[s>>2];c[q>>2]=c[t>>2]}while(1){if(!(c[n>>2]|0))break;t=c[p>>2]|0;c[p>>2]=t+1;s=d[t>>0]|0;t=c[q>>2]|0;c[q>>2]=t+1;r=(s^(d[t>>0]|0))&255;t=c[o>>2]|0;c[o>>2]=t+1;a[t>>0]=r;c[n>>2]=(c[n>>2]|0)+-1}i=h;return}function Vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17742]=c[e>>2];c[17743]=c[f>>2];i=d;return}function Wm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[17742]|0)){i=f;return}vb[c[17742]&15](c[17743]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}function Xm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;do if(c[d>>2]|0){if((c[d>>2]|0)==1){c[17745]=1;break}if(!(c[17744]|0)){if((c[d>>2]|0)==2){c[17746]=1;break}if((c[d>>2]|0)==3)c[17747]=1}}else c[17744]=1;while(0);i=b;return}function Ym(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(Wg()|0){As(c[d>>2]|0);i=b;return}if(c[17745]|0){$r(c[d>>2]|0);i=b;return}if(c[17746]|0){As(c[d>>2]|0);i=b;return}a=c[d>>2]|0;if(c[17747]|0){ct(a);i=b;return}else{$r(a);i=b;return}}function Zm(){if(Wg()|0){Gs();return}if(c[17745]|0){js();return}if(c[17746]|0){Gs();return}if(c[17747]|0){et();return}else{js();return}}function _m(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)?Wg()|0:0)c[d>>2]=2;else f=4;do if((f|0)==4){if(c[17745]|0){c[d>>2]=1;break}if(c[17746]|0){c[d>>2]=2;break}if(c[17747]|0){c[d>>2]=3;break}else{c[d>>2]=1;break}}while(0);i=b;return c[d>>2]|0}function $m(){if(Wg()|0){Hs();return}else{ks();return}}function an(){if(Wg()|0)return;ls();return}function bn(){if(Wg()|0)return;ms();return}function cn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(Wg()|0){i=b;return}ns(c[d>>2]|0);i=b;return}function dn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(Wg()|0)c[d>>2]=0;else c[d>>2]=os(c[e>>2]|0)|0;i=b;return c[d>>2]|0}function en(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;if(Wg()|0)c[b>>2]=Is()|0;else c[b>>2]=ps()|0;i=a;return c[b>>2]|0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=zf(c[e>>2]|0)|0;gn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function gn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(Wg()|0){Js(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17745]|0){qs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17746]|0){Js(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}d=c[f>>2]|0;f=c[g>>2]|0;g=c[h>>2]|0;if(c[17747]|0){ht(d,f,g);i=e;return}else{qs(d,f,g);i=e;return}}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Bf(c[e>>2]|0)|0;gn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;gn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function kn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(Wg()|0){i=b;return}if(c[17745]|0){xs(c[d>>2]|0);i=b;return}if((c[17746]|0)!=0|(c[17747]|0)!=0){i=b;return}xs(c[d>>2]|0);i=b;return}function ln(){if(Wg()|0)return;if(c[17745]|0){ys();return}if((c[17746]|0)!=0|(c[17747]|0)!=0)return;ys();return}function mn(){if(Wg()|0)return;if(c[17745]|0){zs();return}if((c[17746]|0)!=0|(c[17747]|0)!=0)return;zs();return}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=e+8|0;g=e;h=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;c[h>>2]=b;c[k>>2]=d;if(Wg()|0){Ws(c[h>>2]|0,c[k>>2]|0);i=e;return}Ym(1);c[o>>2]=Ht(12592)|0;if(c[o>>2]|0){c[g>>2]=Bt(c[o>>2]|0)|0;We(45534,g)}c[l>>2]=_v()|0;if(c[17748]|0){if((c[17749]|0)!=(c[l>>2]|0)){gn(72243,8,0);c[17749]=c[l>>2]}}else{c[p>>2]=kb(0)|0;c[q>>2]=c[l>>2];c[17749]=c[l>>2];c[m>>2]=72223;l=c[m>>2]|0;a[l>>0]=a[q>>0]|0;a[l+1>>0]=a[q+1>>0]|0;a[l+2>>0]=a[q+2>>0]|0;a[l+3>>0]=a[q+3>>0]|0;c[m>>2]=(c[m>>2]|0)+4;q=c[m>>2]|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;jn(72243,8,0);c[17748]=1}c[m>>2]=c[h>>2];while(1){if((c[k>>2]|0)>>>0<=0)break;Xl(72223,72223,28);c[n>>2]=(c[k>>2]|0)>>>0>20?20:c[k>>2]|0;Yw(c[m>>2]|0,72223,c[n>>2]|0)|0;c[k>>2]=(c[k>>2]|0)-(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0)}c[o>>2]=It(12592)|0;if(c[o>>2]|0){c[f>>2]=Bt(c[o>>2]|0)|0;We(45579,f)}else{i=e;return}}function on(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+4|0;e=b;c[e>>2]=a;if(Wg()|0)c[d>>2]=Xs(c[e>>2]|0)|0;else c[d>>2]=0;i=b;return c[d>>2]|0}function pn(a,b,d,e,f,g,h,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;if((i|0)>=(j|0))$(48);m=l+32|0;n=l+28|0;o=l+24|0;p=l+20|0;q=l+16|0;r=l+12|0;s=l+8|0;t=l+4|0;u=l;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=k;if(Wg()|0){c[m>>2]=$s(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;v=c[m>>2]|0;i=l;return v|0}else{c[m>>2]=60;v=c[m>>2]|0;i=l;return v|0}return 0}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if(Wg()|0){c[f>>2]=at(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=60;l=c[f>>2]|0;i=e;return l|0}return 0}function rn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(!(Wg()|0)){i=b;return}bt(c[d>>2]|0);i=b;return}function sn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+144|0;if((i|0)>=(j|0))$(144);g=f+8|0;h=f;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+32|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;e=c[k>>2]|0;if(!(c[l>>2]|0)){c[h>>2]=e;Su(p,99,45624,h)|0;af(p,0);i=f;return}c[g>>2]=e;Su(p,99,45629,g)|0;if(c[m>>2]|0){c[n>>2]=Rp(0)|0;c[o>>2]=Rp(0)|0}if(c[m>>2]|0?!(tn(c[n>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0)|0):0){a[p+((hv(p)|0)-1)>>0]=120;af(p,c[n>>2]|0);a[p+((hv(p)|0)-1)>>0]=121;af(p,c[o>>2]|0)}else{af(p,c[c[l>>2]>>2]|0);a[p+((hv(p)|0)-1)>>0]=89;af(p,c[(c[l>>2]|0)+4>>2]|0);a[p+((hv(p)|0)-1)>>0]=90;af(p,c[(c[l>>2]|0)+8>>2]|0)}if(!(c[m>>2]|0)){i=f;return}Tp(c[n>>2]|0);Tp(c[o>>2]|0);i=f;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=f;h=f+40|0;k=f+36|0;l=f+32|0;m=f+28|0;n=f+24|0;o=f+20|0;p=f+16|0;q=f+12|0;r=f+8|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;if(!(vo(c[(c[m>>2]|0)+8>>2]|0,0)|0)){c[h>>2]=-1;s=c[h>>2]|0;i=f;return s|0}switch(c[c[n>>2]>>2]|0){case 0:{c[o>>2]=Rp(0)|0;c[p>>2]=Rp(0)|0;un(c[o>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[n>>2]|0);vn(c[p>>2]|0,c[o>>2]|0,c[o>>2]|0,c[n>>2]|0);if(c[k>>2]|0)vn(c[k>>2]|0,c[c[m>>2]>>2]|0,c[p>>2]|0,c[n>>2]|0);if(c[l>>2]|0){c[q>>2]=Rp(0)|0;vn(c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0);vn(c[l>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[q>>2]|0,c[n>>2]|0);Dp(c[q>>2]|0)}Dp(c[p>>2]|0);Dp(c[o>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=f;return s|0}case 1:{if(c[k>>2]|0)Kp(c[k>>2]|0,c[c[m>>2]>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=45683;c[g+4>>2]=45707;We(45634,g)}c[h>>2]=0;s=c[h>>2]|0;i=f;return s|0}case 2:{c[r>>2]=Rp(0)|0;un(c[r>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[n>>2]|0);if(c[k>>2]|0)vn(c[k>>2]|0,c[c[m>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0);if(c[l>>2]|0)vn(c[l>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[r>>2]|0,c[n>>2]|0);Tp(c[r>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=f;return s|0}default:{c[h>>2]=-1;s=c[h>>2]|0;i=f;return s|0}}return 0}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(Lo(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0){i=e;return}Ve(45718,e);af(45752,c[g>>2]|0);af(45756,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function vn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;Qo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);wn(c[g>>2]|0,c[l>>2]|0);i=f;return}function wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[e>>2]|0;e=c[f>>2]|0;if(c[(c[f>>2]|0)+48+12>>2]|0){Po(b,a,c[e+48+12>>2]|0);i=d;return}else{Mo(b,a,c[e+16>>2]|0);i=d;return}}function xn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[b+4>>2]=a;c[d>>2]=zf(12)|0;yn(c[d>>2]|0);i=b;return c[d>>2]|0}function yn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=Rp(0)|0;c[c[d>>2]>>2]=a;a=Rp(0)|0;c[(c[d>>2]|0)+4>>2]=a;a=Rp(0)|0;c[(c[d>>2]|0)+8>>2]=a;i=b;return}function zn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}An(c[d>>2]|0);vf(c[d>>2]|0);i=b;return}function An(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;Dp(c[c[d>>2]>>2]|0);c[c[d>>2]>>2]=0;Dp(c[(c[d>>2]|0)+4>>2]|0);c[(c[d>>2]|0)+4>>2]=0;Dp(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;i=b;return}function Bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[g>>2]|0))c[g>>2]=xn(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)Kp(e,c[h>>2]|0)|0;else Bp(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[k>>2]|0)Kp(e,c[k>>2]|0)|0;else Bp(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[l>>2]|0){Kp(e,c[l>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}else{Bp(e);m=c[g>>2]|0;i=f;return m|0}return 0}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[g>>2]|0))c[g>>2]=xn(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)Mp(e,c[h>>2]|0);else Bp(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[k>>2]|0)Mp(e,c[k>>2]|0);else Bp(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[l>>2]|0){Mp(e,c[l>>2]|0);m=c[g>>2]|0;i=f;return m|0}else{Bp(e);m=c[g>>2]|0;i=f;return m|0}return 0}function Dn(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3;i=d;return}function En(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);k=h+24|0;l=h+20|0;m=h+16|0;n=h+12|0;o=h+8|0;p=h+4|0;q=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=Cf(1,108)|0;Fn(c[q>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0);i=h;return c[q>>2]|0}function Fn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=k+28|0;m=k+24|0;n=k+20|0;o=k+16|0;p=k+12|0;q=k+8|0;r=k+4|0;s=k;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;do if(!(c[17750]|0))if($a(45760)|0){c[17750]=1;break}else{c[17750]=-1;break}while(0);c[c[l>>2]>>2]=c[m>>2];c[(c[l>>2]|0)+4>>2]=c[n>>2];c[(c[l>>2]|0)+8>>2]=c[o>>2];if((c[n>>2]|0)==1)c[(c[l>>2]|0)+12>>2]=256;else{n=lo(c[p>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=n}n=Ip(c[p>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=n;n=Ip(c[q>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=n;n=Ip(c[r>>2]|0)|0;c[(c[l>>2]|0)+24>>2]=n;if((c[17750]|0)>0)t=No(c[(c[l>>2]|0)+16>>2]|0,0)|0;else t=0;c[(c[l>>2]|0)+48+12>>2]=t;Dn(c[l>>2]|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>>>0>=11)break;t=Lp(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+48+16+(c[s>>2]<<2)>>2]=t;c[s>>2]=(c[s>>2]|0)+1}i=k;return}function Gn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=k+36|0;m=k+32|0;n=k+28|0;o=k+24|0;p=k+20|0;q=k+16|0;r=k+12|0;s=k+8|0;t=k+4|0;u=k;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[c[m>>2]>>2]=0;if(!((c[q>>2]|0)!=0&(c[r>>2]|0)!=0)){c[l>>2]=32816;v=c[l>>2]|0;i=k;return v|0}c[t>>2]=qh(1,108,5)|0;if(c[t>>2]|0){c[u>>2]=rh(c[t>>2]|0,1)|0;Fn(c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[c[m>>2]>>2]=c[t>>2];c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}else{c[l>>2]=Et()|0;v=c[l>>2]|0;i=k;return v|0}return 0}function Hn(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];Oo(c[(c[e>>2]|0)+48+12>>2]|0);Dp(c[(c[e>>2]|0)+16>>2]|0);Dp(c[(c[e>>2]|0)+20>>2]|0);Dp(c[(c[e>>2]|0)+24>>2]|0);zn(c[(c[e>>2]|0)+28>>2]|0);Dp(c[(c[e>>2]|0)+32>>2]|0);Dp(c[(c[e>>2]|0)+36>>2]|0);zn(c[(c[e>>2]|0)+40>>2]|0);Dp(c[(c[e>>2]|0)+44>>2]|0);Dp(c[(c[e>>2]|0)+48+8>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=11)break;Dp(c[(c[e>>2]|0)+48+16+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=b;return}function In(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}Hn(c[d>>2]|0);vf(c[d>>2]|0);i=b;return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=rh(c[g>>2]|0,1)|0;g=_h(c[f>>2]|0,c[k>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function Kn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+12|0;g=e+8|0;h=e;c[f>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[h>>2]=rh(c[g>>2]|0,1)|0;g=$h(c[f>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[c[h>>2]>>2]|0){case 0:{Mn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 1:{Nn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 2:{On(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}default:{i=e;return}}}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(vo(c[(c[g>>2]|0)+4>>2]|0,0)|0?vo(c[(c[g>>2]|0)+8>>2]|0,0)|0:0){d=(Tn(c[h>>2]|0)|0)!=0;b=(c[h>>2]|0)+48+16|0;if(d){Qn(c[b>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);Sn(c[(c[h>>2]|0)+48+16+12>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;a=c[(c[h>>2]|0)+48+16+12>>2]|0;k=Wp(3)|0;vn(d,a,k,c[h>>2]|0);Pn(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);vn(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0)}else{Qn(c[b+12>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);b=c[(c[h>>2]|0)+48+16+12>>2]|0;k=c[(c[h>>2]|0)+48+16+12>>2]|0;a=Wp(3)|0;vn(b,k,a,c[h>>2]|0);a=c[(c[h>>2]|0)+48+16>>2]|0;k=c[(c[g>>2]|0)+8>>2]|0;b=Wp(4)|0;Un(a,k,b,c[h>>2]|0);vn(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[h>>2]|0);Pn(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0)}vn(c[(c[f>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);Rn(c[(c[f>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[h>>2]|0);Qn(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);vn(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);g=c[(c[h>>2]|0)+48+16+16>>2]|0;b=c[(c[h>>2]|0)+48+16+16>>2]|0;k=Wp(4)|0;vn(g,b,k,c[h>>2]|0);Qn(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);Rn(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);Sn(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);Qn(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);k=c[(c[h>>2]|0)+48+16+20>>2]|0;b=c[(c[h>>2]|0)+48+16+4>>2]|0;g=Wp(5)|0;vn(k,b,g,c[h>>2]|0);Sn(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0);vn(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);Sn(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);i=e;return}Op(c[c[f>>2]>>2]|0,1)|0;Op(c[(c[f>>2]|0)+4>>2]|0,1)|0;Op(c[(c[f>>2]|0)+8>>2]|0,0)|0;i=e;return}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;c[e+16>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;c[f>>2]=45801;c[f+4>>2]=45707;We(45775,f)}function On(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Pn(c[(c[h>>2]|0)+48+16>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);Qn(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);Qn(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);Qn(c[(c[h>>2]|0)+48+16+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;b=c[h>>2]|0;if((c[(c[h>>2]|0)+4>>2]|0)==1){Kp(d,c[b+48+16+4>>2]|0)|0;Jp(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0)}else vn(d,c[b+20>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);Pn(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);Qn(c[(c[h>>2]|0)+48+16+20>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);Rn(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);Sn(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);Sn(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);Sn(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);vn(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);Sn(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);vn(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);vn(c[(c[f>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);i=e;return}function Pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;fo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);wn(c[g>>2]|0,c[l>>2]|0);i=f;return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;vn(c[f>>2]|0,c[g>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;uo(c[f>>2]|0,c[g>>2]|0,1);wn(c[f>>2]|0,c[h>>2]|0);i=e;return}function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[f>>2]=e;ho(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);i=f;return}function Tn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d+4|0;f=d;c[e>>2]=b;if(a[(c[e>>2]|0)+48>>0]&1|0){g=c[e>>2]|0;h=g+48|0;k=h+4|0;l=c[k>>2]|0;i=d;return l|0}b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2|1;c[f>>2]=Lp(c[(c[e>>2]|0)+16>>2]|0)|0;go(c[f>>2]|0,c[(c[e>>2]|0)+16>>2]|0,3);b=((wo(c[(c[e>>2]|0)+20>>2]|0,c[f>>2]|0)|0)!=0^1)&1;c[(c[e>>2]|0)+48+4>>2]=b;Dp(c[f>>2]|0);g=c[e>>2]|0;h=g+48|0;k=h+4|0;l=c[k>>2]|0;i=d;return l|0}function Un(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;So(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[l>>2]|0)+16>>2]|0);i=f;return}function Vn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f+12|0;h=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;switch(c[c[l>>2]>>2]|0){case 0:{Wn(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}case 1:{Xn(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}case 2:{Yn(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}default:{i=f;return}}}function Wn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f+20|0;h=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(((wo(c[c[h>>2]>>2]|0,c[c[k>>2]>>2]|0)|0)==0?(wo(c[(c[h>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)==0:0)?(wo(c[(c[h>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0)==0:0){Ln(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);i=f;return}if(!(vo(c[(c[h>>2]|0)+8>>2]|0,0)|0)){Kp(c[c[g>>2]>>2]|0,c[c[k>>2]>>2]|0)|0;Kp(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Kp(c[(c[g>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0;i=f;return}if(!(vo(c[(c[k>>2]|0)+8>>2]|0,0)|0)){Kp(c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0)|0;Kp(c[(c[g>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;Kp(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0)|0;i=f;return}c[m>>2]=((vo(c[(c[h>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;c[n>>2]=((vo(c[(c[k>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;e=c[(c[l>>2]|0)+48+16>>2]|0;if(c[n>>2]|0)Kp(e,c[c[h>>2]>>2]|0)|0;else{Qn(e,c[(c[k>>2]|0)+8>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16>>2]|0,c[(c[l>>2]|0)+48+16>>2]|0,c[c[h>>2]>>2]|0,c[l>>2]|0)}e=c[(c[l>>2]|0)+48+16+4>>2]|0;if(c[m>>2]|0)Kp(e,c[c[k>>2]>>2]|0)|0;else{Qn(e,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+4>>2]|0,c[(c[l>>2]|0)+48+16+4>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0)}Sn(c[(c[l>>2]|0)+48+16+8>>2]|0,c[(c[l>>2]|0)+48+16>>2]|0,c[(c[l>>2]|0)+48+16+4>>2]|0,c[l>>2]|0);e=c[(c[l>>2]|0)+48+16+12>>2]|0;m=c[(c[k>>2]|0)+8>>2]|0;n=Wp(3)|0;Un(e,m,n,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[l>>2]|0);n=c[(c[l>>2]|0)+48+16+16>>2]|0;m=c[(c[h>>2]|0)+8>>2]|0;e=Wp(3)|0;Un(n,m,e,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+16>>2]|0,c[(c[l>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0);Sn(c[(c[l>>2]|0)+48+16+20>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[l>>2]|0)+48+16+16>>2]|0,c[l>>2]|0);e=(vo(c[(c[l>>2]|0)+48+16+8>>2]|0,0)|0)!=0;m=(c[l>>2]|0)+48+16|0;if(e){Pn(c[m+24>>2]|0,c[(c[l>>2]|0)+48+16>>2]|0,c[(c[l>>2]|0)+48+16+4>>2]|0,c[l>>2]|0);Pn(c[(c[l>>2]|0)+48+16+28>>2]|0,c[(c[l>>2]|0)+48+16+12>>2]|0,c[(c[l>>2]|0)+48+16+16>>2]|0,c[l>>2]|0);vn(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[l>>2]|0);vn(c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+48+16+8>>2]|0,c[l>>2]|0);Qn(c[(c[l>>2]|0)+48+16+36>>2]|0,c[(c[l>>2]|0)+48+16+20>>2]|0,c[l>>2]|0);Qn(c[(c[l>>2]|0)+48+16+40>>2]|0,c[(c[l>>2]|0)+48+16+8>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+40>>2]|0,c[(c[l>>2]|0)+48+16+40>>2]|0,c[(c[l>>2]|0)+48+16+24>>2]|0,c[l>>2]|0);Sn(c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+48+16+36>>2]|0,c[(c[l>>2]|0)+48+16+40>>2]|0,c[l>>2]|0);Rn(c[(c[l>>2]|0)+48+16+36>>2]|0,c[c[g>>2]>>2]|0,c[l>>2]|0);Sn(c[(c[l>>2]|0)+48+16+32>>2]|0,c[(c[l>>2]|0)+48+16+40>>2]|0,c[(c[l>>2]|0)+48+16+36>>2]|0,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+32>>2]|0,c[(c[l>>2]|0)+48+16+32>>2]|0,c[(c[l>>2]|0)+48+16+20>>2]|0,c[l>>2]|0);k=c[(c[l>>2]|0)+48+16+36>>2]|0;e=c[(c[l>>2]|0)+48+16+8>>2]|0;n=Wp(3)|0;Un(k,e,n,c[l>>2]|0);vn(c[(c[l>>2]|0)+48+16+36>>2]|0,c[(c[l>>2]|0)+48+16+36>>2]|0,c[(c[l>>2]|0)+48+16+28>>2]|0,c[l>>2]|0);Sn(c[(c[g>>2]|0)+4>>2]|0,c[(c[l>>2]|0)+48+16+32>>2]|0,c[(c[l>>2]|0)+48+16+36>>2]|0,c[l>>2]|0);n=c[(c[g>>2]|0)+4>>2]|0;e=c[(c[g>>2]|0)+4>>2]|0;k=Zn(c[l>>2]|0)|0;vn(n,e,k,c[l>>2]|0);i=f;return}k=(vo(c[m+20>>2]|0,0)|0)!=0;m=c[g>>2]|0;if(k){Op(c[m>>2]|0,1)|0;Op(c[(c[g>>2]|0)+4>>2]|0,1)|0;Op(c[(c[g>>2]|0)+8>>2]|0,0)|0;i=f;return}else{Ln(m,c[h>>2]|0,c[l>>2]|0);i=f;return}}function Xn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;c[f+20>>2]=a;c[f+16>>2]=b;c[f+12>>2]=d;c[f+8>>2]=e;c[g>>2]=45824;c[g+4>>2]=45707;We(45775,g)}
-function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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,Ba=0,Ca=0,Da=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[17827]|0;h=g>>>f;if(h&3|0){k=(h&1^1)+f|0;l=71348+(k<<1<<2)|0;m=l+8|0;n=c[m>>2]|0;o=n+8|0;p=c[o>>2]|0;do if((l|0)!=(p|0)){if(p>>>0<(c[17831]|0)>>>0)Aa();q=p+12|0;if((c[q>>2]|0)==(n|0)){c[q>>2]=l;c[m>>2]=p;break}else Aa()}else c[17827]=g&~(1<<k);while(0);p=k<<3;c[n+4>>2]=p|3;m=n+p+4|0;c[m>>2]=c[m>>2]|1;r=o;i=b;return r|0}m=c[17829]|0;if(e>>>0>m>>>0){if(h|0){p=2<<f;l=h<<f&(p|0-p);p=(l&0-l)+-1|0;l=p>>>12&16;q=p>>>l;p=q>>>5&8;s=q>>>p;q=s>>>2&4;t=s>>>q;s=t>>>1&2;u=t>>>s;t=u>>>1&1;v=(p|l|q|s|t)+(u>>>t)|0;t=71348+(v<<1<<2)|0;u=t+8|0;s=c[u>>2]|0;q=s+8|0;l=c[q>>2]|0;do if((t|0)!=(l|0)){if(l>>>0<(c[17831]|0)>>>0)Aa();p=l+12|0;if((c[p>>2]|0)==(s|0)){c[p>>2]=t;c[u>>2]=l;w=g;break}else Aa()}else{p=g&~(1<<v);c[17827]=p;w=p}while(0);l=(v<<3)-e|0;c[s+4>>2]=e|3;u=s+e|0;c[u+4>>2]=l|1;c[u+l>>2]=l;if(m|0){t=c[17832]|0;f=m>>>3;h=71348+(f<<1<<2)|0;o=1<<f;if(w&o){f=h+8|0;n=c[f>>2]|0;if(n>>>0<(c[17831]|0)>>>0)Aa();else{x=n;y=f}}else{c[17827]=w|o;x=h;y=h+8|0}c[y>>2]=t;c[x+12>>2]=t;c[t+8>>2]=x;c[t+12>>2]=h}c[17829]=l;c[17832]=u;r=q;i=b;return r|0}u=c[17828]|0;if(u){l=(u&0-u)+-1|0;h=l>>>12&16;t=l>>>h;l=t>>>5&8;o=t>>>l;t=o>>>2&4;f=o>>>t;o=f>>>1&2;n=f>>>o;f=n>>>1&1;k=c[71612+((l|h|t|o|f)+(n>>>f)<<2)>>2]|0;f=k;n=k;o=(c[k+4>>2]&-8)-e|0;while(1){k=c[f+16>>2]|0;if(!k){t=c[f+20>>2]|0;if(!t)break;else z=t}else z=k;k=(c[z+4>>2]&-8)-e|0;t=k>>>0<o>>>0;f=z;n=t?z:n;o=t?k:o}f=c[17831]|0;if(n>>>0<f>>>0)Aa();q=n+e|0;if(n>>>0>=q>>>0)Aa();s=c[n+24>>2]|0;v=c[n+12>>2]|0;do if((v|0)==(n|0)){k=n+20|0;t=c[k>>2]|0;if(!t){h=n+16|0;l=c[h>>2]|0;if(!l){A=0;break}else{B=l;C=h}}else{B=t;C=k}while(1){k=B+20|0;t=c[k>>2]|0;if(t|0){B=t;C=k;continue}k=B+16|0;t=c[k>>2]|0;if(!t)break;else{B=t;C=k}}if(C>>>0<f>>>0)Aa();else{c[C>>2]=0;A=B;break}}else{k=c[n+8>>2]|0;if(k>>>0<f>>>0)Aa();t=k+12|0;if((c[t>>2]|0)!=(n|0))Aa();h=v+8|0;if((c[h>>2]|0)==(n|0)){c[t>>2]=v;c[h>>2]=k;A=v;break}else Aa()}while(0);do if(s|0){v=c[n+28>>2]|0;f=71612+(v<<2)|0;if((n|0)==(c[f>>2]|0)){c[f>>2]=A;if(!A){c[17828]=u&~(1<<v);break}}else{if(s>>>0<(c[17831]|0)>>>0)Aa();v=s+16|0;if((c[v>>2]|0)==(n|0))c[v>>2]=A;else c[s+20>>2]=A;if(!A)break}v=c[17831]|0;if(A>>>0<v>>>0)Aa();c[A+24>>2]=s;f=c[n+16>>2]|0;do if(f|0)if(f>>>0<v>>>0)Aa();else{c[A+16>>2]=f;c[f+24>>2]=A;break}while(0);f=c[n+20>>2]|0;if(f|0)if(f>>>0<(c[17831]|0)>>>0)Aa();else{c[A+20>>2]=f;c[f+24>>2]=A;break}}while(0);if(o>>>0<16){s=o+e|0;c[n+4>>2]=s|3;u=n+s+4|0;c[u>>2]=c[u>>2]|1}else{c[n+4>>2]=e|3;c[q+4>>2]=o|1;c[q+o>>2]=o;if(m|0){u=c[17832]|0;s=m>>>3;f=71348+(s<<1<<2)|0;v=1<<s;if(g&v){s=f+8|0;k=c[s>>2]|0;if(k>>>0<(c[17831]|0)>>>0)Aa();else{D=k;E=s}}else{c[17827]=g|v;D=f;E=f+8|0}c[E>>2]=u;c[D+12>>2]=u;c[u+8>>2]=D;c[u+12>>2]=f}c[17829]=o;c[17832]=q}r=n+8|0;i=b;return r|0}else F=e}else F=e}else if(a>>>0<=4294967231){f=a+11|0;u=f&-8;v=c[17828]|0;if(v){s=0-u|0;k=f>>>8;if(k)if(u>>>0>16777215)G=31;else{f=(k+1048320|0)>>>16&8;h=k<<f;k=(h+520192|0)>>>16&4;t=h<<k;h=(t+245760|0)>>>16&2;l=14-(k|f|h)+(t<<h>>>15)|0;G=u>>>(l+7|0)&1|l<<1}else G=0;l=c[71612+(G<<2)>>2]|0;a:do if(!l){H=0;I=0;J=s;K=86}else{h=0;t=s;f=l;k=u<<((G|0)==31?0:25-(G>>>1)|0);p=0;while(1){L=(c[f+4>>2]&-8)-u|0;if(L>>>0<t>>>0)if(!L){M=f;N=0;O=f;K=90;break a}else{P=f;Q=L}else{P=h;Q=t}L=c[f+20>>2]|0;f=c[f+16+(k>>>31<<2)>>2]|0;R=(L|0)==0|(L|0)==(f|0)?p:L;L=(f|0)==0;if(L){H=R;I=P;J=Q;K=86;break}else{h=P;t=Q;k=k<<(L&1^1);p=R}}}while(0);if((K|0)==86){if((H|0)==0&(I|0)==0){l=2<<G;s=v&(l|0-l);if(!s){F=u;break}l=(s&0-s)+-1|0;s=l>>>12&16;e=l>>>s;l=e>>>5&8;n=e>>>l;e=n>>>2&4;q=n>>>e;n=q>>>1&2;o=q>>>n;q=o>>>1&1;S=c[71612+((l|s|e|n|q)+(o>>>q)<<2)>>2]|0}else S=H;if(!S){T=I;U=J}else{M=I;N=J;O=S;K=90}}if((K|0)==90)while(1){K=0;q=(c[O+4>>2]&-8)-u|0;o=q>>>0<N>>>0;n=o?q:N;q=o?O:M;o=c[O+16>>2]|0;if(o|0){M=q;N=n;O=o;K=90;continue}O=c[O+20>>2]|0;if(!O){T=q;U=n;break}else{M=q;N=n;K=90}}if((T|0)!=0?U>>>0<((c[17829]|0)-u|0)>>>0:0){n=c[17831]|0;if(T>>>0<n>>>0)Aa();q=T+u|0;if(T>>>0>=q>>>0)Aa();o=c[T+24>>2]|0;e=c[T+12>>2]|0;do if((e|0)==(T|0)){s=T+20|0;l=c[s>>2]|0;if(!l){g=T+16|0;m=c[g>>2]|0;if(!m){V=0;break}else{W=m;X=g}}else{W=l;X=s}while(1){s=W+20|0;l=c[s>>2]|0;if(l|0){W=l;X=s;continue}s=W+16|0;l=c[s>>2]|0;if(!l)break;else{W=l;X=s}}if(X>>>0<n>>>0)Aa();else{c[X>>2]=0;V=W;break}}else{s=c[T+8>>2]|0;if(s>>>0<n>>>0)Aa();l=s+12|0;if((c[l>>2]|0)!=(T|0))Aa();g=e+8|0;if((c[g>>2]|0)==(T|0)){c[l>>2]=e;c[g>>2]=s;V=e;break}else Aa()}while(0);do if(o){e=c[T+28>>2]|0;n=71612+(e<<2)|0;if((T|0)==(c[n>>2]|0)){c[n>>2]=V;if(!V){n=v&~(1<<e);c[17828]=n;Y=n;break}}else{if(o>>>0<(c[17831]|0)>>>0)Aa();n=o+16|0;if((c[n>>2]|0)==(T|0))c[n>>2]=V;else c[o+20>>2]=V;if(!V){Y=v;break}}n=c[17831]|0;if(V>>>0<n>>>0)Aa();c[V+24>>2]=o;e=c[T+16>>2]|0;do if(e|0)if(e>>>0<n>>>0)Aa();else{c[V+16>>2]=e;c[e+24>>2]=V;break}while(0);e=c[T+20>>2]|0;if(e)if(e>>>0<(c[17831]|0)>>>0)Aa();else{c[V+20>>2]=e;c[e+24>>2]=V;Y=v;break}else Y=v}else Y=v;while(0);do if(U>>>0>=16){c[T+4>>2]=u|3;c[q+4>>2]=U|1;c[q+U>>2]=U;v=U>>>3;if(U>>>0<256){o=71348+(v<<1<<2)|0;e=c[17827]|0;n=1<<v;if(e&n){v=o+8|0;s=c[v>>2]|0;if(s>>>0<(c[17831]|0)>>>0)Aa();else{Z=s;_=v}}else{c[17827]=e|n;Z=o;_=o+8|0}c[_>>2]=q;c[Z+12>>2]=q;c[q+8>>2]=Z;c[q+12>>2]=o;break}o=U>>>8;if(o)if(U>>>0>16777215)aa=31;else{n=(o+1048320|0)>>>16&8;e=o<<n;o=(e+520192|0)>>>16&4;v=e<<o;e=(v+245760|0)>>>16&2;s=14-(o|n|e)+(v<<e>>>15)|0;aa=U>>>(s+7|0)&1|s<<1}else aa=0;s=71612+(aa<<2)|0;c[q+28>>2]=aa;e=q+16|0;c[e+4>>2]=0;c[e>>2]=0;e=1<<aa;if(!(Y&e)){c[17828]=Y|e;c[s>>2]=q;c[q+24>>2]=s;c[q+12>>2]=q;c[q+8>>2]=q;break}e=U<<((aa|0)==31?0:25-(aa>>>1)|0);v=c[s>>2]|0;while(1){if((c[v+4>>2]&-8|0)==(U|0)){K=148;break}ba=v+16+(e>>>31<<2)|0;s=c[ba>>2]|0;if(!s){K=145;break}else{e=e<<1;v=s}}if((K|0)==145)if(ba>>>0<(c[17831]|0)>>>0)Aa();else{c[ba>>2]=q;c[q+24>>2]=v;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((K|0)==148){e=v+8|0;s=c[e>>2]|0;n=c[17831]|0;if(s>>>0>=n>>>0&v>>>0>=n>>>0){c[s+12>>2]=q;c[e>>2]=q;c[q+8>>2]=s;c[q+12>>2]=v;c[q+24>>2]=0;break}else Aa()}}else{s=U+u|0;c[T+4>>2]=s|3;e=T+s+4|0;c[e>>2]=c[e>>2]|1}while(0);r=T+8|0;i=b;return r|0}else F=u}else F=u}else F=-1;while(0);T=c[17829]|0;if(T>>>0>=F>>>0){U=T-F|0;ba=c[17832]|0;if(U>>>0>15){aa=ba+F|0;c[17832]=aa;c[17829]=U;c[aa+4>>2]=U|1;c[aa+U>>2]=U;c[ba+4>>2]=F|3}else{c[17829]=0;c[17832]=0;c[ba+4>>2]=T|3;U=ba+T+4|0;c[U>>2]=c[U>>2]|1}r=ba+8|0;i=b;return r|0}ba=c[17830]|0;if(ba>>>0>F>>>0){U=ba-F|0;c[17830]=U;T=c[17833]|0;aa=T+F|0;c[17833]=aa;c[aa+4>>2]=U|1;c[T+4>>2]=F|3;r=T+8|0;i=b;return r|0}if(!(c[17945]|0)){c[17947]=4096;c[17946]=4096;c[17948]=-1;c[17949]=-1;c[17950]=0;c[17938]=0;T=d&-16^1431655768;c[d>>2]=T;c[17945]=T;ca=4096}else ca=c[17947]|0;T=F+48|0;d=F+47|0;U=ca+d|0;aa=0-ca|0;ca=U&aa;if(ca>>>0<=F>>>0){r=0;i=b;return r|0}Y=c[17937]|0;if(Y|0?(Z=c[17935]|0,_=Z+ca|0,_>>>0<=Z>>>0|_>>>0>Y>>>0):0){r=0;i=b;return r|0}b:do if(!(c[17938]&4)){Y=c[17833]|0;c:do if(Y){_=71756;while(1){Z=c[_>>2]|0;if(Z>>>0<=Y>>>0?(da=_+4|0,(Z+(c[da>>2]|0)|0)>>>0>Y>>>0):0)break;Z=c[_+8>>2]|0;if(!Z){K=172;break c}else _=Z}v=U-ba&aa;if(v>>>0<2147483647){Z=fx(v|0)|0;if((Z|0)==((c[_>>2]|0)+(c[da>>2]|0)|0)){if((Z|0)!=(-1|0)){ea=v;fa=Z;K=190;break b}}else{ga=Z;ha=v;K=180}}}else K=172;while(0);do if(((K|0)==172?(Y=fx(0)|0,(Y|0)!=(-1|0)):0)?(u=Y,v=c[17946]|0,Z=v+-1|0,V=((Z&u|0)==0?0:(Z+u&0-v)-u|0)+ca|0,u=c[17935]|0,v=V+u|0,V>>>0>F>>>0&V>>>0<2147483647):0){Z=c[17937]|0;if(Z|0?v>>>0<=u>>>0|v>>>0>Z>>>0:0)break;Z=fx(V|0)|0;if((Z|0)==(Y|0)){ea=V;fa=Y;K=190;break b}else{ga=Z;ha=V;K=180}}while(0);d:do if((K|0)==180){V=0-ha|0;do if(T>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))?(Z=c[17947]|0,Y=d-ha+Z&0-Z,Y>>>0<2147483647):0)if((fx(Y|0)|0)==(-1|0)){fx(V|0)|0;break d}else{ia=Y+ha|0;break}else ia=ha;while(0);if((ga|0)!=(-1|0)){ea=ia;fa=ga;K=190;break b}}while(0);c[17938]=c[17938]|4;K=187}else K=187;while(0);if((((K|0)==187?ca>>>0<2147483647:0)?(ga=fx(ca|0)|0,ca=fx(0)|0,ga>>>0<ca>>>0&((ga|0)!=(-1|0)&(ca|0)!=(-1|0))):0)?(ia=ca-ga|0,ia>>>0>(F+40|0)>>>0):0){ea=ia;fa=ga;K=190}if((K|0)==190){ga=(c[17935]|0)+ea|0;c[17935]=ga;if(ga>>>0>(c[17936]|0)>>>0)c[17936]=ga;ga=c[17833]|0;do if(ga){ia=71756;while(1){ja=c[ia>>2]|0;ka=ia+4|0;la=c[ka>>2]|0;if((fa|0)==(ja+la|0)){K=200;break}ca=c[ia+8>>2]|0;if(!ca)break;else ia=ca}if(((K|0)==200?(c[ia+12>>2]&8|0)==0:0)?ga>>>0<fa>>>0&ga>>>0>=ja>>>0:0){c[ka>>2]=la+ea;ca=ga+8|0;ha=(ca&7|0)==0?0:0-ca&7;ca=ga+ha|0;d=ea-ha+(c[17830]|0)|0;c[17833]=ca;c[17830]=d;c[ca+4>>2]=d|1;c[ca+d+4>>2]=40;c[17834]=c[17949];break}d=c[17831]|0;if(fa>>>0<d>>>0){c[17831]=fa;ma=fa}else ma=d;d=fa+ea|0;ca=71756;while(1){if((c[ca>>2]|0)==(d|0)){K=208;break}ha=c[ca+8>>2]|0;if(!ha){na=71756;break}else ca=ha}if((K|0)==208)if(!(c[ca+12>>2]&8)){c[ca>>2]=fa;ia=ca+4|0;c[ia>>2]=(c[ia>>2]|0)+ea;ia=fa+8|0;ha=fa+((ia&7|0)==0?0:0-ia&7)|0;ia=d+8|0;T=d+((ia&7|0)==0?0:0-ia&7)|0;ia=ha+F|0;da=T-ha-F|0;c[ha+4>>2]=F|3;do if((T|0)!=(ga|0)){if((T|0)==(c[17832]|0)){aa=(c[17829]|0)+da|0;c[17829]=aa;c[17832]=ia;c[ia+4>>2]=aa|1;c[ia+aa>>2]=aa;break}aa=c[T+4>>2]|0;if((aa&3|0)==1){ba=aa&-8;U=aa>>>3;e:do if(aa>>>0>=256){V=c[T+24>>2]|0;_=c[T+12>>2]|0;do if((_|0)==(T|0)){Y=T+16|0;Z=Y+4|0;v=c[Z>>2]|0;if(!v){u=c[Y>>2]|0;if(!u){oa=0;break}else{pa=u;qa=Y}}else{pa=v;qa=Z}while(1){Z=pa+20|0;v=c[Z>>2]|0;if(v|0){pa=v;qa=Z;continue}Z=pa+16|0;v=c[Z>>2]|0;if(!v)break;else{pa=v;qa=Z}}if(qa>>>0<ma>>>0)Aa();else{c[qa>>2]=0;oa=pa;break}}else{Z=c[T+8>>2]|0;if(Z>>>0<ma>>>0)Aa();v=Z+12|0;if((c[v>>2]|0)!=(T|0))Aa();Y=_+8|0;if((c[Y>>2]|0)==(T|0)){c[v>>2]=_;c[Y>>2]=Z;oa=_;break}else Aa()}while(0);if(!V)break;_=c[T+28>>2]|0;Z=71612+(_<<2)|0;do if((T|0)!=(c[Z>>2]|0)){if(V>>>0<(c[17831]|0)>>>0)Aa();Y=V+16|0;if((c[Y>>2]|0)==(T|0))c[Y>>2]=oa;else c[V+20>>2]=oa;if(!oa)break e}else{c[Z>>2]=oa;if(oa|0)break;c[17828]=c[17828]&~(1<<_);break e}while(0);_=c[17831]|0;if(oa>>>0<_>>>0)Aa();c[oa+24>>2]=V;Z=T+16|0;Y=c[Z>>2]|0;do if(Y|0)if(Y>>>0<_>>>0)Aa();else{c[oa+16>>2]=Y;c[Y+24>>2]=oa;break}while(0);Y=c[Z+4>>2]|0;if(!Y)break;if(Y>>>0<(c[17831]|0)>>>0)Aa();else{c[oa+20>>2]=Y;c[Y+24>>2]=oa;break}}else{Y=c[T+8>>2]|0;_=c[T+12>>2]|0;V=71348+(U<<1<<2)|0;do if((Y|0)!=(V|0)){if(Y>>>0<ma>>>0)Aa();if((c[Y+12>>2]|0)==(T|0))break;Aa()}while(0);if((_|0)==(Y|0)){c[17827]=c[17827]&~(1<<U);break}do if((_|0)==(V|0))ra=_+8|0;else{if(_>>>0<ma>>>0)Aa();Z=_+8|0;if((c[Z>>2]|0)==(T|0)){ra=Z;break}Aa()}while(0);c[Y+12>>2]=_;c[ra>>2]=Y}while(0);sa=T+ba|0;ta=ba+da|0}else{sa=T;ta=da}U=sa+4|0;c[U>>2]=c[U>>2]&-2;c[ia+4>>2]=ta|1;c[ia+ta>>2]=ta;U=ta>>>3;if(ta>>>0<256){aa=71348+(U<<1<<2)|0;V=c[17827]|0;Z=1<<U;do if(!(V&Z)){c[17827]=V|Z;ua=aa;va=aa+8|0}else{U=aa+8|0;v=c[U>>2]|0;if(v>>>0>=(c[17831]|0)>>>0){ua=v;va=U;break}Aa()}while(0);c[va>>2]=ia;c[ua+12>>2]=ia;c[ia+8>>2]=ua;c[ia+12>>2]=aa;break}Z=ta>>>8;do if(!Z)wa=0;else{if(ta>>>0>16777215){wa=31;break}V=(Z+1048320|0)>>>16&8;ba=Z<<V;U=(ba+520192|0)>>>16&4;v=ba<<U;ba=(v+245760|0)>>>16&2;u=14-(U|V|ba)+(v<<ba>>>15)|0;wa=ta>>>(u+7|0)&1|u<<1}while(0);Z=71612+(wa<<2)|0;c[ia+28>>2]=wa;aa=ia+16|0;c[aa+4>>2]=0;c[aa>>2]=0;aa=c[17828]|0;u=1<<wa;if(!(aa&u)){c[17828]=aa|u;c[Z>>2]=ia;c[ia+24>>2]=Z;c[ia+12>>2]=ia;c[ia+8>>2]=ia;break}u=ta<<((wa|0)==31?0:25-(wa>>>1)|0);aa=c[Z>>2]|0;while(1){if((c[aa+4>>2]&-8|0)==(ta|0)){K=278;break}xa=aa+16+(u>>>31<<2)|0;Z=c[xa>>2]|0;if(!Z){K=275;break}else{u=u<<1;aa=Z}}if((K|0)==275)if(xa>>>0<(c[17831]|0)>>>0)Aa();else{c[xa>>2]=ia;c[ia+24>>2]=aa;c[ia+12>>2]=ia;c[ia+8>>2]=ia;break}else if((K|0)==278){u=aa+8|0;Z=c[u>>2]|0;ba=c[17831]|0;if(Z>>>0>=ba>>>0&aa>>>0>=ba>>>0){c[Z+12>>2]=ia;c[u>>2]=ia;c[ia+8>>2]=Z;c[ia+12>>2]=aa;c[ia+24>>2]=0;break}else Aa()}}else{Z=(c[17830]|0)+da|0;c[17830]=Z;c[17833]=ia;c[ia+4>>2]=Z|1}while(0);r=ha+8|0;i=b;return r|0}else na=71756;while(1){ia=c[na>>2]|0;if(ia>>>0<=ga>>>0?(ya=ia+(c[na+4>>2]|0)|0,ya>>>0>ga>>>0):0)break;na=c[na+8>>2]|0}ha=ya+-47|0;ia=ha+8|0;da=ha+((ia&7|0)==0?0:0-ia&7)|0;ia=ga+16|0;ha=da>>>0<ia>>>0?ga:da;da=ha+8|0;T=fa+8|0;d=(T&7|0)==0?0:0-T&7;T=fa+d|0;ca=ea+-40-d|0;c[17833]=T;c[17830]=ca;c[T+4>>2]=ca|1;c[T+ca+4>>2]=40;c[17834]=c[17949];ca=ha+4|0;c[ca>>2]=27;c[da>>2]=c[17939];c[da+4>>2]=c[17940];c[da+8>>2]=c[17941];c[da+12>>2]=c[17942];c[17939]=fa;c[17940]=ea;c[17942]=0;c[17941]=da;da=ha+24|0;do{da=da+4|0;c[da>>2]=7}while((da+4|0)>>>0<ya>>>0);if((ha|0)!=(ga|0)){da=ha-ga|0;c[ca>>2]=c[ca>>2]&-2;c[ga+4>>2]=da|1;c[ha>>2]=da;T=da>>>3;if(da>>>0<256){d=71348+(T<<1<<2)|0;Z=c[17827]|0;u=1<<T;if(Z&u){T=d+8|0;ba=c[T>>2]|0;if(ba>>>0<(c[17831]|0)>>>0)Aa();else{za=ba;Ba=T}}else{c[17827]=Z|u;za=d;Ba=d+8|0}c[Ba>>2]=ga;c[za+12>>2]=ga;c[ga+8>>2]=za;c[ga+12>>2]=d;break}d=da>>>8;if(d)if(da>>>0>16777215)Ca=31;else{u=(d+1048320|0)>>>16&8;Z=d<<u;d=(Z+520192|0)>>>16&4;T=Z<<d;Z=(T+245760|0)>>>16&2;ba=14-(d|u|Z)+(T<<Z>>>15)|0;Ca=da>>>(ba+7|0)&1|ba<<1}else Ca=0;ba=71612+(Ca<<2)|0;c[ga+28>>2]=Ca;c[ga+20>>2]=0;c[ia>>2]=0;Z=c[17828]|0;T=1<<Ca;if(!(Z&T)){c[17828]=Z|T;c[ba>>2]=ga;c[ga+24>>2]=ba;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}T=da<<((Ca|0)==31?0:25-(Ca>>>1)|0);Z=c[ba>>2]|0;while(1){if((c[Z+4>>2]&-8|0)==(da|0)){K=304;break}Da=Z+16+(T>>>31<<2)|0;ba=c[Da>>2]|0;if(!ba){K=301;break}else{T=T<<1;Z=ba}}if((K|0)==301)if(Da>>>0<(c[17831]|0)>>>0)Aa();else{c[Da>>2]=ga;c[ga+24>>2]=Z;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==304){T=Z+8|0;da=c[T>>2]|0;ia=c[17831]|0;if(da>>>0>=ia>>>0&Z>>>0>=ia>>>0){c[da+12>>2]=ga;c[T>>2]=ga;c[ga+8>>2]=da;c[ga+12>>2]=Z;c[ga+24>>2]=0;break}else Aa()}}}else{da=c[17831]|0;if((da|0)==0|fa>>>0<da>>>0)c[17831]=fa;c[17939]=fa;c[17940]=ea;c[17942]=0;c[17836]=c[17945];c[17835]=-1;da=0;do{T=71348+(da<<1<<2)|0;c[T+12>>2]=T;c[T+8>>2]=T;da=da+1|0}while((da|0)!=32);da=fa+8|0;Z=(da&7|0)==0?0:0-da&7;da=fa+Z|0;T=ea+-40-Z|0;c[17833]=da;c[17830]=T;c[da+4>>2]=T|1;c[da+T+4>>2]=40;c[17834]=c[17949]}while(0);ea=c[17830]|0;if(ea>>>0>F>>>0){fa=ea-F|0;c[17830]=fa;ea=c[17833]|0;ga=ea+F|0;c[17833]=ga;c[ga+4>>2]=fa|1;c[ea+4>>2]=F|3;r=ea+8|0;i=b;return r|0}}c[(xu()|0)>>2]=12;r=0;i=b;return r|0}function Lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;if(!a)return;b=a+-8|0;d=c[17831]|0;if(b>>>0<d>>>0)Aa();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)Aa();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)Aa();if((i|0)==(c[17832]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[17829]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=71348+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)Aa();if((c[h+12>>2]|0)!=(i|0))Aa()}if((k|0)==(h|0)){c[17827]=c[17827]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)Aa();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else Aa()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q)break;else{t=q;u=l}}if(u>>>0<d>>>0)Aa();else{c[u>>2]=0;s=t;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)Aa();q=l+12|0;if((c[q>>2]|0)!=(i|0))Aa();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else Aa()}while(0);if(h){k=c[i+28>>2]|0;l=71612+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[17828]=c[17828]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[17831]|0)>>>0)Aa();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[17831]|0;if(s>>>0<k>>>0)Aa();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0<k>>>0)Aa();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[17831]|0)>>>0)Aa();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)Aa();f=g+4|0;b=c[f>>2]|0;if(!(b&1))Aa();if(!(b&2)){if((g|0)==(c[17833]|0)){s=(c[17830]|0)+n|0;c[17830]=s;c[17833]=m;c[m+4>>2]=s|1;if((m|0)!=(c[17832]|0))return;c[17832]=0;c[17829]=0;return}if((g|0)==(c[17832]|0)){s=(c[17829]|0)+n|0;c[17829]=s;c[17832]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){t=c[g+24>>2]|0;u=c[g+12>>2]|0;do if((u|0)==(g|0)){p=g+16|0;a=p+4|0;e=c[a>>2]|0;if(!e){o=c[p>>2]|0;if(!o){v=0;break}else{w=o;x=p}}else{w=e;x=a}while(1){a=w+20|0;e=c[a>>2]|0;if(e|0){w=e;x=a;continue}a=w+16|0;e=c[a>>2]|0;if(!e)break;else{w=e;x=a}}if(x>>>0<(c[17831]|0)>>>0)Aa();else{c[x>>2]=0;v=w;break}}else{a=c[g+8>>2]|0;if(a>>>0<(c[17831]|0)>>>0)Aa();e=a+12|0;if((c[e>>2]|0)!=(g|0))Aa();p=u+8|0;if((c[p>>2]|0)==(g|0)){c[e>>2]=u;c[p>>2]=a;v=u;break}else Aa()}while(0);if(t|0){u=c[g+28>>2]|0;j=71612+(u<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=v;if(!v){c[17828]=c[17828]&~(1<<u);break}}else{if(t>>>0<(c[17831]|0)>>>0)Aa();u=t+16|0;if((c[u>>2]|0)==(g|0))c[u>>2]=v;else c[t+20>>2]=v;if(!v)break}u=c[17831]|0;if(v>>>0<u>>>0)Aa();c[v+24>>2]=t;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<u>>>0)Aa();else{c[v+16>>2]=i;c[i+24>>2]=v;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[17831]|0)>>>0)Aa();else{c[v+20>>2]=i;c[i+24>>2]=v;break}}}else{i=c[g+8>>2]|0;u=c[g+12>>2]|0;t=71348+(d<<1<<2)|0;if((i|0)!=(t|0)){if(i>>>0<(c[17831]|0)>>>0)Aa();if((c[i+12>>2]|0)!=(g|0))Aa()}if((u|0)==(i|0)){c[17827]=c[17827]&~(1<<d);break}if((u|0)!=(t|0)){if(u>>>0<(c[17831]|0)>>>0)Aa();t=u+8|0;if((c[t>>2]|0)==(g|0))y=t;else Aa()}else y=u+8|0;c[i+12>>2]=u;c[y>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[17832]|0)){c[17829]=s;return}else z=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;z=n}n=z>>>3;if(z>>>0<256){b=71348+(n<<1<<2)|0;f=c[17827]|0;s=1<<n;if(f&s){n=b+8|0;y=c[n>>2]|0;if(y>>>0<(c[17831]|0)>>>0)Aa();else{A=y;B=n}}else{c[17827]=f|s;A=b;B=b+8|0}c[B>>2]=m;c[A+12>>2]=m;c[m+8>>2]=A;c[m+12>>2]=b;return}b=z>>>8;if(b)if(z>>>0>16777215)C=31;else{A=(b+1048320|0)>>>16&8;B=b<<A;b=(B+520192|0)>>>16&4;s=B<<b;B=(s+245760|0)>>>16&2;f=14-(b|A|B)+(s<<B>>>15)|0;C=z>>>(f+7|0)&1|f<<1}else C=0;f=71612+(C<<2)|0;c[m+28>>2]=C;c[m+20>>2]=0;c[m+16>>2]=0;B=c[17828]|0;s=1<<C;do if(B&s){A=z<<((C|0)==31?0:25-(C>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(z|0)){D=130;break}E=b+16+(A>>>31<<2)|0;n=c[E>>2]|0;if(!n){D=127;break}else{A=A<<1;b=n}}if((D|0)==127)if(E>>>0<(c[17831]|0)>>>0)Aa();else{c[E>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((D|0)==130){A=b+8|0;j=c[A>>2]|0;n=c[17831]|0;if(j>>>0>=n>>>0&b>>>0>=n>>>0){c[j+12>>2]=m;c[A>>2]=m;c[m+8>>2]=j;c[m+12>>2]=b;c[m+24>>2]=0;break}else Aa()}}else{c[17828]=B|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[17835]|0)+-1|0;c[17835]=m;if(!m)F=71764;else return;while(1){m=c[F>>2]|0;if(!m)break;else F=m+8|0}c[17835]=-1;return}function Mw(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Kw(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Sw(d|0,0,e|0)|0;return d|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Kw(b)|0;return d|0}if(b>>>0>4294967231){c[(xu()|0)>>2]=12;d=0;return d|0}e=Ow(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Kw(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Yw(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Lw(a);d=e;return d|0}function Ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[17831]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))Aa();j=c[g+4>>2]|0;if(!(j&1))Aa();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[17947]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;Pw(l,i);k=a;return k|0}if((g|0)==(c[17833]|0)){i=(c[17830]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[17833]=i;c[17830]=l;k=a;return k|0}if((g|0)==(c[17832]|0)){l=(c[17829]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[17829]=q;c[17832]=p;k=a;return k|0}if(j&2|0){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0<b>>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n|0){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n)break;else{t=n;u=o}}if(u>>>0<h>>>0)Aa();else{c[u>>2]=0;s=t;break}}else{o=c[g+8>>2]|0;if(o>>>0<h>>>0)Aa();n=o+12|0;if((c[n>>2]|0)!=(g|0))Aa();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else Aa()}while(0);if(i|0){l=c[g+28>>2]|0;o=71612+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[17828]=c[17828]&~(1<<l);break}}else{if(i>>>0<(c[17831]|0)>>>0)Aa();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[17831]|0;if(s>>>0<l>>>0)Aa();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m|0)if(m>>>0<l>>>0)Aa();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m|0)if(m>>>0<(c[17831]|0)>>>0)Aa();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=71348+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)Aa();if((c[m+12>>2]|0)!=(g|0))Aa()}if((l|0)==(m|0)){c[17827]=c[17827]&~(1<<q);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)Aa();i=l+8|0;if((c[i>>2]|0)==(g|0))v=i;else Aa()}else v=l+8|0;c[m+12>>2]=l;c[v>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;v=a+p+4|0;c[v>>2]=c[v>>2]|1;k=a;return k|0}else{v=a+b|0;c[d>>2]=e&1|b|2;c[v+4>>2]=f|3;b=v+f+4|0;c[b>>2]=c[b>>2]|1;Pw(v,f);k=a;return k|0}return 0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[17831]|0;if(g>>>0<i>>>0)Aa();if((g|0)==(c[17832]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[17829]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=71348+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)Aa();if((c[f+12>>2]|0)!=(g|0))Aa()}if((j|0)==(f|0)){c[17827]=c[17827]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)Aa();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else Aa()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p)break;else{s=p;t=k}}if(t>>>0<i>>>0)Aa();else{c[t>>2]=0;r=s;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)Aa();p=k+12|0;if((c[p>>2]|0)!=(g|0))Aa();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else Aa()}while(0);if(f){j=c[g+28>>2]|0;i=71612+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[17828]=c[17828]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[17831]|0)>>>0)Aa();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[17831]|0;if(r>>>0<j>>>0)Aa();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)Aa();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[17831]|0)>>>0)Aa();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[17831]|0;if(d>>>0<b>>>0)Aa();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[17833]|0)){s=(c[17830]|0)+m|0;c[17830]=s;c[17833]=l;c[l+4>>2]=s|1;if((l|0)!=(c[17832]|0))return;c[17832]=0;c[17829]=0;return}if((d|0)==(c[17832]|0)){s=(c[17829]|0)+m|0;c[17829]=s;c[17832]=l;c[l+4>>2]=s|1;c[l+s>>2]=s;return}s=(r&-8)+m|0;t=r>>>3;do if(r>>>0>=256){o=c[d+24>>2]|0;e=c[d+12>>2]|0;do if((e|0)==(d|0)){k=d+16|0;j=k+4|0;f=c[j>>2]|0;if(!f){n=c[k>>2]|0;if(!n){u=0;break}else{v=n;w=k}}else{v=f;w=j}while(1){j=v+20|0;f=c[j>>2]|0;if(f|0){v=f;w=j;continue}j=v+16|0;f=c[j>>2]|0;if(!f)break;else{v=f;w=j}}if(w>>>0<b>>>0)Aa();else{c[w>>2]=0;u=v;break}}else{j=c[d+8>>2]|0;if(j>>>0<b>>>0)Aa();f=j+12|0;if((c[f>>2]|0)!=(d|0))Aa();k=e+8|0;if((c[k>>2]|0)==(d|0)){c[f>>2]=e;c[k>>2]=j;u=e;break}else Aa()}while(0);if(o|0){e=c[d+28>>2]|0;h=71612+(e<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=u;if(!u){c[17828]=c[17828]&~(1<<e);break}}else{if(o>>>0<(c[17831]|0)>>>0)Aa();e=o+16|0;if((c[e>>2]|0)==(d|0))c[e>>2]=u;else c[o+20>>2]=u;if(!u)break}e=c[17831]|0;if(u>>>0<e>>>0)Aa();c[u+24>>2]=o;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<e>>>0)Aa();else{c[u+16>>2]=g;c[g+24>>2]=u;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[17831]|0)>>>0)Aa();else{c[u+20>>2]=g;c[g+24>>2]=u;break}}}else{g=c[d+8>>2]|0;e=c[d+12>>2]|0;o=71348+(t<<1<<2)|0;if((g|0)!=(o|0)){if(g>>>0<b>>>0)Aa();if((c[g+12>>2]|0)!=(d|0))Aa()}if((e|0)==(g|0)){c[17827]=c[17827]&~(1<<t);break}if((e|0)!=(o|0)){if(e>>>0<b>>>0)Aa();o=e+8|0;if((c[o>>2]|0)==(d|0))x=o;else Aa()}else x=e+8|0;c[g+12>>2]=e;c[x>>2]=g}while(0);c[l+4>>2]=s|1;c[l+s>>2]=s;if((l|0)==(c[17832]|0)){c[17829]=s;return}else y=s}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;y=m}m=y>>>3;if(y>>>0<256){r=71348+(m<<1<<2)|0;a=c[17827]|0;s=1<<m;if(a&s){m=r+8|0;x=c[m>>2]|0;if(x>>>0<(c[17831]|0)>>>0)Aa();else{z=x;A=m}}else{c[17827]=a|s;z=r;A=r+8|0}c[A>>2]=l;c[z+12>>2]=l;c[l+8>>2]=z;c[l+12>>2]=r;return}r=y>>>8;if(r)if(y>>>0>16777215)B=31;else{z=(r+1048320|0)>>>16&8;A=r<<z;r=(A+520192|0)>>>16&4;s=A<<r;A=(s+245760|0)>>>16&2;a=14-(r|z|A)+(s<<A>>>15)|0;B=y>>>(a+7|0)&1|a<<1}else B=0;a=71612+(B<<2)|0;c[l+28>>2]=B;c[l+20>>2]=0;c[l+16>>2]=0;A=c[17828]|0;s=1<<B;if(!(A&s)){c[17828]=A|s;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}s=y<<((B|0)==31?0:25-(B>>>1)|0);B=c[a>>2]|0;while(1){if((c[B+4>>2]&-8|0)==(y|0)){C=127;break}D=B+16+(s>>>31<<2)|0;a=c[D>>2]|0;if(!a){C=124;break}else{s=s<<1;B=a}}if((C|0)==124){if(D>>>0<(c[17831]|0)>>>0)Aa();c[D>>2]=l;c[l+24>>2]=B;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((C|0)==127){C=B+8|0;D=c[C>>2]|0;s=c[17831]|0;if(!(D>>>0>=s>>>0&B>>>0>=s>>>0))Aa();c[D+12>>2]=l;c[C>>2]=l;c[l+8>>2]=D;c[l+12>>2]=B;c[l+24>>2]=0;return}}function Qw(){}function Rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (D=e,a-c>>>0|0)|0}function Sw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Tw(a){a=a|0;return 0}function Uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (D=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Vw(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function Ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (D=n,o)|0}else{if(!m){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (D=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(V(l|0)|0)-(V(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}r=j-1|0;if(r&j|0){s=(V(j|0)|0)+33-(V(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (D=n,o)|0}else{r=Vw(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (D=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (D=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (D=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Vw(l|0)|0)>>>0);return (D=n,o)|0}r=(V(l|0)|0)-(V(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}while(0);if(!t){B=x;C=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Uw(b|0,d|0,-1,-1)|0;k=D;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Rw(e|0,k|0,g|0,a|0)|0;i=D;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Rw(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=D;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;F=v;G=0;H=t}t=C;C=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (D=n,o)|0}function Xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Rw(e^a|0,f^b|0,e|0,f|0)|0;b=D;a=g^e;e=h^f;return Rw((Ww(i,b,Rw(g^c|0,h^d|0,g|0,h|0)|0,D,0)|0)^a|0,D^e|0,a|0,e|0)|0}function Yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Va(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Zw(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Yw(b,c,d)|0;return b|0}function _w(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function $w(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function ax(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function bx(a){a=a|0;return 0}function cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ww(a,b,c,d,0)|0}function dx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=S(d,c)|0;f=a>>>16;a=(e>>>16)+(S(d,f)|0)|0;d=b>>>16;b=S(d,c)|0;return (D=(a>>>16)+(S(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function ex(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=dx(e,a)|0;f=D;return (D=(S(b,a)|0)+(S(d,e)|0)+f|f&0,c|0|0)|0}function fx(a){a=a|0;var b=0,d=0;a=a+15&-16|0;b=c[k>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){_()|0;Ka(12);return -1}c[k>>2]=d;if((d|0)>(Z()|0)?(Y()|0)==0:0){Ka(12);c[k>>2]=b;return -1}return b|0}function gx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function hx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;Ww(a,b,d,e,g)|0;i=f;return (D=c[g+4>>2]|0,c[g>>2]|0)|0}function ix(){return 0}function jx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=Rw(h^a|0,j^b|0,h|0,j|0)|0;b=D;Ww(m,b,Rw(k^d|0,l^e|0,k|0,l|0)|0,D,g)|0;l=Rw(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=D;i=f;return (D=j,l)|0}function kx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ub[a&63](b|0,c|0,d|0)|0}function lx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;vb[a&15](b|0,c|0,d|0,e|0,f|0)}function mx(a,b){a=a|0;b=b|0;wb[a&15](b|0)}function nx(a,b,c){a=a|0;b=b|0;c=c|0;xb[a&7](b|0,c|0)}function ox(a,b){a=a|0;b=b|0;return yb[a&15](b|0)|0}function px(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zb[a&7](b|0,c|0,d|0)}function qx(a){a=a|0;Ab[a&3]()}function rx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Bb[a&7](b|0,c|0,d|0,e|0)|0}function sx(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;Cb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function tx(a,b,c){a=a|0;b=b|0;c=c|0;return Db[a&7](b|0,c|0)|0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Eb[a&1](b|0,c|0,d|0,e|0)}function vx(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function wx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function xx(a){a=a|0;ca(2)}function yx(a,b){a=a|0;b=b|0;da(3)}function zx(a){a=a|0;ea(4);return 0}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;fa(5)}function Bx(){ga(6)}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(7);return 0}function Dx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ia(8)}function Ex(a,b){a=a|0;b=b|0;ja(9);return 0}function Fx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(10)}
+function Fb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;if((i|0)>=(j|0))$(a|0);return b|0}function Gb(){return i|0}function Hb(a){a=a|0;i=a}function Ib(a,b){a=a|0;b=b|0;i=a;j=b}function Jb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Kb(a){a=a|0;D=a}function Lb(){return D|0}function Mb(a){a=a|0;var b=0;b=Tb(32,18854,38)|0;nc(a,b);return b|0}function Nb(a){a=a|0;var b=0;b=Tb(32,18854,56)|0;lc(a,b);return b|0}function Ob(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=d+8|0;e=Tb(f,18854,70)|0;kt(e+8|0,c|0,d|0)|0;c=Zr(b)|0;d=e+4|0;a[d>>0]=c;a[d+1>>0]=c>>8;a[d+2>>0]=c>>16;a[d+3>>0]=c>>24;d=Zr(f)|0;a[e>>0]=d;a[e+1>>0]=d>>8;a[e+2>>0]=d>>16;a[e+3>>0]=d>>24;return e|0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g;if((Bq(e,f)|0)==1){e=f;c[e>>2]=a;c[e+4>>2]=b;c[f+8>>2]=d;a=Tb(24,18854,100)|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2]}else a=0;i=g;return a|0}function Qb(a){a=a|0;D=c[a+4>>2]|0;return c[a>>2]|0}function Rb(a){a=a|0;return c[a+8>>2]|0}function Sb(a){a=a|0;return a+12|0}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+24|0;f=h+8|0;e=h;if(a>>>0>=41943041){if((c[180]|0)==-1)c[180]=_b(1,0,18861,18881,74)|0;if((ec()|0)<=0){if(c[180]|0){c[e>>2]=b;c[e+4>>2]=d;$b(1,61170,e)}}else fc(-1,0);Zb()}a=Ub(a,0,0)|0;if(a|0){i=h;return a|0}if((c[181]|0)==-1)c[181]=_b(1,20824,18861,18881,81)|0;if((ec()|0)<=0){if(c[181]|0){h=cr(c[(Oq()|0)>>2]|0)|0;c[f>>2]=18897;c[f+4>>2]=18861;c[f+8>>2]=81;c[f+12>>2]=h;gc(1,20824,20375,f)}}else fc(-1,0);if((c[182]|0)==-1)c[182]=_b(1,0,18861,18881,82)|0;if((ec()|0)<=0){if(c[182]|0){c[g>>2]=18861;c[g+4>>2]=82;$b(1,61170,g)}}else fc(-1,0);Zb();return 0}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;b=Ys(a)|0;if(!b)b=0;else et(b|0,0,a|0)|0;return b|0}function Vb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;if(a|0){Zs(a);i=f;return}if((c[183]|0)==-1)c[183]=_b(1,0,18861,18904,311)|0;if((ec()|0)<=0){if(c[183]|0){c[e>>2]=b;c[e+4>>2]=d;$b(1,61170,e)}}else fc(-1,0);Zb()}function Wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g;h=g+8|0;c[h>>2]=e;a=ir(a,b,d,h)|0;if(a>>>0<b>>>0){i=g;return a|0}if((c[184]|0)==-1)c[184]=_b(1,0,18861,18918,506)|0;if((ec()|0)<=0){if(c[184]|0){c[f>>2]=18861;c[f+4>>2]=506;$b(1,61170,f)}}else fc(-1,0);Zb();return 0}function Xb(){c[17532]=c[3901];return}function Yb(){return}function Zb(){Aa()}function _b(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b|0)==0?c[17533]|0:b;b=c[17534]|0;i=(b|0)>-1;do if(!(i&(c[17535]|0)==0)){b=0;while(1){if((b|0)>=(c[17536]|0))break;g=c[17537]|0;if(!(i?!(c[g+(b*112|0)+108>>2]|0):0))j=6;if((((((j|0)==6?(j=0,(c[g+(b*112|0)+96>>2]|0)<=(f|0)):0)?(c[g+(b*112|0)+100>>2]|0)>=(f|0):0)?(Us(g+(b*112|0)|0,h,0,0,0)|0)==0:0)?(Us(g+(b*112|0)+32|0,d,0,0,0)|0)==0:0)?(Us(g+(b*112|0)+64|0,e,0,0,0)|0)==0:0){j=11;break}b=b+1|0}if((j|0)==11){b=(c[g+(b*112|0)+104>>2]|0)>=(a|0)&1;break}b=c[17534]|0;if((b|0)>-1){b=(b|0)>=(a|0)&1;break}else{b=(a|0)<5&1;break}}else b=(b|0)>=(a|0)&1;while(0);return b|0}function $b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=d;ac(a,c[17538]|0,b,f);i=e;return}function ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;w=i;i=i+176|0;if((i|0)>=(j|0))$(176);v=w+16|0;s=w+8|0;k=w;t=w+112|0;q=w+48|0;u=w+32|0;r=w+24|0;c[u>>2]=c[f>>2];u=(ir(0,0,e,u)|0)+1|0;if(!u){g=c[185]|0;if((g|0)==-1){g=_b(1,0,18934,18957,952)|0;c[185]=g}h=c[17539]|0;if((h|0)<=0){if(g|0){c[k>>2]=18934;c[k+4>>2]=952;$b(1,61170,k)}}else c[17539]=h+-1;Zb()}h=t;k=h+64|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(k|0));o=Za()|0;g=u;p=i;i=i+((1*g|0)+15&-16)|0;if((i|0)>=(j|0))$((1*g|0)+15&-16|0);lb(r|0,0)|0;g=pd()|0;h=D;n=jt(g|0,h|0,1e3,0)|0;n=gt(c[r>>2]|0,0,n|0,D|0)|0;c[r>>2]=n;do if((h|0)>0|(h|0)==0&g>>>0>0){h=vt(g|0,h|0,1e3,0)|0;h=st(h|0,D|0,1e3,0)|0;g=r+4|0;h=gt(c[g>>2]|0,0,h|0,D|0)|0;c[g>>2]=h;if((h|0)>1e6){c[g>>2]=h+-1e6;c[r>>2]=n+1}}else{k=r+4|0;l=c[k>>2]|0;m=((l|0)<0)<<31>>31;h=xt(g|0,h|0,1e3,0)|0;g=D;x=st(h|0,g|0,-1e3,-1)|0;y=D;g=st(h|0,g|0,1e3,0)|0;h=D;if((m|0)>(y|0)|(m|0)==(y|0)&l>>>0>x>>>0){y=gt(l|0,m|0,g|0,h|0)|0;c[k>>2]=y;break}else{y=gt(g|0,h|0,1e6,0)|0;y=gt(y|0,D|0,l|0,m|0)|0;c[k>>2]=y;c[r>>2]=n+-1;break}}while(0);g=pb(r|0)|0;if(!g){h=t;g=18963;k=h+16|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(k|0))}else{Sa(q|0,64,18979,g|0)|0;c[s>>2]=c[r+4>>2];hr(t,64,q,s)|0}ir(p,u,e,f)|0;y=70112;if((b&64|0)!=0&((c[y>>2]|0)!=0|(c[y+4>>2]|0)!=0)?(Yr(p,71214,256)|0)==0:0){c[17540]=(c[17540]|0)+1;c[v>>2]=c[17528];c[v+4>>2]=c[17529];y=sd(v)|0;x=D;if(x>>>0>10|(x|0)==10&y>>>0>250327040|(c[17540]|0)>>>0>1e3)bc(t);Ea(o|0)}else{bc(t);cs(71214,p,256)|0;c[17540]=0;c[17541]=b;x=rd()|0;y=70112;c[y>>2]=x;c[y+4>>2]=D;cs(71470,d,32)|0;cc(b,d,t,p);Ea(o|0)}i=w;return}function bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+624|0;if((i|0)>=(j|0))$(624);e=l+40|0;k=l+16|0;h=l;f=l+48|0;g=l+32|0;d=70112;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0|(c[17540]|0)==0)){d=pr(71214,0,256)|0;d=(d|0)==0?71469:(d|0)==71214?71214:d+-1|0;if((a[d>>0]|0)==10){a[d>>0]=0;c[e>>2]=c[17528];c[e+4>>2]=c[17529];m=sd(e)|0;k=g;c[k>>2]=m;c[k+4>>2]=D;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];k=kd(e,1)|0;g=c[17540]|0;c[h>>2]=256;c[h+4>>2]=71214;c[h+8>>2]=g;c[h+12>>2]=k;hr(f,576,19063,h)|0;a[d>>0]=10}else{c[e>>2]=c[17528];c[e+4>>2]=c[17529];h=sd(e)|0;m=g;c[m>>2]=h;c[m+4>>2]=D;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];m=kd(e,1)|0;h=c[17540]|0;c[k>>2]=256;c[k+4>>2]=71214;c[k+8>>2]=h;c[k+12>>2]=m;hr(f,576,19063,k)|0}cc(c[17541]|0,71470,b,f);k=rd()|0;m=70112;c[m>>2]=k;c[m+4>>2]=D;c[17540]=0}i=l;return}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=k+8|0;g=k;f=c[17532]|0;if((f|0)!=0&(c[17542]|0)==0){if((a|0)==4){c[g>>2]=e;Wr(f,19e3,g)|0}else{g=dc(a)|0;c[h>>2]=d;c[h+4>>2]=b;c[h+8>>2]=g;c[h+12>>2]=e;Wr(f,19005,h)|0}gs(c[17532]|0)|0;f=70168}else f=70168;while(1){f=c[f>>2]|0;if(!f)break;vb[c[f+4>>2]&15](c[f+8>>2]|0,a,b,d,e)}i=k;return}function dc(a){a=a|0;if(!(a&1))if(!(a&2))if(!(a&4))if(!(a&8))if(!(a&16))a=(a&-65|0)==0?19017:19022;else a=19057;else a=19052;else a=19044;else a=19036;else a=19030;return a|0}function ec(){return c[17539]|0}function fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;d=c[17539]|0;do if(!a){c[17539]=0;if(!((b|0)==0|(d|0)==0)){a=c[186]|0;if((a|0)==-1){a=_b(1,0,18934,19112,906)|0;c[186]=a;b=c[17539]|0;if((b|0)>0){c[17539]=b+-1;break}}if(a|0){c[e>>2]=18934;c[e+4>>2]=906;$b(1,61170,e)}}}else c[17539]=d+a;while(0);i=f;return}function gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+160|0;if((i|0)>=(j|0))$(160);k=f;g=f+8|0;h=f+24|0;b=(b|0)==0?c[17533]|0:b;c[g>>2]=e;e=ps()|0;c[k>>2]=b;c[k+4>>2]=e;Wb(h,128,18951,k)|0;ac(a,h,d,g);i=f;return}function hc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))$(32);n=o+8|0;m=o;h=o+16|0;k=Za()|0;g=b;l=i;i=i+((1*g|0)+15&-16)|0;if((i|0)>=(j|0))$((1*g|0)+15&-16|0);ic(h,d,e);if(ce(c[h>>2]|0,l,b,a,b)|0){if((c[187]|0)==-1)c[187]=_b(1,0,19128,19147,136)|0;if((ec()|0)<=0){if(c[187]|0){c[m>>2]=19128;c[m+4>>2]=136;$b(1,61170,m)}}else fc(-1,0);Zb()}$d(c[h>>2]|0);jc(h,d,e);if(!(ce(c[h>>2]|0,f,b,l,b)|0)){$d(c[h>>2]|0);et(l|0,0,b|0)|0;Ea(k|0);i=o;return b|0}if((c[188]|0)==-1)c[188]=_b(1,0,19128,19147,140)|0;if((ec()|0)<=0){if(c[188]|0){c[n>>2]=19128;c[n+4>>2]=140;$b(1,61170,n)}}else fc(-1,0);Zb();return 0}function ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+16|0;f=h+8|0;e=h;if(_d(a,9,2,0)|0){if((c[192]|0)==-1)c[192]=_b(1,0,19128,19200,68)|0;if((ec()|0)<=0){if(c[192]|0){c[e>>2]=19128;c[e+4>>2]=68;$b(1,61170,e)}}else fc(-1,0);Zb()}e=ae(c[a>>2]|0,b,32)|0;if(!((e|0)==0|(e&255|0)==43)){if((c[193]|0)==-1)c[193]=_b(1,0,19128,19200,72)|0;if((ec()|0)<=0){if(c[193]|0){c[f>>2]=19128;c[f+4>>2]=72;$b(1,61170,f)}}else fc(-1,0);Zb()}f=be(c[a>>2]|0,d,16)|0;if((f|0)==0|(f&255|0)==43){i=h;return}if((c[194]|0)==-1)c[194]=_b(1,0,19128,19200,76)|0;if((ec()|0)<=0){if(c[194]|0){c[g>>2]=19128;c[g+4>>2]=76;$b(1,61170,g)}}else fc(-1,0);Zb()}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+16|0;f=h+8|0;e=h;if(_d(a,10,2,0)|0){if((c[189]|0)==-1)c[189]=_b(1,0,19128,19179,98)|0;if((ec()|0)<=0){if(c[189]|0){c[e>>2]=19128;c[e+4>>2]=98;$b(1,61170,e)}}else fc(-1,0);Zb()}e=ae(c[a>>2]|0,b+32|0,32)|0;if(!((e|0)==0|(e&255|0)==43)){if((c[190]|0)==-1)c[190]=_b(1,0,19128,19179,102)|0;if((ec()|0)<=0){if(c[190]|0){c[f>>2]=19128;c[f+4>>2]=102;$b(1,61170,f)}}else fc(-1,0);Zb()}f=be(c[a>>2]|0,d+16|0,16)|0;if((f|0)==0|(f&255|0)==43){i=h;return}if((c[191]|0)==-1)c[191]=_b(1,0,19128,19179,106)|0;if((ec()|0)<=0){if(c[191]|0){c[g>>2]=19128;c[g+4>>2]=106;$b(1,61170,g)}}else fc(-1,0);Zb()}function kc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))$(32);n=o+8|0;m=o;h=o+16|0;k=Za()|0;g=b;l=i;i=i+((1*g|0)+15&-16)|0;if((i|0)>=(j|0))$((1*g|0)+15&-16|0);jc(h,d,e);if(de(c[h>>2]|0,l,b,a,b)|0){if((c[195]|0)==-1)c[195]=_b(1,0,19128,19217,172)|0;if((ec()|0)<=0){if(c[195]|0){c[m>>2]=19128;c[m+4>>2]=172;$b(1,61170,m)}}else fc(-1,0);Zb()}$d(c[h>>2]|0);ic(h,d,e);if(!(de(c[h>>2]|0,f,b,l,b)|0)){$d(c[h>>2]|0);et(l|0,0,b|0)|0;Ea(k|0);i=o;return b|0}if((c[196]|0)==-1)c[196]=_b(1,0,19128,19217,176)|0;if((ec()|0)<=0){if(c[196]|0){c[n>>2]=19128;c[n+4>>2]=176;$b(1,61170,n)}}else fc(-1,0);Zb();return 0}function lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+16|0;e=h+8|0;d=h;f=h+24|0;a=mc(a)|0;if(!a){if((c[197]|0)==-1)c[197]=_b(1,0,19249,19262,231)|0;if((ec()|0)<=0){if(c[197]|0){c[d>>2]=19249;c[d+4>>2]=231;$b(1,61170,d)}}else fc(-1,0);Zb()}if(Qd(f,a,0)|0){if((c[198]|0)==-1)c[198]=_b(1,0,19249,19262,232)|0;if((ec()|0)<=0){if(c[198]|0){c[e>>2]=19249;c[e+4>>2]=232;$b(1,61170,e)}}else fc(-1,0);Zb()}Ad(a);a=Rd(19297,c[f>>2]|0,0)|0;if(a|0){Lc(b,32,a);Gd(a);te(c[f>>2]|0);i=h;return}if((c[199]|0)==-1)c[199]=_b(1,0,19249,19262,235)|0;if((ec()|0)<=0){if(c[199]|0){c[g>>2]=19249;c[g+4>>2]=235;$b(1,61170,g)}}else fc(-1,0);Zb()}function mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=f+24|0;d=f+8|0;g=f;b=f+32|0;c[g>>2]=32;c[g+4>>2]=a;a=zd(b,0,19305,g)|0;if(!a){i=f;return c[b>>2]|0}if((c[200]|0)==-1)c[200]=_b(1,20824,19249,19347,136)|0;if((ec()|0)<=0){if(c[200]|0){g=vd(a)|0;c[d>>2]=19372;c[d+4>>2]=19249;c[d+8>>2]=136;c[d+12>>2]=g;gc(1,20824,20375,d)}}else fc(-1,0);if((c[201]|0)==-1)c[201]=_b(1,0,19249,19347,137)|0;if((ec()|0)<=0){if(c[201]|0){c[e>>2]=19249;c[e+4>>2]=137;$b(1,61170,e)}}else fc(-1,0);Zb();return 0}function nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+16|0;e=h+8|0;d=h;f=h+24|0;a=oc(a)|0;if(!a){if((c[202]|0)==-1)c[202]=_b(1,0,19249,19388,257)|0;if((ec()|0)<=0){if(c[202]|0){c[d>>2]=19249;c[d+4>>2]=257;$b(1,61170,d)}}else fc(-1,0);Zb()}if(Qd(f,a,0)|0){if((c[203]|0)==-1)c[203]=_b(1,0,19249,19388,258)|0;if((ec()|0)<=0){if(c[203]|0){c[e>>2]=19249;c[e+4>>2]=258;$b(1,61170,e)}}else fc(-1,0);Zb()}Ad(a);a=Rd(19297,c[f>>2]|0,0)|0;if(a|0){Lc(b,32,a);Gd(a);te(c[f>>2]|0);i=h;return}if((c[204]|0)==-1)c[204]=_b(1,0,19249,19388,261)|0;if((ec()|0)<=0){if(c[204]|0){c[g>>2]=19249;c[g+4>>2]=261;$b(1,61170,g)}}else fc(-1,0);Zb()}function oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+48|0;if((i|0)>=(j|0))$(48);e=f+24|0;d=f+8|0;g=f;b=f+32|0;c[g>>2]=32;c[g+4>>2]=a;a=zd(b,0,19423,g)|0;if(!a){i=f;return c[b>>2]|0}if((c[205]|0)==-1)c[205]=_b(1,20824,19249,19478,169)|0;if((ec()|0)<=0){if(c[205]|0){g=vd(a)|0;c[d>>2]=19372;c[d+4>>2]=19249;c[d+8>>2]=169;c[d+12>>2]=g;gc(1,20824,20375,d)}}else fc(-1,0);if((c[206]|0)==-1)c[206]=_b(1,0,19249,19478,170)|0;if((ec()|0)<=0){if(c[206]|0){c[e>>2]=19249;c[e+4>>2]=170;$b(1,61170,e)}}else fc(-1,0);Zb();return 0}function pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=m+48|0;h=m+40|0;g=m+32|0;f=m+24|0;e=m+8|0;n=m;d=m+60|0;k=m+56|0;c[n>>2]=32;c[n+4>>2]=a;a=zd(d,0,19305,n)|0;if(a|0){if((c[207]|0)==-1)c[207]=_b(1,20824,19249,19503,202)|0;if((ec()|0)<=0){if(c[207]|0){n=vd(a)|0;c[e>>2]=19372;c[e+4>>2]=19249;c[e+8>>2]=202;c[e+12>>2]=n;gc(1,20824,20375,e)}}else fc(-1,0);if((c[208]|0)==-1)c[208]=_b(1,0,19249,19503,203)|0;if((ec()|0)<=0){if(c[208]|0){c[f>>2]=19249;c[f+4>>2]=203;$b(1,61170,f)}}else fc(-1,0);Zb()}a=c[d>>2]|0;if(!a){if((c[209]|0)==-1)c[209]=_b(1,0,19249,19528,283)|0;if((ec()|0)<=0){if(c[209]|0){c[g>>2]=19249;c[g+4>>2]=283;$b(1,61170,g)}}else fc(-1,0);Zb()}if(Qd(k,a,0)|0){if((c[210]|0)==-1)c[210]=_b(1,0,19249,19528,284)|0;if((ec()|0)<=0){if(c[210]|0){c[h>>2]=19249;c[h+4>>2]=284;$b(1,61170,h)}}else fc(-1,0);Zb()}Ad(a);a=Rd(19297,c[k>>2]|0,0)|0;if(a|0){Lc(b,32,a);Gd(a);te(c[k>>2]|0);i=m;return}if((c[211]|0)==-1)c[211]=_b(1,0,19249,19528,287)|0;if((ec()|0)<=0){if(c[211]|0){c[l>>2]=19249;c[l+4>>2]=287;$b(1,61170,l)}}else fc(-1,0);Zb()}function qc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=k+40|0;e=k+24|0;b=k+8|0;f=k+64|0;d=k+60|0;g=k+56|0;a=zd(d,0,19563,k)|0;do if(a){if((c[212]|0)==-1)c[212]=_b(1,20824,19249,19618,505)|0;if((ec()|0)>0){fc(-1,0);a=0;break}if(!(c[212]|0))a=0;else{a=vd(a)|0;c[b>>2]=19372;c[b+4>>2]=19249;c[b+8>>2]=505;c[b+12>>2]=a;gc(1,20824,20375,b);a=0}}else{a=he(f,c[d>>2]|0)|0;if(a|0){if((c[213]|0)==-1)c[213]=_b(1,20824,19249,19618,510)|0;if((ec()|0)<=0){if(c[213]|0){h=vd(a)|0;c[e>>2]=19649;c[e+4>>2]=19249;c[e+8>>2]=510;c[e+12>>2]=h;gc(1,20824,20375,e)}}else fc(-1,0);Ad(c[d>>2]|0);a=0;break}Ad(c[d>>2]|0);a=rc(g,c[f>>2]|0,37511,35228)|0;if(!a){Ad(c[f>>2]|0);a=Tb(32,19249,530)|0;h=c[g>>2]|0;Lc(a,32,h);Gd(h);break}if((c[214]|0)==-1)c[214]=_b(1,20824,19249,19618,525)|0;if((ec()|0)<=0){if(c[214]|0){g=vd(a)|0;c[h>>2]=19664;c[h+4>>2]=19249;c[h+8>>2]=525;c[h+12>>2]=g;gc(1,20824,20375,h)}}else fc(-1,0);Ad(c[f>>2]|0);a=0}while(0);i=k;return a|0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=Cd(d,e,0)|0;do if(d){h=Dd(d)|0;Ad(d);if(h){g=0;d=f;while(1){if(!(a[d>>0]|0)){e=13;break}e=Cd(h,d,1)|0;if(!e){d=0;e=5;break}f=b+(g<<2)|0;c[f>>2]=Ed(e,1,5)|0;Ad(e);if(!(c[f>>2]|0)){d=0;e=9;break}g=g+1|0;d=d+1|0}if((e|0)==5){while(1){if((d|0)==(g|0))break;e=b+(d<<2)|0;we(c[e>>2]|0);c[e>>2]=0;d=d+1|0;e=5}Ad(h);d=3;break}else if((e|0)==9){while(1){if((d|0)==(g|0))break;e=b+(d<<2)|0;we(c[e>>2]|0);c[e>>2]=0;d=d+1|0;e=9}Ad(h);d=4;break}else if((e|0)==13){Ad(h);d=0;break}}else d=2}else d=1;while(0);return d|0}function sc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=k+40|0;e=k+24|0;b=k+8|0;f=k+64|0;d=k+60|0;g=k+56|0;a=zd(d,0,19678,k)|0;do if(a){if((c[215]|0)==-1)c[215]=_b(1,20824,19249,19716,555)|0;if((ec()|0)>0){fc(-1,0);a=0;break}if(!(c[215]|0))a=0;else{a=vd(a)|0;c[b>>2]=19372;c[b+4>>2]=19249;c[b+8>>2]=555;c[b+12>>2]=a;gc(1,20824,20375,b);a=0}}else{a=he(f,c[d>>2]|0)|0;if(a|0){if((c[216]|0)==-1)c[216]=_b(1,20824,19249,19716,560)|0;if((ec()|0)<=0){if(c[216]|0){h=vd(a)|0;c[e>>2]=19649;c[e+4>>2]=19249;c[e+8>>2]=560;c[e+12>>2]=h;gc(1,20824,20375,e)}}else fc(-1,0);Ad(c[d>>2]|0);a=0;break}Ad(c[d>>2]|0);a=rc(g,c[f>>2]|0,37511,35228)|0;if(!a){Ad(c[f>>2]|0);a=Tb(32,19249,580)|0;h=c[g>>2]|0;Lc(a,32,h);Gd(h);break}if((c[217]|0)==-1)c[217]=_b(1,20824,19249,19716,575)|0;if((ec()|0)<=0){if(c[217]|0){g=vd(a)|0;c[h>>2]=19664;c[h+4>>2]=19249;c[h+8>>2]=575;c[h+12>>2]=g;gc(1,20824,20375,h)}}else fc(-1,0);Ad(c[f>>2]|0);a=0}while(0);i=k;return a|0}function tc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=k+40|0;e=k+24|0;b=k+8|0;f=k+64|0;d=k+60|0;g=k+56|0;a=zd(d,0,19747,k)|0;do if(a){if((c[218]|0)==-1)c[218]=_b(1,20824,19249,19791,604)|0;if((ec()|0)>0){fc(-1,0);a=0;break}if(!(c[218]|0))a=0;else{a=vd(a)|0;c[b>>2]=19372;c[b+4>>2]=19249;c[b+8>>2]=604;c[b+12>>2]=a;gc(1,20824,20375,b);a=0}}else{a=he(f,c[d>>2]|0)|0;if(a|0){if((c[219]|0)==-1)c[219]=_b(1,20824,19249,19791,609)|0;if((ec()|0)<=0){if(c[219]|0){h=vd(a)|0;c[e>>2]=19649;c[e+4>>2]=19249;c[e+8>>2]=609;c[e+12>>2]=h;gc(1,20824,20375,e)}}else fc(-1,0);Ad(c[d>>2]|0);a=0;break}Ad(c[d>>2]|0);a=rc(g,c[f>>2]|0,37511,35228)|0;if(!a){Ad(c[f>>2]|0);a=Tb(32,19249,629)|0;h=c[g>>2]|0;Lc(a,32,h);Gd(h);break}if((c[220]|0)==-1)c[220]=_b(1,20824,19249,19791,624)|0;if((ec()|0)<=0){if(c[220]|0){g=vd(a)|0;c[h>>2]=19664;c[h+4>>2]=19249;c[h+8>>2]=624;c[h+12>>2]=g;gc(1,20824,20375,h)}}else fc(-1,0);Ad(c[f>>2]|0);a=0}while(0);i=k;return a|0}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))$(48);k=l+16|0;h=l;f=l+32|0;g=l+24|0;e=oc(a)|0;a=vc(b)|0;b=ee(f,a,e)|0;do if(!b){Ad(e);Ad(a);if(!(rc(g,c[f>>2]|0,37373,46725)|0)){Ad(c[f>>2]|0);k=c[g>>2]|0;Lc(d,32,k);a=c[g+4>>2]|0;Lc(d+32|0,32,a);Gd(k);Gd(a);a=1;break}if((c[222]|0)==-1)c[222]=_b(1,0,19249,19822,819)|0;if((ec()|0)<=0){if(c[222]|0){c[k>>2]=19249;c[k+4>>2]=819;$b(1,61170,k)}}else fc(-1,0);Ad(c[f>>2]|0);a=-1}else{if((c[221]|0)==-1)c[221]=_b(2,20824,19249,19822,807)|0;if((ec()|0)<=0){if(c[221]|0){k=vd(b)|0;c[h>>2]=19249;c[h+4>>2]=807;c[h+8>>2]=k;gc(2,20824,19847,h)}}else fc(-1,0);Ad(a);Ad(e);a=-1}while(0);i=l;return a|0}function vc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+112|0;if((i|0)>=(j|0))$(112);e=f+16|0;g=f;h=f+40|0;b=f+32|0;zc(a,bs(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)|0,h);c[g>>2]=37453;c[g+4>>2]=64;c[g+8>>2]=h;a=zd(b,0,19882,g)|0;do if(a){if((c[223]|0)==-1)c[223]=_b(1,20824,19249,19926,698)|0;if((ec()|0)>0){fc(-1,0);a=0;break}if(!(c[223]|0))a=0;else{a=vd(a)|0;c[e>>2]=19372;c[e+4>>2]=19249;c[e+8>>2]=698;c[e+12>>2]=a;gc(1,20824,20375,e);a=0}}else a=c[b>>2]|0;while(0);i=f;return a|0}function wc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;if((i|0)>=(j|0))$(64);n=o+40|0;k=o+32|0;h=o+16|0;g=o;l=o+56|0;m=o+52|0;p=b+4|0;do if((bs(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0)==(a|0)){c[g>>2]=32;c[g+4>>2]=e;c[g+8>>2]=32;c[g+12>>2]=e+32;a=zd(l,0,19985,g)|0;if(a|0){if((c[224]|0)==-1)c[224]=_b(1,20824,19249,20014,918)|0;if((ec()|0)>0){fc(-1,0);a=-1;break}if(!(c[224]|0)){a=-1;break}a=vd(a)|0;c[h>>2]=19372;c[h+4>>2]=19249;c[h+8>>2]=918;c[h+12>>2]=a;gc(1,20824,20375,h);a=-1;break}e=vc(b)|0;c[k>>2]=32;c[k+4>>2]=f;if(zd(m,0,20041,k)|0){Ad(e);Ad(c[l>>2]|0);a=-1;break}a=fe(c[l>>2]|0,e,c[m>>2]|0)|0;Ad(c[m>>2]|0);Ad(e);Ad(c[l>>2]|0);if(a){if((c[225]|0)==-1)c[225]=_b(8,20824,19249,20014,938)|0;if((ec()|0)>0){fc(-1,0);a=-1;break}if(!(c[225]|0))a=-1;else{a=vd(a)|0;c[n>>2]=19249;c[n+4>>2]=938;c[n+8>>2]=a;gc(8,20824,20093,n);a=-1}}else a=1}else a=-1;while(0);i=o;return a|0}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+96|0;if((i|0)>=(j|0))$(96);o=q+40|0;n=q+32|0;p=q+16|0;f=q+8|0;r=q;g=q+60|0;k=q+56|0;e=q+52|0;l=q+64|0;m=q+48|0;c[r>>2]=32;c[r+4>>2]=b;do if(!(zd(e,0,19946,r)|0)){if(Qd(k,c[e>>2]|0,0)|0){if((c[226]|0)==-1)c[226]=_b(1,0,19249,20143,972)|0;if((ec()|0)<=0){if(c[226]|0){c[f>>2]=19249;c[f+4>>2]=972;$b(1,61170,f)}}else fc(-1,0);Zb()}Ad(c[e>>2]|0);r=Sd(46766,c[k>>2]|0,0)|0;Mc(g,a,32);b=Od(0)|0;Ud(b,c[g>>2]|0,r,c[k>>2]|0);Pd(r);Gd(c[g>>2]|0);a=Fd(256)|0;if(Td(a,0,b,c[k>>2]|0)|0){if((c[227]|0)==-1)c[227]=_b(1,20824,19249,20143,989)|0;if((ec()|0)<=0){if(c[227]|0){r=vd(0)|0;c[p>>2]=20166;c[p+4>>2]=19249;c[p+8>>2]=989;c[p+12>>2]=r;gc(1,20824,20375,p)}}else fc(-1,0);Pd(b);te(c[k>>2]|0);h=-1;break}Pd(b);te(c[k>>2]|0);c[m>>2]=32;if(Zd(a,2)|0){if((c[228]|0)==-1)c[228]=_b(1,0,19249,20143,998)|0;if((ec()|0)<=0){if(c[228]|0){c[n>>2]=19249;c[n+4>>2]=998;$b(1,61170,n)}}else fc(-1,0);Zb()}if(!(Jd(1,l,32,m,a)|0)){zc(l,c[m>>2]|0,d);Gd(a);h=1;break}if((c[229]|0)==-1)c[229]=_b(1,0,19249,20143,1005)|0;if((ec()|0)<=0){if(c[229]|0){c[o>>2]=19249;c[o+4>>2]=1005;$b(1,61170,o)}}else fc(-1,0);Zb()}else h=-1;while(0);i=q;return h|0}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+96|0;if((i|0)>=(j|0))$(96);o=q+40|0;n=q+32|0;p=q+16|0;f=q+8|0;r=q;g=q+60|0;k=q+56|0;e=q+52|0;l=q+64|0;m=q+48|0;c[r>>2]=32;c[r+4>>2]=b;do if(!(zd(e,0,19946,r)|0)){if(Qd(k,c[e>>2]|0,0)|0){if((c[230]|0)==-1)c[230]=_b(1,0,19249,20184,1403)|0;if((ec()|0)<=0){if(c[230]|0){c[f>>2]=19249;c[f+4>>2]=1403;$b(1,61170,f)}}else fc(-1,0);Zb()}Ad(c[e>>2]|0);r=Sd(46766,c[k>>2]|0,0)|0;Mc(g,a,32);b=Od(0)|0;Ud(b,c[g>>2]|0,r,c[k>>2]|0);Pd(r);Gd(c[g>>2]|0);a=Fd(256)|0;if(Td(a,0,b,c[k>>2]|0)|0){if((c[231]|0)==-1)c[231]=_b(1,20824,19249,20184,1420)|0;if((ec()|0)<=0){if(c[231]|0){r=vd(0)|0;c[p>>2]=20166;c[p+4>>2]=19249;c[p+8>>2]=1420;c[p+12>>2]=r;gc(1,20824,20375,p)}}else fc(-1,0);Pd(b);te(c[k>>2]|0);h=-1;break}Pd(b);te(c[k>>2]|0);c[m>>2]=32;if(Zd(a,2)|0){if((c[232]|0)==-1)c[232]=_b(1,0,19249,20184,1429)|0;if((ec()|0)<=0){if(c[232]|0){c[n>>2]=19249;c[n+4>>2]=1429;$b(1,61170,n)}}else fc(-1,0);Zb()}if(!(Jd(1,l,32,m,a)|0)){zc(l,c[m>>2]|0,d);Gd(a);h=1;break}if((c[233]|0)==-1)c[233]=_b(1,0,19249,20184,1436)|0;if((ec()|0)<=0){if(c[233]|0){c[o>>2]=19249;c[o+4>>2]=1436;$b(1,61170,o)}}else fc(-1,0);Zb()}else h=-1;while(0);i=q;return h|0}function zc(a,b,c){a=a|0;b=b|0;c=c|0;ne(10,c,a,b);return}function Ac(a,b){a=a|0;b=b|0;var d=0;d=15;while(1){if((d|0)<=-1)break;c[b+(d<<2)>>2]=Oc(a,-1)|0;d=d+-1|0}return}function Bc(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=Tb(4,20209,425)|0;if(!(ie(a,10,0)|0)){i=d;return a|0}if((c[234]|0)==-1)c[234]=_b(1,0,20209,20223,429)|0;if((ec()|0)<=0){if(c[234]|0){c[b>>2]=20209;c[b+4>>2]=429;$b(1,61170,b)}}else fc(-1,0);Zb();return 0}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;le(c[a>>2]|0,b,d);return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g;f=me(c[b>>2]|0,0)|0;if(f|0){if(d|0){e=f;f=d+64|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0))}Ec(b);i=g;return}if((c[235]|0)==-1)c[235]=_b(1,0,20209,20256,462)|0;if((ec()|0)<=0){if(c[235]|0){c[e>>2]=20209;c[e+4>>2]=462;$b(1,61170,e)}}else fc(-1,0);Zb()}function Ec(a){a=a|0;je(c[a>>2]|0);Vb(a,20209,480);return}function Fc(b,d,e,f,g,h,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;if((i|0)>=(j|0))$(32);z=B+20|0;y=B+16|0;p=B;v=pe(f)|0;w=pe(e)|0;A=Za()|0;n=w;x=i;i=i+((1*n|0)+15&-16)|0;if((i|0)>=(j|0))$((1*n|0)+15&-16|0);do if((v|0)!=0?(ie(z,e,2)|0)==0:0){if(ie(y,f,2)|0){je(c[z>>2]|0);n=-1;break}c[p>>2]=c[m>>2];o=0;while(1){s=(c[p>>2]|0)+(4-1)&~(4-1);t=c[s>>2]|0;c[p>>2]=s+4;if(!t)break;s=(c[p>>2]|0)+(4-1)&~(4-1);t=c[s>>2]|0;c[p>>2]=s+4;o=t+o|0}et(b|0,0,d|0)|0;e=c[z>>2]|0;n=Gc(e,g,h,k,l)|0;a:do if(!n)n=-1;else{if(pe(oe(e)|0)|0)kt(x|0,n|0,pe(oe(e)|0)|0)|0;l=(d>>>0)/(v>>>0)|0;r=v+1+o|0;t=Za()|0;n=r;s=i;i=i+((1*n|0)+15&-16)|0;if((i|0)>=(j|0))$((1*n|0)+15&-16|0);q=s+v|0;c[p>>2]=c[m>>2];n=q;while(1){m=(c[p>>2]|0)+(4-1)&~(4-1);e=c[m>>2]|0;c[p>>2]=m+4;if(!e)break;m=(c[p>>2]|0)+(4-1)&~(4-1);f=c[m>>2]|0;c[p>>2]=m+4;if(f|0)kt(n|0,e|0,f|0)|0;n=n+f|0}k=(d>>>0)%(v>>>0)|0;h=v>>>0<=d>>>0;g=q+o|0;if(h){a[g>>0]=1;n=Gc(c[y>>2]|0,x,w,q,o+1|0)|0;if(n|0){kt(b|0,n|0,v|0)|0;b=b+v|0;u=19}}else u=19;b:do if((u|0)==19){f=0-v|0;n=1;while(1){if(n>>>0>=l>>>0)break;kt(s|0,b+f|0,v|0)|0;n=n+1|0;et(g|0,n&255|0,1)|0;ke(c[y>>2]|0);e=Gc(c[y>>2]|0,x,w,s,r)|0;if(!e)break b;kt(b|0,e|0,v|0)|0;b=b+v|0}if(k|0){if(h){kt(s|0,b+f|0,v|0)|0;n=n+1|0}et(g|0,n&255|0,1)|0;ke(c[y>>2]|0);n=c[y>>2]|0;if(h)n=Gc(n,x,w,s,r)|0;else n=Gc(n,x,w,q,r-v|0)|0;if(!n)break;kt(b|0,n|0,k|0)|0}Ea(t|0);n=1;break a}while(0);Ea(t|0);n=-1}while(0);je(c[z>>2]|0);je(c[y>>2]|0)}else n=-1;while(0);Ea(A|0);i=B;return n|0}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qe(a,b,c)|0;le(a,d,e);return me(a,0)|0}function Hc(a,b,d,e,f,g,h,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0;m=i;i=i+16|0;if((i|0)>=(j|0))$(16);n=m;c[n>>2]=l;l=Fc(a,b,d,e,f,g,h,k,n)|0;i=m;return l|0}function Ic(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 Fc(a,b,10,8,c,d,e,f,g)|0}function Jc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);l=k;c[l>>2]=h;h=Ic(a,b,d,e,f,g,l)|0;i=k;return h|0}function Kc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;if((i|0)>=(j|0))$(64);t=v+40|0;s=v+32|0;u=v+24|0;q=v;n=v+52|0;o=v+48|0;p=Vd(b)|0;c[o>>2]=0;l=((p+-1|0)>>>3)+1|0;while(1){r=Za()|0;k=l;m=i;i=i+((1*k|0)+15&-16)|0;if((i|0)>=(j|0))$((1*k|0)+15&-16|0);k=yr(h)|0;c[q>>2]=h;c[q+4>>2]=k;c[q+8>>2]=o;c[q+12>>2]=4;c[q+16>>2]=0;c[q+20>>2]=0;if((Jc(m,l,d,e,f,g,q)|0)!=1){k=3;break}if(Id(a,5,m,l,n)|0){k=11;break}Xd(c[a>>2]|0,p);if(Wd(c[a>>2]|0,p)|0){k=19;break}c[o>>2]=(c[o>>2]|0)+1;if((Hd(c[a>>2]|0,b)|0)<0){k=28;break}Gd(c[a>>2]|0);Ea(r|0)}if((k|0)==3){if((c[236]|0)==-1)c[236]=_b(1,0,20290,20303,155)|0;if((ec()|0)<=0){if(c[236]|0){c[u>>2]=20290;c[u+4>>2]=155;$b(1,61170,u)}}else fc(-1,0);Zb()}else if((k|0)==11){if((c[237]|0)==-1)c[237]=_b(1,0,20290,20303,162)|0;if((ec()|0)<=0){if(c[237]|0){c[s>>2]=20290;c[s+4>>2]=162;$b(1,61170,s)}}else fc(-1,0);Zb()}else if((k|0)==19){if((c[238]|0)==-1)c[238]=_b(1,0,20290,20303,165)|0;if((ec()|0)<=0){if(c[238]|0){c[t>>2]=20290;c[t+4>>2]=165;$b(1,61170,t)}}else fc(-1,0);Zb()}else if((k|0)==28){Ea(r|0);i=v;return}}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=l+24|0;e=l+8|0;g=l;k=l+36|0;f=l+32|0;do if(!(Zd(d,2)|0)){c[k>>2]=b;d=Jd(5,a,b,k,d)|0;if(!d){d=c[k>>2]|0;e=b-d|0;if(d>>>0>=b>>>0)break;lt(a+e|0,a|0,d|0)|0;et(a|0,0,e|0)|0;break}if((c[240]|0)==-1)c[240]=_b(1,20824,20329,20342,110)|0;if((ec()|0)<=0){if(c[240]|0){b=vd(d)|0;c[e>>2]=20412;c[e+4>>2]=20329;c[e+8>>2]=110;c[e+12>>2]=b;gc(1,20824,20375,e)}}else fc(-1,0);if((c[241]|0)==-1)c[241]=_b(1,0,20329,20342,111)|0;if((ec()|0)<=0){if(c[241]|0){c[h>>2]=20329;c[h+4>>2]=111;$b(1,61170,h)}}else fc(-1,0);Zb()}else{e=Yd(d,f)|0;if(e|0){d=((c[f>>2]|0)+7|0)>>>3;d=d>>>0>b>>>0?b:d;c[k>>2]=d;if(d|0)kt(a|0,e|0,d|0)|0;if(d>>>0<b>>>0)et(a+d|0,0,b-d|0)|0;break}if((c[239]|0)==-1)c[239]=_b(1,0,20329,20342,89)|0;if((ec()|0)<=0){if(c[239]|0){c[g>>2]=20329;c[g+4>>2]=89;$b(1,61170,g)}}else fc(-1,0);Zb()}while(0);i=l;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g+16|0;e=g;h=g+24|0;c[h>>2]=d;a=Id(a,5,b,d,h)|0;if(!a){i=g;return}if((c[242]|0)==-1)c[242]=_b(1,20824,20329,20427,140)|0;if((ec()|0)<=0){if(c[242]|0){h=vd(a)|0;c[e>>2]=20459;c[e+4>>2]=20329;c[e+8>>2]=140;c[e+12>>2]=h;gc(1,20824,20375,e)}}else fc(-1,0);if((c[243]|0)==-1)c[243]=_b(1,0,20329,20427,141)|0;if((ec()|0)<=0){if(c[243]|0){c[f>>2]=20329;c[f+4>>2]=141;$b(1,61170,f)}}else fc(-1,0);Zb()}function Nc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+64|0;if((i|0)>=(j|0))$(64);k=l+56|0;h=l+48|0;g=l+40|0;e=l+32|0;f=l+24|0;d=l+16|0;b=l+8|0;a=l;if(wd(20473)|0){c[d>>2]=0;a=xd(37,d)|0;if(a|0){d=c[3901]|0;b=vd(a)|0;c[f>>2]=20626;c[f+4>>2]=b;Wr(d,20587,f)|0}c[e>>2]=0;a=xd(44,e)|0;if(a|0){f=c[3901]|0;e=vd(a)|0;c[g>>2]=20641;c[g+4>>2]=e;Wr(f,20587,g)|0}c[h>>2]=0;xd(38,h)|0;c[k>>2]=0;xd(48,k)|0;k=kb(0)|0;Ms((Oc(2,-1)|0)^k);i=l;return}l=c[3901]|0;c[a>>2]=20473;Wr(l,20479,a)|0;if((c[244]|0)==-1)c[244]=_b(1,0,20545,20561,286)|0;if((ec()|0)<=0){if(c[244]|0){c[b>>2]=20545;c[b+4>>2]=286;$b(1,61170,b)}}else fc(-1,0);Zb()}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=k+16|0;f=k+8|0;e=k;h=k+24|0;if(!b){if((c[245]|0)==-1)c[245]=_b(1,0,20545,20661,157)|0;if((ec()|0)<=0){if(c[245]|0){c[e>>2]=20545;c[e+4>>2]=157;$b(1,61170,e)}}else fc(-1,0);Zb()}switch(a|0){case 1:{g=c[17543]|0;c[17543]=g+1;if(!(g&255)){c[f>>2]=0;xd(48,f)|0}d=~(4294967295%(b>>>0)|0);do{re(h,4,1);a=c[h>>2]|0}while(a>>>0>=d>>>0);d=(a>>>0)%(b>>>0)|0;break}case 2:{d=~(4294967295%(b>>>0)|0);do{se(h,4);a=c[h>>2]|0}while(a>>>0>=d>>>0);d=(a>>>0)%(b>>>0)|0;break}case 0:{d=~~(+(b>>>0)*+Pc())>>>0;d=d>>>0<b>>>0?d:b+-1|0;c[h>>2]=d;break}default:{if((c[246]|0)==-1)c[246]=_b(1,0,20545,20661,189)|0;if((ec()|0)<=0){if(c[246]|0){c[g>>2]=20545;c[g+4>>2]=189;$b(1,61170,g)}}else fc(-1,0);Zb()}}i=k;return d|0}function Pc(){return +(+(Os()|0)/2147483647.0)}function Qc(){ue(0,0);return}function Rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+16|0;f=h+8|0;e=h;switch(a|0){case 1:{g=c[17544]|0;c[17544]=g+1;if(!(g&255)){c[e>>2]=0;xd(48,e)|0}re(b,d,1);break}case 2:{se(b,d);break}case 0:{g=c[17544]|0;c[17544]=g+1;if(!(g&255)){c[f>>2]=0;xd(48,f)|0}re(b,d,0);break}default:{if((c[247]|0)==-1)c[247]=_b(1,0,20545,20686,135)|0;if((ec()|0)<=0){if(c[247]|0){c[g>>2]=20545;c[g+4>>2]=135;$b(1,61170,g)}}else fc(-1,0);Zb()}}i=h;return}function Sc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g+16|0;e=g+8|0;h=g;b=g+28|0;d=g+24|0;c[h>>2]=a;if(zd(d,0,20713,h)|0){if((c[248]|0)==-1)c[248]=_b(1,0,20737,20750,155)|0;if((ec()|0)<=0){if(c[248]|0){c[e>>2]=20737;c[e+4>>2]=155;$b(1,61170,e)}}else fc(-1,0);Zb()}if(!(he(b,c[d>>2]|0)|0)){Ad(c[d>>2]|0);h=Tb(4,20737,164)|0;c[h>>2]=c[b>>2];i=g;return h|0}if((c[249]|0)==-1)c[249]=_b(1,0,20737,20750,158)|0;if((ec()|0)<=0){if(c[249]|0){c[f>>2]=20737;c[f+4>>2]=158;$b(1,61170,f)}}else fc(-1,0);Zb();return 0}function Tc(a){a=a|0;Ad(c[a>>2]|0);Vb(a,20737,179);return}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;d=Bd(c[a>>2]|0,0,0,0)|0;e=Tb(d,20737,202)|0;if((d+-1|0)==(Bd(c[a>>2]|0,0,e,d)|0)){c[b>>2]=e;i=g;return d|0}if((c[250]|0)==-1)c[250]=_b(1,0,20737,20787,207)|0;if((ec()|0)<=0){if(c[250]|0){c[f>>2]=20737;c[f+4>>2]=207;$b(1,61170,f)}}else fc(-1,0);Zb();return 0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g+8|0;e=g;d=Tb(4,20737,226)|0;if(!(yd(d,a,b,0)|0)){if(ge(c[d>>2]|0)|0){if((c[252]|0)==-1)c[252]=_b(2,20824,20737,20829,241)|0;if((ec()|0)<=0){if(c[252]|0)gc(2,20824,20866,f)}else fc(-1,0);Tc(d);d=0}}else{if((c[251]|0)==-1)c[251]=_b(2,20824,20737,20829,234)|0;if((ec()|0)<=0){if(c[251]|0)gc(2,20824,20866,e)}else fc(-1,0);Vb(d,20737,235);d=0}i=g;return d|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=h+8|0;e=h;b=h+24|0;d=h+16|0;do if(((Xc(b,c[a>>2]|0,37523,38905)|0)!=0?(Xc(b,c[a>>2]|0,37511,38905)|0)!=0:0)?(Xc(b,c[a>>2]|0,40537,38905)|0)!=0:0){if((c[253]|0)==-1)c[253]=_b(2,0,20737,20900,270)|0;if((ec()|0)>0){fc(-1,0);a=0;break}if(!(c[253]|0))a=0;else{c[e>>2]=20737;c[e+4>>2]=270;$b(66,20941,e);a=0}}else g=10;while(0);if((g|0)==10){g=c[b>>2]|0;a=c[b+4>>2]|0;c[f>>2]=g;c[f+4>>2]=a;zd(d,0,20989,f)|0;Gd(g);Gd(a);a=Tb(4,20737,280)|0;c[a>>2]=c[d>>2]}i=h;return a|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=Cd(d,e,0)|0;do if(d){h=Dd(d)|0;Ad(d);if(h){g=0;d=f;while(1){if(!(a[d>>0]|0)){e=13;break}e=Cd(h,d,1)|0;if(!e){d=0;e=5;break}f=b+(g<<2)|0;c[f>>2]=Ed(e,1,5)|0;Ad(e);if(!(c[f>>2]|0)){d=0;e=9;break}g=g+1|0;d=d+1|0}if((e|0)==5){while(1){if((d|0)==(g|0))break;e=b+(d<<2)|0;we(c[e>>2]|0);c[e>>2]=0;d=d+1|0;e=5}Ad(h);d=3;break}else if((e|0)==9){while(1){if((d|0)==(g|0))break;e=b+(d<<2)|0;we(c[e>>2]|0);c[e>>2]=0;d=d+1|0;e=9}Ad(h);d=4;break}else if((e|0)==13){Ad(h);d=0;break}}else d=2}else d=1;while(0);return d|0}function Yc(a){a=a|0;Ad(c[a>>2]|0);Vb(a,20737,295);return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;d=Bd(c[a>>2]|0,3,0,0)|0;e=Tb(d,20737,318)|0;if((d+-1|0)==(Bd(c[a>>2]|0,3,e,d)|0)){c[b>>2]=e;i=g;return d|0}if((c[254]|0)==-1)c[254]=_b(1,0,20737,21019,323)|0;if((ec()|0)<=0){if(c[254]|0){c[f>>2]=20737;c[f+4>>2]=323;$b(1,61170,f)}}else fc(-1,0);Zb();return 0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+8|0;f=h;e=h+16|0;d=Tb(4,20737,367)|0;do if(!(yd(d,a,b,0)|0)){if(Xc(e,c[d>>2]|0,37523,38919)|0?Xc(e,c[d>>2]|0,40537,38919)|0:0){if((c[256]|0)==-1)c[256]=_b(1,0,20737,21055,385)|0;if((ec()|0)<=0){if(c[256]|0){c[g>>2]=20737;c[g+4>>2]=385;$b(1,61170,g)}}else fc(-1,0);Ad(c[d>>2]|0);Vb(d,20737,387);d=0;break}Gd(c[e>>2]|0)}else{if((c[255]|0)==-1)c[255]=_b(2,0,20737,21055,374)|0;if((ec()|0)<=0){if(c[255]|0){c[f>>2]=20737;c[f+4>>2]=374;$b(66,20941,f)}}else fc(-1,0);Vb(d,20737,375);d=0}while(0);i=h;return d|0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;d=Bd(c[a>>2]|0,3,0,0)|0;e=Tb(d,20737,958)|0;if((d+-1|0)==(Bd(c[a>>2]|0,3,e,d)|0)){c[b>>2]=e;i=g;return d|0}if((c[257]|0)==-1)c[257]=_b(1,0,20737,21091,963)|0;if((ec()|0)<=0){if(c[257]|0){c[f>>2]=20737;c[f+4>>2]=963;$b(1,61170,f)}}else fc(-1,0);Zb();return 0}function ad(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))$(48);o=p+16|0;h=p+8|0;g=p;l=p+36|0;m=p+32|0;n=p+24|0;if(!((e|0)!=0&(f|0)!=0)){if((c[258]|0)==-1)c[258]=_b(1,0,20737,21126,738)|0;if((ec()|0)<=0){if(c[258]|0){c[g>>2]=20737;c[g+4>>2]=738;$b(1,61170,g)}}else fc(-1,0);Zb()}if((Xc(n,c[d>>2]|0,37523,38905)|0)!=0?(Xc(n,c[d>>2]|0,40537,38905)|0)!=0:0){if((c[259]|0)==-1)c[259]=_b(1,0,20737,21126,744)|0;if((ec()|0)<=0){if(c[259]|0){c[h>>2]=20737;c[h+4>>2]=744;$b(1,61170,h)}}else fc(-1,0);c[e>>2]=0;c[f>>2]=0;a=0}else k=18;a:do if((k|0)==18){h=bd(d,a)|0;do if(h|0){a=cd(d,b)|0;if(!a){Gd(h);break}k=Fd(0)|0;d=c[n+4>>2]|0;b=c[n>>2]|0;Ld(k,c[a>>2]|0,d,b);g=Fd(0)|0;Kd(g,h,k,b);Gd(h);Gd(b);Gd(d);Gd(k);dd(a);Jd(5,0,0,l,g)|0;a=Tb(c[l>>2]|0,20737,655)|0;if(!(Jd(5,a,c[l>>2]|0,m,g)|0)){c[e>>2]=a;c[f>>2]=c[l>>2];Gd(g);a=1;break a}if((c[260]|0)==-1)c[260]=_b(1,0,20737,21150,661)|0;if((ec()|0)<=0){if(c[260]|0){c[o>>2]=20737;c[o+4>>2]=661;$b(1,61170,o)}}else fc(-1,0);Zb()}while(0);Gd(c[n>>2]|0);Gd(c[n+4>>2]|0);c[e>>2]=0;c[f>>2]=0;a=0}while(0);i=p;return a|0}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=k+8|0;e=k;f=k+24|0;d=k+20|0;g=k+16|0;if(Xc(d,c[a>>2]|0,40537,38919)|0){if((c[264]|0)==-1)c[264]=_b(1,0,20737,21244,689)|0;if((ec()|0)<=0){if(c[264]|0){c[e>>2]=20737;c[e+4>>2]=689;$b(1,61170,e)}}else fc(-1,0);Zb()}d=c[d>>2]|0;if(!(Zd(d,2)|0)){a=Zc(a,g)|0;h=c[g>>2]|0;Kc(f,d,h,a,b,64,21265);Vb(h,20737,704);h=ed(c[f>>2]|0,d)|0;Gd(d);d=c[f>>2]|0;if(!h){Gd(d);d=0}i=k;return d|0}if((c[265]|0)==-1)c[265]=_b(1,0,20737,21244,691)|0;if((ec()|0)<=0){if(c[265]|0){c[h>>2]=20737;c[h+4>>2]=691;$b(1,61170,h)}}else fc(-1,0);Zb();return 0}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=k+16|0;g=k+8|0;f=k;e=k+24|0;d=Tb(4,20737,434)|0;if(!d){if((c[261]|0)==-1)c[261]=_b(1,0,20737,21176,435)|0;if((ec()|0)<=0){if(c[261]|0){c[f>>2]=20737;c[f+4>>2]=435;$b(1,61170,f)}}else fc(-1,0);Zb()}if(Xc(e,c[a>>2]|0,40537,38919)|0){if((c[262]|0)==-1)c[262]=_b(1,0,20737,21176,438)|0;if((ec()|0)<=0){if(c[262]|0){c[g>>2]=20737;c[g+4>>2]=438;$b(1,61170,g)}}else fc(-1,0);Zb()}a=c[e>>2]|0;if(!(Zd(a,2)|0)){Kc(d,a,21200,30,b,32,21231);if(!(ed(c[d>>2]|0,a)|0)){Vb(d,20737,448);d=0}Gd(a);i=k;return d|0}if((c[263]|0)==-1)c[263]=_b(1,0,20737,21176,440)|0;if((ec()|0)<=0){if(c[263]|0){c[h>>2]=20737;c[h+4>>2]=440;$b(1,61170,h)}}else fc(-1,0);Zb();return 0}function dd(a){a=a|0;Gd(c[a>>2]|0);Vb(a,20737,631);return}function ed(a,b){a=a|0;b=b|0;var c=0;c=Fd(0)|0;b=Md(c,a,b)|0;Gd(c);return b|0}function fd(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=e+8|0;f=e;b=e+16|0;c[b>>2]=0;c[f>>2]=a;if(!(zd(b,0,21280,f)|0)){i=e;return c[b>>2]|0}if((c[266]|0)==-1)c[266]=_b(1,0,20737,21310,806)|0;if((ec()|0)<=0){if(c[266]|0){c[d>>2]=20737;c[d+4>>2]=806;$b(1,61170,d)}}else fc(-1,0);Zb();return 0}function gd(a){a=a|0;Ad(c[a>>2]|0);Vb(a,20737,936);return}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+8|0;f=h;e=h+16|0;d=Tb(4,20737,985)|0;do if(!(yd(d,a,b,0)|0)){if(Xc(e,c[d>>2]|0,37373,38917)|0?Xc(e,c[d>>2]|0,40537,38917)|0:0){if((c[268]|0)==-1)c[268]=_b(2,0,20737,21322,1003)|0;if((ec()|0)<=0){if(c[268]|0){c[g>>2]=20737;c[g+4>>2]=1003;$b(66,20941,g)}}else fc(-1,0);Ad(c[d>>2]|0);Vb(d,20737,1005);d=0;break}Gd(c[e>>2]|0)}else{if((c[267]|0)==-1)c[267]=_b(2,0,20737,21322,992)|0;if((ec()|0)<=0){if(c[267]|0){c[f>>2]=20737;c[f+4>>2]=992;$b(66,20941,f)}}else fc(-1,0);Vb(d,20737,993);d=0}while(0);i=h;return d|0}function id(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;if((i|0)>=(j|0))$(64);p=q+40|0;o=q+32|0;l=q+24|0;h=q+16|0;f=q+8|0;e=q;k=q+52|0;m=q+48|0;do if((Xc(k,c[d>>2]|0,37523,38919)|0)!=0?(Xc(k,c[d>>2]|0,40537,38919)|0)!=0:0){if((c[269]|0)==-1)c[269]=_b(2,0,20737,21357,1066)|0;if((ec()|0)>0){fc(-1,0);n=0;break}if(!(c[269]|0))n=0;else{c[e>>2]=20737;c[e+4>>2]=1066;$b(66,20941,e);n=0}}else g=9;while(0);do if((g|0)==9){if(Xc(m,c[a>>2]|0,37373,38917)|0?Xc(m,c[a>>2]|0,40537,38917)|0:0){Gd(c[k>>2]|0);if((c[270]|0)==-1)c[270]=_b(2,0,20737,21357,1075)|0;if((ec()|0)>0){fc(-1,0);n=0;break}if(!(c[270]|0)){n=0;break}c[f>>2]=20737;c[f+4>>2]=1075;$b(66,20941,f);n=0;break}e=cd(d,b)|0;if(!e){if((c[271]|0)==-1)c[271]=_b(2,0,20737,21357,1086)|0;if((ec()|0)<=0){if(c[271]|0){c[h>>2]=20737;c[h+4>>2]=1086;$b(66,20941,h)}}else fc(-1,0);Gd(c[k>>2]|0);Gd(c[m>>2]|0);n=0;break}d=Fd(0)|0;a=c[k>>2]|0;if((Nd(d,c[e>>2]|0,a)|0)!=1){if((c[272]|0)==-1)c[272]=_b(2,0,20737,21357,1100)|0;if((ec()|0)<=0){if(c[272]|0){c[l>>2]=20737;c[l+4>>2]=1100;$b(66,20941,l)}}else fc(-1,0);Gd(d);dd(e);Gd(a);Gd(c[m>>2]|0);n=0;break}b=Fd(0)|0;m=c[m>>2]|0;Kd(b,m,d,a);Gd(a);Gd(d);Gd(m);dd(e);a=Tb(4,20737,1115)|0;c[o>>2]=b;if(!(zd(a,0,21383,o)|0)){Gd(b);n=a;break}if((c[273]|0)==-1)c[273]=_b(1,0,20737,21357,1120)|0;if((ec()|0)<=0){if(c[273]|0){c[p>>2]=20737;c[p+4>>2]=1120;$b(1,61170,p)}}else fc(-1,0);Zb()}while(0);i=q;return n|0}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g+8|0;e=g;a=bd(d,a)|0;do if(!a){if((c[274]|0)==-1)c[274]=_b(2,0,20737,21406,1146)|0;if((ec()|0)>0){fc(-1,0);a=0;break}if(!(c[274]|0))a=0;else{c[e>>2]=20737;c[e+4>>2]=1146;$b(66,20941,e);a=0}}else{e=fd(a)|0;Gd(a);a=fe(c[b>>2]|0,e,c[d>>2]|0)|0;Ad(e);if(a){if((c[275]|0)==-1)c[275]=_b(2,20824,20737,21406,1169)|0;if((ec()|0)>0){fc(-1,0);a=-1;break}if(!(c[275]|0))a=-1;else{a=vd(a)|0;c[f>>2]=20737;c[f+4>>2]=1168;c[f+8>>2]=a;gc(2,20824,21431,f);a=-1}}else a=1}while(0);i=g;return a|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=h;f=a;e=c[f>>2]|0;f=c[f+4>>2]|0;d=qd()|0;if(!((d|0)==(e|0)&(D|0)==(f|0)))if((e|0)==0&(f|0)==0)a=21523;else{d=(b|0)==1;b=vt(e|0,f|0,1e3,0)|0;if(d&(f>>>0>0|(f|0)==0&e>>>0>5e3)|(b|0)==0&(D|0)==0){b=qt(e|0,f|0,1e3,0)|0;a=D;k=vt(b|0,a|0,1e3,0)|0;if(d&(f>>>0>0|(f|0)==0&e>>>0>5000999)|(k|0)==0&(D|0)==0){b=qt(e|0,f|0,1e6,0)|0;a=D;k=vt(b|0,a|0,60,0)|0;if(d&(f>>>0>0|(f|0)==0&e>>>0>300999999)|(k|0)==0&(D|0)==0){b=qt(e|0,f|0,6e7,0)|0;a=D;k=vt(b|0,a|0,60,0)|0;if(d&(f>>>0>4|(f|0)==4&e>>>0>880130815)|(k|0)==0&(D|0)==0){b=qt(e|0,f|0,-694967296,0)|0;a=D;k=vt(b|0,a|0,24,0)|0;if(d&(f>>>0>101|(f|0)==101&e>>>0>1808303103)|(k|0)==0&(D|0)==0){d=gt(e|0,f|0,-500654080,-21)|0;a=D;b=qt(e|0,f|0,500654080,20)|0;d=a>>>0<20|(a|0)==20&d>>>0<500654080?21510:21514;a=D}else d=35226}else d=21508}else d=38917}else d=21505}else{d=21519;b=e;a=f}k=g;c[k>>2]=b;c[k+4>>2]=a;c[g+8>>2]=d;Wb(71503,128,21489,g)|0;a=71503}else a=21497;i=h;return a|0}function ld(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;if((i|0)>=(j|0))$(32);s=t+16|0;r=t+8|0;l=t;k=e<<3;do if((((k|4)>>>0)/5|0)>>>0>g>>>0){if((c[276]|0)==-1)c[276]=_b(1,0,21479,21528,883)|0;if((ec()|0)>0){fc(-1,0);h=0;break}if(!(c[276]|0))h=0;else{c[l>>2]=21479;c[l+4>>2]=883;$b(1,61170,l);h=0}}else{o=(k>>>0)%5|0;p=5-o|0;q=0;n=0;l=0;k=0;while(1){m=n>>>0<e>>>0;if(!((k|0)!=0|m)){k=30;break}if(k>>>0<5&m){m=n+1|0;l=d[b+n>>0]|0|l<<8;k=k+8|0}else m=n;if(k>>>0<5){if((k|0)!=(o|0)){k=14;break}l=l<<p;k=5}if(q>>>0>=g>>>0){k=23;break}k=k+-5|0;a[f+q>>0]=a[21558+(l>>>k&31)>>0]|0;q=q+1|0;n=m}if((k|0)==14){if((c[277]|0)==-1)c[277]=_b(1,0,21479,21528,900)|0;if((ec()|0)<=0){if(c[277]|0){c[r>>2]=21479;c[r+4>>2]=900;$b(1,61170,r)}}else fc(-1,0);Zb()}else if((k|0)==23){if((c[278]|0)==-1)c[278]=_b(1,0,21479,21528,905)|0;if((ec()|0)>0){fc(-1,0);h=0;break}if(!(c[278]|0)){h=0;break}c[s>>2]=21479;c[s+4>>2]=905;$b(1,61170,s);h=0;break}else if((k|0)==30){h=f+q|0;if(q>>>0>=g>>>0)break;a[h>>0]=0;break}}while(0);i=t;return h|0}function md(b,c){b=b|0;c=c|0;var d=0,e=0;e=c<<3;d=(e>>>0)%5|0;e=((((d|0)==0?0:5-d|0)+e|0)>>>0)/5|0;d=Tb(e+1|0,21479,939)|0;b=ld(b,c,d,e)|0;if(!b){Vb(d,21479,943);d=0}else a[b>>0]=0;return d|0}function nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;if((i|0)>=(j|0))$(16);p=r;l=f<<3;a:do if(d){g=(l>>>0)%5|0;if(!g){m=d+-1|0;h=od(a[b+m>>0]|0)|0;n=h;g=5;k=0}else{k=5-g|0;m=d+-1|0;h=od(a[b+m>>0]|0)|0;n=h>>k}if(!((h|0)==-1?1:(((k+l|0)>>>0)/5|0|0)!=(d|0))){o=f;h=n;b:while(1){l=(o|0)==0;d=m;f=g;while(1){if(l){q=19;break b}if(!d)break b;d=d+-1|0;n=od(a[b+d>>0]|0)|0;h=n<<f|h;if((n|0)==-1){g=-1;break a}k=f+5|0;if(k>>>0>7)break;else f=k}m=o+-1|0;a[e+m>>0]=h;o=m;m=d;h=h>>>8;g=f+-3|0}if((q|0)==19){g=(m|g|0)==0?1:-1;break}if((c[279]|0)==-1)c[279]=_b(1,0,21479,21591,1003)|0;if((ec()|0)>0){fc(-1,0);g=-1;break}if(c[279]|0){c[p>>2]=21479;c[p+4>>2]=1003;$b(1,61170,p);g=-1}else g=-1}else g=-1}else g=(f|0)==0?1:-1;while(0);i=r;return g|0}function od(a){a=a|0;var b=0,c=0;switch(a<<24>>24){case 111:case 79:{a=48;c=4;break}case 76:case 108:case 73:case 105:{a=49;c=4;break}case 85:case 117:{a=86;c=8;break}default:{b=a&255;if((a+-48&255)>=10){if((a+-97&255)<26)a=(xr(b)|0)&255;if((a+-65&255)<26)c=8;else a=-1}else{a=b;c=4}}}if((c|0)==4)a=a+-48|0;else if((c|0)==8){c=(a&255)>73;a=(a&255)+-55+(((a&255)>79)<<31>>31)+(((a&255)>85)<<31>>31)-((a&255)>76?(c?2:1):c&1)|0}return a|0}function pd(){var a=0;a=70120;D=c[a+4>>2]|0;return c[a>>2]|0}function qd(){D=-1;return -1}function rd(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=a;lb(d|0,0)|0;b=c[d>>2]|0;b=st(b|0,((b|0)<0)<<31>>31|0,1e6,0)|0;d=c[d+4>>2]|0;d=gt(b|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;b=70120;b=gt(d|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=a;return b|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0;f=rd()|0;e=D;d=c[a>>2]|0;a=c[a+4>>2]|0;b=e>>>0<a>>>0|(e|0)==(a|0)&f>>>0<d>>>0;a=dt(f|0,e|0,d|0,a|0)|0;D=b?0:D;return (b?0:a)|0}function td(a,b){a=a|0;b=b|0;a=Zr(a)|0;b=Zr(b)|0;D=a;return b|0}function ud(a,b){a=a|0;b=b|0;a=bs(a)|0;b=bs(b)|0;D=a;return b|0}function vd(a){a=a|0;return Yp(a)|0}function wd(a){a=a|0;return We(a)|0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;b=Ze(a,e)|0;i=d;return ((b|0)==0?0:b&65535|16777216)|0}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=zf(a,b,c,d)|0;return ((d|0)==0?0:d&65535|16777216)|0}function zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;c[g>>2]=e;e=Lf(a,b,d,g)|0;i=f;return ((e|0)==0?0:e&65535|16777216)|0}function Ad(a){a=a|0;yf(a);return}function Bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nf(a,b,c,d)|0}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;return Af(a,b,c)|0}function Dd(a){a=a|0;return Jf(a)|0}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;return Hf(a,b,c)|0}function Fd(a){a=a|0;return an(a)|0}function Gd(a){a=a|0;cn(a);return}function Hd(a,b){a=a|0;b=b|0;return Jl(a,b)|0}function Id(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=km(a,b,c,d,e)|0;return ((e|0)==0?0:e&65535|16777216)|0}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=mm(a,b,c,d,e)|0;return ((e|0)==0?0:e&65535|16777216)|0}function Kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cm(a,b,c,d);return}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dm(a,b,c,d);return}function Md(a,b,c){a=a|0;b=b|0;c=c|0;return Sl(a,b,c)|0}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;return Yl(a,b,c)|0}function Od(a){a=a|0;return Yk(a)|0}function Pd(a){a=a|0;_k(a);return}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;c=$g(a,b,c)|0;return ((c|0)==0?0:c&65535|16777216)|0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;return hl(a,b,c)|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;return il(a,b,c)|0}function Td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Uk(a,b,c,Ig(d,1)|0)|0}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pl(a,b,c,Ig(d,1)|0);return}function Vd(a){a=a|0;return yl(a)|0}function Wd(a,b){a=a|0;b=b|0;return zl(a,b)|0}function Xd(a,b){a=a|0;b=b|0;Cl(a,b);return}function Yd(a,b){a=a|0;b=b|0;return Rm(a,b)|0}function Zd(a,b){a=a|0;b=b|0;return en(a,b)|0}function _d(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!(Ue()|0)){c[a>>2]=0;a=16777392}else{a=Mg(a,b,d,e)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function $d(a){a=a|0;Og(a);return}function ae(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Ue()|0))a=16777392;else{a=Sg(a,b,c)|0;a=(a|0)==0?0:a&65535|536870912}return a|0}function be(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Ue()|0))a=16777392;else{a=Tg(a,b,c)|0;a=(a|0)==0?0:a&65535|536870912}return a|0}function ce(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!(Ue()|0))if(!b)a=16777392;else{et(b|0,66,c|0)|0;a=16777392}else{a=Pg(a,b,c,d,e)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function de(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!(Ue()|0))a=16777392;else{a=Rg(a,b,c,d,e)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;if(!(Ue()|0)){c[a>>2]=0;a=16777392}else{a=zi(a,b,d)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Ue()|0))a=16777392;else{a=Ai(a,b,c)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function ge(a){a=a|0;if(!(Ue()|0))a=16777392;else{a=Bi(a)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function he(a,b){a=a|0;b=b|0;if(!(Ue()|0)){c[a>>2]=0;a=16777392}else{a=Ci(a,b)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function ie(a,b,d){a=a|0;b=b|0;d=d|0;if(!(Ue()|0)){c[a>>2]=0;a=16777392}else{a=Fh(a,b,d)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function je(a){a=a|0;Mh(a);return}function ke(a){a=a|0;Lh(a);return}function le(a,b,c){a=a|0;b=b|0;c=c|0;if(Ue()|0)Nh(a,b,c);return}function me(a,b){a=a|0;b=b|0;return Uh(a,b)|0}function ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!(Ue()|0))Ag(21621,1175,21634,0,21654);Th(a,b,c,d);return}function oe(a){a=a|0;if(!(Ue()|0)){Ag(21621,1198,21686,0,21703);a=0}else a=Wh(a)|0;return a|0}function pe(a){a=a|0;return Xh(a)|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Ue()|0))a=16777392;else{a=Sh(a,b,c)|0;a=(a|0)==0?0:a&65535|16777216}return a|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Ue()|0)){Ag(21621,1287,21733,1,21654);sg()}else{Kk(a,b,c);return}}function se(a,b){a=a|0;b=b|0;if(!(Ue()|0)){Ag(21621,1340,21748,1,21654);sg()}else{Ok(a,b);return}}function te(a){a=a|0;Jg(a);return}function ue(a,b){a=a|0;b=b|0;qf(a,b);return}function ve(a,b){a=a|0;b=b|0;ye(a,b);return}function we(a){a=a|0;ef(a);return}function xe(a){a=a|0;var b=0;b=c[17545]|0;if(b)a=yb[b&15](a)|0;return a|0}function ye(a,b){a=a|0;b=b|0;c[17546]=b;c[17547]=a;return}function ze(a,b){a=a|0;b=b|0;if(!b)b=Yp(a)|0;if(c[17547]|0?(wg()|0)==0:0)zb[c[17547]&7](c[17546]|0,a,b);Ag(21766,86,21773,1,b);Ae(21791);Ae(b);Ae(22222);og();Aa()}function Ae(a){a=a|0;vs(2,a,yr(a)|0)|0;return}function Be(a){a=a|0;c[17550]=a;return}function Ce(a){a=a|0;return (c[17550]|0)>=(a|0)|0}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;e=c[17548]|0;if(!e){switch(a|0){case 30:case 20:case 10:case 0:break;case 40:{ns(21806,c[3901]|0)|0;break}case 50:{ns(21814,c[3901]|0)|0;break}case 100:{ns(21828,c[3901]|0)|0;break}default:{e=c[3901]|0;c[f>>2]=a;Wr(e,21834,f)|0}}jr(c[3901]|0,b,d)|0}else Eb[e&1](c[17549]|0,a,b,d);switch(a|0){case 40:case 50:{Ag(21766,140,21859,1,21870);og();Aa();break}default:{i=g;return}}}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=d;De(a,b,f);i=e;return}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;Ee(50,21900,e);Aa()}function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;Ee(50,21930,f);Aa()}function He(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;De(10,a,e);i=d;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=a;c[e>>2]=d;De(10,b,e);i=a;return 0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;De(30,a,e);i=d;return}function Ke(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[d>>2]=b;De(40,a,d);Aa()}function Le(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);c[d>>2]=b;De(50,a,d);Aa()}function Me(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=b;De(100,a,e);i=d;return}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;if(a|0){c[d>>2]=b;De(0,a,d)}i=e;return}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;Pe(a,21964,b,c);return}function Pe(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;if((i|0)>=(j|0))$(64);q=s+56|0;p=s+40|0;o=s+32|0;r=s+24|0;l=s+16|0;k=s+8|0;h=s;n=(b|0)!=0;if(n?(a[b>>0]|0)!=0:0){c[h>>2]=b;c[h+4>>2]=e;Me(21966,h);if((f|0)!=0&((g|0)!=0&(a[e+1>>0]|0)==91)){Ne(22222,k);c[l>>2]=yr(b)|0;c[l+4>>2]=71699;Me(21972,l);h=1;e=21964}else h=1}else h=0;a:do if(g|0){m=(h|0)==0;l=f;h=0;while(1){k=g+-1|0;if(!g)break a;c[r>>2]=d[l>>0];Ne(21978,r);if(!m){h=h+1|0;if((k|0)!=0&(h|0)==32){Ne(21983,o);f=yr(b)|0;h=yr(e)|0;c[p>>2]=f;c[p+4>>2]=71699;c[p+8>>2]=h;c[p+12>>2]=71699;Me(21987,p);h=0}}l=l+1|0;g=k}}while(0);if(n)Ne(22222,q);i=s;return}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=k;g=k+12|0;h=k+8|0;d=k+4|0;e=k+16|0;do if(!b)Pe(a|0?a:21964,21995,0,0);else{if(c[b+12>>2]&4|0){h=Rm(b,d)|0;c[f>>2]=c[d>>2];hr(e,30,22003,f)|0;Pe(a|0?a:21964,e,h,((c[d>>2]|0)+7|0)>>>3);break}e=gm(b,0,g,h)|0;if(!e){Pe(a|0?a:21964,22013,0,0);break}d=c[g>>2]|0;b=c[h>>2]|0?22028:22030;if(!d)Pe(a,b,71699,1);else Pe(a,b,e,d);ef(e)}while(0);i=k;return}function Re(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;b=b+63+((b|0)==0&1)&-64;d=b;e=i;i=i+((1*d|0)+15&-16)|0;if((i|0)>=(j|0))$((1*d|0)+15&-16|0);while(1){if(!((b|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;e=e+1|0;b=b+-1|0}if(b>>>0>=8){g=b+-8|0;h=g&-8;f=h+8|0;d=e;while(1){l=d;c[l>>2]=0;c[l+4>>2]=0;b=b+-8|0;if(b>>>0<=7)break;else d=d+8|0}e=e+f|0;b=g-h|0}while(1){if(!b)break;a[e>>0]=0;e=e+1|0;b=b+-1|0}i=k;return}function Se(){return}function Te(){aq(33);ze(Zp(c[(Oq()|0)>>2]|0)|0,22032)}function Ue(){if(!(c[17551]|0))Ve();return Cg()|0}function Ve(){do if(!(c[17551]|0)){c[17551]=1;xk(0);qg(c[17552]|0);Uf();if((((((Ug()|0)==0?($h()|0)==0:0)?(Di()|0)==0:0)?(ai()|0)==0:0)?(dg()|0)==0:0)?(Em()|0)==0:0)break;Fe(22047,123,22056)}while(0);return}function We(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=l+20|0;f=l+16|0;g=l+12|0;e=l+8|0;h=l+4|0;k=l;do if(b){if((a[b>>0]|0)==1?(a[b+1>>0]|0)==1:0){b=gn()|0;break}Ve();if((Xe(22068,d,f,g)|0)!=0?(Xe(b,e,h,k)|0)!=0:0){d=c[d>>2]|0;b=c[e>>2]|0;if((d|0)>(b|0))b=22068;else{if((d|0)==(b|0)){if((c[f>>2]|0)>(c[h>>2]|0)){b=22068;break}if((c[f>>2]|0)==(c[h>>2]|0)?(c[g>>2]|0)>(c[k>>2]|0):0){b=22068;break}if((c[f>>2]|0)==(c[h>>2]|0)?(c[g>>2]|0)==(c[k>>2]|0):0){b=22068;break}}b=0}}else b=0}else{Ve();b=22068}while(0);i=l;return b|0}function Xe(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;b=Ye(b,c)|0;if((((b|0)!=0?(a[b>>0]|0)==46:0)?(f=Ye(b+1|0,d)|0,(f|0)!=0):0)?(a[f>>0]|0)==46:0)b=Ye(f+1|0,e)|0;else b=0;return b|0}function Ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;if(e<<24>>24==48)if(((a[b+1>>0]|0)+-48|0)>>>0<10)b=0;else{g=0;f=b;b=48;h=3}else{g=0;f=b;b=e;h=3}if((h|0)==3){while(1){b=(b<<24>>24)+-48|0;if(b>>>0>=10)break;h=f+1|0;g=b+(g*10|0)|0;f=h;b=a[h>>0]|0;h=3}c[d>>2]=g;b=(g|0)<0?0:f}return b|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+112|0;if((i|0)>=(j|0))$(112);r=s+88|0;p=s+80|0;o=s+72|0;n=s+64|0;h=s+48|0;g=s+24|0;f=s+16|0;e=s+8|0;d=s;l=s+96|0;a:do switch(a|0){case 31:{Vf();a=0;break}case 44:{xk(0);Dk();a=0;break}case 51:{a=(Gk()|0)!=0&1;break}case 13:{Bk();a=0;break}case 62:case 23:{a=0;break}case 14:{pg();a=0;break}case 30:{Ve();bg(0);a=0;break}case 37:{Ve();c[17553]=1;a=0;break}case 24:{Ve();r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;bg(a);a=(ag()|0)>>>2&1;break}case 25:{Ve();og();a=0;break}case 27:{xk(0);$f(ag()|0|1);a=0;break}case 28:{xk(0);$f(ag()|0|2);a=0;break}case 29:{xk(0);$f((ag()|0)&-3);a=0;break}case 22:{Ve();Ck();a=0;break}case 45:{xk(0);r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;Lk(a);a=0;break}case 46:{xk(0);if(!(Ue()|0))a=0;else{Mk();a=0}break}case 19:{xk(0);r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;Be(a);a=0;break}case 20:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;c[17554]=c[17554]|a;a=0;break}case 21:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;c[17554]=c[17554]&~a;a=0;break}case 36:{Ve();a=0;break}case 40:{a=c[17551]|0;break}case 39:{a=c[17555]|0;break}case 38:{if(!(c[17555]|0)){Ve();yk(0);c[17555]=1;Ue()|0;a=0}else a=0;break}case 47:{xk(0);Ve();a=0;break}case 48:{xk(0);yk(1);if(!(Ue()|0))a=0;else{Nk();a=0}break}case 52:{a=16777276;break}case 49:{xk(0);r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;Ek(a);a=0;break}case 50:{xk(0);yk(1);r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;Fk((a|0)!=0&1)|0;a=0;break}case 70:{zk();a=0;break}case 53:{k=(c[b>>2]|0)+(4-1)&~(4-1);m=c[k>>2]|0;c[b>>2]=k+4;xk(0);k=m|0?28:27;c[d>>2]=22068;ub[k&63](m,22082,d)|0;c[e>>2]=22108;ub[k&63](m,22095,e)|0;c[f>>2]=22133;ub[k&63](m,22120,f)|0;c[g>>2]=22154;ub[k&63](m,22141,g)|0;ub[k&63](m,22168,s+32|0)|0;ub[k&63](m,22184,s+40|0)|0;c[h>>2]=Dm()|0;ub[k&63](m,22196,h)|0;d=Sf()|0;ub[k&63](m,22209,s+56|0)|0;a=0;while(1){e=Tf(a,l)|0;if(!e)break;if(c[l>>2]&d|0){c[n>>2]=e;ub[k&63](m,22218,n)|0}a=a+1|0}ub[k&63](m,22222,o)|0;b=(wg()|0)!=0;a=(xg()|0)!=0;c[p>>2]=b?121:110;c[p+4>>2]=a?121:110;ub[k&63](m,22224,p)|0;a=Ak(0)|0;switch(a|0){case 1:{q=22267;break}case 2:{q=22262;break}case 3:{q=22255;break}default:Fe(22047,321,22242)}c[r>>2]=q;c[r+4>>2]=a;ub[k&63](m,22276,r)|0;a=0;break}case 54:{xk(0);a=(Fg()|0)!=0&1;break}case 55:{if(!(wg()|0))a=0;else{a=Bg()|0;a=(c[17553]|a|0)==0&1}break}case 56:{xk(0);if(!(c[17551]|0)){c[17552]=1;a=0;break a}if(Gg()|0)Dg(1)|0;b=(Cg()|0)!=0&1;i=s;return b|0}case 57:{Ve();a=Dg(1)|0;break}case 58:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);d=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);e=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);f=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);g=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);h=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);k=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);l=c[r>>2]|0;c[b>>2]=r+4;if(!(Ue()|0))a=176;else a=Qk(a,d,e,f,g,h,k,l)|0;break}case 59:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);d=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);e=c[r>>2]|0;c[b>>2]=r+4;if(!(Ue()|0))a=176;else a=Rk(a,d,e)|0;break}case 60:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;Sk(a);a=0;break}case 61:{q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;switch(r|0){case 30111:{a=bq(1120)|0;break a}case 30112:{a=cq(1120)|0;break a}case 30113:{a=dq(1120)|0;break a}case 30114:{a=eq(1120)|0;break a}default:{a=61;break a}}}case 63:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;a=Rf(a)|0;break}case 64:{if(!(c[17551]|0)){xk(0);yg();a=0}else a=1;break}case 65:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;if((a|0)>0){xk(a);a=0}else a=0;break}case 66:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;if(!a)a=0;else{c[a>>2]=Ak(c[17551]^1)|0;a=0}break}case 67:{xk(0);$f(ag()|0|8);a=0;break}case 68:{xk(0);$f(ag()|0|16);a=0;break}case 72:case 71:{a=69;break}default:{xk(0);a=61}}while(0);i=s;return a|0}function _e(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=0;$e(a,0,d);i=b;return c[d>>2]|0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b&1|0)!=0?(af()|0)==0:0){b=c[17557]|0;if(!b){b=Xf(a)|0;break}else{b=yb[b&15](a)|0;break}}else e=6;while(0);do if((e|0)==6){b=c[17556]|0;if(!b){b=Wf(a)|0;break}else{b=yb[b&15](a)|0;break}}while(0);if(!b){a=Oq()|0;b=c[a>>2]|0;if(!b){aq(12);b=c[a>>2]|0}Zp(b)|0}else c[d>>2]=b;return}function af(){var a=0;do if(c[17553]|0)if(!(xg()|0)){a=c[17553]|0;break}else{c[17553]=0;a=0;break}else a=0;while(0);return a|0}function bf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=0;$e(a,1,d);i=b;return c[d>>2]|0}function cf(a){a=a|0;var b=0;do if(!(af()|0)){b=c[17558]|0;if(!b){a=ng(a)|0;break}else{a=yb[b&15](a)|0;break}}else a=0;while(0);return a|0}function df(a,b){a=a|0;b=b|0;var d=0;do if(a){if(!b){ef(a);a=0;break}d=c[17559]|0;if(!d)a=Yf(a,b)|0;else a=Db[d&7](a,b)|0;if(!a)if(!(c[(Oq()|0)>>2]|0)){aq(12);a=0}else a=0}else a=_e(b)|0;while(0);return a|0}function ef(a){a=a|0;var b=0,d=0;if(a|0){b=c[(Oq()|0)>>2]|0;d=c[17560]|0;if(!d)_f(a);else wb[d&15](a);if(b|0)aq(b)}return}function ff(a,b){a=a|0;b=b|0;var c=0;c=S(b,a)|0;if((b|0)!=0?((c>>>0)/(b>>>0)|0|0)!=(a|0):0){aq(12);a=0}else{a=_e(c)|0;if(!a)a=0;else et(a|0,0,c|0)|0}return a|0}function gf(a,b){a=a|0;b=b|0;var c=0;c=S(b,a)|0;if((b|0)!=0?((c>>>0)/(b>>>0)|0|0)!=(a|0):0){aq(12);a=0}else{a=bf(c)|0;if(!a)a=0;else et(a|0,0,c|0)|0}return a|0}function hf(a){a=a|0;var b=0;b=yr(a)|0;b=b+1|0;if(!(cf(a)|0))b=_e(b)|0;else b=bf(b)|0;if(b|0)Kr(b,a)|0;return b|0}function jf(a){a=a|0;var b=0,d=0;while(1){d=_e(a)|0;if(d|0){b=6;break}d=(wg()|0)==0;b=c[17561]|0;if(!(d&(b|0)!=0)){b=5;break}if(!(ub[b&63](c[17562]|0,a,0)|0)){b=5;break}}if((b|0)==5)ze(Zp(c[(Oq()|0)>>2]|0)|0,0);else if((b|0)==6)return d|0;return 0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;while(1){e=df(a,b)|0;if(e|0){d=6;break}e=(wg()|0)==0;d=c[17561]|0;if(!(e&(d|0)!=0)){d=5;break}f=c[17562]|0;e=(cf(a)|0)!=0;if(!(ub[d&63](f,b,e?3:2)|0)){d=5;break}}if((d|0)==5)ze(Zp(c[(Oq()|0)>>2]|0)|0,0);else if((d|0)==6)return e|0;return 0}function lf(a){a=a|0;var b=0,d=0;while(1){d=bf(a)|0;if(d|0){b=6;break}d=(wg()|0)==0;b=c[17561]|0;if(!(d&(b|0)!=0)){b=5;break}if(!(ub[b&63](c[17562]|0,a,1)|0)){b=5;break}}if((b|0)==5){d=Zp(c[(Oq()|0)>>2]|0)|0;ze(d,xe(22293)|0)}else if((b|0)==6)return d|0;return 0}function mf(a,b){a=a|0;b=b|0;var d=0;d=S(b,a)|0;if(b|0?((d>>>0)/(b>>>0)|0|0)!=(a|0):0){aq(12);ze(Zp(c[(Oq()|0)>>2]|0)|0,0)}b=jf(d)|0;et(b|0,0,d|0)|0;return b|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=S(b,a)|0;if(b|0?((d>>>0)/(b>>>0)|0|0)!=(a|0):0){aq(12);ze(Zp(c[(Oq()|0)>>2]|0)|0,0)}b=lf(d)|0;et(b|0,0,d|0)|0;return b|0}function of(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;do{b=hf(a)|0;if(b|0){f=8;break}b=yr(a)|0;e=(cf(a)|0)!=0;g=(wg()|0)==0;d=c[17561]|0;if(!(g&(d|0)!=0))break}while((ub[d&63](c[17562]|0,b,e&1)|0)!=0);if((f|0)==8)return b|0;d=Zp(c[(Oq()|0)>>2]|0)|0;if(e)b=xe(22293)|0;else b=0;ze(d,b);return 0}function pf(a){a=a|0;var b=0;b=(wg()|0)==0;return (b?c[17554]&a:0)|0}function qf(a,b){a=a|0;b=b|0;bi(a,b);vk(a,b);return}function rf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=l;h=l+8|0;k=l+4|0;do if((a|0)!=0?(c[a>>2]=0,(b|0)!=0&e>>>0<2):0){if(!(e|d)){d=sf(b,0,0,h)|0;if(!d){d=c[h>>2]|0;break}}else if((d|0)==0&(e|0)!=0)d=yr(b)|0;d=tf(k,0,b,d,0,0,g)|0;c[h>>2]=d;if(!d){c[a>>2]=c[k>>2];if(!f)d=0;else{wb[f&15](b);d=0}}}else d=45;while(0);i=l;return d|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;if((i|0)>=(j|0))$(16);o=(e|0)==0?p+4|0:e;n=(f|0)==0?p:f;c[n>>2]=0;c[o>>2]=0;a:do if(!b)e=0;else{if((a[b>>0]|0)!=40){c[n>>2]=204;e=0;break}m=d+-1|0;e=0;l=0;k=0;h=0;b:while(1){if(m>>>0<l>>>0){f=6;break}d=a[b>>0]|0;g=d&255;c:do if(k)if(d<<24>>24==58){f=l+k|0;if(m>>>0<f>>>0){f=10;break b}g=0;d=h;b=b+k|0;break}else{if((d+-48&255)>=10){f=14;break b}f=l;g=(k*10|0)+-48+g|0;d=h;break}else switch(d<<24>>24){case 40:{if(h|0){f=17;break b}e=e+1|0;f=l;g=0;d=0;break c}case 41:{if(!e){f=20;break b}if(h|0){f=22;break b}e=e+-1|0;if(!e){f=24;break b}else{f=l;g=0;d=0;break c}}case 91:if(!h){f=l;g=0;d=b;break c}else{f=26;break b}case 93:if(!h){f=28;break b}else{f=l;g=0;d=0;break c}default:{if((d+-48&255)>=10){f=33;break b}if(d<<24>>24==48){f=31;break b}f=l;g=g+-48|0;d=h;break c}}while(0);l=f+1|0;k=g;h=d;b=b+1|0}switch(f|0){case 6:{c[o>>2]=l;c[n>>2]=202;e=0;break a}case 10:{c[o>>2]=l;c[n>>2]=202;e=0;break a}case 14:{c[o>>2]=l;c[n>>2]=201;e=0;break a}case 17:{c[o>>2]=l;c[n>>2]=209;e=0;break a}case 20:{c[o>>2]=l;c[n>>2]=203;e=0;break a}case 22:{c[o>>2]=l;c[n>>2]=209;e=0;break a}case 24:{e=l+1|0;break a}case 26:{c[o>>2]=l;c[n>>2]=208;e=0;break a}case 28:{c[o>>2]=l;c[n>>2]=209;e=0;break a}case 31:{c[o>>2]=l;c[n>>2]=207;e=0;break a}case 33:switch(d<<24>>24){case 92:case 38:{c[o>>2]=l;c[n>>2]=210;e=0;break a}default:{c[o>>2]=l;c[n>>2]=205;e=0;break a}}}}while(0);i=p;return e|0}function tf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);l=k;c[l>>2]=h;h=uf(a,b,d,e,f,g,l)|0;i=k;return h|0}function uf(b,e,f,g,h,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=i;i=i+80|0;if((i|0)>=(j|0))$(80);L=P+8|0;K=P;n=P+64|0;O=P+52|0;J=P+16|0;I=P+12|0;do if((b|0)!=0?(c[b>>2]=0,(f|0)!=0):0){H=(e|0)==0?n:e;e=g+2|0;M=O+4|0;c[M>>2]=e;if((g|0)!=0?(cf(f)|0)!=0:0){e=bf(e)|0;c[O>>2]=e}else{e=_e(e)|0;c[O>>2]=e}a:do if(!e){m=Zp(c[(Oq()|0)>>2]|0)|0;c[H>>2]=0;N=219}else{G=O+8|0;c[G>>2]=e;D=(h|0)!=0;E=(k|0)==0;F=f;B=0;r=0;q=0;h=0;u=0;v=0;w=0;x=0;y=0;s=0;z=0;b:while(1){if(!g){N=214;break}p=(h|0)!=0;if(!(p|(q|0)==0))if(!(pr(22329,a[F>>0]|0,71)|0)){n=F;e=n-q|0;o=vf(O,e)|0;if(o|0){N=14;break}N=c[G>>2]|0;c[G>>2]=N+1;a[N>>0]=1;N=e&65535;C=c[G>>2]|0;a[C>>0]=N;a[C+1>>0]=N>>8;C=(c[G>>2]|0)+2|0;c[G>>2]=C;kt(C|0,q|0,e|0)|0;c[G>>2]=(c[G>>2]|0)+e;C=0;N=16}else{t=B;p=r;e=F;h=0;o=s}else{C=q;N=16}c:do if((N|0)==16){N=0;if(r|0){e=a[F>>0]|0;if(y|0)switch(e<<24>>24|0){case 92:case 39:case 34:case 114:case 102:case 110:case 118:case 116:case 98:{t=B;y=0;p=r;q=C;e=F;o=s;break c}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{if(g>>>0<=2){N=22;break b}if((a[F+1>>0]&-8)<<24>>24!=48){N=22;break b}e=F+2|0;if((a[e>>0]&-8)<<24>>24!=48){N=22;break b}t=B;y=0;p=r;q=C;g=g+-2|0;o=s;break c}case 120:{if(g>>>0<=2){N=29;break b}e=a[F+1>>0]|0;if((e+-48&255)>=10)switch(e<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{N=29;break b}}n=F+2|0;e=a[n>>0]|0;if((e+-48&255)>=10)switch(e<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{N=29;break b}}t=B;y=0;p=r;q=C;e=n;g=g+-2|0;o=s;break c}case 13:{e=F+1|0;o=(a[e>>0]|0)==10;t=B;y=0;p=r;q=C;e=o?e:F;g=(o<<31>>31)+g|0;o=s;break c}case 10:{e=F+1|0;o=(a[e>>0]|0)==13;t=B;y=0;p=r;q=C;e=o?e:F;g=(o<<31>>31)+g|0;o=s;break c}default:{N=33;break b}}if(e<<24>>24==92){t=B;y=1;p=r;q=C;e=F;o=s;break}if(e<<24>>24!=34){t=B;y=0;p=r;q=C;e=F;o=s;break}p=r+1|0;e=F;o=e-p|0;n=vf(O,o)|0;if(n|0){N=74;break b}A=c[G>>2]|0;c[G>>2]=A+1;a[A>>0]=1;A=c[G>>2]|0;a[A>>0]=0;a[A+1>>0]=0;y=(c[G>>2]|0)+2|0;c[G>>2]=y;t=y;n=p;e=0;while(1){if(!o)break;p=a[n>>0]|0;q=p&255;d:do if(!e){if(p<<24>>24==92){e=1;q=t;break}a[t>>0]=p;e=0;q=t+1|0}else do switch(p<<24>>24){case 98:{a[t>>0]=8;e=0;q=t+1|0;break d}case 116:{a[t>>0]=9;e=0;q=t+1|0;break d}case 118:{a[t>>0]=11;e=0;q=t+1|0;break d}case 110:{a[t>>0]=10;e=0;q=t+1|0;break d}case 102:{a[t>>0]=12;e=0;q=t+1|0;break d}case 114:{a[t>>0]=13;e=0;q=t+1|0;break d}case 34:{a[t>>0]=34;e=0;q=t+1|0;break d}case 39:{a[t>>0]=39;e=0;q=t+1|0;break d}case 92:{a[t>>0]=92;e=0;q=t+1|0;break d}case 13:{p=n+1|0;if(o>>>0<=1){e=0;o=1;q=t;break d}r=(a[p>>0]|0)==10;e=0;o=(r<<31>>31)+o|0;q=t;n=r?p:n;break d}case 10:{p=n+1|0;if(o>>>0<=1){e=0;o=1;q=t;break d}r=(a[p>>0]|0)==13;e=0;o=(r<<31>>31)+o|0;q=t;n=r?p:n;break d}case 120:{if(o>>>0<=2){e=0;q=t;break d}p=a[n+1>>0]|0;if((p+-48&255)>=10)switch(p<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{e=0;q=t;break d}}r=n+2|0;q=a[r>>0]|0;if((q+-48&255)>=10)switch(q<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{e=0;q=t;break d}}e=p&255;if((p&255)<58)n=e+-48|0;else n=e+10+((p&255)<71?-65:-97)|0;e=q&255;if((q&255)<58)e=e+-48|0;else e=e+10+((q&255)<71?-65:-97)|0;a[t>>0]=e+(n<<4);e=0;o=o+-2|0;q=t+1|0;n=r;break d}default:{if(!(o>>>0>2&(p&-8)<<24>>24==48)){e=0;q=t;break d}e=a[n+1>>0]|0;if((e&-8)<<24>>24!=48){e=0;q=t;break d}r=n+2|0;p=a[r>>0]|0;if((p&-8)<<24>>24!=48){e=0;q=t;break d}a[t>>0]=(q<<6)+80+((e&255)<<3)+(p&255);e=0;o=o+-2|0;q=t+1|0;n=r;break d}}while(0);while(0);o=o+-1|0;t=q;n=n+1|0}t=t-y|0;c[G>>2]=(c[G>>2]|0)+t;t=t&65535;a[A>>0]=t;a[A+1>>0]=t>>8;t=B;y=0;p=0;q=C;e=F;o=s;break}if(p){e=a[F>>0]|0;n=e<<24>>24;if(gr(n)|0){t=B;x=x+1|0;p=0;q=C;e=F;o=s;break}if(e<<24>>24!=35)switch(n|0){case 10:case 13:case 12:case 11:case 9:case 32:{t=B;p=0;q=C;e=F;o=s;break c}default:{N=93;break b}}if(x&1|0){N=80;break b}e=(x|0)/2|0;n=vf(O,e)|0;if(n|0){N=82;break b}t=c[G>>2]|0;c[G>>2]=t+1;a[t>>0]=1;t=e&65535;A=c[G>>2]|0;a[A>>0]=t;a[A+1>>0]=t>>8;c[G>>2]=(c[G>>2]|0)+2;e:while(1){e=h+1|0;if(e>>>0>=F>>>0){t=B;p=0;q=C;e=F;h=0;o=s;break c}n=a[e>>0]|0;switch(n<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:{h=e;continue e}default:{}}e=wf(n&255)|0;h=h+2|0;f:while(1){if(h>>>0>=F>>>0)break;n=a[h>>0]|0;switch(n<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:break;default:{N=90;break f}}h=h+1|0}if((N|0)==90){N=0;e=(wf(n&255)|0)+(e<<4)|0}A=c[G>>2]|0;c[G>>2]=A+1;a[A>>0]=e}}if(u|0){t=B;u=(a[F>>0]|0)==124?0:u;p=0;q=C;e=F;h=0;o=s;break}if(B|0){e=a[F>>0]|0;if((e+-48&255)<10){t=B;u=0;p=0;q=C;e=F;h=0;o=s;break}switch(e<<24>>24){case 34:{t=0;u=0;y=0;p=F;q=C;e=F;h=0;o=s;break c}case 58:{n=Ps(B)|0;if(n>>>0>(g+-1|0)>>>0){N=100;break b}e=vf(O,n)|0;if(e|0){N=102;break b}u=c[G>>2]|0;c[G>>2]=u+1;a[u>>0]=1;u=n&65535;t=c[G>>2]|0;a[t>>0]=u;a[t+1>>0]=u>>8;t=(c[G>>2]|0)+2|0;c[G>>2]=t;kt(t|0,F+1|0,n|0)|0;c[G>>2]=(c[G>>2]|0)+n;t=0;u=0;p=0;q=C;e=F+n|0;g=g-n|0;h=0;o=s;break c}case 35:{t=0;u=0;x=0;p=0;q=C;e=F;h=F;o=s;break c}case 124:{t=0;u=F;p=0;q=C;e=F;h=0;o=s;break c}default:{N=106;break b}}}n=a[F>>0]|0;if(!w)switch(n<<24>>24){case 34:{t=0;u=0;w=0;y=0;p=F;q=C;e=F;h=0;o=s;break c}case 40:{if(v|0){N=187;break b}e=vf(O,0)|0;if(e|0){N=189;break b}t=c[G>>2]|0;c[G>>2]=t+1;a[t>>0]=3;t=0;u=0;v=0;w=0;z=z+1|0;p=0;q=C;e=F;h=0;o=s;break c}case 41:{if(v|0){N=192;break b}e=vf(O,0)|0;if(e|0){N=194;break b}t=c[G>>2]|0;c[G>>2]=t+1;a[t>>0]=4;t=0;u=0;v=0;w=0;z=z+-1|0;p=0;q=C;e=F;h=0;o=s;break c}case 35:{t=0;u=0;w=0;x=0;p=0;q=C;e=F;h=F;o=s;break c}case 124:{t=0;u=F;w=0;p=0;q=C;e=F;h=0;o=s;break c}case 91:if(!v){t=0;u=0;v=F;w=0;p=0;q=C;e=F;h=0;o=s;break c}else{N=199;break b}case 93:if(!v){N=201;break b}else{t=0;u=0;v=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}default:{if((n+-48&255)<10)if(n<<24>>24==48){N=204;break b}else{t=F;u=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}e=n<<24>>24;if(pr(22329,e,71)|0){t=0;u=0;w=0;p=0;q=F;e=F;h=0;o=s;break c}switch(e|0){case 10:case 13:case 12:case 11:case 9:case 32:{t=0;u=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}default:{}}if(n<<24>>24==123){N=208;break b}if(pr(22428,e,3)|0){N=210;break b}if(D&n<<24>>24==37){t=0;u=0;w=F;p=0;q=C;e=F;h=0;o=s;break c}else{N=212;break b}}}switch(n<<24>>24){case 77:case 109:{c[J>>2]=0;n=(a[F>>0]|0)==109?1:5;if(E){o=(c[l>>2]|0)+(4-1)&~(4-1);h=c[o>>2]|0;c[l>>2]=o+4;o=s}else{h=c[c[k+(s<<2)>>2]>>2]|0;o=s+1|0}if(en(h,2)|0){n=Rm(h,I)|0;e=((c[I>>2]|0)+7|0)>>>3;c[J>>2]=e;if((n|0)!=0&(e|0)!=0){e=vf(O,e)|0;if(e|0){N=115;break b}do if(!(cf(c[O>>2]|0)|0)){if(!(en(h,1)|0))break;e=bf(c[M>>2]|0)|0;if(!e){N=120;break b}B=c[O>>2]|0;A=(c[G>>2]|0)-B|0;kt(e|0,B|0,A|0)|0;c[G>>2]=e+A;ef(B);c[O>>2]=e}while(0);A=c[G>>2]|0;c[G>>2]=A+1;a[A>>0]=1;A=c[J>>2]&65535;B=c[G>>2]|0;a[B>>0]=A;a[B+1>>0]=A>>8;B=(c[G>>2]|0)+2|0;c[G>>2]=B;kt(B|0,n|0,c[J>>2]|0)|0;c[G>>2]=(c[G>>2]|0)+(c[J>>2]|0)}}else{if(mm(n,0,0,J,h)|0){N=125;break b}e=vf(O,c[J>>2]|0)|0;if(e|0){N=127;break b}do if(!(cf(c[O>>2]|0)|0)){if(!(en(h,1)|0))break;e=bf(c[M>>2]|0)|0;if(!e){N=132;break b}B=c[O>>2]|0;A=(c[G>>2]|0)-B|0;kt(e|0,B|0,A|0)|0;c[G>>2]=e+A;ef(B);c[O>>2]=e}while(0);A=c[G>>2]|0;c[G>>2]=A+1;a[A>>0]=1;A=c[J>>2]&65535;B=c[G>>2]|0;a[B>>0]=A;a[B+1>>0]=A>>8;B=(c[G>>2]|0)+2|0;c[G>>2]=B;if(mm(n,B,c[J>>2]|0,J,h)|0){N=134;break b}c[G>>2]=(c[G>>2]|0)+(c[J>>2]|0)}t=0;u=0;w=0;p=0;q=C;e=F;h=0;break c}case 115:{if(E){o=(c[l>>2]|0)+(4-1)&~(4-1);h=c[o>>2]|0;c[l>>2]=o+4;o=s}else{h=c[c[k+(s<<2)>>2]>>2]|0;o=s+1|0}e=yr(h)|0;n=vf(O,e)|0;if(n|0){N=143;break b}u=c[G>>2]|0;c[G>>2]=u+1;a[u>>0]=1;u=e&65535;t=c[G>>2]|0;a[t>>0]=u;a[t+1>>0]=u>>8;t=(c[G>>2]|0)+2|0;c[G>>2]=t;kt(t|0,h|0,e|0)|0;c[G>>2]=(c[G>>2]|0)+e;t=0;u=0;w=0;p=0;q=C;e=F;h=0;break c}case 98:{if(E){o=(c[l>>2]|0)+(4-1)&~(4-1);h=c[o>>2]|0;c[l>>2]=o+4;o=(c[l>>2]|0)+(4-1)&~(4-1);n=c[o>>2]|0;c[l>>2]=o+4;o=s}else{n=c[c[k+(s+1<<2)>>2]>>2]|0;h=c[c[k+(s<<2)>>2]>>2]|0;o=s+2|0}e=vf(O,h)|0;if(e|0){N=148;break b}do if(h|0){if(cf(c[O>>2]|0)|0)break;if(!(cf(n)|0))break;e=bf(c[M>>2]|0)|0;if(!e){N=154;break b}B=c[O>>2]|0;A=(c[G>>2]|0)-B|0;kt(e|0,B|0,A|0)|0;c[G>>2]=e+A;ef(B);c[O>>2]=e}while(0);u=c[G>>2]|0;c[G>>2]=u+1;a[u>>0]=1;u=h&65535;t=c[G>>2]|0;a[t>>0]=u;a[t+1>>0]=u>>8;t=(c[G>>2]|0)+2|0;c[G>>2]=t;kt(t|0,n|0,h|0)|0;c[G>>2]=(c[G>>2]|0)+h;t=0;u=0;w=0;p=0;q=C;e=F;h=0;break c}case 100:{if(E){o=(c[l>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[l>>2]=o+4;o=s}else{e=c[c[k+(s<<2)>>2]>>2]|0;o=s+1|0}c[K>>2]=e;Ur(J,22422,K)|0;e=yr(J)|0;n=vf(O,e)|0;if(n|0){N=161;break b}u=c[G>>2]|0;c[G>>2]=u+1;a[u>>0]=1;u=e&65535;t=c[G>>2]|0;a[t>>0]=u;a[t+1>>0]=u>>8;t=(c[G>>2]|0)+2|0;c[G>>2]=t;kt(t|0,J|0,e|0)|0;c[G>>2]=(c[G>>2]|0)+e;t=0;u=0;w=0;p=0;q=C;e=F;h=0;break c}case 117:{if(E){o=(c[l>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[l>>2]=o+4;o=s}else{e=c[c[k+(s<<2)>>2]>>2]|0;o=s+1|0}c[L>>2]=e;Ur(J,22425,L)|0;e=yr(J)|0;n=vf(O,e)|0;if(n|0){N=167;break b}u=c[G>>2]|0;c[G>>2]=u+1;a[u>>0]=1;u=e&65535;t=c[G>>2]|0;a[t>>0]=u;a[t+1>>0]=u>>8;t=(c[G>>2]|0)+2|0;c[G>>2]=t;kt(t|0,J|0,e|0)|0;c[G>>2]=(c[G>>2]|0)+e;t=0;u=0;w=0;p=0;q=C;e=F;h=0;break c}case 83:{if(E){B=(c[l>>2]|0)+(4-1)&~(4-1);r=c[B>>2]|0;c[l>>2]=B+4}else{r=c[c[k+(s<<2)>>2]>>2]|0;s=s+1|0}if(!r){t=0;u=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}p=r;h=0;n=r;q=0;g:while(1){o=h;e=n;h:while(1){i:while(1){h=a[e>>0]|0;if(!(h<<24>>24)){t=0;u=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}n=e+1|0;switch(h<<24>>24){case 3:break h;case 4:break i;case 1:break;default:{e=n;continue i}}e=n+(((d[n>>0]|d[n+1>>0]<<8)&65535)+2)|0}e=o+-1|0;if(!e)break g;else{o=e;e=n}}h=o+1|0;q=(o|0)==0?e-p|0:q}e=n-p|0;if(!e){t=0;u=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}n=vf(O,e)|0;if(n|0){N=183;break b}kt(c[G>>2]|0,r+q|0,e|0)|0;c[G>>2]=(c[G>>2]|0)+e;t=0;u=0;w=0;p=0;q=C;e=F;h=0;o=s;break c}default:{N=184;break b}}}while(0);F=e+1|0;g=g+-1|0;B=t;r=p;s=o}switch(N|0){case 14:{c[H>>2]=n-f;m=o;N=218;break}case 22:{c[H>>2]=F-f;m=206;N=218;break}case 29:{c[H>>2]=F-f;m=206;N=218;break}case 33:{c[H>>2]=F-f;m=206;N=218;break}case 74:{c[H>>2]=e-f;m=n;N=218;break}case 80:{c[H>>2]=F-f;m=212;N=218;break}case 82:{c[H>>2]=F-f;m=n;N=218;break}case 93:{c[H>>2]=F-f;m=211;N=218;break}case 100:{c[H>>2]=F-f;m=202;N=218;break}case 102:{c[H>>2]=F-f;m=e;N=218;break}case 106:{c[H>>2]=F-f;m=201;N=218;break}case 115:{c[H>>2]=F-f;m=e;N=123;break}case 120:{m=Zp(c[(Oq()|0)>>2]|0)|0;N=123;break}case 125:{Fe(22400,1433,22407);break}case 127:{c[H>>2]=F-f;m=e;break}case 132:{m=Zp(c[(Oq()|0)>>2]|0)|0;break}case 134:{Fe(22400,1460,22407);break}case 143:{c[H>>2]=F-f;m=n;N=218;break}case 148:{c[H>>2]=F-f;b=c[O>>2]|0;m=e;h=b;e=b;break a}case 154:{m=Zp(c[(Oq()|0)>>2]|0)|0;N=219;break a}case 161:{c[H>>2]=F-f;m=n;N=218;break}case 167:{c[H>>2]=F-f;m=n;N=218;break}case 183:{c[H>>2]=F-f;m=n;N=218;break}case 184:{c[H>>2]=F-f;m=201;N=218;break}case 187:{c[H>>2]=F-f;m=209;N=218;break}case 189:{c[H>>2]=F-f;m=e;N=218;break}case 192:{c[H>>2]=F-f;m=209;N=218;break}case 194:{c[H>>2]=F-f;m=e;N=218;break}case 199:{c[H>>2]=F-f;m=208;N=218;break}case 201:{c[H>>2]=F-f;m=209;N=218;break}case 204:{c[H>>2]=F-f;m=207;N=218;break}case 208:{c[H>>2]=F-f;m=210;N=218;break}case 210:{c[H>>2]=F-f;m=210;N=218;break}case 212:{c[H>>2]=F-f;m=205;N=218;break}case 214:{m=vf(O,0)|0;if(m|0){c[H>>2]=F-f;N=218;break}N=c[G>>2]|0;c[G>>2]=N+1;a[N>>0]=0;if(!z){m=c[O>>2]|0;N=233;break a}else{m=203;N=218}break}}if((N|0)!=123)if((N|0)==218){e=c[O>>2]|0;h=e;break}N=219}while(0);if((N|0)==219){e=c[O>>2]|0;if(!m){m=e;N=233}else h=e}if((N|0)==233){c[b>>2]=xf(m)|0;m=0;break}if(h){if(cf(h)|0){n=c[M>>2]|0;e=h;while(1){if(!((n|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;n=n+-1|0;e=e+1|0}if(n>>>0>=8){g=n+-8|0;o=g&-8;p=o+8|0;h=e;while(1){N=h;c[N>>2]=0;c[N+4>>2]=0;n=n+-8|0;if(n>>>0<=7)break;else h=h+8|0}n=g-o|0;e=e+p|0}while(1){if(!n)break;a[e>>0]=0;n=n+-1|0;e=e+1|0}e=c[O>>2]|0}ef(e)}}else m=45;while(0);i=P;return m|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+8|0;f=c[a>>2]|0;h=(c[g>>2]|0)-f|0;i=a+4|0;d=c[i>>2]|0;do if((b+3+h|0)>>>0>=d>>>0){e=(b<<1)+6+d|0;if(e>>>0>d>>>0){b=df(f,e)|0;if(!b){b=Zp(c[(Oq()|0)>>2]|0)|0;break}else{c[i>>2]=e;c[g>>2]=b+h;c[a>>2]=b;b=0;break}}else b=67}else b=0;while(0);return b|0}function wf(a){a=a|0;var b=0;b=a+-48|0;do if(b>>>0>=10)if((a+-65|0)>>>0<6){b=a+-55|0;break}else return ((a+-97|0)>>>0<6?a+-87|0:0)|0;while(0);return b|0}function xf(b){b=b|0;a:do if(b){switch(a[b>>0]|0){case 0:{yf(b);b=0;break a}case 3:break;default:break a}if((a[b+1>>0]|0)==4){yf(b);b=0}}else b=0;while(0);return b|0}function yf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(b|0){a:do if(cf(b)|0){g=b;while(1){e=a[g>>0]|0;if(!(e<<24>>24))break;f=g+1|0;if(e<<24>>24!=1){g=f;continue}g=g+3+((d[f>>0]|d[f+1>>0]<<8)&65535)|0}f=b;e=g-b|0;while(1){if(!((e|0)!=0&(f&7|0)!=0))break;a[f>>0]=0;f=f+1|0;e=e+-1|0}if(e>>>0>=8){i=e+-8|0;j=i&-8;h=j+8|0;g=f;while(1){k=g;c[k>>2]=0;c[k+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else g=g+8|0}f=f+h|0;e=i-j|0}while(1){if(!e)break a;a[f>>0]=0;f=f+1|0;e=e+-1|0}}while(0);ef(b)}return}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rf(a,b,c,d,0)|0}function Af(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if(b){if(!e)e=yr(c)|0;h=b;b:while(1){f=a[h>>0]|0;switch(f<<24>>24){case 0:{e=0;break a}case 3:break;default:{b=h+1|0;if(f<<24>>24!=1){h=b;continue b}h=h+3+((d[b>>0]|d[b+1>>0]<<8)&65535)|0;continue b}}b=h+1|0;if((a[b>>0]|0)!=1){h=b;continue}b=h+2|0;g=h+4|0;b=(d[b>>0]|d[b+1>>0]<<8)&65535;if((b|0)==(e|0)?(_r(g,c,e)|0)==0:0)break;h=g+b|0}f=1;b=g+e|0;c:while(1){if(!f)break;switch(a[b>>0]|0){case 0:{i=15;break c}case 1:{b=b+1|0;e=f;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0;break}case 3:{e=f+1|0;break}case 4:{e=f+-1|0;break}default:e=f}f=e;b=b+1|0}if((i|0)==15)Fe(22400,481,22431);e=b-h&65535;b=_e(e+1|0)|0;if(b){kt(b|0,h|0,e|0)|0;a[b+e>>0]=0;e=xf(b)|0}else e=0}else e=0;while(0);return e|0}function Bf(b){b=b|0;var c=0,e=0,f=0,g=0;a:do if(!b)c=0;else{e=0;c=0;while(1){f=e;b:while(1){c:while(1){e=a[b>>0]|0;if(!(e<<24>>24))break a;b=b+1|0;switch(e<<24>>24){case 1:{g=7;break b}case 3:{g=8;break b}case 4:break c;default:{}}}f=f+-1|0}if((g|0)==7){e=f;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)|0;f=(f|0)==1&1}else if((g|0)==8){e=f+1|0;f=(f|0)==1&1}c=f+c|0}}while(0);return c|0}function Cf(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if((b|0)!=0?(a[b>>0]|0)==3:0){f=0;b:while(1){i=(c|0)>0;e=f;c:while(1){h=b;d:while(1){j=h+1|0;f=a[j>>0]|0;g=f<<24>>24==1;if(!i)break b;if(g){f=7;break c}switch(f<<24>>24){case 0:{b=0;break a}case 4:{f=11;break c}case 3:break d;default:h=j}}e=e+1|0;b=j}if((f|0)==7){b=h+2|0;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0}else if((f|0)==11){e=e+-1|0;b=j}f=e;c=(((e|0)==0)<<31>>31)+c|0}if(!g)if(f<<24>>24==3){c=1;b=j;e:while(1){f:while(1){e=b+1|0;switch(a[e>>0]|0){case 0:{f=21;break e}case 3:{f=19;break f}case 4:{f=20;break f}case 1:break;default:{b=e;continue f}}i=b+2|0;b=i+(((d[i>>0]|d[i+1>>0]<<8)&65535)+2)+-1|0}if((f|0)==19){f=0;c=c+1|0}else if((f|0)==20){f=0;c=c+-1|0}if(!c)break;else b=e}if((f|0)==21)Fe(22400,673,22453);c=b+2-j&65535;b=_e(c+1|0)|0;if(!b){b=0;break}kt(b|0,j|0,c|0)|0;a[b+c>>0]=0}else b=0;else{c=b+2|0;c=(d[c>>0]|d[c+1>>0]<<8)&65535;b=_e(c+6|0)|0;if(!b){b=0;break}h=b+1|0;a[b>>0]=3;i=c+3|0;kt(h|0,j|0,i|0)|0;j=h+i|0;a[j>>0]=4;a[j+1>>0]=0}b=xf(b)|0}else b=0;while(0);return b|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;return Ef(a,b,c)|0}function Ef(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[f>>2]=0;a:do if(b){if((a[b>>0]|0)!=3)if(!e){i=0;e=0}else{b=0;break}else{i=0;b=b+1|0}while(1){h=a[b>>0]|0;g=h<<24>>24==1;if((e|0)<=0)break;b:do if(g){b=b+1|0;g=i;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0;e=(((i|0)==0)<<31>>31)+e|0}else switch(h<<24>>24){case 0:{b=0;break a}case 3:{g=i+1|0;break b}case 4:{i=i+-1|0;g=i;e=(((i|0)==0)<<31>>31)+e|0;break b}default:{g=i;break b}}while(0);i=g;b=b+1|0}if(g){i=b+1|0;c[f>>2]=(d[i>>0]|d[i+1>>0]<<8)&65535;b=b+3|0}else b=0}else b=0;while(0);return b|0}function Ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;c[d>>2]=0;a=Ef(a,b,g)|0;b=c[g>>2]|0;if((a|0)!=0&(b|0)!=0?(e=_e(b)|0,(e|0)!=0):0){kt(e|0,a|0,b|0)|0;c[d>>2]=b}else e=0;i=f;return e|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=g;b=Ef(b,d,h)|0;d=c[h>>2]|0;if((!((b|0)==0|(d|0)==0)?(f=d+1|0,(f|0)!=0):0)?(e=_e(f)|0,(e|0)!=0):0){kt(e|0,b|0,d|0)|0;a[e+d>>0]=0}else e=0;i=g;return e|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=k+4|0;g=k;a:do switch(d|0){case 8:{e=Ff(a,b,f)|0;if(e){if(!(cf(a)|0))d=an(0)|0;else d=bn(0)|0;c[g>>2]=d;if(!d){ef(e);d=0;break a}else{Pm(d,e,c[f>>2]<<3)|0;break a}}else d=0;break}case 0:{e=1;h=10;break}default:{e=d;h=10}}while(0);if((h|0)==10){d=Ef(a,b,f)|0;if(!d)d=0;else{d=(km(g,e,d,c[f>>2]|0,0)|0)==0;d=d?c[g>>2]|0:0}}i=k;return d|0}function If(b){b=b|0;var c=0,e=0,f=0,g=0,h=0;a:do if((b|0)!=0?(a[b>>0]|0)==3:0){e=1;g=0;b:while(1){f=((g|0)==0)<<31>>31;c:while(1){c=(e|0)>0;d:while(1){h=b+1|0;if(!c){b=0;c=h;break b}switch(a[h>>0]|0){case 0:{b=0;break a}case 3:{c=8;break c}case 4:{c=9;break c}case 1:break d;default:b=h}}b=b+2|0;e=f+e|0;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0}if((c|0)==8){g=g+1|0;b=h;continue}else if((c|0)==9){b=g+-1|0;e=(((b|0)==0)<<31>>31)+e|0;g=b;b=h;continue}}do{switch(a[c>>0]|0){case 0:{b=0;break a}case 1:{c=c+1|0;c=c+(((d[c>>0]|d[c+1>>0]<<8)&65535)+2)+-1|0;break}case 3:{b=b+1|0;break}case 4:{b=b+-1|0;break}default:{}}c=c+1|0}while((b|0)!=0);b=c-h&65535;c=_e(b+3|0)|0;if(c){g=c+1|0;a[c>>0]=3;kt(g|0,h|0,b|0)|0;b=g+b|0;a[b>>0]=4;a[b+1>>0]=0;b=xf(c)|0}else b=0}else b=0;while(0);return b|0}function Jf(a){a=a|0;var b=0;b=If(a)|0;a=Cf(b,0)|0;yf(b);return a|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;c[g>>2]=e;e=uf(a,b,d,yr(d)|0,1,0,g)|0;i=f;return e|0}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uf(a,b,c,yr(c)|0,1,0,d)|0}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=tf(a,b,c,d,0,0,e)|0;i=e;return d|0}function Nf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;A=i;i=i+32|0;if((i|0)>=(j|0))$(32);x=A+8|0;w=A;t=A+12|0;u=(e|0)==3;v=(f|0)!=0;y=(f|0)==0;s=(e|0)!=1;q=(e|0)==1;k=0;e=0;h=b|0?b:22468;a:while(1){b:while(1){switch(a[h>>0]|0){case 0:{z=59;break a}case 3:break b;case 4:{z=15;break b}case 1:break;default:{z=58;break a}}b=h+1|0;b=d[b>>0]|d[b+1>>0]<<8;o=h+3|0;p=b&65535;if(u){c:do if(!(b<<16>>16))z=36;else{n=a[o>>0]|0;d:do if(n<<24>>24>=1){b=1;l=o;m=p;while(1){if(!m)break;h=a[l>>0]|0;if((h&255)<32|(h+-127&255)<34?(pr(22471,h&255,10)|0)==0:0)break d;if(b){if(!((h+-48&255)<10|((h&-33)+-65&255)<26)){h=(pr(22481,h&255,9)|0)==0;b=h?0:b}}else b=0;l=l+1|0;m=m+-1|0}if((n+-48&255)<10|(b|0)==0){z=36;break c}else{m=p;b=2;break c}}while(0);m=(p<<1)+2|0;b=0}while(0);if((z|0)==36){z=0;m=Of(o,p,0)|0;b=1}e=m+e|0;if(v){if(e>>>0>=g>>>0){r=0;break a}switch(b&3){case 1:{Of(o,p,f)|0;break}case 2:{if(f|0)kt(f|0,o|0,p|0)|0;break}default:if(f|0){a[f>>0]=35;l=p<<1;b=0;h=f+1|0;while(1){if((b|0)==(p|0))break;c[w>>2]=d[o+b>>0];Ur(h,22490,w)|0;b=b+1|0;h=h+2|0}a[f+(l|1)>>0]=35}}f=f+m|0}if((a[o+p>>0]|0)!=4){e=e+1|0;if(v){if(e>>>0>=g>>>0){r=0;break a}a[f>>0]=32;f=f+1|0}}}else{c[x>>2]=p;Ur(t,22495,x)|0;e=p+e+(yr(t)|0)|0;if(!y){if(e>>>0>=g>>>0){r=0;break a}f=Lr(f,t)|0;kt(f|0,o|0,p|0)|0;f=f+p|0}}h=o+p|0}if((z|0)==15){z=0;h=h+1|0;b=e+1|0;if(v){if(b>>>0>=g>>>0){r=0;break}a[f>>0]=41;f=f+1|0}k=k+-1|0;if(q){e=b;continue}switch(a[h>>0]|0){case 0:case 3:{e=b;continue a}default:{}}e=e+2+k|0;if(!v)continue;if(e>>>0>=g>>>0){r=0;break}a[f>>0]=10;b=0;while(1){f=f+1|0;if((b|0)>=(k|0))continue a;a[f>>0]=32;b=b+1|0}}h=h+1|0;if(s)e=k+e+((k|0)!=0&1)|0;e=e+1|0;if(!y){if(e>>>0>=g>>>0){r=0;break}e:do if(s){if(!k)b=0;else{a[f>>0]=10;b=0;f=f+1|0}while(1){if((b|0)>=(k|0))break e;a[f>>0]=32;b=b+1|0;f=f+1|0}}while(0);a[f>>0]=40;f=f+1|0}k=k+1|0}if((z|0)==58)Fe(22400,2008,22499);do if((z|0)==59){if(q){if(y)z=66}else{e=e+1|0;if(y)z=66;else{if(e>>>0>=g>>>0){r=0;break}a[f>>0]=10;f=f+1|0}}if((z|0)==66){r=e+1|0;break}if(e>>>0<g>>>0){a[f>>0]=0;r=e}else r=0}while(0);i=A;return r|0}function Of(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=k;a:do if(!e){f=2;while(1){if(!d)break a;g=a[b>>0]|0;b:do switch(g<<24>>24){case 92:case 39:case 34:case 13:case 12:case 10:case 11:case 9:case 8:{f=f+2|0;break}default:if((g&255)<32|(g+-127&255)<34){f=f+4|0;break b}else{f=f+1|0;break b}}while(0);d=d+-1|0;b=b+1|0}}else{a[e>>0]=34;f=e+1|0;while(1){if(!d)break;g=a[b>>0]|0;c:do switch(g<<24>>24){case 8:{a[f>>0]=92;a[f+1>>0]=98;f=f+2|0;break}case 9:{a[f>>0]=92;a[f+1>>0]=116;f=f+2|0;break}case 11:{a[f>>0]=92;a[f+1>>0]=118;f=f+2|0;break}case 10:{a[f>>0]=92;a[f+1>>0]=110;f=f+2|0;break}case 12:{a[f>>0]=92;a[f+1>>0]=102;f=f+2|0;break}case 13:{a[f>>0]=92;a[f+1>>0]=114;f=f+2|0;break}case 34:{a[f>>0]=92;a[f+1>>0]=34;f=f+2|0;break}case 39:{a[f>>0]=92;a[f+1>>0]=39;f=f+2|0;break}case 92:{a[f>>0]=92;a[f+1>>0]=92;f=f+2|0;break}default:if((g&255)<32|(g+-127&255)<34){c[h>>2]=g&255;Ur(f,22322,h)|0;f=f+4|0;break c}else{a[f>>0]=g;f=f+1|0;break c}}while(0);d=d+-1|0;b=b+1|0}a[f>>0]=34;f=f+1-e|0}while(0);i=k;return f|0}function Pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+112|0;if((i|0)>=(j|0))$(112);q=s+8|0;r=s+88|0;p=s;g=r;h=g+20|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=e;h=0;a:while(1){k=a[g>>0]|0;if(!(h>>>0<20&k<<24>>24!=0)){l=10;break}b:do switch(k<<24>>24){case 63:case 47:case 45:case 43:case 38:break;default:{switch(k<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:break b;default:{}}if(k<<24>>24==39){o=g+1|0;g=ks(o,39)|0;if((g|0)==0|(g|0)==(o|0)){g=29;break a}}n=(c[f>>2]|0)+(4-1)&~(4-1);o=c[n>>2]|0;c[f>>2]=n+4;c[q+(h<<2)>>2]=o;if(!o){g=128;break a}h=h+1|0}}while(0);g=g+1|0}c:do if((l|0)==10)if(!(k<<24>>24)){n=(c[f>>2]|0)+(4-1)&~(4-1);o=c[n>>2]|0;c[f>>2]=n+4;if(!o){n=b;o=0;while(1){if(!d){l=13;break}if(!(a[d>>0]|0)){l=13;break}g=ks(d,33)|0;if((g|0)==(d|0)){k=0;g=27;break}g=(g|0)==0?0:g-d|0;k=Af(n,d,g)|0;if(!k){k=0;g=27;break}yf(o);n=k;d=(g|0)==0?0:d+(g+1)|0;o=k}d:do if((l|0)==13){m=43;h=0;e:while(1){g=a[e>>0]|0;f:do switch(g<<24>>24){case 0:{l=46;break e}case 47:case 45:case 43:case 38:{k=g<<24>>24;g=e;break}default:{switch(g<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:{k=m;g=e;break f}default:{}}switch(g<<24>>24){case 63:{k=m;g=e;break f}case 39:{g=e+1|0;e=ks(g,39)|0;if((e|0)==0|(e|0)==(g|0)){k=0;g=29;break d}k=Af(n,g,e-g|0)|0;break}default:k=Af(n,e,1)|0}do if(k){g:do switch(m|0){case 38:{g=c[q+(h<<2)>>2]|0;d=g+12|0;if(!(c[d>>2]|0)){l=Ff(k,1,g)|0;c[d>>2]=l;if(!l){g=65;break d}c[g+8>>2]=c[g>>2];c[g+4>>2]=0;a[r+h>>0]=2;break g}b=Ef(k,1,p)|0;f=c[p>>2]|0;if(!((b|0)!=0&(f|0)!=0)){g=65;l=36;break e}l=c[g+4>>2]|0;if((l+f|0)>>>0>(c[g>>2]|0)>>>0){g=200;l=36;break e}kt((c[d>>2]|0)+l|0,b|0,f|0)|0;c[g+8>>2]=f;a[r+h>>0]=1;break}case 47:{l=Hf(k,1,8)|0;g=c[q+(h<<2)>>2]|0;c[g>>2]=l;break}case 45:{l=Hf(k,1,1)|0;g=c[q+(h<<2)>>2]|0;c[g>>2]=l;break}default:{l=Hf(k,1,5)|0;g=c[q+(h<<2)>>2]|0;c[g>>2]=l}}while(0);yf(k);if(!(c[g>>2]|0)){k=0;g=65;break d}}else{if((a[e+1>>0]|0)!=63){k=0;g=68;break d}g=q+(h<<2)|0;if((m|0)!=38){c[c[g>>2]>>2]=0;break}g=c[g>>2]|0;if(!(c[g+12>>2]|0)){c[g>>2]=0;c[g+4>>2]=0}c[g+8>>2]=0}while(0);k=m;h=h+1|0;g=e}}while(0);m=k;e=g+1|0}if((l|0)==36)break;else if((l|0)==46){yf(o);g=0;break c}}while(0);yf(o);yf(k);while(1){k=h+-1|0;if(!h)break c;h=q+(k<<2)|0;if(!(a[r+k>>0]|0)){h=c[h>>2]|0;cn(c[h>>2]|0);c[h>>2]=0;h=k;continue}else{h=c[h>>2]|0;ef(c[h+12>>2]|0);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;h=k;continue}}}else g=45}else g=183;while(0);i=s;return g|0}function Qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;c[g>>2]=e;e=Pf(a,b,d,g)|0;i=f;return ((e|0)==0?0:e&65535|16777216)|0}function Rf(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=13){b=88;break}if(!(Wq(c[1164+(b<<3)+4>>2]|0,a)|0)){d=4;break}b=b+1|0}if((d|0)==4){c[17563]=c[17563]|c[1164+(b<<3)>>2];b=0}return b|0}function Sf(){return 0}function Tf(a,b){a=a|0;b=b|0;if((a|0)<0|a>>>0>12)a=0;else{if(b|0)c[b>>2]=c[1164+(a<<3)>>2];a=c[1164+(a<<3)+4>>2]|0}return a|0}function Uf(){var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+256|0;if((i|0)>=(j|0))$(256);f=h;if((wg()|0)==0?(g=es(22667,23234)|0,g|0):0){a:while(1){if(!(Xr(f,256,g)|0))break;else e=f;while(1){b=a[e>>0]|0;d=b<<24>>24;if(d&128|0)break;if(!(Mr(d)|0))break;e=e+1|0}d=ks(e,10)|0;if(d){a[d>>0]=0;b=a[e>>0]|0}if(!(b<<24>>24))b=0;else b=(yr(e)|0)+-1|0;b=e+b|0;while(1){if(b>>>0<=e>>>0)break;d=a[b>>0]|0;if((d&128|0)==0?Mr(d)|0:0)a[b>>0]=0;b=b+-1|0}switch(a[e>>0]|0){case 35:case 0:continue a;default:b=0}while(1){if(b>>>0>=13)continue a;if(!(Wq(c[1164+(b<<3)+4>>2]|0,e)|0))break;b=b+1|0}c[17563]=c[17563]|c[1164+(b<<3)>>2]}rs(g)|0;fs(g)|0}i=h;return}function Vf(){c[17564]=1;return}function Wf(b){b=b|0;var d=0;do if(b){if(!(c[17564]|0)){b=Ys(b)|0;break}d=Ys(b+5|0)|0;if(!d)b=0;else{a[d>>0]=b;a[d+1>>0]=b>>>8;a[d+2>>0]=b>>>16;a[d+3>>0]=85;a[d+(b+4)>>0]=-86;b=d+4|0}}else{aq(22);b=0}while(0);return b|0}function Xf(b){b=b|0;var d=0;do if(b){if(!(c[17564]|0)){b=eg(b)|0;break}d=eg(b+5|0)|0;if(!d)b=0;else{a[d>>0]=b;a[d+1>>0]=b>>>8;a[d+2>>0]=b>>>16;a[d+3>>0]=-52;a[d+(b+4)>>0]=-86;b=d+4|0}}else{aq(22);b=0}while(0);return b|0}function Yf(b,e){b=b|0;e=e|0;var f=0,g=0;do if(!(c[17564]|0))if(!(ng(b)|0)){f=$s(b,e)|0;break}else{f=mg(b,e)|0;break}else{if(!b){f=Wf(e)|0;break}Zf(b);g=d[b+-3>>0]<<8|d[b+-4>>0]|d[b+-2>>0]<<16;if(g>>>0<e>>>0){if((a[b+-1>>0]|0)==-52)f=Xf(e)|0;else f=Wf(e)|0;if(!f)f=0;else{kt(f|0,b|0,g|0)|0;et(f+g|0,0,e-g|0)|0;_f(b)}}else f=b}while(0);return f|0}function Zf(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=h+8|0;f=h;if(!((b|0)==0|(c[17564]|0)==0)){e=a[b+-1>>0]|0;switch(e<<24>>24){case -52:case 85:break;default:{c[f>>2]=b;c[f+4>>2]=e&255;Ke(22688,f)}}if((a[b+(d[b+-3>>0]<<8|d[b+-4>>0]|d[b+-2>>0]<<16)>>0]|0)!=-86){c[g>>2]=b;c[g+4>>2]=e&255;Ke(22729,g)}}i=h;return}function _f(a){a=a|0;var b=0;do if(a|0)if(!(c[17564]|0))if(!(ng(a)|0)){Zs(a);break}else{kg(a);break}else{Zf(a);b=a+-4|0;if(!(ng(a)|0)){Zs(b);break}else{kg(b);break}}while(0);return}function $f(a){a=a|0;cq(1268)|0;c[17565]=a&1;c[17566]=a&2;c[17567]=a&8;c[17568]=a&16;dq(1268)|0;return}function ag(){var a=0;cq(1268)|0;a=(c[17566]|0?2:0)|(c[17565]|0)!=0|(c[17567]|0?8:0)|(c[17568]|0?16:0);dq(1268)|0;return a|0}function bg(a){a=a|0;cq(1268)|0;cg(a);dq(1268)|0;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))$(48);d=m+40|0;l=m+32|0;k=m+24|0;e=m+16|0;b=m+8|0;f=m;do if(!a){c[17569]=1;a=Bs()|0;if((a|0)!=(Es()|0)){if(((Fs(a)|0)==0?(l=Bs()|0,(l|0)==(Es()|0)):0)?Fs(0)|0:0)break;Ke(22769,f)}}else{if(c[17570]|0){Je(22968,d);break}c[17571]=a>>>0<16384?16384:a;if(c[17569]|0)Le(22792,b);f=Ra(30)|0;f=(f|0)>0?f:4096;f=(c[17571]|0)+-1+f&0-f;c[17571]=f;f=Is(0,f,3,34,-1,0)|0;c[17572]=f;if((f|0)==(-1|0)){d=c[17571]|0;f=cr(c[(Oq()|0)>>2]|0)|0;c[e>>2]=d;c[e+4>>2]=f;He(22818,e)}else{c[17573]=1;c[17570]=1}do if(!(c[17570]|0)){a=c[17571]|0;b=Ys(a)|0;c[17572]=b;if(!b){c[k>>2]=a;Ke(22866,k)}else{c[17570]=1;g=a;h=b;break}}else{g=c[17571]|0;h=c[17572]|0}while(0);c[h>>2]=g;c[h+4>>2]=0;if(!(c[17567]|0))He(22906,l)}while(0);i=m;return}function dg(){return 0}function eg(a){a=a|0;cq(1268)|0;a=fg(a)|0;dq(1268)|0;return a|0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=k;if((c[17570]|0)==0?(cg(32768),(c[17570]|0)==0):0){He(xe(23014)|0,b);aq(12);a=0}else{b=a+31&-32;a=c[17572]|0;while(1){if(!(gg(a)|0))break;d=a+4|0;e=c[d>>2]|0;if((e&1|0)==0?(f=c[a>>2]|0,f>>>0>=b>>>0):0){h=8;break}a=ig(a)|0}if((h|0)==8?(c[d>>2]=e|1,g=f-b|0,g>>>0>8):0){h=a+8+b|0;c[h>>2]=g+-8;c[h+4>>2]=0;c[a>>2]=b;hg(h)}if(gg(a)|0)if(!a)a=0;else{jg(b,0);a=a+8|0}else{aq(12);a=0}}i=k;return a|0}function gg(a){a=a|0;var b=0;b=c[17572]|0;if(a>>>0<b>>>0)a=0;else a=a>>>0<((c[17571]|0)+b|0)>>>0;return a&1|0}function hg(a){a=a|0;var b=0,d=0;b=c[17572]|0;if((b|0)!=(a|0)){while(1){d=ig(b)|0;if((d|0)==(a|0))break;else b=d}d=ig(a)|0;if((b|0)!=0?(c[b+4>>2]&1|0)==0:0)c[b>>2]=(c[a>>2]|0)+8+(c[b>>2]|0);else b=a}else{b=a;d=ig(a)|0}if(d|0?(c[d+4>>2]&1|0)==0:0)c[b>>2]=(c[d>>2]|0)+8+(c[b>>2]|0);return}function ig(a){a=a|0;var b=0;a=a+8+(c[a>>2]|0)|0;b=(gg(a)|0)==0;return (b?0:a)|0}function jg(a,b){a=a|0;b=b|0;if(a|0){c[17574]=(c[17574]|0)+a;c[17575]=(c[17575]|0)+1}if(b|0){c[17574]=(c[17574]|0)-b;c[17575]=(c[17575]|0)+-1}return}function kg(a){a=a|0;cq(1268)|0;lg(a);dq(1268)|0;return}function lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(b|0){j=b+-8|0;k=c[j>>2]|0;e=b;d=k;while(1){if(!((d|0)!=0&(e&7|0)!=0))break;a[e>>0]=-1;e=e+1|0;d=d+-1|0}if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){l=f;c[l>>2]=-1;c[l+4>>2]=-1;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}while(1){if(!d){e=b;d=k;break}a[e>>0]=-1;e=e+1|0;d=d+-1|0}while(1){if(!((d|0)!=0&(e&7|0)!=0))break;a[e>>0]=-86;e=e+1|0;d=d+-1|0}if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){l=f;c[l>>2]=-1431655766;c[l+4>>2]=-1431655766;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}while(1){if(!d){e=k;d=b;break}a[e>>0]=-86;e=e+1|0;d=d+-1|0}while(1){if(!((e|0)!=0&(d&7|0)!=0))break;a[d>>0]=85;e=e+-1|0;d=d+1|0}if(e>>>0>=8){g=e+-8|0;h=g&-8;i=h+8|0;f=d;while(1){l=f;c[l>>2]=1431655765;c[l+4>>2]=1431655765;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-h|0;d=d+i|0}while(1){if(!e){e=k;d=b;break}a[d>>0]=85;e=e+-1|0;d=d+1|0}while(1){if(!((e|0)!=0&(d&7|0)!=0))break;a[d>>0]=0;e=e+-1|0;d=d+1|0}if(e>>>0>=8){g=e+-8|0;h=g&-8;i=h+8|0;f=d;while(1){l=f;c[l>>2]=0;c[l+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-h|0;d=d+i|0}while(1){if(!e)break;a[d>>0]=0;e=e+-1|0;d=d+1|0}jg(0,k);l=b+-4|0;c[l>>2]=c[l>>2]&-2;hg(j)}return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0;cq(1268)|0;d=c[a+-8>>2]|0;if(d>>>0<=b>>>0){e=fg(b)|0;if(!e)a=0;else{kt(e|0,a|0,d|0)|0;et(e+d|0,0,b-d|0)|0;lg(a);a=e}}dq(1268)|0;return a|0}function ng(a){a=a|0;if(!(c[17570]|0))a=0;else a=(gg(a)|0)!=0;return a&1|0}function og(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(c[17570]|0){i=c[17572]|0;j=c[17571]|0;d=i;b=j;while(1){if(!((b|0)!=0&(d&7|0)!=0))break;a[d>>0]=-1;d=d+1|0;b=b+-1|0}if(b>>>0>=8){g=b+-8|0;h=g&-8;f=h+8|0;e=d;while(1){k=e;c[k>>2]=-1;c[k+4>>2]=-1;b=b+-8|0;if(b>>>0<=7)break;else e=e+8|0}d=d+f|0;b=g-h|0}while(1){if(!b){d=i;b=j;break}a[d>>0]=-1;d=d+1|0;b=b+-1|0}while(1){if(!((b|0)!=0&(d&7|0)!=0))break;a[d>>0]=-86;d=d+1|0;b=b+-1|0}if(b>>>0>=8){g=b+-8|0;h=g&-8;f=h+8|0;e=d;while(1){k=e;c[k>>2]=-1431655766;c[k+4>>2]=-1431655766;b=b+-8|0;if(b>>>0<=7)break;else e=e+8|0}d=d+f|0;b=g-h|0}while(1){if(!b){d=j;b=i;break}a[d>>0]=-86;d=d+1|0;b=b+-1|0}while(1){if(!((d|0)!=0&(b&7|0)!=0))break;a[b>>0]=85;d=d+-1|0;b=b+1|0}if(d>>>0>=8){f=d+-8|0;g=f&-8;h=g+8|0;e=b;while(1){k=e;c[k>>2]=1431655765;c[k+4>>2]=1431655765;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}d=f-g|0;b=b+h|0}while(1){if(!d){d=j;b=i;break}a[b>>0]=85;d=d+-1|0;b=b+1|0}while(1){if(!((d|0)!=0&(b&7|0)!=0))break;a[b>>0]=0;d=d+-1|0;b=b+1|0}if(d>>>0>=8){f=d+-8|0;g=f&-8;h=g+8|0;e=b;while(1){k=e;c[k>>2]=0;c[k+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}d=f-g|0;b=b+h|0}while(1){if(!d)break;a[b>>0]=0;d=d+-1|0;b=b+1|0}if(c[17573]|0)Ls(i,j)|0;c[17572]=0;c[17570]=0;c[17571]=0}return}function pg(){var a=0,b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);a=b;cq(1268)|0;if(c[17570]|0){e=c[17571]|0;d=c[17575]|0;c[a>>2]=c[17574];c[a+4>>2]=e;c[a+8>>2]=d;He(23075,a)}dq(1268)|0;i=b;return}function qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+272|0;if((i|0)>=(j|0))$(272);d=g+8|0;b=g;f=g+16|0;if(c[17576]|0)if((c[17577]|0)==1)Ge(23116,23122,114,23129);else{rg(5);sg()}c[17576]=1;a:do if(a)if(!(c[17577]|0))e=22;else Ge(23156,23122,121,23129);else{if(!(qs(23179,0)|0)){if(!(c[17577]|0)){e=22;break}Ge(23156,23122,132,23129)}a=es(23204,23234)|0;b:do if(!a){a=c[(Oq()|0)>>2]|0;switch(a|0){case 2:case 13:break b;default:{}}if(!(qs(23236,0)|0)){f=cr(a)|0;c[b>>2]=23204;c[b+4>>2]=f;He(23250,b);Aa()}}else{if(Xr(f,256,a)|0?Ps(f)|0:0){fs(a)|0;if(!(c[17577]|0)){e=22;break a}else Ge(23156,23122,151,23129)}fs(a)|0}while(0);c[17577]=1}while(0);if((e|0)==22){a=bq(1312)|0;if(a|0){c[d>>2]=Yp(a)|0;He(23294,d);Aa()}a=es(23179,23234)|0;if(a|0){if(Xr(f,256,a)|0?Ps(f)|0:0)c[17578]=1;fs(a)|0}rg(1)}i=g;return}function rg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g;tg();d=c[17579]|0;switch(d|0){case 0:{f=a+-1|0;if(f>>>0<5?(25>>>(f&31)&1)!=0:0)f=12;else f=13;break}case 1:{f=a+-2|0;if(f>>>0<4?(13>>>(f&15)&1)!=0:0)f=12;else f=13;break}case 2:{if((a+-3|0)>>>0<3)f=12;else f=13;break}case 3:{f=a+-2|0;if(f>>>0<5?(29>>>(f&31)&1)!=0:0)f=12;else f=13;break}case 4:{f=a+-2|0;if(f>>>0<5?(29>>>(f&31)&1)!=0:0)f=12;else f=13;break}case 5:{if((a|0)==6)f=12;else f=13;break}default:f=13}if((f|0)==12){c[17579]=a;ug();if(Ce(2)|0){b=1;f=14}}else if((f|0)==13){ug();b=0;f=14}if((f|0)==14?(d=vg(d)|0,f=vg(a)|0,c[e>>2]=d,c[e+4>>2]=f,c[e+8>>2]=b?23349:23357,He(23364,e),!b):0)sg();i=g;return}function sg(){gs(0)|0;Aa()}function tg(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=cq(1312)|0;if(!a){i=d;return}else{c[b>>2]=Yp(a)|0;He(23522,b);Aa()}}function ug(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=dq(1312)|0;if(!a){i=d;return}else{c[b>>2]=Yp(a)|0;He(23467,b);Aa()}}function vg(a){a=a|0;switch(a|0){case 0:{a=23458;break}case 1:{a=23453;break}case 2:{a=23443;break}case 3:{a=23431;break}case 4:{a=23425;break}case 5:{a=23413;break}case 6:{a=23404;break}default:a=37509}return a|0}function wg(){return c[17577]^1|0}function xg(){return ((c[17577]|0)==1?0:c[17578]|0)|0}function yg(){c[17578]=1;return}function zg(a){a=a|0;if((c[17577]|0)==1)Ge(23577,23122,295,23596);do if(!(c[17578]|0)){tg();if(!(c[17580]|0)){c[17580]=1;ug();break}else{ug();break}}else Ag(23122,300,23596,0,a);while(0);return}function Ag(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h;if((c[17577]|0)!=1){k=(e|0)!=0;rg(k?5:4);e=(d|0)!=0;c[g>>2]=k?23623:71699;c[g+4>>2]=a;c[g+8>>2]=b;c[g+12>>2]=e?23630:71699;c[g+16>>2]=e?d:71699;c[g+20>>2]=f|0?f:23642;He(23667,g)}i=h;return}function Bg(){var a=0;if((c[17577]|0)==1)a=0;else{tg();a=c[17580]|0;ug()}return a|0}function Cg(){var a=0;if((c[17577]|0)==1)a=1;else{tg();a=c[17579]|0;if((a|0)==1){ug();Dg(0)|0;tg();a=c[17579]|0}ug();a=(a|0)==3&1}return a|0}function Dg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[17577]|0)==1){d=0;e=0}else{rg(2);d=0;e=0}while(1){if((e|0)==4)break;f=c[1356+(e<<2)>>2]|0;b=Vg(f,a,1)|0;g=(b|0)!=0;if(g)b=Yp(b)|0;else b=0;Eg(37631,f,0,b);d=g?1:d;e=e+1|0}do if(!d){d=0;e=0;while(1){if((e|0)==5)break;f=c[1376+(e<<2)>>2]|0;b=_h(f,a,1)|0;g=(b|0)!=0;if(g)b=Yp(b)|0;else b=0;Eg(42717,f,0,b);d=g?1:d;e=e+1|0}if(!d){d=0;e=0;while(1){if((e|0)==5)break;f=c[1376+(e<<2)>>2]|0;b=Ah(f,a,1)|0;g=(b|0)!=0;if(g)b=Yp(b)|0;else b=0;Eg(35895,f,0,b);d=g?1:d;e=e+1|0}if(!d){b=Pk(1)|0;if(b|0){Eg(52066,0,0,Yp(b)|0);b=50;d=4;break}Eg(52066,0,0,0);d=0;e=0;while(1){if((e|0)==2)break;f=c[1400+(e<<2)>>2]|0;b=Ei(f,a,1)|0;g=(b|0)!=0;if(g)b=Yp(b)|0;else b=0;Eg(40715,f,0,b);d=g?1:d;e=e+1|0}d=(d|0)==0;b=d?0:50;d=d?3:4}else{b=50;d=4}}else{b=50;d=4}}else{b=50;d=4}while(0);if((c[17577]|0)!=1)rg(d);return b|0}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))$(32);l=m;h=(e|0)!=0;if(!(!h?!(Ce(2)|0):0)){f=Wq(a,35895)|0;k=f|0?a:42717;f=(f|0)==0;g=f?23715:71699;do if(Wq(a,37631)|0){if(!(Wq(a,42717)|0)){a=Dh(b)|0;break}if(f){a=Dh(b)|0;break}if(!(Wq(a,40715)|0))a=ui(b)|0;else a=71699}else a=Kg(b)|0;while(0);f=(d|0)!=0;c[l>>2]=k;c[l+4>>2]=g;c[l+8>>2]=a;c[l+12>>2]=b;c[l+16>>2]=h?e:23721;c[l+20>>2]=f?23726:71699;c[l+24>>2]=f?d:71699;c[l+28>>2]=f?46790:71699;He(23729,l)}i=m;return}function Fg(){var a=0;if((c[17577]|0)==1)a=1;else{tg();a=(c[17579]|0)==3&1;ug()}return a|0}function Gg(){var a=0;if((c[17577]|0)==1)a=1;else{tg();a=((c[17579]|0)+-3|0)>>>0<2&1;ug()}return a|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;if((b|0)!=1){c[f>>2]=b;Le(23773,f)}b=ff(1,(d>>>0<8?8:d)+8|0)|0;if(!b)b=0;else{a[b>>0]=a[23819]|0;a[b+1>>0]=a[23820]|0;a[b+2>>0]=a[23821]|0;a[b+3>>0]=1;c[b+4>>2]=e}i=g;return b|0}function Ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+8|0;f=h;if(b|0?(_r(b,23819,3)|0)==0:0){e=a[b+3>>0]|0;if((e|0)==(d|0)){i=h;return b+8|0}else{c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=e;Ke(23871,g)}}c[f>>2]=b;Ke(23823,f);return 0}function Jg(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f+8|0;d=f;if(b|0){if(_r(b,23819,3)|0){c[d>>2]=b;Ke(23928,d)}d=a[b+3>>0]|0;if(d<<24>>24!=1){c[e>>2]=d<<24>>24;Ke(23970,e)}d=c[b+4>>2]|0;if(d|0)wb[d&15](b+8|0);ef(b)}i=f;return}function Kg(a){a=a|0;a=Lg(a)|0;if(!a)a=37509;else a=c[a+8>>2]|0;return a|0}function Lg(a){a=a|0;var b=0,d=0;d=0;while(1){b=c[1412+(d<<2)>>2]|0;if((d|0)==5){b=0;break}if((c[b>>2]|0)==(a|0))break;else d=d+1|0}return b|0}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;c[f>>2]=0;if((d|0)>65535){d=71;b=0}else{d=Ng(f,b,d,e)|0;b=c[f>>2]|0}c[a>>2]=d|0?0:b;i=g;return d|0}function Ng(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;i=f&1;Nk();k=Lg(d)|0;if(!k)g=12;else g=(a[k+4>>0]&1)==0?0:12;g=f>>>0>15&(g|0)==0?12:g;a:do if(!g){b:do if((e|0)>=6){if((e|0)<9){switch(e|0){case 7:case 6:{h=7;break b}case 8:break;default:{h=0;g=71;break a}}if(!(c[k+36>>2]|0)){h=0;g=71;break a}if((c[k+40>>2]|0)==0?1:(c[k+20>>2]|0)!=16){h=0;g=71;break a}else break}if((e|0)<11){switch(e|0){case 9:{h=7;break b}case 10:break;default:{h=0;g=71;break a}}if(!(c[k+44>>2]|0)){h=0;g=71;break a}if(!(c[k+48>>2]|0)){h=0;g=71;break a}if(!(c[k+60>>2]|0)){h=0;g=71;break a}if((c[k>>2]|0)==316)break;else{h=0;g=71;break a}}if((e|0)>=65537)switch(e|0){case 65537:{h=7;break b}default:{h=0;g=71;break a}}switch(e|0){case 11:break;default:{h=0;g=71;break a}}if(!(c[k+36>>2]|0)){h=0;g=71;break a}if(!(c[k+40>>2]|0)){h=0;g=71;break a}if((c[k+20>>2]|0)!=16){h=0;g=71;break a}}else switch(e|0){case 5:case 2:case 3:case 1:{h=7;break b}case 4:{if(!(c[k+44>>2]|0)){h=0;g=71;break a}if(!(c[k+48>>2]|0)){h=0;g=71;break a}else break b}case 0:{if(wg()|0){h=0;g=71;break a}if(!(pf(0)|0)){h=0;g=71;break a}else break b}default:{h=0;g=71;break a}}while(0);if((h|0)==7){if(!(c[k+36>>2]|0)){h=0;g=71;break}if(!(c[k+40>>2]|0)){h=0;g=71;break}}j=(c[k+28>>2]<<1)+511|0;g=(i|0)!=0;if(g)h=gf(1,j)|0;else h=ff(1,j)|0;if(!h){g=$p()|0;break}i=h&15;l=(i|0)==0;i=16-i|0;h=l?h:h+i|0;i=l?0:i;c[h>>2]=g?1183944770:604576100;c[h+4>>2]=j-i;c[h+8>>2]=i;c[h+12>>2]=k;c[h+16>>2]=d;c[h+48>>2]=e;c[h+52>>2]=f;switch(d|0){case 9:case 8:case 7:{c[h+20>>2]=1;c[h+24>>2]=2;c[h+28>>2]=1;c[h+32>>2]=3;c[h+36>>2]=4;c[h+40>>2]=5;c[h+44>>2]=2;break}case 303:case 10:{c[h+32>>2]=6;c[h+24>>2]=7;c[h+36>>2]=8;break}default:{}}if((e|0)==11){a[h+480>>0]=16;g=0}else g=0}else h=0;while(0);c[b>>2]=g|0?0:h;return ((g|0)==0?0:g&65535|536870912)|0}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(b|0){d=c[b>>2]|0;if((d|0)<1183944770)switch(d|0){case 604576100:break;default:e=3}else switch(d|0){case 1183944770:break;default:e=3}if((e|0)==3)ze(63,24019);c[b>>2]=0;j=c[b+8>>2]|0;e=b;d=c[b+4>>2]|0;while(1){if(!((d|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;e=e+1|0;d=d+-1|0}if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){k=f;c[k>>2]=0;c[k+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}while(1){if(!d)break;a[e>>0]=0;e=e+1|0;d=d+-1|0}ef(b+(0-j)|0)}return}function Pg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=m;n=(e|0)==0;h=n?d:f;f=n?b:e;e=c[a+48>>2]|0;a:do if((e|0)<6)switch(e|0){case 1:{g=Qg(a,b,d,f,h,c[(c[a+12>>2]|0)+36>>2]|0)|0;l=19;break a}case 3:{g=rn(a,b,d,f,h)|0;l=19;break a}case 2:{g=An(a,b,d,f,h)|0;l=19;break a}case 5:{g=fo(a,b,d,f,h)|0;l=19;break a}case 4:{Eb[c[(c[a+12>>2]|0)+44>>2]&1](a+496|0,b,f,h);g=0;break a}case 0:{if((wg()|0)==0?pf(0)|0:0){if((f|0)==(b|0)){g=0;break a}lt(b|0,f|0,h|0)|0;g=0;break a}Ag(24068,875,24077,0,24092);g=71;l=19;break a}default:{l=18;break a}}else{if((e|0)<9)switch(e|0){case 6:{g=Gn(a,b,d,f,h)|0;l=19;break a}case 7:{g=on(a,b,d,f,h)|0;l=19;break a}case 8:{g=yn(a,b,d,f,h)|0;l=19;break a}default:{l=18;break a}}if((e|0)<11)switch(e|0){case 9:{g=In(a,b,d,f,h)|0;l=19;break a}case 10:{g=ko(a,b,d,f,h)|0;l=19;break a}default:{l=18;break a}}if((e|0)>=65537)switch(e|0){case 65537:{g=71;l=19;break a}default:{l=18;break a}}switch(e|0){case 11:break;default:{l=18;break a}}g=ao(a,b,d,f,h)|0;l=19}while(0);if((l|0)==18){c[k>>2]=e;Ke(24114,k)}if((l|0)==19)if((b|0)!=0&(g|0)!=0)et(b|0,66,d|0)|0;i=m;return g|0}function Qg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[a+12>>2]|0)+20>>2]|0;if(d>>>0>=f>>>0)if(!((f>>>0)%(k>>>0)|0)){j=(f>>>0)/(k>>>0)|0;i=a+496|0;h=0;f=b;a=0;d=e;while(1){if(a>>>0>=j>>>0)break;e=ub[g&63](i,f,d)|0;h=e>>>0>h>>>0?e:h;f=f+k|0;a=a+1|0;d=d+k|0}if(!h)d=0;else{Re(h+16|0);d=0}}else d=139;else d=200;return d|0}function Rg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=l;h=(e|0)==0;g=h?b:e;e=h?d:f;h=c[a+48>>2]|0;a:do if((h|0)<6)switch(h|0){case 1:{e=Qg(a,b,d,g,e,c[(c[a+12>>2]|0)+40>>2]|0)|0;f=19;break a}case 3:{e=un(a,b,d,g,e)|0;f=19;break a}case 2:{e=Dn(a,b,d,g,e)|0;f=19;break a}case 5:{e=fo(a,b,d,g,e)|0;f=19;break a}case 4:{Eb[c[(c[a+12>>2]|0)+48>>2]&1](a+496|0,b,g,e);e=0;f=19;break a}case 0:{if((wg()|0)==0?pf(0)|0:0){if((g|0)==(b|0)){e=0;f=19;break a}lt(b|0,g|0,e|0)|0;e=0;f=19;break a}Ag(24068,992,24147,0,24092);e=71;f=19;break a}default:{f=18;break a}}else{if((h|0)<9)switch(h|0){case 6:{e=Gn(a,b,d,g,e)|0;f=19;break a}case 7:{e=qn(a,b,d,g,e)|0;f=19;break a}case 8:{e=zn(a,b,d,g,e)|0;f=19;break a}default:{f=18;break a}}if((h|0)<11)switch(h|0){case 9:{e=Nn(a,b,d,g,e)|0;f=19;break a}case 10:{e=no(a,b,d,g,e)|0;f=19;break a}default:{f=18;break a}}if((h|0)>=65537)switch(h|0){case 65537:{e=71;f=19;break a}default:{f=18;break a}}switch(h|0){case 11:break;default:{f=18;break a}}e=eo(a,b,d,g,e)|0;f=19}while(0);if((f|0)==18){c[k>>2]=h;Ke(24162,k)}else if((f|0)==19){i=l;return e|0}return 0}function Sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+12|0;g=b+496|0;e=ub[c[(c[f>>2]|0)+32>>2]&63](g,d,e)|0;a:do if(!e){d=c[(c[f>>2]|0)+28>>2]|0;kt(g+d|0,g|0,d|0)|0;d=b+56|0;a[d>>0]=a[d>>0]|1;d=c[b+48>>2]|0;if((d|0)<10){switch(d|0){case 9:break;default:break a}On(b);break}if((d|0)<65537){switch(d|0){case 10:break;default:break a}oo(b);break}else{switch(d|0){case 65537:break;default:break a}Fn(b)|0;break}}else{b=b+56|0;a[b>>0]=a[b>>0]&-2}while(0);return e|0}function Tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))$(16);l=m;a:do switch(c[b+48>>2]|0){case 8:{f=vn(b,d,e)|0;break}case 9:{f=Jn(b,d,e)|0;break}case 10:{f=jo(b,d,e)|0;break}case 11:{f=Zn(b,d,e)|0;break}default:{k=b+12|0;g=c[k>>2]|0;f=c[g+60>>2]|0;if(f|0){zb[f&7](b+496|0,d,e);f=0;break a}h=b+64|0;f=g+20|0;et(h|0,0,c[f>>2]|0)|0;if(!d){e=b+56|0;a[e>>0]=a[e>>0]&-3}else{f=c[f>>2]|0;if((f|0)==(e|0))f=e;else{c[l>>2]=e;c[l+4>>2]=f;He(24195,l);Ag(24068,682,24238,0,24251);f=c[(c[k>>2]|0)+20>>2]|0}kt(h|0,d|0,(f>>>0<e>>>0?f:e)|0)|0;e=b+56|0;a[e>>0]=a[e>>0]|2}c[b+112>>2]=0;f=0}}while(0);i=m;return f|0}function Ug(){return 0}function Vg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Lg(b)|0;h=(g|0)!=0;if((h?(a[g+4>>0]&1)==0:0)?(f=c[g+52>>2]|0,(f|0)!=0):0)d=ub[f&63](b,d,e)|0;else if(!e)d=12;else{if(h?(a[g+4>>0]&1)==0:0)d=37580;else d=h?37541:37560;Eb[e&1](37631,b,37602,d);d=12}return ((d|0)==0?0:d&65535|16777216)|0}function Wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(!b){b=0;while(1){if((b|0)==21){b=188;break a}if(!((b|0)==0?1:(c[1436+(b*48|0)+4>>2]|0)!=(a|0))){a=b;f=6;break a}b=b+1|0}}else{a=Xg(b)|0;f=6}while(0);if((f|0)==6)if((a|0)>=0){f=c[1436+(a*48|0)>>2]|0;if((a+-1|0)>>>0<5|(wg()|0)==0){if(e|0)c[e>>2]=c[1436+(a*48|0)+4>>2];if(d){c[d>>2]=c[1436+(a*48|0)+12>>2];c[d+4>>2]=c[1436+(a*48|0)+16>>2];b=d+8|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+20>>2]|0)|0;b=d+12|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+24>>2]|0)|0;b=d+16|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+28>>2]|0)|0;b=d+32|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+32>>2]|0)|0;b=d+36|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+44>>2]|0)|0;b=d+20|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+36>>2]|0)|0;b=d+24|0;if(!(c[b>>2]|0))c[b>>2]=Yg(c[1436+(a*48|0)+40>>2]|0)|0;b=d+28|0;if(!(c[b>>2]|0))c[b>>2]=Fm(1)|0;b=d+40|0;if(!(c[b>>2]|0)){c[b>>2]=f;b=0}else b=0}else b=0}else b=60}else b=188;return b|0}function Xg(a){a=a|0;var b=0,d=0;b=0;while(1){if((b|0)==21){b=0;d=5;break}if(!(Wq(a,c[1436+(b*48|0)>>2]|0)|0))break;b=b+1|0}a:do if((d|0)==5){while(1){if((b|0)==36){b=-1;break a}if(!(Wq(a,c[2492+(b<<3)+4>>2]|0)|0))break;else{b=b+1|0;d=5}}a=2492+(b<<3)|0;b=0;while(1){if((b|0)==21){b=-1;break a}if(!(Wq(c[a>>2]|0,c[1436+(b*48|0)>>2]|0)|0))break a;b=b+1|0}}while(0);return b|0}function Yg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;b=e+4|0;a=km(b,4,a,0,0)|0;if(!a){i=e;return c[b>>2]|0}else{c[d>>2]=Yp(a)|0;Ke(35535,d)}return 0}function Zg(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;n=Xg(b)|0;a:do if((n|0)>=0){do if(i|0){b=(c[1436+(n*48|0)+36>>2]|0)+2|0;m=yr(b)|0;l=(c[1436+(n*48|0)+40>>2]|0)+2|0;m=_e(m+5+(yr(l)|0)|0)|0;if(!m){b=$p()|0;break a}else{a[m>>0]=a[35209]|0;a[m+1>>0]=a[35210]|0;a[m+2>>0]=a[35211]|0;a[m+3>>0]=a[35212]|0;a[m+4>>0]=a[35213]|0;Kr(Lr(m+4|0,b)|0,l)|0;cn(c[i>>2]|0);c[i>>2]=Yg(m)|0;ef(m);break}}while(0);if(d|0)c[d>>2]=c[1436+(n*48|0)+12>>2];if(e|0)c[e>>2]=c[1436+(n*48|0)+16>>2];if(f|0){cn(c[f>>2]|0);c[f>>2]=Yg(c[1436+(n*48|0)+20>>2]|0)|0}if(g|0){cn(c[g>>2]|0);c[g>>2]=Yg(c[1436+(n*48|0)+24>>2]|0)|0}if(h|0){cn(c[h>>2]|0);c[h>>2]=Yg(c[1436+(n*48|0)+28>>2]|0)|0}if(j|0){cn(c[j>>2]|0);c[j>>2]=Yg(c[1436+(n*48|0)+32>>2]|0)|0}if(!k)b=0;else{cn(c[k>>2]|0);c[k>>2]=Yg(c[1436+(n*48|0)+44>>2]|0)|0;b=0}}else b=188;while(0);return b|0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;if((i|0)>=(j|0))$(80);g=s;q=s+32|0;r=s+28|0;c[r>>2]=0;e=q;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));p=(d|0)!=0;if(p)c[d>>2]=0;a:do if(!a)if((b|0)>-1&b>>>0<22){e=c[1436+(b*48|0)>>2]|0;if(p)c[d>>2]=c[1436+(b*48|0)+4>>2]}else e=0;else{k=q+8|0;l=q+12|0;m=q+16|0;n=q+32|0;o=q+36|0;c[g>>2]=k;c[g+4>>2]=l;c[g+8>>2]=m;c[g+12>>2]=r;c[g+16>>2]=n;c[g+20>>2]=o;c[g+24>>2]=0;b:do switch(((Qf(a,0,35214,g)|0)&65535)<<16>>16){case 68:{e=Af(a,46768,5)|0;if((e|0)!=0?(h=Gf(e,1)|0,yf(e),(h|0)!=0):0){f=Xg(h)|0;ef(h);if((f|0)<=-1){e=0;break a}e=c[1436+(f*48|0)>>2]|0;if(!p)break a;c[d>>2]=c[1436+(f*48|0)+4>>2];break a}else{f=0;e=0}break}case 0:{if(c[r>>2]|0?(h=q+20|0,Zk(h),yh(h,c[r>>2]|0)|0):0){f=0;e=0;break b}e=q+20|0;b=q+24|0;a=0;f=0;while(1){if((a|0)==21){e=0;break b}Om(f);f=Yg(c[1436+(a*48|0)+20>>2]|0)|0;if(!(Jl(f,c[k>>2]|0)|0)){Om(f);f=Yg(c[1436+(a*48|0)+24>>2]|0)|0;if(!(Jl(f,c[l>>2]|0)|0)){Om(f);f=Yg(c[1436+(a*48|0)+28>>2]|0)|0;if(!(Jl(f,c[m>>2]|0)|0)){Om(f);f=Yg(c[1436+(a*48|0)+32>>2]|0)|0;if(!(Jl(f,c[n>>2]|0)|0)){Om(f);f=Yg(c[1436+(a*48|0)+44>>2]|0)|0;if(!(Jl(f,c[o>>2]|0)|0)){Om(f);f=Yg(c[1436+(a*48|0)+36>>2]|0)|0;if(!(Jl(f,c[e>>2]|0)|0)){Om(f);f=Yg(c[1436+(a*48|0)+40>>2]|0)|0;if(!(Jl(f,c[b>>2]|0)|0))break}}}}}}a=a+1|0}e=c[1436+(a*48|0)>>2]|0;if(p)c[d>>2]=c[1436+(a*48|0)+4>>2];break}default:{f=0;e=0}}while(0);cn(f);cn(c[k>>2]|0);cn(c[l>>2]|0);cn(c[m>>2]|0);cn(c[r>>2]|0);$k(q+20|0);cn(c[n>>2]|0);cn(c[o>>2]|0)}while(0);i=s;return e|0}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;y=i;i=i+48|0;if((i|0)>=(j|0))$(48);r=y+36|0;s=y+32|0;t=y+28|0;u=y+24|0;v=y+20|0;w=y+16|0;x=y+12|0;q=y+8|0;p=y+4|0;n=y;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[q>>2]=0;c[p>>2]=0;c[n>>2]=0;c[a>>2]=0;o=(b|0)!=0;do if(o){e=Af(b,46728,0)|0;if(e|0?(f=ji(e,n,0)|0,yf(e),f|0):0){e=0;break}e=Af(b,46768,5)|0;if(e|0?(c[n>>2]&512|0)==0:0){f=e;l=15;break}f=ah(s,b,46792)|0;if(!f){f=ah(t,b,38915)|0;if(!f){f=ah(u,b,35222)|0;if(!f){f=bh(v,b,35224,0)|0;if(!f){f=ah(w,b,38919)|0;if(!f){f=ah(x,b,35226)|0;if(!f){f=e;l=12}else e=0}else e=0}else e=0}else e=0}else e=0}else e=0}else{f=0;l=12}while(0);do if((l|0)==12){e=(f|0)!=0;if((d|0)!=0|e)if(e){l=15;break}else{e=0;l=16;break}else{g=c[u>>2]|0;h=0;d=0;e=c[s>>2]|0;f=c[t>>2]|0;k=g;l=33;break}}while(0);if((l|0)==15){e=Gf(f,1)|0;yf(f);if(!e){f=65;e=0}else l=16}do if((l|0)==16){m=ff(1,44)|0;if(!m){f=$p()|0;ef(e);e=0;break}f=Wg(0,e|0?e:d,m,0)|0;ef(e);if(f|0){ef(m);e=0;break}l=c[m>>2]|0;h=c[m+4>>2]|0;e=c[s>>2]|0;if(!e){k=m+8|0;e=c[k>>2]|0;c[s>>2]=e;c[k>>2]=0}f=c[t>>2]|0;if(!f){k=m+12|0;f=c[k>>2]|0;c[t>>2]=f;c[k>>2]=0}d=c[u>>2]|0;if(!d){g=m+16|0;k=c[g>>2]|0;c[u>>2]=k;c[g>>2]=0;g=k}else{g=d;k=d}if(!(c[v>>2]|0)){A=m+20|0;z=m+24|0;d=m+28|0;c[v>>2]=bl(0,c[A>>2]|0,c[z>>2]|0,c[d>>2]|0)|0;c[A>>2]=0;c[z>>2]=0;c[d>>2]=0}if(!(c[w>>2]|0)){A=m+32|0;c[w>>2]=c[A>>2];c[A>>2]=0}if(!(c[x>>2]|0)){A=m+36|0;c[x>>2]=c[A>>2];c[A>>2]=0}sh(m);ef(m);d=l;l=33}while(0);do if((l|0)==33){f=el(r,d,h,c[n>>2]|0,e,f,k)|0;if(!f){d=Ig(c[r>>2]|0,1)|0;if(k|0){A=d+24|0;Om(c[A>>2]|0);c[A>>2]=g;c[u>>2]=0}e=c[v>>2]|0;if(e|0){c[d+28>>2]=e;c[v>>2]=0}e=c[w>>2]|0;if(e|0){c[d+32>>2]=e;c[w>>2]=0}e=c[x>>2]|0;if(e|0){c[d+36>>2]=e;c[x>>2]=0}if(o){f=bh(q,b,46766,d)|0;if(f|0){e=0;break}f=ah(p,b,35228)|0;if(f|0){e=c[p>>2]|0;break}e=c[q>>2]|0;if(e|0){c[d+40>>2]=e;c[q>>2]=0}}e=c[p>>2]|0;if(e|0){c[d+44>>2]=e;c[p>>2]=0}c[a>>2]=c[r>>2];c[r>>2]=0;f=0;e=0}else e=0}while(0);Jg(c[r>>2]|0);Om(c[s>>2]|0);Om(c[t>>2]|0);Om(c[u>>2]|0);_k(c[v>>2]|0);Om(c[w>>2]|0);Om(c[x>>2]|0);_k(c[q>>2]|0);Om(e);i=y;return f|0}function ah(a,b,d){a=a|0;b=b|0;d=d|0;b=Af(b,d,0)|0;if(!b)return 0;else{c[a>>2]=Hf(b,1,5)|0;yf(b);return ((c[a>>2]|0)==0?65:0)|0}return 0}function bh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=n+8|0;l=n+4|0;h=n;g=Af(d,e,0)|0;a:do if(g){e=Hf(g,1,8)|0;yf(g);if(e){d=Yk(0)|0;if((f|0)!=0?(c[f+4>>2]|0)==1:0)g=lh(e,f,d,0,0)|0;else g=yh(d,e)|0;Om(e);if(!g){g=d;m=24}else _k(d)}else g=65}else{c[k>>2]=0;c[l>>2]=0;c[h>>2]=0;f=_e((yr(e)|0)+3|0)|0;do if(!f)g=$p()|0;else{g=Lr(f,e)|0;a[g>>0]=a[35230]|0;a[g+1>>0]=a[35231]|0;a[g+2>>0]=a[35232]|0;g=ah(k,d,f)|0;if(g|0){ef(f);break}g=Lr(f,e)|0;a[g>>0]=a[35233]|0;a[g+1>>0]=a[35234]|0;a[g+2>>0]=a[35235]|0;g=ah(l,d,f)|0;if(g|0){Om(c[k>>2]|0);ef(f);break}g=Lr(f,e)|0;a[g>>0]=a[35236]|0;a[g+1>>0]=a[35237]|0;a[g+2>>0]=a[35238]|0;g=ah(h,d,f)|0;if(g|0){Om(c[l>>2]|0);Om(c[k>>2]|0);ef(f);break}g=c[h>>2]|0;if(!g){e=Zm(0,1)|0;c[h>>2]=e}else e=g;d=c[k>>2]|0;g=c[l>>2]|0;if((d|0)!=0&(g|0)!=0)g=bl(0,d,g,e)|0;else{Om(d);Om(g);Om(e);g=0}ef(f);m=24;break a}while(0)}while(0);if((m|0)==24)if(!g)g=0;else{c[b>>2]=g;g=0}i=n;return g|0}function ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;if((i|0)>=(j|0))$(112);l=o+8|0;h=o;b=o+108|0;k=o+64|0;m=o+36|0;n=o+32|0;d=k;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(Wg(0,a,k,b)|0)){f=an(0)|0;g=an(0)|0;e=k+8|0;a=k+12|0;b=cl(0,0,0,c[e>>2]|0,c[a>>2]|0,0)|0;d=k+20|0;if(Uk(f,g,d,b)|0)Ke(35239,h);gl(b);$k(d);e=c[e>>2]|0;c[m>>2]=e;b=c[a>>2]|0;c[m+4>>2]=b;d=c[k+16>>2]|0;c[m+8>>2]=d;a=e;e=wh(f,g,a)|0;c[m+12>>2]=e;h=c[k+32>>2]|0;c[m+16>>2]=h;k=c[k+36>>2]|0;c[m+20>>2]=k;c[m+24>>2]=0;Om(f);Om(g);c[l>>2]=a;c[l+4>>2]=b;c[l+8>>2]=d;c[l+12>>2]=e;c[l+16>>2]=h;c[l+20>>2]=k;if(!(Kf(n,0,35288,l)|0))b=0;else{c[n>>2]=0;b=0}while(1){if(!a)break;cn(a);l=b+1|0;b=l;a=c[m+(l<<2)>>2]|0}a=c[n>>2]|0}else a=0;i=o;return a|0}function dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;z=i;i=i+16|0;if((i|0)>=(j|0))$(16);x=z+4|0;y=z;q=a[b>>0]|0;a:do if(q<<24>>24){if((Wq(b,46792)|0)==0?(f=c[d+16>>2]|0,f|0):0){if(!(e|0?1:(c[f+12>>2]&32|0)==0))break;f=Tm(f)|0;break}if((Wq(b,38915)|0)==0?(n=c[d+20>>2]|0,n|0):0){if(!(e|0?1:(c[n+12>>2]&32|0)==0)){f=n;break}f=Tm(n)|0;break}if((Wq(b,35222)|0)==0?(o=c[d+24>>2]|0,o|0):0){if(!(e|0?1:(c[o+12>>2]&32|0)==0)){f=o;break}f=Tm(o)|0;break}if((Wq(b,38919)|0)==0?(p=c[d+32>>2]|0,p|0):0){if(!(e|0?1:(c[p+12>>2]&32|0)==0)){f=p;break}f=Tm(p)|0;break}if((Wq(b,35226)|0)==0?(r=c[d+36>>2]|0,r|0):0){if(!(e|0?1:(c[r+12>>2]&32|0)==0)){f=r;break}f=Tm(r)|0;break}if((Wq(b,35228)|0)==0?(s=c[d+44>>2]|0,s|0):0){if(!(e|0?1:(c[s+12>>2]&32|0)==0)){f=s;break}f=Tm(s)|0;break}if(((Wq(b,35336)|0)==0?(t=c[d+28>>2]|0,t|0):0)?(u=c[t>>2]|0,u|0):0){if(!(e|0?1:(c[u+12>>2]&32|0)==0)){f=u;break}f=Tm(u)|0;break}if(((Wq(b,35340)|0)==0?(v=c[d+28>>2]|0,v|0):0)?(w=c[v+4>>2]|0,w|0):0){if(!(e|0?1:(c[w+12>>2]&32|0)==0)){f=w;break}f=Tm(w)|0;break}if(((Wq(b,35344)|0)==0?(g=c[d+40>>2]|0,g|0):0)?(h=c[g>>2]|0,h|0):0){if(!(e|0?1:(c[h+12>>2]&32|0)==0)){f=h;break}f=Tm(h)|0;break}if(((Wq(b,35348)|0)==0?(k=c[d+40>>2]|0,k|0):0)?(l=c[k+4>>2]|0,l|0):0){y=c[(c[d+28>>2]|0)+4>>2]|0;if(y|0?!(e|0?1:(c[y+12>>2]&32|0)==0):0){f=l;break}f=Tm(l)|0;break}if((Wq(b,35224)|0)==0?(m=c[d+28>>2]|0,m|0):0){f=xh(m,d)|0;break}if(q<<24>>24==113){h=b+1|0;g=a[h>>0]|0;switch(g<<24>>24){case 64:case 0:break;default:{f=0;break a}}k=d+40|0;f=c[k>>2]|0;if(!f){f=zh(0,d,0,0)|0;c[k>>2]=f;if(!f){f=0;break}g=a[h>>0]|0}if(g<<24>>24!=64){f=xh(f,d)|0;break}if((Wq(b+2|0,49457)|0)==0?(c[d>>2]|0)==2:0)if(!(gh(f,d,0,0,0,x,y)|0)){f=Pm(0,c[x>>2]|0,c[y>>2]<<3)|0;break}else{f=0;break}else f=0}else f=0}else f=0;while(0);i=z;return f|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0;if((Wq(a,35224)|0)==0?(d=c[b+28>>2]|0,(d|0)!=0):0)a=fh(d)|0;else e=4;do if((e|0)==4)if(!(Wq(a,46766)|0)){d=b+40|0;a=c[d>>2]|0;if(!a){a=zh(0,b,0,0)|0;c[d>>2]=a;if(!a){a=0;break}}a=fh(a)|0}else a=0;while(0);return a|0}function fh(a){a=a|0;var b=0;if(!a)a=0;else{b=Yk(0)|0;Vm(c[b>>2]|0,c[a>>2]|0)|0;Vm(c[b+4>>2]|0,c[a+4>>2]|0)|0;Vm(c[b+8>>2]|0,c[a+8>>2]|0)|0;a=b}return a|0}function gh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))$(16);m=(d|0)!=0;if(m)k=d;else k=an(0)|0;l=(e|0)!=0;if(!l)e=an(0)|0;if(!(Uk(k,e,a,b)|0))d=hh(k,e,(c[b+12>>2]|0)>>>3,f,g,h)|0;else{Je(35352,n);d=63}if(!m)Om(k);if(!l)Om(e);i=n;return d|0}function hh(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0;o=i;i=i+16|0;if((i|0)>=(j|0))$(16);n=o;l=(g|0)!=0;m=l&1;e=im(e,f,l<<31>>31,n,0)|0;if(!e)g=$p()|0;else{b=(zl(b,0)|0)!=0;g=c[n>>2]|0;if(b&(g|0)!=0){b=e+(((l^1)<<31>>31)+g)|0;a[b>>0]=d[b>>0]|0|128}if(l)a[e>>0]=64;c[h>>2]=e;c[k>>2]=(c[n>>2]|0)+m;g=0}i=o;return g|0}function ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;a:do if(((b|0)!=0?(c[b+12>>2]&4|0)!=0:0)?(e=Rm(b,h)|0,(e|0)!=0):0){g=(c[h>>2]|0)+7|0;f=g>>>3;c[h>>2]=f;if(!(g>>>0<16|(f&1|0)==0)){switch(a[e>>0]|0){case 4:break;case 64:{if(Qm(b,e+1|0,(f<<3)+-8|0)|0){e=0;break a}e=$p()|0;break a}default:{e=0;break a}}g=e+1|0;e=km(k,1,g,(f+-1|0)>>>1,0)|0;if(!e){e=((c[h>>2]|0)+-1|0)>>>1;e=km(l,1,g+e|0,e,0)|0;f=c[k>>2]|0;if(e|0){Om(f);break}e=hh(f,c[l>>2]|0,d>>>3,0,m,n)|0;Om(c[k>>2]|0);Om(c[l>>2]|0);if(!e){Pm(b,c[m>>2]|0,c[n>>2]<<3)|0;e=0}}}else e=0}else e=65;while(0);i=o;return e|0}function jh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((c[e+4>>2]|0)==1){if(!(c[17581]|0))c[17581]=kh(35405)|0;if(!(c[17582]|0))c[17582]=Zm(0,7)|0;f=an(0)|0;g=an(0)|0;h=an(0)|0;i=an(0)|0;j=e+16|0;cm(f,b,b,c[j>>2]|0);cm(g,c[e+24>>2]|0,f,c[j>>2]|0);tl(f,f,1);rl(g,g,1);e=fn(3)|0;dm(h,g,e,c[j>>2]|0);dm(i,g,c[17582]|0,c[j>>2]|0);cm(i,i,f,c[j>>2]|0);dm(i,i,c[17581]|0,c[j>>2]|0);cm(i,i,f,c[j>>2]|0);cm(a,i,h,c[j>>2]|0);cm(i,a,a,c[j>>2]|0);cm(i,i,g,c[j>>2]|0);Um(i,i);if(!(Jl(i,f)|0)){b=c[17583]|0;if(!b){b=kh(35470)|0;c[17583]=b}cm(a,a,b,c[j>>2]|0);cm(i,a,a,c[j>>2]|0);cm(i,i,g,c[j>>2]|0);Um(i,i);b=(Jl(i,f)|0)==0;b=b?65:0}else b=0;if((zl(a,0)|0)!=((d|0)!=0|0))ul(a,c[j>>2]|0,a);Om(i);Om(h);Om(g);Om(f)}else b=69;return b|0}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;b=e+4|0;a=km(b,4,a,0,0)|0;if(!a){i=e;return c[b>>2]|0}else{c[d>>2]=Yp(a)|0;Ke(35535,d)}return 0}function lh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+16|0;if((i|0)>=(j|0))$(16);p=q+8|0;m=q+4|0;n=q;a:do if((b|0)!=0?(c[b+12>>2]&4|0)!=0:0){k=Rm(b,p)|0;if(k){r=(c[p>>2]|0)+7|0;b=r>>>3;c[p>>2]=b;b:do if(!(r>>>0<16|(b&1|0)==0)){switch(a[k>>0]|0){case 4:break;case 64:{b=b+-1|0;c[p>>2]=b;k=k+1|0;break b}default:break b}k=k+1|0;b=km(m,1,k,(b+-1|0)>>>1,0)|0;do if(!b){b=((c[p>>2]|0)+-1|0)>>>1;b=km(n,1,k+b|0,b,0)|0;if(b|0){Om(c[m>>2]|0);break}if(g|0?(l=hh(c[m>>2]|0,c[n>>2]|0,(c[e+12>>2]|0)>>>3,0,g,h)|0,l|0):0){Om(c[m>>2]|0);Om(c[n>>2]|0);b=l;break}Xm(c[f>>2]|0,c[m>>2]|0);Xm(c[f+4>>2]|0,c[n>>2]|0);Zm(c[f+8>>2]|0,1)|0;b=0}while(0);break a}while(0);b=_e(b|0?b:1)|0;if(!b){b=$p()|0;break}else{o=c[p>>2]|0;kt(b|0,k|0,o|0)|0;mh(b,o);o=20;break}}else b=65}else o=18;while(0);if((o|0)==18){b=gm(b,(c[e+12>>2]|0)>>>3,p,0)|0;if(!b)b=$p()|0;else o=20}if((o|0)==20){if(!(c[p>>2]|0)){l=0;k=0}else{l=d[b>>0]|0;a[b>>0]=l&127;l=l>>>7;k=c[p>>2]|0}m=f+4|0;jm(c[m>>2]|0,b,k,0);if(g){k=c[p>>2]|0;if((l|0)!=0&(k|0)!=0){a[b>>0]=d[b>>0]|128;k=c[p>>2]|0}mh(b,k);c[g>>2]=b;if(h|0)c[h>>2]=c[p>>2]}else ef(b);b=jh(c[f>>2]|0,c[m>>2]|0,l,e)|0;Zm(c[f+8>>2]|0,1)|0}i=q;return b|0}function mh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=c>>>1;d=c+-1|0;c=0;while(1){if((c|0)==(e|0))break;h=b+c|0;g=a[h>>0]|0;f=b+(d-c)|0;a[h>>0]=a[f>>0]|0;a[f>>0]=g;c=c+1|0}return}function nh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))$(48);g=l+32|0;h=l;c[b>>2]=0;do if(((c[f+12>>2]|0)+7&-8|0)==256){k=gf(2,32)|0;if(!k){f=$p()|0;break};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;e=gm(e,0,g,0)|0;if(!e){ef(k);f=$p()|0;break}c[h+12>>2]=k;c[h+4>>2]=0;f=c[g>>2]|0;c[h+8>>2]=f>>>0<32?32-f|0:0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+24>>2]=f;f=Vh(10,0,k,h,2)|0;ef(e);if(!f){mh(k,32);a[k>>0]=(d[k>>0]|0)&63|64;f=k+31|0;a[f>>0]=(d[f>>0]|0)&248;c[b>>2]=k;f=0;break}else{ef(k);break}}else f=63;while(0);i=l;return f|0}function oh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))$(32);m=q+16|0;l=q;Zk(m);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;n=bn(0)|0;o=an(0)|0;p=an(0)|0;h=bf(64)|0;if(h){k=Jk(32,2-(g>>>5&1)|0)|0;c[l+12>>2]=k;c[l+8>>2]=32;g=Vh(10,0,h,l,1)|0;if(!g){c[b+56>>2]=Pm(0,k,256)|0;mh(h,32);a[h>>0]=(d[h>>0]|0)&63|64;g=h+31|0;a[g>>0]=(d[g>>0]|0)&248;jm(n,h,32,0);ef(h);g=e+20|0;pl(m,n,g,f);if(pf(1)|0)Tk(35570,m,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=Tm(c[e+8>>2]|0)|0;c[b+12>>2]=Tm(c[e+12>>2]|0)|0;c[b+16>>2]=Tm(c[e+16>>2]|0)|0;h=b+20|0;Zk(h);ph(h,g);c[b+32>>2]=Tm(c[e+32>>2]|0)|0;c[b+36>>2]=Tm(c[e+36>>2]|0)|0;h=b+44|0;Zk(h);ph(h,m);h=0;g=0}}else{g=$p()|0;h=0;g=(g|0)==0?0:g&65535|16777216}$k(m);cn(n);cn(o);cn(p);ef(h);i=q;return g|0}function ph(a,b){a=a|0;b=b|0;Vm(c[a>>2]|0,c[b>>2]|0)|0;Vm(c[a+4>>2]|0,c[b+4>>2]|0)|0;Vm(c[a+8>>2]|0,c[b+8>>2]|0)|0;return}function qh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;F=i;i=i+112|0;if((i|0)>=(j|0))$(112);u=F+96|0;m=F+92|0;l=F+88|0;s=F+40|0;B=F+36|0;t=F+32|0;C=F+28|0;r=F+24|0;D=F+12|0;E=F;c[B>>2]=0;c[C>>2]=0;h=s;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));if((a|0)!=0?(c[a+12>>2]&4|0)!=0:0){Zk(D);Zk(E);w=bn(0)|0;x=an(0)|0;y=an(0)|0;z=an(0)|0;A=cl(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;if(((c[A+12>>2]|0)+7&-8|0)==256){h=nh(l,c[b+56>>2]|0,A)|0;v=c[l>>2]|0;do if(!h){jm(w,v,32,0);k=v;if(!g){pl(E,w,b+20|0,A);h=gh(E,A,x,y,0,C,r)|0;if(h|0){k=0;break}if(pf(1)|0)Oe(35591,c[C>>2]|0,c[r>>2]|0)}else{h=lh(g,A,E,C,r)|0;if(h|0){k=0;break}if(pf(1)|0)Oe(35584,c[C>>2]|0,c[r>>2]|0);if(!(ql(E,A)|0)){h=195;k=0;break}}p=Rm(a,m)|0;n=((c[m>>2]|0)+7|0)>>>3;if(pf(1)|0)Oe(35598,p,n);o=s+12|0;c[o>>2]=k;l=s+4|0;c[l>>2]=32;g=s+8|0;c[g>>2]=32;a=s+28|0;c[a>>2]=p;m=s+24|0;c[m>>2]=n;h=Vh(f,0,v,s,2)|0;if(!h){mh(v,64);if(pf(1)|0)Oe(52833,v,64);jm(z,v,64,0);pl(D,z,b+20|0,A);if(pf(1)|0)Tk(35605,D,A);h=gh(D,A,x,y,0,B,t)|0;if(h|0){k=c[B>>2]|0;break}if(!(pf(1)|0)){k=c[B>>2]|0;h=k;q=c[t>>2]|0}else{k=c[B>>2]|0;q=c[t>>2]|0;Oe(35610,k,q);h=k}c[o>>2]=h;c[l>>2]=0;c[g>>2]=q;c[a>>2]=c[C>>2];c[s+20>>2]=0;c[m>>2]=c[r>>2];c[s+44>>2]=p;c[s+36>>2]=0;c[s+40>>2]=n;h=Vh(f,0,v,s,3)|0;if(!h){Pm(d,k,q<<3)|0;c[B>>2]=0;mh(v,64);if(pf(1)|0)Oe(35617,v,64);jm(e,v,64,0);k=b+32|0;cm(e,e,w,c[k>>2]|0);vl(e,e,z,c[k>>2]|0);k=gm(e,32,u,0)|0;if(!k){h=$p()|0;if(!h){k=0;h=q}else{k=0;break}}else{c[B>>2]=k;h=c[u>>2]|0;c[t>>2]=h}if(pf(1)|0)Oe(35624,k,h);Pm(e,k,h<<3)|0;c[B>>2]=0;h=0;k=0}}else k=0}else k=0;while(0);cn(w);cn(x);cn(y);cn(z);ef(v);gl(A);$k(D);$k(E);ef(c[C>>2]|0);ef(k)}else h=63}else h=79;i=F;return h|0}function rh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;w=i;i=i+176|0;if((i|0)>=(j|0))$(176);m=w+100|0;u=w+88|0;v=w+84|0;k=w+80|0;r=w+76|0;n=w+72|0;l=w+104|0;h=w+24|0;s=w+12|0;t=w;c[v>>2]=0;c[r>>2]=0;if((((a|0)!=0?(d|0?(c[a+12>>2]&4|0)!=0:0):0)?(e|0?(c[d+12>>2]&4|0)!=0:0):0)?(c[e+12>>2]&4|0)!=0:0)if((f|0)==10){Zk(u);Zk(s);Zk(t);o=an(0)|0;p=an(0)|0;q=cl(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;if((c[q+12>>2]&-8|0)==256){f=lh(g,q,u,v,k)|0;do if(!f)if(ql(u,q)|0){if(pf(1)|0)Oe(35591,c[v>>2]|0,c[k>>2]|0);if((c[k>>2]|0)==32){g=Rm(a,m)|0;a=((c[m>>2]|0)+7|0)>>>3;if(pf(1)|0)Oe(35598,g,a);d=Rm(d,m)|0;f=((c[m>>2]|0)+7|0)>>>3;if(pf(1)|0)Oe(52833,d,f);if((f|0)==32){c[h+12>>2]=d;c[h+4>>2]=0;c[h+8>>2]=32;c[h+28>>2]=c[v>>2];c[h+20>>2]=0;c[h+24>>2]=c[k>>2];c[h+44>>2]=g;c[h+36>>2]=0;c[h+40>>2]=a;f=Vh(10,0,l,h,3)|0;if(!f){mh(l,64);if(pf(1)|0)Oe(35617,l,64);jm(o,l,64,0);g=Sm(e,m)|0;f=((c[m>>2]|0)+7|0)>>>3;mh(g,f);if(pf(1)|0)Oe(52840,g,f);jm(p,g,f,0);ef(g);if((f|0)==32){pl(s,p,b+20|0,q);pl(t,o,u,q);f=c[t>>2]|0;Um(f,f);ml(s,s,t,q);f=gh(s,q,p,o,0,r,n)|0;if(!f){if((c[n>>2]|0)!=32){f=8;break}f=(_r(c[r>>2]|0,d,32)|0)==0;f=f?0:8}}else f=139}}else f=139}else f=139}else f=195;while(0);ef(c[v>>2]|0);ef(c[r>>2]|0);gl(q);cn(p);cn(o);$k(s);$k(t);$k(u)}else f=63}else f=5;else f=79;i=w;return f|0}function sh(a){a=a|0;var b=0;b=a+8|0;Om(c[b>>2]|0);c[b>>2]=0;b=a+12|0;Om(c[b>>2]|0);c[b>>2]=0;b=a+16|0;Om(c[b>>2]|0);c[b>>2]=0;$k(a+20|0);b=a+32|0;Om(c[b>>2]|0);c[b>>2]=0;a=a+36|0;Om(c[a>>2]|0);c[a>>2]=0;return}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+48|0;if((i|0)>=(j|0))$(48);d=e;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+40>>2]=c[b+40>>2];c[d+8>>2]=Tm(c[b+8>>2]|0)|0;c[d+12>>2]=Tm(c[b+12>>2]|0)|0;c[d+16>>2]=Tm(c[b+16>>2]|0)|0;f=d+20|0;Zk(f);Vm(c[f>>2]|0,c[b+20>>2]|0)|0;Vm(c[d+24>>2]|0,c[b+24>>2]|0)|0;Vm(c[d+28>>2]|0,c[b+28>>2]|0)|0;c[d+32>>2]=Tm(c[b+32>>2]|0)|0;c[d+36>>2]=Tm(c[b+36>>2]|0)|0;b=d;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));i=e;return}function uh(a){a=a|0;switch(a|0){case 0:{a=35639;break}case 1:{a=45258;break}case 2:{a=35631;break}default:a=37509}return a|0}function vh(a){a=a|0;return ((a|0)==0?35659:(a|0)==1?35651:37509)|0}
+function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;d=c[f>>2]|0;if((b|0)!=0&(d|0)!=0){e=d+b|0;if((c[a>>2]|0)>>>0<e>>>0)Lm(a,e);e=c[a+16>>2]|0;while(1){a=d+-1|0;if((d|0)<=0){a=0;break}c[e+(a+b<<2)>>2]=c[e+(a<<2)>>2];d=a}while(1){if((a|0)==(b|0))break;c[e+(a<<2)>>2]=0;a=a+1|0}c[f>>2]=(c[f>>2]|0)+b}return}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=d>>>5;k=d&31;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else f=4;a:do if((f|0)==4?(e=(a|0)!=(b|0),i=(d|0)!=0,e|i):0){if(e){g=c[b+4>>2]|0;h=c[b+8>>2]|0;e=j+1+g|0;if((c[a>>2]|0)>>>0<e>>>0)Lm(a,e);d=c[a+16>>2]|0;f=c[b+16>>2]|0;e=0;while(1){if((e|0)==(g|0))break;c[d+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}c[a+4>>2]=g;c[a+12>>2]=c[b+12>>2];c[a+8>>2]=h}if((j|0)==0|(k|0)!=0){if(i){Gl(a,j+1|0);Fl(a,a,32-k|0)}}else Gl(a,j);f=a+4|0;d=a+16|0;e=c[f>>2]|0;while(1){if((e|0)<=0)break a;e=e+-1|0;if(c[(c[d>>2]|0)+(e<<2)>>2]|0)break a;c[f>>2]=e}}while(0);return}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;xl(a);e=c[a+4>>2]|0;if(e)if(!(c[a+8>>2]|0))if((e|0)==1?(d=c[c[a+16>>2]>>2]|0,d>>>0<=b>>>0):0)a=(d>>>0<b>>>0)<<31>>31;else a=1;else a=-1;else a=((b|0)!=0)<<31>>31;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=(a|0)!=0;if(e?(d=c[a+12>>2]|0,(d&4|0)!=0):0)k=7;else k=3;a:do if((k|0)==3){if(b|0?(f=c[b+12>>2]|0,f&4|0):0){if(!e){d=f;k=12;break}d=c[a+12>>2]|0;k=7;break}xl(a);xl(b);f=c[a+4>>2]|0;g=c[b+4>>2]|0;h=a+8|0;i=(c[h>>2]|0)==0;d=c[b+8>>2]|0;e=(d|0)==0;if(i)if(e)d=0;else{d=1;break}else if(e){d=-1;break}do if((f|0)!=(g|0)){d=(d|0)==0;if(i){if(!d)break;d=f-g|0;break a}else{if(d)break;d=g+f|0;break a}}while(0);if((f|0)!=0?(j=Xl(c[a+16>>2]|0,c[b+16>>2]|0,f)|0,(j|0)!=0):0)d=(j>>>31|0)==((c[h>>2]|0)!=0|0)?1:-1;else d=0}while(0);do if((k|0)==7){d=(d&4|0)==0;if(!d){if(!b){d=-1;break}if(!(c[b+12>>2]&4)){d=-1;break}else{k=13;break}}else{if(!((b|0)!=0&d)){k=13;break}d=c[b+12>>2]|0;k=12;break}}while(0);if((k|0)==12)if(!(d&4))k=13;else d=1;if((k|0)==13){d=c[a+8>>2]|0;e=c[b+8>>2]|0;if(d|e)if((d|0)>=(e|0))if((d|0)>(e|0))d=1;else d=_r(c[a+16>>2]|0,c[b+16>>2]|0,(d+7|0)/8|0)|0;else d=-1;else d=0}return d|0}function Kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[d+8>>2]|0;if((a|0)==(d|0)){d=Tm(d)|0;e=d}else e=0;Ll(0,a,b,d);if((f|0)!=0^(c[b+8>>2]|0)!=0?c[a+4>>2]|0:0)sl(a,a,d);if(e|0)Om(e);return}function Ll(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=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;y=i;i=i+48|0;if((i|0)>=(j|0))$(48);w=y+20|0;x=y;k=e+4|0;s=c[k>>2]|0;h=c[f+4>>2]|0;g=e+8|0;v=c[g>>2]|0;t=c[f+8>>2]^v;n=s+1|0;Lm(b,n);l=n-h|0;a:do if((l|0)<1){b:do if((e|0)!=(b|0)){c[b+4>>2]=c[k>>2];c[b+8>>2]=c[g>>2];k=e+16|0;h=b+16|0;g=0;while(1){if((g|0)>=(s|0))break b;c[(c[h>>2]|0)+(g<<2)>>2]=c[(c[k>>2]|0)+(g<<2)>>2];g=g+1|0}}while(0);if(a|0){c[a+4>>2]=0;c[a+8>>2]=0}}else{r=(a|0)!=0;if(r)Lm(a,l);e=c[e+16>>2]|0;m=c[f+16>>2]|0;u=c[b+16>>2]|0;if((h|0)==1){if(r){x=c[a+16>>2]|0;g=sm(x,e,s,c[m>>2]|0)|0;c[a+4>>2]=l-((c[x+(l+-1<<2)>>2]|0)==0&1);c[a+8>>2]=t}else g=qm(e,s,c[m>>2]|0)|0;c[u>>2]=g;c[b+4>>2]=(g|0)!=0&1;c[b+8>>2]=v;break}c:do if(r){g=c[a+16>>2]|0;if((g|0)==(e|0)){c[x>>2]=s;k=Hm(s,c[a+12>>2]&1)|0;c[w>>2]=k;g=0;while(1){if((g|0)>=(s|0)){o=e;g=1;break c}c[k+(g<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0}}else{k=e;o=g;g=0}}else{k=e;o=u+(h<<2)|0;g=0}while(0);q=c[m+(h+-1<<2)>>2]|0;p=q>>>0<65536?(q>>>0<256?0:8):q>>>0<16777216?16:24;p=32-(d[45399+(q>>>p)>>0]|0)-p|0;q=(p|0)!=0;d:do if(q){c[x+(g<<2)>>2]=h;if(!f)e=0;else e=(c[f+12>>2]&1|0)!=0;l=Hm(h,e&1)|0;e=g+1|0;c[w+(g<<2)>>2]=l;tm(l,m,h,p)|0;g=tm(u,k,s,p)|0;if(!g){k=s;g=e}else{c[u+(s<<2)>>2]=g;k=n;g=e}}else{if((m|0)==(u|0)|r&(m|0)==(o|0)){c[x+(g<<2)>>2]=h;if(!f)e=0;else e=(c[f+12>>2]&1|0)!=0;l=Hm(h,e&1)|0;c[w+(g<<2)>>2]=l;e=0;while(1){if((e|0)>=(h|0))break;c[l+(e<<2)>>2]=c[m+(e<<2)>>2];e=e+1|0}g=g+1|0}else l=m;if((u|0)==(k|0))k=s;else{e=0;while(1){if((e|0)>=(s|0)){k=s;break d}c[u+(e<<2)>>2]=c[k+(e<<2)>>2];e=e+1|0}}}while(0);e=rm(o,0,u,k,l,h)|0;if(r){k=k-h|0;if(e){c[o+(k<<2)>>2]=e;k=k+1|0}c[a+4>>2]=k;c[a+8>>2]=t}while(1){if((h|0)<=0)break;k=h+-1|0;if(!(c[u+(k<<2)>>2]|0))h=k;else break}if(q&(h|0)!=0){Bm(u,u,h,p)|0;h=h-((c[u+(h+-1<<2)>>2]|0)==0&1)|0}c[b+4>>2]=h;c[b+8>>2]=v;while(1){if(!g)break a;b=g+-1|0;Jm(c[w+(b<<2)>>2]|0,c[x+(b<<2)>>2]|0);g=b}}while(0);i=y;return}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;Ll(0,a,b,c);return}function Nl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=qm(c[b+16>>2]|0,c[b+4>>2]|0,d)|0;if(!e)b=0;else b=(c[b+8>>2]|0)==0?e:d-e|0;if(a|0){c[c[a+16>>2]>>2]=b;c[a+4>>2]=(b|0)!=0&1}return b|0}function Ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Gm(c[a+4>>2]|0)|0;Pl(a,e,b,d);Om(e);return}function Pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[e+8>>2]|0;if((a|0)==(e|0)|(b|0)==(e|0)){e=Tm(e)|0;f=e}else f=0;Ll(a,b,d,e);if((g|0)!=(c[d+8>>2]|0)?c[b+4>>2]|0:0){tl(a,a,1);sl(b,b,e)}if(f|0)Om(f);return}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;f=d>>>5;e=g-f|0;if((g|0)>(f|0)){if((c[a>>2]|0)<(e|0))Lm(a,e);g=c[a+16>>2]|0;d=d&31;b=(c[b+16>>2]|0)+(f<<2)|0;a:do if(!d){d=0;while(1){if((d|0)>=(e|0))break a;c[g+(d<<2)>>2]=c[b+(d<<2)>>2];d=d+1|0}}else{Bm(g,b,e,d)|0;e=e-((c[g+(e+-1<<2)>>2]|0)==0&1)|0}while(0);c[a+4>>2]=e}else c[a+4>>2]=0;return}function Rl(a,b){a=a|0;b=b|0;return (qm(c[a+16>>2]|0,c[a+4>>2]|0,b)|0)==0|0}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Tm(b)|0;b=Tm(d)|0;c[e+8>>2]=0;c[b+8>>2]=0;while(1){if(!(Il(b,0)|0))break;Kl(a,e,b);Vm(e,b)|0;Vm(b,a)|0}Vm(a,e)|0;Om(e);Om(b);return (Il(a,1)|0)==0|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=b+4|0;b=c[b>>2]|0;e=b+e|0;f=a+4|0;c[a>>2]=e;a:do if(e>>>0<b>>>0){b=d;a=g;e=f;while(1){b=b+-1|0;if(!b){b=1;break a}d=a+4|0;g=(c[a>>2]|0)+1|0;f=e+4|0;c[e>>2]=g;if(!g){a=d;e=f}else{a=d;h=4;break}}}else{b=d;a=g;h=4}while(0);b:do if((h|0)==4)if((f|0)==(a|0))b=0;else{e=b+-1|0;b=0;while(1){if((b|0)>=(e|0)){b=0;break b}c[f+(b<<2)>>2]=c[a+(b<<2)>>2];b=b+1|0}}while(0);return b|0}function Ul(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!e)d=0;else d=pm(a,b,d,e)|0;c=c-e|0;if(c)d=Tl(a+(e<<2)|0,b+(e<<2)|0,c,d)|0;return d|0}function Vl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=b+4|0;b=c[b>>2]|0;e=b-e|0;f=a+4|0;c[a>>2]=e;a:do if(e>>>0>b>>>0){b=d;a=g;e=f;while(1){b=b+-1|0;if(!b){b=1;break a}d=a+4|0;g=c[a>>2]|0;f=e+4|0;c[e>>2]=g+-1;if(!g){a=d;e=f}else{a=d;h=4;break}}}else{b=d;a=g;h=4}while(0);b:do if((h|0)==4)if((f|0)==(a|0))b=0;else{e=b+-1|0;b=0;while(1){if((b|0)>=(e|0)){b=0;break b}c[f+(b<<2)>>2]=c[a+(b<<2)>>2];b=b+1|0}}while(0);return b|0}function Wl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!e)d=0;else d=Cm(a,b,d,e)|0;c=c-e|0;if(c)d=Vl(a+(e<<2)|0,b+(e<<2)|0,c,d)|0;return d|0}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){if((d|0)<=0){d=0;break}d=d+-1|0;e=c[a+(d<<2)>>2]|0;f=c[b+(d<<2)>>2]|0;if((e|0)!=(f|0)){g=4;break}}if((g|0)==4)d=e>>>0>f>>>0?1:-1;return d|0}function Yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((Il(b,0)|0)!=0?(Il(d,1)|0)!=0:0){q=Tm(b)|0;p=Tm(d)|0;while(1){if(zl(q,0)|0)break;if(zl(p,0)|0)break;Fl(q,q,1);Fl(p,p,1)}l=zl(p,0)|0;k=Fm(1)|0;l=(l|0)!=0;if(l)i=0;else i=Fm(0)|0;m=Tm(q)|0;n=Tm(p)|0;if(l)j=0;else{j=Gm(c[q+4>>2]|0)|0;ul(j,k,q)}o=Tm(p)|0;if(!(zl(q,0)|0)){b=Fm(1)|0;if(l)d=0;else d=Fm(0)|0;f=Tm(q)|0;g=18}else{b=Fm(0)|0;if(l)d=0;else{d=Fm(1)|0;c[d+8>>2]=1}h=Tm(p)|0;f=h+8|0;c[f>>2]=(c[f>>2]|0)==0&1}while(1){if((g|0)==18){g=0;e=(zl(b,0)|0)!=0;if(l){if(e)sl(b,b,p);Fl(b,b,1);Fl(f,f,1);h=f;continue}if(!(!e?!(zl(d,0)|0):0)){sl(b,b,p);ul(d,d,q)}Fl(b,b,1);Fl(d,d,1);Fl(f,f,1);h=f}if(!(zl(h,0)|0)){f=h;g=18;continue}e=h+8|0;if(!(c[e>>2]|0)){Vm(k,b)|0;if(!l)Vm(i,d)|0;Vm(m,h)|0}else{ul(n,p,b);f=q+8|0;g=c[f>>2]|0;c[f>>2]=(g|0)==0&1;if(!l)ul(j,q,d);c[f>>2]=g;g=c[e>>2]|0;c[e>>2]=(g|0)==0&1;Vm(o,h)|0;c[e>>2]=g}ul(b,k,n);if(!l)ul(d,i,j);ul(h,m,o);if(c[b+8>>2]|0?(sl(b,b,p),!l):0)ul(d,d,q);if(!(Il(h,0)|0))break;else{f=h;g=18}}Vm(a,k)|0;Om(k);Om(n);Om(b);if(!l){Om(i);Om(j);Om(d)}Om(m);Om(o);Om(h);Om(q);Om(p);b=1}else b=0;return b|0}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;Kl(a,b,c);return}function _l(a,b){a=a|0;b=b|0;var d=0,e=0;xl(a);d=mf(1,28)|0;if(!b)c[d>>2]=a;else{c[d>>2]=Tm(a)|0;c[d+4>>2]=1}b=c[a+4>>2]|0;c[d+8>>2]=b;e=Gm(b+1|0)|0;Zm(e,1)|0;b=b<<1;Gl(e,b);Ol(e,e,a);c[d+12>>2]=e;b=b|1;c[d+16>>2]=Gm(b)|0;c[d+20>>2]=Gm(b)|0;return d|0}function $l(a){a=a|0;var b=0;if(a|0){Om(c[a+12>>2]|0);Om(c[a+16>>2]|0);Om(c[a+20>>2]|0);b=c[a+24>>2]|0;if(b|0)Om(b);if(c[a+4>>2]|0)Om(c[a>>2]|0);ef(a)}return}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[d>>2]|0;i=c[d+8>>2]|0;e=c[d+12>>2]|0;g=c[d+16>>2]|0;f=c[d+20>>2]|0;xl(b);if((c[b+4>>2]|0)>(i<<1|0))Kl(a,b,l);else{j=b+8|0;k=c[j>>2]|0;c[j>>2]=0;Vm(f,b)|0;El(f,i+-1|0);bm(f,f,e);h=i+1|0;El(f,h);Vm(g,b)|0;e=g+4|0;if((c[e>>2]|0)>(h|0))c[e>>2]=h;bm(f,f,l);e=f+4|0;if((c[e>>2]|0)>(h|0))c[e>>2]=h;ul(a,g,f);if(c[a+8>>2]|0){b=d+24|0;e=c[b>>2]|0;if(!e){e=Gm(i+2|0)|0;c[b>>2]=e;Zm(e,1)|0;Gl(c[b>>2]|0,h);e=c[b>>2]|0}sl(a,a,e)}while(1){if((Jl(a,l)|0)<=-1)break;ul(a,a,l)}c[j>>2]=k}return}function bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=c[b+4>>2]|0;m=c[d+4>>2]|0;h=(l|0)<(m|0);q=h?b:d;i=h?d:b;n=h?m:l;g=c[i+12>>2]&1;m=h?l:m;l=c[i+16>>2]|0;h=c[q+12>>2]&1;f=c[q+16>>2]|0;q=c[i+8>>2]^c[q+8>>2];i=a+16|0;e=c[i>>2]|0;o=n+m|0;if((a|0)!=0?(c[a+12>>2]&1|0)!=0:0)p=7;else p=3;do if((p|0)==3){if(!(c[b+12>>2]&1)){if(!d){p=7;break}if(!(c[d+12>>2]&1)){p=7;break}}j=0;k=0;h=2;e=Hm(o,1)|0;d=l}while(0);a:do if((p|0)==7){b=(e|0)==(l|0);if((c[a>>2]|0)<(o|0))if(b|(e|0)==(f|0)){j=0;k=0;h=1;e=Hm(o,c[a+12>>2]&1)|0;d=l;break}else{Lm(a,o);j=0;k=0;h=0;e=c[i>>2]|0;d=l;break}if(b){b=Hm(n,g)|0;g=(l|0)==(f|0);e=0;while(1){if((e|0)>=(n|0))break;c[b+(e<<2)>>2]=c[l+(e<<2)>>2];e=e+1|0}j=n;k=b;h=0;e=l;d=b;f=g?b:f;break}else{if((e|0)!=(f|0)){j=0;k=0;h=0;d=l;break}b=Hm(m,h)|0;e=0;while(1){if((e|0)>=(m|0)){j=m;k=b;h=0;e=f;d=l;f=b;break a}c[b+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}}}while(0);if(!m)d=0;else d=o-((zm(e,d,n,f,m)|0)==0&1)|0;switch(h&3){case 0:break;case 2:{b=Hm(d,0)|0;f=0;while(1){if((f|0)>=(d|0))break;c[b+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}Jm(e,0);e=b;p=27;break}default:p=27}if((p|0)==27)Km(a,e,d);c[a+4>>2]=d;c[a+8>>2]=q;if(k|0)Jm(k,j);return}function cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bm(a,b,c);Ml(a,a,d);return}function dm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+208|0;if((i|0)>=(j|0))$(208);X=ga+200|0;U=ga+136|0;V=ga+72|0;P=ga+68|0;S=ga+40|0;O=ga+20|0;N=ga;w=c[e+4>>2]|0;W=c[f+4>>2]|0;s=W<<1;h=c[f+8>>2]|0;g=w<<5;if((g|0)<=512)if((g|0)<=256)if((g|0)>128)E=3;else E=(g|0)>64?2:1;else E=4;else E=5;v=c[e+12>>2]&1;T=(v|0)!=0;t=c[f+12>>2]&1;r=(t|0)!=0;if(!b)o=0;else o=(c[b+12>>2]&1|0)!=0;n=o&1;_=a+16|0;g=c[_>>2]|0;p=c[e+16>>2]|0;if(!W)Te();if(w){Y=r?W:0;Z=Hm(W,t)|0;f=c[f+16>>2]|0;R=c[f+(W+-1<<2)>>2]|0;Q=R>>>0<65536?(R>>>0<256?0:8):R>>>0<16777216?16:24;Q=32-(d[45399+(R>>>Q)>>0]|0)-Q|0;R=(Q|0)!=0;a:do if(R)tm(Z,f,W,Q)|0;else{e=0;while(1){if((e|0)>=(W|0))break a;c[Z+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}}while(0);l=c[b+4>>2]|0;q=c[b+8>>2]|0;b:do if((l|0)>(W|0)){k=l+1|0;m=Hm(k,n)|0;f=b+16|0;e=0;while(1){if((e|0)>=(l|0))break;c[m+(e<<2)>>2]=c[(c[f>>2]|0)+(e<<2)>>2];e=e+1|0}b=o?k:0;rm(m+(W<<2)|0,0,m,l,Z,W)|0;l=W;while(1){if((l|0)<=0){f=m;k=m;e=l;D=29;break b}e=l+-1|0;if(!(c[m+(e<<2)>>2]|0))l=e;else{f=m;k=m;D=31;break}}}else{f=c[b+16>>2]|0;k=0;b=0;e=l;D=29}while(0);if((D|0)==29)if(!e){c[a+4>>2]=0;c[a+8>>2]=0;aa=0;ba=0;ca=0;da=0;ea=k;fa=b}else{l=e;D=31}do if((D|0)==31){if((g|0)==(f|0)){if(k|0)Ge(45655,45666,515,45676);f=Hm(l,n)|0;e=0;while(1){if((e|0)>=(l|0))break;c[f+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}u=f;M=f;b=o?l:0}else{u=f;M=k}if((g|0)==(p|0)){f=Hm(w,v)|0;e=0;while(1){if((e|0)>=(w|0))break;c[f+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}B=f;K=f;L=T?w:0}else{B=p;K=0;L=0}if((c[a>>2]|0)<(s|0)){Lm(a,s);g=c[_>>2]|0}I=s+2|0;J=r?I:0;I=Hm(I,t)|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;c[S+20>>2]=0;c[S+24>>2]=0;H=(q|0)!=0&(c[B>>2]&1|0)!=0;if(E>>>0>1)em(I,P,u,l,u,l,Z,W,S);f=Hm(l,v)|0;c[U>>2]=f;c[V>>2]=l;e=0;while(1){if((e|0)>=(l|0))break;c[f+(e<<2)>>2]=c[u+(e<<2)>>2];e=e+1|0}G=1<<E+-1;p=c[P>>2]|0;o=1;F=l;e=l;while(1){if((o|0)>=(G|0))break;if((p|0)<(e|0))em(g,X,f,e,I,p,Z,W,S);else em(g,X,I,p,f,e,Z,W,S);f=Hm(c[X>>2]|0,v)|0;c[U+(o<<2)>>2]=f;e=c[X>>2]|0;c[V+(o<<2)>>2]=e;n=(F|0)<(e|0);k=0;m=e;while(1){if((k|0)>=(m|0))break;c[f+(k<<2)>>2]=c[g+(k<<2)>>2];k=k+1|0;m=c[X>>2]|0}o=o+1|0;F=n?e:F}C=Hm(F,v)|0;e=0;while(1){if((e|0)>=(F|0))break;c[C+(e<<2)>>2]=0;e=e+1|0}k=w+-1|0;c:do if((E|0)==1){c[X>>2]=l;e=0}else{c[X>>2]=W;e=0;f=W;while(1){if((e|0)>=(f|0)){e=0;break c}c[g+(e<<2)>>2]=0;e=e+1|0;f=c[X>>2]|0}}while(0);while(1){if((e|0)>=(l|0))break;c[g+(e<<2)>>2]=c[u+(e<<2)>>2];e=e+1|0}l=c[B+(k<<2)>>2]|0;m=l>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;m=32-(d[45399+(l>>>m)>>0]|0)-m|0;s=32-E|0;t=O+4|0;u=N+4|0;v=N+8|0;w=O+8|0;x=N+12|0;y=O+12|0;z=O+16|0;A=N+16|0;l=l<<m<<1;m=31-m|0;e=I;f=0;d:while(1){o=k;while(1){if(l|0)break;f=m+f|0;k=o+-1|0;if((o|0)<1){l=0;k=0;break d}l=c[B+(k<<2)>>2]|0;m=32;o=k}r=l>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;r=32-r-(d[45399+(l>>>r)>>0]|0)|0;l=l<<r;n=m-r|0;r=r+f|0;if((n|0)<(E|0)){k=o+-1|0;if((o|0)<1){D=85;break}p=c[B+(k<<2)>>2]|0;q=n+s|0;m=p>>>q|l>>>s;p=p<<E-n}else{m=l>>>s;p=l<<E;q=n-E|0;k=o}l=m&0-m;f=l>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;f=(d[45399+(l>>>f)>>0]|0)+-1+f|0;l=m>>>f;n=e;e=r+E-f|0;while(1){if(!e)break;r=c[X>>2]|0;em(n,P,g,r,g,r,Z,W,S);c[X>>2]=c[P>>2];r=g;e=e+-1|0;g=n;n=r}m=l>>>1;e=0;l=0;while(1){if((e|0)>=(G|0))break;r=c[V+(e<<2)>>2]|0;c[t>>2]=r;c[O>>2]=r;c[u>>2]=r;c[N>>2]=r;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=C;c[A>>2]=c[U+(e<<2)>>2];o=(e|0)==(m|0);Ym(O,N,o&1)|0;e=e+1|0;l=(o?r:0)|l}em(n,P,g,c[X>>2]|0,C,l,Z,W,S);c[X>>2]=c[P>>2];l=p;m=q;e=g;g=n}if((D|0)==85){k=l>>>(32-n|0);if(!n){l=k;k=0;f=r}else{l=k&0-k;E=l>>>0<65536?(l>>>0<256?0:8):l>>>0<16777216?16:24;E=E+-1+(d[45399+(l>>>E)>>0]|0)|0;l=k>>>E;k=E;f=m+f-E|0}}while(1){if(!f)break;E=c[X>>2]|0;em(e,P,g,E,g,E,Z,W,S);c[X>>2]=c[P>>2];E=g;f=f+-1|0;g=e;e=E}e:do if(l){n=O+4|0;o=N+4|0;p=N+8|0;q=O+8|0;r=N+12|0;s=O+12|0;t=O+16|0;u=N+16|0;m=l>>>1;f=0;l=0;while(1){if((f|0)>=(G|0))break;E=c[V+(f<<2)>>2]|0;c[n>>2]=E;c[O>>2]=E;c[o>>2]=E;c[N>>2]=E;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=C;c[u>>2]=c[U+(f<<2)>>2];D=(f|0)==(m|0);Ym(O,N,D&1)|0;f=f+1|0;l=(D?E:0)|l}em(e,P,g,c[X>>2]|0,C,l,Z,W,S);f=c[P>>2]|0;c[X>>2]=f;while(1){if(!k){g=e;break e}em(g,P,e,f,e,f,Z,W,S);N=c[P>>2]|0;c[X>>2]=N;O=e;k=k+-1|0;f=N;e=g;g=O}}while(0);f=c[_>>2]|0;f:do if(R){e=tm(f,g,c[X>>2]|0,Q)|0;g=c[_>>2]|0;if(e){c[g+(c[X>>2]<<2)>>2]=e;c[X>>2]=(c[X>>2]|0)+1}}else if((f|0)!=(g|0)){e=0;while(1){if((e|0)>=(c[X>>2]|0)){g=f;break f}c[f+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}}while(0);e=c[X>>2]|0;if((e|0)>=(W|0)){rm(g+(W<<2)|0,0,g,e,Z,W)|0;c[X>>2]=W;e=W}if(R){Bm(g,g,e,Q)|0;e=c[X>>2]|0}while(1){if((e|0)<=0)break;e=e+-1|0;if(c[g+(e<<2)>>2]|0)break;c[X>>2]=e}Am(S);e=0;while(1){if((e|0)>=(G|0))break;if(T)f=c[V+(e<<2)>>2]|0;else f=0;Jm(c[U+(e<<2)>>2]|0,f);e=e+1|0}Jm(C,T?F:0);e=c[X>>2]|0;g:do if(H&(e|0)!=0){if(R){Bm(Z,Z,W,Q)|0;e=c[X>>2]|0}Wl(g,Z,W,g,e)|0;e=W;while(1){c[X>>2]=e;if((e|0)<=0)break g;f=e+-1|0;if(!(c[g+(f<<2)>>2]|0))e=f;else break}}else h=0;while(0);if((c[_>>2]|0)==(g|0)){c[a+4>>2]=e;c[a+8>>2]=h;aa=I;ba=J;ca=K;da=L;ea=M;fa=b;break}else Ge(45691,45666,786,45676)}while(0);if(Z|0)Jm(Z,Y);if(ea|0)Jm(ea,fa);if(ca|0)Jm(ca,da);if(aa|0)Jm(aa,ba)}else{if((W|0)==1){fa=(c[c[f+16>>2]>>2]|0)!=1;c[a+4>>2]=fa&1;if(fa)D=13}else{c[a+4>>2]=1;D=13}if((D|0)==13){if((c[a>>2]|0)<1){Lm(a,1);g=c[_>>2]|0}c[g>>2]=1}c[a+8>>2]=0}i=ga;return}function em(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;if((g|0)<16)zm(a,d,e,f,g)|0;else ym(a,d,e,f,g,j);d=g+e|0;if((d|0)>(i|0)){rm(a+(i<<2)|0,0,a,d,h,i)|0;d=i}c[b>>2]=d;return}function fm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;e=a+16|0;b=0;a=0;while(1){if(b>>>0>=g>>>0)break;f=c[(c[e>>2]|0)+(b<<2)>>2]|0;if(f|0){h=4;break}b=b+1|0;a=a+32|0}if((h|0)==4){g=f&0-f;h=g>>>0<65536?(g>>>0<256?0:8):g>>>0<16777216?16:24;a=a+-1+h+(d[45399+(g>>>h)>>0]|0)|0}return a|0}function gm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hm(a,b,0,c,d,0)|0}function hm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;if(g|0)c[g>>2]=c[b+8>>2];k=b+4|0;i=c[k>>2]|0;g=i<<2;c[f>>2]=g;g=(i|0)==0?1:g;i=(e|0)<0;j=0-e|0;g=(g>>>0<d>>>0?d:g)+(i?j:e)|0;if((h|0)==0?(c[b+12>>2]&1|0)==0:0)g=_e(g)|0;else g=bf(g)|0;do if(!g)g=0;else{l=i?g+j|0:g;h=b+16|0;i=c[k>>2]|0;j=l;while(1){e=i+-1|0;if((i|0)<=0)break;i=c[(c[h>>2]|0)+(e<<2)>>2]|0;a[j>>0]=i>>>24;a[j+1>>0]=i>>>16;a[j+2>>0]=i>>>8;a[j+3>>0]=i;i=e;j=j+4|0}e=c[f>>2]|0;if(!d){i=l;while(1){if(!e)break;if(a[i>>0]|0)break;d=e+-1|0;c[f>>2]=d;i=i+1|0;e=d}if((i|0)==(l|0))break;lt(l|0,i|0,e|0)|0;break}j=e>>>1;h=e+-1|0;i=0;while(1){if((i|0)==(j|0))break;m=l+i|0;b=a[m>>0]|0;k=l+(h-i)|0;a[m>>0]=a[k>>0]|0;a[k>>0]=b;i=i+1|0}i=e;e=l+e|0;while(1){if(i>>>0>=d>>>0)break;a[e>>0]=0;i=i+1|0;e=e+1|0}c[f>>2]=i}while(0);return g|0}function im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return hm(a,b,c,d,e,0)|0}function jm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else{l=(e+3|0)>>>2;if((c[a>>2]|0)<(l|0))Lm(a,l);c[a+8>>2]=f;k=a+16|0;f=0-e|0;f=(((f|0)>-4?f:-4)+e+3|0)>>>2;j=f<<2;i=e+-1-j|0;g=0;h=e;while(1){if((g|0)==(f|0))break;m=h+-4|0;c[(c[k>>2]|0)+(g<<2)>>2]=(d[b+(h+-2)>>0]|0)<<8|(d[b+(h+-1)>>0]|0)|(d[b+(h+-3)>>0]|0)<<16|(d[b+m>>0]|0)<<24;g=g+1|0;h=m}g=b+i|0;if((e-j|0)>0){h=g+-1|0;g=d[g>>0]|0;if(h>>>0>=b>>>0){g=(d[h>>0]|0)<<8|g;h=h+-1|0}if(h>>>0>=b>>>0){g=(d[h>>0]|0)<<16|g;h=h+-1|0}if(h>>>0>=b>>>0)g=(d[h>>0]|0)<<24|g;c[(c[k>>2]|0)+(f<<2)>>2]=g;f=f+1|0}c[a+4>>2]=f;if((f|0)!=(l|0))Ge(45704,45716,377,45727)}return}function km(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!f)m=0;else m=(cf(f)|0)!=0;j=(e|0)==3;n=j?0:g;a:do switch(e|0){case 1:{e=(n+3|0)>>>2;if(m)e=Im(e)|0;else e=Gm(e)|0;if(n|0?(jm(e,f,n,0),f=a[f>>0]|0,k=e+8|0,c[k>>2]=(f&255)>>>7&255,f<<24>>24<0):0){lm(e);rl(e,e,1);c[k>>2]=1}if(!b)Om(e);else{xl(e);c[b>>2]=e}if(!h)e=0;else{c[h>>2]=n;e=0}break}case 5:{e=(n+3|0)>>>2;if(m)e=Im(e)|0;else e=Gm(e)|0;if(n|0)jm(e,f,n,0);if(!b)Om(e);else{xl(e);c[b>>2]=e}if(!h)e=0;else{c[h>>2]=n;e=0}break}case 2:{b:do if(n>>>0>=2?(i=d[f>>0]<<8|d[f+1>>0],i>>>0<=16384):0){i=(i+7|0)>>>3;j=(i+3|0)>>>2;if(m)e=Im(j)|0;else e=Gm(j)|0;c[e+4>>2]=j;c[e+8>>2]=0;m=e+16|0;g=2;k=f+2|0;i=0-i&3;c:while(1){if((j|0)>0)l=0;else break b;while(1){if((i|0)>=4)break;g=g+1|0;if(g>>>0>n>>>0)break c;l=d[k>>0]|l<<8;k=k+1|0;i=i+1|0}f=j+-1|0;c[(c[m>>2]|0)+(f<<2)>>2]=l;i=0;j=f}Om(e);e=0}else{e=0;g=0}while(0);if(h|0)c[h>>2]=g;g=(e|0)!=0;if(!((b|0)!=0&g))if(g){Om(e);e=0}else e=0;else{xl(e);c[b>>2]=e}e=e|0?0:65;break}default:{if(j){if((n+-1|0)>>>0<3){e=66;break a}j=d[f+1>>0]<<16|d[f>>0]<<24|d[f+2>>0]<<8|d[f+3>>0];i=f+4|0;f=n+-4|0;if(n|0?(f|0)!=0&j>>>0>f>>>0:0){e=67;break a}g=j+4|0;e=(j+3|0)>>>2;if(m)e=Im(e)|0;else e=Gm(e)|0;if(j|0?(jm(e,i,j,0),f=a[i>>0]|0,l=e+8|0,c[l>>2]=(f&255)>>>7&255,f<<24>>24<0):0){lm(e);rl(e,e,1);c[l>>2]=1}if(h|0)c[h>>2]=g;if(!b){Om(e);e=0;break a}else{xl(e);c[b>>2]=e;e=0;break a}}if((e|0)==4&(g|0)==0){if(m)p=Im(0)|0;else p=Gm(0)|0;g=(a[f>>0]|0)==45;e=g?f+1|0:f;if((a[e>>0]|0)==48)e=(a[e+1>>0]|0)==120?e+2|0:e;k=yr(e)|0;j=((k<<2)+7|0)>>>3;i=(j+3|0)>>>2;if((c[p>>2]|0)>>>0<i>>>0)Lm(p,i);c[p+4>>2]=i;c[p+8>>2]=g&1;o=p+16|0;j=0-j&3;g=k&1;d:while(1){if((i|0)>0)n=0;else{e=91;break}while(1){if((j|0)>=4)break;if(!g){g=a[e>>0]|0;if(!(g<<24>>24)){e=72;break d}else{g=g<<24>>24;e=e+1|0}}else g=48;m=e+1|0;k=a[e>>0]|0;l=k<<24>>24;if(!(k<<24>>24)){e=74;break d}e=g+-48|0;do if(e>>>0>=10){if((g+-97|0)>>>0<6){e=g+-87|0;break}if((g+-65|0)>>>0>=6){e=80;break d}e=g+-55|0}while(0);g=e<<4;do if((k+-48&255)<10)e=l+-48|0;else{if((k+-97&255)<6){e=l+-87|0;break}if((k+-65&255)>=6){e=87;break d}e=l+-55|0}while(0);n=g|n<<8|e;j=j+1|0;g=0;e=m}j=i+-1|0;c[(c[o>>2]|0)+(j<<2)>>2]=n;i=j;j=0}if((e|0)==72)Mm(p);else if((e|0)==74)Mm(p);else if((e|0)==80)Mm(p);else if((e|0)==87)Mm(p);else if((e|0)==91){if(!b)Om(p);else{xl(p);c[b>>2]=p}if(!h){e=0;break a}c[h>>2]=yr(f)|0;e=0;break a}Om(p);e=65}else e=45}}while(0);return e|0}function lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=yl(a)|0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else{xl(a);f=c[a+16>>2]|0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;g=f+(b<<2)|0;c[g>>2]=~c[g>>2];b=b+1|0}c[a+8>>2]=0;Cl(a,d+-1|0)}return}function mm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;if((i|0)>=(j|0))$(16);m=o;h=yl(g)|0;n=(f|0)==0?o+4|0:f;if((c[g+8>>2]|0)!=0?(Il(g,0)|0)!=0:0)l=1;else l=0;c[n>>2]=0;switch(b|0){case 1:{g=gm(g,0,m,0)|0;a:do if(!g)f=$p()|0;else{f=c[m>>2]|0;do if(!l){if(!f)if(!d){f=0;break}else{b=0;f=0;k=17;break}if((a[g>>0]|0)<0){f=f+1|0;c[m>>2]=f;b=1;k=14}else{b=0;k=14}}else{nm(g,f);if((a[g>>0]|0)<0){b=0;k=14}else{f=f+1|0;c[m>>2]=f;b=2;k=14}}while(0);do if((k|0)==14){h=(d|0)!=0;if(!(h&f>>>0>e>>>0))if(h){k=17;break}else break;else{ef(g);f=66;break a}}while(0);if((k|0)==17){switch(b&3){case 1:{a[d>>0]=0;d=d+1|0;break}case 0:break;default:{a[d>>0]=-1;d=d+1|0}}kt(d|0,g|0,f-((b|0)!=0&1)|0)|0}ef(g);c[n>>2]=f;f=0}while(0);break}case 5:{f=(h+7|0)>>>3;c[m>>2]=f;b=(d|0)!=0;b:do if(b&f>>>0>e>>>0)f=66;else{do if(b){f=gm(g,0,m,0)|0;if(!f){f=$p()|0;break b}else{m=c[m>>2]|0;kt(d|0,f|0,m|0)|0;ef(f);f=m;break}}while(0);c[n>>2]=f;f=0}while(0);break}case 2:{f=(h+7|0)>>>3;c[m>>2]=f;c:do if(!l){b=(d|0)!=0;if(b&(f+2|0)>>>0>e>>>0)f=66;else{do if(b){a[d>>0]=h>>>8;a[d+1>>0]=h;f=gm(g,0,m,0)|0;if(!f){f=$p()|0;break c}else{m=c[m>>2]|0;kt(d+2|0,f|0,m|0)|0;ef(f);f=m;break}}while(0);c[n>>2]=f+2;f=0}}else f=45;while(0);break}case 3:{k=gm(g,0,m,0)|0;do if(!k)f=$p()|0;else{f=c[m>>2]|0;if(!l)if(f)if((a[k>>0]|0)<0){h=f+1|0;c[m>>2]=h;g=1}else{g=0;h=f}else{g=0;h=0}else{nm(k,f);if((a[k>>0]|0)<0){g=0;h=f}else{h=f+1|0;c[m>>2]=h;g=2}}b=h+4|0;if(d|0){if(b>>>0>e>>>0){ef(k);f=66;break}a[d>>0]=h>>>24;a[d+1>>0]=h>>>16;a[d+2>>0]=h>>>8;f=d+4|0;a[d+3>>0]=h;switch(g&3){case 1:{a[f>>0]=0;f=d+5|0;break}case 0:break;default:{a[f>>0]=-1;f=d+5|0}}kt(f|0,k|0,h-((g|0)!=0&1)|0)|0}ef(k);c[n>>2]=b;f=0}while(0);break}case 4:{c[m>>2]=0;k=gm(g,0,m,0)|0;do if(!k)f=$p()|0;else{g=c[m>>2]|0;if((g|0)!=0?(a[k>>0]|0)>=0:0)b=0;else b=2;f=((g<<1)+b|l)+1|0;if(d){if(f>>>0>e>>>0){ef(k);f=66;break}if(!l)f=d;else{a[d>>0]=45;f=d+1|0}if(!b){h=0;b=f;f=g}else{a[f>>0]=48;a[f+1>>0]=48;h=0;b=f+2|0;f=g}while(1){if(h>>>0>=f>>>0)break;l=a[k+h>>0]|0;f=l&255;e=f>>>4;a[b>>0]=(l&255)<160?e|48:e+55|0;f=f&15;a[b+1>>0]=f>>>0<10?f|48:f+55|0;h=h+1|0;b=b+2|0;f=c[m>>2]|0}a[b>>0]=0;f=b+1-d|0}c[n>>2]=f;ef(k);f=0}while(0);break}default:f=45}i=o;return f|0}function nm(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;while(1){e=c+-1|0;if((e|0)<=-1)break;g=b+e|0;f=a[g>>0]|0;if(!(f<<24>>24))c=e;else{h=4;break}}a:do if((h|0)==4){e=f&255;do if(!(e&1)){if(e&2|0){a[g>>0]=e&252^254;break}if(e&4|0){a[g>>0]=e&248^252;break}if(e&8|0){a[g>>0]=e&240^248;break}if(e&16|0){a[g>>0]=e&224^240;break}if(e&32|0){a[g>>0]=e&192^224;break}if(!(e&64)){a[g>>0]=-128;break}else{a[g>>0]=e&128^192;break}}else a[g>>0]=(e|1)^254;while(0);c=c+-2|0;while(1){if((c|0)<=-1)break a;h=b+c|0;a[h>>0]=(d[h>>0]|0)^255;c=c+-1|0}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=l;k=(a|0)!=0;g=(b|0)!=0;do if(k^g){if(k)c[a>>2]=0;f=mm(5,0,0,h,d)|0;if(!f){f=c[h>>2]|0;if(f>>>0<=e>>>0){e=f>>>0<e>>>0?e-f|0:0;f=e+f|0;if(!g){if((d|0)!=0?(c[d+12>>2]&1|0)!=0:0)f=bf(f)|0;else f=_e(f)|0;if(!f){f=$p()|0;break}else b=f}if(e|0)et(b|0,0,e|0)|0;f=c[h>>2]|0;c[h>>2]=f+e;f=mm(5,b+e|0,f,0,d)|0;if(f|0){ef(b);break}if(k){c[a>>2]=b;f=0}else f=0}else f=67}}else f=45;while(0);i=l;return f|0}function pm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=b+(e<<2)|0;f=d+(e<<2)|0;a=a+(e<<2)|0;b=0-e|0;d=0;do{i=c[g+(b<<2)>>2]|0;h=(c[f+(b<<2)>>2]|0)+d|0;e=h+i|0;d=(e>>>0<i>>>0&1)+(h>>>0<d>>>0&1)|0;c[a+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=0);return d|0}function qm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)b=0;else{k=e>>>0<65536?(e>>>0<256?0:8):e>>>0<16777216?16:24;k=(d[45399+(e>>>k)>>0]|0)+k|0;n=32-k|0;if(!n){i=b+-1|0;n=c[a+(i<<2)>>2]|0;m=n>>>0<e>>>0;j=e>>>16;k=e&65535;i=m?b+-2|0:i;b=m?n:0;while(1){if((i|0)<=-1)break a;h=c[a+(i<<2)>>2]|0;g=S((b>>>0)/(j>>>0)|0,k)|0;b=((b>>>0)%(j>>>0)|0)<<16|h>>>16;f=b+e|0;if(b>>>0<g>>>0)b=(f>>>0>=e>>>0&f>>>0<g>>>0?e:0)+f|0;b=b-g|0;g=S((b>>>0)/(j>>>0)|0,k)|0;b=((b>>>0)%(j>>>0)|0)<<16|h&65535;f=b+e|0;if(b>>>0<g>>>0)b=(f>>>0>=e>>>0&f>>>0<g>>>0?e:0)+f|0;i=i+-1|0;b=b-g|0}}m=e<<n;j=c[a+(b+-1<<2)>>2]|0;l=m>>>16;e=m&65535;i=b+-2|0;f=j;b=j>>>k;while(1){if((i|0)<=-1)break;j=c[a+(i<<2)>>2]|0;g=S((b>>>0)/(l>>>0)|0,e)|0;h=j>>>k|f<<n;b=h>>>16|((b>>>0)%(l>>>0)|0)<<16;f=b+m|0;if(b>>>0<g>>>0)b=(f>>>0>=m>>>0&f>>>0<g>>>0?m:0)+f|0;b=b-g|0;g=S((b>>>0)/(l>>>0)|0,e)|0;b=((b>>>0)%(l>>>0)|0)<<16|h&65535;f=b+m|0;if(b>>>0<g>>>0)b=(f>>>0>=m>>>0&f>>>0<g>>>0?m:0)+f|0;i=i+-1|0;f=j;b=b-g|0}g=S((b>>>0)/(l>>>0)|0,e)|0;h=f<<n;b=((b>>>0)%(l>>>0)|0)<<16|h>>>16;f=b+m|0;if(b>>>0<g>>>0)b=(f>>>0>=m>>>0&f>>>0<g>>>0?m:0)+f|0;b=b-g|0;g=S((b>>>0)/(l>>>0)|0,e)|0;b=((b>>>0)%(l>>>0)|0)<<16|h&65535;f=b+m|0;if(b>>>0<g>>>0)b=(f>>>0>=m>>>0&f>>>0<g>>>0?m:0)+f|0;b=(b-g|0)>>>n}while(0);return b|0}function rm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;a:do switch(g|0){case 0:{Te();break}case 1:{q=c[f>>2]|0;f=c[d+(e+-1<<2)>>2]|0;i=f>>>0<q>>>0;m=i&1;n=a+(b<<2)|0;o=q>>>16;p=q&65535;e=e+-2|0;i=f-(i?0:q)|0;while(1){if((e|0)<=-1)break;j=(i>>>0)/(o>>>0)|0;k=S(j,p)|0;l=c[d+(e<<2)>>2]|0;h=l>>>16|((i>>>0)%(o>>>0)|0)<<16;if(h>>>0<k>>>0){h=h+q|0;a=h>>>0>=q>>>0&h>>>0<k>>>0;j=(a?-2:-1)+j|0;h=(a?q:0)+h|0}h=h-k|0;i=(h>>>0)/(o>>>0)|0;k=S(i,p)|0;h=l&65535|((h>>>0)%(o>>>0)|0)<<16;if(h>>>0<k>>>0){h=h+q|0;a=h>>>0>=q>>>0&h>>>0<k>>>0;i=(a?-2:-1)+i|0;h=(a?q:0)+h|0}c[n+(e<<2)>>2]=i|j<<16;e=e+-1|0;i=h-k|0}h=m^1;e=n+(0-b<<2)|0;while(1){l=b+-1|0;if((b|0)<=0)break;b=(i>>>0)/(o>>>0)|0;j=S(b,p)|0;i=((i>>>0)%(o>>>0)|0)<<16;if(i>>>0<j>>>0){i=i+q|0;a=i>>>0>=q>>>0&i>>>0<j>>>0;b=(a?-2:-1)+b|0;i=(a?q:0)+i|0}j=i-j|0;i=(j>>>0)/(o>>>0)|0;k=S(i,p)|0;j=((j>>>0)%(o>>>0)|0)<<16;if(j>>>0<k>>>0){j=j+q|0;a=j>>>0>=q>>>0&j>>>0<k>>>0;i=(a?-2:-1)+i|0;j=(a?q:0)+j|0}c[e+(l<<2)>>2]=i|b<<16;b=l;i=j-k|0}c[d>>2]=i;break}case 2:{l=d+(e+-2<<2)|0;g=c[f+4>>2]|0;u=c[f>>2]|0;v=0-u|0;h=c[l+4>>2]|0;i=c[l>>2]|0;if(h>>>0>=g>>>0?(j=i-u|0,!(h>>>0<=g>>>0&i>>>0<u>>>0)):0){k=h-g+((j>>>0>i>>>0)<<31>>31)|0;i=j;h=1}else{k=h;h=0}q=u-((u|0)!=0&1)|0;d=g>>>16;r=g&65535;s=u&65535;t=u>>>16;p=b+-3+e|0;j=k;while(1){if((p|0)<=-1)break;if((p|0)<(b|0)){c[l>>2]=0;n=l}else n=l+-4|0;if((j|0)==(g|0)){i=i+g|0;if(i>>>0<g>>>0){j=c[n>>2]|0;f=j+u|0;c[a+(p<<2)>>2]=-1;j=i-u+(f>>>0<j>>>0&1)|0;i=f}else{l=-1;k=q;j=v;o=34}}else{k=(j>>>0)/(d>>>0)|0;l=S(k,r)|0;j=((j>>>0)%(d>>>0)|0)<<16|i>>>16;if(j>>>0<l>>>0){j=j+g|0;f=j>>>0>=g>>>0&j>>>0<l>>>0;k=(f?-2:-1)+k|0;j=(f?g:0)+j|0}j=j-l|0;l=(j>>>0)/(d>>>0)|0;e=S(l,r)|0;j=((j>>>0)%(d>>>0)|0)<<16|i&65535;if(j>>>0<e>>>0){j=j+g|0;f=j>>>0>=g>>>0&j>>>0<e>>>0;i=(f?-2:-1)+l|0;j=(f?g:0)+j|0}else i=l;l=i|k<<16;m=i&65535;f=l>>>16;o=S(m,s)|0;m=S(m,t)|0;k=S(f,t)|0;f=(o>>>16)+m+(S(f,s)|0)|0;i=j-e|0;k=(f>>>0<m>>>0?k+65536|0:k)+(f>>>16)|0;j=f<<16|o&65535;o=34}if((o|0)==34){o=0;m=c[n>>2]|0;while(1){if(k>>>0<=i>>>0?!(j>>>0>m>>>0&(k|0)==(i|0)):0)break;l=l+-1|0;e=j-u|0;k=k-(e>>>0>j>>>0&1)|0;i=i+g|0;if(i>>>0<g>>>0){j=e;break}else j=e}c[a+(p<<2)>>2]=l;f=m-j|0;j=i-k+((f>>>0>m>>>0)<<31>>31)|0;i=f}l=n;p=p+-1|0}c[l+4>>2]=j;c[l>>2]=i;break}default:{k=d+(e-g<<2)|0;s=g+-1|0;t=c[f+(s<<2)>>2]|0;u=g+-2|0;v=c[f+(u<<2)>>2]|0;h=k+(s<<2)|0;i=c[h>>2]|0;do if(i>>>0<t>>>0)h=0;else{if(i>>>0<=t>>>0?(Xl(k,f,s)|0)<=-1:0){h=0;break}Cm(k,k,f,g)|0;i=c[h>>2]|0;h=1}while(0);p=t>>>16;q=t&65535;d=v&65535;r=v>>>16;j=e+b-g|0;e=k;while(1){o=j+-1|0;if((j|0)<=0)break a;if((j|0)>(b|0)){e=e+-4|0;k=c[e+(g<<2)>>2]|0}else{k=c[e+(s<<2)>>2]|0;l=e+4|0;j=u;while(1){if((j|0)<=-1)break;c[l+(j<<2)>>2]=c[e+(j<<2)>>2];j=j+-1|0}c[e>>2]=0}b:do if((i|0)==(t|0))i=-1;else{j=(i>>>0)/(p>>>0)|0;l=S(j,q)|0;n=c[e+(s<<2)>>2]|0;i=n>>>16|((i>>>0)%(p>>>0)|0)<<16;if(i>>>0<l>>>0){i=i+t|0;m=i>>>0>=t>>>0&i>>>0<l>>>0;i=(m?t:0)+i|0;m=(m?-2:-1)+j|0}else m=j;j=i-l|0;i=(j>>>0)/(p>>>0)|0;l=S(i,q)|0;j=n&65535|((j>>>0)%(p>>>0)|0)<<16;if(j>>>0<l>>>0){j=j+t|0;n=j>>>0>=t>>>0&j>>>0<l>>>0;j=(n?t:0)+j|0;i=(n?-2:-1)+i|0}x=i|m<<16;y=i&65535;w=x>>>16;m=S(y,d)|0;y=S(y,r)|0;i=S(w,r)|0;w=(m>>>16)+y+(S(w,d)|0)|0;n=e+(u<<2)|0;j=j-l|0;l=(w>>>0<y>>>0?i+65536|0:i)+(w>>>16)|0;i=x;m=w<<16|m&65535;while(1){if(l>>>0<=j>>>0){if((l|0)!=(j|0))break b;if(m>>>0<=(c[n>>2]|0)>>>0)break b}i=i+-1|0;j=j+t|0;if(j>>>0<t>>>0)break b;l=l-(m>>>0<v>>>0&1)|0;m=m-v|0}}while(0);if((k|0)!=(vm(e,f,g,i)|0)){pm(e,e,f,g)|0;i=i+-1|0}c[a+(o<<2)>>2]=i;j=o;i=c[e+(s<<2)>>2]|0}}}while(0);return h|0}function sm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!e)g=0;else{m=f>>>0<65536?(f>>>0<256?0:8):f>>>0<16777216?16:24;m=(d[45399+(f>>>m)>>0]|0)+m|0;p=32-m|0;if(!p){h=e+-1|0;g=c[b+(h<<2)>>2]|0;if(g>>>0<f>>>0){c[a+(h<<2)>>2]=0;h=e+-2|0}else g=0;l=f>>>16;m=f&65535;while(1){if((h|0)<=-1)break a;k=c[b+(h<<2)>>2]|0;e=(g>>>0)/(l>>>0)|0;i=S(e,m)|0;g=((g>>>0)%(l>>>0)|0)<<16|k>>>16;if(g>>>0<i>>>0){g=g+f|0;j=g>>>0>=f>>>0&g>>>0<i>>>0;g=(j?f:0)+g|0;j=(j?-2:-1)+e|0}else j=e;e=g-i|0;g=(e>>>0)/(l>>>0)|0;i=S(g,m)|0;e=((e>>>0)%(l>>>0)|0)<<16|k&65535;if(e>>>0<i>>>0){e=e+f|0;p=e>>>0>=f>>>0&e>>>0<i>>>0;e=(p?f:0)+e|0;g=(p?-2:-1)+g|0}c[a+(h<<2)>>2]=g|j<<16;h=h+-1|0;g=e-i|0}}o=f<<p;i=c[b+(e+-1<<2)>>2]|0;n=o>>>16;f=o&65535;k=e+-2|0;g=i;i=i>>>m;while(1){if((k|0)<=-1)break;l=c[b+(k<<2)>>2]|0;h=(i>>>0)/(n>>>0)|0;e=S(h,f)|0;j=l>>>m|g<<p;g=j>>>16|((i>>>0)%(n>>>0)|0)<<16;if(g>>>0<e>>>0){g=g+o|0;i=g>>>0>=o>>>0&g>>>0<e>>>0;g=(i?o:0)+g|0;i=(i?-2:-1)+h|0}else i=h;h=g-e|0;g=(h>>>0)/(n>>>0)|0;e=S(g,f)|0;h=((h>>>0)%(n>>>0)|0)<<16|j&65535;if(h>>>0<e>>>0){h=h+o|0;j=h>>>0>=o>>>0&h>>>0<e>>>0;h=(j?o:0)+h|0;g=(j?-2:-1)+g|0}c[a+(k+1<<2)>>2]=g|i<<16;k=k+-1|0;g=l;i=h-e|0}h=(i>>>0)/(n>>>0)|0;e=S(h,f)|0;j=g<<p;g=((i>>>0)%(n>>>0)|0)<<16|j>>>16;if(g>>>0<e>>>0){g=g+o|0;i=g>>>0>=o>>>0&g>>>0<e>>>0;g=(i?o:0)+g|0;i=(i?-2:-1)+h|0}else i=h;h=g-e|0;g=(h>>>0)/(n>>>0)|0;e=S(g,f)|0;h=((h>>>0)%(n>>>0)|0)<<16|j&65535;if(h>>>0<e>>>0){h=h+o|0;b=h>>>0>=o>>>0&h>>>0<e>>>0;h=(b?o:0)+h|0;g=(b?-2:-1)+g|0}c[a>>2]=g|i<<16;g=(h-e|0)>>>p}while(0);return g|0}function tm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=32-e|0;a=d+-1|0;f=c[b+(a<<2)>>2]|0;d=f;while(1){g=a+-1|0;if((a|0)<=0)break;j=c[b+(g<<2)>>2]|0;c[h+(g<<2)>>2]=j>>>i|d<<e;a=g;d=j}c[h+(g<<2)>>2]=d<<e;return f>>>i|0}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=b+(d<<2)|0;f=a+(d<<2)|0;g=e&65535;e=e>>>16;a=0;b=0-d|0;do{j=c[h+(b<<2)>>2]|0;i=j&65535;j=j>>>16;d=S(i,g)|0;k=S(j,g)|0;j=S(j,e)|0;i=k+(S(i,e)|0)+(d>>>16)|0;d=(i<<16|d&65535)+a|0;a=(i>>>0<k>>>0?j+65536|0:j)+(i>>>16)+(d>>>0<a>>>0&1)|0;c[f+(b<<2)>>2]=d;b=b+1|0}while((b|0)!=0);return a|0}function vm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+(d<<2)|0;f=b+(d<<2)|0;g=e&65535;e=e>>>16;b=0;a=0-d|0;do{m=c[f+(a<<2)>>2]|0;l=m&65535;m=m>>>16;k=S(l,g)|0;n=S(m,g)|0;m=S(m,e)|0;l=n+(S(l,e)|0)+(k>>>16)|0;k=(l<<16|k&65535)+b|0;d=h+(a<<2)|0;j=c[d>>2]|0;i=j-k|0;b=(l>>>0<n>>>0?m+65536|0:m)+(l>>>16)+(k>>>0<b>>>0&1)+(i>>>0>j>>>0&1)|0;c[d>>2]=i;a=a+1|0}while((a|0)!=0);return b|0}function wm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;a:do if(f>>>0<2)if((f|0)==1){f=0;while(1){if((f|0)>=(e|0)){f=0;break a}c[a+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}}else{f=0;while(1){if((f|0)>=(e|0)){f=0;break a}c[a+(f<<2)>>2]=0;f=f+1|0}}else f=um(a,b,e,f)|0;while(0);c[a+(e<<2)>>2]=f;g=1;f=a;while(1){f=f+4|0;if((g|0)>=(e|0))break;a=c[d+(g<<2)>>2]|0;if(a>>>0<2)if((a|0)==1)a=pm(f,f,b,e)|0;else a=0;else a=Op(f,b,e,a)|0;c[f+(e<<2)>>2]=a;g=g+1|0}return}function xm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(!(e&1)){k=e>>1;i=(k|0)<16;l=a+(e<<2)|0;g=b+(k<<2)|0;h=d+(k<<2)|0;if(i)wm(l,g,h,k);else xm(l,g,h,k,f);if((Xl(g,b,k)|0)>-1){Cm(a,g,b,k)|0;g=0}else{Cm(a,b,g,k)|0;g=1}j=a+(k<<2)|0;if((Xl(h,d,k)|0)>-1){Cm(j,h,d,k)|0;h=g^1}else{Cm(j,d,h,k)|0;h=g}if(i){wm(f,a,j,k);g=0}else{xm(f,a,j,k,f+(e<<2)|0);g=0}while(1){if((g|0)>=(k|0))break;c[j+(g<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}g=pm(l,l,l+(k<<2)|0,k)|0;if(!h)g=(pm(j,j,f,e)|0)+g|0;else g=g-(Cm(j,j,f,e)|0)|0;if(i)wm(f,b,d,k);else xm(f,b,d,k,f+(e<<2)|0);g=(pm(j,j,f,e)|0)+g|0;h=j+(e<<2)|0;if(!g)g=0;else{Tl(h,h,k,g)|0;g=0}while(1){if((g|0)>=(k|0))break;c[a+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}if(pm(j,j,f+(k<<2)|0,k)|0)Tl(l,l,e,1)|0}else{g=e+-1|0;if((e|0)<17)wm(a,b,d,g);else xm(a,b,d,g,f);f=a+(g<<2)|0;c[a+(g<<1<<2)>>2]=Op(f,b,g,c[d+(g<<2)>>2]|0)|0;c[a+(g+e<<2)>>2]=Op(f,d,e,c[b+(g<<2)>>2]|0)|0}return}function ym(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=g+4|0;h=c[m>>2]|0;if(h){if((c[g+12>>2]|0)<(f|0)){Jm(h,c[g+8>>2]|0);k=4}}else k=4;if((k|0)==4){h=f<<1;c[g+8>>2]=h;if(!(cf(b)|0))i=(cf(e)|0)!=0;else i=1;h=Hm(h,i&1)|0;c[m>>2]=h;c[g+12>>2]=f}l=(f|0)<16;if(l)wm(a,b,e,f);else xm(a,b,e,f,h);j=a+(f<<2)|0;a=b+(f<<2)|0;i=d-f|0;a:do if((i|0)<(f|0))b=j;else{d=g+16|0;h=c[d>>2]|0;if(h){if((c[g+24>>2]|0)<(f|0)){Jm(h,c[g+20>>2]|0);k=14}}else k=14;if((k|0)==14){h=f<<1;c[g+20>>2]=h;if(!(cf(a)|0))b=(cf(e)|0)!=0;else b=1;h=Hm(h,b&1)|0;c[d>>2]=h;c[g+24>>2]=f}while(1){if(l)wm(h,a,e,f);else xm(h,a,e,f,c[m>>2]|0);k=pm(j,j,c[d>>2]|0,f)|0;h=j+(f<<2)|0;Tl(h,(c[d>>2]|0)+(f<<2)|0,f,k)|0;a=a+(f<<2)|0;i=i-f|0;if((i|0)<(f|0)){b=h;break a}j=h;h=c[d>>2]|0}}while(0);if(i|0){if((i|0)<16)zm(c[m>>2]|0,e,f,a,i)|0;else{h=c[g>>2]|0;if(!h){h=mf(1,28)|0;c[g>>2]=h}ym(c[m>>2]|0,e,f,a,i,h)}e=pm(b,b,c[m>>2]|0,f)|0;Tl(b+(f<<2)|0,(c[m>>2]|0)+(f<<2)|0,i,e)|0}return}function zm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=k;h=a+(d<<2)|0;a:do if((f|0)<16)if(!f)g=0;else{g=c[e>>2]|0;b:do if(g>>>0<2)if((g|0)==1){g=0;while(1){if((g|0)>=(d|0)){g=0;break b}c[a+(g<<2)>>2]=c[b+(g<<2)>>2];g=g+1|0}}else{g=0;while(1){if((g|0)>=(d|0)){g=0;break b}c[a+(g<<2)>>2]=0;g=g+1|0}}else g=um(a,b,d,g)|0;while(0);c[h>>2]=g;h=1;while(1){a=a+4|0;if((h|0)>=(f|0))break a;g=c[e+(h<<2)>>2]|0;if(g>>>0<2)if((g|0)==1)g=pm(a,a,b,d)|0;else g=0;else g=Op(a,b,d,g)|0;c[a+(d<<2)>>2]=g;h=h+1|0}}else{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;ym(a,b,d,e,f,g);Am(g);g=c[h+(f<<2)+-4>>2]|0}while(0);i=k;return g|0}function Am(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;if(b|0)Jm(b,c[a+20>>2]|0);b=c[a+4>>2]|0;if(b|0)Jm(b,c[a+8>>2]|0);a=c[a>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;b=c[a+16>>2]|0;if(b|0)Jm(b,c[a+20>>2]|0);b=c[a+4>>2]|0;if(b|0)Jm(b,c[a+8>>2]|0);ef(a);a=d}return}function Bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=a+-4|0;h=32-e|0;i=c[b>>2]|0;a=1;f=i;while(1){if((a|0)>=(d|0))break;j=c[b+(a<<2)>>2]|0;c[g+(a<<2)>>2]=j<<h|f>>>e;a=a+1|0;f=j}c[g+(a<<2)>>2]=f>>>e;return i<<h|0}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=b+(e<<2)|0;f=d+(e<<2)|0;a=a+(e<<2)|0;b=0-e|0;d=0;do{i=c[g+(b<<2)>>2]|0;h=(c[f+(b<<2)>>2]|0)+d|0;e=i-h|0;d=(e>>>0>i>>>0&1)+(h>>>0<d>>>0&1)|0;c[a+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=0);return d|0}function Dm(){return 45749}function Em(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;b=0;a:while(1){if((b|0)>=6){a=7;break}switch(b|0){case 4:case 3:case 2:case 1:case 0:{a=b;break}case 5:{a=8;break}default:{a=5;break a}}a=Fm(a)|0;c[70424+(b<<2)>>2]=a;c[a+12>>2]=48;b=b+1|0}if((a|0)==5){c[d>>2]=b;Le(45893,d)}else if((a|0)==7){i=e;return 0}return 0}function Fm(a){a=a|0;var b=0;b=Gm(1)|0;c[c[b+16>>2]>>2]=a;c[b+4>>2]=(a|0)!=0&1;c[b+8>>2]=0;return b|0}function Gm(a){a=a|0;var b=0,d=0;b=jf(20)|0;if(!a)d=0;else d=Hm(a,0)|0;c[b+16>>2]=d;c[b>>2]=a;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return b|0}function Hm(a,b){a=a|0;b=b|0;var d=0;d=(a|0)!=0;a=d?a<<2:4;if(!b)a=jf(a)|0;else a=lf(a)|0;if(!d)c[a>>2]=0;return a|0}function Im(a){a=a|0;var b=0,d=0;b=jf(20)|0;if(!a)d=0;else d=Hm(a,1)|0;c[b+16>>2]=d;c[b>>2]=a;c[b+12>>2]=1;c[b+4>>2]=0;c[b+8>>2]=0;return b|0}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(b|0){d=d<<2;a:do if(d|0){e=b;while(1){if(!((d|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;e=e+1|0;d=d+-1|0}if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){j=f;c[j>>2]=0;c[j+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}while(1){if(!d)break a;a[e>>0]=0;e=e+1|0;d=d+-1|0}}while(0);ef(b)}return}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+16|0;Jm(c[e>>2]|0,c[a>>2]|0);c[e>>2]=b;c[a>>2]=d;return}function Lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;a:do if(d>>>0<b>>>0){e=a+16|0;d=c[e>>2]|0;b:do if(!d)if(!(c[a+12>>2]&1)){c[e>>2]=mf(b,4)|0;break}else{c[e>>2]=nf(b,4)|0;break}else{f=kf(d,b<<2)|0;c[e>>2]=f;d=c[a>>2]|0;while(1){if(d>>>0>=b>>>0)break b;c[f+(d<<2)>>2]=0;d=d+1|0}}while(0);c[a>>2]=b}else{f=a+16|0;e=c[a+4>>2]|0;while(1){if(e>>>0>=d>>>0)break a;c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0;d=c[a>>2]|0}}while(0);return}function Mm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;b=a+12|0;if((a|0)!=0?(c[b>>2]&16|0)!=0:0)He(45924,d);else{c[a+4>>2]=0;c[b>>2]=0}i=e;return}function Nm(){var a=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);He(45924,a);i=a;return}function Om(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;do if(a|0?(b=a+12|0,d=c[b>>2]|0,(d&32|0)==0):0){e=c[a+16>>2]|0;if(!(d&4))Jm(e,c[a>>2]|0);else ef(e);if(!(c[b>>2]&-3864)){ef(a);break}else Le(45968,f)}while(0);i=g;return}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=k;if(!a){a=Gm(0)|0;if(!a){a=0;f=c[3]|0;g=6}else g=4}else g=4;if((g|0)==4){e=c[a+12>>2]|0;if(!(e&16)){f=e;g=6}else He(45924,f)}if((g|0)==6){h=a+12|0;g=a+16|0;e=c[g>>2]|0;if(!(f&4)){Jm(e,c[a>>2]|0);e=a}else{ef(e);e=a}c[g>>2]=b;c[e>>2]=0;c[a+4>>2]=0;c[a+8>>2]=d;e=c[h>>2]&3840;c[h>>2]=e|4;if(cf(b)|0)c[h>>2]=e|5}i=k;return a|0}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=(c+7|0)>>>3;if(!(cf(b)|0))e=_e(d)|0;else e=bf(d)|0;if(!e)a=0;else{kt(e|0,b|0,d|0)|0;a=Pm(a,e,c)|0}return a|0}function Rm(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);if(!(c[a+12>>2]&4))Le(46e3,d);if(b|0)c[b>>2]=c[a+8>>2];i=d;return c[a+16>>2]|0}function Sm(a,b){a=a|0;b=b|0;var d=0;d=Rm(a,b)|0;if(!((b|0)!=0&(d|0)==0)){b=((c[b>>2]|0)+7|0)>>>3;if(!(cf(d)|0))a=_e(b)|0;else a=bf(b)|0;if(a)kt(a|0,d|0,b|0)|0;else a=0}else a=0;return a|0}function Tm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a:do if(!a)b=0;else{f=a+12|0;b=c[f>>2]|0;if(!(b&4)){e=a+4|0;d=c[e>>2]|0;if(!(b&1))b=Gm(d)|0;else b=Im(d)|0;g=c[e>>2]|0;c[b+4>>2]=g;c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[f>>2]&-49;e=a+16|0;f=b+16|0;d=0;while(1){if((d|0)>=(g|0))break a;c[(c[f>>2]|0)+(d<<2)>>2]=c[(c[e>>2]|0)+(d<<2)>>2];d=d+1|0}}f=a+16|0;g=(cf(c[f>>2]|0)|0)==0;d=a+8|0;b=((c[d>>2]|0)+7|0)/8|0;if(g)e=jf(b)|0;else e=lf(b)|0;b=c[f>>2]|0;if(!b)b=c[d>>2]|0;else{a=c[d>>2]|0;kt(e|0,b|0,(a+7|0)/8|0|0)|0;b=a}b=Pm(0,e,b)|0;a=b+12|0;c[a>>2]=c[a>>2]&-49}while(0);return b|0}function Um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=f;if((a|0)==(b|0))if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)He(45924,d);else e=6;else{Vm(a,b)|0;e=6}if((e|0)==6)c[a+8>>2]=(c[b+8>>2]|0)==0&1;i=f;return}function Vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=k;g=c[b+4>>2]|0;h=c[b+8>>2]|0;if(!a){a=Gm(g)|0;if(!a){a=0;e=5}else e=3}else e=3;if((e|0)==3)if(!(c[a+12>>2]&16))e=5;else He(45924,d);if((e|0)==5){if((c[a>>2]|0)<(g|0))Lm(a,g);e=c[a+16>>2]|0;f=c[b+16>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;c[e+(d<<2)>>2]=c[f+(d<<2)>>2];d=d+1|0}c[a+4>>2]=g;c[a+12>>2]=c[b+12>>2]&-49;c[a+8>>2]=h}i=k;return a|0}function Wm(a){a=a|0;var b=0,d=0,e=0;do if(a){d=a+12|0;b=c[d>>2]|0;if(!(b&4)){a=c[a+4>>2]|0;if(!(b&1))a=Gm(a)|0;else a=Im(a)|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=c[d>>2];break}else{d=a+8|0;e=((c[d>>2]|0)+7|0)/8|0;a=a+16|0;if(!(cf(c[a>>2]|0)|0))b=_e(e)|0;else b=bf(e)|0;kt(b|0,c[a>>2]|0,e|0)|0;a=Pm(0,b,c[d>>2]|0)|0;break}}else a=0;while(0);return a|0}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g;do if(a){d=a+12|0;if(!(c[d>>2]&16)){f=b+16|0;Km(a,c[f>>2]|0,c[b>>2]|0);e=b+4|0;c[a+4>>2]=c[e>>2];c[a+8>>2]=c[b+8>>2];c[d>>2]=c[b+12>>2];c[b>>2]=0;c[e>>2]=0;c[f>>2]=0;f=5;break}else{He(45924,e);break}}else f=5;while(0);if((f|0)==5)Om(b);i=g;return}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=c[b>>2]|0;e=(d|0)!=0;if((c[a>>2]|0)!=(h|0))Le(46030,k);f=a+16|0;g=b+16|0;d=0;while(1){if((d|0)>=(h|0))break;l=(c[f>>2]|0)+(d<<2)|0;m=c[l>>2]|0;c[l>>2]=(e?c[(c[g>>2]|0)+(d<<2)>>2]^m:0)^m;d=d+1|0}m=a+4|0;l=c[m>>2]|0;c[m>>2]=(e?c[b+4>>2]^l:0)^l;m=a+8|0;l=c[m>>2]|0;c[m>>2]=(e?c[b+8>>2]^l:0)^l;i=k;return a|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=f;if(!a){a=Gm(1)|0;if(!a){a=0;e=5}else e=3}else e=3;if((e|0)==3)if(!(c[a+12>>2]&16))e=5;else He(45924,d);if((e|0)==5){if((c[a>>2]|0)<1)Lm(a,1);c[c[a+16>>2]>>2]=b;c[a+4>>2]=(b|0)!=0&1;c[a+8>>2]=0;c[a+12>>2]=0}i=f;return a|0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+32|0;if((i|0)>=(j|0))$(32);e=d;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[e+16>>2]=c[a+16>>2];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];i=d;return}function $m(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=c[a>>2]|0;e=(d|0)!=0;if((h|0)!=(c[b>>2]|0))Le(46061,k);f=a+16|0;g=b+16|0;d=0;while(1){if((d|0)>=(h|0))break;n=(c[f>>2]|0)+(d<<2)|0;o=c[n>>2]|0;l=(c[g>>2]|0)+(d<<2)|0;m=e?c[l>>2]^o:0;c[n>>2]=m^o;c[l>>2]=c[l>>2]^m;d=d+1|0}o=a+4|0;n=c[o>>2]|0;m=b+4|0;l=e?c[m>>2]^n:0;c[o>>2]=l^n;c[m>>2]=c[m>>2]^l;m=a+8|0;l=c[m>>2]|0;o=b+8|0;n=e?c[o>>2]^l:0;c[m>>2]=n^l;c[o>>2]=c[o>>2]^n;i=k;return}function an(a){a=a|0;return Gm((a+31|0)>>>5)|0}function bn(a){a=a|0;return Im((a+31|0)>>>5)|0}function cn(a){a=a|0;Om(a);return}function dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g;f=(b+7|0)>>>3;b=(a|0)!=0;if(b?(c[a+12>>2]&16|0)!=0:0)He(45924,e);else{do if(!d){if(b?(c[a+12>>2]&1|0)!=0:0)b=lf(f)|0;else b=jf(f)|0;Ok(b,f)}else{if(b?c[a+12>>2]&1|0:0){b=Jk(f,d)|0;break}b=Hk(f,d)|0}while(0);jm(a,b,f,0);ef(b)}i=g;return}function en(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);switch(b|0){case 1:{d=c[a+12>>2]&1;break}case 2:{d=(c[a+12>>2]|0)>>>2&1;break}case 4:{d=(c[a+12>>2]|0)>>>4&1;break}case 8:{d=(c[a+12>>2]|0)>>>5&1;break}case 2048:case 1024:case 512:case 256:{d=(c[a+12>>2]&b|0)!=0&1;break}default:Le(46093,e)}i=e;return d|0}function fn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;if((a|0)<0|a>>>0>6){c[b>>2]=a;Le(45893,b)}a=c[70424+(a<<2)>>2]|0;if(!a)Le(46113,d+8|0);else{i=d;return a|0}return 0}function gn(){return 46144}function hn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=o;f=Ys(172)|0;a:do if(f){c[f>>2]=1779033703;c[f+4>>2]=-1150833019;c[f+8>>2]=1013904242;c[f+12>>2]=-1521486534;c[f+16>>2]=1359893119;c[f+20>>2]=-1694144372;c[f+24>>2]=528734635;c[f+28>>2]=1541459225;c[f+32>>2]=0;c[f+36>>2]=0;m=f+40|0;a[m>>0]=0;if(b){k=g;l=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0));n=f+105|0;k=n;l=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0));do if(e>>>0>=65){h=hn(0,0)|0;if(!h){Zs(f);f=0;break a}else{jn(h,b,e);kn(h);b=h+41|0;k=g;e=b;l=k+32|0;do{a[k>>0]=a[e>>0]|0;k=k+1|0;e=e+1|0}while((k|0)<(l|0));k=n;e=b;l=k+32|0;do{a[k>>0]=a[e>>0]|0;k=k+1|0;e=e+1|0}while((k|0)<(l|0));ln(h);b=0;break}}else{kt(g|0,b|0,e|0)|0;kt(n|0,b|0,e|0)|0;b=0}while(0);while(1){if((b|0)==64)break;l=g+b|0;a[l>>0]=(d[l>>0]|0)^54;l=n+b|0;a[l>>0]=(d[l>>0]|0)^92;b=b+1|0}a[m>>0]=a[m>>0]|2;jn(f,g,64);b=64;while(1){if(!b)break;a[g>>0]=0;b=b+-1|0;g=g+1|0}}}else f=0;while(0);i=o;return f|0}function jn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=b+40|0;k=b+36|0;h=b+41|0;j=b+32|0;a:while(1){if(a[g>>0]&1)break;f=c[k>>2]|0;if((f|0)==64){mn(b,h);c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+1;f=0}if(!d)break;if(!f){h=d;i=11;break}while(1){if(!e){d=0;e=0;continue a}f=c[k>>2]|0;if((f|0)>=64){i=10;break a}l=a[d>>0]|0;c[k>>2]=f+1;a[b+41+f>>0]=l;d=d+1|0;e=e+-1|0}}if((i|0)==10){jn(b,0,0);h=d;i=11}b:do if((i|0)==11){g=e+~(e>>>0<63?e:63)+64&-64;d=e-g|0;f=h;while(1){if(e>>>0<=63)break;mn(b,f);c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+1;f=f+64|0;e=e+-64|0}f=h+g|0;while(1){if(!d)break b;e=c[k>>2]|0;if((e|0)>=64)break b;l=a[f>>0]|0;c[k>>2]=e+1;a[b+41+e>>0]=l;f=f+1|0;d=d+-1|0}}while(0);return}function kn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+40|0;if(!(a[h>>0]&1)){jn(b,0,0);g=c[b+32>>2]|0;j=g<<6;f=b+36|0;e=c[f>>2]|0;i=j+e|0;g=(i>>>0<j>>>0&1)+(g>>>26)|0;j=i<<3;k=g<<3|i>>>29;c[f>>2]=e+1;d=b+41|0;a[b+41+e>>0]=-128;if((e|0)<56)while(1){e=c[f>>2]|0;if((e|0)>=56)break;c[f>>2]=e+1;a[b+41+e>>0]=0}else{while(1){e=c[f>>2]|0;if((e|0)>=64)break;c[f>>2]=e+1;a[b+41+e>>0]=0}jn(b,0,0);e=d;f=e+56|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}a[b+97>>0]=0;a[b+98>>0]=0;a[b+99>>0]=g>>>5;a[b+100>>0]=k;a[b+101>>0]=i>>>21;a[b+102>>0]=i>>>13;a[b+103>>0]=i>>>5;a[b+104>>0]=j;mn(b,d);k=c[b>>2]|0;a[d>>0]=k>>>24;a[b+42>>0]=k>>>16;a[b+43>>0]=k>>>8;a[b+44>>0]=k;k=c[b+4>>2]|0;a[b+45>>0]=k>>>24;a[b+46>>0]=k>>>16;a[b+47>>0]=k>>>8;a[b+48>>0]=k;k=c[b+8>>2]|0;a[b+49>>0]=k>>>24;a[b+50>>0]=k>>>16;a[b+51>>0]=k>>>8;a[b+52>>0]=k;k=c[b+12>>2]|0;a[b+53>>0]=k>>>24;a[b+54>>0]=k>>>16;a[b+55>>0]=k>>>8;a[b+56>>0]=k;k=c[b+16>>2]|0;a[b+57>>0]=k>>>24;a[b+58>>0]=k>>>16;a[b+59>>0]=k>>>8;a[b+60>>0]=k;k=c[b+20>>2]|0;a[b+61>>0]=k>>>24;a[b+62>>0]=k>>>16;a[b+63>>0]=k>>>8;a[b+64>>0]=k;k=c[b+24>>2]|0;a[b+65>>0]=k>>>24;a[b+66>>0]=k>>>16;a[b+67>>0]=k>>>8;a[b+68>>0]=k;k=c[b+28>>2]|0;a[b+69>>0]=k>>>24;a[b+70>>0]=k>>>16;a[b+71>>0]=k>>>8;a[b+72>>0]=k;a[h>>0]=a[h>>0]|1}return}function ln(b){b=b|0;var c=0,d=0;if(b|0){a:do if(a[b+40>>0]&2){c=64;d=b+105|0;while(1){if(!c)break a;a[d>>0]=0;c=c+-1|0;d=d+1|0}}while(0);Zs(b)}return}function mn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;z=i;i=i+320|0;if((i|0)>=(j|0))$(320);m=z+256|0;v=z;n=c[b>>2]|0;w=b+4|0;e=c[w>>2]|0;x=b+8|0;f=c[x>>2]|0;y=b+12|0;g=c[y>>2]|0;r=b+16|0;h=c[r>>2]|0;s=b+20|0;q=c[s>>2]|0;t=b+24|0;p=c[t>>2]|0;u=b+28|0;o=c[u>>2]|0;k=m;l=0;while(1){if((l|0)==16){d=0;break}a[k+3>>0]=a[d>>0]|0;a[k+2>>0]=a[d+1>>0]|0;a[k+1>>0]=a[d+2>>0]|0;a[k>>0]=a[d+3>>0]|0;k=k+4|0;l=l+1|0;d=d+4|0}while(1){if((d|0)==16){d=16;break}c[v+(d<<2)>>2]=c[m+(d<<2)>>2];d=d+1|0}while(1){if((d|0)>=64){m=o;l=p;k=q;d=0;break}l=c[v+(d+-2<<2)>>2]|0;m=c[v+(d+-15<<2)>>2]|0;c[v+(d<<2)>>2]=(c[v+(d+-16<<2)>>2]|0)+(c[v+(d+-7<<2)>>2]|0)+((l<<13|l>>>19)^l>>>10^(l<<15|l>>>17))+((m<<14|m>>>18)^m>>>3^(m<<25|m>>>7));d=d+1|0}while(1){if((d|0)==64)break;D=((h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25))+m+((l^k)&h^l)+(c[12336+(d<<2)>>2]|0)+(c[v+(d<<2)>>2]|0)|0;C=n;B=e;A=f;o=h;p=k;q=l;n=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+((n|e)&f|n&e)+D|0;h=D+g|0;d=d+1|0;e=C;f=B;g=A;k=o;l=p;m=q}c[b>>2]=(c[b>>2]|0)+n;c[w>>2]=(c[w>>2]|0)+e;c[x>>2]=(c[x>>2]|0)+f;c[y>>2]=(c[y>>2]|0)+g;c[r>>2]=(c[r>>2]|0)+h;c[s>>2]=(c[s>>2]|0)+k;c[t>>2]=(c[t>>2]|0)+l;c[u>>2]=(c[u>>2]|0)+m;i=z;return}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;kn(b);do if(a[b+40>>0]&2){h=hn(0,0)|0;if(!h){Zs(b);e=0;break}else{jn(h,b+105|0,64);e=b+41|0;jn(h,e,32);kn(h);f=h+41|0;g=e+32|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));ln(h);f=5;break}}else f=5;while(0);if((f|0)==5){if(d|0)c[d>>2]=32;e=b+41|0}return e|0}function on(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+16|0;if((i|0)>=(j|0))$(16);q=s;r=b+12|0;if((c[(c[r>>2]|0)+20>>2]|0)==16)if((h+8|0)>>>0<=f>>>0)if((h&7|0)==0?(k=h>>>3,h>>>0>=16):0){p=b+80|0;if(!(a[b+56>>0]&2)){o=e;n=o;a[n>>0]=-1499027802;a[n+1>>0]=-1499027802>>8;a[n+2>>0]=-1499027802>>16;a[n+3>>0]=-1499027802>>24;o=o+4|0;a[o>>0]=-1499027802;a[o+1>>0]=-1499027802>>8;a[o+2>>0]=-1499027802>>16;a[o+3>>0]=-1499027802>>24;o=e}else{n=b+64|0;l=n;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;n=n+4|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=e;m=o;a[m>>0]=l;a[m+1>>0]=l>>8;a[m+2>>0]=l>>16;a[m+3>>0]=l>>24;o=o+4|0;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;o=e}lt(e+8|0,g|0,h|0)|0;n=q;c[n>>2]=0;c[n+4>>2]=0;n=b+88|0;m=b+496|0;l=k+1|0;f=0;b=0;while(1){if((b|0)==6)break;else k=1;while(1){if((k|0)==(l|0))break;t=o;g=t;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;t=t+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;h=p;v=h;a[v>>0]=g;a[v+1>>0]=g>>8;a[v+2>>0]=g>>16;a[v+3>>0]=g>>24;h=h+4|0;a[h>>0]=t;a[h+1>>0]=t>>8;a[h+2>>0]=t>>16;a[h+3>>0]=t>>24;h=e+(k<<3)|0;t=h;v=t;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;t=t+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;g=n;u=g;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;g=g+4|0;a[g>>0]=t;a[g+1>>0]=t>>8;a[g+2>>0]=t>>16;a[g+3>>0]=t>>24;g=ub[c[(c[r>>2]|0)+36>>2]&63](m,p,p)|0;f=g>>>0>f>>>0?g:f;g=7;while(1){if((g|0)<=-1)break;u=q+g|0;v=(a[u>>0]|0)+1<<24>>24;a[u>>0]=v;if(!(v<<24>>24))g=g+-1|0;else break}pn(e,p,q);u=n;g=u;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;u=u+4|0;u=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;v=h;t=v;a[t>>0]=g;a[t+1>>0]=g>>8;a[t+2>>0]=g>>16;a[t+3>>0]=g>>24;v=v+4|0;a[v>>0]=u;a[v+1>>0]=u>>8;a[v+2>>0]=u>>16;a[v+3>>0]=u>>24;k=k+1|0}b=b+1|0}if(!f)f=0;else{Re(f+16|0);f=0}}else f=45;else f=200;else f=139;i=s;return f|0}function pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if(!((d|b|e)&3)){i=b+8|0;h=d+8|0;f=e+8|0;g=8;while(1){if(g>>>0<=3){d=h;b=i;e=0;break a}c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}}else{f=e;e=8}while(0);while(1){if(!e)break;a[b>>0]=a[f>>0]^a[d>>0];f=f+1|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function qn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+16|0;if((i|0)>=(j|0))$(16);r=t;s=b+12|0;if((c[(c[s>>2]|0)+20>>2]|0)==16)if((f+8|0)>>>0>=h>>>0)if(h>>>0<24|(h&7|0)!=0)f=45;else{p=b+96|0;q=b+80|0;f=g;m=f;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;f=f+4|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;o=p;n=o;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;o=o+4|0;a[o>>0]=f;a[o+1>>0]=f>>8;a[o+2>>0]=f>>16;a[o+3>>0]=f>>24;lt(e|0,g+8|0,h+-8|0)|0;o=(h>>>3)+-1|0;g=o*6|0;f=0;while(1){if((f|0)==4)break;a[r+(7-f)>>0]=g>>>(f<<3);f=f+1|0}f=4;while(1){if((f|0)>=8)break;a[r+(7-f)>>0]=0;f=f+1|0}m=b+88|0;n=b+496|0;g=0;k=5;while(1){if((k|0)>-1){l=o;f=g}else break;while(1){if(!l)break;pn(q,p,r);h=e+((l<<3)+-8)|0;u=h;w=u;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;u=u+4|0;u=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;g=m;v=g;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;g=g+4|0;a[g>>0]=u;a[g+1>>0]=u>>8;a[g+2>>0]=u>>16;a[g+3>>0]=u>>24;g=ub[c[(c[s>>2]|0)+40>>2]&63](n,q,q)|0;f=g>>>0>f>>>0?g:f;g=7;while(1){if((g|0)<=-1)break;v=r+g|0;w=a[v>>0]|0;a[v>>0]=w+-1<<24>>24;if(!(w<<24>>24))g=g+-1|0;else break}g=q;u=g;u=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;v=p;w=v;a[w>>0]=u;a[w+1>>0]=u>>8;a[w+2>>0]=u>>16;a[w+3>>0]=u>>24;v=v+4|0;a[v>>0]=g;a[v+1>>0]=g>>8;a[v+2>>0]=g>>16;a[v+3>>0]=g>>24;v=m;g=v;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=h;u=w;a[u>>0]=g;a[u+1>>0]=g>>8;a[u+2>>0]=g>>16;a[u+3>>0]=g>>24;w=w+4|0;a[w>>0]=v;a[w+1>>0]=v>>8;a[w+2>>0]=v>>16;a[w+3>>0]=v>>24;l=l+-1|0}g=f;k=k+-1|0}a:do if(!(a[b+56>>0]&2)){f=0;while(1){if((f|0)>=8){f=0;break a}if((a[b+96+f>>0]|0)==-90)f=f+1|0;else{f=1;break}}}else f=_r(p,b+64|0,8)|0;while(0);if(g|0)Re(g+16|0);f=f|0?10:0}else f=200;else f=139;i=t;return f|0}function rn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[b+12>>2]|0;r=c[q+20>>2]|0;q=c[q+36>>2]|0;i=(g>>>0)/(r>>>0)|0;n=b+52|0;h=c[n>>2]|0;j=h&8;do if((j|0?r:g)>>>0<=e>>>0){o=(g>>>0)%(r>>>0)|0;p=(o|0)==0;if(!p){e=h&4;if(r>>>0>=g>>>0|(e|0)==0){e=139;break}}else e=h&4;m=r>>>0<g>>>0;l=((p&(m&(e|0)!=0))<<31>>31)+i|0;e=c[b+28>>2]|0;if(!e){j=b+64|0;k=b+496|0;e=0;g=j;i=0;while(1){if(i>>>0>=l>>>0)break;sn(d,f,g,r);t=ub[q&63](k,d,d)|0;h=c[n>>2]|0;s=d;e=t>>>0>e>>>0?t:e;d=(h&8|0)==0?d+r|0:d;f=f+r|0;i=i+1|0;g=s}if((g|0)==(j|0))k=f;else{tn(j,g,r);k=f;h=c[n>>2]|0}}else{Cb[e&1](b+496|0,b+64|0,d,f,l,j);t=S(l,r)|0;h=c[n>>2]|0;e=0;k=f+t|0;d=(h&8|0)==0?d+t|0:d}if(m&(h&4|0)!=0){g=p?r:o;f=d+(0-r)|0;j=b+64|0;i=g+64|0;h=0;d=j;while(1){if((h|0)==(g|0))break;s=a[k+h>>0]|0;t=f+h|0;a[f+(h+r)>>0]=a[t>>0]|0;a[t>>0]=a[d>>0]^s;h=h+1|0;d=d+1|0}h=b+i|0;while(1){if(g>>>0>=r>>>0)break;a[f+g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}t=ub[q&63](b+496|0,f,f)|0;tn(j,f,r);e=t>>>0>e>>>0?t:e}if(!e)e=0;else{Re(e+16|0);e=0}}else e=200;while(0);return e|0}function sn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;a[b>>0]=a[e>>0]^a[d>>0];e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function tn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!((d|b)&3)){i=e+~(e>>>0<3?e:3)+4&-4;h=b+i|0;g=d+i|0;f=e;while(1){if(f>>>0<=3)break;c[b>>2]=c[d>>2];f=f+-4|0;d=d+4|0;b=b+4|0}d=g;b=h;e=e-i|0}while(1){if(!e)break;a[b>>0]=a[d>>0]|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function un(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=c[b+12>>2]|0;D=c[C+20>>2]|0;C=c[C+40>>2]|0;i=(g>>>0)/(D>>>0)|0;do if(e>>>0>=g>>>0){z=(g>>>0)%(D>>>0)|0;A=(z|0)==0;if(!A){if(D>>>0>=g>>>0){e=139;break}e=b+52|0;h=c[e>>2]|0;if(!(h&4)){e=139;break}else y=e}else{h=b+52|0;y=h;h=c[h>>2]|0}x=D>>>0<g>>>0;if(x&(h&4|0)!=0){tn(b+96|0,b+64|0,D);i=(A?-2:-1)+i|0}e=c[b+32>>2]|0;B=b+496|0;a:do if(!e){q=b+96|0;r=b+64|0;s=r|q;t=D+4+~(D>>>0<3?D:3)&-4;v=r+t|0;w=b+96+t|0;u=D-t|0;e=0;n=d;o=0;p=f;while(1){if((o|0)==(i|0))break a;m=ub[C&63](B,q,p)|0;e=m>>>0>e>>>0?m:e;if(!((s|p|n)&3)){h=n+t|0;g=D;j=q;k=p;l=r;m=n;while(1){if(g>>>0<=3)break;E=c[k>>2]|0;c[m>>2]=c[j>>2]^c[l>>2];c[l>>2]=E;g=g+-4|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}g=v;j=p+t|0;k=w;l=u}else{h=n;g=r;j=p;k=q;l=D}while(1){if(!l)break;E=a[j>>0]|0;a[h>>0]=a[k>>0]^a[g>>0];a[g>>0]=E;h=h+1|0;g=g+1|0;j=j+1|0;k=k+1|0;l=l+-1|0}n=n+D|0;o=o+1|0;p=p+D|0}}else{vb[e&15](B,b+64|0,d,f,i);e=0}while(0);h=S(i,D)|0;l=d+h|0;h=f+h|0;if(x&(c[y>>2]&4|0)!=0){E=A?D:z;k=b+96|0;j=b+64|0;tn(k,j,D);tn(j,h+D|0,E);g=ub[C&63](B,l,h)|0;i=g>>>0>e>>>0;sn(l,l,j,E);tn(l+D|0,l,E);h=E;while(1){if(h>>>0>=D>>>0)break;a[j+h>>0]=a[l+h>>0]|0;h=h+1|0}e=i?g:e;E=ub[C&63](B,l,j)|0;sn(l,l,k,D);e=E>>>0>e>>>0?E:e}if(!e)e=0;else{Re(e+16|0);e=0}}else e=200;while(0);return e|0}function vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=15-e|0;f=j+255|0;if(d)if((j+-2|0)>>>0>6)f=139;else{et(b+128|0,0,368)|0;c[b+56>>2]=0;k=b+64|0;i=b+80|0;f=f&255;g=k;h=g+52|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));a[i>>0]=f;kt(i+1|0,d|0,e|0)|0;h=e+1|0;et(i+h|0,0,j|0)|0;a[k>>0]=f;kt(k+1|0,d|0,e|0)|0;et(k+h|0,0,j|0)|0;f=b+184|0;a[f>>0]=a[f>>0]|1;f=0}else f=45;return f|0}function wn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;w=i;i=i+16|0;if((i|0)>=(j|0))$(16);s=w;t=c[(c[b+12>>2]|0)+36>>2]|0;v=b+164|0;g=c[v>>2]|0;if(!e)if((f|0)!=0&(g|0)!=0){e=0;u=3}else g=0;else u=3;if((u|0)==3){o=(f|0)==0;p=b+148|0;q=b+64|0;r=b+496|0;n=b+28|0;f=d;b=e;e=0;a:while(1){b:do if((g|0)!=0|(b+g|0)>>>0<16)while(1){if(!(g>>>0<16&(b|0)!=0))break b;a[p+g>>0]=a[f>>0]|0;f=f+1|0;b=b+-1|0;g=g+1|0}else g=0;while(0);c:do if(b){if(g)u=12}else{if(o)break a;while(1){if(g>>>0>=16){u=12;break c}a[p+g>>0]=0;g=g+1|0}}while(0);if((u|0)==12){u=0;xn(q,q,p);m=ub[t&63](r,q,q)|0;e=e>>>0>m>>>0?e:m}g=c[n>>2]|0;d:do if(!g){g=b+16+~(b>>>0<15?b:15)&-16;d=f;h=b;while(1){if(h>>>0<=15)break d;xn(q,q,d);m=ub[t&63](r,q,q)|0;e=e>>>0>m>>>0?e:m;d=d+16|0;h=h+-16|0}}else{h=b>>>4;Cb[g&1](r,q,s,f,h,1);g=h<<4;h=16;d=s;while(1){if(!((h|0)!=0&(d&7|0)!=0))break;a[d>>0]=0;h=h+-1|0;d=d+1|0}if(h>>>0>=8){k=h+-8|0;l=k&-8;m=d+8|0;while(1){x=d;c[x>>2]=0;c[x+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else d=d+8|0}h=k-l|0;d=m+l|0}while(1){if(!h)break d;a[d>>0]=0;h=h+-1|0;d=d+1|0}}while(0);b=b-g|0;if(!b){g=0;break}else{f=f+g|0;g=0}}c[v>>2]=g;g=(e|0)==0?0:e+16|0}i=w;return g|0}function xn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if(!((d|b|e)&3)){i=b+16|0;h=d+16|0;f=e+16|0;g=16;while(1){if(g>>>0<=3){d=h;b=i;e=0;break a}c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}}else{f=e;e=16}while(0);while(1){if(!e)break;a[b>>0]=a[f>>0]^a[d>>0];f=f+1|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function yn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if(e>>>0>=g>>>0){j=a[b+184>>0]|0;if(((j&1)!=0?!((j&2)==0|(a[b+56>>0]&4)!=0):0)?(j=b+136|0,(c[j>>2]|0)==0&(c[j+4>>2]|0)==0):0){h=b+128|0;j=h;i=c[j>>2]|0;j=c[j+4>>2]|0;if(j>>>0<0|(j|0)==0&i>>>0<g>>>0)h=139;else{j=dt(i|0,j|0,g|0,0)|0;c[h>>2]=j;c[h+4>>2]=D;h=wn(b,f,g,0)|0;if(h|0)Re(h+20|0);h=Gn(b,d,e,f,g)|0}}else h=156}else h=200;return h|0}function zn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if(e>>>0>=g>>>0){h=a[b+184>>0]|0;if(((h&1)!=0?!((h&2)==0|(a[b+56>>0]&4)!=0):0)?(h=b+136|0,(c[h>>2]|0)==0&(c[h+4>>2]|0)==0):0){h=b+128|0;i=h;j=c[i+4>>2]|0;if(!(0>j>>>0|(0==(j|0)?g>>>0>(c[i>>2]|0)>>>0:0))){e=Gn(b,d,e,f,g)|0;if(!e){j=h;j=dt(c[j>>2]|0,c[j+4>>2]|0,g|0,0)|0;e=h;c[e>>2]=j;c[e+4>>2]=D;e=wn(b,d,g,0)|0;if(!e)e=0;else{Re(e+20|0);e=0}}}else e=139}else e=156}else e=200;return e|0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[a+12>>2]|0;l=c[k+36>>2]|0;k=c[k+20>>2]|0;i=k<<1;do if(d>>>0>=f>>>0){j=a+112|0;d=c[j>>2]|0;if(d>>>0>=f>>>0){Bn(b,a+64+k+(0-d)|0,e,f);c[j>>2]=(c[j>>2]|0)-f;d=0;break}if(d){Bn(b,a+64+k+(0-d)|0,e,d);m=c[j>>2]|0;c[j>>2]=0;b=b+m|0;e=e+m|0;f=f-d|0}if(f>>>0>=i>>>0?(g=c[a+20>>2]|0,(g|0)!=0):0){m=(f>>>0)/(k>>>0)|0;vb[g&15](a+496|0,a+64|0,b,e,m);m=S(m,k)|0;d=0;b=b+m|0;e=e+m|0;f=f-m|0}else h=8;a:do if((h|0)==8){g=a+496|0;h=a+64|0;d=0;while(1){if(f>>>0<i>>>0)break a;m=ub[l&63](g,h,h)|0;Bn(b,h,e,k);d=m>>>0>d>>>0?m:d;b=b+k|0;e=e+k|0;f=f-k|0}}while(0);if(f>>>0>=k>>>0){i=a+64|0;Cn(a+96|0,i,k);m=ub[l&63](a+496|0,i,i)|0;Bn(b,i,e,k);d=m>>>0>d>>>0?m:d;b=b+k|0;e=e+k|0;f=f-k|0}if(f){i=a+64|0;Cn(a+96|0,i,k);m=ub[l&63](a+496|0,i,i)|0;c[j>>2]=k-f;Bn(b,i,e,f);d=m>>>0>d>>>0?m:d}if(!d)d=0;else{Re(d+16|0);d=0}}else d=200;while(0);return d|0}function Bn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;l=c[d>>2]^c[e>>2];c[d>>2]=l;c[b>>2]=l;g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;l=a[d>>0]^a[e>>0];a[d>>0]=l;a[b>>0]=l;e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!((d|b)&3)){i=e+~(e>>>0<3?e:3)+4&-4;h=b+i|0;g=d+i|0;f=e;while(1){if(f>>>0<=3)break;c[b>>2]=c[d>>2];f=f+-4|0;d=d+4|0;b=b+4|0}d=g;b=h;e=e-i|0}while(1){if(!e)break;a[b>>0]=a[d>>0]|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function Dn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[a+12>>2]|0;l=c[k+36>>2]|0;k=c[k+20>>2]|0;i=k<<1;do if(d>>>0>=f>>>0){j=a+112|0;d=c[j>>2]|0;if(d>>>0>=f>>>0){En(b,a+64+k+(0-d)|0,e,f);c[j>>2]=(c[j>>2]|0)-f;d=0;break}if(d){En(b,a+64+k+(0-d)|0,e,d);m=c[j>>2]|0;c[j>>2]=0;b=b+m|0;e=e+m|0;f=f-d|0}if(f>>>0>=i>>>0?(g=c[a+24>>2]|0,(g|0)!=0):0){m=(f>>>0)/(k>>>0)|0;vb[g&15](a+496|0,a+64|0,b,e,m);m=S(m,k)|0;d=0;b=b+m|0;e=e+m|0;f=f-m|0}else h=8;a:do if((h|0)==8){g=a+496|0;h=a+64|0;d=0;while(1){if(f>>>0<i>>>0)break a;m=ub[l&63](g,h,h)|0;En(b,h,e,k);d=m>>>0>d>>>0?m:d;b=b+k|0;e=e+k|0;f=f-k|0}}while(0);if(f>>>0>=k>>>0){i=a+64|0;Cn(a+96|0,i,k);m=ub[l&63](a+496|0,i,i)|0;En(b,i,e,k);d=m>>>0>d>>>0?m:d;b=b+k|0;e=e+k|0;f=f-k|0}if(f){i=a+64|0;Cn(a+96|0,i,k);m=ub[l&63](a+496|0,i,i)|0;c[j>>2]=k-f;En(b,i,e,f);d=m>>>0>d>>>0?m:d}if(!d)d=0;else{Re(d+16|0);d=0}}else d=200;while(0);return d|0}function En(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(!((d|b|e)&3)){k=f+4+~(f>>>0<3?f:3)&-4;j=d+k|0;h=f;i=e;g=b;while(1){if(h>>>0<=3)break;l=c[i>>2]|0;c[g>>2]=l^c[d>>2];c[d>>2]=l;h=h+-4|0;i=i+4|0;d=d+4|0;g=g+4|0}g=e+k|0;b=b+k|0;d=j;h=g;f=f-k|0}else{h=e;g=e}while(1){if(!f)break;l=a[h>>0]|0;a[b>>0]=a[g>>0]^a[d>>0];a[d>>0]=l;b=b+1|0;d=d+1|0;h=h+1|0;g=g+1|0;f=f+-1|0}return}function Fn(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=o;f=c[b+12>>2]|0;g=c[f+20>>2]|0;if(g>>>0>16)Fe(46372,113,46386);et(e|0,0,g|0)|0;n=ub[c[f+36>>2]&63](b+496|0,e,e)|0;m=g+-1|0;l=b+128|0;h=(g|0)==16?135:27;k=e+m|0;g=0;while(1){if((g|0)==2){f=16;break}else{f=0;b=m}while(1){if((b|0)<=-1)break;r=e+b|0;p=a[r>>0]|0;q=((p&255)<<1|f&255)&255;a[r>>0]=q;a[l+1+(g<<4)+b>>0]=q;f=(p&255)>>>7;b=b+-1|0}r=((d[k>>0]|0)^(f<<24>>24?h:0))&255;a[k>>0]=r;a[l+1+(g<<4)+m>>0]=r;g=g+1|0}while(1){if(!((f|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;f=f+-1|0;e=e+1|0}if(f>>>0>=8){g=f+-8|0;h=g&-8;b=e;while(1){r=b;c[r>>2]=0;c[r+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else b=b+8|0}f=g-h|0;e=e+(h+8)|0}while(1){if(!f)break;a[e>>0]=0;f=f+-1|0;e=e+1|0}if(n|0)Re(n+16|0);i=o;return 0}function Gn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=s;p=c[b+12>>2]|0;r=c[p+36>>2]|0;p=c[p+20>>2]|0;if(e>>>0>=g>>>0){q=b+112|0;e=c[q>>2]|0;do if(e)if(p>>>0>e>>>0){n=e>>>0>g>>>0?g:e;Hn(d,f,p-e+(b+96)|0,n);c[q>>2]=(c[q>>2]|0)-n;k=d+n|0;l=f+n|0;n=g-n|0;break}else Ge(46408,46430,53,46443);else{k=d;l=f;n=g}while(0);e=(n>>>0)/(p>>>0)|0;if(p>>>0<=n>>>0?(m=c[b+36>>2]|0,o=S(e,p)|0,(m|0)!=0):0){vb[m&15](b+496|0,b+80|0,k,l,e);k=k+o|0;l=l+o|0;e=n-o|0}else e=n;if(e){g=b+496|0;m=b+80|0;n=0;f=k;k=e;while(1){e=ub[r&63](g,h,m)|0;n=e>>>0>n>>>0?e:n;e=p;do{if((e|0)<=0)break;e=e+-1|0;d=m+e|0;o=(a[d>>0]|0)+1<<24>>24;a[d>>0]=o}while(!(o<<24>>24));d=p>>>0<k>>>0?p:k;Hn(f,l,h,d);k=k-d|0;if(!k)break;else{f=f+d|0;l=l+d|0}}e=p-d|0;c[q>>2]=e;a:do if(!e)e=16;else{k=b+96+d|0;l=h+d|0;if(!((l|k)&3)){m=e+4+~(e>>>0<3?e:3)&-4;g=k+m|0;d=e;f=l;while(1){if(d>>>0<=3)break;c[k>>2]=c[f>>2];d=d+-4|0;f=f+4|0;k=k+4|0}l=l+m|0;k=g;e=e-m|0}while(1){if(!e){e=16;break a}a[k>>0]=a[l>>0]|0;l=l+1|0;k=k+1|0;e=e+-1|0}}while(0);while(1){if(!((e|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;e=e+-1|0;h=h+1|0}if(e>>>0>=8){l=e+-8|0;d=l&-8;f=d+8|0;k=h;while(1){b=k;c[b>>2]=0;c[b+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else k=k+8|0}e=l-d|0;h=h+f|0}while(1){if(!e)break;a[h>>0]=0;e=e+-1|0;h=h+1|0}if(n){Re(n+16|0);h=0}else h=0}else h=0}else h=200;i=s;return h|0}function Hn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;a[b>>0]=a[e>>0]^a[d>>0];e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function In(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((c[(c[b+12>>2]|0)+20>>2]|0)==16)if(e>>>0>=g>>>0){k=b+128|0;j=b+196|0;h=a[j>>0]|0;if(!(h&4)){i=a[b+56>>0]|0;if(!((i&4|h&1)<<24>>24)){if(!(i&2)){Jn(b,71631,16)|0;h=a[j>>0]|0}if(!(h&8)){if(!(h&2)){Kn(b,k,0,0,1);a[j>>0]=a[j>>0]|2}i=b+172|0;Ln(i,g);if(!(Mn(i)|0)){a[j>>0]=a[j>>0]|4;h=139;break}h=Gn(b,d,e,f,g)|0;if(!h){Kn(b,k,d,g,0);h=0}}else h=156}else h=156}else h=139}else h=200;else h=12;while(0);return h|0}function Jn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=n;f=n+8|0;m=b+56|0;a[m>>0]=a[m>>0]&-7;k=b+196|0;a[k>>0]=a[k>>0]&-9;o=(wg()|0)==0;h=a[k>>0]|0;if(!o){h=h|8;a[k>>0]=h}p=b+128|0;o=b+164|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;a[k>>0]=h&-8;switch(e|0){case 0:{f=139;break}case 12:{f=b+80|0;h=f;g=h+12|0;do{a[h>>0]=a[d>>0]|0;h=h+1|0;d=d+1|0}while((h|0)<(g|0));a[b+94>>0]=0;a[b+93>>0]=0;d=b+92|0;a[d>>0]=0;a[b+95>>0]=1;l=23;break}default:{l=g;c[l>>2]=0;c[l+4>>2]=0;l=b+80|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[g>>2]=e;Kn(b,l,d,e,1);c[f+12>>2]=mt(e<<3|0)|0;c[f+8>>2]=mt(e>>>29|0)|0;c[f+4>>2]=0;c[f>>2]=0;Kn(b,l,f,16,1);d=8;while(1){if(!((d|0)!=0&(g&7|0)!=0))break;a[g>>0]=0;g=g+1|0;d=d+-1|0}if(d>>>0>=8){k=d+-8|0;e=k&-8;h=g;while(1){p=h;c[p>>2]=0;c[p+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else h=h+8|0}g=g+(e+8)|0;d=k-e|0}while(1){if(!d){d=16;break}a[g>>0]=0;g=g+1|0;d=d+-1|0}while(1){if(!((d|0)!=0&(f&7|0)!=0))break;a[f>>0]=0;d=d+-1|0;f=f+1|0}if(d>>>0>=8){h=d+-8|0;k=h&-8;g=f;while(1){p=g;c[p>>2]=0;c[p+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else g=g+8|0}d=h-k|0;f=f+(k+8)|0}while(1){if(!d)break;a[f>>0]=0;d=d+-1|0;f=f+1|0}f=l;d=b+92|0;l=23}}if((l|0)==23){ub[c[(c[b+12>>2]|0)+36>>2]&63](b+496|0,b+180|0,f)|0;c[d>>2]=mt((mt(c[d>>2]|0)|0)+1|0)|0;c[b+112>>2]=0;a[m>>0]=a[m>>0]&-7|2;f=0}i=n;return f|0}function Kn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=b+160|0;h=c[s>>2]|0;t=c[b+224>>2]|0;if(!f){if((g|0)!=0&(h|0)!=0){f=0;u=3}}else u=3;if((u|0)==3){o=(g|0)==0;p=b+144|0;n=0;a:while(1){if((h|0)!=0|(f+h|0)>>>0<16){m=16-h|0;m=m>>>0<f>>>0?m:f;i=b+144+h|0;if(!((e|i)&3)){l=m+4+~(m>>>0<3?m:3)&-4;k=i+l|0;g=m;j=e;while(1){if(g>>>0<=3)break;c[i>>2]=c[j>>2];g=g+-4|0;j=j+4|0;i=i+4|0}j=e+l|0;i=k;g=m-l|0}else{j=e;g=m}while(1){if(!g)break;a[i>>0]=a[j>>0]|0;j=j+1|0;i=i+1|0;g=g+-1|0}i=e+m|0;f=f-m|0;g=m+h|0}else{i=e;g=0}b:do if(!f){if(o){q=n;r=g;break a}while(1){if(g>>>0>=16)break b;a[b+144+g>>0]=0;g=g+1|0}}while(0);switch(g|0){case 0:{g=n;break}case 16:{g=Bb[t&3](b,d,p,1)|0;break}default:{u=18;break a}}e=f>>>4;h=e<<4;if(!e)e=i;else{g=Bb[t&3](b,d,i,e)|0;e=i+h|0;f=f-h|0}if(!f){q=g;r=0;break}else{n=g;h=0}}if((u|0)==18)Ge(46468,46488,499,46501);c[s>>2]=r;if(q|0)Re(q)}return}function Ln(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+b|0;c[a>>2]=d;if(d>>>0<b>>>0){d=a+4|0;c[d>>2]=(c[d>>2]|0)+1}return}function Mn(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(b>>>0<=15)if((b|0)==15)a=(c[a>>2]|0)>>>0<4294967265&1;else a=1;else a=0;return a|0}function Nn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((c[(c[b+12>>2]|0)+20>>2]|0)==16)if(e>>>0>=g>>>0){j=b+128|0;k=b+196|0;h=a[k>>0]|0;if(!(h&4)){i=a[b+56>>0]|0;if(!((i&4|h&1)<<24>>24)){if(!(i&2)){Jn(b,71647,16)|0;h=a[k>>0]|0}if(!(h&2)){Kn(b,j,0,0,1);a[k>>0]=a[k>>0]|2}i=b+172|0;Ln(i,g);if(!(Mn(i)|0)){a[k>>0]=a[k>>0]|4;h=139;break}else{Kn(b,j,f,g,0);h=Gn(b,d,e,f,g)|0;break}}else h=156}else h=139}else h=200;else h=12;while(0);return h|0}function On(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+208|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;ub[c[(c[a+12>>2]|0)+36>>2]&63](a+496|0,b,b)|0;c[a+224>>2]=2;h=a+228|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[a+356>>2]=Qn(b)|0;c[a+360>>2]=Qn(b+4|0)|0;c[a+364>>2]=Qn(a+216|0)|0;c[a+368>>2]=Qn(a+220|0)|0;b=4;while(1){if(!b){d=2;break}f=b<<3;g=c[a+228+(f<<2)>>2]|0;h=b<<2;e=c[a+228+((f|1)<<2)>>2]|0;d=c[a+228+((f|2)<<2)>>2]|0;f=c[a+228+((f|3)<<2)>>2]|0;c[a+228+((h|3)<<2)>>2]=f>>>1|d<<31;c[a+228+((h|2)<<2)>>2]=d>>>1|e<<31;c[a+228+((h|1)<<2)>>2]=e>>>1|g<<31;c[a+228+(h<<2)>>2]=(f&1|0?-520093696:0)^g>>>1;b=b>>>1}while(1){if((d|0)>=16)break;h=d<<2;e=a+228+(h<<2)|0;f=a+228+((h|1)<<2)|0;g=a+228+((h|2)<<2)|0;h=a+228+((h|3)<<2)|0;b=1;while(1){if((b|0)>=(d|0))break;j=b<<2;i=b+d<<2;c[a+228+(i<<2)>>2]=c[a+228+(j<<2)>>2]^c[e>>2];c[a+228+((i|1)<<2)>>2]=c[a+228+((j|1)<<2)>>2]^c[f>>2];c[a+228+((i|2)<<2)>>2]=c[a+228+((j|2)<<2)>>2]^c[g>>2];c[a+228+((i|3)<<2)>>2]=c[a+228+((j|3)<<2)>>2]^c[h>>2];b=b+1|0}d=d<<1}return}function Pn(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=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;y=i;i=i+16|0;if((i|0)>=(j|0))$(16);s=y;t=s+15|0;u=s+14|0;v=b+4|0;w=b+8|0;x=b+12|0;h=0;while(1){if(!g)break;Rn(s,b,f);h=d[t>>0]|0;l=a+228+((h<<2&60)<<2)|0;h=a+228+(h>>>4<<2<<2)|0;r=c[l>>2]|0;k=c[l+12>>2]|0;q=c[l+4>>2]|0;l=c[l+8>>2]|0;m=14;n=d[u>>0]|0;o=c[h>>2]^r>>>4^(e[17602+((k<<4&240)<<1)>>1]|0)<<16;p=(l>>>4|q<<28)^c[h+8>>2];k=(l<<28|k>>>4)^c[h+12>>2];h=(q>>>4|r<<28)^c[h+4>>2];while(1){A=a+228+((n<<2&60)<<2)|0;z=a+228+(n>>>4<<2<<2)|0;r=c[A>>2]|0;n=c[A+12>>2]|0;q=c[z>>2]^o>>>8^(e[17602+((k&255)<<1)>>1]|0)<<16^r>>>4^(e[17602+((n<<4&240)<<1)>>1]|0)<<16;l=c[A+4>>2]|0;r=c[z+4>>2]^(h>>>8|o<<24)^(l>>>4|r<<28);o=c[A+8>>2]|0;l=c[z+8>>2]^(p>>>8|h<<24)^(o>>>4|l<<28);h=c[z+12>>2]^(k>>>8|p<<24)^(o<<28|n>>>4);if(!m)break;n=m+-1|0;m=n;n=d[s+n>>0]|0;o=q;p=l;k=h;h=r}Sn(b,q);Sn(v,r);Sn(w,l);Sn(x,h);h=76;f=f+16|0;g=g+-1|0}i=y;return (h|0?20:0)+h|0}function Qn(a){a=a|0;return (d[a+1>>0]|0)<<16|(d[a>>0]|0)<<24|(d[a+2>>0]|0)<<8|(d[a+3>>0]|0)|0}function Rn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if(!((d|b|e)&3)){i=b+16|0;h=d+16|0;f=e+16|0;g=16;while(1){if(g>>>0<=3){d=h;b=i;e=0;break a}c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}}else{f=e;e=16}while(0);while(1){if(!e)break;a[b>>0]=a[f>>0]^a[d>>0];f=f+1|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function Sn(b,c){b=b|0;c=c|0;a[b>>0]=c>>>24;a[b+1>>0]=c>>>16;a[b+2>>0]=c>>>8;a[b+3>>0]=c;return}function Tn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c|0)==0&0==0)d=(ht(d|0)|0)+32|0;else d=ht(c|0)|0;c=a+160|0;a:do if((d|0)<16)b=c+(d<<4)|0;else{Un(b,c+240|0);c=d+-16|0;while(1){if(!c)break a;Vn(b);c=c+-1|0}}while(0);return b|0}function Un(a,b){a=a|0;b=b|0;if((a|0)!=(b|0))Yn(a,b,16);Vn(a);return}function Vn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=Wn(a)|0;g=D;e=a+8|0;b=Wn(e)|0;d=D;c=nt(f|0,g|0,63)|0;g=ut(f|0,g|0,1)|0;f=D;h=ot(b|0,d|0,63)|0;f=D|f;d=ut(b|0,d|0,1)|0;b=D;Xn(a,h|g,f);Xn(e,d^c&135,b);return}function Wn(a){a=a|0;var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=ut(d[a>>0]|0|0,0,56)|0;i=D;h=ut(d[a+1>>0]|0|0,0,48)|0;i=D|i;f=ut(d[a+2>>0]|0|0,0,40)|0;i=i|D|(d[a+3>>0]|0);e=ut(d[a+4>>0]|0|0,0,24)|0;i=i|D;c=ut(d[a+5>>0]|0|0,0,16)|0;i=i|D;b=ut(d[a+6>>0]|0|0,0,8)|0;D=i|D;return h|g|f|e|c|b|(d[a+7>>0]|0)|0}function Xn(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ot(c|0,d|0,56)|0;a[b>>0]=e;e=ot(c|0,d|0,48)|0;a[b+1>>0]=e;e=ot(c|0,d|0,40)|0;a[b+2>>0]=e;a[b+3>>0]=d;e=ot(c|0,d|0,24)|0;a[b+4>>0]=e;e=ot(c|0,d|0,16)|0;a[b+5>>0]=e;d=ot(c|0,d|0,8)|0;a[b+6>>0]=d;a[b+7>>0]=c;return}function Yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!((d|b)&3)){i=e+~(e>>>0<3?e:3)+4&-4;h=b+i|0;g=d+i|0;f=e;while(1){if(f>>>0<=3)break;c[b>>2]=c[d>>2];f=f+-4|0;d=d+4|0;b=b+4|0}d=g;b=h;e=e-i|0}while(1){if(!e)break;a[b>>0]=a[d>>0]|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function Zn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=s+24|0;g=s;q=b+56|0;a:do if(a[q>>0]&1){r=b+128|0;o=b+480|0;switch(a[o>>0]|0){case 16:case 12:case 8:break;default:{g=59;break a}}p=b+12|0;k=c[p>>2]|0;if((c[k+20>>2]|0)==16)if(e)if((f&-8|0)==8){m=h;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));n=b+496|0;l=ub[c[k+36>>2]&63](n,r,h)|0;k=b+144|0;Un(k,r);m=b+160|0;Un(m,k);k=1;while(1){if((k|0)==16)break;Un(m+(k<<4)|0,m+(k+-1<<4)|0);k=k+1|0}k=16-f|0;et(h|0,0,k|0)|0;Yn(h+k|0,e,f);a[h>>0]=d[o>>0]<<4;o=h+(k+-1)|0;a[o>>0]=d[o>>0]|1;o=h+15|0;f=d[o>>0]|0;a[o>>0]=f&192;o=ub[c[(c[p>>2]|0)+36>>2]&63](n,h,h)|0;o=o>>>0>l>>>0?o:l;Yn(g,h,16);_n(g+16|0,h,h+1|0,8);l=b+64|0;k=g+(f>>>3&7)|0;n=f&7;b:do if(!n){m=16;while(1){if(!m)break b;a[l>>0]=a[k>>0]|0;l=l+1|0;m=m+-1|0;k=k+1|0}}else{e=8-n|0;m=16;while(1){if(!m)break b;f=k+1|0;a[l>>0]=(d[f>>0]|0)>>>e|d[k>>0]<<n;l=l+1|0;m=m+-1|0;k=f}}while(0);k=b+432|0;l=a[q>>0]&-15|2;m=b+80|0;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;a[q>>0]=l;q=b+464|0;k=r+353|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;a[k>>0]=a[k>>0]&-4;k=16;while(1){if(!((k|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(k>>>0>=8){m=k+-8|0;n=m&-8;e=n+8|0;l=h;while(1){r=l;c[r>>2]=0;c[r+4>>2]=0;k=k+-8|0;if(k>>>0<=7)break;else l=l+8|0}k=m-n|0;h=h+e|0}while(1){if(!k){h=24;break}a[h>>0]=0;k=k+-1|0;h=h+1|0}while(1){if(!((h|0)!=0&(g&7|0)!=0))break;a[g>>0]=0;h=h+-1|0;g=g+1|0}if(h>>>0>=8){l=h+-8|0;m=l&-8;n=m+8|0;k=g;while(1){r=k;c[r>>2]=0;c[r+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else k=k+8|0}h=l-m|0;g=g+n|0}while(1){if(!h)break;a[g>>0]=0;h=h+-1|0;g=g+1|0}if(!o)g=0;else{Re(o+16|0);g=0}}else g=139;else g=45;else g=12}else g=156;while(0);i=s;return g|0}function _n(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;a[b>>0]=a[e>>0]^a[d>>0];e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function $n(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if(!((d|b)&3)){g=b+16|0;f=d+16|0;e=16;while(1){if(e>>>0<=3){d=f;b=g;e=0;break a}c[b>>2]=c[b>>2]^c[d>>2];e=e+-4|0;d=d+4|0;b=b+4|0}}else e=16;while(0);while(1){if(!e)break;a[b>>0]=a[b>>0]^a[d>>0];d=d+1|0;b=b+1|0;e=e+-1|0}return}function ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bo(a,1,b,c,d,e)|0}function bo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;B=i;i=i+32|0;if((i|0)>=(j|0))$(32);w=B+16|0;x=B;t=h>>>4;A=b+56|0;k=a[A>>0]|0;if((k&2)!=0?(v=b+128|0,y=v+353|0,(a[y>>0]&1)==0):0){z=b+12|0;l=c[z>>2]|0;if((c[l+20>>2]|0)==16)if(f>>>0>=h>>>0)if((h&15|0)==0|(k&8)!=0){do if(t){k=c[b+40>>2]|0;u=t<<4;if(k|0){vb[k&15](b,e,g,t,d);k=0;h=h-u|0;g=g+u|0;e=e+u|0;break}r=(d|0)!=0;m=c[(r?l+36|0:l+40|0)>>2]|0;if(r)co(b+80|0,g,t);n=b+464|0;o=b+64|0;p=b+496|0;q=h+~(h>>>0<15?h:15)+16&-16;s=g+q|0;k=0;l=h;f=e;while(1){if(l>>>0<=15)break;E=n;E=gt(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;C=D;F=n;c[F>>2]=E;c[F+4>>2]=C;$n(o,Tn(b,w,E,C)|0);_n(f,o,g,16);C=ub[m&63](p,f,f)|0;$n(f,o);k=C>>>0>k>>>0?C:k;l=l+-16|0;g=g+16|0;f=f+16|0}e=e+q|0;f=h-q|0;if(r){h=f;g=s}else{co(b+80|0,e+(0-u)|0,t);h=f;g=s}}else k=0;while(0);if(h){f=b+64|0;$n(f,v);f=ub[c[(c[z>>2]|0)+36>>2]&63](b+496|0,x,f)|0;if(!d){Yn(w,x,16);Yn(w,g,h);$n(w,x);a[w+h>>0]=-128;Yn(e,w,h);$n(b+80|0,w)}else{Yn(w,g,h);F=w+h|0;et(F|0,0,16-h|0)|0;a[F>>0]=-128;$n(b+80|0,w);_n(e,g,x,h)}k=f>>>0>k>>>0?f:k}if(a[A>>0]&8){F=b+416|0;_n(F,b+80|0,b+64|0,16);$n(F,b+144|0);F=ub[c[(c[z>>2]|0)+36>>2]&63](b+496|0,F,F)|0;a[y>>0]=a[y>>0]|1;k=F>>>0>k>>>0?F:k}if(!k)k=0;else{Re(k+16|0);k=0}}else k=139;else k=200;else k=12}else k=156;i=B;return k|0}function co(a,b,c){a=a|0;b=b|0;c=c|0;while(1){if(!c)break;$n(a,b);c=c+-1|0;b=b+16|0}return}function eo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bo(a,0,b,c,d,e)|0}function fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=c[a+12>>2]|0;j=c[i+36>>2]|0;i=c[i+20>>2]|0;do if(d>>>0>=f>>>0){h=a+112|0;d=c[h>>2]|0;if(d>>>0>=f>>>0){go(b,a+64+i+(0-d)|0,e,f);c[h>>2]=(c[h>>2]|0)-f;d=0;break}if(!d)g=a+64|0;else{g=a+64|0;go(b,g+i+(0-d)|0,e,d);k=c[h>>2]|0;c[h>>2]=0;b=b+k|0;f=f-d|0;e=e+k|0}a=a+496|0;d=0;while(1){if(f>>>0<i>>>0)break;k=ub[j&63](a,g,g)|0;go(b,g,e,i);d=k>>>0>d>>>0?k:d;b=b+i|0;f=f-i|0;e=e+i|0}if(f){k=ub[j&63](a,g,g)|0;c[h>>2]=i-f;go(b,g,e,f);d=k>>>0>d>>>0?k:d}if(!d)d=0;else{Re(d+16|0);d=0}}else d=200;while(0);return d|0}function go(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;a[b>>0]=a[e>>0]^a[d>>0];e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function ho(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;e=d;c[e>>2]=0;c[e+4>>2]=0;a=jo(a,d,8)|0;i=b;return a|0}function io(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+b|0;c[a>>2]=d;if(d>>>0<b>>>0){d=a+4|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;a=(a|0)==0&1}else a=0;return a|0}function jo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))$(64);g=o;if(!((d|0)==0&(e|0)!=12)){f=b+128|0;k=b+148|0;l=k;m=l+92|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[f>>2]=0;c[f+4>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;n=b+144|0;a[n>>0]=a[n>>0]&-4;n=b+56|0;a[n>>0]=a[n>>0]&-7;h=b+12|0;f=b+496|0;zb[c[(c[h>>2]|0)+60>>2]&7](f,d,e);l=g;m=l+64|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(m|0));Eb[c[(c[h>>2]|0)+44>>2]&1](f,g,g,64);f=Jo(k,g,32)|0;b=64;while(1){if(!((b|0)!=0&(g&7|0)!=0))break;a[g>>0]=0;b=b+-1|0;g=g+1|0}if(b>>>0>=8){d=b+-8|0;e=d&-8;k=e+8|0;h=g;while(1){m=h;c[m>>2]=0;c[m+4>>2]=0;b=b+-8|0;if(b>>>0<=7)break;else h=h+8|0}b=d-e|0;g=g+k|0}while(1){if(!b)break;a[g>>0]=0;b=b+-1|0;g=g+1|0}if(!f){a[n>>0]=a[n>>0]|2;f=0}}else f=45;i=o;return f|0}function ko(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if(e>>>0>=g>>>0){h=a[b+56>>0]|0;if(!(h&4)){i=b+144|0;e=a[i>>0]|0;if(!(e&2)){if(!(h&2)){e=ho(b)|0;if(e|0)break;e=a[i>>0]|0}if(!(e&1))lo(b);if(!(io(b+136|0,g)|0)){Eb[c[(c[b+12>>2]|0)+44>>2]&1](b+496|0,d,f,g);Go(b+148|0,d,g);e=0;break}else{a[i>>0]=a[i>>0]|2;e=139;break}}else e=139}else e=156}else e=200;while(0);return e|0}function lo(b){b=b|0;var d=0;mo(b,b+128|0);d=b+144|0;a[d>>0]=a[d>>0]|1;c[b+136>>2]=0;c[b+140>>2]=0;return}function mo(a,b){a=a|0;b=b|0;b=c[b>>2]&15;if(b|0)Go(a+148|0,71663,16-b|0);return}function no(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if(e>>>0>=g>>>0){h=a[b+56>>0]|0;if(!(h&4)){i=b+144|0;e=a[i>>0]|0;if(!(e&2)){if(!(h&2)){e=ho(b)|0;if(e|0)break;e=a[i>>0]|0}if(!(e&1))lo(b);if(!(io(b+136|0,g)|0)){Go(b+148|0,f,g);Eb[c[(c[b+12>>2]|0)+48>>2]&1](b+496|0,d,f,g);e=0;break}else{a[i>>0]=a[i>>0]|2;e=139;break}}else e=139}else e=156}else e=200;while(0);return e|0}function oo(b){b=b|0;var d=0;d=b+128|0;c[d>>2]=0;c[d+4>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=b+144|0;a[d>>0]=a[d>>0]&-4;b=b+56|0;a[b>>0]=a[b>>0]&-7;return}function po(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=h+15&-16;m=S(g,f)|0;n=ff(1,(g<<1)+16+(m*3|0)+b|0)|0;do if(n){o=n+(0-n&15)|0;h=o+b|0;i=h+g|0;j=i+g|0;k=j+m|0;l=k+m|0;if(ub[c&63](o,16,16)|0){ef(n);b=46563;break}et(h|0,78,g|0)|0;et(i|0,78,g|0)|0;b=0;while(1){if((b|0)>=(g|0))break;a[j+b>>0]=b;b=b+1|0}qo(l,h,j,g);ub[d&63](o,l,l)|0;kt(h|0,l|0,g|0)|0;vb[e&15](o,i,k,l,1);if(_r(k,j,g)|0){ef(n);b=46514;break}if(_r(i,h,g)|0){ef(n);b=46514;break}et(h|0,95,g|0)|0;et(i|0,95,g|0)|0;b=0;while(1){if((b|0)>=(m|0)){b=0;break}a[j+b>>0]=b;b=b+1|0}while(1){if((b|0)>=(m|0))break;c=l+b|0;qo(c,h,j+b|0,g);ub[d&63](o,c,c)|0;kt(h|0,c|0,g|0)|0;b=b+g|0}vb[e&15](o,i,k,l,f);if(!(_r(k,j,m)|0)){b=(_r(i,h,g)|0)==0;ef(n);b=b?0:46514;break}else{ef(n);b=46514;break}}else b=46577;while(0);return b|0}function qo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;a[b>>0]=a[e>>0]^a[d>>0];e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function ro(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=h+15&-16;m=S(g,f)|0;n=ff(1,(g<<1)+16+(m*3|0)+b|0)|0;do if(n){o=n+(0-n&15)|0;h=o+b|0;i=h+g|0;j=i+g|0;k=j+m|0;l=k+m|0;if(ub[c&63](o,32,16)|0){ef(n);b=46563;break}et(h|0,-45,g|0)|0;et(i|0,-45,g|0)|0;b=0;while(1){if((b|0)>=(g|0))break;a[j+b>>0]=b;b=b+1|0}ub[d&63](o,l,h)|0;so(h,l,j,g);vb[e&15](o,i,k,l,1);if(_r(k,j,g)|0){ef(n);b=46603;break}if(_r(i,h,g)|0){ef(n);b=46603;break}et(h|0,-26,g|0)|0;et(i|0,-26,g|0)|0;b=0;while(1){if((b|0)>=(m|0)){b=0;break}a[j+b>>0]=b;b=b+1|0}while(1){if((b|0)>=(m|0))break;c=l+b|0;ub[d&63](o,c,h)|0;so(h,c,j+b|0,g);b=b+g|0}vb[e&15](o,i,k,l,f);if(!(_r(k,j,m)|0)){b=(_r(i,h,g)|0)==0;ef(n);b=b?0:46603;break}else{ef(n);b=46603;break}}else b=46577;while(0);return b|0}function so(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(!((d|b|e)&3)){k=f+~(f>>>0<3?f:3)+4&-4;j=b+k|0;i=d+k|0;h=e+k|0;g=f;while(1){if(g>>>0<=3)break;l=c[d>>2]^c[e>>2];c[d>>2]=l;c[b>>2]=l;g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}e=h;d=i;b=j;f=f-k|0}while(1){if(!f)break;l=a[d>>0]^a[e>>0];a[d>>0]=l;a[b>>0]=l;e=e+1|0;d=d+1|0;b=b+1|0;f=f+-1|0}return}function to(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=i+15&-16;u=S(h,g)|0;w=ff(1,(h<<1)+16+(u<<2)+b|0)|0;do if(w){v=w+(0-w&15)|0;p=v+b|0;q=p+h|0;r=q+h|0;s=r+u|0;t=s+u|0;j=t+u|0;if(ub[c&63](v,48,16)|0){ef(w);b=46563;break}et(p|0,-1,h|0)|0;b=0;while(1){if((b|0)>=(h|0))break;a[r+b>>0]=b;b=b+1|0}ub[e&63](v,t,p)|0;b=0;while(1){if((b|0)>=(h|0)){b=h;break}o=t+b|0;a[o>>0]=a[o>>0]^a[r+b>>0];b=b+1|0}do{if((b|0)<=0)break;b=b+-1|0;n=p+b|0;o=(a[n>>0]|0)+1<<24>>24;a[n>>0]=o}while(!(o<<24>>24));et(q|0,-1,h|0)|0;vb[f&15](v,q,s,t,1);if(_r(s,r,h)|0){ef(w);b=46652;break}if(_r(q,p,h)|0){ef(w);b=46652;break}b=h+-4|0;et(p|0,87,b|0)|0;o=h+-1|0;n=p+o|0;a[n>>0]=1;l=h+-2|0;a[p+l>>0]=0;m=h+-3|0;a[p+m>>0]=0;a[p+b>>0]=0;et(q|0,87,b|0)|0;o=q+o|0;a[o>>0]=1;a[q+l>>0]=0;a[q+m>>0]=0;a[q+b>>0]=0;b=0;while(1){if((b|0)>=(u|0)){i=0;break}m=b&255;a[r+b>>0]=m;a[s+b>>0]=m;b=b+1|0}while(1){if((i|0)>=(u|0))break;ub[e&63](v,t+i|0,p)|0;b=0;while(1){if((b|0)>=(h|0)){b=h;break}l=b+i|0;m=t+l|0;a[m>>0]=a[m>>0]^a[r+l>>0];b=b+1|0}do{if((b|0)<=0)break;b=b+-1|0;l=p+b|0;m=(a[l>>0]|0)+1<<24>>24;a[l>>0]=m}while(!(m<<24>>24));i=i+h|0}vb[f&15](v,q,j,s,g);if(_r(j,t,u)|0){ef(w);b=46652;break}if(_r(q,p,h)|0){ef(w);b=46652;break}j=p+1|0;k=p+2|0;l=q+1|0;m=q+2|0;c=0;while(1){if((c|0)>=(g|0)){i=46;break}et(p|0,-1,h|0)|0;a[n>>0]=(d[n>>0]|0)-c;a[j>>0]=0;a[p>>0]=0;a[k>>0]=7;b=0;while(1){if((b|0)>=(u|0)){i=0;break}a[r+b>>0]=b;b=b+1|0}while(1){if((i|0)>=(u|0))break;ub[e&63](v,t+i|0,p)|0;b=0;while(1){if((b|0)>=(h|0)){b=h;break}y=b+i|0;x=t+y|0;a[x>>0]=a[x>>0]^a[r+y>>0];b=b+1|0}do{if((b|0)<=0)break;b=b+-1|0;x=p+b|0;y=(a[x>>0]|0)+1<<24>>24;a[x>>0]=y}while(!(y<<24>>24));i=i+h|0}et(q|0,-1,h|0)|0;a[o>>0]=(d[o>>0]|0)-c;a[l>>0]=0;a[q>>0]=0;a[m>>0]=7;vb[f&15](v,q,s,t,g);if(_r(s,r,u)|0){i=43;break}if(!(_r(q,p,h)|0))c=c+1|0;else{i=45;break}}if((i|0)==43){ef(w);b=46652;break}else if((i|0)==45){ef(w);b=46652;break}else if((i|0)==46){ef(w);b=0;break}}else b=46577;while(0);return b|0}function uo(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0;ba=i;i=i+544|0;if((i|0)>=(j|0))$(544);L=ba+496|0;X=ba+248|0;V=ba+216|0;U=ba+136|0;R=ba+128|0;Q=ba+120|0;N=ba+112|0;J=ba+104|0;E=ba+96|0;D=ba+88|0;C=ba+80|0;z=ba+72|0;H=ba+64|0;G=ba+56|0;F=ba+48|0;A=ba+40|0;w=ba+32|0;x=ba+24|0;q=ba+16|0;l=ba+8|0;k=ba;M=ba+440|0;I=ba+428|0;B=ba+384|0;y=ba+372|0;n=ba+368|0;Z=ba+324|0;_=ba+264|0;aa=ba+260|0;Y=ba+256|0;W=ba+252|0;c[aa>>2]=0;c[Y>>2]=0;c[W>>2]=0;r=Z;s=r+44|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(s|0));r=_;s=r+60|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(s|0));g=ki(b,n)|0;a:do if(!g){g=Af(b,46768,0)|0;if(g){h=Gf(g,1)|0;yf(g);if(!h){f=65;break}}else h=0;g=Af(b,46728,0)|0;if((g|0)!=0?(f=ji(g,W,0)|0,yf(g),(f|0)!=0):0){o=0;n=0;m=0;l=0;k=0;b=0;h=0;g=0}else S=6;do if((S|0)==6){f=Af(b,48475,0)|0;if(f|0){c[W>>2]=c[W>>2]|32;yf(f)}f=c[n>>2]|0;if(!((h|0)!=0|(f|0)!=0)){f=68;break a}f=Wg(f,h,Z,n)|0;ef(h);if(!f){if(!(pf(1)|0)){k=Z+4|0;l=Z+8|0;g=Z+12|0;h=Z+16|0}else{v=uh(c[Z>>2]|0)|0;g=Z+4|0;f=vh(c[g>>2]|0)|0;c[k>>2]=v;c[k+4>>2]=f;Me(48489,k);f=c[Z+40>>2]|0;if(f|0){c[l>>2]=f;Me(48514,l)}l=Z+8|0;Qe(48536,c[l>>2]|0);v=Z+12|0;Qe(48552,c[v>>2]|0);h=Z+16|0;Qe(48568,c[h>>2]|0);Qe(48584,c[Z+32>>2]|0);Qe(48600,c[Z+36>>2]|0);Tk(48616,Z+20|0,0);k=g;g=v}m=cl(c[Z>>2]|0,c[k>>2]|0,0,c[l>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;p=c[W>>2]|0;if(!(p&4096)){o=c[n>>2]|0;b=yl(c[l>>2]|0)|0;Zk(y);f=2-(p>>>5&1)|0;if((c[m+4>>2]|0)==1){u=_+56|0;c[u>>2]=bn(256)|0;v=Jk(32,f)|0;a[v>>0]=(d[v>>0]|0)&63|64;n=v+31|0;a[n>>0]=(d[n>>0]|0)&248;jm(c[u>>2]|0,v,32,0);ef(v);v=u;n=Z+32|0;f=c[u>>2]|0}else{n=Z+32|0;f=Pp(c[n>>2]|0,f)|0;v=_+56|0;c[v>>2]=f}t=Z+20|0;pl(y,f,t,m);c[_>>2]=c[Z>>2];u=_+4|0;c[u>>2]=c[k>>2];c[_+8>>2]=Tm(c[l>>2]|0)|0;c[_+12>>2]=Tm(c[g>>2]|0)|0;c[_+16>>2]=Tm(c[h>>2]|0)|0;f=_+20|0;Zk(f);Do(f,t);c[_+32>>2]=Tm(c[n>>2]|0)|0;c[_+36>>2]=Tm(c[Z+36>>2]|0)|0;t=_+44|0;Zk(t);g=an(b)|0;h=an(b)|0;if(Uk(g,h,y,m)|0){c[q>>2]=48678;Ke(48630,q)}do if((c[k>>2]|0)!=1){k=an(b)|0;b=c[l>>2]|0;if(!(c[Z>>2]|0))ul(k,b,h);else ul(k,b,g);if((Jl(k,h)|0)>=0){Om(k);Do(t,y);if(!(pf(1)|0))break;Me(48720,w);break}if(!(c[Z>>2]|0)){Om(h);h=k}else{Om(g);g=k}w=c[v>>2]|0;ul(w,c[n>>2]|0,w);al(t,g,h,fn(1)|0)|0;if(pf(1)|0)Me(48680,x)}else Do(t,y);while(0);$k(y);do if(!(p&16384)){q=o+-64|0;if((c[_>>2]|0)!=1){k=an(q)|0;l=an(q)|0;n=an(q)|0;o=an(q)|0;p=an(q)|0;if(pf(1)|0)Me(48773,A);Zk(I);r=L;b=_;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));th(B,L);r=M;b=B;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));b=M+44|0;Zk(b);Do(b,t);dn(k,q,0);if(Tp(k,_,o,p,0,0)|0)Ke(48787,F);if(Up(k,M,o,p)|0)Ke(48817,G);if(pf(1)|0)Me(48855,H);$k(b);sh(M);$k(I);Om(p);Om(o);Om(n);Om(l);Om(k);break}if(pf(1)|0)Me(48773,z);Zk(I);r=L;b=_;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));th(B,L);r=M;b=B;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));o=M+44|0;Zk(o);Do(o,t);if((c[u>>2]|0)==1){b=an(256)|0;H=Hk(32,0)|0;a[H>>0]=(d[H>>0]|0)&63|64;G=H+31|0;a[G>>0]=(d[G>>0]|0)&248;jm(b,H,32,0);ef(H)}else{b=an(q)|0;dn(b,q,0)}k=cl(c[M>>2]|0,c[M+4>>2]|0,0,c[M+8>>2]|0,c[M+12>>2]|0,c[M+16>>2]|0)|0;l=an(0)|0;n=an(0)|0;pl(I,b,o,k);if((c[u>>2]|0)!=1)pl(I,c[k+36>>2]|0,I,k);if(Uk(l,0,I,k)|0)Ke(48890,C);pl(I,b,M+20|0,k);pl(I,c[v>>2]|0,I,k);if((c[u>>2]|0)!=1)pl(I,c[k+36>>2]|0,I,k);if(Uk(n,0,I,k)|0)Ke(48938,D);if(!(Jl(l,n)|0)){Om(l);Om(n);gl(k);$k(o);sh(M);$k(I);Om(b);break}else Ke(48987,E)}while(0)}else{f=oh(_,Z,m,p)|0;if(f|0){o=0;n=0;l=0;k=0;b=0;h=0;g=0;break}h=0;g=0;f=_+20|0}s=an(0)|0;r=an(0)|0;if(Uk(s,r,f,m)|0){c[J>>2]=49006;Ke(48630,J)}q=_+8|0;n=wh(s,r,c[q>>2]|0)|0;do if((c[_+4>>2]|0)==1?(K=c[W>>2]|0,(K&2048|0)==0):0){f=gh(_+44|0,m,s,r,K>>>10&1,L,M)|0;if(!f){b=an(0)|0;Pm(b,c[L>>2]|0,c[M>>2]<<3)|0;break}else break a}else S=71;while(0);if((S|0)==71){if(!g){f=an(0)|0;g=an(0)|0;if(!(Uk(f,g,_+44|0,m)|0)){O=g;P=f}else{c[N>>2]=48678;Ke(48630,N)}}else{O=h;P=g}b=wh(P,O,c[q>>2]|0)|0;h=O;g=P}p=_+56|0;o=c[p>>2]|0;c[p>>2]=0;p=Z+40|0;f=c[p>>2]|0;if(f|0?(c[Q>>2]=f,T=Kf(aa,0,49008,Q)|0,T|0):0){l=r;k=s;f=T;break}f=c[W>>2]|0;k=f&4608;if(k){f=Kf(Y,0,(k|0)!=4608?(f&512|0?49019:49033):49047,R)|0;if(f|0){l=r;k=s;break}f=c[W>>2]|0}k=c[aa>>2]|0;l=c[Y>>2]|0;if((f&512|0)==0|(c[p>>2]|0)==0){c[V>>2]=k;c[V+4>>2]=l;c[V+8>>2]=b;c[V+12>>2]=k;c[V+16>>2]=l;c[V+20>>2]=b;c[V+24>>2]=o;f=Kf(e,0,49203,V)|0}else{R=c[q>>2]|0;S=c[_+12>>2]|0;T=c[_+16>>2]|0;V=c[_+32>>2]|0;f=c[_+36>>2]|0;c[U>>2]=k;c[U+4>>2]=l;c[U+8>>2]=R;c[U+12>>2]=S;c[U+16>>2]=T;c[U+20>>2]=n;c[U+24>>2]=V;c[U+28>>2]=f;c[U+32>>2]=b;c[U+36>>2]=k;c[U+40>>2]=l;c[U+44>>2]=R;c[U+48>>2]=S;c[U+52>>2]=T;c[U+56>>2]=n;c[U+60>>2]=V;c[U+64>>2]=f;c[U+68>>2]=b;c[U+72>>2]=o;f=Kf(e,0,49067,U)|0}if(!f)if((pf(1)|0)!=0?(Qe(49279,c[q>>2]|0),Qe(49295,c[_+12>>2]|0),Qe(49311,c[_+16>>2]|0),Qe(49327,n),Qe(49343,c[_+32>>2]|0),Qe(49359,c[_+36>>2]|0),Qe(49375,b),Qe(49391,o),(c[W>>2]&4096|0)!=0):0){Me(49407,X);l=r;k=s;f=0}else{l=r;k=s;f=0}else{l=r;k=s}}else{o=0;n=0;m=0;l=0;k=0;b=0;h=0;g=0}}while(0);Om(o);Om(b);Om(n);sh(_);$k(_+44|0);Om(c[_+56>>2]|0);sh(Z);Om(k);Om(l);Om(g);Om(h);gl(m);yf(c[Y>>2]|0);yf(c[aa>>2]|0)}else f=g;while(0);i=ba;return f|0}function vo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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;I=i;i=i+240|0;if((i|0)>=(j|0))$(240);H=I+144|0;C=I+136|0;B=I+128|0;A=I+120|0;z=I+112|0;y=I+104|0;x=I+96|0;v=I+88|0;u=I+80|0;t=I+72|0;m=I+64|0;k=I+56|0;g=I+40|0;f=I;D=I+220|0;q=I+216|0;E=I+212|0;F=I+208|0;G=I+148|0;c[q>>2]=0;c[E>>2]=0;c[F>>2]=0;b=G;d=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));e=Af(a,46728,0)|0;if(e){b=ji(e,q,0)|0;if(!b)if(!(c[q>>2]&512))l=5;else{c[f>>2]=G+8;c[f+4>>2]=G+12;c[f+8>>2]=G+16;c[f+12>>2]=E;c[f+16>>2]=G+32;c[f+20>>2]=G+36;c[f+24>>2]=F;c[f+28>>2]=G+56;c[f+32>>2]=0;b=Qf(a,0,47068,f)|0;l=6}else{f=0;d=0;l=68}}else l=5;if((l|0)==5){c[g>>2]=F;c[g+4>>2]=G+56;c[g+8>>2]=0;b=Qf(a,0,47087,g)|0;l=6}do if((l|0)==6)if(!b){yf(e);r=Af(a,46768,5)|0;if((r|0)!=0?(h=Gf(r,1)|0,(h|0)!=0):0){b=Zg(h,G,G+4|0,G+8|0,G+12|0,G+16|0,E,G+32|0,G+36|0)|0;if(!b)l=h;else break}else l=0;if(c[E>>2]|0?(n=G+20|0,Zk(n),n=yh(n,c[E>>2]|0)|0,n|0):0){f=0;e=r;d=l;b=n;l=68;break}if(!l){n=c[q>>2]|0;c[G>>2]=n>>>11&2;c[G+4>>2]=n>>>12&1}if(pf(1)|0){n=uh(c[G>>2]|0)|0;b=vh(c[G+4>>2]|0)|0;c[k>>2]=n;c[k+4>>2]=b;Me(47996,k);b=c[G+40>>2]|0;if(b|0){c[m>>2]=b;Me(48020,m)}b=G+8|0;Qe(48041,c[b>>2]|0);Qe(48057,c[G+12>>2]|0);Qe(48073,c[G+16>>2]|0);Tk(48089,G+20|0,0);Qe(48103,c[G+32>>2]|0);Qe(48119,c[G+36>>2]|0);Qe(48135,c[F>>2]|0);if(!(wg()|0))Qe(48151,c[G+56>>2]|0)}else b=G+8|0;b=c[b>>2]|0;if(((((((b|0)!=0?(o=c[G+12>>2]|0,(o|0)!=0):0)?(p=c[G+16>>2]|0,(p|0)!=0):0)?(c[G+20>>2]|0)!=0:0)?(s=G+32|0,(c[s>>2]|0)!=0):0)?(c[G+36>>2]|0)!=0:0)?(w=G+56|0,(c[w>>2]|0)!=0):0){h=G+4|0;f=cl(c[G>>2]|0,c[h>>2]|0,0,b,o,p)|0;if(c[F>>2]|0){k=G+44|0;Zk(k);b=c[F>>2]|0;if((c[f+4>>2]|0)==1)b=lh(b,f,k,0,0)|0;else b=yh(k,b)|0;if(!b){d=c[q>>2]|0;Zk(D);a=an(0)|0;if((c[f>>2]|0)==1)g=0;else g=an(0)|0;e=G+20|0;a:do if(!(ql(e,f)|0)){if(!(pf(1)|0)){b=7;e=0;d=0;break}Me(48167,t);b=7;e=0;d=0}else{if(!(Il(c[G+28>>2]|0,0)|0)){if(!(pf(1)|0)){b=7;e=0;d=0;break}Me(48219,u);b=7;e=0;d=0;break}do if((c[h>>2]|0)!=1){pl(D,c[s>>2]|0,e,f);if(!(Il(c[D+8>>2]|0,0)|0))break;if(!(pf(1)|0)){b=7;e=0;d=0;break a}Me(48264,v);b=7;e=0;d=0;break a}while(0);b=G+52|0;if(!(Il(c[b>>2]|0,0)|0)){if(!(pf(1)|0)){b=7;e=0;d=0;break}Me(48311,x);b=7;e=0;d=0;break}if(!(zh(D,f,e,c[w>>2]|0)|0)){if(!(pf(1)|0)){b=7;e=0;d=0;break}Me(48357,y);b=7;e=0;d=0;break}if(Uk(a,g,D,f)|0){if(!(pf(1)|0)){b=7;e=0;d=0;break}Me(48311,z);b=7;e=0;d=0;break}if(d&4096|0){b=0;e=0;d=0;break}if(!(Il(c[b>>2]|0,1)|0)){if(!(Jl(a,c[k>>2]|0)|0)){if(g|0){b=0;e=0;d=0;break}if(!(Jl(0,c[G+48>>2]|0)|0)){b=0;e=0;d=0;break}}if(!(pf(1)|0)){b=7;e=0;d=0;break}Me(48394,A);b=7;e=0;d=0;break}d=an(0)|0;e=an(0)|0;if(Uk(d,e,k,f)|0){if(!(pf(1)|0)){b=7;break}Me(48311,B);b=7;break}if((Jl(a,d)|0)==0?(Jl(g,e)|0)==0:0){b=0;break}if(!(pf(1)|0)){b=7;break}Me(48394,C);b=7}while(0);Om(d);Om(a);Om(g);Om(e);$k(D);e=r;d=l;l=68}else{e=r;d=l;l=68}}else{e=r;d=l;b=68;l=68}}else{f=0;e=r;d=l;b=68;l=68}}else{f=0;d=0;l=68}while(0);if((l|0)==68){gl(f);cn(c[G+8>>2]|0);cn(c[G+12>>2]|0);cn(c[G+16>>2]|0);cn(c[E>>2]|0);$k(G+20|0);cn(c[G+32>>2]|0);cn(c[G+36>>2]|0);cn(c[F>>2]|0);$k(G+44|0);cn(c[G+56>>2]|0);ef(d);yf(e);if(pf(1)|0){c[H>>2]=Yp(b)|0;Me(48454,H)}}i=I;return b|0}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;C=i;i=i+192|0;if((i|0)>=(j|0))$(192);A=C+72|0;u=C+64|0;t=C+56|0;q=C+48|0;o=C+40|0;n=C+32|0;s=C;v=C+152|0;w=C+144|0;x=C+140|0;y=C+136|0;z=C+80|0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;f=z;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));pi(v,0,Ao(d)|0);b=ri(b,y,v)|0;do if(!b){if(pf(1)|0)Qe(47656,c[y>>2]|0);p=c[y>>2]|0;if(p|0?c[p+12>>2]&4|0:0){h=79;f=0;g=0;b=0;e=0;B=26;break}p=z+8|0;l=z+12|0;m=z+16|0;f=z+32|0;g=z+36|0;c[s>>2]=p;c[s+4>>2]=l;c[s+8>>2]=m;c[s+12>>2]=w;c[s+16>>2]=f;c[s+20>>2]=g;c[s+24>>2]=x;c[s+28>>2]=0;b=Qf(d,0,47673,s)|0;if(!b){if(c[w>>2]|0?(k=z+20|0,Zk(k),k=yh(k,c[w>>2]|0)|0,k|0):0){h=k;f=0;g=0;b=0;e=0;B=26;break}yf(0);b=Af(d,46768,5)|0;if((b|0)!=0?(e=Gf(b,1)|0,(e|0)!=0):0){b=Wg(0,e,z,0)|0;if(b){h=b;break}}else{c[z>>2]=0;c[z+4>>2]=0;e=0}if(pf(1)|0){k=uh(c[z>>2]|0)|0;b=vh(c[z+4>>2]|0)|0;c[n>>2]=k;c[n+4>>2]=b;Me(47689,n);b=c[z+40>>2]|0;if(b|0){c[o>>2]=b;Me(47714,o)}Qe(47736,c[p>>2]|0);Qe(47753,c[l>>2]|0);Qe(47770,c[m>>2]|0);Tk(47787,z+20|0,0);Qe(47802,c[f>>2]|0);Qe(47819,c[g>>2]|0);Qe(47836,c[x>>2]|0)}if((!((c[p>>2]|0)==0|(c[l>>2]|0)==0|(c[m>>2]|0)==0)?(r=z+20|0,!((c[r>>2]|0)==0|(c[f>>2]|0)==0)):0)?(c[g>>2]|0)!=0&(c[x>>2]|0)!=0:0){k=z+44|0;Zk(k);b=yh(k,c[x>>2]|0)|0;if(!b){f=cl(c[z>>2]|0,c[z+4>>2]|0,0,c[p>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;g=an(0)|0;d=an(0)|0;Zk(s);pl(s,c[y>>2]|0,k,f);if(Uk(g,d,s,f)|0)Ke(47853,q);b=wh(g,d,c[p>>2]|0)|0;pl(s,c[y>>2]|0,r,f);if(!(Uk(g,d,s,f)|0)){B=wh(g,d,c[p>>2]|0)|0;Om(g);Om(d);$k(s);c[u>>2]=b;c[u+4>>2]=B;h=Kf(a,0,47948,u)|0;g=B;B=26;break}else Ke(47901,t)}else{h=b;f=0;g=0;b=0;B=26}}else{h=68;f=0;g=0;b=0;B=26}}else{h=b;f=0;g=0;b=0;e=0;B=26}}else{h=b;f=0;g=0;b=0;e=0;B=26}while(0);if((B|0)==26){cn(c[z+8>>2]|0);cn(c[z+12>>2]|0);cn(c[z+16>>2]|0);cn(c[w>>2]|0);$k(z+20|0);cn(c[z+32>>2]|0);cn(c[z+36>>2]|0);cn(c[x>>2]|0);$k(z+44|0);cn(c[y>>2]|0);cn(b);cn(g);ef(e);gl(f);qi(v);if(pf(1)|0){c[A>>2]=Yp(h)|0;Me(47974,A)}}i=C;return h|0}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;C=i;i=i+224|0;if((i|0)>=(j|0))$(224);B=C+72|0;t=C+64|0;r=C+56|0;q=C+48|0;p=C+40|0;l=C+8|0;h=C;u=C+176|0;v=C+168|0;w=C+164|0;x=C+104|0;y=C+100|0;z=C+88|0;A=C+76|0;c[v>>2]=0;c[w>>2]=0;c[y>>2]=0;f=x;g=f+60|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Zk(z);Zk(A);pi(u,1,Ao(d)|0);b=ni(b,12676,v,u)|0;do if(!b){b=c[v>>2]|0;c[h>>2]=w;c[h+4>>2]=0;b=Qf(b,0,47367,h)|0;if(!b){if(pf(1)|0)Qe(47369,c[w>>2]|0);n=c[w>>2]|0;if(n|0?c[n+12>>2]&4|0:0){f=0;k=0;b=79;e=0;s=31;break}n=x+8|0;h=x+12|0;k=x+16|0;f=x+32|0;g=x+36|0;m=x+56|0;c[l>>2]=n;c[l+4>>2]=h;c[l+8>>2]=k;c[l+12>>2]=y;c[l+16>>2]=f;c[l+20>>2]=g;c[l+24>>2]=m;c[l+28>>2]=0;b=Qf(d,0,47386,l)|0;if(!b){if(c[y>>2]|0?(o=x+20|0,Zk(o),o=yh(o,c[y>>2]|0)|0,o|0):0){f=0;k=0;b=o;e=0;s=31;break}yf(c[v>>2]|0);b=Af(d,46768,5)|0;c[v>>2]=b;if((b|0)!=0?(e=Gf(b,1)|0,(e|0)!=0):0){b=Wg(0,e,x,0)|0;if(b)break}else{c[x>>2]=0;c[x+4>>2]=0;e=0}if(pf(1)|0){o=uh(c[x>>2]|0)|0;b=vh(c[x+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=b;Me(47402,p);b=c[x+40>>2]|0;if(b|0){c[q>>2]=b;Me(47427,q)}Qe(47449,c[n>>2]|0);Qe(47466,c[h>>2]|0);Qe(47483,c[k>>2]|0);Tk(47500,x+20|0,0);Qe(47515,c[f>>2]|0);Qe(47532,c[g>>2]|0);if(!(wg()|0))Qe(47549,c[m>>2]|0)}if(!((c[n>>2]|0)==0|(c[h>>2]|0)==0|(c[k>>2]|0)==0)?!((c[x+20>>2]|0)==0|(c[f>>2]|0)==0|(c[g>>2]|0)==0|(c[m>>2]|0)==0):0){b=yh(z,c[w>>2]|0)|0;if(b|0){$k(z);break}k=cl(c[x>>2]|0,c[x+4>>2]|0,0,c[n>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;pl(A,c[m>>2]|0,z,k);g=an(0)|0;h=an(0)|0;if(Uk(g,h,A,k)|0)Ke(47566,r);f=wh(g,h,c[n>>2]|0)|0;if(!f)b=$p()|0;else b=0;Om(g);Om(h);if(pf(1)|0)Qe(47606,f);if(!b){c[t>>2]=f;b=Kf(a,0,47623,t)|0;s=31}else s=31}else{f=0;k=0;b=68;s=31}}else{f=0;k=0;e=0;s=31}}else{f=0;k=0;e=0;s=31}}else{f=0;k=0;e=0;s=31}while(0);if((s|0)==31){$k(A);$k(z);cn(f);cn(c[x+8>>2]|0);cn(c[x+12>>2]|0);cn(c[x+16>>2]|0);cn(c[y>>2]|0);$k(x+20|0);cn(c[x+32>>2]|0);cn(c[x+36>>2]|0);cn(c[x+56>>2]|0);cn(c[w>>2]|0);ef(e);yf(c[v>>2]|0);gl(k);qi(u);if(pf(1)|0){c[B>>2]=Yp(b)|0;Me(47634,B)}}i=C;return b|0}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;y=i;i=i+224|0;if((i|0)>=(j|0))$(224);x=y+104|0;r=y+96|0;q=y+88|0;p=y+80|0;n=y+72|0;l=y+56|0;h=y+40|0;g=y;s=y+184|0;t=y+176|0;u=y+172|0;v=y+168|0;w=y+108|0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;e=w;f=e+60|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));pi(s,2,0);b=ri(b,t,s)|0;do if(!b){if(pf(1)|0)Qe(47052,c[t>>2]|0);e=s+12|0;if(!(c[e>>2]&512)){c[h>>2]=v;c[h+4>>2]=w+56;c[h+8>>2]=0;b=Qf(d,0,47087,h)|0}else{c[g>>2]=w+8;c[g+4>>2]=w+12;c[g+8>>2]=w+16;c[g+12>>2]=u;c[g+16>>2]=w+32;c[g+20>>2]=w+36;c[g+24>>2]=v;c[g+28>>2]=w+56;c[g+32>>2]=0;b=Qf(d,0,47068,g)|0}if(!b){if(c[u>>2]|0?(m=w+20|0,Zk(m),m=yh(m,c[u>>2]|0)|0,m|0):0){f=0;g=0;h=0;e=0;b=m;o=35;break}yf(0);h=Af(d,46768,5)|0;if((h|0)!=0?(k=Gf(h,1)|0,(k|0)!=0):0){b=Wg(0,k,w,0)|0;if(b)break}else{k=c[e>>2]|0;c[w>>2]=k>>>11&2;c[w+4>>2]=k>>>12&1;k=0}if(pf(1)|0){m=uh(c[w>>2]|0)|0;o=vh(c[w+4>>2]|0)|0;b=c[e>>2]&4096|0?46862:71699;c[l>>2]=m;c[l+4>>2]=o;c[l+8>>2]=b;Me(47093,l);b=c[w+40>>2]|0;if(b|0){c[n>>2]=b;Me(47119,n)}b=w+8|0;Qe(47140,c[b>>2]|0);Qe(47156,c[w+12>>2]|0);Qe(47172,c[w+16>>2]|0);Tk(47188,w+20|0,0);Qe(47202,c[w+32>>2]|0);Qe(47218,c[w+36>>2]|0);Qe(47234,c[v>>2]|0);if(!(wg()|0))Qe(47250,c[w+56>>2]|0)}else b=w+8|0;if(((((((c[b>>2]|0)!=0?(c[w+12>>2]|0)!=0:0)?(c[w+16>>2]|0)!=0:0)?(c[w+20>>2]|0)!=0:0)?(c[w+32>>2]|0)!=0:0)?(c[w+36>>2]|0)!=0:0)?(c[w+56>>2]|0)!=0:0){g=an(0)|0;f=an(0)|0;e=c[e>>2]|0;if(e&4096|0){b=qh(c[t>>2]|0,w,g,f,c[s+16>>2]|0,c[v>>2]|0)|0;if(b|0){e=k;o=35;break}c[p>>2]=g;c[p+4>>2]=f;e=k;b=Kf(a,0,47266,p)|0;o=35;break}b=c[t>>2]|0;if(!(e&8192)){b=Tp(b,w,g,f,e,c[s+16>>2]|0)|0;if(b|0){e=k;o=35;break}c[r>>2]=g;c[r+4>>2]=f;e=k;b=Kf(a,0,47319,r)|0;o=35;break}else{b=Vp(b,w,g,f)|0;if(b|0){e=k;o=35;break}c[q>>2]=g;c[q+4>>2]=f;e=k;b=Kf(a,0,47293,q)|0;o=35;break}}else{f=0;g=0;e=k;b=68;o=35}}else{f=0;g=0;h=0;e=0;o=35}}else{f=0;g=0;h=0;e=0;o=35}while(0);if((o|0)==35){cn(c[w+8>>2]|0);cn(c[w+12>>2]|0);cn(c[w+16>>2]|0);cn(c[u>>2]|0);$k(w+20|0);cn(c[w+32>>2]|0);cn(c[w+36>>2]|0);cn(c[v>>2]|0);$k(w+44|0);cn(c[w+56>>2]|0);cn(g);cn(f);ef(e);cn(c[t>>2]|0);yf(h);qi(s);if(pf(1)|0){c[x>>2]=Yp(b)|0;Me(47346,x)}}i=y;return b|0}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;F=i;i=i+224|0;if((i|0)>=(j|0))$(224);E=F+80|0;n=F+72|0;m=F+56|0;g=F+48|0;h=F+16|0;u=F;x=F+176|0;y=F+172|0;z=F+168|0;A=F+164|0;B=F+160|0;C=F+156|0;D=F+152|0;w=F+96|0;o=F+88|0;v=F+84|0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;e=w;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));pi(x,3,Ao(d)|0);b=ri(b,D,x)|0;a:do if(!b){if(pf(1)|0)Qe(46794,c[D>>2]|0);b=mi(a,12676,y,o)|0;if(!b){a=c[y>>2]|0;b=c[o>>2]&4096|0?46810:46725;c[u>>2]=B;c[u+4>>2]=C;c[u+8>>2]=0;b=Qf(a,0,b,u)|0;if(!b){if(pf(1)|0){Qe(46814,c[B>>2]|0);Qe(46830,c[C>>2]|0)}b=c[x+12>>2]|0;if(!((c[o>>2]^b)&4096)){if(!(b&512)){c[g>>2]=A;c[g+4>>2]=0;b=Qf(d,0,46763,g)|0}else{b=w+32|0;c[h>>2]=w+8;c[h+4>>2]=w+12;c[h+8>>2]=w+16;c[h+12>>2]=z;c[h+16>>2]=b;c[h+20>>2]=b;c[h+24>>2]=A;c[h+28>>2]=0;b=Qf(d,0,46846,h)|0}if(!b){if(c[z>>2]|0?(k=w+20|0,Zk(k),k=yh(k,c[z>>2]|0)|0,k|0):0){e=0;b=k;p=47;break}yf(c[y>>2]|0);b=Af(d,46768,5)|0;c[y>>2]=b;if((b|0)!=0?(l=Gf(b,1)|0,(l|0)!=0):0){b=Wg(0,l,w,0)|0;if(!b)a=l;else break}else{a=c[o>>2]|0;c[w>>2]=a>>>11&2;c[w+4>>2]=a>>>12&1;a=0}if(!(pf(1)|0))f=w+8|0;else{l=uh(c[w>>2]|0)|0;p=vh(c[w+4>>2]|0)|0;b=c[o>>2]&4096|0?46862:71699;c[m>>2]=l;c[m+4>>2]=p;c[m+8>>2]=b;Me(46869,m);b=c[w+40>>2]|0;if(b|0){c[n>>2]=b;Me(46895,n)}f=w+8|0;Qe(46916,c[f>>2]|0);Qe(46932,c[w+12>>2]|0);Qe(46948,c[w+16>>2]|0);Tk(46964,w+20|0,0);Qe(46978,c[w+32>>2]|0);Qe(46994,c[w+36>>2]|0);Qe(47010,c[A>>2]|0)}if((((((c[f>>2]|0)!=0?(r=w+12|0,(c[r>>2]|0)!=0):0)?(s=w+16|0,(c[s>>2]|0)!=0):0)?(c[w+20>>2]|0)!=0:0)?(t=w+32|0,(c[t>>2]|0)!=0):0)?(q=c[A>>2]|0,(c[w+36>>2]|0)!=0&(q|0)!=0):0){e=c[o>>2]|0;if(e&4096|0){e=a;b=rh(c[D>>2]|0,w,c[B>>2]|0,c[C>>2]|0,c[x+16>>2]|0,q)|0;p=47;break}b=w+44|0;Zk(b);if(e&8192|0){b=yh(b,c[A>>2]|0)|0;if(b|0){e=a;p=47;break}e=a;b=Wp(c[D>>2]|0,w,c[B>>2]|0,c[C>>2]|0)|0;p=47;break}if((c[w+4>>2]|0)==1){s=cl(c[w>>2]|0,1,0,c[f>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;b=lh(c[A>>2]|0,s,b,0,0)|0;gl(s)}else b=yh(b,c[A>>2]|0)|0;if(b|0){e=a;p=47;break}b=c[D>>2]|0;do if(b|0){if(!(c[b+12>>2]&4))break;e=yl(c[t>>2]|0)|0;b=Rm(c[D>>2]|0,u)|0;b=km(v,5,b,((c[u>>2]|0)+7|0)>>>3,0)|0;if(!b){b=c[u>>2]|0;if(b>>>0>e>>>0){u=c[v>>2]|0;Fl(u,u,b-e|0)}b=Up(c[v>>2]|0,w,c[B>>2]|0,c[C>>2]|0)|0;cn(c[v>>2]|0)}e=a;p=47;break a}while(0);e=a;b=Up(b,w,c[B>>2]|0,c[C>>2]|0)|0;p=47}else{e=a;b=68;p=47}}else{e=0;p=47}}else{e=0;b=70;p=47}}else{e=0;p=47}}else{e=0;p=47}}else{e=0;p=47}while(0);if((p|0)==47){cn(c[w+8>>2]|0);cn(c[w+12>>2]|0);cn(c[w+16>>2]|0);cn(c[z>>2]|0);$k(w+20|0);cn(c[w+32>>2]|0);cn(c[w+36>>2]|0);cn(c[A>>2]|0);$k(w+44|0);cn(c[D>>2]|0);cn(c[B>>2]|0);cn(c[C>>2]|0);ef(e);yf(c[y>>2]|0);qi(x);if(pf(1)|0){if(!b)e=47026;else e=Yp(b)|0;c[E>>2]=e;Me(47031,E)}}i=F;return b|0}function Ao(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;c[e>>2]=0;b=Af(a,46792,1)|0;if(!b){a=Af(a,46768,5)|0;if((a|0)!=0?(d=Gf(a,1)|0,yf(a),(d|0)!=0):0){if(Wg(0,d,0,e)|0)c[e>>2]=0;ef(d);a=c[e>>2]|0}else a=0}else{a=Hf(b,1,5)|0;yf(b);if(!a)a=0;else{d=yl(a)|0;c[e>>2]=d;cn(a);a=d}}i=f;return a|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==18?0:4)|0}function Co(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;z=i;i=i+176|0;if((i|0)>=(j|0))$(176);x=z+88|0;w=z+80|0;k=z+72|0;h=z+64|0;q=z+32|0;p=z;y=z+112|0;s=z+108|0;r=z+104|0;t=z+100|0;u=z+140|0;v=z+96|0;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;f=0;while(1){if((f|0)==7)break;c[y+(f<<2)>>2]=0;f=f+1|0}g=Af(d,46728,0)|0;do if(g){f=ji(g,s,0)|0;if(!f){n=c[s>>2]|0;o=(n&4096|0)!=0;if(!(n&512)){f=y+24|0;if(!o){l=13;break}c[h>>2]=f;c[h+4>>2]=0;f=Qf(d,0,46763,h)|0;l=14;break}f=y+4|0;h=y+8|0;k=y+12|0;l=y+16|0;m=y+20|0;n=y+24|0;if(o){c[p>>2]=y;c[p+4>>2]=f;c[p+8>>2]=h;c[p+12>>2]=k;c[p+16>>2]=l;c[p+20>>2]=m;c[p+24>>2]=n;c[p+28>>2]=0;f=Qf(d,0,46734,p)|0;l=14;break}else{c[q>>2]=y;c[q+4>>2]=f;c[q+8>>2]=h;c[q+12>>2]=k;c[q+16>>2]=l;c[q+20>>2]=m;c[q+24>>2]=n;c[q+28>>2]=0;f=Qf(d,0,46749,q)|0;l=14;break}}else e=0}else{f=y+24|0;l=13}while(0);if((l|0)==13){c[k>>2]=f;c[k+4>>2]=0;f=Qf(d,0,46766,k)|0;l=14}a:do if((l|0)==14)if(!f){yf(g);g=Af(d,46768,5)|0;if((g|0)!=0?(e=Gf(g,1)|0,(e|0)!=0):0){f=Zg(e,r,t,y,y+4|0,y+8|0,y+12|0,y+16|0,y+20|0)|0;if(f)break}else{e=c[s>>2]|0;c[r>>2]=e>>>11&2;c[t>>2]=e>>>12&1;e=0}f=0;while(1){if((f|0)>=7)break;h=c[y+(f<<2)>>2]|0;if(!h){f=68;break a}xl(h);f=f+1|0}if(c[s>>2]&4096|0){if((c[t>>2]|0)!=1){f=69;break}f=ih(c[y+24>>2]|0,256)|0;if(f|0)break}h=0;b:while(1){if((h|0)>=7){f=0;break a}do if((h|0)!=5){f=c[y+(h<<2)>>2]|0;if(f|0?c[f+12>>2]&4|0:0){t=Rm(f,v)|0;s=((c[v>>2]|0)+7|0)>>>3;c[v>>2]=s;c[w>>2]=a[46774+h>>0];c[w+4>>2]=s;hr(u,30,46781,w)|0;Nh(b,u,yr(u)|0);Nh(b,t,c[v>>2]|0);Nh(b,46790,1);break}f=gm(f,0,v,0)|0;if(!f)break b;t=c[v>>2]|0;c[x>>2]=a[46774+h>>0];c[x+4>>2]=t;hr(u,30,46781,x)|0;Nh(b,u,yr(u)|0);Nh(b,f,c[v>>2]|0);Nh(b,46790,1);ef(f)}while(0);h=h+1|0}f=$p()|0}else e=0;while(0);ef(e);yf(g);e=0;while(1){if((e|0)==7)break;cn(c[y+(e<<2)>>2]|0);e=e+1|0}i=z;return f|0}function Do(a,b){a=a|0;b=b|0;Vm(c[a>>2]|0,c[b>>2]|0)|0;Vm(c[a+4>>2]|0,c[b+4>>2]|0)|0;Vm(c[a+8>>2]|0,c[b+8>>2]|0)|0;return}function Eo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0;m=i;i=i+1008|0;if((i|0)>=(j|0))$(1008);l=m;h=m+8|0;if((Xh(a)|0)==(g|0))if(!(Fh(l,a,0)|0)){switch(b|0){case 0:{Nh(c[l>>2]|0,d,e);k=9;break}case 1:{et(h|0,97,1e3)|0;b=0;while(1){if((b|0)==1e3)break;Nh(c[l>>2]|0,h,1e3);b=b+1|0}k=9;break}default:b=49484}if((k|0)==9){b=(_r(Uh(c[l>>2]|0,a)|0,f,g)|0)==0;b=b?0:49468}Mh(c[l>>2]|0)}else b=49542;else b=49501;i=m;return b|0}function Fo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=b+148|0;i=b+152|0;n=b+144|0;j=b+128|0;k=b+136|0;a:while(1){m=c[h>>2]|0;if(m>>>0>128){l=3;break}g=c[i>>2]|0;if(!g)break;f=c[n>>2]|0;if((f|0)==(m|0)){Re(ub[g&63](b,b,1)|0);c[n>>2]=0;f=j;f=gt(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=D;o=j;c[o>>2]=f;c[o+4>>2]=g;if((f|0)==0&(g|0)==0){o=k;o=gt(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;f=k;c[f>>2]=o;c[f+4>>2]=D;f=0}else f=0}if(!d)break;if(!f){l=14;break}while(1){if(!e){d=0;e=0;continue a}f=c[n>>2]|0;if(f>>>0>=m>>>0){l=13;break a}o=a[d>>0]|0;c[n>>2]=f+1;a[b+f>>0]=o;e=e+-1|0;d=d+1|0}}if((l|0)==3)Fe(49562,112,49576);else if((l|0)==13){Fo(b,0,0);l=14}b:do if((l|0)==14){if(e>>>0<m>>>0)f=0;else{o=(e>>>0)/(m>>>0)|0;f=ub[c[i>>2]&63](b,d,o)|0;c[n>>2]=0;h=j;h=gt(c[h>>2]|0,c[h+4>>2]|0,o|0,0)|0;i=D;g=k;g=gt((i>>>0<0|(i|0)==0&h>>>0<o>>>0)&1|0,0,c[g>>2]|0,c[g+4>>2]|0)|0;l=k;c[l>>2]=g;c[l+4>>2]=D;l=j;c[l>>2]=h;c[l+4>>2]=i;o=S(o,m)|0;e=e-o|0;d=d+o|0}Re(f);f=e;while(1){if(!f)break b;e=c[n>>2]|0;if(e>>>0>=m>>>0)break b;o=a[d>>0]|0;c[n>>2]=e+1;a[b+e>>0]=o;f=f+-1|0;d=d+1|0}}while(0);return}function Go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+3|0;j=j+(0-(j&3))|0;k=a+84|0;i=c[c[k>>2]>>2]|0;l=a+88|0;e=c[l>>2]|0;if(e){f=i-e|0;f=f>>>0>d>>>0?d:f;Ho(a+68+e|0,b,f);h=(c[l>>2]|0)+f|0;c[l>>2]=h;if(h>>>0>=i>>>0){g=ub[c[(c[k>>2]|0)+8>>2]&63](j,a+68|0,i)|0;c[l>>2]=0;h=b+f|0;d=d-f|0;b=g;g=4}}else{h=b;b=0;g=4}if((g|0)==4){f=d&0-i;if(d>>>0<i>>>0)e=h;else{e=h+f|0;d=d-f|0;b=ub[c[(c[k>>2]|0)+8>>2]&63](j,h,f)|0}if(d|0){Ho((c[l>>2]|0)+(a+68)|0,e,d);c[l>>2]=(c[l>>2]|0)+d}if(b|0)Re(b)}return}function Ho(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!((d|b)&3)){i=e+~(e>>>0<3?e:3)+4&-4;h=b+i|0;g=d+i|0;f=e;while(1){if(f>>>0<=3)break;c[b>>2]=c[d>>2];f=f+-4|0;d=d+4|0;b=b+4|0}d=g;b=h;e=e-i|0}while(1){if(!e)break;a[b>>0]=a[d>>0]|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function Io(a,b){a=a|0;b=b|0;var d=0;d=a+3|0;Re(Bb[c[(c[a+84>>2]|0)+12>>2]&3](d+(0-(d&3))|0,a+68|0,c[a+88>>2]|0,b)|0);return}function Jo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+528|0;if((i|0)>=(j|0))$(528);p=q;g=q+96|0;l=q+4|0;m=q+496|0;n=q+240|0;o=q+224|0;f=q+192|0;if(!(c[17612]|0)){c[17612]=1;h=g;k=h+92|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=l;k=h+92|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=o;k=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(k|0));Ko(o,49597,131,49728);if(!(_r(49760,o,16)|0)){h=o;k=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(k|0));Jo(g,49728,32)|0;Go(g,49597,32);Go(g,49629,64);Go(g,49693,16);Go(g,49709,8);Go(g,49717,4);Go(g,49721,2);Go(g,49723,1);Go(g,49724,1);Go(g,49725,1);Go(g,49726,1);Go(g,49727,1);Io(g,o);if(!(_r(49760,o,16)|0)){h=o;k=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(k|0));Ko(o,49776,16,49792);if(!(_r(49824,o,16)|0)){Jo(l,49840,32)|0;k=0;while(1){if((k|0)==256)break;h=k&255;g=0;while(1){if((g|0)==32){g=0;break}a[m+g>>0]=h;g=g+1|0}while(1){if((g|0)==(k|0))break;a[n+g>>0]=h;g=g+1|0}Ko(o,n,k,m);Go(l,o,16);k=k+1|0}Io(l,o);g=(_r(49872,o,16)|0)==0;g=g?0:49888}else g=49960}else g=49936}else g=49912;c[17613]=g;if(g|0){c[p>>2]=g;Je(49984,p)}}a:do if((e|0)==32)if(!(c[17613]|0)){p=b+84|0;c[p>>2]=12700;Ho(f,d,32);g=b+3|0;c[b+88>>2]=0;xb[c[(c[p>>2]|0)+4>>2]&7](g+(0-(g&3))|0,f);g=32;while(1){if(!((g|0)!=0&(f&7|0)!=0))break;a[f>>0]=0;g=g+-1|0;f=f+1|0}if(g>>>0>=8){k=g+-8|0;l=k&-8;m=l+8|0;h=f;while(1){p=h;c[p>>2]=0;c[p+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else h=h+8|0}g=k-l|0;f=f+m|0}while(1){if(!g){f=0;break a}a[f>>0]=0;g=g+-1|0;f=f+1|0}}else f=50;else f=44;while(0);i=q;return f|0}function Ko(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+96|0;if((i|0)>=(j|0))$(96);g=l;h=g;k=h+92|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));Jo(g,f,32)|0;Go(g,d,e);Io(g,b);b=92;while(1){if(!((b|0)!=0&(g&7|0)!=0))break;a[g>>0]=0;g=g+1|0;b=b+-1|0}if(b>>>0>=8){f=b+-8|0;h=f&-8;e=h+8|0;d=g;while(1){k=d;c[k>>2]=0;c[k+4>>2]=0;b=b+-8|0;if(b>>>0<=7)break;else d=d+8|0}g=g+e|0;b=f-h|0}while(1){if(!b)break;a[g>>0]=0;g=g+1|0;b=b+-1|0}i=l;return}function Lo(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=(Po(d)|0)&67108863;c[b+4>>2]=(Po(d+3|0)|0)>>>2&67108611;c[b+8>>2]=(Po(d+6|0)|0)>>>4&67092735;c[b+12>>2]=(Po(d+9|0)|0)>>>6&66076671;c[b+16>>2]=(Po(d+12|0)|0)>>>8&1048575;e=b+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[b+40>>2]=Po(d+16|0)|0;c[b+44>>2]=Po(d+20|0)|0;c[b+48>>2]=Po(d+24|0)|0;c[b+52>>2]=Po(d+28|0)|0;a[b+56>>0]=0;return}function Mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;v=a[b+56>>0]|0?0:16777216;w=c[b>>2]|0;x=c[b+4>>2]|0;k=c[b+8>>2]|0;l=c[b+12>>2]|0;m=c[b+16>>2]|0;n=x*5|0;o=k*5|0;p=l*5|0;q=m*5|0;r=b+20|0;s=b+24|0;t=b+28|0;u=b+32|0;j=b+36|0;b=c[r>>2]|0;f=c[s>>2]|0;g=c[t>>2]|0;h=c[u>>2]|0;i=c[j>>2]|0;while(1){if(e>>>0<=15)break;E=((Po(d)|0)&67108863)+b|0;M=((Po(d+3|0)|0)>>>2&67108863)+f|0;K=((Po(d+6|0)|0)>>>4&67108863)+g|0;J=((Po(d+9|0)|0)>>>6)+h|0;F=((Po(d+12|0)|0)>>>8|v)+i|0;B=st(E|0,0,w|0,0)|0;A=D;C=st(M|0,0,q|0,0)|0;A=gt(C|0,D|0,B|0,A|0)|0;B=D;C=st(K|0,0,p|0,0)|0;C=gt(A|0,B|0,C|0,D|0)|0;B=D;A=st(J|0,0,o|0,0)|0;A=gt(C|0,B|0,A|0,D|0)|0;B=D;C=st(F|0,0,n|0,0)|0;C=gt(A|0,B|0,C|0,D|0)|0;B=D;A=st(E|0,0,x|0,0)|0;z=D;I=st(M|0,0,w|0,0)|0;z=gt(I|0,D|0,A|0,z|0)|0;A=D;I=st(K|0,0,q|0,0)|0;I=gt(z|0,A|0,I|0,D|0)|0;A=D;z=st(J|0,0,p|0,0)|0;z=gt(I|0,A|0,z|0,D|0)|0;A=D;I=st(F|0,0,o|0,0)|0;I=gt(z|0,A|0,I|0,D|0)|0;A=D;z=st(E|0,0,k|0,0)|0;y=D;H=st(M|0,0,x|0,0)|0;y=gt(H|0,D|0,z|0,y|0)|0;z=D;H=st(K|0,0,w|0,0)|0;H=gt(y|0,z|0,H|0,D|0)|0;z=D;y=st(J|0,0,q|0,0)|0;y=gt(H|0,z|0,y|0,D|0)|0;z=D;H=st(F|0,0,p|0,0)|0;H=gt(y|0,z|0,H|0,D|0)|0;z=D;y=st(E|0,0,l|0,0)|0;L=D;G=st(M|0,0,k|0,0)|0;L=gt(G|0,D|0,y|0,L|0)|0;y=D;G=st(K|0,0,x|0,0)|0;G=gt(L|0,y|0,G|0,D|0)|0;y=D;L=st(J|0,0,w|0,0)|0;L=gt(G|0,y|0,L|0,D|0)|0;y=D;G=st(F|0,0,q|0,0)|0;G=gt(L|0,y|0,G|0,D|0)|0;y=D;E=st(E|0,0,m|0,0)|0;L=D;M=st(M|0,0,l|0,0)|0;L=gt(M|0,D|0,E|0,L|0)|0;E=D;K=st(K|0,0,k|0,0)|0;K=gt(L|0,E|0,K|0,D|0)|0;E=D;J=st(J|0,0,x|0,0)|0;J=gt(K|0,E|0,J|0,D|0)|0;E=D;F=st(F|0,0,w|0,0)|0;F=gt(J|0,E|0,F|0,D|0)|0;E=D;B=ot(C|0,B|0,26)|0;B=gt(I|0,A|0,B|0,0)|0;A=ot(B|0,D|0,26)|0;A=gt(H|0,z|0,A|0,0)|0;z=ot(A|0,D|0,26)|0;z=gt(G|0,y|0,z|0,0)|0;y=ot(z|0,D|0,26)|0;y=gt(F|0,E|0,y|0,0)|0;E=ot(y|0,D|0,26)|0;E=E*5|0;d=d+16|0;e=e+-16|0;b=E+C&67108863;f=((E+(C&67108863)|0)>>>26)+(B&67108863)|0;g=A&67108863;h=z&67108863;i=y&67108863}c[r>>2]=b;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[j>>2]=i;return 124}function No(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;m=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=m;if(!e)g=100;else{k=h;l=k+16|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0));g=0;while(1){if((g|0)==(e|0))break;a[h+g>>0]=a[d+g>>0]|0;g=g+1|0}a[h+e>>0]=1;a[b+56>>0]=1;Mo(b,h,16)|0;g=224}l=c[b+24>>2]|0;t=(c[b+28>>2]|0)+(l>>>26)|0;k=t&67108863;r=(t>>>26)+(c[b+32>>2]|0)|0;q=r&67108863;d=(r>>>26)+(c[b+36>>2]|0)|0;h=((d>>>26)*5|0)+(c[b+20>>2]|0)|0;e=h&67108863;l=(h>>>26)+(l&67108863)|0;v=((e+5|0)>>>26)+l|0;u=v>>>26;s=(u+k|0)>>>26;o=(d|-67108864)+((s+q|0)>>>26)|0;p=(o>>>31)+-1|0;n=o>>31;l=v&67108863&p|n&l;k=u+t&67108863&p|n&k;q=s+r&67108863&p|n&q;e=gt(h+5&67108863&p|n&e|l<<26|0,0,c[b+40>>2]|0,0)|0;h=D;l=gt(l>>>6|k<<20|0,0,c[b+44>>2]|0,0)|0;h=gt(l|0,D|0,h|0,0)|0;l=D;k=gt(k>>>12|q<<14|0,0,c[b+48>>2]|0,0)|0;l=gt(k|0,D|0,l|0,0)|0;k=D;d=gt(q>>>18|(p&o|n&d)<<8|0,0,c[b+52>>2]|0,0)|0;k=gt(d|0,D|0,k|0,0)|0;Oo(f,e);Oo(f+4|0,h);Oo(f+8|0,l);Oo(f+12|0,k);k=b;l=k+56|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));i=m;return g|0}function Oo(b,c){b=b|0;c=c|0;a[b+3>>0]=c>>>24;a[b+2>>0]=c>>>16;a[b+1>>0]=c>>>8;a[b>>0]=c;return}function Po(a){a=a|0;return (d[a+2>>0]|0)<<16|(d[a+3>>0]|0)<<24|(d[a+1>>0]|0)<<8|(d[a>>0]|0)|0}function Qo(a){a=a|0;if(!a){if(!(c[17614]|0))c[17614]=1}else Ro();return}function Ro(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;if(!(c[17614]|0))c[17614]=1;So();do if(!(c[17615]|0)){if(!(c[17616]|0))a=mf(1,664)|0;else a=nf(1,664)|0;c[17615]=a;if(!(c[17616]|0))a=mf(1,664)|0;else a=nf(1,664)|0;c[17617]=a;if((qs(52287,4)|0)==0?(qs(52299,4)|0)==0:0){c[17618]=3;break}Ke(xe(50015)|0,b)}while(0);To();i=d;return}function So(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=cq(12716)|0;if(!a){c[17619]=1;i=d;return}else{c[b>>2]=Yp(a)|0;Ke(50090,b)}}function To(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;c[17619]=0;a=dq(12716)|0;if(!a){i=d;return}else{c[b>>2]=Yp(a)|0;Ke(50053,b)}}function Uo(){So();Mp(0,0,0,0)|0;c[17620]=0;To();return}function Vo(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;a=i;i=i+48|0;if((i|0)>=(j|0))$(48);b=a;p=c[17621]|0;o=c[17622]|0;n=c[17623]|0;m=c[17624]|0;l=c[17625]|0;k=c[17626]|0;h=c[17627]|0;g=c[17628]|0;f=c[17629]|0;e=c[17630]|0;d=(Jp()|0)!=0;c[b>>2]=600;c[b+4>>2]=p;c[b+8>>2]=o;c[b+12>>2]=n;c[b+16>>2]=m;c[b+20>>2]=l;c[b+24>>2]=k;c[b+28>>2]=h;c[b+32>>2]=g;c[b+36>>2]=f;c[b+40>>2]=e;c[b+44>>2]=d?50127:71699;He(50143,b);i=a;return}function Wo(){c[17616]=1;return}function Xo(){c[17631]=1;return}function Yo(a){a=a|0;return}function Zo(a){a=a|0;return 0}function _o(){Ro();return c[17631]|0}function $o(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(c[17619]|0))Ge(50267,50282,1074,50298);c[17625]=(c[17625]|0)+d;c[17624]=(c[17624]|0)+1;h=e>>>0<3;f=0;e=d;while(1){g=e+-1|0;if(!e)break;d=b+1|0;j=a[b>>0]|0;e=c[17632]|0;i=e+1|0;c[17632]=i;b=c[17615]|0;e=b+e|0;a[e>>0]=a[e>>0]^j;e=f+1|0;if(i>>>0<=599){f=e;b=d;e=g;continue}if(!(h|(c[17620]|0)!=0)){j=(c[17633]|0)+e|0;c[17633]=j;if(j>>>0>599){c[17620]=1;e=0}else e=0}c[17632]=0;ap(b);c[17621]=(c[17621]|0)+1;c[17634]=(g|0)==0&1;f=e;b=d;e=g}return}function ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+192|0;if((i|0)>=(j|0))$(192);m=p;n=b+600|0;if(!(c[17619]|0))Ge(50267,50282,615,50313);lj(m);g=n;d=b+580|0;e=g+20|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(e|0));o=b+620|0;g=o;d=b;e=g+44|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(e|0));mj(m,n);g=b;d=n;e=g+20|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(e|0));a:do if((c[17635]|0)!=0&(c[17615]|0)==(b|0)){d=0;while(1){if((d|0)==20){h=1;f=0;break a}l=b+d|0;a[l>>0]=a[l>>0]^a[71678+d>>0];d=d+1|0}}else{h=1;f=0}while(0);while(1){if((h|0)==30)break;g=n;d=b+f|0;e=g+20|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(e|0));k=f+20|0;l=b+k|0;d=f+40|0;b:do if((f+104|0)<600){g=o;d=b+d|0;e=g+44|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(e|0))}else{e=20;while(1){if((e|0)==64)break b;g=(d|0)>599?0:d;a[n+e>>0]=a[b+g>>0]|0;d=g+1|0;e=e+1|0}}while(0);mj(m,n);g=l;d=n;e=g+20|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(e|0));h=h+1|0;f=k}if((c[17615]|0)==(b|0)){nj(71678,b,600);c[17635]=1}Re(384);i=p;return}function bp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;G=i;i=i+752|0;if((i|0)>=(j|0))$(752);C=G+56|0;B=G+48|0;A=G+40|0;z=G+32|0;E=G+24|0;D=G+16|0;y=G+8|0;x=G;s=G+72|0;t=G+152|0;u=G+68|0;v=G+64|0;Ro();e=e>>>0>1&(c[17631]|0)!=0?1:e&3;So();if(e>>>0>1){c[17630]=(c[17630]|0)+d;c[17629]=(c[17629]|0)+1}else{c[17628]=(c[17628]|0)+d;c[17627]=(c[17627]|0)+1}o=s+12|0;p=s+36|0;q=(e|0)!=2;n=(e|0)==2;a:while(1){if(!d){F=63;break}m=d>>>0>600?600:d;if(!(c[17619]|0)){F=7;break}else{k=b;l=m}while(1){c[v>>2]=ps()|0;if((c[3190]|0)==-1)c[3190]=c[v>>2];if((c[3190]|0)!=(c[v>>2]|0)){c[3190]=c[v>>2];c[s>>2]=c[3190];$o(s,4,0);c[17634]=0}if(!(c[17619]|0)){F=13;break a}if(l>>>0>600){F=15;break a}b:do if(!(c[17620]|0)){e=c[17636]|0;c:do if(e|0){e=xs(e,0,y)|0;if((e|0)==-1){e=Oq()|0;if((c[e>>2]|0)==2){c[17637]=1;break}else{h=xe(50364)|0;f=c[17636]|0;g=cr(c[e>>2]|0)|0;c[D>>2]=f;c[D+4>>2]=g;He(h,D);break}}if(cp(e,c[17636]|0,0)|0){$r(e)|0;break}if(ts(e,s)|0){h=xe(50385)|0;f=c[17636]|0;g=cr(c[(Oq()|0)>>2]|0)|0;c[E>>2]=f;c[E+4>>2]=g;He(h,E);$r(e)|0;break}if((c[o>>2]&61440|0)!=32768){h=xe(50406)|0;c[z>>2]=c[17636];He(h,z);$r(e)|0;break}switch(c[p>>2]|0){case 0:{He(xe(50444)|0,A);$r(e)|0;c[17637]=1;break c}case 600:{d:while(1){switch(ws(e,t,600)|0){case 600:break d;case -1:break;default:{F=32;break a}}f=Oq()|0;if((c[f>>2]|0)!=4){r=f;break a}}$r(e)|0;$o(t,600,0);c[u>>2]=ps()|0;$o(u,4,0);c[u>>2]=kb(0)|0;$o(u,4,0);c[u>>2]=Ta()|0;$o(u,4,0);dp(0,16,0);c[17637]=1;c[17620]=1;break b}default:{He(xe(50477)|0,B);$r(e)|0;break c}}}while(0)}while(0);if(!(q|(c[17638]|0)!=0)){c[17639]=0;h=l>>>0<16?16:l;dp(4,h,2);c[17639]=(c[17639]|0)+h;c[17638]=1}if(n?(w=c[17639]|0,w>>>0<l>>>0):0){if((w|0)<0){c[17639]=0;e=0}else e=w;e=l-e|0;if(e>>>0>600){F=44;break a}dp(4,e,2);c[17639]=(c[17639]|0)+e}while(1){if(c[17620]|0)break;c[17622]=(c[17622]|0)+1;dp(3,120,1)}ep();c[s>>2]=c[3190];$o(s,4,0);if(!(c[17634]|0)){ap(c[17615]|0);c[17621]=(c[17621]|0)+1}h=c[17615]|0;e=c[17617]|0;f=h;g=0;while(1){if((g|0)==150)break;c[e>>2]=(c[f>>2]|0)+-1515870811;e=e+4|0;f=f+4|0;g=g+1|0}ap(h);c[17621]=(c[17621]|0)+1;ap(c[17617]|0);c[17626]=(c[17626]|0)+1;g=c[17617]|0;e=k;f=l;while(1){if(!f)break;H=c[17640]|0;h=H+1|0;c[17640]=h;a[e>>0]=a[g+H>>0]|0;if(h>>>0>599)c[17640]=0;c[17639]=(c[17639]|0)+-1;e=e+1|0;f=f+-1|0}if((c[17639]|0)<0)c[17639]=0;et(g|0,0,600)|0;H=ps()|0;if((H|0)==(c[v>>2]|0))break;H=ps()|0;c[s>>2]=H;$o(s,4,0);c[17634]=0;c[3190]=H;k=k+l|0;l=-1}d=d-m|0;b=b+m|0}if((F|0)==7)Ge(50267,50282,934,50322);else if((F|0)==13)Ge(50267,50282,953,50322);else if((F|0)==15)Le(50332,x);else if((F|0)==32)r=Oq()|0;else if((F|0)==44)Fe(50282,995,50322);else if((F|0)==63){To();i=G;return}H=xe(50531)|0;F=c[17636]|0;G=cr(c[r>>2]|0)|0;c[C>>2]=F;c[C+4>>2]=G;Ke(H,C)}function cp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))$(48);n=p+16|0;m=p+8|0;l=p;h=p+32|0;k=p+24|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;b[h>>1]=(e|0)!=0&1;b[h+2>>1]=0;g=k+4|0;e=0;a:while(1){c[l>>2]=h;if((as(a,13,l)|0)!=-1){e=0;break}f=Oq()|0;switch(c[f>>2]|0){case 13:case 11:break;default:{o=4;break a}}if((e|0)>2){f=xe(50682)|0;c[n>>2]=d;He(f,n)}c[k>>2]=e;c[g>>2]=25e4;us(0,0,0,0,k)|0;e=((e|0)<10&1)+e|0}if((o|0)==4){e=xe(50661)|0;o=cr(c[f>>2]|0)|0;c[m>>2]=d;c[m+4>>2]=o;He(e,m);e=-1}i=p;return e|0}function dp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);if(!(c[17618]|0))Ke(50572,e);if((Mp(3,a,b,d)|0)<0)Ke(50623,e+8|0);else{i=e;return}}function ep(){var a=0,b=0;b=i;i=i+144|0;if((i|0)>=(j|0))$(144);a=b;if(!(c[17619]|0))Ge(50267,50282,1180,50552);c[17623]=(c[17623]|0)+1;if(!(lb(a|0,0)|0)){$o(a,4,2);$o(a+4|0,4,2);Qs(0,a)|0;$o(a,136,2);c[a>>2]=kb(0)|0;$o(a,4,2);c[a>>2]=Ta()|0;$o(a,4,2);i=b;return}else Fe(50282,1198,50552)}function fp(a){a=a|0;if(!(c[17636]|0)){c[17636]=of(a)|0;return}else Fe(50282,673,50711)}function gp(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;if((i|0)>=(j|0))$(48);l=n+40|0;k=n+32|0;h=n+24|0;g=n+16|0;f=n+8|0;a=n;if(!(c[17614]|0))c[17614]=1;So();e=c[17615]|0;do if((c[17636]|0)!=0&(e|0)!=0&(c[17620]|0)!=0){if(!(c[17637]|0)){To();He(xe(50741)|0,a);break}a=0;b=e;d=c[17617]|0;while(1){if((a|0)==150)break;c[d>>2]=(c[b>>2]|0)+-1515870811;a=a+1|0;b=b+4|0;d=d+4|0}ap(e);c[17621]=(c[17621]|0)+1;ap(c[17617]|0);c[17626]=(c[17626]|0)+1;b=c[17636]|0;c[f>>2]=384;b=xs(b,65,f)|0;do if((b|0)!=-1){if(cp(b,c[17636]|0,1)|0){$r(b)|0;break}if(Gs(b,0)|0){m=xe(50800)|0;k=c[17636]|0;l=cr(c[(Oq()|0)>>2]|0)|0;c[h>>2]=k;c[h+4>>2]=l;He(m,h);$r(b)|0;break}a:while(1){switch(vs(b,c[17617]|0,600)|0){case 600:break a;case -1:break;default:{m=17;break a}}a=Oq()|0;if((c[a>>2]|0)!=4){m=19;break}}if((m|0)==17){a=Oq()|0;m=19}if((m|0)==19){m=xe(50800)|0;g=c[17636]|0;h=cr(c[a>>2]|0)|0;c[k>>2]=g;c[k+4>>2]=h;He(m,k)}if($r(b)|0){m=xe(50822)|0;h=c[17636]|0;k=cr(c[(Oq()|0)>>2]|0)|0;c[l>>2]=h;c[l+4>>2]=k;He(m,l)}}else{m=xe(50777)|0;k=c[17636]|0;l=cr(c[(Oq()|0)>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=l;He(m,g)}while(0);To()}else To();while(0);i=n;return}function hp(){if(!(c[17614]|0))c[17614]=1;So();if(c[17615]|0)ep();To();return}function ip(b){b=b|0;if(!(c[17641]|0)){c[17641]=1;c[17642]=0}if(b|0){jp();do if(c[17643]|0){b=c[17644]|0;if(c[b+52>>2]|0)Ge(50844,50872,767,50886);if(c[(c[17645]|0)+52>>2]|0)Ge(50911,50872,768,50886);if(!(c[(c[17646]|0)+52>>2]|0)){kp(b);kp(c[17645]|0);kp(c[17646]|0);break}else Ge(50941,50872,769,50886)}else{c[17643]=lf(48)|0;b=mf(1,68)|0;c[17644]=b;a[b>>0]=17;a[b+16>>0]=42;a[b+33>>0]=-119;a[b+50>>0]=-4;b=nf(1,68)|0;c[17645]=b;a[b>>0]=17;a[b+16>>0]=42;a[b+33>>0]=-119;a[b+50>>0]=-4;b=nf(1,68)|0;c[17646]=b;a[b>>0]=17;a[b+16>>0]=42;a[b+33>>0]=-119;a[b+50>>0]=-4}while(0);lp()}return}
+function jp(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=cq(12764)|0;if(!a){c[17642]=1;i=d;return}else{c[b>>2]=Yp(a)|0;Ke(51056,b)}}function kp(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;if((((a[b>>0]|0)==17?(a[b+16>>0]|0)==42:0)?(a[b+33>>0]|0)==-119:0)?(a[b+50>>0]|0)==-4:0){i=e;return}c[d>>2]=b;Ke(51010,d)}function lp(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;c[17642]=0;a=dq(12764)|0;if(!a){i=d;return}else{c[b>>2]=Yp(a)|0;Ke(50974,b)}}function mp(){jp();Mp(0,0,0,0)|0;lp();return}function np(){return}function op(){return 0}function pp(a,b,d){a=a|0;b=b|0;d=d|0;ip(1);jp();if((d|0)==2)qp(a,b,c[17646]|0);else qp(a,b,c[17645]|0);lp();return}function qp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=l;if(!b)Ge(52163,50872,685,52186);if(!e)Ge(51092,50872,686,52186);kp(e);f=e+4|0;if(!(c[f>>2]|0)){if((c[17644]|0)==(e|0))g=rp(1)|0;else g=rp(0)|0;c[f>>2]=g;if(g|0){c[e+60>>2]=ps()|0;k=11}}else k=11;do if((k|0)==11){if(!(a[e+8>>0]&1))sp(e);k=c[e+60>>2]|0;if((k|0)==(ps()|0)?(k=c[e+64>>2]|0,(k|0)==(ps()|0)):0){if(tp(b,d,e)|0)break;kp(e);i=l;return}Ag(50872,714,52186,0,51100)}while(0);Ke(51154,h)}function rp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;if((i|0)>=(j|0))$(16);n=o+8|0;e=o;m=o+12|0;if(!(c[17642]|0))Ge(51183,50872,596,51517);d=Mg(m,7,1,1)|0;do if(!d){if(!b)k=wp()|0;else{k=jf(16)|0;qp(k,16,c[17645]|0)}l=Sg(c[m>>2]|0,k,16)|0;d=16;b=k;while(1){if(!((d|0)!=0&(b&7|0)!=0))break;a[b>>0]=0;d=d+-1|0;b=b+1|0}if(d>>>0>=8){f=d+-8|0;g=f&-8;h=g+8|0;e=b;while(1){p=e;c[p>>2]=0;c[p+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}d=f-g|0;b=b+h|0}while(1){if(!d)break;a[b>>0]=0;d=d+-1|0;b=b+1|0}ef(k);if(!l){b=c[m>>2]|0;break}else{c[n>>2]=Yp(l)|0;Je(51578,n);Og(c[m>>2]|0);b=0;break}}else{c[e>>2]=Yp(d)|0;Je(51535,e);b=0}while(0);i=o;return b|0}function sp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!(c[17642]|0))Ge(51183,50872,658,51399);d=b+17|0;if((c[17644]|0)==(b|0)){qp(d,16,c[17645]|0);i=b+8|0;a[i>>0]=a[i>>0]|1;c[b+64>>2]=ps()|0}else{i=wp()|0;e=i;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));e=i;d=16;while(1){if(!((d|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;e=e+1|0;d=d+-1|0}if(d>>>0>=8){g=d+-8|0;h=g&-8;f=e;while(1){j=f;c[j>>2]=0;c[j+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+(h+8)|0;d=g-h|0}while(1){if(!d)break;a[e>>0]=0;e=e+1|0;d=d+-1|0}ef(i);j=b+8|0;a[j>>0]=a[j>>0]|1;c[b+64>>2]=ps()|0}return}function tp(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;U=i;i=i+32|0;if((i|0)>=(j|0))$(32);T=U;H=U+8|0;R=U+16|0;if(!(c[17642]|0))Ge(51183,50872,444,51202);S=f+4|0;if(!(c[S>>2]|0))Ge(51218,50872,445,51202);q=f+8|0;if(!(a[q>>0]&1))Ge(51237,50872,446,51202);r=c[17643]|0;if(!r)Ge(51256,50872,448,51202);s=r+16|0;t=r+32|0;u=f+52|0;v=f+12|0;w=H+4|0;x=R+1|0;y=R+2|0;z=R+3|0;A=R+4|0;B=R+5|0;C=R+6|0;D=R+7|0;E=R+8|0;F=R+9|0;G=R+10|0;I=R+11|0;J=R+12|0;K=R+13|0;L=R+14|0;M=R+15|0;N=f+17|0;O=f+51|0;P=f+34|0;Q=f+56|0;o=e;a:while(1){if(!o){p=0;break}while(1){if((c[u>>2]|0)==0?(c[v>>2]|0)>>>0>1e3:0){sp(f);c[v>>2]=0}if(!(c[17642]|0)){n=15;break a}e=c[u>>2]|0;if((e|0)==0|(c[17644]|0)==(f|0)|(c[17645]|0)==(f|0)|(c[17646]|0)==(f|0)){if(!(c[17647]|0)){c[17648]=ps()|0;c[17649]=Hs()|0}if(lb(H|0,0)|0){n=21;break a}e=c[w>>2]|0;g=e<<4;h=c[H>>2]|0;if((h|0)==(c[17647]|0)&(g|0)==(c[17650]|0)){k=(b[35606]|0)+1&4095;b[35606]=k}else{b[35606]=0;c[17647]=h;c[17650]=g;k=0}a[R>>0]=h>>>24;a[x>>0]=h>>>16;a[y>>0]=h>>>8;a[z>>0]=h;a[A>>0]=e>>>12;a[B>>0]=e>>>4;a[C>>0]=(k&65535)>>>8&15|g;a[D>>0]=k;e=c[17648]|0;a[E>>0]=e>>>24;a[F>>0]=e>>>16;a[G>>0]=e>>>8;a[I>>0]=e;n=c[17649]|0;a[J>>0]=n>>>24;a[K>>0]=n>>>16;a[L>>0]=n>>>8;a[M>>0]=n;n=n+1|0;c[17649]=n;if(!n)c[17648]=e+1}else{k=R;h=k+15|0;do{a[k>>0]=a[e>>0]|0;k=k+1|0;e=e+1|0}while((k|0)<(h|0));n=c[Q>>2]|0;a[J>>0]=n>>>24;a[K>>0]=n>>>16;a[L>>0]=n>>>8;a[M>>0]=n;c[Q>>2]=n+1}l=c[S>>2]|0;up(l,r,R);e=16;g=N;h=r;k=s;while(1){if(!e)break;a[k>>0]=a[g>>0]^a[h>>0];e=e+-1|0;g=g+1|0;h=h+1|0;k=k+1|0}up(l,t,s);e=16;g=r;h=t;k=s;while(1){if(!e)break;a[k>>0]=a[g>>0]^a[h>>0];e=e+-1|0;g=g+1|0;h=h+1|0;k=k+1|0}up(l,N,s);g=r;e=16;while(1){if(!((e|0)!=0&(g&7|0)!=0))break;a[g>>0]=0;g=g+1|0;e=e+-1|0}if(e>>>0>=8){k=e+-8|0;l=k&-8;h=g;while(1){n=h;c[n>>2]=0;c[n+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else h=h+8|0}g=g+(l+8)|0;e=k-l|0}while(1){if(!e){g=16;e=s;break}a[g>>0]=0;g=g+1|0;e=e+-1|0}while(1){if(!((g|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;g=g+-1|0;e=e+1|0}if(g>>>0>=8){k=g+-8|0;l=k&-8;h=e;while(1){n=h;c[n>>2]=0;c[n+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else h=h+8|0}g=k-l|0;e=e+(l+8)|0}while(1){if(!g)break;a[e>>0]=0;g=g+-1|0;e=e+1|0}c[v>>2]=(c[v>>2]|0)+1;if(a[O>>0]|0?!((c[u>>2]|0)==0|(c[17644]|0)==(f|0)|(c[17645]|0)==(f|0)|(c[17646]|0)==(f|0)):0){n=58;break}g=a[q>>0]|0;if(g&2){n=55;break}k=P;e=t;h=k+16|0;do{a[k>>0]=a[e>>0]|0;k=k+1|0;e=e+1|0}while((k|0)<(h|0));a[q>>0]=g|2}if((n|0)==55){n=0;if(!(_r(P,t,16)|0)){n=56;break}g=o>>>0<16?o:16;k=P;e=t;h=k+16|0;do{a[k>>0]=a[e>>0]|0;k=k+1|0;e=e+1|0}while((k|0)<(h|0))}else if((n|0)==58){n=0;g=o>>>0<16?o:16}kt(d|0,t|0,g|0)|0;h=16;e=t;while(1){if(!((h|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;h=h+-1|0;e=e+1|0}if(h>>>0>=8){k=h+-8|0;l=k&-8;m=e+8|0;while(1){V=e;c[V>>2]=0;c[V+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else e=e+8|0}h=k-l|0;e=m+l|0}while(1){if(!h)break;a[e>>0]=0;h=h+-1|0;e=e+1|0}d=d+g|0;o=o-g|0}if((n|0)==15)Ge(51183,50872,274,51286);else if((n|0)==21){c[T>>2]=cr(c[(Oq()|0)>>2]|0)|0;Ke(51298,T)}else if((n|0)==56){Ag(50872,502,51202,0,51325);p=-1}i=U;return p|0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;a=Pg(a,b,16,d,16)|0;if(!a){i=f;return}else{c[e>>2]=vp(a)|0;Ke(51365,e)}}function vp(a){a=a|0;return Yp(a)|0}function wp(){var a=0,b=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);a=b;if(c[17651]|0)Ge(51411,50872,552,51435);c[17651]=lf(16)|0;c[17652]=16;c[17653]=0;if((Mp(4,0,16,2)|0)>=0?(c[17653]|0)==(c[17652]|0):0){a=c[17651]|0;c[17651]=0;i=b;return a|0}ef(c[17651]|0);c[17651]=0;Ke(51447,a);return 0}function xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[17642]|0))Ge(51183,50872,531,51475);f=c[17651]|0;if(!f)Ge(51494,50872,532,51475);g=c[17652]|0;e=d;while(1){if(!e)break;d=c[17653]|0;if(d>>>0>=g>>>0)break;h=a[b>>0]|0;c[17653]=d+1;d=f+d|0;a[d>>0]=a[d>>0]^h;b=b+1|0;e=e+-1|0}return}function yp(a,b){a=a|0;b=b|0;ip(1);jp();qp(a,b,c[17644]|0);lp();return}function zp(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=t;Kk(k,8,1);if(!(c[17643]|0))Ge(51256,50872,912,51610);r=mf(1,68)|0;a[r>>0]=17;a[r+16>>0]=42;a[r+33>>0]=-119;a[r+50>>0]=-4;jp();s=r+4|0;q=r+60|0;l=r+17|0;m=r+8|0;n=r+64|0;o=r+52|0;p=r+56|0;h=0;a:while(1){if(h>>>0>=3){f=0;break}if(Mg(s,7,1,1)|0){f=51980;break}if(Sg(c[s>>2]|0,51623+(h*96|0)|0,16)|0){f=52018;break}c[q>>2]=ps()|0;e=l;f=51623+(h*96|0)+32|0;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[m>>0]=a[m>>0]|1;c[n>>2]=ps()|0;c[o>>2]=51623+(h*96|0)+16;c[p>>2]=(d[51623+(h*96|0)+29>>0]|0)<<16|(d[51623+(h*96|0)+28>>0]|0)<<24|(d[51623+(h*96|0)+30>>0]|0)<<8|(d[51623+(h*96|0)+31>>0]|0);e=0;while(1){if((e|0)>=3)break;if(tp(k,16,r)|0){f=51911;break a}if(!(_r(k,51623+(h*96|0)+48+(e<<4)|0,16)|0))e=e+1|0;else{f=51942;break a}}g=c[q>>2]|0;if((g|0)!=(ps()|0)){f=52044;break}g=c[n>>2]|0;if((g|0)!=(ps()|0)){f=52044;break}Og(c[s>>2]|0);c[s>>2]=0;a[m>>0]=a[m>>0]&-2;kp(r);h=h+1|0}lp();Og(c[s>>2]|0);kp(r);ef(r);e=(f|0)!=0;if((b|0)!=0&e)Eb[b&1](52066,0,52073,f);i=t;return (e?16777266:0)|0}function Ap(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;ip(1);do if((b|0)==0|(f|0)==0|(g|0)!=16|(h|0)==0|(i|0)!=16|(j|0)==0|(k|0)!=16)g=45;else{i=ff(1,84)|0;if(!i){g=$p()|0;break}a[i>>0]=17;a[i+16>>0]=42;a[i+33>>0]=-119;a[i+50>>0]=-4;k=i+4|0;g=Mg(k,7,1,1)|0;if(!g){g=Sg(c[k>>2]|0,f,16)|0;if(!g){c[i+60>>2]=ps()|0;l=i+17|0;k=h;f=l+16|0;do{a[l>>0]=a[k>>0]|0;l=l+1|0;k=k+1|0}while((l|0)<(f|0));g=i+8|0;a[g>>0]=a[g>>0]|1;c[i+64>>2]=ps()|0;g=i+68|0;l=g;k=j;f=l+16|0;do{a[l>>0]=a[k>>0]|0;l=l+1|0;k=k+1|0}while((l|0)<(f|0));c[i+52>>2]=g;c[i+56>>2]=(d[i+81>>0]|0)<<16|(d[i+80>>0]|0)<<24|(d[i+82>>0]|0)<<8|(d[i+83>>0]|0);if(e&1|0)a[i+51>>0]=1;kp(i);g=0}else m=9}else m=9;if((m|0)==9){Og(c[k>>2]|0);ef(i);i=0}c[b>>2]=i}while(0);return g|0}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)==0|(b|0)==0|(c|0)!=16)a=45;else{jp();qp(b,16,a);lp();a=0}return a|0}function Cp(a){a=a|0;if(a|0){Og(c[a+4>>2]|0);ef(a)}return}function Dp(a){a=a|0;if(!(c[17654]|0)){c[17654]=1;c[17655]=0}return}function Ep(){Fp();Mp(0,0,0,0)|0;Gp();return}function Fp(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=cq(12808)|0;if(!a){c[17655]=1;i=d;return}else{c[b>>2]=Yp(a)|0;Ke(52120,b)}}function Gp(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;c[17655]=0;a=dq(12808)|0;if(!a){i=d;return}else{c[b>>2]=Yp(a)|0;Ke(52077,b)}}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;if(!(c[17654]|0)){c[17654]=1;c[17655]=0}Fp();if(!a)Ge(52163,52170,144,52186);c[17656]=a;c[17657]=b;c[17658]=0;a=Mp(5,0,b,(d|0)==2?2:1)|0;if((a|0)>=0?(c[17658]|0)==(c[17657]|0):0){Gp();i=f;return}c[e>>2]=a;Ke(52197,e)}function Ip(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[17655]|0))Ge(52243,52170,124,52264);f=c[17656]|0;if(!f)Ge(52272,52170,125,52264);g=c[17657]|0;e=d;while(1){if(!e)break;d=c[17658]|0;if(d>>>0>=g>>>0)break;h=a[b>>0]|0;c[17658]=d+1;a[f+d>>0]=h;b=b+1|0;e=e+-1|0}return}function Jp(){return c[17659]|0}function Kp(a,b){a=a|0;b=b|0;return}function Lp(a,b){a=a|0;b=b|0;return 0}function Mp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;E=i;i=i+928|0;if((i|0)>=(j|0))$(928);B=E+16|0;A=E+8|0;z=E;w=E+160|0;x=E+32|0;y=E+24|0;if(!b){h=c[3213]|0;if((h|0)!=-1){$r(h)|0;c[3213]=-1}h=c[3214]|0;if((h|0)!=-1){$r(h)|0;c[3214]=-1}}else{m=Lp(b,e)|0;D=f>>>1;m=f-(f>>>0>1?(m>>>0>D>>>0?D:m):0)|0;if((g|0)>1){g=c[3213]|0;if((g|0)==-1){g=Np(52287,(d[71698]|0)&1)|0;c[3213]=g;a[71698]=d[71698]|0|1}}else{g=c[3214]|0;if((g|0)==-1){g=Np(52299,(d[71698]|0)&2)|0;c[3214]=g;a[71698]=d[71698]|0|2}}r=(g|0)<1024;s=1<<(g&31);t=x+(g>>>5<<2)|0;u=y+4|0;v=g+1|0;l=0;D=0;o=0;q=m;a:while(1){if(!q){k=768;h=w;break}n=f-q|0;if((D|0)==0&(o|0)==(n|0)){m=0;n=o}else{wk(52312,88,n,f);m=1}b:do if(r){o=x;p=32;while(1){if(!p)break;c[o>>2]=0;o=o+4|0;p=p+-1|0}c[t>>2]=c[t>>2]|s;c[y>>2]=l;o=(l|0)!=0;c[u>>2]=o?0:1e5;switch(us(v,x,0,0,y)|0){case 0:{p=q;l=3;m=1;break b}case -1:break;default:{C=19;break b}}c[z>>2]=cr(c[(Oq()|0)>>2]|0)|0;Je(52325,z);p=q;l=o?l:1}else C=19;while(0);if((C|0)==19){C=0;p=q>>>0<768?q:768;while(1){o=ws(g,w,p)|0;if((o|0)>-1&o>>>0>p>>>0){c[A>>2]=o;Je(52345,A);o=p}if((o|0)!=-1)break;o=c[(Oq()|0)>>2]|0;if((o|0)!=4){C=25;break a}}zb[b&7](w,o,e);p=q-o|0}D=m;o=n;q=p}if((C|0)==25){c[B>>2]=cr(o)|0;Ke(52383,B)}while(1){if(!((k|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(k>>>0>=8){l=k+-8|0;m=l&-8;n=m+8|0;g=h;while(1){C=g;c[C>>2]=0;c[C+4>>2]=0;k=k+-8|0;if(k>>>0<=7)break;else g=g+8|0}k=l-m|0;h=h+n|0}while(1){if(!k)break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(D|0)wk(52312,88,f,f)}i=E;return 0}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))$(48);m=o+32|0;n=o+24|0;l=o+16|0;k=o+8|0;h=o;f=o+40|0;b=(b|0)!=0;if(b)wk(52416,88,1,0);d=f+4|0;while(1){g=xs(a,0,h)|0;e=(g|0)==-1;if(!(b&e))break;c[f>>2]=5;c[d>>2]=0;wk(52432,88,0,5);us(0,0,0,0,f)|0}if(e){h=cr(c[(Oq()|0)>>2]|0)|0;c[k>>2]=a;c[k+4>>2]=h;Ke(52448,k)}c[l>>2]=0;b=as(g,1,l)|0;if(!((b|0)>=0?(c[n>>2]=b|1,!(as(g,2,n)|0)):0)){n=cr(c[(Oq()|0)>>2]|0)|0;c[m>>2]=g;c[m+4>>2]=n;Je(52467,m)}i=o;return g|0}function Op(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+(d<<2)|0;f=b+(d<<2)|0;g=e&65535;e=e>>>16;b=0;a=0-d|0;do{m=c[f+(a<<2)>>2]|0;l=m&65535;m=m>>>16;k=S(l,g)|0;n=S(m,g)|0;m=S(m,e)|0;l=n+(S(l,e)|0)+(k>>>16)|0;k=(l<<16|k&65535)+b|0;d=h+(a<<2)|0;j=c[d>>2]|0;i=k+j|0;b=(l>>>0<n>>>0?m+65536|0:m)+(l>>>16)+(k>>>0<b>>>0&1)+(i>>>0<j>>>0&1)|0;c[d>>2]=i;a=a+1|0}while((a|0)!=0);return b|0}function Pp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;if((i|0)>=(j|0))$(32);n=o+16|0;m=o+8|0;f=o;k=Im(c[b+4>>2]|0)|0;g=yl(b)|0;l=(g+7|0)>>>3;if(pf(1)|0){c[f>>2]=g;c[f+4>>2]=e;Me(52506,f)}h=g>>>0<32;g=g+-1|0;f=0;while(1){if(h|(f|0)==0){ef(f);f=Jk(l,e)|0}else{p=Jk(4,e)|0;q=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[f>>0]=q;a[f+1>>0]=q>>8;a[f+2>>0]=q>>16;a[f+3>>0]=q>>24;ef(p)}jm(k,f,l,0);q=(zl(k,g)|0)==0;Bl(k,g);if(q)Dl(k,g);if((Jl(k,b)|0)>=0){if(!(pf(1)|0))continue;Me(52553,m);continue}if((Il(k,0)|0)>0)break;if(!(pf(1)|0))continue;Me(52575,n)}ef(f);i=o;return k|0}function Qp(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+32|0;if((i|0)>=(j|0))$(32);m=w+16|0;u=w+12|0;v=w+8|0;r=w+4|0;s=w;c[u>>2]=0;c[v>>2]=0;c[r>>2]=0;c[s>>2]=0;p=yl(d)|0;do if((g|0)!=0&((f|0)!=0&(p|0)!=0))if((Xh(h)|0)==(g|0)){t=_e(g)|0;a:do if(t){l=0;while(1){if((l|0)==(g|0))break;a[t+l>>0]=1;l=l+1|0}q=ff(1,g)|0;if(!q){h=0;e=0;l=$p()|0;break}n=(p+7|0)>>>3;l=Rp(u,e,n)|0;if(!l){o=g<<3;l=km(m,5,f,g&536870911,0)|0;if(l|0){h=0;e=q;break}if(o>>>0>p>>>0){f=c[m>>2]|0;Fl(f,f,o-p|0)}if((Jl(c[m>>2]|0,d)|0)>-1){f=c[m>>2]|0;ul(f,f,d)}l=Rp(v,c[m>>2]|0,n)|0;Om(c[m>>2]|0);if(!l){l=Fh(r,h,3)|0;if(!l){l=Sh(c[r>>2]|0,q,g)|0;if(!l){Nh(c[r>>2]|0,t,g);Nh(c[r>>2]|0,71699,1);e=c[u>>2]|0;Nh(c[r>>2]|0,e,n);f=c[v>>2]|0;Nh(c[r>>2]|0,f,n);kt(q|0,Uh(c[r>>2]|0,0)|0,g|0)|0;l=Sh(c[r>>2]|0,q,g)|0;if(!l){Nh(c[r>>2]|0,t,g);kt(t|0,Uh(c[r>>2]|0,0)|0,g|0)|0;l=Sh(c[r>>2]|0,q,g)|0;if(!l){Nh(c[r>>2]|0,t,g);Nh(c[r>>2]|0,52595,1);Nh(c[r>>2]|0,e,n);Nh(c[r>>2]|0,f,n);kt(q|0,Uh(c[r>>2]|0,0)|0,g|0)|0;l=Sh(c[r>>2]|0,q,g)|0;if(!l){Nh(c[r>>2]|0,t,g);kt(t|0,Uh(c[r>>2]|0,0)|0,g|0)|0;h=_e(n+g|0)|0;if(!h){h=0;e=q;l=$p()|0;break}else f=k;while(1){while(1){e=0;while(1){if(e>>>0>=p>>>0)break;l=Sh(c[r>>2]|0,q,g)|0;if(l|0){e=q;break a}Nh(c[r>>2]|0,t,g);kt(t|0,Uh(c[r>>2]|0,0)|0,g|0)|0;kt(h+(e>>>3)|0,t|0,g|0)|0;e=e+o|0}Om(c[s>>2]|0);c[s>>2]=0;l=km(s,5,h,e>>>3,0)|0;if(l|0){e=q;break a}if(e>>>0>p>>>0){k=c[s>>2]|0;Fl(k,k,e-p|0)}if((Jl(c[s>>2]|0,d)|0)<0?(Il(c[s>>2]|0,0)|0)>0:0)break;l=Sh(c[r>>2]|0,q,g)|0;if(l|0){e=q;break a}Nh(c[r>>2]|0,t,g);Nh(c[r>>2]|0,71699,1);kt(q|0,Uh(c[r>>2]|0,0)|0,g|0)|0;l=Sh(c[r>>2]|0,q,g)|0;if(l|0){e=q;break a}Nh(c[r>>2]|0,t,g);kt(t|0,Uh(c[r>>2]|0,0)|0,g|0)|0}if(!f){e=q;l=0;break a}l=Sh(c[r>>2]|0,q,g)|0;if(l|0){e=q;break a}Nh(c[r>>2]|0,t,g);Nh(c[r>>2]|0,71699,1);kt(q|0,Uh(c[r>>2]|0,0)|0,g|0)|0;l=Sh(c[r>>2]|0,q,g)|0;if(l|0){e=q;break a}Nh(c[r>>2]|0,t,g);kt(t|0,Uh(c[r>>2]|0,0)|0,g|0)|0;f=f+-1|0}}else{h=0;e=q}}else{h=0;e=q}}else{h=0;e=q}}else{h=0;e=q}}else{h=0;e=q}}else{h=0;e=q}}else{h=0;e=q}}else{h=0;e=0;l=$p()|0}while(0);ef(h);Mh(c[r>>2]|0);ef(c[v>>2]|0);ef(c[u>>2]|0);ef(e);ef(t);e=c[s>>2]|0;if(!l){c[b>>2]=e;l=0;break}else{Om(e);break}}else l=5;else l=32816;while(0);i=w;return l|0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=h;e=mm(5,0,0,g,b)|0;do if(!e){e=c[g>>2]|0;if(e>>>0<=d>>>0){f=e>>>0<d>>>0?d-e|0:0;e=f+e|0;if((b|0)!=0?(c[b+12>>2]&1|0)!=0:0)d=bf(e)|0;else d=_e(e)|0;if(!d){e=$p()|0;break}if(f|0)et(d|0,0,f|0)|0;e=c[g>>2]|0;c[g>>2]=e+f;e=mm(5,d+f|0,e,0,b)|0;if(!e){c[a>>2]=d;e=0;break}else{ef(d);break}}else e=67}while(0);i=h;return e|0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=h+4|0;f=h;if((a|0)!=0?(c[a+12>>2]&4|0)!=0:0){a=Rm(a,e)|0;a=km(f,5,a,((c[e>>2]|0)+7|0)>>>3,0)|0;if(!a){a=c[e>>2]|0;if(a>>>0>d>>>0){g=c[f>>2]|0;Fl(g,g,a-d|0);g=7}else g=7}}else{c[f>>2]=a;g=7}if((g|0)==7){c[b>>2]=c[f>>2];a=0}i=h;return a|0}function Tp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;A=i;i=i+32|0;if((i|0)>=(j|0))$(32);v=A;w=A+24|0;x=A+12|0;y=A+8|0;u=A+4|0;if(pf(1)|0)Qe(52597,a);o=b+32|0;h=Sp(a,y,yl(c[o>>2]|0)|0)|0;if(!h){c[w>>2]=0;p=Gm(0)|0;q=Gm(0)|0;r=Gm(0)|0;s=Gm(0)|0;Zk(x);t=cl(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;n=(f&2|0)!=0&(g|0)!=0;k=(a|0)==0;l=a+12|0;m=b+56|0;b=b+20|0;h=0;a:while(1){f=h;while(1){Om(c[w>>2]|0);c[w>>2]=0;if(n){if(k){h=70;break a}if(!(c[l>>2]&4)){h=70;break a}h=Rm(a,u)|0;h=Qp(w,c[o>>2]|0,c[m>>2]|0,h,((c[u>>2]|0)+7|0)>>>3,g,f)|0;if(h|0)break a;h=f+1|0;f=c[w>>2]|0}else{B=Pp(c[o>>2]|0,1)|0;c[w>>2]=B;h=f;f=B}pl(x,f,b,t);if(Uk(s,0,x,t)|0){z=13;break a}Zl(d,s,c[o>>2]|0);if(!(Il(d,0)|0))f=h;else break}cm(p,c[m>>2]|0,d,c[o>>2]|0);vl(q,c[y>>2]|0,p,c[o>>2]|0);Yl(r,c[w>>2]|0,c[o>>2]|0)|0;cm(e,r,q,c[o>>2]|0);if(Il(e,0)|0){z=17;break}}if((z|0)==13)if(!(pf(1)|0))h=8;else{Me(52674,v);h=8}else if((z|0)==17)if(!(pf(1)|0))h=0;else{Qe(52615,d);Qe(52636,e);h=0}gl(t);$k(x);Om(s);Om(r);Om(q);Om(p);Om(c[w>>2]|0);f=c[y>>2]|0;if((f|0)!=(a|0))Om(f)}i=A;return h|0}function Up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))$(64);p=u+8|0;o=u;q=u+48|0;r=u+36|0;s=u+24|0;t=u+12|0;if((((Il(d,0)|0)>0?(g=b+32|0,(Jl(d,c[g>>2]|0)|0)<0):0)?(Il(e,0)|0)>0:0)?(Jl(e,c[g>>2]|0)|0)<0:0){f=Sp(a,q,yl(c[g>>2]|0)|0)|0;if(!f){h=Gm(0)|0;k=Gm(0)|0;l=Gm(0)|0;m=Gm(0)|0;Zk(r);Zk(s);Zk(t);n=cl(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;Yl(h,e,c[g>>2]|0)|0;cm(k,c[q>>2]|0,h,c[g>>2]|0);pl(s,k,b+20|0,n);cm(l,d,h,c[g>>2]|0);pl(t,l,b+44|0,n);ml(r,s,t,n);do if(!(Il(c[r+8>>2]|0,0)|0))if(!(pf(1)|0))f=8;else{Me(52758,o);f=8}else{if(Uk(m,0,r,n)|0){if(!(pf(1)|0)){f=8;break}Me(52780,p);f=8;break}Zl(m,m,c[g>>2]|0);if(Jl(m,d)|0)if(!(pf(1)|0))f=8;else{Qe(52826,m);Qe(52833,d);Qe(52840,e);f=8}else f=0}while(0);gl(n);$k(t);$k(s);$k(r);Om(m);Om(l);Om(k);Om(h);b=c[q>>2]|0;if((b|0)!=(a|0))Om(b)}}else f=8;i=u;return f|0}function Vp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;v=i;i=i+32|0;if((i|0)>=(j|0))$(32);s=v;t=v+12|0;u=v+8|0;g=v+4|0;if(pf(1)|0)Qe(52657,a);r=b+32|0;h=yl(c[r>>2]|0)|0;if((a|0)!=0?(c[a+12>>2]&4|0)!=0:0){f=Rm(a,g)|0;f=km(u,5,f,((c[g>>2]|0)+7|0)>>>3,0)|0;if(!f){f=c[g>>2]|0;if(f>>>0>h>>>0){k=c[u>>2]|0;Fl(k,k,f-h|0);k=9}else k=9}}else{c[u>>2]=a;k=9}if((k|0)==9){l=Gm(0)|0;m=Gm(0)|0;n=Gm(0)|0;o=Gm(0)|0;p=Gm(0)|0;Zk(t);q=cl(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;Zl(o,a,c[r>>2]|0);if(!(Il(o,0)|0))Zm(o,1)|0;k=b+20|0;g=b+56|0;f=0;a:while(1){h=f;do{Om(h);h=Pp(c[r>>2]|0,1)|0;pl(t,h,k,q);if(Uk(p,0,t,q)|0){k=14;break a}Zl(d,p,c[r>>2]|0)}while(!(Il(d,0)|0));cm(l,c[g>>2]|0,d,c[r>>2]|0);cm(n,h,o,c[r>>2]|0);vl(e,n,l,c[r>>2]|0);if(!(Il(e,0)|0))f=h;else{k=18;break}}if((k|0)==14)if(!(pf(1)|0))f=8;else{Me(52674,s);f=8}else if((k|0)==18)if(!(pf(1)|0))f=0;else{Qe(52718,d);Qe(52738,e);f=0}gl(q);$k(t);Om(p);Om(o);Om(n);Om(m);Om(l);Om(h);g=c[u>>2]|0;if((g|0)!=(a|0))Om(g)}i=v;return f|0}function Wp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;x=i;i=i+64|0;if((i|0)>=(j|0))$(64);l=x+24|0;k=x+16|0;h=x+8|0;g=x;u=x+52|0;v=x+40|0;w=x+28|0;if((((Il(d,0)|0)>0?(f=b+32|0,(Jl(d,c[f>>2]|0)|0)<0):0)?(Il(e,0)|0)>0:0)?(Jl(e,c[f>>2]|0)|0)<0:0){m=Gm(0)|0;n=Gm(0)|0;o=Gm(0)|0;p=Gm(0)|0;q=Gm(0)|0;r=Gm(0)|0;s=Gm(0)|0;Zk(u);Zk(v);Zk(w);t=cl(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;Zl(n,a,c[f>>2]|0);if(!(Il(n,0)|0))Zm(n,1)|0;Yl(q,n,c[f>>2]|0)|0;cm(o,e,q,c[f>>2]|0);cm(r,d,q,c[f>>2]|0);wl(p,s,r,c[f>>2]|0);pl(v,o,b+20|0,t);pl(w,p,b+44|0,t);ml(u,v,w,t);do if(!(Il(c[u+8>>2]|0,0)|0))if(!(pf(1)|0))a=8;else{Me(52758,g);a=8}else{if(Uk(m,0,u,t)|0){if(!(pf(1)|0)){a=8;break}Me(52780,h);a=8;break}Zl(m,m,c[f>>2]|0);h=(Jl(m,d)|0)==0;a=(pf(1)|0)!=0;if(h){if(!a){a=0;break}Me(52873,l);a=0;break}else{if(!a){a=8;break}Qe(52826,m);Qe(52833,d);Qe(52840,e);Me(52847,k);a=8;break}}while(0);gl(t);$k(w);$k(v);$k(u);Om(s);Om(r);Om(q);Om(p);Om(o);Om(m);Om(n)}else a=8;i=x;return a|0}function Xp(){return kq()|0}function Yp(a){a=a|0;return uq(a)|0}function Zp(a){a=a|0;return xq(a)|0}function _p(a){a=a|0;return wq(a)|0}function $p(){return yq()|0}function aq(a){a=a|0;lq(a);return}function bq(a){a=a|0;return fq(a)|0}function cq(a){a=a|0;return hq(a)|0}function dq(a){a=a|0;return iq(a)|0}function eq(a){a=a|0;return jq(a)|0}function fq(a){a=a|0;if(!(c[a>>2]|0))c[a>>2]=1;else a=gq(a)|0;a=ya(a+4|0,0)|0;if(!a)a=0;else a=Zp(a)|0;return a|0}function gq(a){a=a|0;if((c[a>>2]|0)==1)return a|0;else Fa(52895,52915,114,52928);return 0}function hq(a){a=a|0;a=ft((gq(a)|0)+4|0)|0;if(!a)a=0;else a=Zp(a)|0;return a|0}function iq(a){a=a|0;a=pt((gq(a)|0)+4|0)|0;if(!a)a=0;else a=Zp(a)|0;return a|0}function jq(a){a=a|0;var b=0;b=Ya((gq(a)|0)+4|0)|0;if(!b){c[a>>2]=1;a=a+4|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=0}else a=Zp(b)|0;return a|0}function kq(){mq()|0;return 0}function lq(a){a=a|0;c[(Oq()|0)>>2]=a;return}function mq(){if(!(c[17660]|0)){c[17660]=1;nb(3)|0}return 0}function nq(){oq(0)|0;c[17661]=0;c[17662]=0;return}function oq(a){a=a|0;var b=0,d=0,e=0;if(!a){hq(12860)|0;b=70652;a=0;while(1){b=c[b>>2]|0;if(!b)break;d=b+4|0;e=c[d>>2]|0;if(e){pq(e);a=qq(c[d>>2]|0)|0|a;rq(c[d>>2]|0)}}iq(12860)|0}else{pq(a);e=qq(a)|0;rq(a);a=e}return ((a|0)!=0)<<31>>31|0}function pq(b){b=b|0;b=c[b+36>>2]|0;if(!(a[b+1140>>0]&32))hq(b+1040|0)|0;return}function qq(a){a=a|0;if(!(c[a>>2]&65536)){tq(a);a=0}else a=sq(a)|0;return a|0}function rq(b){b=b|0;b=c[b+36>>2]|0;if(!(a[b+1140>>0]&32))iq(b+1040|0)|0;return}function sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=b+36|0;e=c[j>>2]|0;h=c[e+1108>>2]|0;if(!(c[b>>2]&65536))Fa(52986,52967,1654,53008);i=b+16|0;f=c[i>>2]|0;do if(!f)d=0;else{if(!h)d=95;else{g=b+4|0;d=0;while(1){e=f-d|0;if((e|0)<=0){g=0;break}f=ub[h&63](c[(c[j>>2]|0)+1084>>2]|0,(c[g>>2]|0)+d|0,e)|0;e=(f|0)==-1;d=(e?0:f)+d|0;f=c[i>>2]|0;if(e){g=-1;break}}e=b+20|0;c[e>>2]=(c[e>>2]|0)+d;if((f|0)==(d|0)){b=c[j>>2]|0;d=b+1100|0;c[d>>2]=(c[d>>2]|0)+f;c[i>>2]=0;c[e>>2]=0;ub[h&63](c[b+1084>>2]|0,0,0)|0}if(!g){d=0;break}d=-1;e=c[j>>2]|0}j=e+1136|0;a[j>>0]=a[j>>0]|1}while(0);return d|0}function tq(a){a=a|0;if(!(c[a>>2]&65536)){c[a+12>>2]=0;c[a+16>>2]=0;c[a+32>>2]=0;return}else Fa(52944,52967,1722,52977)}function uq(a){a=a|0;var b=0,d=0;b=a&65535;if(a&32768){b=_p(b)|0;if(!b){b=16382;d=4}else b=cr(b)|0}else d=4;if((d|0)==4)b=53017+(c[12904+((vq(b)|0)<<2)>>2]|0)|0;return b|0}function vq(a){a=a|0;a:do if(a>>>0>=214){if((a+-222|0)>>>0<33){a=a+-8|0;break}if((a+-257|0)>>>0<15){a=a+-10|0;break}if((a+-273|0)>>>0<9){a=a+-11|0;break}if((a+-721|0)>>>0<9){a=a+-450|0;break}if((a+-750|0)>>>0<3){a=a+-470|0;break}if((a+-754|0)>>>0<29){a=a+-471|0;break}if((a+-784|0)>>>0<6){a=a+-472|0;break}if((a+-800|0)>>>0<5){a=a+-482|0;break}if((a+-815|0)>>>0<8){a=a+-492|0;break}if((a&-8|0)==832){a=a+-501|0;break}switch(a|0){case 844:{a=339;break a}case 848:{a=340;break a}default:{}}if((a+-881|0)>>>0<11){a=a+-540|0;break}if((a&-16|0)==1024){a=a+-672|0;break}else{a=(a+-16381|0)>>>0<3?a+-16013|0:371;break}}while(0);return a|0}function wq(a){a=a|0;var b=0;if((a&32768|0)!=0?(b=a&-32769,b>>>0<141):0)a=c[14392+(b<<2)>>2]|0;else a=0;return a|0}function xq(a){a=a|0;var b=0;a:do if(!a)b=0;else{b=a+-1|0;do if(b>>>0>=11)if((a+-11|0)>>>0>=25){if((a+-35|0)>>>0<6){b=a+1|0;break}if((a+-42|0)>>>0>=16)if((a+-59|0)>>>0<37)if((b|0)<0){b=16382;break a}else break;else if((a+-95|0)>>>0<31){b=a;break}else{b=16382;break a}else b=a}else b=a;while(0);b=c[14956+(b<<2)>>2]|32768}while(0);return b|0}function yq(){var a=0,b=0;b=c[(Oq()|0)>>2]|0;a:do if(!b)a=16381;else{a=b+-1|0;do if(a>>>0>=11)if((b+-11|0)>>>0>=25){if((b+-35|0)>>>0<6){a=b+1|0;break}if((b+-42|0)>>>0>=16)if((b+-59|0)>>>0<37)if((a|0)<0){a=16382;break a}else break;else if((b+-95|0)>>>0<31){a=b;break}else{a=16382;break a}else a=b}else a=b;while(0);a=c[14956+(a<<2)>>2]|32768}while(0);return a|0}function zq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d;h=td(c[h>>2]|0,c[h+4>>2]|0)|0;e=D;f=b;g=f;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+4|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;f=Zr(c[d+8>>2]|0)|0;e=b+8|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;e=b+12|0;b=d+12|0;d=e+12|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));return}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0;g=e;f=g;g=g+4|0;g=ud(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;f=b;c[f>>2]=g;c[f+4>>2]=D;f=e+8|0;c[b+8>>2]=bs(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;f=b+12|0;b=e+12|0;e=f+12|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(e|0));return}function Bq(a,b){a=a|0;b=b|0;var d=0;d=yr(a)|0;if(d>>>0>11)a=-1;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;kt(b+12|0,a|0,d|0)|0;a=1}return a|0}function Cq(b,c){b=b|0;c=c|0;var d=0;b=b+12|0;if((a[b>>0]|0)!=0?(d=c+12|0,(a[d>>0]|0)!=0):0)b=(Jr(b,d)|0)==0&1;else b=-1;return b|0}function Dq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=k+64|0;e=k+56|0;d=k+48|0;g=k+24|0;h=k;if((Cq(a,b)|0)!=1){if((c[3865]|0)==-1)c[3865]=_b(1,0,61032,61041,349)|0;if((ec()|0)<=0){if(c[3865]|0){c[d>>2]=61032;c[d+4>>2]=349;$b(1,61170,d)}}else fc(-1,0);Zb()};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[h+16>>2]=c[b+16>>2];c[h+20>>2]=c[b+20>>2];if((Eq(g)|0)==-1){if((c[3866]|0)==-1)c[3866]=_b(1,0,61032,61041,353)|0;if((ec()|0)<=0){if(c[3866]|0){c[e>>2]=61032;c[e+4>>2]=353;$b(1,61170,e)}}else fc(-1,0);Zb()}if((Eq(h)|0)!=-1){b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if((a|0)==(d|0)&(b|0)==(e|0)){b=c[g+8>>2]|0;a=c[h+8>>2]|0;if(b>>>0<a>>>0)a=-1;else a=b>>>0>a>>>0&1}else a=b>>>0<e>>>0|(b|0)==(e|0)&a>>>0<d>>>0?-1:1;i=k;return a|0}if((c[3867]|0)==-1)c[3867]=_b(1,0,61032,61041,355)|0;if((ec()|0)<=0){if(c[3867]|0){c[f>>2]=61032;c[f+4>>2]=355;$b(1,61170,f)}}else fc(-1,0);Zb();return 0}function Eq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(a[b+12>>0]|0){i=b+8|0;f=b;d=0;e=c[f>>2]|0;f=c[f+4>>2]|0;g=c[i>>2]|0;while(1){h=g>>>0>99999999;if((e|0)==-1&(f|0)==-1)break;if(!h)break a;h=g+-1e8|0;c[i>>2]=h;k=gt(e|0,f|0,1,0)|0;j=D;d=b;c[d>>2]=k;c[d+4>>2]=j;d=1;e=k;f=j;g=h}if(h){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=-1}}else d=-1;while(0);return d|0}function Fq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))$(64);n=o+56|0;m=o+48|0;l=o+24|0;k=o;a:do if((Cq(b,d)|0)==1){c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[l+16>>2]=c[b+16>>2];c[l+20>>2]=c[b+20>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[k+16>>2]=c[d+16>>2];c[k+20>>2]=c[d+20>>2];if((Eq(l)|0)!=-1?(Eq(k)|0)!=-1:0){b=l+8|0;f=c[b>>2]|0;h=c[k+8>>2]|0;d=l;e=c[d>>2]|0;d=c[d+4>>2]|0;do if(f>>>0<h>>>0)if((e|0)==0&(d|0)==0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;b=-1;break a}else{f=f+1e8|0;c[b>>2]=f;g=gt(e|0,d|0,-1,-1)|0;d=D;e=l;c[e>>2]=g;c[e+4>>2]=d;break}else g=e;while(0);e=k;b=c[e>>2]|0;e=c[e+4>>2]|0;if(d>>>0<e>>>0|(d|0)==(e|0)&g>>>0<b>>>0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;b=-1;break}if((Bq(l+12|0,a)|0)!=1){if((c[3868]|0)==-1)c[3868]=_b(1,0,61032,61058,421)|0;if((ec()|0)<=0){if(c[3868]|0){c[m>>2]=61032;c[m+4>>2]=421;$b(1,61170,m)}}else fc(-1,0);Zb()}if(f>>>0>=h>>>0){n=f-h|0;c[a+8>>2]=n;m=dt(g|0,d|0,b|0,e|0)|0;b=D;l=a;c[l>>2]=m;c[l+4>>2]=b;b=(m|0)==0&(b|0)==0&(n|0)==0&1^1;break}if((c[3869]|0)==-1)c[3869]=_b(1,0,61032,61058,422)|0;if((ec()|0)<=0){if(c[3869]|0){c[n>>2]=61032;c[n+4>>2]=422;$b(1,61170,n)}}else fc(-1,0);Zb()};c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;b=-1}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;b=-1}while(0);i=o;return b|0}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+80|0;if((i|0)>=(j|0))$(80);h=k+72|0;e=k+48|0;f=k+24|0;g=k;do if((Cq(b,d)|0)==1){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];if((Eq(e)|0)!=-1?(Eq(f)|0)!=-1:0){if((Bq(b+12|0,g)|0)==1){b=e;h=c[b>>2]|0;b=c[b+4>>2]|0;d=f;d=gt(c[d>>2]|0,c[d+4>>2]|0,h|0,b|0)|0;l=D;m=g;c[m>>2]=d;c[m+4>>2]=l;if(l>>>0<b>>>0|(l|0)==(b|0)&d>>>0<h>>>0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;a=-1;break}c[g+8>>2]=(c[f+8>>2]|0)+(c[e+8>>2]|0);if((Eq(g)|0)==-1){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;a=-1;break}else{c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];c[a+16>>2]=c[g+16>>2];c[a+20>>2]=c[g+20>>2];a=1;break}}if((c[3870]|0)==-1)c[3870]=_b(1,0,61032,61080,468)|0;if((ec()|0)<=0){if(c[3870]|0){c[h>>2]=61032;c[h+4>>2]=468;$b(1,61170,h)}}else fc(-1,0);Zb()};c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;a=-1}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;a=-1}while(0);i=k;return a|0}function Hq(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d+8|0;a=d;ve(6,0);if(!(wd(61097)|0)){os(61103,27,1,c[3901]|0)|0;Aa()}else{c[a>>2]=0;xd(37,a)|0;c[b>>2]=0;xd(38,b)|0;i=d;return}}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=a;a=c[3901]|0;c[b>>2]=d;Wr(a,61131,b)|0;Aa()}function Jq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;h=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=h+16|0;k=h;l=h+24|0;c[l>>2]=Zr(e)|0;c[k>>2]=61198;c[k+4>>2]=21;c[k+8>>2]=0;c[k+12>>2]=0;if((Jc(f,64,l,4,b,64,k)|0)==1){a[f>>0]=(d[f>>0]|0)&63|64;l=f+31|0;a[l>>0]=(d[l>>0]|0)&248;i=h;return}if((c[3871]|0)==-1)c[3871]=_b(1,0,61161,61220,197)|0;if((ec()|0)<=0){if(c[3871]|0){c[g>>2]=61161;c[g+4>>2]=197;$b(1,61170,g)}}else fc(-1,0);Zb()}function Kq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=c[a+60>>2];a=Nq(hb(6,d|0)|0)|0;i=b;return a|0}function Lq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;if((i|0)>=(j|0))$(80);f=g;c[b+36>>2]=25;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,bb(54,f|0)|0):0)a[b+75>>0]=-1;f=Pq(b,d,e)|0;i=g;return f|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))$(32);g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Nq(ob(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Nq(a){a=a|0;if(a>>>0>4294963200){c[(Oq()|0)>>2]=0-a;a=-1}return a|0}function Oq(){var a=0;if(!(c[17664]|0))a=70700;else a=c[(wt()|0)+64>>2]|0;return a|0}function Pq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))$(48);o=r+16|0;n=r;k=r+32|0;p=a+28|0;h=c[p>>2]|0;c[k>>2]=h;q=a+20|0;h=(c[q>>2]|0)-h|0;c[k+4>>2]=h;c[k+8>>2]=b;c[k+12>>2]=d;l=a+60|0;m=a+44|0;g=2;b=h+d|0;while(1){if(!(c[17664]|0)){c[o>>2]=c[l>>2];c[o+4>>2]=k;c[o+8>>2]=g;f=Nq(sb(146,o|0)|0)|0}else{Ca(6,a|0);c[n>>2]=c[l>>2];c[n+4>>2]=k;c[n+8>>2]=g;f=Nq(sb(146,n|0)|0)|0;wa(0)}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}b=b-f|0;e=c[k+4>>2]|0;if(f>>>0<=e>>>0)if((g|0)==2){c[p>>2]=(c[p>>2]|0)+f;g=2;h=k}else h=k;else{h=c[m>>2]|0;c[p>>2]=h;c[q>>2]=h;f=f-e|0;g=g+-1|0;h=k+8|0;e=c[k+12>>2]|0}c[h>>2]=(c[h>>2]|0)+f;c[h+4>>2]=e-f;k=h}if((b|0)==6){o=c[m>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);a=o;c[p>>2]=a;c[q>>2]=a}else if((b|0)==8){c[a+16>>2]=0;c[p>>2]=0;c[q>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[k+4>>2]|0)|0}i=r;return d|0}function Qq(a){a=a|0;if(!(c[a+68>>2]|0))Rq(a);return}function Rq(a){a=a|0;return}function Sq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;if((i|0)>=(j|0))$(48);h=n+16|0;g=n;f=n+32|0;c[f>>2]=d;k=f+4|0;m=b+48|0;o=c[m>>2]|0;c[k>>2]=e-((o|0)!=0&1);l=b+44|0;c[f+8>>2]=c[l>>2];c[f+12>>2]=o;if(!(c[17664]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Nq(rb(145,h|0)|0)|0}else{Ca(7,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Nq(rb(145,g|0)|0)|0;wa(0)}if((f|0)>=1){k=c[k>>2]|0;if(f>>>0>k>>>0){g=c[l>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-k);if(!(c[m>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=n;return f|0}function Tq(a){a=a|0;if(!(c[a+68>>2]|0))Rq(a);return}function Uq(a){a=a|0;return Vq(a)|0}function Vq(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function Wq(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Xq(a){a=a|0;var b=0;b=(Yq(a)|0)==0;return (b?a:a|32)|0}function Yq(a){a=a|0;return (a+-65|0)>>>0<26|0}function Zq(a){a=a|0;return $q(a,0)|0}function _q(a){a=a|0;return $q(a,1)|0}function $q(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(ar(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:break a}c=c+-7264|0;break}else g=0;do{i=a[18606+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[18606+(g<<2)>>1]|0)|0;if((h-(j&l)|0)>>>0<(d[18606+(g<<2)+3>>0]|0)>>>0){m=13;break}g=g+1|0}while((g|0)!=61);if((m|0)==13)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(S(j,k)|0)+c|0;break}i=1-f|0;g=b[18114+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[18114+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[18114+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function ar(a){a=a|0;if(a>>>0<131072)a=(d[61243+((d[61243+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function br(a){a=a|0;return (a+-97|0)>>>0<26|0}function cr(b){b=b|0;var c=0,e=0;e=0;while(1){if((d[64219+e>>0]|0)==(b|0)){b=2;break}c=e+1|0;if((c|0)==87){c=64307;e=87;b=5;break}else e=c}if((b|0)==2)if(!e)c=64307;else{c=64307;b=5}if((b|0)==5)while(1){do{b=c;c=c+1|0}while((a[b>>0]|0)!=0);e=e+-1|0;if(!e)break;else b=5}return c|0}function dr(a){a=a|0;if(!a)a=0;else a=(er(15924,a)|0)!=0;return a&1|0}function er(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((fr(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function fr(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function gr(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=f;c[g>>2]=e;e=ir(a,b,d,g)|0;i=f;return e|0}function ir(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+128|0;if((i|0)>=(j|0))$(128);g=o+112|0;n=o;h=n;k=16012;l=h+112|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;m=4}else{c[(Oq()|0)>>2]=75;d=-1}else m=4;if((m|0)==4){m=-2-b|0;m=d>>>0>m>>>0?m:d;c[n+48>>2]=m;g=n+20|0;c[g>>2]=b;c[n+44>>2]=b;d=b+m|0;b=n+16|0;c[b>>2]=d;c[n+28>>2]=d;d=jr(n,e,f)|0;if(m){n=c[g>>2]|0;a[n+(((n|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}i=o;return d|0}function jr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+224|0;if((i|0)>=(j|0))$(224);o=t+120|0;q=t+80|0;r=t;s=t+136|0;f=q;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((kr(0,d,o,r,q)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)p=lr(b)|0;else p=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[f>>2]=80;m=b+16|0;c[m>>2]=s+80;e=kr(b,d,o,r,q)|0;if(h){ub[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=kr(b,d,o,r,q)|0;f=c[b>>2]|0;c[b>>2]=f|n;if(p|0)Rq(b);e=(f&32|0)==0?e:-1}i=t;return e|0}function kr(e,f,g,k,m){e=e|0;f=f|0;g=g|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=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,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;la=i;i=i+624|0;if((i|0)>=(j|0))$(624);ha=la+24|0;ia=la+16|0;ja=la+588|0;Z=la+576|0;ka=la;U=la+536|0;O=la+8|0;P=la+528|0;Q=(e|0)!=0;R=U+40|0;T=R;U=U+39|0;V=O+4|0;W=ja;X=0-W|0;Y=Z+12|0;Z=Z+11|0;_=Y;aa=_-W|0;ba=-2-W|0;ca=_+2|0;da=ha+288|0;ea=ja+9|0;fa=ea;ga=ja+8|0;o=0;n=0;t=0;a:while(1){do if((n|0)>-1)if((o|0)>(2147483647-n|0)){c[(Oq()|0)>>2]=75;n=-1;break}else{n=o+n|0;break}while(0);o=a[f>>0]|0;if(!(o<<24>>24)){N=243;break}else p=f;b:while(1){switch(o<<24>>24){case 37:{o=p;N=9;break b}case 0:{o=p;break b}default:{}}o=p+1|0;p=o;o=a[o>>0]|0}c:do if((N|0)==9)while(1){N=0;if((a[p+1>>0]|0)!=37)break c;o=o+1|0;p=p+2|0;if((a[p>>0]|0)==37)N=9;else break}while(0);o=o-f|0;if(Q?(c[e>>2]&32|0)==0:0)mr(f,o,e)|0;if(o|0){f=p;continue}s=p+1|0;q=a[s>>0]|0;o=(q<<24>>24)+-48|0;if(o>>>0<10){v=(a[p+2>>0]|0)==36;s=v?p+3|0:s;x=v?o:-1;v=v?1:t;o=a[s>>0]|0}else{x=-1;v=t;o=q}p=(o<<24>>24)+-32|0;d:do if(p>>>0<32){q=0;do{if(!(1<<p&75913))break d;q=1<<(o<<24>>24)+-32|q;s=s+1|0;o=a[s>>0]|0;p=(o<<24>>24)+-32|0}while(p>>>0<32)}else q=0;while(0);do if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10){t=0;do{t=(t*10|0)+p|0;s=s+1|0;o=a[s>>0]|0;p=(o<<24>>24)+-48|0}while(p>>>0<10);if((t|0)<0){n=-1;break a}else M=v}else{t=0;M=v}}else{u=s+1|0;o=a[u>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10?(a[s+2>>0]|0)==36:0){c[m+(p<<2)>>2]=10;o=c[k+((a[u>>0]|0)+-48<<3)>>2]|0;p=1;u=s+3|0}else{if(v|0){n=-1;break a}if(!Q){t=0;M=0;s=u;break}p=(c[g>>2]|0)+(4-1)&~(4-1);o=c[p>>2]|0;c[g>>2]=p+4;p=0}M=(o|0)<0;t=M?0-o|0:o;q=M?q|8192:q;M=p;s=u;o=a[u>>0]|0}while(0);e:do if(o<<24>>24==46){o=s+1|0;p=a[o>>0]|0;if(p<<24>>24!=42){s=(p<<24>>24)+-48|0;if(s>>>0<10)p=0;else{y=0;break}while(1){p=(p*10|0)+s|0;o=o+1|0;s=(a[o>>0]|0)+-48|0;if(s>>>0>=10){y=p;break e}}}o=s+2|0;p=(a[o>>0]|0)+-48|0;if(p>>>0<10?(a[s+3>>0]|0)==36:0){c[m+(p<<2)>>2]=10;y=c[k+((a[o>>0]|0)+-48<<3)>>2]|0;o=s+4|0;break}if(M|0){n=-1;break a}if(Q){L=(c[g>>2]|0)+(4-1)&~(4-1);y=c[L>>2]|0;c[g>>2]=L+4}else y=0}else{y=-1;o=s}while(0);v=0;while(1){p=(a[o>>0]|0)+-65|0;if(p>>>0>57){n=-1;break a}L=o+1|0;p=a[66111+(v*58|0)+p>>0]|0;s=p&255;if((s+-1|0)>>>0<8){v=s;o=L}else break}if(!(p<<24>>24)){n=-1;break}u=(x|0)>-1;do if(p<<24>>24==19)if(u){n=-1;break a}else N=51;else{if(u){c[m+(x<<2)>>2]=s;J=k+(x<<3)|0;K=c[J+4>>2]|0;N=ka;c[N>>2]=c[J>>2];c[N+4>>2]=K;N=51;break}if(!Q){n=0;break a}nr(ka,s,g)}while(0);if((N|0)==51?(N=0,!Q):0){o=0;t=M;f=L;continue}G=a[o>>0]|0;G=(v|0)!=0&(G&15|0)==3?G&-33:G;u=q&-65537;K=(q&8192|0)==0?q:u;f:do switch(G|0){case 110:switch((v&255)<<24>>24){case 0:{c[c[ka>>2]>>2]=n;o=0;t=M;f=L;continue a}case 1:{c[c[ka>>2]>>2]=n;o=0;t=M;f=L;continue a}case 2:{o=c[ka>>2]|0;c[o>>2]=n;c[o+4>>2]=((n|0)<0)<<31>>31;o=0;t=M;f=L;continue a}case 3:{b[c[ka>>2]>>1]=n;o=0;t=M;f=L;continue a}case 4:{a[c[ka>>2]>>0]=n;o=0;t=M;f=L;continue a}case 6:{c[c[ka>>2]>>2]=n;o=0;t=M;f=L;continue a}case 7:{o=c[ka>>2]|0;c[o>>2]=n;c[o+4>>2]=((n|0)<0)<<31>>31;o=0;t=M;f=L;continue a}default:{o=0;t=M;f=L;continue a}}case 112:{u=120;v=y>>>0>8?y:8;o=K|8;N=63;break}case 88:case 120:{u=G;v=y;o=K;N=63;break}case 111:{p=ka;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=R;else{f=R;do{f=f+-1|0;a[f>>0]=o&7|48;o=ot(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(K&8)){p=0;q=66591;s=y;o=K;N=76}else{s=T-f|0;p=0;q=66591;s=(y|0)>(s|0)?y:s+1|0;o=K;N=76}break}case 105:case 100:{f=ka;o=c[f>>2]|0;f=c[f+4>>2]|0;if((f|0)<0){o=dt(0,0,o|0,f|0)|0;f=D;p=ka;c[p>>2]=o;c[p+4>>2]=f;p=1;q=66591;N=75;break f}if(!(K&2048)){q=K&1;p=q;q=(q|0)==0?66591:66593;N=75}else{p=1;q=66592;N=75}break}case 117:{f=ka;p=0;q=66591;o=c[f>>2]|0;f=c[f+4>>2]|0;N=75;break}case 99:{a[U>>0]=c[ka>>2];f=U;x=0;v=66591;p=R;o=1;break}case 109:{o=cr(c[(Oq()|0)>>2]|0)|0;N=81;break}case 115:{o=c[ka>>2]|0;o=o|0?o:66601;N=81;break}case 67:{c[O>>2]=c[ka>>2];c[V>>2]=0;c[ka>>2]=O;u=-1;p=O;N=85;break}case 83:{o=c[ka>>2]|0;if(!y){qr(e,32,t,0,K);o=0;N=96}else{u=y;p=o;N=85}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{r=+h[ka>>3];c[ia>>2]=0;h[l>>3]=r;if((c[l+4>>2]|0)>=0){o=K&1;if(!(K&2048)){I=o;J=(o|0)==0?66609:66614}else{I=1;J=66611}}else{r=-r;I=1;J=66608}h[l>>3]=r;H=c[l+4>>2]&2146435072;do if(H>>>0<2146435072|(H|0)==2146435072&0<0){w=+sr(r,ia)*2.0;f=w!=0.0;if(f)c[ia>>2]=(c[ia>>2]|0)+-1;A=G|32;if((A|0)==97){s=G&32;x=(s|0)==0?J:J+9|0;v=I|2;o=12-y|0;do if(!(y>>>0>11|(o|0)==0)){r=8.0;do{o=o+-1|0;r=r*16.0}while((o|0)!=0);if((a[x>>0]|0)==45){r=-(r+(-w-r));break}else{r=w+r-r;break}}else r=w;while(0);f=c[ia>>2]|0;o=(f|0)<0?0-f|0:f;o=or(o,((o|0)<0)<<31>>31,Y)|0;if((o|0)==(Y|0)){a[Z>>0]=48;o=Z}a[o+-1>>0]=(f>>31&2)+43;u=o+-2|0;a[u>>0]=G+15;q=(y|0)<1;p=(K&8|0)==0;o=ja;do{J=~~r;f=o+1|0;a[o>>0]=d[66575+J>>0]|s;r=(r-+(J|0))*16.0;do if((f-W|0)==1){if(p&(q&r==0.0)){o=f;break}a[f>>0]=46;o=o+2|0}else o=f;while(0)}while(r!=0.0);q=u;p=(y|0)!=0&(ba+o|0)<(y|0)?ca+y-q|0:aa-q+o|0;s=p+v|0;qr(e,32,t,s,K);if(!(c[e>>2]&32))mr(x,v,e)|0;qr(e,48,t,s,K^65536);f=o-W|0;if(!(c[e>>2]&32))mr(ja,f,e)|0;o=_-q|0;qr(e,48,p-(f+o)|0,0,0);if(!(c[e>>2]&32))mr(u,o,e)|0;qr(e,32,t,s,K^8192);o=(s|0)<(t|0)?t:s;break}o=(y|0)<0?6:y;if(f){f=(c[ia>>2]|0)+-28|0;c[ia>>2]=f;r=w*268435456.0}else{r=w;f=c[ia>>2]|0}H=(f|0)<0?ha:da;p=H;do{F=~~r>>>0;c[p>>2]=F;p=p+4|0;r=(r-+(F>>>0))*1.0e9}while(r!=0.0);if((f|0)>0){q=H;u=p;while(1){s=(f|0)>29?29:f;f=u+-4|0;do if(f>>>0>=q>>>0){p=0;do{E=ut(c[f>>2]|0,0,s|0)|0;E=gt(E|0,D|0,p|0,0)|0;F=D;C=vt(E|0,F|0,1e9,0)|0;c[f>>2]=C;p=qt(E|0,F|0,1e9,0)|0;f=f+-4|0}while(f>>>0>=q>>>0);if(!p)break;q=q+-4|0;c[q>>2]=p}while(0);p=u;while(1){if(p>>>0<=q>>>0)break;f=p+-4|0;if(!(c[f>>2]|0))p=f;else break}f=(c[ia>>2]|0)-s|0;c[ia>>2]=f;if((f|0)>0)u=p;else break}}else q=H;if((f|0)<0){y=((o+25|0)/9|0)+1|0;z=(A|0)==102;do{x=0-f|0;x=(x|0)>9?9:x;do if(q>>>0<p>>>0){s=(1<<x)+-1|0;u=1e9>>>x;v=0;f=q;do{F=c[f>>2]|0;c[f>>2]=(F>>>x)+v;v=S(F&s,u)|0;f=f+4|0}while(f>>>0<p>>>0);f=(c[q>>2]|0)==0?q+4|0:q;if(!v){q=f;f=p;break}c[p>>2]=v;q=f;f=p+4|0}else{q=(c[q>>2]|0)==0?q+4|0:q;f=p}while(0);p=z?H:q;p=(f-p>>2|0)>(y|0)?p+(y<<2)|0:f;f=(c[ia>>2]|0)+x|0;c[ia>>2]=f}while((f|0)<0)}F=H;do if(q>>>0<p>>>0){f=(F-q>>2)*9|0;u=c[q>>2]|0;if(u>>>0<10)break;else s=10;do{s=s*10|0;f=f+1|0}while(u>>>0>=s>>>0)}else f=0;while(0);B=(A|0)==103;C=(o|0)!=0;s=o-((A|0)!=102?f:0)+((C&B)<<31>>31)|0;if((s|0)<(((p-F>>2)*9|0)+-9|0)){s=s+9216|0;v=H+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){u=10;do{u=u*10|0;s=s+1|0}while((s|0)!=9)}else u=10;y=c[v>>2]|0;z=(y>>>0)%(u>>>0)|0;s=(v+4|0)==(p|0);do if(s&(z|0)==0)s=v;else{w=(((y>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(u|0)/2|0;if(z>>>0<x>>>0)r=.5;else r=s&(z|0)==(x|0)?1.0:1.5;do if(I){if((a[J>>0]|0)!=45)break;r=-r;w=-w}while(0);s=y-z|0;c[v>>2]=s;if(!(w+r!=w)){s=v;break}E=s+u|0;c[v>>2]=E;if(E>>>0>999999999){s=v;while(1){f=s+-4|0;c[s>>2]=0;if(f>>>0<q>>>0){q=q+-4|0;c[q>>2]=0}E=(c[f>>2]|0)+1|0;c[f>>2]=E;if(E>>>0>999999999)s=f;else{v=f;break}}}f=(F-q>>2)*9|0;u=c[q>>2]|0;if(u>>>0<10){s=v;break}else s=10;do{s=s*10|0;f=f+1|0}while(u>>>0>=s>>>0);s=v}while(0);E=s+4|0;p=p>>>0>E>>>0?E:p}z=0-f|0;E=p;while(1){if(E>>>0<=q>>>0){A=0;break}p=E+-4|0;if(!(c[p>>2]|0))E=p;else{A=1;break}}do if(B){o=(C&1^1)+o|0;if((o|0)>(f|0)&(f|0)>-5){v=G+-1|0;o=o+-1-f|0}else{v=G+-2|0;o=o+-1|0}p=K&8;if(p|0){x=p;break}do if(A){u=c[E+-4>>2]|0;if(!u){s=9;break}if(!((u>>>0)%10|0)){s=0;p=10}else{s=0;break}do{p=p*10|0;s=s+1|0}while(!((u>>>0)%(p>>>0)|0|0))}else s=9;while(0);p=((E-F>>2)*9|0)+-9|0;if((v|32|0)==102){x=p-s|0;x=(x|0)<0?0:x;o=(o|0)<(x|0)?o:x;x=0;break}else{x=p+f-s|0;x=(x|0)<0?0:x;o=(o|0)<(x|0)?o:x;x=0;break}}else{v=G;x=K&8}while(0);y=o|x;s=(y|0)!=0&1;u=(v|32|0)==102;if(u){z=0;f=(f|0)>0?f:0}else{p=(f|0)<0?z:f;p=or(p,((p|0)<0)<<31>>31,Y)|0;if((_-p|0)<2)do{p=p+-1|0;a[p>>0]=48}while((_-p|0)<2);a[p+-1>>0]=(f>>31&2)+43;f=p+-2|0;a[f>>0]=v;z=f;f=_-f|0}B=I+1+o+s+f|0;qr(e,32,t,B,K);if(!(c[e>>2]&32))mr(J,I,e)|0;qr(e,48,t,B,K^65536);do if(u){q=q>>>0>H>>>0?H:q;p=q;do{f=or(c[p>>2]|0,0,ea)|0;do if((p|0)==(q|0)){if((f|0)!=(ea|0))break;a[ga>>0]=48;f=ga}else{if(f>>>0<=ja>>>0)break;et(ja|0,48,f-W|0)|0;do f=f+-1|0;while(f>>>0>ja>>>0)}while(0);if(!(c[e>>2]&32))mr(f,fa-f|0,e)|0;p=p+4|0}while(p>>>0<=H>>>0);do if(y|0){if(c[e>>2]&32|0)break;mr(66643,1,e)|0}while(0);if((o|0)>0&p>>>0<E>>>0)while(1){f=or(c[p>>2]|0,0,ea)|0;if(f>>>0>ja>>>0){et(ja|0,48,f-W|0)|0;do f=f+-1|0;while(f>>>0>ja>>>0)}if(!(c[e>>2]&32))mr(f,(o|0)>9?9:o,e)|0;p=p+4|0;f=o+-9|0;if(!((o|0)>9&p>>>0<E>>>0)){o=f;break}else o=f}qr(e,48,o+9|0,9,0)}else{v=A?E:q+4|0;if((o|0)>-1){u=(x|0)==0;s=q;do{f=or(c[s>>2]|0,0,ea)|0;if((f|0)==(ea|0)){a[ga>>0]=48;f=ga}do if((s|0)==(q|0)){p=f+1|0;if(!(c[e>>2]&32))mr(f,1,e)|0;if(u&(o|0)<1){f=p;break}if(c[e>>2]&32|0){f=p;break}mr(66643,1,e)|0;f=p}else{if(f>>>0<=ja>>>0)break;et(ja|0,48,f+X|0)|0;do f=f+-1|0;while(f>>>0>ja>>>0)}while(0);p=fa-f|0;if(!(c[e>>2]&32))mr(f,(o|0)>(p|0)?p:o,e)|0;o=o-p|0;s=s+4|0}while(s>>>0<v>>>0&(o|0)>-1)}qr(e,48,o+18|0,18,0);if(c[e>>2]&32|0)break;mr(z,_-z|0,e)|0}while(0);qr(e,32,t,B,K^8192);o=(B|0)<(t|0)?t:B}else{s=(G&32|0)!=0;q=r!=r|0.0!=0.0;f=q?0:I;p=f+3|0;qr(e,32,t,p,u);o=c[e>>2]|0;if(!(o&32)){mr(J,f,e)|0;o=c[e>>2]|0}if(!(o&32))mr(q?(s?66635:66639):s?66627:66631,3,e)|0;qr(e,32,t,p,K^8192);o=(p|0)<(t|0)?t:p}while(0);t=M;f=L;continue a}default:{x=0;v=66591;p=R;o=y;u=K}}while(0);g:do if((N|0)==63){q=ka;p=c[q>>2]|0;q=c[q+4>>2]|0;s=u&32;if((p|0)==0&(q|0)==0){f=R;p=0;q=0}else{f=R;do{f=f+-1|0;a[f>>0]=d[66575+(p&15)>>0]|s;p=ot(p|0,q|0,4)|0;q=D}while(!((p|0)==0&(q|0)==0));q=ka;p=c[q>>2]|0;q=c[q+4>>2]|0}q=(o&8|0)==0|(p|0)==0&(q|0)==0;p=q?0:2;q=q?66591:66591+(u>>4)|0;s=v;N=76}else if((N|0)==75){f=or(o,f,R)|0;s=y;o=K;N=76}else if((N|0)==81){N=0;K=pr(o,0,y)|0;J=(K|0)==0;f=o;x=0;v=66591;p=J?o+y|0:K;o=J?y:K-o|0}else if((N|0)==85){N=0;s=p;o=0;f=0;while(1){q=c[s>>2]|0;if(!q)break;f=rr(P,q)|0;if((f|0)<0|f>>>0>(u-o|0)>>>0)break;o=f+o|0;if(u>>>0>o>>>0)s=s+4|0;else break}if((f|0)<0){n=-1;break a}qr(e,32,t,o,K);if(!o){o=0;N=96}else{q=0;while(1){f=c[p>>2]|0;if(!f){N=96;break g}f=rr(P,f)|0;q=f+q|0;if((q|0)>(o|0)){N=96;break g}if(!(c[e>>2]&32))mr(P,f,e)|0;if(q>>>0>=o>>>0){N=96;break}else p=p+4|0}}}while(0);if((N|0)==96){N=0;qr(e,32,t,o,K^8192);o=(t|0)>(o|0)?t:o;t=M;f=L;continue}if((N|0)==76){N=0;u=(s|0)>-1?o&-65537:o;o=ka;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){o=(o&1^1)+(T-f)|0;x=p;v=q;p=R;o=(s|0)>(o|0)?s:o}else{f=R;x=p;v=q;p=R;o=0}}s=p-f|0;p=(o|0)<(s|0)?s:o;q=p+x|0;o=(t|0)<(q|0)?q:t;qr(e,32,o,q,u);if(!(c[e>>2]&32))mr(v,x,e)|0;qr(e,48,o,q,u^65536);qr(e,48,p,s,0);if(!(c[e>>2]&32))mr(f,s,e)|0;qr(e,32,o,q,u^8192);t=M;f=L}h:do if((N|0)==243)if(!e)if(!t)n=0;else{n=1;while(1){o=c[m+(n<<2)>>2]|0;if(!o)break;nr(k+(n<<3)|0,o,g);n=n+1|0;if((n|0)>=10){n=1;break h}}while(1){if(c[m+(n<<2)>>2]|0){n=-1;break h}n=n+1|0;if((n|0)>=10){n=1;break}}}while(0);i=la;return n|0}function lr(a){a=a|0;return 0}function mr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(vr(e)|0)){f=c[f>>2]|0;h=5}else f=0;else{f=g;h=5}a:do if((h|0)==5){i=e+20|0;h=c[i>>2]|0;g=h;if((f-h|0)>>>0<d>>>0){f=ub[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){h=d;f=0;break b}h=f+-1|0;if((a[b+h>>0]|0)==10)break;else f=h}if((ub[c[e+36>>2]&63](e,b,f)|0)>>>0<f>>>0)break a;h=d-f|0;b=b+f|0;g=c[i>>2]|0}else{h=d;f=0}while(0);kt(g|0,b|0,h|0)|0;c[i>>2]=(c[i>>2]|0)+h;f=f+h|0}while(0);return f|0}function nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function or(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=vt(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=b;b=qt(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function pr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=S(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function qr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0;k=i;i=i+256|0;if((i|0)>=(j|0))$(256);h=k;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;et(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){d=d-e|0;do{if(g){mr(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=d&255;else break}else if(!g)break;mr(h,f,a)|0}while(0);i=k;return}function rr(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ur(a,b,0)|0;return a|0}function sr(a,b){a=+a;b=b|0;return +(+tr(a,b))}function tr(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[l>>3]=a;d=c[l>>2]|0;e=c[l+4>>2]|0;f=ot(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+tr(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[l>>2]=d;c[l+4>>2]=e&-2146435073|1071644672;a=+h[l>>3]}}return +a}function ur(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Oq()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function vr(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;kt(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xr(a){a=a|0;var b=0;b=(br(a)|0)==0;return (b?a:a&95)|0}function yr(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function zr(a){a=a|0;return ((a|0)==223|(Zq(a)|0)!=(a|0))&1|0}function Ar(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else a=(a+1&127)>>>0>32&1;return a|0}function Br(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=Cr(a)|0;break}case 2:{a=ar(a)|0;break}case 3:{a=Uq(a)|0;break}case 4:{a=Dr(a)|0;break}case 5:{a=Er(a)|0;break}case 6:{a=Fr(a)|0;break}case 7:{a=zr(a)|0;break}case 8:{a=Ar(a)|0;break}case 9:{a=Gr(a)|0;break}case 10:{a=dr(a)|0;break}case 11:{a=Hr(a)|0;break}case 12:{a=Ir(a)|0;break}default:a=0}while(0);return a|0}function Cr(a){a=a|0;if(!(Er(a)|0))a=(ar(a)|0)!=0;else a=1;return a&1|0}function Dr(a){a=a|0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))a=1;else a=(a+-65529|0)>>>0<3;return a&1|0}function Er(a){a=a|0;return (a+-48|0)>>>0<10|0}function Fr(a){a=a|0;if(!(dr(a)|0))a=(Ar(a)|0)!=0;else a=0;return a&1|0}function Gr(a){a=a|0;if(a>>>0<131072)a=(d[66645+((d[66645+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function Hr(a){a=a|0;return (_q(a)|0)!=(a|0)|0}function Ir(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function Jr(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))e=0;else{g=e&255;while(1){f=a[c>>0]|0;if(!(f<<24>>24))break a;if(e<<24>>24!=f<<24>>24?(g=Xq(g)|0,(g|0)!=(Xq(f&255)|0)):0)break a;b=b+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){e=0;break}else g=e&255}}while(0);g=Xq(e&255)|0;return g-(Xq(d[c>>0]|0)|0)|0}function Kr(a,b){a=a|0;b=b|0;Lr(a,b)|0;return a|0}function Lr(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Mr(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Nr(a,b,c){a=a|0;b=b|0;c=c|0;c=Or(a,b,c,-1,0)|0;return c|0}function Or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+112|0;if((i|0)>=(j|0))$(112);h=l;c[h>>2]=0;k=h+4|0;c[k>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;Pr(h,0);d=Qr(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[k>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));i=l;return d|0}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Qr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Oq()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rr(b)|0}while((Mr(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=Rr(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rr(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rr(b)|0;if((d[69814+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Pr(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[69814+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Pr(b,0);c[(Oq()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=Rr(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}j=e+-48|0;if(j>>>0<10){m=j;while(1){j=st(i|0,f|0,10,0)|0;k=D;l=((m|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&j>>>0>~m>>>0){j=e;e=m;break}i=gt(j|0,k|0,m|0,l|0)|0;f=D;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=Rr(b)|0;k=e+-48|0;if(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378))m=k;else{j=e;e=k;break}}if(e>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[70070+((e*23|0)>>>5&7)>>0]|0;f=a[69814+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Rr(b)|0;f=a[69814+j>>0]|0;k=f&255}while(i>>>0<134217728&k>>>0<e>>>0);k=0}else{j=i;k=0;i=0}l=ot(-1,-1,n|0)|0;m=D;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break}else j=k;while(1){i=ut(i|0,j|0,n|0)|0;k=D;i=f&255|i;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Rr(b)|0;f=a[69814+j>>0]|0;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break c}else j=k}}f=a[69814+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k+(S(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Rr(b)|0;f=a[69814+j>>0]|0;k=f&255}while(i>>>0<119304647&k>>>0<e>>>0);k=0}else{j=i;i=0;k=0}if((f&255)>>>0<e>>>0){n=qt(-1,-1,e|0,0)|0;o=D;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break c}k=st(i|0,m|0,e|0,0)|0;l=D;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break c}i=gt(f|0,0,k|0,l|0)|0;k=D;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Rr(b)|0;f=a[69814+j>>0]|0;if((f&255)>>>0>=e>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if((d[69814+j>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Rr(b)|0}while((d[69814+i>>0]|0)>>>0<e>>>0);c[(Oq()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(Oq()|0)>>2]=34;g=gt(g|0,h|0,-1,-1)|0;h=D;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(Oq()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=dt(i^j|0,e^g|0,j|0,g|0)|0;h=D}while(0);D=h;return g|0}function Rr(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Sr(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Sr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=e;if((c[a+8>>2]|0)==0?(Tr(a)|0)!=0:0)a=-1;else if((ub[c[a+32>>2]&63](a,b,1)|0)==1)a=d[b>>0]|0;else a=-1;i=e;return a|0}function Tr(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)ub[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=d;d=Vr(a,b,f)|0;i=e;return d|0}function Vr(a,b,c){a=a|0;b=b|0;c=c|0;return ir(a,2147483647,b,c)|0}function Wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=d;d=jr(a,b,f)|0;i=e;return d|0}function Xr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=lr(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Rq(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=pr(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0<g>>>0?i:g;kt(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Sr(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Rq(f)}return b|0}function Yr(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function Zr(a){a=a|0;return mt(a|0)|0}function _r(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function $r(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=b;c[d>>2]=a;a=hb(6,d|0)|0;a=Nq((a|0)==-4?-115:a)|0;i=b;return a|0}function as(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+192|0;if((i|0)>=(j|0))$(192);k=t+152|0;h=t+136|0;s=t+120|0;r=t+104|0;q=t+96|0;n=t+80|0;m=t+64|0;f=t+48|0;o=t+32|0;g=t+16|0;e=t;u=t+176|0;l=t+168|0;c[u>>2]=d;d=(c[u>>2]|0)+(4-1)&~(4-1);p=c[d>>2]|0;c[u>>2]=d+4;p=(b|0)==4?p|32768:p;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=p;d=Nq(xa(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=l;d=xa(221,g|0)|0;switch(d|0){case -22:{c[o>>2]=a;c[o+4>>2]=9;c[o+8>>2]=p;d=xa(221,o|0)|0;break}case 0:{d=c[l+4>>2]|0;d=(c[l>>2]|0)==2?0-d|0:d;break}default:d=Nq(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=p;d=xa(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[m>>2]=d;c[m+4>>2]=2;c[m+8>>2]=1;xa(221,m|0)|0}d=Nq(d)|0;break a}c[n>>2]=a;c[n+4>>2]=1030;c[n+8>>2]=0;d=xa(221,n|0)|0;if((d|0)==-22){c[r>>2]=a;c[r+4>>2]=0;c[r+8>>2]=p;d=xa(221,r|0)|0;if((d|0)>-1){c[s>>2]=d;c[s+4>>2]=2;c[s+8>>2]=1;xa(221,s|0)|0}d=Nq(d)|0;break a}else{if((d|0)>-1){c[q>>2]=d;hb(6,q|0)|0}d=Nq(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=p;d=Nq(xa(221,h|0)|0)|0;break a}else{c[k>>2]=a;c[k+4>>2]=b;c[k+8>>2]=p;d=Nq(xa(221,k|0)|0)|0;break a}}while(0);i=t;return d|0}function bs(a){a=a|0;return mt(a|0)|0}function cs(a,b,c){a=a|0;b=b|0;c=c|0;ds(a,b,c)|0;return a|0}function ds(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);et(b|0,0,e|0)|0;return b|0}function es(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g+16|0;e=g;if(pr(70079,a[d>>0]|0,4)|0){h=is(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Nq(ib(5,e|0)|0)|0;if((e|0)>=0){b=js(e,d)|0;if(!b){c[f>>2]=e;hb(6,f|0)|0;b=0}}else b=0}else{c[(Oq()|0)>>2]=22;b=0}i=g;return b|0}function fs(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){gb(70684);d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[17670]|0)==(a|0))c[17670]=b;cb(70684)}b=gs(a)|0;b=yb[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d|0)Zs(d);if(!e)Zs(a);return b|0}function gs(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=hs(a)|0;break}d=(lr(a)|0)==0;b=hs(a)|0;if(!d)Rq(a)}else{if(!(c[3900]|0))b=0;else b=gs(c[3900]|0)|0;gb(70684);a=c[17670]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=lr(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=hs(a)|0|b;if(d|0)Rq(a);a=c[a+56>>2]|0}while((a|0)!=0);cb(70684)}while(0);return b|0}function hs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(ub[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)ub[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function is(b){b=b|0;var c=0,d=0,e=0;d=(ks(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ks(b,120)|0)==0;d=e?d:d|128;b=(ks(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function js(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+112|0;if((i|0)>=(j|0))$(112);o=p+40|0;m=p+24|0;l=p+16|0;g=p;n=p+52|0;f=a[d>>0]|0;if(pr(70079,f<<24>>24,4)|0){e=Ys(1144)|0;if(!e)e=0;else{h=e;k=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));if(!(ks(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ks(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;xa(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[l>>2]=b;c[l+4>>2]=3;f=xa(221,l|0)|0;if(!(f&1024)){c[m>>2]=b;c[m+4>>2]=4;c[m+8>>2]=f|1024;xa(221,m|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[o>>2]=b,c[o+4>>2]=21505,c[o+8>>2]=n,(bb(54,o|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=35;c[e+36>>2]=25;c[e+40>>2]=24;c[e+12>>2]=10;if(!(c[17665]|0))c[e+76>>2]=-1;gb(70684);f=c[17670]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[17670]=e;cb(70684)}}else{c[(Oq()|0)>>2]=22;e=0}i=p;return e|0}function ks(b,c){b=b|0;c=c|0;b=ls(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ls(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(yr(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=S(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function ms(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=l;a:do if(!e)b=0;else{do if(f|0){k=(b|0)==0?g:b;b=a[e>>0]|0;g=b&255;if(b<<24>>24>-1){c[k>>2]=g;b=b<<24>>24!=0&1;break a}b=g+-194|0;if(b>>>0<=50){g=e+1|0;h=c[15720+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[k>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[k>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[k>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(Oq()|0)>>2]=84;b=-1}while(0);i=l;return b|0}function ns(a,b){a=a|0;b=b|0;return (os(a,yr(a)|0,1,b)|0)+-1|0}function os(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=S(d,b)|0;if((c[e+76>>2]|0)>-1){g=(lr(e)|0)==0;a=mr(a,f,e)|0;if(!g)Rq(e)}else a=mr(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ps(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=Da(20,a|0)|0;i=a;return b|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=b;b=Nq(ab(33,e|0)|0)|0;i=d;return b|0}function rs(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(lr(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function ss(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=70083;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;if((i|0)>=(j|0))$(48);f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Na(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(xa(221,e|0)|0)>=0):0){ss(e,a);c[f>>2]=e;c[f+4>>2]=b;a=Nq(Oa(195,f|0)|0)|0}else a=Nq(d)|0;i=g;return a|0}function us(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;f=Nq(qb(142,h|0)|0)|0;i=g;return f|0}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Nq(jb(4,f|0)|0)|0;i=e;return d|0}function ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Nq(eb(3,f|0)|0)|0;i=e;return d|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=Nq(ib(5,f|0)|0)|0;i=e;return d|0}function ys(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e;c[f+12>>2]=a;b=f+16|0;c[b>>2]=0;d=f+20|0;c[d>>2]=0;switch(a|0){case 208:case 203:case 213:{c[b>>2]=1;break}default:{}}As(8,f);b=c[d>>2]|0;if(!b)b=0;else{c[(Oq()|0)>>2]=b;b=-1}i=g;return b|0}function zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);b=g+16|0;d=g;e=a+20|0;do if(!(c[e>>2]|0)){if((c[a+16>>2]|0?(f=c[a>>2]|0,(f|0)>-1):0)?(f|0)!=(Bs()|0):0){c[b>>2]=c[176];c[b+4>>2]=c[177];c[b+8>>2]=c[178];c[b+12>>2]=c[179];Cs(6,d)|0;f=Ds(6,b)|0;c[e>>2]=0-f;if(!((f|0)!=0?(c[17668]|0)!=0:0)){c[e>>2]=1;Ds(6,d)|0}break}c[e>>2]=1}while(0);i=g;return}function As(a,b){a=a|0;b=b|0;wb[a&15](b);return}function Bs(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=Qa(199,a|0)|0;i=a;return b|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g+16|0;d=g;e=g+24|0;c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=0;c[d+12>>2]=b;d=Nq(fb(340,d|0)|0)|0;if(!d){f=b;if((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0){f=b;c[f>>2]=-1;c[f+4>>2]=-1}d=b+8|0;b=d;if((c[b>>2]|0)==-1?(c[b+4>>2]|0)==-1:0){c[d>>2]=-1;c[d+4>>2]=-1;d=0}else d=0}else if((c[(Oq()|0)>>2]|0)==38){c[f>>2]=a;c[f+4>>2]=e;if((Nq(Ma(191,f|0)|0)|0)>=0){d=c[e>>2]|0;f=(d|0)==-1;h=b;c[h>>2]=f?-1:d;c[h+4>>2]=f?-1:0;h=c[e+4>>2]|0;d=(h|0)==-1;a=b+8|0;e=a;c[e>>2]=d?-1:h;c[e+4>>2]=d?-1:0;if(f){h=b;c[h>>2]=-1;c[h+4>>2]=-1}if(d){d=a;c[d>>2]=-1;c[d+4>>2]=-1;d=0}else d=0}else d=-1}i=g;return d|0}function Ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=g+16|0;d=g;e=g+24|0;c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b;c[d+12>>2]=0;d=fb(340,d|0)|0;if((d|0)==-38){h=b;d=c[h>>2]|0;h=c[h+4>>2]|0;k=h>>>0<0|(h|0)==0&d>>>0<4294967295;d=k?d:-1;c[e>>2]=d;b=b+8|0;d=c[b>>2]|0;b=c[b+4>>2]|0;h=b>>>0<0|(b|0)==0&d>>>0<4294967295;d=h?d:-1;c[e+4>>2]=d;c[f>>2]=a;c[f+4>>2]=e;d=Xa(75,f|0)|0}i=g;return d|0}function Es(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=mb(201,a|0)|0;i=a;return b|0}function Fs(a){a=a|0;return ys(213,a,0,0)|0}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=Nq(Pa(194,e|0)|0)|0;i=d;return b|0}function Hs(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=za(64,a|0)|0;i=a;return b|0}function Is(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))$(32);h=l;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(Oq()|0)>>2]=12;a=-1;break}k=(e&16|0)!=0;if(k)Ks(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=Nq(La(192,h|0)|0)|0;if(k)Js()}else{c[(Oq()|0)>>2]=22;a=-1}while(0);i=l;return a|0}function Js(){return}function Ks(a){a=a|0;return}function Ls(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;Ks(-1);c[e>>2]=a;c[e+4>>2]=b;b=Nq(Wa(91,e|0)|0)|0;Js();i=d;return b|0}function Ms(a){a=a|0;gb(70704);Ns(a);cb(70704);return}function Ns(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[4031]|0;if(!f)c[c[4032]>>2]=a;else{c[4033]=(f|0)==31|(f|0)==7?3:1;c[17678]=0;if((f|0)>0){b=c[4032]|0;e=0;d=0;do{g=st(a|0,d|0,1284865837,1481765933)|0;a=gt(g|0,D|0,1,0)|0;d=D;c[b+(e<<2)>>2]=d;e=e+1|0}while((e|0)<(f|0))}else b=c[4032]|0;c[b>>2]=c[b>>2]|1}return}function Os(){var a=0,b=0,d=0,e=0,f=0;gb(70704);a=c[4031]|0;if(!a){b=c[4032]|0;a=(S(c[b>>2]|0,1103515245)|0)+12345&2147483647;c[b>>2]=a}else{d=c[17678]|0;b=c[4032]|0;e=c[4033]|0;f=b+(e<<2)|0;b=(c[f>>2]|0)+(c[b+(d<<2)>>2]|0)|0;c[f>>2]=b;e=e+1|0;c[4033]=(e|0)==(a|0)?0:e;d=d+1|0;c[17678]=(d|0)==(a|0)?0:d;a=b>>>1}cb(70704);return a|0}function Ps(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;c=e<<24>>24;f=b+1|0;if(!(Mr(c)|0))break;else b=f}switch(c|0){case 45:{b=1;g=5;break}case 43:{b=0;g=5;break}default:{h=0;d=b;b=e}}if((g|0)==5){h=b;d=f;b=a[f>>0]|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (h|0?b:0-b|0)|0}function Qs(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=b;b=Nq(_a(77,e|0)|0)|0;i=d;return b|0}function Rs(a,b){a=a|0;b=b|0;if(!a)b=_s(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}return b|0}function Ss(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{Zs(c[b>>2]|0);d=b;b=c[b+4>>2]|0;Zs(d)}while((b|0)!=0);Zs(a);return}function Ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;do if(g>>>0<f>>>0){if(b|0)if(!d){c[h>>2]=1;b=0;break a}else{i=a+8|0;c[i>>2]=d;c[k>>2]=1024;h=d;b=d;g=1024;break}g=f<<3;g=g>>>0>1024?g:1024;i=Ys(8)|0;if(!i){c[h>>2]=1;b=0;break a}b=Ys(g)|0;c[i>>2]=b;j=b;if(!b){Zs(i);c[h>>2]=1;b=0;break a}c[i+4>>2]=0;d=a+4|0;h=c[d>>2]|0;if(h|0)c[h+4>>2]=i;if(!(c[a>>2]|0))c[a>>2]=i;c[d>>2]=i;i=a+8|0;c[i>>2]=j;c[k>>2]=g;h=j}else{i=a+8|0;b=c[i>>2]|0;h=b}while(0);d=h+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[i>>2]=b+d;c[k>>2]=g-d;if(e)et(b|0,0,d|0)|0}else b=0;while(0);return b|0}function Us(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=i;i=i+16|0;if((i|0)>=(j|0))$(16);U=Z;X=c[a+4>>2]|0;Y=X+56|0;W=(c[Y>>2]&8|0)==0?d:0;R=X+40|0;a=c[R>>2]|0;if((a|0)>0&(W|0)!=0){a=Ys(a<<2)|0;if(!a)a=12;else{V=a;T=3}}else{V=0;T=3}if((T|0)==3){if(!(c[X+60>>2]|0)){c[U>>2]=0;k=f&1;Q=f&2;h=c[Y>>2]&4;if(!V)O=0;else O=c[R>>2]|0;P=O<<2;g=c[X+52>>2]|0;f=g<<3;d=f+8|0;a=P+12+f+(d+(S(P,g)|0)<<1)|0;R=Ys(a)|0;if(!R){a=12;d=0}else{et(R|0,0,a|0)|0;a=R+P|0;l=a&3;l=a+((l|0)==0?0:4-l|0)|0;a=l+d|0;m=a&3;m=a+((m|0)==0?0:4-m|0)|0;a=m+d|0;N=a&3;N=a+((N|0)==0?0:4-N|0)|0;a=N+f|0;d=a&3;if((g|0)>0){a=a+((d|0)==0?0:4-d|0)|0;d=0;while(1){c[m+(d<<3)+4>>2]=a;a=a+P|0;c[l+(d<<3)+4>>2]=a;d=d+1|0;if((d|0)==(g|0)){a=0;break}else a=a+P|0}do{c[N+(a<<3)>>2]=-1;a=a+1|0}while((a|0)!=(g|0))}a=ms(U,b,4)|0;if((a|0)<1)if((a|0)<0){a=1;d=0}else{a=1;T=201}else T=201;a:do if((T|0)==201){M=X+8|0;F=(h|0)!=0;G=(O|0)>0;H=X+12|0;I=X+44|0;J=X+32|0;K=X+36|0;L=(O|0)==0;E=(k|0)==0;D=(O|0)<1;g=0;w=b+a|0;v=0;h=0;d=-1;f=l;B=R;z=l;x=m;while(1){if((d|0)<0){k=c[M>>2]|0;l=k+8|0;b:do if(c[l>>2]|0){q=(v|0)!=0;r=(g|0)==95;s=(v|0)==0;u=F&(g|0)==10;t=E&(v|0)<1;while(1){c:while(1){p=k+12|0;if((c[N+(c[p>>2]<<3)>>2]|0)>=(v|0))break;o=k+20|0;m=c[o>>2]|0;if(!m){T=236;break}d:do if(u|(t|(m&1|0)==0)){if(m&2|0?(b=c[U>>2]|0,!((b|Q|0)==0|F&(b|0)==10)):0)break;do if(m&16|0){if(r)break d;if(Cr(g)|0)break d;m=c[U>>2]|0;if((m|0)==95)break;if(!(Cr(m)|0))break d}while(0);m=c[o>>2]|0;if(m&32){if(r){m=c[U>>2]|0;if((m|0)==95)break}else{b=(Cr(g)|0)==0;m=c[U>>2]|0;if(b|(m|0)==95)break}if(Cr(m)|0)break;m=c[o>>2]|0}n=c[U>>2]|0;do if((n|0)!=0&(q&(m&64|0)!=0)){if(r)m=1;else{m=(Cr(g)|0)!=0;n=c[U>>2]|0}if((n|0)==95)if(m)break d;else break;else if(m^(Cr(n)|0)!=0)break;else break d}while(0);if(!(c[o>>2]&128)){T=236;break c}m=c[U>>2]|0;if(s|(m|0)==0)break;if(r)n=1;else{n=(Cr(g)|0)!=0;m=c[U>>2]|0}if((m|0)==95)if(n){T=236;break c}else break;else if(n^(Cr(m)|0)!=0)break;else{T=236;break c}}while(0);l=k+40|0;if(!(c[l>>2]|0))break b;else k=k+32|0}if((T|0)==236){T=0;c[f>>2]=c[l>>2];if(G)et(c[f+4>>2]|0,-1,P|0)|0;l=c[k+16>>2]|0;do if(l|0){m=c[l>>2]|0;if((m|0)<=-1)break;n=f+4|0;do{if((m|0)<(O|0))c[(c[n>>2]|0)+(m<<2)>>2]=v;l=l+4|0;m=c[l>>2]|0}while((m|0)>-1)}while(0);l=(c[f>>2]|0)!=(c[H>>2]|0);if(D|l){h=l?h:1;d=l?d:v;l=f+4|0}else{l=f+4|0;h=c[l>>2]|0;d=0;do{c[V+(d<<2)>>2]=c[h+(d<<2)>>2];d=d+1|0}while((d|0)!=(O|0));h=1;d=v}b=c[p>>2]|0;c[N+(b<<3)>>2]=v;c[N+(b<<3)+4>>2]=l;f=f+8|0}l=k+40|0;if(!(c[l>>2]|0))break;else k=k+32|0}}while(0);c[f>>2]=0;f=c[U>>2]|0;if(!f)break;else g=f}else{if(L)break;g=c[U>>2]|0;if(!((f|0)!=(z|0)&(g|0)!=0))break}C=v+a|0;a=ms(U,w,4)|0;if((a|0)<1)if((a|0)<0){a=1;d=0;break a}else a=1;A=w+a|0;if((h|0)!=0&(c[I>>2]|0)!=0){if(!(c[z>>2]|0))f=x;else{p=c[K>>2]|0;q=c[p>>2]|0;r=(q|0)>-1;o=z;f=x;do{n=o+4|0;e:do if(r){k=0;m=q;do{l=c[p+((k|1)<<2)>>2]|0;if((m|0)>=(O|0))break e;h=c[n>>2]|0;if((c[h+(l<<2)>>2]|0)==(c[V+(l<<2)>>2]|0)?(c[h+(m<<2)>>2]|0)<(c[V+(m<<2)>>2]|0):0)break e;k=k+2|0;m=c[p+(k<<2)>>2]|0}while((m|0)>-1);k=n;T=265}else{k=n;h=c[n>>2]|0;T=265}while(0);if((T|0)==265){T=0;c[f>>2]=c[o>>2];y=f+4|0;b=c[y>>2]|0;c[y>>2]=h;c[k>>2]=b;f=f+8|0}o=o+8|0}while((c[o>>2]|0)!=0)}c[f>>2]=0;y=z;h=0}else{y=x;x=z}k=c[x>>2]|0;if(!k){k=B;f=y}else{s=(C|0)!=0;t=(g|0)==95;u=(C|0)==0;w=F&(g|0)==10;v=E&(C|0)<1;r=x;l=B;f=y;while(1){m=k+8|0;if(c[m>>2]|0){q=r+4|0;p=l;o=m;while(1){f:do if((c[k>>2]|0)>>>0>g>>>0)l=p;else{if((c[k+4>>2]|0)>>>0<g>>>0){l=p;break}n=k+20|0;l=c[n>>2]|0;do if(l|0){if(!(w|(v|(l&1|0)==0))){l=p;break f}if(l&2|0?(b=c[U>>2]|0,!((b|Q|0)==0|F&(b|0)==10)):0){l=p;break f}do if(l&16|0){if(t){l=p;break f}if(Cr(g)|0){l=p;break f}l=c[U>>2]|0;if((l|0)==95)break;if(!(Cr(l)|0)){l=p;break f}}while(0);l=c[n>>2]|0;if(l&32){if(t){l=c[U>>2]|0;if((l|0)==95){l=p;break f}}else{b=(Cr(g)|0)==0;l=c[U>>2]|0;if(b|(l|0)==95){l=p;break f}}if(Cr(l)|0){l=p;break f}l=c[n>>2]|0}m=c[U>>2]|0;do if((m|0)!=0&(s&(l&64|0)!=0)){if(t)l=1;else{l=(Cr(g)|0)!=0;m=c[U>>2]|0}if((m|0)==95)if(l){l=p;break f}else break;else if(l^(Cr(m)|0)!=0)break;else{l=p;break f}}while(0);do if(c[n>>2]&128|0){l=c[U>>2]|0;if(u|(l|0)==0){l=p;break f}if(t)m=1;else{m=(Cr(g)|0)!=0;l=c[U>>2]|0}if((l|0)==95)if(m)break;else{l=p;break f}else if(m^(Cr(l)|0)!=0){l=p;break f}else break}while(0);l=c[n>>2]|0;do if(l&4){if(c[Y>>2]&2|0)break;if(!(Br(g,c[k+24>>2]|0)|0)){l=p;break f}l=c[n>>2]|0}while(0);do if(l&4|0){if(!(c[Y>>2]&2))break;b=_q(g)|0;l=k+24|0;if(Br(b,c[l>>2]|0)|0)break;b=Zq(g)|0;if(!(Br(b,c[l>>2]|0)|0)){l=p;break f}}while(0);if(!(c[n>>2]&8))break;if(Xs(c[k+28>>2]|0,g,c[Y>>2]&2)|0){l=p;break f}}while(0);if(G){m=c[q>>2]|0;l=0;do{c[p+(l<<2)>>2]=c[m+(l<<2)>>2];l=l+1|0}while((l|0)!=(O|0))}l=c[k+16>>2]|0;do if(l|0){m=c[l>>2]|0;if((m|0)<=-1)break;do{if((m|0)<(O|0))c[p+(m<<2)>>2]=C;l=l+4|0;m=c[l>>2]|0}while((m|0)>-1)}while(0);l=c[k+12>>2]|0;m=N+(l<<3)|0;if((c[m>>2]|0)>=(C|0)){l=c[N+(l<<3)+4>>2]|0;m=c[l>>2]|0;if(!(Vs(O,c[J>>2]|0,p,m)|0)){l=p;break}c[l>>2]=p;if((c[o>>2]|0)!=(c[H>>2]|0)){l=m;break}if(G)d=0;else{h=1;l=m;d=C;break}while(1){c[V+(d<<2)>>2]=c[p+(d<<2)>>2];d=d+1|0;if((d|0)==(O|0)){h=1;l=m;d=C;break f}}}b=c[o>>2]|0;c[f>>2]=b;B=f+4|0;n=c[B>>2]|0;c[B>>2]=p;c[m>>2]=C;c[N+(l<<3)+4>>2]=B;do if((b|0)==(c[H>>2]|0)){if((d|0)==-1)if(G)d=0;else{d=C;h=1;break}else{if(!G)break;if((c[p>>2]|0)>(c[V>>2]|0))break;else d=0}do{c[V+(d<<2)>>2]=c[p+(d<<2)>>2];d=d+1|0}while((d|0)<(O|0));d=C;h=1}while(0);l=n;f=f+8|0}while(0);o=k+40|0;if(!(c[o>>2]|0))break;else{k=k+32|0;p=l}}}r=r+8|0;k=c[r>>2]|0;if(!k){k=l;break}}}c[f>>2]=0;w=A;v=C;B=k;z=y}a=d>>>31}while(0);Zs(R)}}else{c[U>>2]=0;k=f&1;P=f&2;d=c[Y>>2]&4;Q=Rs(0,0)|0;g:do if(Q){l=Ts(Q,0,0,0,32)|0;if(!l){Ss(Q);d=0;a=12;break}c[l+24>>2]=0;c[l+28>>2]=0;m=c[R>>2]|0;if(m){f=Ys(m<<2)|0;if(!f){d=0;h=0;g=0;a=12}else T=9}else{f=0;T=9}h:do if((T|0)==9){a=c[X+28>>2]|0;if(a){h=Ys(a<<3)|0;if(!h){d=0;g=0;a=12;break}}else h=0;O=X+52|0;a=c[O>>2]|0;if(a){g=Ys(a<<2)|0;if(!g){d=0;a=12;break}}else g=0;J=X+8|0;K=X+12|0;L=(V|0)==0;M=(V|0)!=0;N=X+32|0;F=(d|0)!=0;G=(f|0)==0;H=(h|0)==0;I=(g|0)==0;E=(k|0)==0;o=b;n=1;k=-1;s=-1;a=m;i:while(1){if((a|0)>0){d=0;do{c[f+(d<<2)>>2]=-1;if(!L){c[V+(d<<2)>>2]=-1;a=c[R>>2]|0}d=d+1|0}while((d|0)<(a|0))}a=c[O>>2]|0;if((a|0)>0)et(g|0,0,a<<2|0)|0;m=c[U>>2]|0;D=n+k|0;a=ms(U,o,4)|0;if((a|0)<1)if((a|0)<0){d=0;a=1;break h}else a=1;B=o+a|0;C=c[U>>2]|0;d=c[J>>2]|0;k=d+8|0;if(c[k>>2]|0){t=(D|0)!=0;u=(m|0)==95;v=(D|0)==0;x=F&(m|0)==10;w=E&(D|0)<1;r=d;d=0;q=0;p=k;while(1){o=r+20|0;k=c[o>>2]|0;j:do if(k){if(!(x|(w|(k&1|0)==0))){n=q;break}if(k&2|0?(A=c[U>>2]|0,!((A|P|0)==0|F&(A|0)==10)):0){n=q;break}do if(k&16|0){if(u){n=q;break j}if(Cr(m)|0){n=q;break j}k=c[U>>2]|0;if((k|0)==95)break;if(!(Cr(k)|0)){n=q;break j}}while(0);k=c[o>>2]|0;if(k&32){if(u){k=c[U>>2]|0;if((k|0)==95){n=q;break}}else{A=(Cr(m)|0)==0;k=c[U>>2]|0;if(A|(k|0)==95){n=q;break}}if(Cr(k)|0){n=q;break}k=c[o>>2]|0}n=c[U>>2]|0;do if((n|0)!=0&(t&(k&64|0)!=0)){if(u)k=1;else{k=(Cr(m)|0)!=0;n=c[U>>2]|0}if((n|0)==95)if(k){n=q;break j}else break;else if(k^(Cr(n)|0)!=0)break;else{n=q;break j}}while(0);if(!(c[o>>2]&128)){T=52;break}k=c[U>>2]|0;if(v|(k|0)==0){n=q;break}if(u)n=1;else{n=(Cr(m)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(n){T=52;break}else{n=q;break}else if(n^(Cr(k)|0)!=0){n=q;break}else{T=52;break}}else T=52;while(0);do if((T|0)==52){T=0;if(!q){d=c[r+16>>2]|0;n=c[p>>2]|0;break}n=l+28|0;k=c[n>>2]|0;if(!k){k=Ts(Q,0,0,0,32)|0;if(!k){T=56;break i}c[k+24>>2]=l;c[k+28>>2]=0;A=Ts(Q,0,0,0,c[R>>2]<<2)|0;c[k+20>>2]=A;if(!A){T=63;break i}c[n>>2]=k;l=k}else l=k;c[l>>2]=D;c[l+4>>2]=B;c[l+8>>2]=c[p>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[U>>2];if((c[R>>2]|0)>0){n=c[l+20>>2]|0;k=0;do{c[n+(k<<2)>>2]=c[f+(k<<2)>>2];k=k+1|0}while((k|0)<(c[R>>2]|0))}k=c[r+16>>2]|0;if(!k){n=q;break}n=c[k>>2]|0;if((n|0)<=-1){n=q;break}o=c[l+20>>2]|0;do{k=k+4|0;c[o+(n<<2)>>2]=D;n=c[k>>2]|0}while((n|0)>-1);n=q}while(0);p=r+40|0;if(!(c[p>>2]|0))break;else{r=r+32|0;q=n}}if(d){k=c[d>>2]|0;if((k|0)>-1)do{c[f+(k<<2)>>2]=D;d=d+4|0;k=c[d>>2]|0}while((k|0)>-1)}else d=0;if(!n){k=D;q=0;n=B;T=174}else{o=m;p=D;t=B;A=s;z=n;T=82}}else{k=D;q=0;n=B;d=0;T=174}k:while(1){l:do if((T|0)==82){T=0;if((z|0)==(c[K>>2]|0)){if((A|0)>=(p|0)){if(!(M&(A|0)==(p|0))){s=A;m=o;k=p;q=z;n=t;T=174;continue k}if(!(Vs(c[R>>2]|0,c[N>>2]|0,f,V)|0)){s=A;m=o;k=A;q=z;n=t;T=174;continue k}}if(L){s=p;m=o;k=p;q=z;n=t;T=174;continue k}if((c[R>>2]|0)>0)k=0;else{s=p;m=o;k=p;q=z;n=t;T=174;continue k}while(1){c[V+(k<<2)>>2]=c[f+(k<<2)>>2];k=k+1|0;if((k|0)>=(c[R>>2]|0)){s=p;m=o;k=p;q=z;n=t;T=174;continue k}}}r=z+8|0;do if(!(c[r>>2]|0))T=98;else{if(!(c[z+20>>2]&256)){T=98;break}m=c[z+24>>2]|0;Ws(m+1|0,h,c[Y>>2]&-9,X,f,p);y=c[h+(m<<3)>>2]|0;m=(c[h+(m<<3)+4>>2]|0)-y|0;do if(!(Yr(b+y|0,t+-1|0,m)|0)){y=(m|0)==0;k=y&1;n=g+(c[z+12>>2]<<2)|0;if(y?c[n>>2]|0:0){m=o;k=p;n=t;o=25;break}c[n>>2]=k;k=m+-1|0;n=t+k|0;m=c[U>>2]|0;k=p+a+k|0;a=ms(U,n,4)|0;if((a|0)<1)if((a|0)<0){o=2;break}else a=1;n=n+a|0;o=0}else{m=o;k=p;n=t;o=25}while(0);switch(o&31){case 25:{s=A;q=z;T=174;continue k}case 0:{y=k;break}default:{s=A;q=z;break l}}}while(0);if((T|0)==98){T=0;m=c[U>>2]|0;if(!m){s=A;m=o;k=p;q=z;n=t;T=174;continue k}k=p+a|0;a=ms(U,t,4)|0;if((a|0)<1)if((a|0)<0){s=A;o=2;q=z;n=t;break}else a=1;y=k;n=t+a|0}if(!(c[r>>2]|0)){s=A;k=y;q=z;T=174;continue k}t=(y|0)!=0;u=(m|0)==95;v=(y|0)==0;x=F&(m|0)==10;w=E&(y|0)<1;q=0;s=z;m:while(1){n:do if((c[s>>2]|0)>>>0<=m>>>0){if((c[s+4>>2]|0)>>>0<m>>>0)break;p=s+20|0;k=c[p>>2]|0;do if(k|0){if(!(x|(w|(k&1|0)==0)))break n;if(k&2|0?(T=c[U>>2]|0,!((T|P|0)==0|F&(T|0)==10)):0)break n;do if(k&16|0){if(u)break n;if(Cr(m)|0)break n;k=c[U>>2]|0;if((k|0)==95)break;if(!(Cr(k)|0))break n}while(0);k=c[p>>2]|0;if(k&32){if(u){k=c[U>>2]|0;if((k|0)==95)break n}else{T=(Cr(m)|0)==0;k=c[U>>2]|0;if(T|(k|0)==95)break n}if(Cr(k)|0)break n;k=c[p>>2]|0}o=c[U>>2]|0;do if((o|0)!=0&(t&(k&64|0)!=0)){if(u)k=1;else{k=(Cr(m)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(k)break n;else break;else if(k^(Cr(o)|0)!=0)break;else break n}while(0);do if(c[p>>2]&128|0){k=c[U>>2]|0;if(v|(k|0)==0)break n;if(u)o=1;else{o=(Cr(m)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(o)break;else break n;else if(o^(Cr(k)|0)!=0)break n;else break}while(0);k=c[p>>2]|0;do if(k&4){if(c[Y>>2]&2|0)break;if(!(Br(m,c[s+24>>2]|0)|0))break n;k=c[p>>2]|0}while(0);do if(k&4|0){if(!(c[Y>>2]&2))break;T=_q(m)|0;k=s+24|0;if(Br(T,c[k>>2]|0)|0)break;T=Zq(m)|0;if(!(Br(T,c[k>>2]|0)|0))break n}while(0);if(!(c[p>>2]&8))break;if(Xs(c[s+28>>2]|0,m,c[Y>>2]&2)|0)break n}while(0);if(!q){q=c[r>>2]|0;d=c[s+16>>2]|0;break}o=l+28|0;k=c[o>>2]|0;if(!k){k=Ts(Q,0,0,0,32)|0;if(!k){T=148;break m}c[k+24>>2]=l;c[k+28>>2]=0;T=Ts(Q,0,0,0,c[R>>2]<<2)|0;c[k+20>>2]=T;if(!T){T=155;break m}c[o>>2]=k;l=k}else l=k;c[l>>2]=y;c[l+4>>2]=n;c[l+8>>2]=c[r>>2];c[l+12>>2]=c[s+12>>2];c[l+16>>2]=c[U>>2];if((c[R>>2]|0)>0){o=c[l+20>>2]|0;k=0;do{c[o+(k<<2)>>2]=c[f+(k<<2)>>2];k=k+1|0}while((k|0)<(c[R>>2]|0))}k=c[s+16>>2]|0;if(!k)break;o=c[k>>2]|0;if((o|0)<=-1)break;p=c[l+20>>2]|0;do{c[p+(o<<2)>>2]=y;k=k+4|0;o=c[k>>2]|0}while((o|0)>-1)}while(0);r=s+40|0;if(!(c[r>>2]|0)){T=170;break}else s=s+32|0}if((T|0)==148){T=0;Ss(Q);if(!G)Zs(f);if(!H)Zs(h);if(I){s=A;k=y;o=1;q=z;break}Zs(g);s=A;k=y;o=1;q=z;break}else if((T|0)==155){T=0;Ss(Q);if(!G)Zs(f);if(!H)Zs(h);if(I){s=A;k=y;o=1;q=z;break}Zs(g);s=A;k=y;o=1;q=z;break}else if((T|0)==170){T=0;if(!q){s=A;k=y;q=z;T=174;continue k}if(!d){d=0;s=A;k=y;o=0;break}k=c[d>>2]|0;if((k|0)<=-1){s=A;k=y;o=0;break}do{d=d+4|0;c[f+(k<<2)>>2]=y;k=c[d>>2]|0}while((k|0)>-1);s=A;k=y;o=0}}else if((T|0)==174){T=0;o=c[l+24>>2]|0;if(!o){if((s|0)>-1|(c[U>>2]|0)==0){o=27;break}c[U>>2]=C;o=3;n=B;break}q=c[l+8>>2]|0;if(c[q+20>>2]&256|0)c[g+(c[l+12>>2]<<2)>>2]=0;p=c[l>>2]|0;r=c[l+4>>2]|0;c[U>>2]=c[l+16>>2];n=c[R>>2]|0;if((n|0)<=0){l=o;k=p;o=0;n=r;break}l=c[l+20>>2]|0;k=0;do{c[f+(k<<2)>>2]=c[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(n|0));l=o;k=p;o=0;n=r}while(0);switch(o|0){case 2:{d=0;a=1;break h}case 27:{T=184;break i}case 0:{o=m;p=k;t=n;A=s;z=q;T=82;break}case 3:break k;default:{d=0;a=12;break g}}}o=n;n=a;k=D;a=c[R>>2]|0}if((T|0)==56){Ss(Q);if(!G)Zs(f);if(!H)Zs(h);if(I){d=0;a=12;break g}Zs(g);d=0;a=12;break g}else if((T|0)==63){Ss(Q);if(!G)Zs(f);if(!H)Zs(h);if(I){d=0;a=12;break g}Zs(g);d=0;a=12;break g}else if((T|0)==184){d=s;a=s>>>31;break}}while(0);Ss(Q);if(f|0)Zs(f);if(h|0)Zs(h);if(g)Zs(g)}else{d=0;a=12}while(0)}if(!a)Ws(W,e,c[Y>>2]|0,X,V,d);if(V)Zs(V)}i=Z;return a|0}function Vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function Ws(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1){n=c[e+16>>2]|0;l=e+28|0;d=c[l>>2]|0;m=(a|0)!=0;if(m&(d|0)!=0){k=e+48|0;j=0;do{d=c[n+(j*12|0)>>2]|0;if((d|0)==(c[k>>2]|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[n+(j*12|0)+4>>2]|0;if((d|0)==(c[k>>2]|0))e=g;else e=c[f+(d<<2)>>2]|0;d=b+(j<<3)+4|0;c[d>>2]=e;if((i|0)==-1|(e|0)==-1){c[d>>2]=-1;c[h>>2]=-1}j=j+1|0;d=c[l>>2]|0}while(j>>>0<a>>>0&j>>>0<d>>>0);f=d}else f=d;if(m&(f|0)!=0){d=0;do{i=b+(d<<3)+4|0;j=c[n+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;l=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(l<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(l<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;l=c[j+(h<<2)>>2]|0}while((l|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<f>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)et(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(Br(b,d)|0){d=1;break a}}else{e=Zq(b)|0;if(Br(e,c[a>>2]|0)|0){d=1;break a}e=_q(b)|0;if(Br(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function Ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+16|0;if((i|0)>=(j|0))$(16);q=M;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;u=c[17679]|0;d=u>>>a;if(d&3|0){a=(d&1^1)+a|0;d=70756+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[17683]|0)>>>0)Aa();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Aa()}else c[17679]=u&~(1<<a);while(0);L=a<<3;c[f+4>>2]=L|3;L=f+L+4|0;c[L>>2]=c[L>>2]|1;L=g;i=M;return L|0}t=c[17681]|0;if(p>>>0>t>>>0){if(d|0){k=2<<a;a=d<<a&(k|0-k);a=(a&0-a)+-1|0;k=a>>>12&16;a=a>>>k;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|k|g|d|b)+(a>>>b)|0;a=70756+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;k=g+8|0;e=c[k>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[17683]|0)>>>0)Aa();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;l=u;break}else Aa()}else{l=u&~(1<<b);c[17679]=l}while(0);h=(b<<3)-p|0;c[g+4>>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(t|0){f=c[17684]|0;b=t>>>3;d=70756+(b<<1<<2)|0;b=1<<b;if(l&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17683]|0)>>>0)Aa();else{m=a;n=b}}else{c[17679]=l|b;m=d;n=d+8|0}c[n>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=d}c[17681]=h;c[17684]=e;L=k;i=M;return L|0}m=c[17680]|0;if(m){a=(m&0-m)+-1|0;K=a>>>12&16;a=a>>>K;J=a>>>5&8;a=a>>>J;L=a>>>2&4;a=a>>>L;k=a>>>1&2;a=a>>>k;l=a>>>1&1;l=c[71020+((J|K|L|k|l)+(a>>>l)<<2)>>2]|0;a=l;k=l;l=(c[l+4>>2]&-8)-p|0;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b)break}L=(c[b+4>>2]&-8)-p|0;K=L>>>0<l>>>0;a=b;k=K?b:k;l=K?L:l}f=c[17683]|0;if(k>>>0<f>>>0)Aa();h=k+p|0;if(k>>>0>=h>>>0)Aa();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Aa();else{c[a>>2]=0;o=b;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)Aa();b=e+12|0;if((c[b>>2]|0)!=(k|0))Aa();a=d+8|0;if((c[a>>2]|0)==(k|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Aa()}while(0);do if(g|0){b=c[k+28>>2]|0;a=71020+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[17680]=m&~(1<<b);break}}else{if(g>>>0<(c[17683]|0)>>>0)Aa();b=g+16|0;if((c[b>>2]|0)==(k|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[17683]|0;if(o>>>0<a>>>0)Aa();c[o+24>>2]=g;b=c[k+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)Aa();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[k+20>>2]|0;if(b|0)if(b>>>0<(c[17683]|0)>>>0)Aa();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);if(l>>>0<16){L=l+p|0;c[k+4>>2]=L|3;L=k+L+4|0;c[L>>2]=c[L>>2]|1}else{c[k+4>>2]=p|3;c[h+4>>2]=l|1;c[h+l>>2]=l;if(t|0){e=c[17684]|0;b=t>>>3;d=70756+(b<<1<<2)|0;b=1<<b;if(u&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17683]|0)>>>0)Aa();else{r=a;s=b}}else{c[17679]=u|b;r=d;s=d+8|0}c[s>>2]=e;c[r+12>>2]=e;c[e+8>>2]=r;c[e+12>>2]=d}c[17681]=l;c[17684]=h}L=k+8|0;i=M;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;m=c[17680]|0;if(m){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)l=31;else{s=(a+1048320|0)>>>16&8;E=a<<s;r=(E+520192|0)>>>16&4;E=E<<r;l=(E+245760|0)>>>16&2;l=14-(r|s|l)+(E<<l>>>15)|0;l=p>>>(l+7|0)&1|l<<1}else l=0;a=c[71020+(l<<2)>>2]|0;a:do if(!a){d=0;f=0;E=86}else{f=0;k=a;h=p<<((l|0)==31?0:25-(l>>>1)|0);d=0;while(1){a=(c[k+4>>2]&-8)-p|0;if(a>>>0<e>>>0)if(!a){a=k;e=0;d=k;E=90;break a}else{f=k;e=a}a=c[k+20>>2]|0;k=c[k+16+(h>>>31<<2)>>2]|0;d=(a|0)==0|(a|0)==(k|0)?d:a;a=(k|0)==0;if(a){E=86;break}else h=h<<(a&1^1)}}while(0);if((E|0)==86){if((d|0)==0&(f|0)==0){a=2<<l;a=m&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;l=s>>>5&8;s=s>>>l;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;d=s>>>1&1;d=c[71020+((l|n|o|r|d)+(s>>>d)<<2)>>2]|0}if(!d){l=f;k=e}else{a=f;E=90}}if((E|0)==90)while(1){E=0;s=(c[d+4>>2]&-8)-p|0;f=s>>>0<e>>>0;e=f?s:e;a=f?d:a;f=c[d+16>>2]|0;if(f|0){d=f;E=90;continue}d=c[d+20>>2]|0;if(!d){l=a;k=e;break}else E=90}if((l|0)!=0?k>>>0<((c[17681]|0)-p|0)>>>0:0){f=c[17683]|0;if(l>>>0<f>>>0)Aa();h=l+p|0;if(l>>>0>=h>>>0)Aa();g=c[l+24>>2]|0;d=c[l+12>>2]|0;do if((d|0)==(l|0)){a=l+20|0;b=c[a>>2]|0;if(!b){a=l+16|0;b=c[a>>2]|0;if(!b){t=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Aa();else{c[a>>2]=0;t=b;break}}else{e=c[l+8>>2]|0;if(e>>>0<f>>>0)Aa();b=e+12|0;if((c[b>>2]|0)!=(l|0))Aa();a=d+8|0;if((c[a>>2]|0)==(l|0)){c[b>>2]=d;c[a>>2]=e;t=d;break}else Aa()}while(0);do if(g){b=c[l+28>>2]|0;a=71020+(b<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=t;if(!t){u=m&~(1<<b);c[17680]=u;break}}else{if(g>>>0<(c[17683]|0)>>>0)Aa();b=g+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=t;else c[g+20>>2]=t;if(!t){u=m;break}}a=c[17683]|0;if(t>>>0<a>>>0)Aa();c[t+24>>2]=g;b=c[l+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)Aa();else{c[t+16>>2]=b;c[b+24>>2]=t;break}while(0);b=c[l+20>>2]|0;if(b)if(b>>>0<(c[17683]|0)>>>0)Aa();else{c[t+20>>2]=b;c[b+24>>2]=t;u=m;break}else u=m}else u=m;while(0);do if(k>>>0>=16){c[l+4>>2]=p|3;c[h+4>>2]=k|1;c[h+k>>2]=k;b=k>>>3;if(k>>>0<256){d=70756+(b<<1<<2)|0;a=c[17679]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17683]|0)>>>0)Aa();else{C=a;D=b}}else{c[17679]=a|b;C=d;D=d+8|0}c[D>>2]=h;c[C+12>>2]=h;c[h+8>>2]=C;c[h+12>>2]=d;break}b=k>>>8;if(b)if(k>>>0>16777215)b=31;else{K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;b=(L+245760|0)>>>16&2;b=14-(J|K|b)+(L<<b>>>15)|0;b=k>>>(b+7|0)&1|b<<1}else b=0;d=71020+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(u&a)){c[17680]=u|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=k<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(k|0)){E=148;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){E=145;break}else{a=a<<1;e=b}}if((E|0)==145)if(d>>>0<(c[17683]|0)>>>0)Aa();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((E|0)==148){b=e+8|0;a=c[b>>2]|0;L=c[17683]|0;if(a>>>0>=L>>>0&e>>>0>=L>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else Aa()}}else{L=k+p|0;c[l+4>>2]=L|3;L=l+L+4|0;c[L>>2]=c[L>>2]|1}while(0);L=l+8|0;i=M;return L|0}}}else p=-1;while(0);d=c[17681]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[17684]|0;if(b>>>0>15){L=a+p|0;c[17684]=L;c[17681]=b;c[L+4>>2]=b|1;c[L+b>>2]=b;c[a+4>>2]=p|3}else{c[17681]=0;c[17684]=0;c[a+4>>2]=d|3;L=a+d+4|0;c[L>>2]=c[L>>2]|1}L=a+8|0;i=M;return L|0}k=c[17682]|0;if(k>>>0>p>>>0){J=k-p|0;c[17682]=J;L=c[17685]|0;K=L+p|0;c[17685]=K;c[K+4>>2]=J|1;c[L+4>>2]=p|3;L=L+8|0;i=M;return L|0}if(!(c[17797]|0)){c[17799]=4096;c[17798]=4096;c[17800]=-1;c[17801]=-1;c[17802]=0;c[17790]=0;a=q&-16^1431655768;c[q>>2]=a;c[17797]=a;a=4096}else a=c[17799]|0;l=p+48|0;m=p+47|0;h=a+m|0;f=0-a|0;n=h&f;if(n>>>0<=p>>>0){L=0;i=M;return L|0}a=c[17789]|0;if(a|0?(C=c[17787]|0,D=C+n|0,D>>>0<=C>>>0|D>>>0>a>>>0):0){L=0;i=M;return L|0}b:do if(!(c[17790]&4)){d=c[17685]|0;c:do if(d){e=71164;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(v=e+4|0,(a+(c[v>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){E=172;break c}else e=a}d=h-k&f;if(d>>>0<2147483647){a=tt(d|0)|0;if((a|0)==((c[e>>2]|0)+(c[v>>2]|0)|0)){if((a|0)!=(-1|0)){h=d;g=a;E=190;break b}}else{b=d;E=180}}}else E=172;while(0);do if(((E|0)==172?(g=tt(0)|0,(g|0)!=(-1|0)):0)?(b=g,w=c[17798]|0,x=w+-1|0,b=((x&b|0)==0?0:(x+b&0-w)-b|0)+n|0,w=c[17787]|0,x=b+w|0,b>>>0>p>>>0&b>>>0<2147483647):0){D=c[17789]|0;if(D|0?x>>>0<=w>>>0|x>>>0>D>>>0:0)break;a=tt(b|0)|0;if((a|0)==(g|0)){h=b;E=190;break b}else E=180}while(0);d:do if((E|0)==180){d=0-b|0;do if(l>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(y=c[17799]|0,y=m-b+y&0-y,y>>>0<2147483647):0)if((tt(y|0)|0)==(-1|0)){tt(d|0)|0;break d}else{b=y+b|0;break}while(0);if((a|0)!=(-1|0)){h=b;g=a;E=190;break b}}while(0);c[17790]=c[17790]|4;E=187}else E=187;while(0);if((((E|0)==187?n>>>0<2147483647:0)?(B=tt(n|0)|0,z=tt(0)|0,B>>>0<z>>>0&((B|0)!=(-1|0)&(z|0)!=(-1|0))):0)?(A=z-B|0,A>>>0>(p+40|0)>>>0):0){h=A;g=B;E=190}if((E|0)==190){b=(c[17787]|0)+h|0;c[17787]=b;if(b>>>0>(c[17788]|0)>>>0)c[17788]=b;m=c[17685]|0;do if(m){b=71164;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){E=200;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((E|0)==200?(c[b+12>>2]&8|0)==0:0)?m>>>0<g>>>0&m>>>0>=a>>>0:0){c[d>>2]=e+h;L=m+8|0;L=(L&7|0)==0?0:0-L&7;K=m+L|0;L=h-L+(c[17682]|0)|0;c[17685]=K;c[17682]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[17686]=c[17801];break}b=c[17683]|0;if(g>>>0<b>>>0){c[17683]=g;k=g}else k=b;a=g+h|0;b=71164;while(1){if((c[b>>2]|0)==(a|0)){E=208;break}b=c[b+8>>2]|0;if(!b){a=71164;break}}if((E|0)==208)if(!(c[b+12>>2]&8)){c[b>>2]=g;o=b+4|0;c[o>>2]=(c[o>>2]|0)+h;o=g+8|0;o=g+((o&7|0)==0?0:0-o&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;n=o+p|0;l=b-o-p|0;c[o+4>>2]=p|3;do if((b|0)!=(m|0)){if((b|0)==(c[17684]|0)){L=(c[17681]|0)+l|0;c[17681]=L;c[17684]=n;c[n+4>>2]=L|1;c[n+L>>2]=L;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;e:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){J=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0<k>>>0)Aa();else{c[d>>2]=0;J=a;break}}else{f=c[b+8>>2]|0;if(f>>>0<k>>>0)Aa();a=f+12|0;if((c[a>>2]|0)!=(b|0))Aa();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Aa()}while(0);if(!g)break;a=c[b+28>>2]|0;d=71020+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(g>>>0<(c[17683]|0)>>>0)Aa();a=g+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[g+20>>2]=J;if(!J)break e}else{c[d>>2]=J;if(J|0)break;c[17680]=c[17680]&~(1<<a);break e}while(0);e=c[17683]|0;if(J>>>0<e>>>0)Aa();c[J+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<e>>>0)Aa();else{c[J+16>>2]=d;c[d+24>>2]=J;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[17683]|0)>>>0)Aa();else{c[J+20>>2]=a;c[a+24>>2]=J;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=70756+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0<k>>>0)Aa();if((c[d+12>>2]|0)==(b|0))break;Aa()}while(0);if((e|0)==(d|0)){c[17679]=c[17679]&~(1<<f);break}do if((e|0)==(a|0))G=e+8|0;else{if(e>>>0<k>>>0)Aa();a=e+8|0;if((c[a>>2]|0)==(b|0)){G=a;break}Aa()}while(0);c[d+12>>2]=e;c[G>>2]=d}while(0);b=b+h|0;f=h+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[n+4>>2]=f|1;c[n+f>>2]=f;b=f>>>3;if(f>>>0<256){d=70756+(b<<1<<2)|0;a=c[17679]|0;b=1<<b;do if(!(a&b)){c[17679]=a|b;K=d;L=d+8|0}else{b=d+8|0;a=c[b>>2]|0;if(a>>>0>=(c[17683]|0)>>>0){K=a;L=b;break}Aa()}while(0);c[L>>2]=n;c[K+12>>2]=n;c[n+8>>2]=K;c[n+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;b=(L+245760|0)>>>16&2;b=14-(J|K|b)+(L<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=71020+(b<<2)|0;c[n+28>>2]=b;a=n+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[17680]|0;d=1<<b;if(!(a&d)){c[17680]=a|d;c[e>>2]=n;c[n+24>>2]=e;c[n+12>>2]=n;c[n+8>>2]=n;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){E=278;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){E=275;break}else{a=a<<1;e=b}}if((E|0)==275)if(d>>>0<(c[17683]|0)>>>0)Aa();else{c[d>>2]=n;c[n+24>>2]=e;c[n+12>>2]=n;c[n+8>>2]=n;break}else if((E|0)==278){b=e+8|0;a=c[b>>2]|0;L=c[17683]|0;if(a>>>0>=L>>>0&e>>>0>=L>>>0){c[a+12>>2]=n;c[b>>2]=n;c[n+8>>2]=a;c[n+12>>2]=e;c[n+24>>2]=0;break}else Aa()}}else{L=(c[17682]|0)+l|0;c[17682]=L;c[17685]=n;c[n+4>>2]=L|1}while(0);L=o+8|0;i=M;return L|0}else a=71164;while(1){b=c[a>>2]|0;if(b>>>0<=m>>>0?(F=b+(c[a+4>>2]|0)|0,F>>>0>m>>>0):0)break;a=c[a+8>>2]|0}f=F+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=m+16|0;a=a>>>0<f>>>0?m:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=h+-40-d|0;c[17685]=L;c[17682]=d;c[L+4>>2]=d|1;c[L+d+4>>2]=40;c[17686]=c[17801];d=a+4|0;c[d>>2]=27;c[b>>2]=c[17791];c[b+4>>2]=c[17792];c[b+8>>2]=c[17793];c[b+12>>2]=c[17794];c[17791]=g;c[17792]=h;c[17794]=0;c[17793]=b;b=a+24|0;do{b=b+4|0;c[b>>2]=7}while((b+4|0)>>>0<F>>>0);if((a|0)!=(m|0)){g=a-m|0;c[d>>2]=c[d>>2]&-2;c[m+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=70756+(b<<1<<2)|0;a=c[17679]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17683]|0)>>>0)Aa();else{H=a;I=b}}else{c[17679]=a|b;H=d;I=d+8|0}c[I>>2]=m;c[H+12>>2]=m;c[m+8>>2]=H;c[m+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;d=(L+245760|0)>>>16&2;d=14-(J|K|d)+(L<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=71020+(d<<2)|0;c[m+28>>2]=d;c[m+20>>2]=0;c[f>>2]=0;b=c[17680]|0;a=1<<d;if(!(b&a)){c[17680]=b|a;c[e>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){E=304;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){E=301;break}else{a=a<<1;e=b}}if((E|0)==301)if(d>>>0<(c[17683]|0)>>>0)Aa();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((E|0)==304){b=e+8|0;a=c[b>>2]|0;L=c[17683]|0;if(a>>>0>=L>>>0&e>>>0>=L>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else Aa()}}}else{L=c[17683]|0;if((L|0)==0|g>>>0<L>>>0)c[17683]=g;c[17791]=g;c[17792]=h;c[17794]=0;c[17688]=c[17797];c[17687]=-1;b=0;do{L=70756+(b<<1<<2)|0;c[L+12>>2]=L;c[L+8>>2]=L;b=b+1|0}while((b|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=h+-40-L|0;c[17685]=K;c[17682]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[17686]=c[17801]}while(0);b=c[17682]|0;if(b>>>0>p>>>0){J=b-p|0;c[17682]=J;L=c[17685]|0;K=L+p|0;c[17685]=K;c[K+4>>2]=J|1;c[L+4>>2]=p|3;L=L+8|0;i=M;return L|0}}c[(Oq()|0)>>2]=12;L=0;i=M;return L|0}function Zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;d=a+-8|0;h=c[17683]|0;if(d>>>0<h>>>0)Aa();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Aa();e=a&-8;n=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Aa();if((k|0)==(c[17684]|0)){a=n+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;f=j;break}c[17681]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=70756+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Aa();if((c[b+12>>2]|0)!=(k|0))Aa()}if((d|0)==(b|0)){c[17679]=c[17679]&~(1<<e);q=k;f=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Aa();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else Aa()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;q=k;f=j;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Aa();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Aa();a=e+12|0;if((c[a>>2]|0)!=(k|0))Aa();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Aa()}while(0);if(g){a=c[k+28>>2]|0;b=71020+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[17680]=c[17680]&~(1<<a);q=k;f=j;break}}else{if(g>>>0<(c[17683]|0)>>>0)Aa();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[g+20>>2]=i;if(!i){q=k;f=j;break}}d=c[17683]|0;if(i>>>0<d>>>0)Aa();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Aa();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[17683]|0)>>>0)Aa();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;f=j;break}else{q=k;f=j}}else{q=k;f=j}}else{q=d;f=e}while(0);if(q>>>0>=n>>>0)Aa();a=n+4|0;b=c[a>>2]|0;if(!(b&1))Aa();if(!(b&2)){if((n|0)==(c[17685]|0)){p=(c[17682]|0)+f|0;c[17682]=p;c[17685]=q;c[q+4>>2]=p|1;if((q|0)!=(c[17684]|0))return;c[17684]=0;c[17681]=0;return}if((n|0)==(c[17684]|0)){p=(c[17681]|0)+f|0;c[17681]=p;c[17684]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}f=(b&-8)+f|0;e=b>>>3;do if(b>>>0>=256){g=c[n+24>>2]|0;a=c[n+12>>2]|0;do if((a|0)==(n|0)){d=n+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){m=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[17683]|0)>>>0)Aa();else{c[b>>2]=0;m=a;break}}else{b=c[n+8>>2]|0;if(b>>>0<(c[17683]|0)>>>0)Aa();d=b+12|0;if((c[d>>2]|0)!=(n|0))Aa();e=a+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=a;c[e>>2]=b;m=a;break}else Aa()}while(0);if(g|0){a=c[n+28>>2]|0;b=71020+(a<<2)|0;if((n|0)==(c[b>>2]|0)){c[b>>2]=m;if(!m){c[17680]=c[17680]&~(1<<a);break}}else{if(g>>>0<(c[17683]|0)>>>0)Aa();a=g+16|0;if((c[a>>2]|0)==(n|0))c[a>>2]=m;else c[g+20>>2]=m;if(!m)break}d=c[17683]|0;if(m>>>0<d>>>0)Aa();c[m+24>>2]=g;a=n+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Aa();else{c[m+16>>2]=b;c[b+24>>2]=m;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[17683]|0)>>>0)Aa();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}}else{b=c[n+8>>2]|0;d=c[n+12>>2]|0;a=70756+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[17683]|0)>>>0)Aa();if((c[b+12>>2]|0)!=(n|0))Aa()}if((d|0)==(b|0)){c[17679]=c[17679]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[17683]|0)>>>0)Aa();a=d+8|0;if((c[a>>2]|0)==(n|0))l=a;else Aa()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=f|1;c[q+f>>2]=f;if((q|0)==(c[17684]|0)){c[17681]=f;return}}else{c[a>>2]=b&-2;c[q+4>>2]=f|1;c[q+f>>2]=f}a=f>>>3;if(f>>>0<256){d=70756+(a<<1<<2)|0;b=c[17679]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[17683]|0)>>>0)Aa();else{o=b;p=a}}else{c[17679]=b|a;o=d;p=d+8|0}c[p>>2]=q;c[o+12>>2]=q;c[q+8>>2]=o;c[q+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;a=(p+245760|0)>>>16&2;a=14-(n|o|a)+(p<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=71020+(a<<2)|0;c[q+28>>2]=a;c[q+20>>2]=0;c[q+16>>2]=0;b=c[17680]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=130;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=127;break}else{b=b<<1;e=a}}if((a|0)==127)if(d>>>0<(c[17683]|0)>>>0)Aa();else{c[d>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((a|0)==130){a=e+8|0;b=c[a>>2]|0;p=c[17683]|0;if(b>>>0>=p>>>0&e>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=e;c[q+24>>2]=0;break}else Aa()}}else{c[17680]=b|d;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[17687]|0)+-1|0;c[17687]=q;if(!q)a=71172;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[17687]=-1;return}function _s(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Ys(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;et(a|0,0,d|0)|0;return a|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Ys(b)|0;return b|0}if(b>>>0>4294967231){c[(Oq()|0)>>2]=12;b=0;return b|0}d=at(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Ys(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;kt(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Zs(a);b=d;return b|0}
+function wh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))$(32);p=q+16|0;m=q+8|0;g=q;h=q+24|0;o=q+20|0;k=((yl(e)|0)+7|0)>>>3;l=k<<1|1;n=jf(l)|0;a[n>>0]=4;f=n+1|0;e=mm(5,f,k,h,b)|0;if(e|0){c[g>>2]=Yp(e)|0;Ke(35668,g)}e=c[h>>2]|0;if(k>>>0>e>>>0){g=k-e|0;lt(f+g|0,f|0,e|0)|0;et(f|0,0,g|0)|0}b=f+k|0;e=mm(5,b,k,h,d)|0;if(e|0){c[m>>2]=Yp(e)|0;Ke(35668,m)}e=c[h>>2]|0;if(k>>>0>e>>>0){m=k-e|0;lt(b+m|0,b|0,e|0)|0;et(b|0,0,m|0)|0}e=km(o,5,n,l,0)|0;if(!e){ef(n);i=q;return c[o>>2]|0}else{c[p>>2]=Yp(e)|0;Ke(35690,p)}return 0}function xh(a,b){a=a|0;b=b|0;var d=0,e=0;d=an(0)|0;e=an(0)|0;if(!(Uk(d,e,a,b)|0))a=wh(d,e,c[b+16>>2]|0)|0;else a=0;Om(d);Om(e);return a|0}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=m+12|0;k=m+8|0;l=m+4|0;e=m;do if((d|0)!=0?(c[d+12>>2]&4|0)!=0:0){d=Rm(d,e)|0;if(!d){d=65;break}else{e=((c[e>>2]|0)+7|0)>>>3;c[h>>2]=e;f=0;g=9;break}}else g=6;while(0);do if((g|0)==6){f=((yl(d)|0)+7|0)>>>3;c[h>>2]=f;e=jf(f)|0;d=mm(5,e,f,h,d)|0;if(!d){d=e;f=e;e=c[h>>2]|0;g=9;break}else{ef(e);break}}while(0);do if((g|0)==9){if(!e){ef(f);d=65;break}if((a[d>>0]|0)!=4){ef(f);d=69;break}e=e+-1|0;if(e&1|0){ef(f);d=65;break}g=e>>>1;c[h>>2]=g;e=d+1|0;d=km(k,5,e,g,0)|0;if(d|0){ef(f);break}d=c[h>>2]|0;d=km(l,5,e+d|0,d,0)|0;ef(f);if(!d){Vm(c[b>>2]|0,c[k>>2]|0)|0;Vm(c[b+4>>2]|0,c[l>>2]|0)|0;Zm(c[b+8>>2]|0,1)|0;Om(c[k>>2]|0);Om(c[l>>2]|0);d=0;break}else{Om(c[k>>2]|0);break}}while(0);i=m;return d|0}function zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=h;if(!d)d=c[b+28>>2]|0;if(!e)e=c[b+44>>2]|0;do if(((d|0)!=0&(e|0)!=0?(c[b+16>>2]|0)!=0:0)?(c[b+20>>2]|0)!=0:0){if((c[b>>2]|0)==2?(c[b+24>>2]|0)==0:0){a=0;break}if((c[b+4>>2]|0)==1?c[b+8>>2]&4096|0:0){if(nh(f,e,b)|0){a=0;break}e=bn(0)|0;jm(e,c[f>>2]|0,32,0);ef(c[f>>2]|0);if(!a){a=Yk(0)|0;if(!a)a=0;else g=15}else g=15;if((g|0)==15)pl(a,e,d,b);Om(e);break}if(!a){a=Yk(0)|0;if(!a){a=0;break}}pl(a,e,d,b)}else a=0;while(0);i=h;return a|0}function Ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+128|0;if((i|0)>=(j|0))$(128);m=o;a:do if(Yh(b,8,0,0)|0)if(!e)b=5;else{Eb[e&1](35895,b,37602,35995);b=5}else switch(b|0){case 2:{b=0;while(1){if((b|0)==64)break;a[m+b>>0]=b;b=b+1|0}b=Bh(2,35711,9,m,64,35721,20)|0;if(!b)if(d){b=48;d=0;while(1){if((d|0)==20)break;a[m+d>>0]=b;b=b+1|0;d=d+1|0}b=Bh(2,35742,9,m,20,35752,20)|0;if(!b){b=80;d=0;while(1){if((d|0)==100)break;a[m+d>>0]=b;b=b+1|0;d=d+1|0}b=Bh(2,35773,9,m,100,35783,20)|0;if(!b){b=112;d=0;while(1){if((d|0)==49)break;a[m+d>>0]=b;b=b+1|0;d=d+1|0}b=Bh(2,35804,9,m,49,35814,20)|0;if(!b)b=0;else{d=35880;n=17}}else{d=35865;n=17}}else{d=35850;n=17}}else b=0;else{d=35835;n=17}if((n|0)==17)if(!e)b=50;else{Eb[e&1](35895,2,d,b);b=50}break a}case 11:{d=(d|0)==0;b=0;while(1){f=c[2788+(b*40|0)>>2]|0;if(!f){b=0;break a}m=c[2788+(b*40|0)+4>>2]|0;n=yr(m)|0;g=c[2788+(b*40|0)+8>>2]|0;g=Bh(11,m,n,g,yr(g)|0,2788+(b*40|0)+12|0,28)|0;if(g|0)break;if(d){b=0;break a}else b=b+1|0}if(!e){b=50;break a}Eb[e&1](35895,11,f,g);b=50;break a}case 8:{h=(d|0)==0;g=0;while(1){l=c[3068+(g*44|0)>>2]|0;if(!l){b=0;break a}f=3068+(g*44|0)+4|0;q=c[f>>2]|0;p=yr(q)|0;d=3068+(g*44|0)+8|0;b=c[d>>2]|0;k=3068+(g*44|0)+12|0;b=Bh(8,q,p,b,yr(b)|0,k,32)|0;if(b|0)break;d=c[d>>2]|0;d=hn(d,yr(d)|0)|0;if(!d){b=35900;break}b=c[f>>2]|0;jn(d,b,yr(b)|0);b=nn(d,m)|0;if(!b){n=31;break}if((c[m>>2]|0)!=32){n=34;break}if(_r(b,k,32)|0){n=34;break}ln(d);if(h){b=0;break a}else g=g+1|0}if((n|0)==31){ln(d);b=35925}else if((n|0)==34){ln(d);b=35955}if(!e){b=50;break a}Eb[e&1](35895,8,l,b);b=50;break a}case 9:{d=(d|0)==0;b=0;while(1){f=c[3376+(b*60|0)>>2]|0;if(!f){b=0;break a}p=c[3376+(b*60|0)+4>>2]|0;q=yr(p)|0;g=c[3376+(b*60|0)+8>>2]|0;g=Bh(9,p,q,g,yr(g)|0,3376+(b*60|0)+12|0,48)|0;if(g|0)break;if(d){b=0;break a}else b=b+1|0}if(!e){b=50;break a}Eb[e&1](35895,9,f,g);b=50;break a}case 10:{d=(d|0)==0;b=0;while(1){f=c[3796+(b*76|0)>>2]|0;if(!f){b=0;break a}p=c[3796+(b*76|0)+4>>2]|0;q=yr(p)|0;g=c[3796+(b*76|0)+8>>2]|0;g=Bh(10,p,q,g,yr(g)|0,3796+(b*76|0)+12|0,64)|0;if(g|0)break;if(d){b=0;break a}else b=b+1|0}if(!e){b=50;break a}Eb[e&1](35895,10,f,g);b=50;break a}default:{b=5;break a}}while(0);i=o;return ((b|0)==0?0:b&65535|16777216)|0}function Bh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=l;do if((Xh(a)|0)==(h|0))if(!(Fh(k,a,2)|0)){f=(Sh(c[k>>2]|0,e,f)|0)==0;e=c[k>>2]|0;if(!f){Mh(e);e=36678;break}Nh(e,b,d);e=Uh(c[k>>2]|0,a)|0;if(!e){Mh(c[k>>2]|0);e=36700;break}else{e=(_r(e,g,h)|0)==0;Mh(c[k>>2]|0);e=e?0:36663;break}}else e=49542;else e=36720;while(0);i=l;return e|0}function Ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;a:do if(!a)b=0;else{if((Yr(a,36739,4)|0)!=0?(Yr(a,36744,4)|0)!=0:0)f=a;else f=a+4|0;d=0;b:while(1){h=c[4328+(d<<2)>>2]|0;if((d|0)==6){d=0;break}g=c[h+20>>2]|0;c:do if(g|0){b=0;while(1){e=c[g+(b<<2)>>2]|0;if(!e)break c;if(!(Jr(f,e)|0)){d=0;i=11;break b}else b=b+1|0}}while(0);d=d+1|0}d:do if((i|0)==11){while(1){b=c[g+(d<<2)>>2]|0;if(!b){d=0;break d}if(!(Jr(f,b)|0))break;else{d=d+1|0;i=11}}b=c[h>>2]|0;break a}while(0);while(1){b=c[4328+(d<<2)>>2]|0;if((d|0)==6){b=0;break a}if(!(Jr(a,c[b+8>>2]|0)|0))break;else d=d+1|0}b=c[b>>2]|0}while(0);return b|0}function Dh(a){a=a|0;a=Eh(a)|0;if(!a)a=37509;else a=c[a+8>>2]|0;return a|0}function Eh(a){a=a|0;var b=0,d=0;d=0;while(1){b=c[4328+(d<<2)>>2]|0;if((d|0)==6){b=0;break}if((c[b>>2]|0)==(a|0))break;else d=d+1|0}return b|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;if(!(d&-260)){d=Gh(e,b,d)|0;b=c[e>>2]|0}else{d=45;b=0}c[a>>2]=d|0?0:b;i=f;return d|0}function Gh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=e&1;j=(h|0)!=0;k=(e&2|0)==0;h=(h<<9^512)+535&1552;i=h+28|0;if(j)l=bf(i)|0;else l=_e(i)|0;if(!((l|0)==0?(f=Zp(c[(Oq()|0)>>2]|0)|0,(f|0)!=0):0))g=6;do if((g|0)==6){g=l+h|0;c[l>>2]=g;c[l+8>>2]=h+-15;c[l+4>>2]=0;h=g+4+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[g>>2]=j?378630161:285677921;c[g+4>>2]=i;a[g+12>>0]=e>>>6&4|e&1;if(!k){switch(d|0){case 10:case 9:{c[g+24>>2]=128;f=256;break}case 311:case 308:{c[g+24>>2]=32;f=64;break}default:{c[g+24>>2]=64;f=128}}k=bf(f)|0;c[g+20>>2]=k;if((k|0)==0?(m=Zp(c[(Oq()|0)>>2]|0)|0,Hh(l),m|0):0){f=m;break}}Nk();if(d|0?(n=Ih(l,d)|0,n|0):0){Hh(l);f=n;break}c[b>>2]=l;f=0}while(0);return f|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(b|0){d=c[b>>2]|0;if(c[d+8>>2]|0){Jh(b);d=c[b>>2]|0}i=c[d+16>>2]|0;while(1){if(!i)break;j=c[i+4>>2]|0;e=i;d=c[i+8>>2]|0;while(1){if(!((d|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;e=e+1|0;d=d+-1|0}if(d>>>0>=8){g=d+-8|0;h=g&-8;f=e+8|0;while(1){k=e;c[k>>2]=0;c[k+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}e=f+h|0;d=g-h|0}while(1){if(!d)break;a[e>>0]=0;e=e+1|0;d=d+-1|0}ef(i);i=j}d=c[b>>2]|0;e=c[d+20>>2]|0;if(e){f=c[d+24>>2]<<1;d=e;while(1){if(!((f|0)!=0&(d&7|0)!=0))break;a[d>>0]=0;f=f+-1|0;d=d+1|0}if(f>>>0<8)e=f;else{g=f+-8|0;h=g&-8;i=h+8|0;e=d;while(1){k=e;c[k>>2]=0;c[k+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else e=e+8|0}e=g-h|0;d=d+i|0}while(1){if(!e)break;a[d>>0]=0;e=e+-1|0;d=d+1|0}ef(c[(c[b>>2]|0)+20>>2]|0);d=c[b>>2]|0}e=c[d+4>>2]|0;d=b;while(1){if(!((e|0)!=0&(d&7|0)!=0))break;a[d>>0]=0;e=e+-1|0;d=d+1|0}if(e>>>0>=8){g=e+-8|0;h=g&-8;i=h+8|0;f=d;while(1){k=f;c[k>>2]=0;c[k+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-h|0;d=d+i|0}while(1){if(!e)break;a[d>>0]=0;e=e+-1|0;d=d+1|0}ef(b)}return}function Ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=k;g=c[b>>2]|0;h=g+16|0;b=h;while(1){b=c[b>>2]|0;if(!b){f=4;break}if((c[c[b>>2]>>2]|0)==(d|0)){b=0;break}else b=b+4|0}do if((f|0)==4){f=Eh(d)|0;if(!f){c[e>>2]=d;Me(36749,e);b=5;break}if(((d|0)==1?wg()|0:0)?(zg(36788),xg()|0):0){b=5;break}e=(c[f+44>>2]|0)+16|0;d=g+12|0;if(!(a[d>>0]&1))b=_e(e)|0;else b=bf(e)|0;if(!b){b=Zp(c[(Oq()|0)>>2]|0)|0;break}else{c[b>>2]=f;c[b+4>>2]=c[h>>2];c[b+8>>2]=e;c[h>>2]=b;xb[c[f+28>>2]&7](b+16|0,(a[d>>0]&4)<<6);b=0;break}}while(0);i=k;return b|0}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))$(32);d=g+16|0;e=g+8|0;f=g;b=c[(c[a>>2]|0)+8>>2]|0;if(b|0){if(c[a+4>>2]|0){Kh(a,0,0);b=c[(c[a>>2]|0)+8>>2]|0}fs(b)|0;c[(c[a>>2]|0)+8>>2]=0}c[d>>2]=a;a=e;c[a>>2]=42;c[a+4>>2]=0;e=st(c[d>>2]|0,0,c[e>>2]|0,c[e+4>>2]|0)|0;c[f>>2]=e;c[f+4>>2]=D;i=g;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[(c[a>>2]|0)+8>>2]|0;h=a+4|0;if(e|0){f=c[h>>2]|0;if(f|0?(os(a+12|0,f,1,e)|0)!=1:0)Fe(36797,630,36802);if(d|0?(os(b,d,1,c[(c[a>>2]|0)+8>>2]|0)|0)!=1:0)Fe(36797,632,36802)}g=a+12|0;e=(c[a>>2]|0)+16|0;while(1){f=c[e>>2]|0;if(!f)break;e=c[h>>2]|0;if(!e)e=f+16|0;else{a=f+16|0;zb[c[(c[f>>2]|0)+32>>2]&7](a,g,e);e=a}zb[c[(c[f>>2]|0)+32>>2]&7](e,b,d);e=f+4|0}c[h>>2]=0;return}function Lh(b){b=b|0;var d=0,e=0,f=0;d=(c[b>>2]|0)+12|0;a[d>>0]=a[d>>0]&-3;c[b+4>>2]=0;d=(c[b>>2]|0)+16|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+16|0;f=c[d>>2]|0;et(e|0,0,c[f+44>>2]|0)|0;xb[c[f+28>>2]&7](e,(a[(c[b>>2]|0)+12>>0]&4)<<6);d=d+4|0}d=c[b>>2]|0;e=c[d+20>>2]|0;if(e|0)Kh(b,e,c[d+24>>2]|0);return}function Mh(a){a=a|0;Hh(a);return}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;Kh(a,b,c);return}function Oh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=k;d=c[b>>2]|0;do if(!(a[d+12>>0]&2)){if(c[b+4>>2]|0){Kh(b,0,0);d=c[b>>2]|0}d=d+16|0;while(1){d=c[d>>2]|0;if(!d)break;wb[c[(c[d>>2]|0)+36>>2]&15](d+16|0);d=d+4|0}g=(c[b>>2]|0)+12|0;a[g>>0]=a[g>>0]|2;if(c[(c[b>>2]|0)+20>>2]|0){d=Ph(b)|0;e=Qh(b,d)|0;f=Rh(d)|0;g=a[(c[b>>2]|0)+12>>0]|0;g=Gh(h,d,(g&4)<<6|g&1)|0;if(!g){h=c[h>>2]|0;g=c[b>>2]|0;b=c[g+24>>2]|0;Kh(h,(c[g+20>>2]|0)+b|0,b);Kh(h,e,f);Oh(h);kt(e|0,Qh(h,d)|0,f|0)|0;Hh(h);break}else ze(g,0)}}while(0);i=k;return}function Ph(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=d;a=c[(c[a>>2]|0)+16>>2]|0;if(!a)a=0;else{if(c[a+4>>2]|0){Ag(36797,980,36858,0,36870);Je(36891,b)}a=c[c[a>>2]>>2]|0}i=d;return a|0}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=e;a=c[(c[a>>2]|0)+16>>2]|0;a:do if(!b)if(!a)d=10;else{if(c[a+4>>2]|0)Me(36811,d);a=yb[c[(c[a>>2]|0)+40>>2]&15](a+16|0)|0;d=11}else{while(1){if(!a){d=10;break a}d=c[a>>2]|0;if((c[d>>2]|0)==(b|0))break;a=c[a+4>>2]|0}a=yb[c[d+40>>2]&15](a+16|0)|0;d=11}while(0);if((d|0)==10)Fe(36797,816,36850);else if((d|0)==11){i=e;return a|0}return 0}function Rh(a){a=a|0;a=Eh(a)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function Sh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;a:do if(c[(c[b>>2]|0)+20>>2]|0){h=Ph(b)|0;if(!h)g=5;else{i=c[b>>2]|0;g=c[i+24>>2]|0;do if(g>>>0<f>>>0){i=bf(Rh(h)|0)|0;if(!i){g=Zp(c[(Oq()|0)>>2]|0)|0;if(!g)break;else break a}Th(h,i,e,f);e=Rh(h)|0;h=c[b>>2]|0;g=c[h+24>>2]|0;if(e>>>0>g>>>0)Ge(36942,36797,716,36975);else{j=i;k=i;f=e;l=7}}else{j=e;k=0;h=i;l=7}while(0);if((l|0)==7){et(c[h+20>>2]|0,0,g<<1|0)|0;h=c[b>>2]|0;e=c[h+20>>2]|0;h=e+(c[h+24>>2]|0)|0;kt(e|0,j|0,f|0)|0;kt(h|0,j|0,f|0)|0;g=0;while(1){if((g|0)>=(c[(c[b>>2]|0)+24>>2]|0))break;l=e+g|0;a[l>>0]=(d[l>>0]|0)^54;l=h+g|0;a[l>>0]=(d[l>>0]|0)^92;g=g+1|0}ef(k)}Lh(b);g=0}}else g=70;while(0);return g|0}function Th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=k;g=k+8|0;a:do switch(a|0){case 2:{Tj(b,d,e);break}case 3:if(!(wg()|0)){nj(b,d,e);break a}else{f=10;break a}default:if(((a|0)==1?(wg()|0)!=0:0)?(zg(36788),(xg()|0)!=0):0)sg();else f=10}while(0);do if((f|0)==10){f=Gh(g,a,0)|0;if(!f){h=c[g>>2]|0;Kh(h,d,e);Oh(h);g=Qh(h,a)|0;kt(b|0,g|0,Rh(a)|0)|0;Hh(h);break}else{g=Yp(f&65535|536870912)|0;c[h>>2]=a;c[h+4>>2]=g;Le(36991,h)}}while(0);i=k;return}function Uh(a,b){a=a|0;b=b|0;Oh(a);return Qh(a,b)|0}function Vh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=l;a:do if((b&-3|0)==0&((e|0)!=0&(f|0)>-1)?(g=b&2,k=(g|0)!=0,!(k&(f|0)<1)):0){if(!((a|0)!=2|k)){Uj(d,e,f);b=0;break}if(((a|0)==1?wg()|0:0)?(zg(36788),xg()|0):0)sg();b=Gh(h,a,g)|0;b:do if(!b){g=c[h>>2]|0;do if(k){b=Sh(g,(c[e+12>>2]|0)+(c[e+4>>2]|0)|0,c[e+8>>2]|0)|0;if(!b){f=f+-1|0;b=e+16|0;break}else{Hh(g);break b}}else b=e;while(0);while(1){if(!f)break;Kh(g,(c[b+12>>2]|0)+(c[b+4>>2]|0)|0,c[b+8>>2]|0);f=f+-1|0;b=b+16|0}Oh(g);b=Qh(g,a)|0;kt(d|0,b|0,Rh(a)|0)|0;Hh(g);b=0;break a}while(0)}else b=45;while(0);i=l;return b|0}function Wh(a){a=a|0;return Ph(a)|0}function Xh(a){a=a|0;return Rh(a)|0}function Yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=g;a:do switch(b|0){case 8:{if((d|0)!=0|(e|0)!=0)b=45;else b=Zh(a)|0;break}case 10:{b=Zh(a)|0;if(!b){b=Eh(a)|0;if(!b){c[f>>2]=a;Le(37027,f)}a=c[b+16>>2]|0;b=c[b+12>>2]|0;f=(d|0)!=0;if(f){if((c[e>>2]|0)>>>0>=a>>>0){kt(d|0,b|0,a|0)|0;c[e>>2]=a;b=0;break a}}else if(e|0){c[e>>2]=a;b=0;break a}b=f?66:45}break}case 57:{if(!e)b=0;else b=c[e>>2]|0;b=(_h(a,b,0)|0)&65535;break}default:b=61}while(0);i=g;return b|0}function Zh(b){b=b|0;b=Eh(b)|0;if((b|0)!=0?(a[b+4>>0]&1)==0:0)b=0;else b=5;return b|0}function _h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Eh(b)|0;h=(g|0)!=0;do if(h){f=c[g+48>>2]|0;if(a[g+4>>0]&1){d=f|0?5:69;i=6;break}if(f)d=ub[f&63](b,d,e)|0;else{d=69;i=6}}else{d=69;i=6}while(0);if((i|0)==6)if(e){if(h?(a[g+4>>0]&1)==0:0)f=37580;else f=h?37541:37560;Eb[e&1](42717,b,37602,f)}return ((d|0)==0?0:d&65535|16777216)|0}function $h(){return 0}function ai(){return 0}function bi(a,b){a=a|0;b=b|0;c[17584]=a;c[17585]=b;return}function ci(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=di(a,1,b,c,d)|0;ei(10);return d|0}function di(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=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;E=i;i=i+16|0;if((i|0)>=(j|0))$(16);C=E+8|0;h=E;B=E+12|0;if(a>>>0<16){c[h>>2]=16;Ke(37065,h)}y=jf(2672)|0;z=Fm(2)|0;A=Fm(3)|0;r=(b|0)!=0;if(r)s=bn(a)|0;else s=an(a)|0;t=Wm(s)|0;u=Wm(s)|0;v=Wm(s)|0;c[B>>2]=0;w=a+-1|0;x=a+-2|0;p=w-b|0;q=(f|0)==0;a:while(1){dn(s,a,d);Bl(s,w);if(r)Al(s,x);Al(s,0);h=0;while(1){if((h|0)==668){h=0;o=0;break}c[y+(h<<2)>>2]=Nl(0,s,e[16264+(h<<1)>>1]|0)|0;h=h+1|0}while(1){if(o>>>0<2e4)b=0;else break;while(1){k=e[16264+(b<<1)>>1]|0;if((b|0)==668){D=18;break}l=y+(b<<2)|0;n=c[l>>2]|0;while(1){m=n+o|0;if(m>>>0<k>>>0)break;m=n-k|0;c[l>>2]=m;n=m}if(!m)break;else b=b+1|0}if((D|0)==18){D=0;rl(v,s,o);c[B>>2]=(c[B>>2]|0)+1;tl(u,v,1);dm(t,z,u,v);if((Il(t,1)|0)==0?fi(v,5,B)|0:0){if(!(zl(v,p)|0)){D=21;break}if(q)break a;if(!(Db[f&7](g,v)|0))break a;ei(47)}h=h+1|0;if((h|0)==10){ei(46);h=0}}o=o+2|0}if((D|0)==21){D=0;ei(10);Me(37112,C)}ei(58)}Om(z);Om(A);Om(t);Om(u);Om(s);ef(y);i=E;return v|0}function ei(a){a=a|0;var b=0;b=c[17584]|0;if(b|0)vb[b&15](c[17585]|0,37056,a,0,0);return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;m=Gm(c[k>>2]|0)|0;n=Gm(c[k>>2]|0)|0;o=Gm(c[k>>2]|0)|0;k=Gm(c[k>>2]|0)|0;l=Fm(2)|0;i=yl(a)|0;b=(b|0)<5?5:b;tl(k,a,1);j=Tm(k)|0;g=fm(j)|0;Ql(j,j,g);h=i+-2|0;e=0;a:while(1){if(e>>>0>=b>>>0){b=1;e=17;break}c[d>>2]=(c[d>>2]|0)+1;if(e){dn(m,i,0);f=(zl(m,h)|0)==0;Bl(m,h);if(f)Dl(m,h);if((Jl(m,k)|0)>=0){e=9;break}if((Il(m,1)|0)<=0){e=9;break}}else Zm(m,2)|0;dm(n,m,j,a);if(Il(n,1)|0?Jl(n,k)|0:0){f=1;while(1){if(f>>>0>=g>>>0)break;if(!(Jl(n,k)|0))break;dm(n,n,l,a);if(!(Il(n,1)|0)){b=0;e=17;break a}else f=f+1|0}if(Jl(n,k)|0){b=0;e=17;break}}ei(43);e=e+1|0}if((e|0)==9)Ge(37142,37214,951,37225);else if((e|0)==17){Om(m);Om(n);Om(o);Om(k);Om(j);Om(l);return b|0}return 0}function gi(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))$(16);l=n;c[l>>2]=0;h=0;while(1){k=e[16264+(h<<1)>>1]|0;if((h|0)==668){m=5;break}if(!(Rl(a,k)|0))h=h+1|0;else{m=4;break}}do if((m|0)==4)h=(Il(a,k)|0)==0&1;else if((m|0)==5){h=Wm(a)|0;k=Wm(a)|0;tl(k,a,1);dm(h,b,k,a);Om(k);k=(Il(h,1)|0)==0;Om(h);if(!k){ei(46);h=0;break}h=(f|0)!=0;if(!(h?!(ub[f&63](g,2,a)|0):0))m=9;if((m|0)==9?fi(a,d,l)|0:0){if(!h){h=1;break}if(ub[f&63](g,1,a)|0){h=1;break}}ei(46);h=0}while(0);i=n;return h|0}function hi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!((e|0)==0|(a|0)!=0&(b|0)!=0&(d|0)!=0^1)?(zl(e,0)|0)!=0:0){j=ii(b)|0;h=ii(d)|0;i=Wm(a)|0;bm(i,j,h);d=Wm(j)|0;Yl(d,h,j)|0;bm(d,d,h);b=Wm(h)|0;Yl(b,j,h)|0;bm(b,b,j);ul(d,d,b);if(c[d+8>>2]|0)sl(d,d,i);wl(b,d,a,i);sl(b,b,a);Om(d);if((Jl(b,a)|0)<0)sl(b,b,i);d=Fm(2)|0;a=Wm(b)|0;tl(i,i,1);tl(b,b,1);while(1){k=Sl(a,e,b)|0;rl(b,b,1);if(k){if(gi(b,d,64,0,0)|0)break}else ei(47);sl(b,b,i)}Om(a);Om(d);Om(i);ei(10);if(!f)Om(j);else c[f>>2]=j;if(!g){Om(h);break}else{c[g>>2]=h;break}}else b=0;while(0);return b|0}function ii(a){a=a|0;var b=0;b=Fm(2)|0;a=Tm(a)|0;Al(a,0);while(1){if(gi(a,b,64,0,0)|0)break;rl(a,a,2)}Om(b);return a|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;if((i|0)>=(j|0))$(16);o=p;if(!a){m=0;k=0;l=5;n=0;g=0}else{m=0;k=0;l=5;n=(Bf(a)|0)+-1|0;g=0}while(1){if((n|0)<=0)break;f=Df(a,n,o)|0;a:do if(!f){h=m;e=k;f=l}else do switch(c[o>>2]|0){case 3:{e=(l|0)==5;if(e&(_r(f,37234,3)|0)==0){h=m;e=k|4;f=4;break a}if(e&(_r(f,37238,3)|0)==0){h=m;e=k|16;f=0;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}case 4:{if(!(_r(f,37242,4)|0)){h=m;e=k|1024;f=l;break a}if((l|0)==5&(_r(f,37247,4)|0)==0){h=m;e=k|4;f=3;break a}if(!(_r(f,49463,4)|0)){h=m;e=k|8192;f=0;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}case 5:{if(!(_r(f,49457,5)|0)){h=m;e=k|4096;f=0;break a}if((l|0)==5&(_r(f,37252,5)|0)==0){h=m;e=k|4;f=1;break a}if(!(_r(f,37258,5)|0)){h=m;e=k|512;f=l;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}case 6:if(!(_r(f,37264,6)|0)){h=m;e=k|2048;f=l;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}case 7:if(!(_r(f,37271,7)|0)){h=m;e=k|2;f=l;break a}else{q=(m|0)!=0|(_r(f,37279,7)|0)==0;h=m;e=k;f=l;g=q?g:72;break a}case 8:if(!(_r(f,41359,8)|0)){h=m;e=k|64;f=l;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}case 9:if((l|0)==5&(_r(f,37287,9)|0)==0){h=m;e=k|4;f=2;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}case 10:{if(!(_r(f,37297,10)|0)){h=1;e=k;f=l;break a}if(!(_r(f,37308,10)|0)){h=m;e=k|16384;f=l;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}case 11:{if(!(_r(f,37319,11)|0)){h=m;e=k|1;f=l;break a}if(!(_r(f,37331,11)|0)){h=m;e=k|128;f=l;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}case 13:{if(!(_r(f,37343,13)|0)){h=m;e=k|256;f=l;break a}if(!(_r(f,48475,13)|0)){h=m;e=k|32;f=l;break a}else{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}default:{h=m;e=k;f=l;g=(m|0)==0?72:g;break a}}while(0);while(0);m=h;k=e;l=f;n=n+-1|0}if(b|0)c[b>>2]=k;if(d|0)c[d>>2]=l;i=p;return g|0}function ki(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=k+4|0;e=k;c[d>>2]=0;f=Af(b,37357,0)|0;do if(f){g=Df(f,1,e)|0;b=c[e>>2]|0;if((g|0)==0|b>>>0>48){yf(f);b=65;break}else{kt(h|0,g|0,b|0)|0;a[h+b>>0]=0;c[d>>2]=Nr(h,0,0)|0;yf(f);b=0;break}}else b=0;while(0);i=k;return b|0}function li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+64|0;if((i|0)>=(j|0))$(64);h=k+4|0;e=k;c[d>>2]=0;f=Af(b,37363,0)|0;do if(f){g=Df(f,1,e)|0;b=c[e>>2]|0;if((g|0)==0|b>>>0>48){yf(f);b=65;break}else{kt(h|0,g|0,b|0)|0;a[h+b>>0]=0;c[d>>2]=Nr(h,0,0)|0;yf(f);b=0;break}}else{c[d>>2]=65537;b=0}while(0);i=k;return b|0}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[d>>2]=0;i=(e|0)!=0;if(i)c[e>>2]=0;j=Af(a,37373,0)|0;a:do if(j){a=Cf(j,1)|0;if(a){f=Gf(a,0)|0;if(!f){g=65;f=0}else{if(!(Wq(f,46728)|0)){yf(a);a=Cf(j,2)|0;if(!a){g=65;a=0;break}ef(f);f=Gf(a,0)|0;if(!f){g=65;f=0;break}}g=0;while(1){h=c[b+(g<<2)>>2]|0;if(!h){g=70;break a}if(!(Jr(f,h)|0))break;else g=g+1|0}if(i){if(!(Wq(f,49457)|0))c[e>>2]=4096;if(!(Wq(f,49463)|0))c[e>>2]=8192}c[d>>2]=a;g=0;a=0}}else{g=68;f=0;a=0}}else{g=65;f=0;a=0}while(0);ef(f);yf(a);yf(j);return g|0}function ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=n+4|0;l=n;c[l>>2]=0;c[d>>2]=0;m=Af(a,40529,0)|0;a:do if(m){f=Cf(m,1)|0;if(f){h=Gf(f,0)|0;if(!h){g=0;a=65}else{if(!(Wq(h,46728)|0)){g=e+8|0;a=ji(f,l,g)|0;if(a|0){g=h;break}b:do switch(c[g>>2]|0){case 4:{g=h;a=70;break a}case 3:{yf(f);f=Af(m,37381,0)|0;if(f|0){a=Df(f,1,k)|0;if(!a){g=h;a=68;break a}g=oi(a,c[k>>2]|0)|0;c[e+16>>2]=g;if(!g){g=h;a=5;break a}}yf(f);f=Af(m,37391,0)|0;if(f){g=Df(f,1,k)|0;if(!g){g=h;a=68;break a}a=c[k>>2]|0;if(a){a=_e(a)|0;c[e+20>>2]=a;if(!a){a=$p()|0;if(!a){g=2;break b}else{g=h;break a}}else{o=c[k>>2]|0;kt(a|0,g|0,o|0)|0;c[e+24>>2]=o;g=2;break b}}else g=2}else{g=2;f=0}break}default:g=2}while(0);c:while(1){yf(f);f=Cf(m,g)|0;if(!f){g=h;f=0;a=68;break a}a=Df(f,0,k)|0;switch(c[k>>2]|0){case 9:{if(_r(a,37381,9)|0)break c;break}case 5:{if(_r(a,37391,5)|0)break c;break}case 15:{if(_r(a,37397,15)|0)break c;break}default:break c}g=g+1|0}ef(h);a=Gf(f,0)|0;if(!a){g=0;a=65;break}}else{c[l>>2]=8;a=h}g=0;while(1){h=c[b+(g<<2)>>2]|0;if(!h){g=a;a=70;break a}if(!(Jr(a,h)|0))break;else g=g+1|0}c[d>>2]=f;g=e+12|0;c[g>>2]=c[g>>2]|c[l>>2];g=a;f=0;a=0}}else{g=0;f=0;a=68}}else{g=0;f=0;a=65}while(0);ef(g);yf(f);yf(m);i=n;return a|0}function oi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){if((f|0)==12){g=7;break}e=c[4356+(f<<3)>>2]|0;if((yr(e)|0)==(d|0)?(_r(e,b,d)|0)==0:0){g=6;break}f=f+1|0}if((g|0)==6)e=c[4356+(f<<3)+4>>2]|0;else if((g|0)==7){e=_e(d+1|0)|0;if(!e)e=0;else{kt(e|0,b|0,d|0)|0;a[e+d>>0]=0;d=Ch(e)|0;ef(e);e=d}}return e|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=5;c[a+12>>2]=0;c[a+16>>2]=2;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=20;c[a+32>>2]=0;c[a+36>>2]=0;return}function qi(a){a=a|0;ef(c[a+20>>2]|0);return}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;v=i;i=i+16|0;if((i|0)>=(j|0))$(16);q=v+8|0;t=v+4|0;r=v;c[t>>2]=0;c[b>>2]=0;u=Af(a,37487,0)|0;do if(u){a=Af(u,46728,0)|0;f=d+8|0;if(!a)a=0;else{s=(ji(a,t,f)|0)!=0&1;yf(a);a=s}if((c[f>>2]|0)==5)c[f>>2]=0;s=Af(u,37492,0)|0;h=(s|0)!=0;if(!h){e=Af(u,40541,0)|0;if(!e){a=65;e=0}else{g=1;k=9}}else{e=0;g=0;k=9}do if((k|0)==9)if(!a){f=c[f>>2]|0;a=(f|0)==0;if(a){if(c[t>>2]&4096|0){do if(g?(p=Af(u,37381,0)|0,(p|0)!=0):0){a=Df(p,1,q)|0;if(a){q=oi(a,c[q>>2]|0)|0;c[d+16>>2]=q;if(!q)a=5;else{yf(p);a=Ff(e,1,r)|0;if(!a){c[r>>2]=0;a=_e(1)|0;if(!a){a=$p()|0;if(!a)a=0;else break}}else{q=c[r>>2]|0;if(q<<3>>>0<q>>>0){ef(a);a=67;break}}c[b>>2]=Pm(0,a,c[r>>2]<<3)|0;a=0;break}}else a=68;yf(p)}else a=65;while(0);break}if(h&a?c[t>>2]&18|0:0){if((Bf(s)|0)!=3){a=65;break}f=Df(s,1,q)|0;a=c[q>>2]|0;if(!((f|0)!=0&(a|0)!=0)){a=65;break}q=oi(f,a)|0;c[d+16>>2]=q;do if(q){f=Ff(s,2,r)|0;if(f){r=c[r>>2]|0;a=r<<3;if(a>>>0<r>>>0){ef(f);a=67;break}else{c[b>>2]=Pm(0,f,a)|0;a=0;break}}else a=65}else a=5;while(0);break}if(g&a){if(c[t>>2]&2|0){a=70;break}a=Hf(e,1,5)|0;c[b>>2]=a;a=(a|0)==0?65:0;break}else a=0}else{a=(f|0)==1;if(g&a?(c[d>>2]|0)==0:0){h=Df(e,1,r)|0;a:do if((h|0)!=0&(c[r>>2]|0)!=0){g=Af(u,37397,0)|0;b:do if(!g){f=0;a=0}else{f=Df(g,1,q)|0;if(!f){yf(g);a=68;break a}a=c[q>>2]|0;do if(a){a=_e(a)|0;if(!a){a=$p()|0;yf(g);if(!a){f=0;a=0;break b}else break a}else{q=c[q>>2]|0;kt(a|0,f|0,q|0)|0;f=q;break}}else{f=0;a=0}while(0);yf(g)}while(0);b=oj(b,c[d+4>>2]|0,h,c[r>>2]|0,a,f)|0;ef(a);a=b}else a=65;while(0);break}}if(h&a?(c[d>>2]&-2|0)==2:0){if((Bf(s)|0)!=3){a=65;break}f=Df(s,1,q)|0;a=c[q>>2]|0;if(!((f|0)!=0&(a|0)!=0)){a=65;break}q=oi(f,a)|0;f=d+16|0;c[f>>2]=q;if(q){g=Df(s,2,r)|0;a=c[r>>2]|0;if((g|0)!=0&(a|0)!=0)a=qj(b,c[d+4>>2]|0,g,a,c[f>>2]|0)|0;else a=65}else a=5;break}if(g&(f|0)==2?(c[d>>2]&-2|0)==2:0){if((Bf(e)|0)==2?(l=Df(e,1,r)|0,m=c[r>>2]|0,(l|0)!=0&(m|0)!=0):0)a=rj(b,c[d+4>>2]|0,l,m)|0;else a=65;break}if(g&(f|0)==3?(c[d>>2]|0)==0:0){h=Df(e,1,r)|0;c:do if((h|0)!=0&(c[r>>2]|0)!=0){f=Af(u,37381,0)|0;do if(f|0){a=Df(f,1,q)|0;if(a){p=oi(a,c[q>>2]|0)|0;c[d+16>>2]=p;if(!p)a=5;else{yf(f);break}}else a=68;yf(f);break c}while(0);g=Af(u,37391,0)|0;d:do if(g|0){f=Df(g,1,q)|0;if(!f){yf(g);a=68;break c}a=c[q>>2]|0;do if(a|0){a=_e(a)|0;c[d+20>>2]=a;if(!a){a=$p()|0;yf(g);if(!a)break d;else break c}else{p=c[q>>2]|0;kt(a|0,f|0,p|0)|0;c[d+24>>2]=p;break}}while(0);yf(g)}while(0);g=Af(u,37397,0)|0;e:do if(!g){f=0;a=0}else{f=Df(g,1,q)|0;if(!f){yf(g);a=68;break c}a=c[q>>2]|0;do if(a){a=_e(a)|0;if(!a){a=$p()|0;yf(g);if(!a){f=0;a=0;break e}else break c}else{q=c[q>>2]|0;kt(a|0,f|0,q|0)|0;f=q;break}}else{f=0;a=0}while(0);yf(g)}while(0);b=sj(b,c[d+4>>2]|0,c[d+16>>2]|0,h,c[r>>2]|0,c[d+20>>2]|0,c[d+24>>2]|0,a,f)|0;ef(a);a=b}else a=65;while(0);break}if(h&(f|0)==4){if((c[d>>2]|0)!=2){if((c[d>>2]|0)!=3){a=70;break}if((Bf(s)|0)!=3){a=65;break}f=Df(s,1,q)|0;a=c[q>>2]|0;if(!((f|0)!=0&(a|0)!=0)){a=65;break}r=oi(f,a)|0;c[d+16>>2]=r;if(!r){a=5;break}a=Hf(s,2,5)|0;c[b>>2]=a;c[d+32>>2]=5;c[d+36>>2]=c[b>>2];a=(a|0)==0?65:0;break}if((Bf(s)|0)==3?(n=Df(s,1,q)|0,o=c[q>>2]|0,(n|0)!=0&(o|0)!=0):0){p=oi(n,o)|0;h=d+16|0;c[h>>2]=p;f:do if(p){k=Df(s,2,r)|0;if((k|0)!=0&(c[r>>2]|0)!=0){a=Af(u,37497,0)|0;if(a|0){f=Df(a,1,q)|0;if(!f){a=68;break}c[d+28>>2]=Nr(f,0,10)|0;yf(a)}g=Af(u,37397,0)|0;g:do if(!g){f=0;a=0}else{f=Df(g,1,q)|0;if(!f){yf(g);a=68;break f}a=c[q>>2]|0;do if(a){a=_e(a)|0;if(!a){a=$p()|0;yf(g);if(!a){f=0;a=0;break g}else break f}else{q=c[q>>2]|0;kt(a|0,f|0,q|0)|0;f=q;break}}else{f=0;a=0}while(0);yf(g)}while(0);b=vj(b,(c[d+4>>2]|0)+-1|0,c[h>>2]|0,k,c[r>>2]|0,c[d+28>>2]|0,a,f)|0;ef(a);a=b}else a=65}else a=5;while(0)}else a=65}else a=70}else a=72;while(0);yf(u);yf(s);yf(e);if(!a){c[d+12>>2]=c[t>>2];a=0;break}else{u=d+20|0;ef(c[u>>2]|0);c[u>>2]=0;break}}else{a=Hf(a,0,0)|0;c[b>>2]=a;a=a|0?0:65}while(0);i=v;return a|0}function si(a,b){a=a|0;b=b|0;return wj(c[a+36>>2]|0,b,(c[a+4>>2]|0)+-1|0,c[a+16>>2]|0,c[a+28>>2]|0)|0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0;e=0;a:while(1){b=c[4460+(e<<2)>>2]|0;if((e|1|0)!=1){b=0;break}if(!(Jr(a,c[b+12>>2]|0)|0))break;d=c[b+16>>2]|0;while(1){f=c[d>>2]|0;if(!f)break;if(!(Jr(a,f)|0))break a;else d=d+4|0}e=e+1|0}return b|0}function ui(a){a=a|0;a=vi(a)|0;if(!a)a=37509;else a=c[a+12>>2]|0;return a|0}function vi(a){a=a|0;var b=0,d=0;switch(a|0){case 3:case 2:{b=1;break}case 16:{b=20;break}case 301:{b=18;break}case 302:{b=18;break}default:b=a}d=0;while(1){a=c[4460+(d<<2)>>2]|0;if((d|1|0)!=1){a=0;break}if((b|0)==(c[a>>2]|0))break;else d=d+1|0}return a|0}function wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g+4|0;f=g;c[a>>2]=0;d=xi(d,0,e,f)|0;if(!d){d=c[(c[e>>2]|0)+48>>2]|0;if(!d)d=69;else d=ub[d&63](a,b,c[f>>2]|0)|0}yf(c[f>>2]|0);i=g;return d|0}function xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[d>>2]=0;g=(e|0)!=0;if(g)c[e>>2]=0;f=(b|0)!=0;b=Af(a,f?37511:37523,0)|0;if(!(f|(b|0)!=0))b=Af(a,37511,0)|0;do if(b){f=Jf(b)|0;yf(b);b=Gf(f,0)|0;if(!b){yf(f);b=65;break}a=ti(b)|0;ef(b);if(!a){yf(f);b=4;break}c[d>>2]=a;if(g){c[e>>2]=f;b=0;break}else{yf(f);b=0;break}}else b=65;while(0);return b|0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g+4|0;f=g;c[a>>2]=0;d=xi(d,1,e,f)|0;if(!d){d=c[(c[e>>2]|0)+52>>2]|0;if(!d)d=69;else d=ub[d&63](a,b,c[f>>2]|0)|0}yf(c[f>>2]|0);i=g;return d|0}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g+4|0;f=g;c[a>>2]=0;d=xi(d,1,e,f)|0;if(!d){d=c[(c[e>>2]|0)+56>>2]|0;if(!d)d=69;else d=ub[d&63](a,b,c[f>>2]|0)|0}yf(c[f>>2]|0);i=g;return d|0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=g+4|0;f=g;d=xi(d,0,e,f)|0;if(!d){d=c[(c[e>>2]|0)+60>>2]|0;if(!d)d=69;else d=ub[d&63](a,b,c[f>>2]|0)|0}yf(c[f>>2]|0);i=g;return d|0}function Bi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);b=e+4|0;d=e;a=xi(a,1,b,d)|0;if(!a){a=c[(c[b>>2]|0)+44>>2]|0;if(!a)a=69;else a=yb[a&15](c[d>>2]|0)|0}yf(c[d>>2]|0);i=e;return a|0}function Ci(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=0;d=Af(b,37534,0)|0;if(d){b=Jf(d)|0;yf(d);if(b){d=Gf(b,0)|0;if(d){e=ti(d)|0;ef(d);if(e){d=c[e+40>>2]|0;if(!d)d=69;else d=Db[d&7](b,a)|0}else d=4}else d=65}else{d=68;b=0}}else{d=65;b=0}yf(b);ef(0);yf(0);return d|0}function Di(){return 0}function Ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(b|0){case 3:case 2:{g=1;break}case 16:{g=20;break}case 301:{g=18;break}case 302:{g=18;break}default:g=b}b=vi(g)|0;f=(b|0)!=0;if((f?(a[b+4>>0]&1)==0:0)?(h=c[b+68>>2]|0,(h|0)!=0):0)b=ub[h&63](g,d,e)|0;else if(!e)b=4;else{if(f?(a[b+4>>0]&1)==0:0)b=37580;else b=f?37541:37560;Eb[e&1](40715,g,37602,b);b=4}return ((b|0)==0?0:b&65535|16777216)|0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;return Ni(a,b,c)|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+496>>2]|0;if(e|0)Ab[e&3]();return ub[c[a+488>>2]&63](a,b,d)|0}function Hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;Zi(a);e=c[a+500>>2]|0;if(e|0)Ab[e&3]();return ub[c[a+492>>2]&63](a,b,d)|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;a:do switch(a|0){case 7:{a=Ji()|0;if(!a){if(!b){a=0;break a}a=Ki(2)|0;if(!a){a=Ki(5)|0;if(!a){a=0;break a}else b=37627}else b=37623}else b=37613;if(!c)a=50;else{Eb[c&1](37631,7,b,a);a=50}break}case 8:{a=Li()|0;if(a)if(!c)a=50;else{Eb[c&1](37631,8,37613,a);a=50}else a=0;break}case 9:{a=Mi()|0;if(a)if(!c)a=50;else{Eb[c&1](37631,9,37613,a);a=50}else a=0;break}default:a=12}while(0);return a|0}function Ji(){var a=0,b=0,c=0;c=i;i=i+528|0;if((i|0)>=(j|0))$(528);a=c;b=c+504|0;Ni(a,37999,16)|0;Gi(a,b,38015)|0;if(!(_r(b,38031,16)|0)){Hi(a,b,b)|0;a=(_r(b,38015,16)|0)==0;a=a?0:38047}else a=38079;i=c;return a|0}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=k+8|0;g=k+4|0;h=k;c[g>>2]=0;c[h>>2]=0;e=0;while(1){if(e>>>0>=2){b=5;break}if((c[7016+(e*164|0)>>2]|0)==(a|0)){b=8;break}e=e+1|0}do if((b|0)==5)if((e|0)==2){Og(0);Og(0);a=37886;break}else{a=c[7016+(e*164|0)>>2]|0;b=8;break}while(0);do if((b|0)==8){if(Mg(g,7,a,0)|0){Og(c[g>>2]|0);Og(c[h>>2]|0);a=37913;break}d=(Mg(h,7,a,0)|0)==0;a=c[g>>2]|0;if(!d){Og(a);Og(c[h>>2]|0);a=37913;break}b=7016+(e*164|0)+4|0;if(!(Sg(a,b,16)|0)){d=(Sg(c[h>>2]|0,b,16)|0)==0;a=c[g>>2]|0;if(d){b=7016+(e*164|0)+20|0;if((Tg(a,b,16)|0)==0?(Tg(c[h>>2]|0,b,16)|0)==0:0){b=0;while(1){a=c[g>>2]|0;if(b>>>0>=4){b=28;break}d=7016+(e*164|0)+36+(b<<5)|0;if(Pg(a,f,16,d,16)|0){b=21;break}a=7016+(e*164|0)+36+(b<<5)+16|0;if(_r(f,a,16)|0){b=23;break}if(Rg(c[h>>2]|0,f,16,a,16)|0){b=25;break}if(!(_r(f,d,16)|0))b=b+1|0;else{b=27;break}}if((b|0)==21){Og(c[g>>2]|0);Og(c[h>>2]|0);a=37933;break}else if((b|0)==23){Og(c[g>>2]|0);Og(c[h>>2]|0);a=37949;break}else if((b|0)==25){Og(c[g>>2]|0);Og(c[h>>2]|0);a=37966;break}else if((b|0)==27){Og(c[g>>2]|0);Og(c[h>>2]|0);a=37982;break}else if((b|0)==28){Og(a);Og(c[h>>2]|0);a=0;break}}Og(c[g>>2]|0);Og(c[h>>2]|0);a=37926;break}}else a=c[g>>2]|0;Og(a);Og(c[h>>2]|0);a=37918}while(0);i=k;return a|0}function Li(){var a=0,b=0,c=0;c=i;i=i+528|0;if((i|0)>=(j|0))$(528);a=c;b=c+504|0;Ni(a,37766,24)|0;Gi(a,b,37790)|0;if(!(_r(b,37806,16)|0)){Hi(a,b,b)|0;a=(_r(b,37790,16)|0)==0;a=a?0:37822}else a=37854;i=c;return a|0}function Mi(){var a=0,b=0,c=0;c=i;i=i+528|0;if((i|0)>=(j|0))$(528);a=c;b=c+504|0;Ni(a,37638,32)|0;Gi(a,b,37670)|0;if(!(_r(b,37686,16)|0)){Hi(a,b,b)|0;a=(_r(b,37670,16)|0)==0;a=a?0:37702}else a=37734;i=c;return a|0}function Ni(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;G=i;i=i+80|0;if((i|0)>=(j|0))$(80);k=G+64|0;g=G;F=wg()|0;do if(!(c[17586]|F)){c[17586]=1;h=Ji()|0;if(!h){h=Li()|0;if(!h){h=Mi()|0;if(!h){h=to(37609,1,2,4,9,16,504)|0;if(!h){h=po(37609,1,2,3,10,16,504)|0;if(!h){h=ro(37609,1,2,2,10,16,504)|0;c[17587]=h;if(!h){l=11;break}}else l=7}else l=7}else l=7}else l=7}else l=7;if((l|0)==7)c[17587]=h;c[k>>2]=h;Je(43299,k);l=10}else l=10;while(0);if((l|0)==10)if(!(c[17587]|0))l=11;else g=50;a:do if((l|0)==11){switch(f|0){case 16:{k=10;F=4;break}case 24:{k=12;F=6;break}case 32:{k=14;F=8;break}default:{g=44;break a}}c[b+480>>2]=k;h=b+484|0;a[h>>0]=a[h>>0]&-2;c[b+488>>2]=29;c[b+492>>2]=30;c[b+496>>2]=1;c[b+500>>2]=2;Ti();h=0;while(1){if((h|0)==(f|0))break;a[(h&3)+(g+(h>>2<<2))>>0]=a[e+h>>0]|0;h=h+1|0}l=F+-1|0;E=g+32|0;h=l;while(1){if((h|0)<=-1)break;c[E+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+-1|0}D=k|1;h=0;e=0;k=0;while(1){if(!((k|0)<(F|0)&(e|0)<(D|0)))break;while(1){if(!((k|0)<(F|0)&(h|0)<4))break;c[b+(e<<4)+(h<<2)>>2]=c[E+(k<<2)>>2];h=h+1|0;k=k+1|0}C=(h|0)==4;h=C?0:h;e=(C&1)+e|0}y=E+(l<<2)+1|0;z=E+(l<<2)+2|0;A=E+1|0;B=E+(l<<2)+3|0;C=E+2|0;m=E+(l<<2)|0;n=E+3|0;o=(F|0)==8;p=F>>>1;w=p+-1|0;q=E+(w<<2)|0;r=E+(p<<2)|0;s=E+(w<<2)+1|0;t=E+(p<<2)+1|0;u=E+(w<<2)+2|0;v=E+(p<<2)+2|0;w=E+(w<<2)+3|0;x=E+(p<<2)+3|0;k=0;b:while(1){if((e|0)>=(D|0)){h=64;break}f=c[E>>2]|0;l=f&255^a[4593+((d[y>>0]|0)<<2)>>0];a[E>>0]=l;a[A>>0]=(f&65535)>>>8&255^a[4593+((d[z>>0]|0)<<2)>>0];a[C>>0]=f>>>16&255^a[4593+((d[B>>0]|0)<<2)>>0];a[n>>0]=f>>>24&255^a[4593+((d[m>>0]|0)<<2)>>0];f=k+1|0;a[E>>0]=l&255^c[5616+(k<<2)>>2];c:do if(o){k=1;while(1){if((k|0)>=(p|0))break;l=E+(k<<2)|0;c[l>>2]=c[l>>2]^c[E+(k+-1<<2)>>2];k=k+1|0}a[r>>0]=a[r>>0]^a[4593+((d[q>>0]|0)<<2)>>0];a[t>>0]=a[t>>0]^a[4593+((d[s>>0]|0)<<2)>>0];a[v>>0]=a[v>>0]^a[4593+((d[u>>0]|0)<<2)>>0];a[x>>0]=a[x>>0]^a[4593+((d[w>>0]|0)<<2)>>0];l=p;while(1){k=l+1|0;if((k|0)>=8){k=0;break c}H=E+(k<<2)|0;c[H>>2]=c[H>>2]^c[E+(l<<2)>>2];l=k}}else{k=1;while(1){if((k|0)>=(F|0)){k=0;break c}H=E+(k<<2)|0;c[H>>2]=c[H>>2]^c[E+(k+-1<<2)>>2];k=k+1|0}}while(0);while(1){if(!((k|0)<(F|0)&(e|0)<(D|0))){k=f;continue b}while(1){if(!((k|0)<(F|0)&(h|0)<4))break;c[b+(e<<4)+(h<<2)>>2]=c[E+(k<<2)>>2];h=h+1|0;k=k+1|0}H=(h|0)==4;e=(H&1)+e|0;h=H?0:h}}while(1){if(!((h|0)!=0&(g&7|0)!=0))break;a[g>>0]=0;h=h+-1|0;g=g+1|0}if(h>>>0>=8){l=h+-8|0;e=l&-8;f=e+8|0;k=g;while(1){H=k;c[H>>2]=0;c[H+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else k=k+8|0}h=l-e|0;g=g+f|0}while(1){if(!h)break;a[g>>0]=0;h=h+-1|0;g=g+1|0}g=0}while(0);i=G;return g|0}function Oi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=o;k=c[b+496>>2]|0;if(k|0)Ab[k&3]();m=c[b+488>>2]|0;k=f;n=0;while(1){if(!g){k=16;break}l=ub[m&63](b,h,d)|0;_i(e,h,k);e=e+16|0;f=k+16|0;k=16;do{if((k|0)<=0)break;k=k+-1|0;p=d+k|0;n=(a[p>>0]|0)+1<<24>>24;a[p>>0]=n}while(!(n<<24>>24));g=g+-1|0;k=f;n=l}while(1){if(!((k|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(k>>>0>=8){e=k+-8|0;f=e&-8;l=f+8|0;g=h;while(1){p=g;c[p>>2]=0;c[p+4>>2]=0;k=k+-8|0;if(k>>>0<=7)break;else g=g+8|0}k=e-f|0;h=h+l|0}while(1){if(!k)break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(n|0)Re(n+16|0);i=o;return}function Pi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=n;Zi(b);k=c[b+500>>2]|0;if(k|0)Ab[k&3]();l=c[b+492>>2]|0;k=f;m=0;while(1){if(!g){k=16;break}m=ub[l&63](b,h,k)|0;Yi(e,h,d,k);g=g+-1|0;e=e+16|0;k=k+16|0}while(1){if(!((k|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(k>>>0>=8){e=k+-8|0;f=e&-8;l=f+8|0;g=h;while(1){d=g;c[d>>2]=0;c[d+4>>2]=0;k=k+-8|0;if(k>>>0<=7)break;else g=g+8|0}k=e-f|0;h=h+l|0}while(1){if(!k)break;a[h>>0]=0;k=k+-1|0;h=h+1|0}if(m|0)Re(m+16|0);i=n;return}function Qi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[a+496>>2]|0;if(g|0)Ab[g&3]();i=c[a+488>>2]|0;h=0;g=d;while(1){if(!f)break;h=ub[i&63](a,b,b)|0;Yi(g,e,b,e);f=f+-1|0;e=e+16|0;g=g+16|0}if(h|0)Re(h+16|0);return}function Ri(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=c[a+480>>2]|0;w=Wi(e)|0;p=Wi(e+4|0)|0;k=Wi(e+8|0)|0;g=Wi(e+12|0)|0;w=c[a>>2]^w;p=c[a+4>>2]^p;k=c[a+8>>2]^k;g=c[a+12>>2]^g;s=c[4592+((w>>>8&255)<<2)>>2]|0;m=c[4592+((w>>>16&255)<<2)>>2]|0;q=c[4592+(w>>>24<<2)>>2]|0;v=c[4592+((p>>>8&255)<<2)>>2]|0;t=c[4592+((p>>>16&255)<<2)>>2]|0;n=c[4592+(p>>>24<<2)>>2]|0;o=c[4592+((k>>>8&255)<<2)>>2]|0;u=c[4592+((k>>>16&255)<<2)>>2]|0;r=c[4592+(k>>>24<<2)>>2]|0;i=c[4592+((g>>>8&255)<<2)>>2]|0;h=c[4592+((g>>>16&255)<<2)>>2]|0;f=c[4592+(g>>>24<<2)>>2]|0;j=(l|0)>2;e=2;f=c[a+16>>2]^c[4592+((w&255)<<2)>>2]^(v<<8|v>>>24)^(u<<16|u>>>16)^(f<<24|f>>>8);g=(t<<16|t>>>16)^(s<<8|s>>>24)^(r<<24|r>>>8)^c[4592+((g&255)<<2)>>2]^c[a+28>>2];h=(q<<24|q>>>8)^c[4592+((p&255)<<2)>>2]^c[a+20>>2]^(o<<8|o>>>24)^(h<<16|h>>>16);i=(n<<24|n>>>8)^(m<<16|m>>>16)^c[4592+((k&255)<<2)>>2]^c[a+24>>2]^(i<<8|i>>>24);while(1){k=f&255;if((e|0)>=(l|0))break;v=c[4592+((f>>>8&255)<<2)>>2]|0;p=c[4592+((f>>>16&255)<<2)>>2]|0;x=c[4592+(f>>>24<<2)>>2]|0;A=c[4592+((h>>>8&255)<<2)>>2]|0;t=c[4592+((h>>>16&255)<<2)>>2]|0;s=c[4592+(h>>>24<<2)>>2]|0;B=c[4592+((i>>>8&255)<<2)>>2]|0;o=c[4592+((i>>>16&255)<<2)>>2]|0;n=c[4592+(i>>>24<<2)>>2]|0;u=c[4592+((g>>>8&255)<<2)>>2]|0;u=(s<<24|s>>>8)^(p<<16|p>>>16)^c[4592+((i&255)<<2)>>2]^c[a+(e<<4)+8>>2]^(u<<8|u>>>24);p=c[4592+((g>>>16&255)<<2)>>2]|0;p=(x<<24|x>>>8)^c[4592+((h&255)<<2)>>2]^c[a+(e<<4)+4>>2]^(B<<8|B>>>24)^(p<<16|p>>>16);B=c[4592+(g>>>24<<2)>>2]|0;B=c[a+(e<<4)>>2]^c[4592+(k<<2)>>2]^(A<<8|A>>>24)^(o<<16|o>>>16)^(B<<24|B>>>8);n=(t<<16|t>>>16)^(v<<8|v>>>24)^(n<<24|n>>>8)^c[4592+((g&255)<<2)>>2]^c[a+(e<<4)+12>>2];v=e|1;k=c[4592+((B>>>8&255)<<2)>>2]|0;t=c[4592+((B>>>16&255)<<2)>>2]|0;o=c[4592+(B>>>24<<2)>>2]|0;A=c[4592+((p>>>8&255)<<2)>>2]|0;x=c[4592+((p>>>16&255)<<2)>>2]|0;s=c[4592+(p>>>24<<2)>>2]|0;q=c[4592+((u>>>8&255)<<2)>>2]|0;z=c[4592+((u>>>16&255)<<2)>>2]|0;m=c[4592+(u>>>24<<2)>>2]|0;w=c[4592+((n>>>8&255)<<2)>>2]|0;r=c[4592+((n>>>16&255)<<2)>>2]|0;y=c[4592+(n>>>24<<2)>>2]|0;e=e+2|0;f=c[a+(v<<4)>>2]^c[4592+((B&255)<<2)>>2]^(A<<8|A>>>24)^(z<<16|z>>>16)^(y<<24|y>>>8);g=(x<<16|x>>>16)^(k<<8|k>>>24)^(m<<24|m>>>8)^c[4592+((n&255)<<2)>>2]^c[a+(v<<4)+12>>2];h=(o<<24|o>>>8)^c[4592+((p&255)<<2)>>2]^c[a+(v<<4)+4>>2]^(q<<8|q>>>24)^(r<<16|r>>>16);i=(s<<24|s>>>8)^(t<<16|t>>>16)^c[4592+((u&255)<<2)>>2]^c[a+(v<<4)+8>>2]^(w<<8|w>>>24)}y=(j?l:2)+1&-2;A=c[a+(y<<4)+8>>2]^((d[4593+(h>>>24<<2)>>0]|0)<<24|(d[4593+(f>>>14&1020)>>0]|0)<<16|(d[4593+(i<<2&1020)>>0]|0))^(d[4593+(g>>>6&1020)>>0]|0)<<8;z=c[a+(y<<4)+4>>2]^(d[4593+(h<<2&1020)>>0]|0|(d[4593+(f>>>24<<2)>>0]|0)<<24)^(d[4593+(i>>>6&1020)>>0]|0)<<8^(d[4593+(g>>>14&1020)>>0]|0)<<16;B=c[a+(y<<4)+12>>2]^((d[4593+(h>>>14&1020)>>0]|0)<<16|(d[4593+(f>>>6&1020)>>0]|0)<<8|(d[4593+(i>>>24<<2)>>0]|0)<<24|(d[4593+(g<<2&1020)>>0]|0));Xi(b,c[a+(y<<4)>>2]^(d[4593+(k<<2)>>0]|0)^(d[4593+(h>>>6&1020)>>0]|0)<<8^(d[4593+(i>>>14&1020)>>0]|0)<<16^(d[4593+(g>>>24<<2)>>0]|0)<<24);Xi(b+4|0,z);Xi(b+8|0,A);Xi(b+12|0,B);return 64}function Si(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=c[a+480>>2]|0;m=Wi(e)|0;i=Wi(e+4|0)|0;j=Wi(e+8|0)|0;h=Wi(e+12|0)|0;k=a+240|0;g=n;e=c[k+(n<<4)>>2]^m;h=c[k+(n<<4)+12>>2]^h;i=c[k+(n<<4)+4>>2]^i;j=c[k+(n<<4)+8>>2]^j;while(1){f=g+-1|0;l=c[5736+((e&255)<<2)>>2]|0;m=c[5736+((e>>>8&255)<<2)>>2]|0;m=m<<8|m>>>24;n=c[5736+((e>>>16&255)<<2)>>2]|0;n=n<<16|n>>>16;e=c[5736+(e>>>24<<2)>>2]|0;e=e<<24|e>>>8;if((f|0)<=1)break;v=c[5736+((i>>>8&255)<<2)>>2]|0;r=c[5736+((i>>>16&255)<<2)>>2]|0;w=c[5736+(i>>>24<<2)>>2]|0;t=c[5736+((j>>>8&255)<<2)>>2]|0;s=c[5736+((j>>>16&255)<<2)>>2]|0;o=c[5736+(j>>>24<<2)>>2]|0;z=c[5736+((h>>>8&255)<<2)>>2]|0;z=c[k+(f<<4)>>2]^l^(w<<24|w>>>8)^(s<<16|s>>>16)^(z<<8|z>>>24);s=c[5736+((h>>>16&255)<<2)>>2]|0;s=c[5736+((i&255)<<2)>>2]^m^c[k+(f<<4)+4>>2]^(o<<24|o>>>8)^(s<<16|s>>>16);l=c[5736+(h>>>24<<2)>>2]|0;l=(v<<8|v>>>24)^n^c[5736+((j&255)<<2)>>2]^c[k+(f<<4)+8>>2]^(l<<24|l>>>8);t=(r<<16|r>>>16)^e^(t<<8|t>>>24)^c[5736+((h&255)<<2)>>2]^c[k+(f<<4)+12>>2];m=g+-2|0;r=c[5736+((z>>>8&255)<<2)>>2]|0;f=c[5736+((z>>>16&255)<<2)>>2]|0;v=c[5736+(z>>>24<<2)>>2]|0;o=c[5736+((s>>>8&255)<<2)>>2]|0;w=c[5736+((s>>>16&255)<<2)>>2]|0;y=c[5736+(s>>>24<<2)>>2]|0;u=c[5736+((l>>>8&255)<<2)>>2]|0;x=c[5736+((l>>>16&255)<<2)>>2]|0;q=c[5736+(l>>>24<<2)>>2]|0;e=c[5736+((t>>>8&255)<<2)>>2]|0;p=c[5736+((t>>>16&255)<<2)>>2]|0;n=c[5736+(t>>>24<<2)>>2]|0;g=m;e=c[k+(m<<4)>>2]^c[5736+((z&255)<<2)>>2]^(y<<24|y>>>8)^(x<<16|x>>>16)^(e<<8|e>>>24);h=(w<<16|w>>>16)^(v<<24|v>>>8)^(u<<8|u>>>24)^c[5736+((t&255)<<2)>>2]^c[k+(m<<4)+12>>2];i=c[5736+((s&255)<<2)>>2]^(r<<8|r>>>24)^c[k+(m<<4)+4>>2]^(q<<24|q>>>8)^(p<<16|p>>>16);j=(o<<8|o>>>24)^(f<<16|f>>>16)^c[5736+((l&255)<<2)>>2]^c[k+(m<<4)+8>>2]^(n<<24|n>>>8)}y=c[5736+((i>>>8&255)<<2)>>2]|0;x=c[5736+((i>>>16&255)<<2)>>2]|0;z=c[5736+(i>>>24<<2)>>2]|0;w=c[5736+((j>>>8&255)<<2)>>2]|0;u=c[5736+((j>>>16&255)<<2)>>2]|0;v=c[5736+(j>>>24<<2)>>2]|0;t=c[5736+((h>>>8&255)<<2)>>2]|0;t=c[a+256>>2]^l^(z<<24|z>>>8)^(u<<16|u>>>16)^(t<<8|t>>>24);u=c[5736+((h>>>16&255)<<2)>>2]|0;u=c[5736+((i&255)<<2)>>2]^m^c[a+260>>2]^(v<<24|v>>>8)^(u<<16|u>>>16);v=c[5736+(h>>>24<<2)>>2]|0;v=(y<<8|y>>>24)^n^c[5736+((j&255)<<2)>>2]^c[a+264>>2]^(v<<24|v>>>8);w=(x<<16|x>>>16)^e^(w<<8|w>>>24)^c[5736+((h&255)<<2)>>2]^c[a+268>>2];x=c[k+4>>2]^(d[6760+(u&255)>>0]|0|(d[6760+(t>>>8&255)>>0]|0)<<8)^(d[6760+(v>>>24)>>0]|0)<<24^(d[6760+(w>>>16&255)>>0]|0)<<16;y=c[a+248>>2]^((d[6760+(u>>>8&255)>>0]|0)<<8|(d[6760+(t>>>16&255)>>0]|0)<<16|(d[6760+(v&255)>>0]|0))^(d[6760+(w>>>24)>>0]|0)<<24;z=c[a+252>>2]^((d[6760+(u>>>16&255)>>0]|0)<<16|(d[6760+(t>>>24)>>0]|0)<<24|(d[6760+(v>>>8&255)>>0]|0)<<8|(d[6760+(w&255)>>0]|0));Xi(b,c[k>>2]^(d[6760+(t&255)>>0]|0)^(d[6760+(u>>>24)>>0]|0)<<24^(d[6760+(v>>>16&255)>>0]|0)<<16^(d[6760+(w>>>8&255)>>0]|0)<<8);Xi(b+4|0,x);Xi(b+8|0,y);Xi(b+12|0,z);return 64}function Ti(){Vi(4592,1024);return}function Ui(){Vi(5736,1280);return}function Vi(a,b){a=a|0;b=b|0;a=0;while(1){if(a>>>0>=b>>>0)break;a=a+256|0}return}function Wi(a){a=a|0;return (d[a+2>>0]|0)<<16|(d[a+3>>0]|0)<<24|(d[a+1>>0]|0)<<8|(d[a>>0]|0)|0}function Xi(b,c){b=b|0;c=c|0;a[b+3>>0]=c>>>24;a[b+2>>0]=c>>>16;a[b+1>>0]=c>>>8;a[b>>0]=c;return}function Yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;a:do if(!((d|b|e|f)&3)){g=b+16|0;i=e+16|0;j=f+16|0;k=d+16|0;h=16;while(1){if(h>>>0<=3){e=i;f=j;d=k;b=0;break a}l=c[f>>2]|0;c[b>>2]=c[d>>2]^c[e>>2];c[e>>2]=l;h=h+-4|0;d=d+4|0;f=f+4|0;e=e+4|0;b=b+4|0}}else{g=b;b=16}while(0);while(1){if(!b)break;l=a[f>>0]|0;a[g>>0]=a[d>>0]^a[e>>0];a[e>>0]=l;g=g+1|0;e=e+1|0;f=f+1|0;d=d+1|0;b=b+-1|0}return}function Zi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+484|0;if(!(a[f>>0]&1)){Ti();Ui();i=b+240|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[b+248>>2]=c[b+8>>2];c[b+252>>2]=c[b+12>>2];g=b+480|0;e=1;while(1){h=b+(e<<4)|0;if((e|0)>=(c[g>>2]|0))break;h=c[h>>2]|0;j=c[5736+((d[4593+(h>>>6&1020)>>0]|0)<<2)>>2]|0;k=c[5736+((d[4593+(h>>>14&1020)>>0]|0)<<2)>>2]|0;l=c[5736+((d[4593+(h>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(e<<4)>>2]=(j<<8|j>>>24)^c[5736+((d[4593+(h<<2&1020)>>0]|0)<<2)>>2]^(k<<16|k>>>16)^(l<<24|l>>>8);l=c[b+(e<<4)+4>>2]|0;k=c[5736+((d[4593+(l>>>6&1020)>>0]|0)<<2)>>2]|0;h=c[5736+((d[4593+(l>>>14&1020)>>0]|0)<<2)>>2]|0;j=c[5736+((d[4593+(l>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(e<<4)+4>>2]=(k<<8|k>>>24)^c[5736+((d[4593+(l<<2&1020)>>0]|0)<<2)>>2]^(h<<16|h>>>16)^(j<<24|j>>>8);j=c[b+(e<<4)+8>>2]|0;h=c[5736+((d[4593+(j>>>6&1020)>>0]|0)<<2)>>2]|0;l=c[5736+((d[4593+(j>>>14&1020)>>0]|0)<<2)>>2]|0;k=c[5736+((d[4593+(j>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(e<<4)+8>>2]=(h<<8|h>>>24)^c[5736+((d[4593+(j<<2&1020)>>0]|0)<<2)>>2]^(l<<16|l>>>16)^(k<<24|k>>>8);k=c[b+(e<<4)+12>>2]|0;l=c[5736+((d[4593+(k>>>6&1020)>>0]|0)<<2)>>2]|0;j=c[5736+((d[4593+(k>>>14&1020)>>0]|0)<<2)>>2]|0;h=c[5736+((d[4593+(k>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(e<<4)+12>>2]=(l<<8|l>>>24)^c[5736+((d[4593+(k<<2&1020)>>0]|0)<<2)>>2]^(j<<16|j>>>16)^(h<<24|h>>>8);e=e+1|0}c[i+(e<<4)>>2]=c[h>>2];c[i+(e<<4)+4>>2]=c[b+(e<<4)+4>>2];c[i+(e<<4)+8>>2]=c[b+(e<<4)+8>>2];c[i+(e<<4)+12>>2]=c[b+(e<<4)+12>>2];a[f>>0]=a[f>>0]|1}return}function _i(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if(!((d|b|e)&3)){i=b+16|0;h=d+16|0;f=e+16|0;g=16;while(1){if(g>>>0<=3){d=h;b=i;e=0;break a}c[b>>2]=c[e>>2]^c[d>>2];g=g+-4|0;e=e+4|0;d=d+4|0;b=b+4|0}}else{f=e;e=16}while(0);while(1){if(!e)break;a[b>>0]=a[f>>0]^a[d>>0];f=f+1|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function $i(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=c[b+496>>2]|0;if(h|0)Ab[h&3]();o=c[b+488>>2]|0;n=d;p=d+16|0;h=0;while(1){if(!g)break;h=ub[o&63](b,d,d)|0;if(!((e|n|f)&3)){i=e+16|0;j=16;k=f;l=d;m=e;while(1){if(j>>>0<=3)break;q=c[l>>2]^c[k>>2];c[l>>2]=q;c[m>>2]=q;j=j+-4|0;k=k+4|0;l=l+4|0;m=m+4|0}k=f+16|0;l=p;j=0}else{k=f;l=d;i=e;j=16}while(1){if(!j)break;q=a[l>>0]^a[k>>0];a[l>>0]=q;a[i>>0]=q;k=k+1|0;l=l+1|0;i=i+1|0;j=j+-1|0}g=g+-1|0;f=f+16|0;e=e+16|0}if(h|0)Re(h+16|0);return}function aj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[a+496>>2]|0;if(h|0)Ab[h&3]();l=c[a+488>>2]|0;k=(g|0)==0;i=0;j=b;g=e;h=d;while(1){if(!f)break;_i(h,g,j);i=ub[l&63](a,h,h)|0;d=h;f=f+-1|0;g=g+16|0;h=k?h+16|0:h;j=d}if((j|0)!=(b|0))bj(b,j);if(i|0)Re(i+16|0);return}function bj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if(!((d|b)&3)){g=b+16|0;f=d+16|0;e=16;while(1){if(e>>>0<=3){d=f;b=g;e=0;break a}c[b>>2]=c[d>>2];e=e+-4|0;d=d+4|0;b=b+4|0}}else e=16;while(0);while(1){if(!e)break;a[b>>0]=a[d>>0]|0;d=d+1|0;b=b+1|0;e=e+-1|0}return}function cj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;if((i|0)>=(j|0))$(16);p=r;q=a+496|0;if(!f){Zi(q);f=c[q+500>>2]|0;if(f|0)Ab[f&3]();k=c[q+492>>2]|0;l=a+464|0;m=a+160|0;n=a+64|0;o=a+80|0;f=0;while(1){if(!e)break;f=l;f=gt(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=D;h=l;c[h>>2]=f;c[h+4>>2]=g;h=dj(f,g)|0;if(h>>>0<16)f=m+(h<<4)|0;else f=Tn(a,p,f,g)|0;ej(n,f);bj(p,d);ej(p,n);f=ub[k&63](q,p,p)|0;ej(p,n);ej(o,p);bj(b,p);e=e+-1|0;b=b+16|0;d=d+16|0}}else{f=c[q+496>>2]|0;if(f|0)Ab[f&3]();k=c[q+488>>2]|0;l=a+464|0;m=a+160|0;n=a+64|0;o=a+80|0;f=0;while(1){if(!e)break;f=l;f=gt(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=D;h=l;c[h>>2]=f;c[h+4>>2]=g;h=dj(f,g)|0;if(h>>>0<16)f=m+(h<<4)|0;else f=Tn(a,p,f,g)|0;ej(n,f);bj(p,d);ej(o,p);ej(p,n);f=ub[k&63](q,p,p)|0;ej(p,n);bj(b,p);e=e+-1|0;b=b+16|0;d=d+16|0}}if(f|0)Re(f+16|0);i=r;return}function dj(a,b){a=a|0;b=b|0;if((a|0)==0&0==0)a=(ht(b|0)|0)+32|0;else a=ht(a|0)|0;return a|0}function ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if(!((d|b)&3)){g=b+16|0;f=d+16|0;e=16;while(1){if(e>>>0<=3){d=f;b=g;e=0;break a}c[b>>2]=c[b>>2]^c[d>>2];e=e+-4|0;d=d+4|0;b=b+4|0}}else e=16;while(0);while(1){if(!e)break;a[b>>0]=a[b>>0]^a[d>>0];d=d+1|0;b=b+1|0;e=e+-1|0}return}function fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=s;q=b+496|0;g=c[q+496>>2]|0;if(g|0)Ab[g&3]();p=c[q+488>>2]|0;l=b+472|0;m=b+160|0;n=b+432|0;o=b+448|0;r=0;while(1){if(!e){g=16;break}g=l;g=gt(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=D;k=l;c[k>>2]=g;c[k+4>>2]=h;k=dj(g,h)|0;if(k>>>0<16)g=m+(k<<4)|0;else g=Tn(b,f,g,h)|0;ej(n,g);_i(f,n,d);r=ub[p&63](q,f,f)|0;ej(o,f);e=e+-1|0;d=d+16|0}while(1){if(!((g|0)!=0&(f&7|0)!=0))break;a[f>>0]=0;g=g+-1|0;f=f+1|0}if(g>>>0>=8){d=g+-8|0;h=d&-8;k=h+8|0;e=f;while(1){q=e;c[q>>2]=0;c[q+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else e=e+8|0}g=d-h|0;f=f+k|0}while(1){if(!g)break;a[f>>0]=0;g=g+-1|0;f=f+1|0}if(r|0)Re(r+16|0);i=s;return}function gj(a,b){a=a|0;b=b|0;c[a+160>>2]=1732584193;c[a+164>>2]=-271733879;c[a+168>>2]=-1732584194;c[a+172>>2]=271733878;c[a+176>>2]=-1009589776;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=31;return}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Fo(b,0,0);i=b+128|0;h=c[i>>2]|0;j=h<<6;i=ot(h|0,c[i+4>>2]|0,26)|0;e=b+144|0;d=c[e>>2]|0;g=j+d|0;f=g<<3;g=(g>>>0<j>>>0&1)+(i&536870848|h>>>26)<<3|g>>>29;c[e>>2]=d+1;a[b+d>>0]=-128;a:do if((d|0)<56)while(1){d=c[e>>2]|0;if((d|0)>=56)break a;c[e>>2]=d+1;a[b+d>>0]=0}else{while(1){d=c[e>>2]|0;if((d|0)>=64)break;c[e>>2]=d+1;a[b+d>>0]=0}Fo(b,0,0);d=b;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}while(0);jj(b+56|0,f);jj(b+60|0,g);kj(b,b,1)|0;Re(124);jj(b,c[b+160>>2]|0);jj(b+4|0,c[b+164>>2]|0);jj(b+8|0,c[b+168>>2]|0);jj(b+12|0,c[b+172>>2]|0);jj(b+16|0,c[b+176>>2]|0);return}function ij(a){a=a|0;return a|0}function jj(b,c){b=b|0;c=c|0;a[b+3>>0]=c>>>24;a[b+2>>0]=c>>>16;a[b+1>>0]=c>>>8;a[b>>0]=c;return}function kj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0;C=i;i=i+64|0;if((i|0)>=(j|0))$(64);x=C;y=a+160|0;z=a+164|0;A=a+168|0;B=a+172|0;v=a+176|0;w=x+20|0;f=x+4|0;g=x+56|0;h=x+8|0;k=x+28|0;l=x+12|0;m=x+16|0;n=x+36|0;o=x+24|0;p=x+44|0;q=x+32|0;r=x+52|0;s=x+40|0;t=x+60|0;u=x+48|0;while(1){a=0;while(1){if((a|0)==16)break;D=b+(a<<2)|0;c[x+(a<<2)>>2]=(d[D+2>>0]|0)<<16|(d[D+3>>0]|0)<<24|(d[D+1>>0]|0)<<8|(d[D>>0]|0);a=a+1|0}V=c[y>>2]|0;a=c[z>>2]|0;M=c[A>>2]|0;ca=c[B>>2]|0;Z=c[v>>2]|0;N=c[x>>2]|0;H=(M^a^ca)+V+N|0;H=(H<<11|H>>>21)+Z|0;X=M<<10|M>>>22;O=c[w>>2]|0;V=V+1352829926+((M|~ca)^a)+O|0;V=(V<<8|V>>>24)+Z|0;Y=c[f>>2]|0;K=Y+Z+(X^a^H)|0;K=(K<<14|K>>>18)+ca|0;aa=a<<10|a>>>22;J=c[g>>2]|0;Z=Z+1352829926+J+(V^(a|~X))|0;Z=(Z<<9|Z>>>23)+ca|0;Q=c[h>>2]|0;da=Q+ca+(H^aa^K)|0;da=(da<<15|da>>>17)+X|0;H=H<<10|H>>>22;U=c[k>>2]|0;ca=ca+1352829926+U+(Z^(V|~aa))|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;E=c[l>>2]|0;D=E+X+(K^H^da)|0;D=(D<<12|D>>>20)+aa|0;K=K<<10|K>>>22;X=X+1352829926+N+(ca^(Z|~V))|0;X=(X<<11|X>>>21)+aa|0;Z=Z<<10|Z>>>22;S=c[m>>2]|0;F=S+aa+(da^K^D)|0;F=(F<<5|F>>>27)+H|0;da=da<<10|da>>>22;G=c[n>>2]|0;aa=aa+1352829926+G+(X^(ca|~Z))|0;aa=(aa<<13|aa>>>19)+V|0;ca=ca<<10|ca>>>22;H=H+O+(D^da^F)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=Q+1352829926+V+(aa^(X|~ca))|0;V=(V<<15|V>>>17)+Z|0;X=X<<10|X>>>22;T=c[o>>2]|0;K=K+T+(F^D^H)|0;K=(K<<7|K>>>25)+da|0;F=F<<10|F>>>22;I=c[p>>2]|0;Z=I+1352829926+Z+(V^(aa|~X))|0;Z=(Z<<15|Z>>>17)+ca|0;aa=aa<<10|aa>>>22;da=da+U+(H^F^K)|0;da=(da<<9|da>>>23)+D|0;H=H<<10|H>>>22;ca=S+1352829926+ca+(Z^(V|~aa))|0;ca=(ca<<5|ca>>>27)+X|0;V=V<<10|V>>>22;W=c[q>>2]|0;D=D+W+(K^H^da)|0;D=(D<<11|D>>>21)+F|0;K=K<<10|K>>>22;P=c[r>>2]|0;X=P+1352829926+X+(ca^(Z|~V))|0;X=(X<<7|X>>>25)+aa|0;Z=Z<<10|Z>>>22;F=F+G+(da^K^D)|0;F=(F<<13|F>>>19)+H|0;da=da<<10|da>>>22;aa=T+1352829926+aa+(X^(ca|~Z))|0;aa=(aa<<7|aa>>>25)+V|0;ca=ca<<10|ca>>>22;_=c[s>>2]|0;H=H+_+(D^da^F)|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;R=c[t>>2]|0;V=R+1352829926+V+(aa^(X|~ca))|0;V=(V<<8|V>>>24)+Z|0;X=X<<10|X>>>22;K=K+I+(F^D^H)|0;K=(K<<15|K>>>17)+da|0;F=F<<10|F>>>22;Z=W+1352829926+Z+(V^(aa|~X))|0;Z=(Z<<11|Z>>>21)+ca|0;aa=aa<<10|aa>>>22;ba=c[u>>2]|0;da=da+ba+(H^F^K)|0;da=(da<<6|da>>>26)+D|0;H=H<<10|H>>>22;ca=Y+1352829926+ca+(Z^(V|~aa))|0;ca=(ca<<14|ca>>>18)+X|0;V=V<<10|V>>>22;D=D+P+(K^H^da)|0;D=(D<<7|D>>>25)+F|0;K=K<<10|K>>>22;X=_+1352829926+X+(ca^(Z|~V))|0;X=(X<<14|X>>>18)+aa|0;Z=Z<<10|Z>>>22;F=F+J+(da^K^D)|0;F=(F<<9|F>>>23)+H|0;da=da<<10|da>>>22;aa=E+1352829926+aa+(X^(ca|~Z))|0;aa=(aa<<12|aa>>>20)+V|0;ca=ca<<10|ca>>>22;H=H+R+(D^da^F)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=ba+1352829926+V+(aa^(X|~ca))|0;V=(V<<6|V>>>26)+Z|0;X=X<<10|X>>>22;K=U+1518500249+K+(H&F|D&~H)|0;K=(K<<7|K>>>25)+da|0;F=F<<10|F>>>22;Z=T+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<9|Z>>>23)+ca|0;aa=aa<<10|aa>>>22;da=S+1518500249+da+(K&H|F&~K)|0;da=(da<<6|da>>>26)+D|0;H=H<<10|H>>>22;ca=I+1548603684+ca+(Z&aa|V&~aa)|0;ca=(ca<<13|ca>>>19)+X|0;V=V<<10|V>>>22;D=P+1518500249+D+(da&K|H&~da)|0;D=(D<<8|D>>>24)+F|0;K=K<<10|K>>>22;X=E+1548603684+X+(ca&V|Z&~V)|0;X=(X<<15|X>>>17)+aa|0;Z=Z<<10|Z>>>22;F=Y+1518500249+F+(D&da|K&~D)|0;F=(F<<13|F>>>19)+H|0;da=da<<10|da>>>22;aa=U+1548603684+aa+(X&Z|ca&~Z)|0;aa=(aa<<7|aa>>>25)+V|0;ca=ca<<10|ca>>>22;H=_+1518500249+H+(F&D|da&~F)|0;H=(H<<11|H>>>21)+K|0;D=D<<10|D>>>22;V=N+1548603684+V+(aa&ca|X&~ca)|0;V=(V<<12|V>>>20)+Z|0;X=X<<10|X>>>22;K=T+1518500249+K+(H&F|D&~H)|0;K=(K<<9|K>>>23)+da|0;F=F<<10|F>>>22;Z=P+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<8|Z>>>24)+ca|0;aa=aa<<10|aa>>>22;da=R+1518500249+da+(K&H|F&~K)|0;da=(da<<7|da>>>25)+D|0;H=H<<10|H>>>22;ca=O+1548603684+ca+(Z&aa|V&~aa)|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;D=E+1518500249+D+(da&K|H&~da)|0;D=(D<<15|D>>>17)+F|0;K=K<<10|K>>>22;X=_+1548603684+X+(ca&V|Z&~V)|0;X=(X<<11|X>>>21)+aa|0;Z=Z<<10|Z>>>22;F=ba+1518500249+F+(D&da|K&~D)|0;F=(F<<7|F>>>25)+H|0;da=da<<10|da>>>22;aa=J+1548603684+aa+(X&Z|ca&~Z)|0;aa=(aa<<7|aa>>>25)+V|0;ca=ca<<10|ca>>>22;H=N+1518500249+H+(F&D|da&~F)|0;H=(H<<12|H>>>20)+K|0;D=D<<10|D>>>22;V=R+1548603684+V+(aa&ca|X&~ca)|0;V=(V<<7|V>>>25)+Z|0;X=X<<10|X>>>22;K=G+1518500249+K+(H&F|D&~H)|0;K=(K<<15|K>>>17)+da|0;F=F<<10|F>>>22;Z=W+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<12|Z>>>20)+ca|0;aa=aa<<10|aa>>>22;da=O+1518500249+da+(K&H|F&~K)|0;da=(da<<9|da>>>23)+D|0;H=H<<10|H>>>22;ca=ba+1548603684+ca+(Z&aa|V&~aa)|0;ca=(ca<<7|ca>>>25)+X|0;V=V<<10|V>>>22;D=Q+1518500249+D+(da&K|H&~da)|0;D=(D<<11|D>>>21)+F|0;K=K<<10|K>>>22;X=S+1548603684+X+(ca&V|Z&~V)|0;X=(X<<6|X>>>26)+aa|0;Z=Z<<10|Z>>>22;F=J+1518500249+F+(D&da|K&~D)|0;F=(F<<7|F>>>25)+H|0;da=da<<10|da>>>22;aa=G+1548603684+aa+(X&Z|ca&~Z)|0;aa=(aa<<15|aa>>>17)+V|0;ca=ca<<10|ca>>>22;H=I+1518500249+H+(F&D|da&~F)|0;H=(H<<13|H>>>19)+K|0;D=D<<10|D>>>22;V=Y+1548603684+V+(aa&ca|X&~ca)|0;V=(V<<13|V>>>19)+Z|0;X=X<<10|X>>>22;L=~H;K=W+1518500249+K+(H&F|D&L)|0;K=(K<<12|K>>>20)+da|0;F=F<<10|F>>>22;Z=Q+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<11|Z>>>21)+ca|0;aa=aa<<10|aa>>>22;L=E+1859775393+da+((K|L)^F)|0;L=(L<<11|L>>>21)+D|0;H=H<<10|H>>>22;ca=R+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;D=_+1859775393+D+((L|~K)^H)|0;D=(D<<13|D>>>19)+F|0;K=K<<10|K>>>22;X=O+1836072691+X+((ca|~Z)^V)|0;X=(X<<7|X>>>25)+aa|0;Z=Z<<10|Z>>>22;F=J+1859775393+F+((D|~L)^K)|0;F=(F<<6|F>>>26)+H|0;L=L<<10|L>>>22;aa=Y+1836072691+aa+((X|~ca)^Z)|0;aa=(aa<<15|aa>>>17)+V|0;ca=ca<<10|ca>>>22;H=S+1859775393+H+((F|~D)^L)|0;H=(H<<7|H>>>25)+K|0;D=D<<10|D>>>22;V=E+1836072691+V+((aa|~X)^ca)|0;V=(V<<11|V>>>21)+Z|0;X=X<<10|X>>>22;K=G+1859775393+K+((H|~F)^D)|0;K=(K<<14|K>>>18)+L|0;F=F<<10|F>>>22;Z=U+1836072691+Z+((V|~aa)^X)|0;Z=(Z<<8|Z>>>24)+ca|0;aa=aa<<10|aa>>>22;L=R+1859775393+L+((K|~H)^F)|0;L=(L<<9|L>>>23)+D|0;H=H<<10|H>>>22;ca=J+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<6|ca>>>26)+X|0;V=V<<10|V>>>22;D=W+1859775393+D+((L|~K)^H)|0;D=(D<<13|D>>>19)+F|0;K=K<<10|K>>>22;X=T+1836072691+X+((ca|~Z)^V)|0;X=(X<<6|X>>>26)+aa|0;Z=Z<<10|Z>>>22;F=Y+1859775393+F+((D|~L)^K)|0;F=(F<<15|F>>>17)+H|0;L=L<<10|L>>>22;aa=G+1836072691+aa+((X|~ca)^Z)|0;aa=(aa<<14|aa>>>18)+V|0;ca=ca<<10|ca>>>22;H=Q+1859775393+H+((F|~D)^L)|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;V=I+1836072691+V+((aa|~X)^ca)|0;V=(V<<12|V>>>20)+Z|0;X=X<<10|X>>>22;K=U+1859775393+K+((H|~F)^D)|0;K=(K<<8|K>>>24)+L|0;F=F<<10|F>>>22;Z=W+1836072691+Z+((V|~aa)^X)|0;Z=(Z<<13|Z>>>19)+ca|0;aa=aa<<10|aa>>>22;L=N+1859775393+L+((K|~H)^F)|0;L=(L<<13|L>>>19)+D|0;H=H<<10|H>>>22;ca=ba+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<5|ca>>>27)+X|0;V=V<<10|V>>>22;D=T+1859775393+D+((L|~K)^H)|0;D=(D<<6|D>>>26)+F|0;K=K<<10|K>>>22;X=Q+1836072691+X+((ca|~Z)^V)|0;X=(X<<14|X>>>18)+aa|0;Z=Z<<10|Z>>>22;F=P+1859775393+F+((D|~L)^K)|0;F=(F<<5|F>>>27)+H|0;L=L<<10|L>>>22;aa=_+1836072691+aa+((X|~ca)^Z)|0;aa=(aa<<13|aa>>>19)+V|0;ca=ca<<10|ca>>>22;H=I+1859775393+H+((F|~D)^L)|0;H=(H<<12|H>>>20)+K|0;D=D<<10|D>>>22;V=N+1836072691+V+((aa|~X)^ca)|0;V=(V<<13|V>>>19)+Z|0;X=X<<10|X>>>22;K=O+1859775393+K+((H|~F)^D)|0;K=(K<<7|K>>>25)+L|0;F=F<<10|F>>>22;Z=S+1836072691+Z+((V|~aa)^X)|0;Z=(Z<<7|Z>>>25)+ca|0;aa=aa<<10|aa>>>22;L=ba+1859775393+L+((K|~H)^F)|0;L=(L<<5|L>>>27)+D|0;H=H<<10|H>>>22;ca=P+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<5|ca>>>27)+X|0;V=V<<10|V>>>22;D=Y+-1894007588+D+(L&H|K&~H)|0;D=(D<<11|D>>>21)+F|0;K=K<<10|K>>>22;X=W+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<15|X>>>17)+aa|0;Z=Z<<10|Z>>>22;F=G+-1894007588+F+(D&K|L&~K)|0;F=(F<<12|F>>>20)+H|0;L=L<<10|L>>>22;aa=T+2053994217+aa+(X&ca|Z&~X)|0;aa=(aa<<5|aa>>>27)+V|0;ca=ca<<10|ca>>>22;H=I+-1894007588+H+(F&L|D&~L)|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;V=S+2053994217+V+(aa&X|ca&~aa)|0;V=(V<<8|V>>>24)+Z|0;X=X<<10|X>>>22;K=_+-1894007588+K+(H&D|F&~D)|0;K=(K<<15|K>>>17)+L|0;F=F<<10|F>>>22;Z=Y+2053994217+Z+(V&aa|X&~V)|0;Z=(Z<<11|Z>>>21)+ca|0;aa=aa<<10|aa>>>22;L=N+-1894007588+L+(K&F|H&~F)|0;L=(L<<14|L>>>18)+D|0;H=H<<10|H>>>22;ca=E+2053994217+ca+(Z&V|aa&~Z)|0;ca=(ca<<14|ca>>>18)+X|0;V=V<<10|V>>>22;D=W+-1894007588+D+(L&H|K&~H)|0;D=(D<<15|D>>>17)+F|0;K=K<<10|K>>>22;X=I+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<14|X>>>18)+aa|0;Z=Z<<10|Z>>>22;F=ba+-1894007588+F+(D&K|L&~K)|0;F=(F<<9|F>>>23)+H|0;L=L<<10|L>>>22;aa=R+2053994217+aa+(X&ca|Z&~X)|0;aa=(aa<<6|aa>>>26)+V|0;ca=ca<<10|ca>>>22;H=S+-1894007588+H+(F&L|D&~L)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=N+2053994217+V+(aa&X|ca&~aa)|0;V=(V<<14|V>>>18)+Z|0;X=X<<10|X>>>22;K=P+-1894007588+K+(H&D|F&~D)|0;K=(K<<9|K>>>23)+L|0;F=F<<10|F>>>22;Z=O+2053994217+Z+(V&aa|X&~V)|0;Z=(Z<<6|Z>>>26)+ca|0;aa=aa<<10|aa>>>22;L=E+-1894007588+L+(K&F|H&~F)|0;L=(L<<14|L>>>18)+D|0;H=H<<10|H>>>22;ca=ba+2053994217+ca+(Z&V|aa&~Z)|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;D=U+-1894007588+D+(L&H|K&~H)|0;D=(D<<5|D>>>27)+F|0;K=K<<10|K>>>22;X=Q+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<12|X>>>20)+aa|0;Z=Z<<10|Z>>>22;F=R+-1894007588+F+(D&K|L&~K)|0;F=(F<<6|F>>>26)+H|0;L=L<<10|L>>>22;aa=P+2053994217+aa+(X&ca|Z&~X)|0;aa=(aa<<9|aa>>>23)+V|0;ca=ca<<10|ca>>>22;H=J+-1894007588+H+(F&L|D&~L)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=G+2053994217+V+(aa&X|ca&~aa)|0;V=(V<<12|V>>>20)+Z|0;X=X<<10|X>>>22;K=O+-1894007588+K+(H&D|F&~D)|0;K=(K<<6|K>>>26)+L|0;F=F<<10|F>>>22;Z=U+2053994217+Z+(V&aa|X&~V)|0;Z=(Z<<5|Z>>>27)+ca|0;aa=aa<<10|aa>>>22;L=T+-1894007588+L+(K&F|H&~F)|0;L=(L<<5|L>>>27)+D|0;H=H<<10|H>>>22;ca=_+2053994217+ca+(Z&V|aa&~Z)|0;ca=(ca<<15|ca>>>17)+X|0;V=V<<10|V>>>22;D=Q+-1894007588+D+(L&H|K&~H)|0;D=(D<<12|D>>>20)+F|0;K=K<<10|K>>>22;X=J+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<8|X>>>24)+aa|0;Z=Z<<10|Z>>>22;F=S+-1454113458+F+(D^(L|~K))|0;F=(F<<9|F>>>23)+H|0;L=L<<10|L>>>22;aa=aa+ba+(ca^Z^X)|0;aa=(aa<<8|aa>>>24)+V|0;ca=ca<<10|ca>>>22;H=N+-1454113458+H+(F^(D|~L))|0;H=(H<<15|H>>>17)+K|0;D=D<<10|D>>>22;V=V+R+(X^ca^aa)|0;V=(V<<5|V>>>27)+Z|0;X=X<<10|X>>>22;K=O+-1454113458+K+(H^(F|~D))|0;K=(K<<5|K>>>27)+L|0;F=F<<10|F>>>22;Z=Z+_+(aa^X^V)|0;Z=(Z<<12|Z>>>20)+ca|0;aa=aa<<10|aa>>>22;L=G+-1454113458+L+(K^(H|~F))|0;L=(L<<11|L>>>21)+D|0;H=H<<10|H>>>22;S=ca+S+(V^aa^Z)|0;S=(S<<9|S>>>23)+X|0;V=V<<10|V>>>22;D=U+-1454113458+D+(L^(K|~H))|0;D=(D<<6|D>>>26)+F|0;K=K<<10|K>>>22;X=X+Y+(Z^V^S)|0;X=(X<<12|X>>>20)+aa|0;Z=Z<<10|Z>>>22;F=ba+-1454113458+F+(D^(L|~K))|0;F=(F<<8|F>>>24)+H|0;L=L<<10|L>>>22;O=aa+O+(S^Z^X)|0;O=(O<<5|O>>>27)+V|0;S=S<<10|S>>>22;H=Q+-1454113458+H+(F^(D|~L))|0;H=(H<<13|H>>>19)+K|0;D=D<<10|D>>>22;V=V+W+(X^S^O)|0;V=(V<<14|V>>>18)+Z|0;X=X<<10|X>>>22;K=_+-1454113458+K+(H^(F|~D))|0;K=(K<<12|K>>>20)+L|0;F=F<<10|F>>>22;U=Z+U+(O^X^V)|0;U=(U<<6|U>>>26)+S|0;O=O<<10|O>>>22;L=J+-1454113458+L+(K^(H|~F))|0;L=(L<<5|L>>>27)+D|0;H=H<<10|H>>>22;S=S+T+(V^O^U)|0;S=(S<<8|S>>>24)+X|0;V=V<<10|V>>>22;D=Y+-1454113458+D+(L^(K|~H))|0;D=(D<<12|D>>>20)+F|0;K=K<<10|K>>>22;Q=X+Q+(U^V^S)|0;Q=(Q<<13|Q>>>19)+O|0;U=U<<10|U>>>22;F=E+-1454113458+F+(D^(L|~K))|0;F=(F<<13|F>>>19)+H|0;L=L<<10|L>>>22;O=O+P+(S^U^Q)|0;O=(O<<6|O>>>26)+V|0;S=S<<10|S>>>22;H=W+-1454113458+H+(F^(D|~L))|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;J=V+J+(Q^S^O)|0;J=(J<<5|J>>>27)+U|0;Q=Q<<10|Q>>>22;K=I+-1454113458+K+(H^(F|~D))|0;K=(K<<11|K>>>21)+L|0;F=F<<10|F>>>22;N=U+N+(O^Q^J)|0;N=(N<<15|N>>>17)+S|0;O=O<<10|O>>>22;L=T+-1454113458+L+(K^(H|~F))|0;L=(L<<8|L>>>24)+D|0;H=H<<10|H>>>22;E=S+E+(J^O^N)|0;E=(E<<13|E>>>19)+Q|0;J=J<<10|J>>>22;D=R+-1454113458+D+(L^(K|~H))|0;D=(D<<5|D>>>27)+F|0;K=K<<10|K>>>22;G=Q+G+(N^J^E)|0;G=(G<<11|G>>>21)+O|0;N=N<<10|N>>>22;F=P+-1454113458+F+(D^(L|~K))|0;I=O+I+(E^N^G)|0;c[z>>2]=N+M+(L<<10|L>>>22);c[A>>2]=J+(c[B>>2]|0)+K;c[B>>2]=H+(c[v>>2]|0)+J+(I<<11|I>>>21);c[v>>2]=H+(c[y>>2]|0)+G+(F<<6|F>>>26);c[y>>2]=(E<<10|E>>>22)+a+D;e=e+-1|0;if(!e)break;else b=b+64|0}i=C;return 124}function lj(a){a=a|0;var b=0;c[a+160>>2]=1732584193;c[a+164>>2]=-271733879;c[a+168>>2]=-1732584194;c[a+172>>2]=271733878;c[a+176>>2]=-1009589776;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=31;return}function mj(a,b){a=a|0;b=b|0;kj(a,b,1)|0;c[b>>2]=c[a+160>>2];c[b+4>>2]=c[a+164>>2];c[b+8>>2]=c[a+168>>2];c[b+12>>2]=c[a+172>>2];c[b+16>>2]=c[a+176>>2];return}function nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+192|0;if((i|0)>=(j|0))$(192);g=f;c[g+160>>2]=1732584193;c[g+164>>2]=-271733879;c[g+168>>2]=-1732584194;c[g+172>>2]=271733878;c[g+176>>2]=-1009589776;h=g+128|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[g+148>>2]=64;c[g+152>>2]=31;Fo(g,d,e);hj(g);d=g;e=b+20|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=f;return}function oj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;if((i|0)>=(j|0))$(16);r=s;p=(d+7|0)>>>3;c[r>>2]=p;a:do if((p|0)!=0&(f+7|0)>>>0<=p>>>0){q=bf(p)|0;if(!q){d=$p()|0;break}a[q>>0]=0;a[q+1>>0]=2;d=-3-f+p|0;if((d|0)<=0)Ge(38526,38532,95,38545);do if(g){if((d|0)==(h|0))d=0;else{ef(q);d=45;break a}while(1){if(d>>>0>=h>>>0){k=12;break}if(!(a[g+d>>0]|0)){k=11;break}else d=d+1|0}if((k|0)==11){ef(q);d=45;break a}else if((k|0)==12){kt(q+2|0,g|0,h|0)|0;d=h;break}}else{o=Jk(d,1)|0;while(1){k=0;g=0;while(1){if((g|0)==(d|0))break;k=((a[o+g>>0]|0)==0&1)+k|0;g=g+1|0}if(!k)break;g=k+3+((k|0)/128|0)|0;n=Jk(g,1)|0;m=0;while(1){if(!((m|0)<(d|0)&(g|0)!=0))break;h=o+m|0;k=a[h>>0]|0;l=g+-1|0;if(!(k<<24>>24)){k=a[n+l>>0]|0;a[h>>0]=k;g=l}m=(k<<24>>24!=0&1)+m|0}ef(n)}kt(q+2|0,o|0,d|0)|0;ef(o)}while(0);o=d+3|0;a[q+(d+2)>>0]=0;kt(q+o|0,e|0,f|0)|0;if((o+f|0)!=(p|0))Ge(38576,38532,153,38545);d=km(b,5,q,p,r)|0;if((d|0)==0?pf(1)|0:0)Qe(38588,c[b>>2]|0);ef(q)}else d=66;while(0);i=s;return d|0}function pj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=k;e=(e+7|0)>>>3;c[b>>2]=0;g=bf(e)|0;do if(g){e=mm(5,g,e,h,f)|0;if(e|0){ef(g);e=e&65535;break}f=c[h>>2]|0;if(f>>>0<4){ef(g);e=155;break}l=(a[g>>0]|0)==0;e=l?2:1;c[h>>2]=e;if((a[g+(l&1)>>0]|0)!=2){ef(g);e=155;break}while(1){if(e>>>0>=f>>>0)break;if(!(a[g+e>>0]|0))break;l=e+1|0;c[h>>2]=l;e=l}e=e+1|0;if(f>>>0<=e>>>0){ef(g);e=155;break}c[h>>2]=e;l=f-e|0;lt(g|0,g+e|0,l|0)|0;c[b>>2]=g;c[d>>2]=l;if(!(pf(1)|0))e=0;else{Oe(38621,c[b>>2]|0,c[d>>2]|0);e=0}}else e=$p()|0;while(0);i=k;return e|0}function qj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+112|0;if((i|0)>=(j|0))$(112);n=p+8|0;o=p+4|0;h=p;m=(d+7|0)>>>3;c[o>>2]=m;c[h>>2]=100;d=Xh(g)|0;do if(!(Yh(g,10,n,h)|0))if((d|0)==(f|0))if((f|0)!=0?(f+4+(c[h>>2]|0)|0)>>>0<=m>>>0:0){l=_e(m)|0;if(!l){d=$p()|0;break}a[l>>0]=0;a[l+1>>0]=1;k=m-f|0;d=c[h>>2]|0;g=k-d|0;h=g+-3|0;if((h|0)<=1)Ge(38675,38532,303,38681);et(l+2|0,-1,h|0)|0;a[l+(g+-1)>>0]=0;kt(l+g|0,n|0,d|0)|0;kt(l+k|0,e|0,f|0)|0;d=km(b,5,l,m,o)|0;if((d|0)==0?pf(1)|0:0)Qe(38712,c[b>>2]|0);ef(l)}else d=66;else d=70;else d=69;while(0);i=p;return d|0}function rj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))$(16);k=m;h=(d+7|0)>>>3;c[k>>2]=h;do if((f|0)==0|(f+4|0)>>>0>h>>>0)d=66;else{l=_e(h)|0;if(!l){d=$p()|0;break}a[l>>0]=0;a[l+1>>0]=1;d=h-f|0;g=d+-3|0;if((g|0)<=1)Ge(38675,38532,368,38745);et(l+2|0,-1,g|0)|0;a[l+(d+-1)>>0]=0;kt(l+d|0,e|0,f|0)|0;d=km(b,5,l,h,k)|0;if(!d)if(!(pf(1)|0))d=0;else{Qe(38712,c[b>>2]|0);d=0}else d=d&65535;ef(l)}while(0);i=m;return d|0}function sj(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;p=(d+7|0)>>>3;c[b>>2]=0;d=(h|0)!=0&(i|0)!=0;i=d?i:0;d=d?h:71699;n=Xh(e)|0;a:do if(p|0?(p+-2-(n<<1)|0)>>>0>=g>>>0:0){o=gf(1,p)|0;if(!o){d=$p()|0;break}l=o+1|0;m=l+n|0;Th(e,m,d,i);h=o+(p+-1-g)|0;a[h>>0]=1;kt(h+1|0,f|0,g|0)|0;do if(j)if((n|0)==(k|0)){kt(l|0,j|0,k|0)|0;break}else{ef(o);d=45;break a}else Kk(l,n,1);while(0);f=p-n+-1|0;h=bf(f)|0;if(!h){d=$p()|0;ef(o);break}d=tj(h,f,l,n,e)|0;if(!d){d=n;i=h}else{ef(h);ef(o);break}while(1){d=d+1|0;if(d>>>0>=p>>>0)break;k=o+d|0;a[k>>0]=a[k>>0]^a[i>>0];i=i+1|0}ef(h);l=bf(n)|0;if(!l){d=$p()|0;ef(o);break}d=tj(l,n,m,f,e)|0;if(d|0){ef(l);ef(o);break}h=n+1|0;d=1;i=l;while(1){if(d>>>0>=h>>>0)break;e=o+d|0;a[e>>0]=a[e>>0]^a[i>>0];d=d+1|0;i=i+1|0}ef(l);d=km(b,5,o,p,0)|0;if((d|0)==0?pf(1)|0:0)Qe(38780,c[b>>2]|0);ef(o)}else d=66;while(0);return d|0}function tj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=i;i=i+16|0;if((i|0)>=(j|0))$(16);o=q;p=q+4|0;h=Fh(o,g,0)|0;if(!h){n=Xh(g)|0;k=p+1|0;l=p+2|0;m=p+3|0;h=0;g=0;while(1){if(h>>>0>=d>>>0)break;if(g|0)Lh(c[o>>2]|0);a[p>>0]=g>>>24;a[k>>0]=g>>>16;a[l>>0]=g>>>8;a[m>>0]=g;Nh(c[o>>2]|0,e,f);Nh(c[o>>2]|0,p,4);s=Uh(c[o>>2]|0,0)|0;r=d-h|0;r=r>>>0<n>>>0?r:n;kt(b+h|0,s|0,r|0)|0;h=r+h|0;g=g+1|0}Mh(c[o>>2]|0);h=0}i=q;return h|0}function uj(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;if((i|0)>=(j|0))$(16);r=s;c[r>>2]=0;e=(e+7|0)>>>3;c[b>>2]=0;l=(h|0)!=0&(k|0)!=0;p=Xh(f)|0;q=_e(p)|0;do if(q){Th(f,q,l?h:71699,l?k:0);if(om(r,0,g,e)|0){ef(q);e=155;break}if(e>>>0<((p<<1)+2|0)>>>0){ef(c[r>>2]|0);ef(q);e=155;break}e=e+-1|0;o=bf(e)|0;if(!o){e=$p()|0;ef(c[r>>2]|0);ef(q);break}l=(c[r>>2]|0)+1|0;m=l+p|0;n=e-p|0;g=(tj(o,p,m,n,f)|0)!=0;e=0;while(1){if((e|0)==(p|0))break;k=o+e|0;a[k>>0]=a[k>>0]^a[l+e>>0];e=e+1|0}k=o+p|0;h=g&1;g=tj(k,n,o,p,f)|0;e=0;while(1){if((e|0)==(n|0))break;f=k+e|0;a[f>>0]=a[f>>0]^a[m+e>>0];e=e+1|0}l=_r(q,k,p)|0;e=p;while(1){if(e>>>0>=n>>>0)break;if((a[k+e>>0]|0)==1)break;e=e+1|0}p=(a[c[r>>2]>>0]|0)==0;ef(q);ef(c[r>>2]|0);if(!((g|h|l|0)==0&(e|0)!=(n|0)&p)){ef(o);e=155;break}q=e+1|0;r=n-q|0;lt(o|0,k+q|0,r|0)|0;c[b>>2]=o;c[d>>2]=r;if(!(pf(1)|0))e=0;else{Oe(38798,c[b>>2]|0,c[d>>2]|0);e=0}}else e=$p()|0;while(0);i=s;return e|0}function vj(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=(e+7|0)>>>3;m=Xh(f)|0;if(!m)Ge(38837,38532,800,38842);q=i+8+m|0;t=o-m+-1|0;n=q+t|0;v=_e(n)|0;if(!v)l=$p()|0;else{p=v+8|0;r=p+m|0;l=r+i|0;do if((m|0)==(h|0)){kt(p|0,g|0,h|0)|0;if(o>>>0<(i+2+h|0)>>>0)l=66;else{u=_e(o)|0;if(!u){l=$p()|0;break}m=u+o+-1+(0-h)|0;do if(i){if(!j){Kk(r,i,1);s=14;break}if((k|0)==(i|0)){kt(r|0,j|0,i|0)|0;s=14}else l=45}else s=14;while(0);if((s|0)==14){s=v;k=s;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;s=s+4|0;a[s>>0]=0;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;Th(f,m,v,q);s=m+(0-i)+-1|0;et(u|0,0,s-u|0)|0;a[s>>0]=1;kt(s+1|0,r|0,i|0)|0;tj(l,t,m,h,f)|0;m=0;while(1){if((m|0)==(t|0))break;s=u+m|0;a[s>>0]=a[s>>0]^a[l>>0];l=l+1|0;m=m+1|0}a[u>>0]=(d[u>>0]|0)&255>>>((o<<3)-e|0);a[u+(o+-1)>>0]=-68;l=km(b,5,u,o,0)|0;if(!l)if(!(pf(1)|0))l=0;else{Qe(38863,c[b>>2]|0);l=0}}m=u;while(1){if(!((o|0)!=0&(m&7|0)!=0))break;a[m>>0]=0;o=o+-1|0;m=m+1|0}if(o>>>0>=8){g=o+-8|0;q=g&-8;f=q+8|0;p=m;while(1){b=p;c[b>>2]=0;c[b+4>>2]=0;o=o+-8|0;if(o>>>0<=7)break;else p=p+8|0}o=g-q|0;m=m+f|0}while(1){if(!o)break;a[m>>0]=0;o=o+-1|0;m=m+1|0}ef(u)}}else l=139;while(0);m=v;while(1){if(!((n|0)!=0&(m&7|0)!=0))break;a[m>>0]=0;n=n+-1|0;m=m+1|0}if(n>>>0>=8){p=n+-8|0;g=p&-8;q=g+8|0;o=m;while(1){u=o;c[u>>2]=0;c[u+4>>2]=0;n=n+-8|0;if(n>>>0<=7)break;else o=o+8|0}n=p-g|0;m=m+q|0}while(1){if(!n)break;a[m>>0]=0;n=n+-1|0;m=m+1|0}ef(v)}return l|0}function wj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;if((i|0)>=(j|0))$(16);t=w;c[t>>2]=0;l=(f+7|0)>>>3;s=Xh(g)|0;if(!s)Ge(38837,38532,926,38880);q=h+8+s|0;o=l-s|0;p=o+-1|0;k=(q>>>0<p>>>0?p:q)+s|0;v=_e(k)|0;u=(v|0)!=0;if(u){m=0-s|0;r=v+k+m|0;b=om(0,r,b,s)|0;if(!b){b=om(t,0,e,l)|0;if(!b)if(l>>>0>=(h+2+s|0)>>>0){e=c[t>>2]|0;if((a[e+(l+-1)>>0]|0)==-68){n=e+l+-1+m|0;m=255>>>((l<<3)-f|0);if(!(d[e>>0]&~m)){tj(v,p,n,s,g)|0;b=v;e=0;while(1){if((e|0)==(p|0))break;f=(c[t>>2]|0)+e|0;a[f>>0]=a[f>>0]^a[b>>0];b=b+1|0;e=e+1|0}f=c[t>>2]|0;a[f>>0]=d[f>>0]&m;m=o-h|0;f=m+-2|0;e=c[t>>2]|0;b=0;while(1){if(b>>>0>=f>>>0)break;if(a[e+b>>0]|0)break;b=b+1|0}if((b|0)==(f|0))if((a[e+f>>0]|0)==1){b=v;p=b;a[p>>0]=0;a[p+1>>0]=0;a[p+2>>0]=0;a[p+3>>0]=0;b=b+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=v+8|0;kt(b|0,r|0,s|0)|0;kt(b+s|0,e+(m+-1)|0,h|0)|0;Th(g,v,v,q);b=(_r(n,v,s)|0)!=0;b=b?8:0;m=20}else{b=8;m=22}else{b=8;m=20}}else{b=8;m=20}}else{b=8;m=21}}else{b=66;m=20}else m=20}else m=20}else{b=$p()|0;m=20}if((m|0)==20){e=c[t>>2]|0;m=21}if((m|0)==21)if(!e)n=b;else m=22;if((m|0)==22){while(1){if(!((l|0)!=0&(e&7|0)!=0))break;a[e>>0]=0;l=l+-1|0;e=e+1|0}if(l>>>0>=8){f=l+-8|0;n=f&-8;o=n+8|0;m=e;while(1){s=m;c[s>>2]=0;c[s+4>>2]=0;l=l+-8|0;if(l>>>0<=7)break;else m=m+8|0}l=f-n|0;e=e+o|0}while(1){if(!l)break;a[e>>0]=0;l=l+-1|0;e=e+1|0}ef(c[t>>2]|0);n=b}if(u){b=v;while(1){if(!((k|0)!=0&(b&7|0)!=0))break;a[b>>0]=0;k=k+-1|0;b=b+1|0}if(k>>>0>=8){l=k+-8|0;m=l&-8;f=m+8|0;e=b;while(1){u=e;c[u>>2]=0;c[u+4>>2]=0;k=k+-8|0;if(k>>>0<=7)break;else e=e+8|0}k=l-m|0;b=b+f|0}while(1){if(!k)break;a[b>>0]=0;k=k+-1|0;b=b+1|0}ef(v)}i=w;return n|0}function xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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;A=i;i=i+176|0;if((i|0)>=(j|0))$(176);x=A+8|0;v=A;n=A+164|0;o=A+160|0;p=A+156|0;q=A+152|0;r=A+148|0;s=A+144|0;m=A+88|0;h=A+84|0;l=A+80|0;y=A+56|0;k=A+48|0;z=A+44|0;c[k>>2]=0;c[z>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;d=ki(a,h)|0;do if(!d){d=li(a,l)|0;if(!d){d=Af(a,46728,0)|0;if(d|0?(e=ji(d,k,0)|0,yf(d),e|0):0){d=e;break}if((a|0)!=0?(f=Af(a,41346,0)|0,(f|0)!=0):0){u=f;w=11}else w=7;do if((w|0)==7){d=Af(a,41359,0)|0;if(d|0){c[k>>2]=c[k>>2]|64;yf(d)}if((c[k>>2]&64|0)==0?(wg()|0)==0:0){if((c[k>>2]&32|0)==0?(g=Af(a,48475,0)|0,g|0):0){c[k>>2]=c[k>>2]|32;yf(g)}e=c[h>>2]|0;f=c[l>>2]|0;d=(c[k>>2]|0)>>>5&1;if(wg()|0?!(e>>>0>1023&(d|0)==0):0){d=55;break}a=2-d|0;p=(e&1)+e|0;d=(f|0)==1?65537:f;o=Gm(1)|0;if(!d){Zm(o,41)|0;l=0}else{Zm(o,d|1)|0;l=1}m=an(p)|0;f=p>>>1;e=0;d=0;do{if(e|0)cn(e);if(d|0)cn(d);if(l){e=ci(f,a,6,o)|0;d=ci(f,a,6,o)|0}else{e=ci(f,a,0,0)|0;d=ci(f,a,0,0)|0}if((Jl(e,d)|0)>0)_m(e,d);bm(m,e,d)}while((yl(m)|0)!=(p|0));a=e+4|0;f=Im(c[a>>2]|0)|0;a=Im(c[a>>2]|0)|0;g=bn(p)|0;h=bn(p)|0;k=bn(p)|0;tl(f,e,1);tl(a,d,1);bm(g,f,a);Sl(h,f,a)|0;Ol(k,g,h);while(1){if(Sl(f,o,g)|0)break;if(l){w=65;break}rl(o,o,2)}if((w|0)==65)Fe(41424,287,41552);l=bn(p)|0;Yl(l,o,k)|0;n=bn(p)|0;Yl(n,e,d)|0;if(pf(1)|0){Qe(41565,e);Qe(41571,d);Qe(41577,g);Qe(41583,h);Qe(41589,k);Qe(41595,m);Qe(41601,o);Qe(41607,l);Qe(41613,n)}cn(f);cn(a);cn(g);cn(k);cn(h);c[y>>2]=m;h=y+4|0;c[h>>2]=o;a=y+12|0;c[a>>2]=e;f=y+16|0;c[f>>2]=d;g=y+8|0;c[g>>2]=l;d=y+20|0;c[d>>2]=n;if(!(Kj(y,p+-64|0)|0)){e=y;w=73}else{cn(c[y>>2]|0);c[y>>2]=0;cn(c[h>>2]|0);c[h>>2]=0;cn(c[a>>2]|0);c[a>>2]=0;cn(c[f>>2]|0);c[f>>2]=0;cn(c[g>>2]|0);c[g>>2]=0;cn(c[d>>2]|0);c[d>>2]=0;Ag(41424,334,41552,0,41485);d=50}}else{u=0;w=11}}while(0);if((w|0)==11){t=c[h>>2]|0;h=c[l>>2]|0;h=(h|0)==1?65537:h;if(!(t>>>0<1024|(t&255|0)!=0|h>>>0<3|(h&1|0)==0)){c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;do if(!u){d=t>>>1;e=Ij(d)|0;c[p>>2]=e;f=bn(d)|0;a=d+-100|0;g=0;do{cn(g);g=Ij(d)|0;c[s>>2]=g;ul(f,e,g)}while((yl(f)|0)>>>0<=a>>>0);cn(f);c[n>>2]=Jj()|0;c[o>>2]=Jj()|0;c[q>>2]=Jj()|0;c[r>>2]=Jj()|0;w=28}else{d=m+4|0;e=d+12|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[m>>2]=41368;c[m+8>>2]=41372;c[m+16>>2]=41376;c[m+24>>2]=41379;c[m+32>>2]=41383;c[m+40>>2]=41387;c[d>>2]=n;c[m+12>>2]=o;c[m+20>>2]=p;c[m+28>>2]=q;c[m+36>>2]=r;c[m+44>>2]=s;e=0;d=41368;while(1){if(!d){e=0;d=41368;break}d=Af(u,d,0)|0;if(d|0){l=Hf(d,1,5)|0;c[c[m+(e<<3)+4>>2]>>2]=l;yf(d)}d=e+1|0;e=d;d=c[m+(d<<3)>>2]|0}while(1){if(!d){w=26;break}d=e+1|0;if(!(c[c[m+(e<<3)+4>>2]>>2]|0)){d=0;e=41368;break}e=d;d=c[m+(d<<3)>>2]|0}if((w|0)==26){w=28;break}while(1){if(!e)break;cn(c[c[m+(d<<3)+4>>2]>>2]|0);e=d+1|0;d=e;e=c[m+(e<<3)>>2]|0}m=0;n=0;g=0;e=0;d=128}while(0);if((w|0)==28){f=Fm(h)|0;d=hi(c[p>>2]|0,c[n>>2]|0,c[o>>2]|0,f,0,0)|0;e=hi(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,f,0,0)|0;cn(c[p>>2]|0);c[p>>2]=0;cn(c[n>>2]|0);c[n>>2]=0;cn(c[o>>2]|0);c[o>>2]=0;cn(c[s>>2]|0);c[s>>2]=0;cn(c[q>>2]|0);c[q>>2]=0;cn(c[r>>2]|0);c[r>>2]=0;if((d|0)!=0&(e|0)!=0){m=d;n=e;g=f;e=1;d=128}else{cn(d);cn(e);cn(f);m=d;n=e;g=f;e=0;d=21}}if(e){if((Jl(m,n)|0)>0){_m(m,n);e=1}else e=0;d=an(t)|0;bm(d,m,n);f=t>>>1;l=bn(f)|0;f=bn(f)|0;a=bn(t)|0;tl(l,m,1);tl(f,n,1);bm(a,l,f);k=bn(t)|0;if(!(Sl(k,g,a)|0))Ge(41390,41424,541,41430);Sl(k,l,f)|0;cn(f);Ol(l,a,k);cn(a);Yl(k,g,l)|0;Yl(l,m,n)|0;if(pf(1)|0){if(e|0)Me(41444,v);Qe(45307,m);Qe(41465,n);Qe(41469,d);Qe(41473,g);Qe(41477,k);Qe(41481,l)}c[y>>2]=d;h=y+4|0;c[h>>2]=g;g=y+12|0;c[g>>2]=m;a=y+16|0;c[a>>2]=n;f=y+8|0;c[f>>2]=k;d=y+20|0;c[d>>2]=l;if(!(Kj(y,t+-64|0)|0))d=0;else{cn(c[y>>2]|0);c[y>>2]=0;cn(c[h>>2]|0);c[h>>2]=0;cn(c[g>>2]|0);c[g>>2]=0;cn(c[a>>2]|0);c[a>>2]=0;cn(c[f>>2]|0);c[f>>2]=0;cn(c[d>>2]|0);c[d>>2]=0;Ag(41424,586,41430,0,41485);d=50}}else e=0}else{e=0;d=55}yf(u);if((e|0)!=0&(d|0)==0)d=zf(z,41523,0,1)|0;if(!d){h=y+4|0;g=y+8|0;a=y+12|0;f=y+16|0;d=y+20|0;e=y;w=73}}if((w|0)==73){r=c[e>>2]|0;s=c[h>>2]|0;t=c[g>>2]|0;u=c[a>>2]|0;v=c[f>>2]|0;w=c[d>>2]|0;d=c[z>>2]|0;c[x>>2]=r;c[x+4>>2]=s;c[x+8>>2]=r;c[x+12>>2]=s;c[x+16>>2]=t;c[x+20>>2]=u;c[x+24>>2]=v;c[x+28>>2]=w;c[x+32>>2]=d;d=Kf(b,0,41619,x)|0}Om(c[y>>2]|0);Om(c[y+4>>2]|0);Om(c[y+12>>2]|0);Om(c[y+16>>2]|0);Om(c[y+8>>2]|0);Om(c[y+20>>2]|0);yf(c[z>>2]|0)}}while(0);i=A;return d|0}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+64|0;if((i|0)>=(j|0))$(64);k=l+32|0;m=l;b=l+40|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+4|0;e=b+8|0;f=b+12|0;g=b+16|0;h=b+20|0;c[m>>2]=b;c[m+4>>2]=d;c[m+8>>2]=e;c[m+12>>2]=f;c[m+16>>2]=g;c[m+20>>2]=h;c[m+24>>2]=0;a=Qf(a,0,38908,m)|0;if(!a){m=Gm(c[(c[f>>2]|0)+4>>2]<<1)|0;bm(m,c[f>>2]|0,c[g>>2]|0);a=Jl(m,c[b>>2]|0)|0;Om(m);a=(a|0)==0?0:7}cn(c[b>>2]|0);cn(c[d>>2]|0);cn(c[e>>2]|0);cn(c[f>>2]|0);cn(c[g>>2]|0);cn(c[h>>2]|0);if(pf(1)|0){c[k>>2]=Yp(a)|0;Me(41324,k)}i=l;return a|0}function zj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+96|0;if((i|0)>=(j|0))$(96);n=o+40|0;f=o+32|0;h=o+24|0;g=o+8|0;k=o+48|0;l=o+44|0;m=o;c[l>>2]=0;e=m;c[e>>2]=0;c[e+4>>2]=0;pi(k,0,Dj(d)|0);b=ri(b,l,k)|0;do if(!b){if(pf(1)|0)Qe(41194,c[l>>2]|0);e=c[l>>2]|0;if(e|0?c[e+12>>2]&4|0:0){e=0;b=79;break}e=m+4|0;c[g>>2]=m;c[g+4>>2]=e;c[g+8>>2]=0;b=Qf(d,0,38905,g)|0;if(!b){if(pf(1)|0){Qe(41211,c[m>>2]|0);Qe(41228,c[e>>2]|0)}d=an(0)|0;Gj(d,c[l>>2]|0,m);if(pf(1)|0)Qe(41245,d);if(!(c[k+12>>2]&4)){c[f>>2]=d;e=d;b=Kf(a,0,41282,f)|0;break}e=((yl(c[m>>2]|0)|0)+7|0)>>>3;b=om(g,0,d,e)|0;if(!b){b=c[g>>2]|0;c[h>>2]=e;c[h+4>>2]=b;b=Kf(a,0,41262,h)|0;ef(c[g>>2]|0)}e=d}else e=0}else e=0;while(0);cn(e);cn(c[m>>2]|0);cn(c[m+4>>2]|0);cn(c[l>>2]|0);qi(k);if(pf(1)|0){c[n>>2]=Yp(b)|0;Me(41302,n)}i=o;return b|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;w=i;i=i+160|0;if((i|0)>=(j|0))$(160);v=w+64|0;m=w+56|0;p=w+48|0;o=w+40|0;k=w+8|0;e=w;q=w+112|0;r=w+108|0;s=w+104|0;t=w+80|0;u=w+72|0;n=w+68|0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[u>>2]=0;c[n>>2]=0;pi(q,1,Dj(d)|0);b=ni(b,7724,r,q)|0;a:do if(!b){b=c[r>>2]|0;c[e>>2]=s;c[e+4>>2]=0;b=Qf(b,0,38915,e)|0;if(!b){if(pf(1)|0)Qe(41022,c[s>>2]|0);l=c[s>>2]|0;if(l|0?c[l+12>>2]&4|0:0){e=0;b=79;break}l=t+4|0;e=t+8|0;f=t+12|0;g=t+16|0;h=t+20|0;c[k>>2]=t;c[k+4>>2]=l;c[k+8>>2]=e;c[k+12>>2]=f;c[k+16>>2]=g;c[k+20>>2]=h;c[k+24>>2]=0;b=Qf(d,0,40839,k)|0;if(!b){if(pf(1)|0?(Qe(41039,c[t>>2]|0),Qe(41056,c[l>>2]|0),(wg()|0)==0):0){Qe(41073,c[e>>2]|0);Qe(41090,c[f>>2]|0);Qe(41107,c[g>>2]|0);Qe(41124,c[h>>2]|0)}xl(c[s>>2]|0);b=c[s>>2]|0;Kl(b,b,c[t>>2]|0);b=q+4|0;e=bn(c[b>>2]|0)|0;f=q+12|0;if(!(c[f>>2]&1)){g=bn(c[b>>2]|0)|0;h=bn(c[b>>2]|0)|0;d=bn(c[b>>2]|0)|0;do{dn(g,c[b>>2]|0,0);Zl(g,g,c[t>>2]|0)}while(!(Yl(h,g,c[t>>2]|0)|0));dm(d,g,c[l>>2]|0,c[t>>2]|0);cm(d,d,c[s>>2]|0,c[t>>2]|0);Hj(e,d,t);cn(d);cm(e,e,h,c[t>>2]|0);cn(g);cn(h)}else Hj(e,c[s>>2]|0,t);if(pf(1)|0)Qe(41141,e);switch(c[q+8>>2]|0){case 1:{b=pj(u,n,c[b>>2]|0,e)|0;Om(e);if(b|0){e=0;break a}e=c[u>>2]|0;c[o>>2]=c[n>>2];c[o+4>>2]=e;e=0;b=Kf(a,0,41158,o)|0;break a}case 3:{b=uj(u,n,c[b>>2]|0,c[q+16>>2]|0,e,c[q+20>>2]|0,c[q+24>>2]|0)|0;Om(e);if(b|0){e=0;break a}e=c[u>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=e;e=0;b=Kf(a,0,41158,p)|0;break a}default:{b=c[f>>2]&8|0?41169:47623;c[m>>2]=e;b=Kf(a,0,b,m)|0;break a}}}else e=0}else e=0}else e=0;while(0);ef(c[u>>2]|0);cn(e);cn(c[t>>2]|0);cn(c[t+4>>2]|0);cn(c[t+8>>2]|0);cn(c[t+12>>2]|0);cn(c[t+16>>2]|0);cn(c[t+20>>2]|0);cn(c[s>>2]|0);cn(0);cn(0);cn(0);yf(c[r>>2]|0);qi(q);if(pf(1)|0){c[v>>2]=Yp(b)|0;Me(41172,v)}i=w;return b|0}function Bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;if((i|0)>=(j|0))$(128);r=s+48|0;l=s+40|0;n=s+32|0;m=s;o=s+88|0;p=s+80|0;q=s+56|0;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;pi(o,2,Dj(d)|0);b=ri(b,p,o)|0;do if(!b){if(pf(1)|0)Qe(40823,c[p>>2]|0);k=c[p>>2]|0;if(k|0?c[k+12>>2]&4|0:0){e=0;b=79;break}e=q+4|0;f=q+8|0;g=q+12|0;h=q+16|0;k=q+20|0;c[m>>2]=q;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;c[m+20>>2]=k;c[m+24>>2]=0;b=Qf(d,0,40839,m)|0;if(!b){if(pf(1)|0?(Qe(40849,c[q>>2]|0),Qe(40865,c[e>>2]|0),(wg()|0)==0):0){Qe(40881,c[f>>2]|0);Qe(40897,c[g>>2]|0);Qe(40913,c[h>>2]|0);Qe(40929,c[k>>2]|0)}f=an(0)|0;Hj(f,c[p>>2]|0,q);if(pf(1)|0)Qe(40945,f);if(!(c[o+12>>2]&4)){c[l>>2]=f;e=f;b=Kf(a,0,40981,l)|0;break}e=((yl(c[q>>2]|0)|0)+7|0)>>>3;b=om(m,0,f,e)|0;if(!b){b=c[m>>2]|0;c[n>>2]=e;c[n+4>>2]=b;b=Kf(a,0,40961,n)|0;ef(c[m>>2]|0)}e=f}else e=0}else e=0;while(0);cn(e);cn(c[q>>2]|0);cn(c[q+4>>2]|0);cn(c[q+8>>2]|0);cn(c[q+12>>2]|0);cn(c[q+16>>2]|0);cn(c[q+20>>2]|0);cn(c[p>>2]|0);qi(o);if(pf(1)|0){c[r>>2]=Yp(b)|0;Me(41001,r)}i=s;return b|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+96|0;if((i|0)>=(j|0))$(96);o=p+32|0;g=p+16|0;f=p+8|0;h=p+48|0;k=p+44|0;l=p+40|0;m=p+36|0;n=p;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;e=n;c[e>>2]=0;c[e+4>>2]=0;pi(h,3,Dj(d)|0);e=ri(b,m,h)|0;do if(!e){if(pf(1)|0)Qe(40722,c[m>>2]|0);e=c[m>>2]|0;if(e|0?c[e+12>>2]&4|0:0){a=0;e=79;break}e=mi(a,7724,k,0)|0;if(!e){e=c[k>>2]|0;c[f>>2]=l;c[f+4>>2]=0;e=Qf(e,0,38917,f)|0;if(!e){if(pf(1)|0)Qe(40738,c[l>>2]|0);b=n+4|0;c[g>>2]=n;c[g+4>>2]=b;c[g+8>>2]=0;e=Qf(d,0,38905,g)|0;if(!e){if(pf(1)|0){Qe(40754,c[n>>2]|0);Qe(40770,c[b>>2]|0)}b=an(0)|0;Gj(b,c[l>>2]|0,n);if(pf(1)|0)Qe(40786,b);e=c[h+32>>2]|0;if(!e){e=(Jl(b,c[m>>2]|0)|0)!=0;a=b;e=e?8:0;break}else{a=b;e=Db[e&7](h,b)|0;break}}else a=0}else a=0}else a=0}else a=0;while(0);cn(a);cn(c[n>>2]|0);cn(c[n+4>>2]|0);cn(c[m>>2]|0);cn(c[l>>2]|0);yf(c[k>>2]|0);qi(h);if(pf(1)|0){if(!e)b=47026;else b=Yp(e)|0;c[o>>2]=b;Me(40802,o)}i=p;return e|0}function Dj(a){a=a|0;var b=0;a=Af(a,38919,1)|0;if(!a)a=0;else{b=Hf(a,1,5)|0;yf(a);if(!b)a=0;else a=yl(b)|0;cn(b)}return a|0}function Ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))$(32);f=r;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;if((a|0)==1){c[o>>2]=0;c[p>>2]=0;b=Mf(o,0,38921,1029)|0;do if(!b){b=Mf(p,0,39951,316)|0;if(!b){b=Bi(c[o>>2]|0)|0;if(b|0){b=Yp(b)|0;a=40686;q=28;break}b=c[p>>2]|0;a=c[o>>2]|0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;if((Mf(l,0,40268,75)|0)==0?(Mf(m,0,40344,75)|0)==0:0)if(!(zi(n,c[l>>2]|0,a)|0))if(!(Ai(c[n>>2]|0,c[l>>2]|0,b)|0)){b=((Ai(c[n>>2]|0,c[m>>2]|0,b)|0)&65535|0)==8;b=b?0:40420}else b=40485;else b=40470;else b=40447;yf(c[n>>2]|0);yf(c[m>>2]|0);yf(c[l>>2]|0);if(!b){b=c[p>>2]|0;a=c[o>>2]|0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;g=an(1e3)|0;dn(g,1e3,0);c[f>>2]=g;if(!(Kf(l,0,40499,f)|0))if(!(wi(m,c[l>>2]|0,b)|0)){b=Af(c[m>>2]|0,40529,0)|0;if((((b|0)!=0?(h=Af(b,40537,0)|0,yf(b),(h|0)!=0):0)?(k=Af(h,38915,0)|0,yf(h),(k|0)!=0):0)?(e=Hf(k,1,0)|0,yf(k),(e|0)!=0):0)if(Jl(g,e)|0)if(!(yi(n,c[m>>2]|0,a)|0)){b=Af(c[n>>2]|0,40541,0)|0;if(!b)a=Hf(c[n>>2]|0,0,5)|0;else a=Hf(b,1,5)|0;if(!a){f=b;b=40648;a=0}else{k=(Jl(g,a)|0)==0;f=b;b=k?0:40547}}else{f=0;b=40633;a=0}else{f=0;b=40604;a=0}else{f=0;e=0;b=40571;a=0}}else{f=0;e=0;b=40556;a=0}else{f=0;e=0;b=40447;a=0}yf(f);cn(a);yf(c[n>>2]|0);cn(e);yf(c[m>>2]|0);yf(c[l>>2]|0);cn(g);if(!b){yf(c[p>>2]|0);yf(c[o>>2]|0);b=0}else{a=40707;q=28}}else{a=40702;q=28}}else q=4}else q=4;while(0);if((q|0)==4){b=Yp(b)|0;a=40678;q=28}if((q|0)==28){yf(c[p>>2]|0);yf(c[o>>2]|0);if(!d)b=50;else{Eb[d&1](40715,1,a,b);b=50}}}else b=4;i=r;return b|0}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))$(16);e=f;b=Af(b,38919,1)|0;do if(b){d=Df(b,1,e)|0;if(!d){yf(b);b=68;break}else{Nh(a,d,c[e>>2]|0);yf(b);b=0;break}}else b=68;while(0);i=f;return b|0}function Gj(a,b,d){a=a|0;b=b|0;d=d|0;if((a|0)==(b|0)){b=Gm(c[a+4>>2]<<1)|0;dm(b,a,c[d+4>>2]|0,c[d>>2]|0);Vm(a,b)|0;Om(b)}else dm(a,b,c[d+4>>2]|0,c[d>>2]|0);return}function Hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;xl(b);h=d+12|0;if(((c[h>>2]|0)!=0?(i=d+16|0,(c[i>>2]|0)!=0):0)?(j=d+20|0,(c[j>>2]|0)!=0):0){e=Im((c[(c[d>>2]|0)+4>>2]|0)+1|0)|0;f=Im((c[(c[d>>2]|0)+4>>2]|0)+1|0)|0;g=Im((c[(c[d>>2]|0)+4>>2]|0)+1|0)|0;tl(g,c[h>>2]|0,1);d=d+8|0;Kl(g,c[d>>2]|0,g);dm(e,b,g,c[h>>2]|0);tl(g,c[i>>2]|0,1);Kl(g,c[d>>2]|0,g);dm(f,b,g,c[i>>2]|0);ul(g,f,e);if(c[g+8>>2]|0)sl(g,g,c[i>>2]|0);cm(g,c[j>>2]|0,g,c[i>>2]|0);bm(g,g,c[h>>2]|0);sl(a,e,g);Om(g);Om(e);Om(f)}else dm(a,b,c[d+8>>2]|0,c[d>>2]|0);return}function Ij(a){a=a|0;var b=0;b=bn(a)|0;dn(b,a,2);Bl(b,a+-1|0);Al(b,a+-2|0);if((yl(b)|0)==(a|0))return b|0;else Ge(41765,41424,360,41801);return 0}function Jj(){var a=0;a=bn(101)|0;dn(a,101,2);Bl(a,100);if((yl(a)|0)==101)return a|0;else Ge(41714,41424,375,41748);return 0}function Kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=k;e=an(b)|0;f=an(b)|0;g=an(b)|0;h=an(b)|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];dn(e,b,0);Gj(f,e,d);if(((Jl(f,e)|0)!=0?(Hj(g,f,a),(Jl(g,e)|0)==0):0)?(dn(e,b,0),Hj(h,e,a),Gj(g,h,d),(Jl(g,e)|0)==0):0){rl(h,h,1);Gj(g,h,d);a=((Jl(g,e)|0)==0)<<31>>31}else a=-1;cn(h);cn(g);cn(f);cn(e);i=k;return a|0}function Lj(a,b){a=a|0;b=b|0;var c=0;tl(b,b,1);c=Wm(b)|0;a=(Sl(c,a,b)|0)==0&1;cn(c);rl(b,b,1);return a|0}function Mj(a,b){a=a|0;b=b|0;c[a+160>>2]=1732584193;c[a+164>>2]=-271733879;c[a+168>>2]=-1732584194;c[a+172>>2]=271733878;c[a+176>>2]=-1009589776;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=32;return}function Nj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Fo(b,0,0);i=b+128|0;h=c[i>>2]|0;j=h<<6;i=ot(h|0,c[i+4>>2]|0,26)|0;e=b+144|0;d=c[e>>2]|0;g=j+d|0;f=g<<3;g=(g>>>0<j>>>0&1)+(i&536870848|h>>>26)<<3|g>>>29;c[e>>2]=d+1;a[b+d>>0]=-128;a:do if((d|0)<56)while(1){d=c[e>>2]|0;if((d|0)>=56)break a;c[e>>2]=d+1;a[b+d>>0]=0}else{while(1){d=c[e>>2]|0;if((d|0)>=64)break;c[e>>2]=d+1;a[b+d>>0]=0}Fo(b,0,0);d=b;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}while(0);Qj(b+56|0,g);Qj(b+60|0,f);Rj(b,b,1)|0;Re(104);Qj(b,c[b+160>>2]|0);Qj(b+4|0,c[b+164>>2]|0);Qj(b+8|0,c[b+168>>2]|0);Qj(b+12|0,c[b+172>>2]|0);Qj(b+16|0,c[b+176>>2]|0);return}function Oj(a){a=a|0;return a|0}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;do if((a|0)==2){a=Eo(2,0,42412,3,41875,20)|0;if(!a){if(!b){a=0;break}a=Eo(2,0,42078,56,41896,20)|0;if(!a){a=Eo(2,1,0,0,41917,20)|0;if(!a){a=0;break}else b=42701}else b=42689}else b=42676;if(!c)a=50;else{Eb[c&1](42717,2,b,a);a=50}}else a=5;while(0);return a|0}function Qj(b,c){b=b|0;c=c|0;a[b>>0]=c>>>24;a[b+1>>0]=c>>>16;a[b+2>>0]=c>>>8;a[b+3>>0]=c;return}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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;j=a+160|0;k=a+164|0;l=a+168|0;m=a+172|0;i=a+176|0;a=c[l>>2]|0;e=c[m>>2]|0;f=c[k>>2]|0;g=c[i>>2]|0;h=c[j>>2]|0;while(1){z=Sj(b)|0;n=(h<<5|h>>>27)+1518500249+g+z+((e^a)&f^e)|0;q=f<<30|f>>>2;v=Sj(b+4|0)|0;o=e+1518500249+((q^a)&h^a)+v+(n<<5|n>>>27)|0;r=h<<30|h>>>2;A=Sj(b+8|0)|0;p=a+1518500249+A+(n&(q^r)^q)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;F=Sj(b+12|0)|0;q=q+1518500249+F+(o&(n^r)^r)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;D=Sj(b+16|0)|0;r=r+1518500249+D+(p&(o^n)^n)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;B=Sj(b+20|0)|0;n=n+1518500249+B+(q&(p^o)^o)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;x=Sj(b+24|0)|0;o=x+1518500249+o+(r&(q^p)^p)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;t=Sj(b+28|0)|0;p=t+1518500249+p+(n&(r^q)^q)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;w=Sj(b+32|0)|0;q=w+1518500249+q+(o&(n^r)^r)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;s=Sj(b+36|0)|0;r=s+1518500249+r+(p&(o^n)^n)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;H=Sj(b+40|0)|0;n=H+1518500249+n+(q&(p^o)^o)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;G=Sj(b+44|0)|0;o=G+1518500249+o+(r&(q^p)^p)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;E=Sj(b+48|0)|0;p=E+1518500249+p+(n&(r^q)^q)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;C=Sj(b+52|0)|0;q=C+1518500249+q+(o&(n^r)^r)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;y=Sj(b+56|0)|0;r=y+1518500249+r+(p&(o^n)^n)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;u=Sj(b+60|0)|0;n=u+1518500249+n+(q&(p^o)^o)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;z=A^z^w^C;z=z<<1|z>>>31;o=z+1518500249+o+(r&(q^p)^p)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;v=F^v^s^y;v=v<<1|v>>>31;p=v+1518500249+p+(n&(r^q)^q)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;A=D^A^H^u;A=A<<1|A>>>31;q=A+1518500249+q+(o&(n^r)^r)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;F=B^F^G^z;F=F<<1|F>>>31;r=F+1518500249+r+(p&(o^n)^n)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;D=x^D^E^v;D=D<<1|D>>>31;n=D+1859775393+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;B=t^B^C^A;B=B<<1|B>>>31;o=B+1859775393+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;x=w^x^y^F;x=x<<1|x>>>31;p=x+1859775393+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;t=s^t^u^D;t=t<<1|t>>>31;q=t+1859775393+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;w=H^w^z^B;w=w<<1|w>>>31;r=w+1859775393+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;s=G^s^v^x;s=s<<1|s>>>31;n=s+1859775393+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;H=E^H^A^t;H=H<<1|H>>>31;o=H+1859775393+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;G=C^G^F^w;G=G<<1|G>>>31;p=G+1859775393+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;E=y^E^D^s;E=E<<1|E>>>31;q=E+1859775393+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;C=u^C^B^H;C=C<<1|C>>>31;r=C+1859775393+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;y=z^y^x^G;y=y<<1|y>>>31;n=y+1859775393+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;u=v^u^t^E;u=u<<1|u>>>31;o=u+1859775393+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;z=A^z^w^C;z=z<<1|z>>>31;p=z+1859775393+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;v=F^v^s^y;v=v<<1|v>>>31;q=v+1859775393+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;A=D^A^H^u;A=A<<1|A>>>31;r=A+1859775393+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;F=B^F^G^z;F=F<<1|F>>>31;n=F+1859775393+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;D=x^D^E^v;D=D<<1|D>>>31;o=D+1859775393+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;B=t^B^C^A;B=B<<1|B>>>31;p=B+1859775393+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;x=w^x^y^F;x=x<<1|x>>>31;q=x+1859775393+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;t=s^t^u^D;t=t<<1|t>>>31;r=t+1859775393+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;w=H^w^z^B;w=w<<1|w>>>31;n=w+-1894007588+n+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;s=G^s^v^x;s=s<<1|s>>>31;o=s+-1894007588+o+((r|q)&p|r&q)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;H=E^H^A^t;H=H<<1|H>>>31;p=H+-1894007588+p+((n|r)&q|n&r)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;G=C^G^F^w;G=G<<1|G>>>31;q=G+-1894007588+q+((o|n)&r|o&n)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;E=y^E^D^s;E=E<<1|E>>>31;r=E+-1894007588+r+((p|o)&n|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;C=u^C^B^H;C=C<<1|C>>>31;n=C+-1894007588+n+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;y=z^y^x^G;y=y<<1|y>>>31;o=y+-1894007588+o+((r|q)&p|r&q)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;u=v^u^t^E;u=u<<1|u>>>31;p=u+-1894007588+p+((n|r)&q|n&r)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;z=A^z^w^C;z=z<<1|z>>>31;q=z+-1894007588+q+((o|n)&r|o&n)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;v=F^v^s^y;v=v<<1|v>>>31;r=v+-1894007588+r+((p|o)&n|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;A=D^A^H^u;A=A<<1|A>>>31;n=A+-1894007588+n+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;F=B^F^G^z;F=F<<1|F>>>31;o=F+-1894007588+o+((r|q)&p|r&q)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;D=x^D^E^v;D=D<<1|D>>>31;p=D+-1894007588+p+((n|r)&q|n&r)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;B=t^B^C^A;B=B<<1|B>>>31;q=B+-1894007588+q+((o|n)&r|o&n)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;x=w^x^y^F;x=x<<1|x>>>31;r=x+-1894007588+r+((p|o)&n|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;t=s^t^u^D;t=t<<1|t>>>31;n=t+-1894007588+n+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;w=H^w^z^B;w=w<<1|w>>>31;o=w+-1894007588+o+((r|q)&p|r&q)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;s=G^s^v^x;s=s<<1|s>>>31;p=s+-1894007588+p+((n|r)&q|n&r)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;H=E^H^A^t;H=H<<1|H>>>31;q=H+-1894007588+q+((o|n)&r|o&n)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;G=C^G^F^w;G=G<<1|G>>>31;r=G+-1894007588+r+((p|o)&n|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;E=y^E^D^s;E=E<<1|E>>>31;n=E+-899497514+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;C=u^C^B^H;C=C<<1|C>>>31;o=C+-899497514+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;y=z^y^x^G;y=y<<1|y>>>31;p=y+-899497514+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;u=v^u^t^E;u=u<<1|u>>>31;q=u+-899497514+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;z=A^z^w^C;z=z<<1|z>>>31;r=z+-899497514+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;v=F^v^s^y;v=v<<1|v>>>31;n=v+-899497514+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;A=D^A^H^u;A=A<<1|A>>>31;o=A+-899497514+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;F=B^F^G^z;F=F<<1|F>>>31;p=F+-899497514+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;D=x^D^E^v;D=D<<1|D>>>31;q=D+-899497514+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;B=t^B^C^A;B=B<<1|B>>>31;r=B+-899497514+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;x=w^x^y^F;x=x<<1|x>>>31;n=x+-899497514+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;t=s^t^u^D;t=t<<1|t>>>31;o=t+-899497514+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;w=H^w^z^B;w=w<<1|w>>>31;p=w+-899497514+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;s=G^s^v^x;s=s<<1|s>>>31;q=s+-899497514+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;A=E^H^A^t;A=A<<1|A>>>31;r=A+-899497514+r+(o^n^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;w=C^G^F^w;w=w<<1|w>>>31;n=w+-899497514+n+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;s=y^E^D^s;s=s<<1|s>>>31;o=s+-899497514+o+(q^p^r)+(n<<5|n>>>27)|0;r=r<<30|r>>>2;A=u^C^B^A;p=(A<<1|A>>>31)+-899497514+p+(r^q^n)+(o<<5|o>>>27)|0;n=n<<30|n>>>2;w=z^y^x^w;q=(w<<1|w>>>31)+-899497514+q+(n^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;s=v^u^t^s;h=h+-899497514+(s<<1|s>>>31)+r+(o^n^p)+(q<<5|q>>>27)|0;c[j>>2]=h;f=q+(c[k>>2]|0)|0;c[k>>2]=f;a=(p<<30|p>>>2)+(c[l>>2]|0)|0;c[l>>2]=a;e=o+(c[m>>2]|0)|0;c[m>>2]=e;g=n+(c[i>>2]|0)|0;c[i>>2]=g;d=d+-1|0;if(!d)break;else b=b+64|0}return 104}function Sj(a){a=a|0;return (d[a+1>>0]|0)<<16|(d[a>>0]|0)<<24|(d[a+2>>0]|0)<<8|(d[a+3>>0]|0)|0}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+192|0;if((i|0)>=(j|0))$(192);g=f;c[g+160>>2]=1732584193;c[g+164>>2]=-271733879;c[g+168>>2]=-1732584194;c[g+172>>2]=271733878;c[g+176>>2]=-1009589776;h=g+128|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[g+148>>2]=64;c[g+152>>2]=32;Fo(g,d,e);Nj(g);d=g;e=b+20|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=f;return}function Uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+192|0;if((i|0)>=(j|0))$(192);f=g;c[f+160>>2]=1732584193;c[f+164>>2]=-271733879;c[f+168>>2]=-1732584194;c[f+172>>2]=271733878;c[f+176>>2]=-1009589776;h=f+128|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[f+148>>2]=64;c[f+152>>2]=32;while(1){if((e|0)<=0)break;Fo(f,(c[d+12>>2]|0)+(c[d+4>>2]|0)|0,c[d+8>>2]|0);e=e+-1|0;d=d+16|0}Nj(f);e=b;d=e+20|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(d|0));i=g;return}function Vj(a,b){a=a|0;b=b|0;c[a+160>>2]=-1056596264;c[a+164>>2]=914150663;c[a+168>>2]=812702999;c[a+172>>2]=-150054599;c[a+176>>2]=-4191439;c[a+180>>2]=1750603025;c[a+184>>2]=1694076839;c[a+188>>2]=-1090891868;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=33;return}function Wj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Fo(b,0,0);i=b+128|0;h=c[i>>2]|0;j=h<<6;i=ot(h|0,c[i+4>>2]|0,26)|0;e=b+144|0;d=c[e>>2]|0;g=j+d|0;f=g<<3;g=(g>>>0<j>>>0&1)+(i&536870848|h>>>26)<<3|g>>>29;c[e>>2]=d+1;a[b+d>>0]=-128;a:do if((d|0)<56)while(1){d=c[e>>2]|0;if((d|0)>=56)break a;c[e>>2]=d+1;a[b+d>>0]=0}else{while(1){d=c[e>>2]|0;if((d|0)>=64)break;c[e>>2]=d+1;a[b+d>>0]=0}Fo(b,0,0);d=b;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}while(0);Zj(b+56|0,g);Zj(b+60|0,f);_j(b,b,1)|0;Re(328);Zj(b,c[b+160>>2]|0);Zj(b+4|0,c[b+164>>2]|0);Zj(b+8|0,c[b+168>>2]|0);Zj(b+12|0,c[b+172>>2]|0);Zj(b+16|0,c[b+176>>2]|0);Zj(b+20|0,c[b+180>>2]|0);Zj(b+24|0,c[b+184>>2]|0);Zj(b+28|0,c[b+188>>2]|0);return}function Xj(a){a=a|0;return a|0}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;a:do switch(a|0){case 11:{a=Eo(11,0,42412,3,42049,28)|0;if(!a){if(!b){a=0;break a}a=Eo(11,0,42078,56,42135,28)|0;if(!a){a=Eo(11,1,0,0,42164,28)|0;if(!a){a=0;break a}else b=42701}else b=42689}else b=42676;if(!c)a=50;else{Eb[c&1](42717,11,b,a);a=50}break}case 8:{a=Eo(8,0,42412,3,42193,32)|0;if(!a){if(!b){a=0;break a}a=Eo(8,0,42078,56,42226,32)|0;if(!a){a=Eo(8,1,0,0,42259,32)|0;if(!a){a=0;break a}else b=42701}else b=42689}else b=42676;if(!c)a=50;else{Eb[c&1](42717,8,b,a);a=50}break}default:a=5}while(0);return a|0}function Zj(b,c){b=b|0;c=c|0;a[b>>0]=c>>>24;a[b+1>>0]=c>>>16;a[b+2>>0]=c>>>8;a[b+3>>0]=c;return}function _j(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=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;y=i;i=i+256|0;if((i|0)>=(j|0))$(256);r=y;s=a+160|0;t=a+164|0;u=a+168|0;v=a+172|0;w=a+176|0;x=a+180|0;q=a+184|0;p=a+188|0;h=c[p>>2]|0;l=c[q>>2]|0;m=c[x>>2]|0;k=c[w>>2]|0;g=c[v>>2]|0;f=c[u>>2]|0;o=c[t>>2]|0;n=c[s>>2]|0;while(1){a=0;while(1){if((a|0)==16){a=16;break}z=b+(a<<2)|0;c[r+(a<<2)>>2]=(d[z+1>>0]|0)<<16|(d[z>>0]|0)<<24|(d[z+2>>0]|0)<<8|(d[z+3>>0]|0);a=a+1|0}while(1){if((a|0)==64){a=0;break}A=c[r+(a+-2<<2)>>2]|0;z=c[r+(a+-15<<2)>>2]|0;c[r+(a<<2)>>2]=(c[r+(a+-16<<2)>>2]|0)+(c[r+(a+-7<<2)>>2]|0)+((A>>>19|A<<13)^A>>>10^(A>>>17|A<<15))+((z>>>18|z<<14)^z>>>3^(z>>>7|z<<25));a=a+1|0}while(1){if((a|0)>=64)break;F=$j(k)|0;F=((l^m)&k^l)+h+F+(c[12336+(a<<2)>>2]|0)+(c[r+(a<<2)>>2]|0)|0;A=F+g|0;F=(ak(n)|0)+((n|o)&f|n&o)+F|0;G=($j(A)|0)+l|0;E=a|1;E=G+(c[12336+(E<<2)>>2]|0)+(c[r+(E<<2)>>2]|0)+(A&(m^k)^m)|0;G=E+f|0;E=((F|n)&o|F&n)+(ak(F)|0)+E|0;C=($j(G)|0)+m|0;D=a|2;D=C+(c[12336+(D<<2)>>2]|0)+(c[r+(D<<2)>>2]|0)+(G&(A^k)^k)|0;C=D+o|0;D=D+(ak(E)|0)+((E|F)&n|E&F)|0;H=($j(C)|0)+k|0;B=a|3;B=H+(c[12336+(B<<2)>>2]|0)+(c[r+(B<<2)>>2]|0)+(C&(G^A)^A)|0;H=B+n|0;B=B+(ak(D)|0)+((D|E)&F|D&E)|0;A=($j(H)|0)+A|0;z=a|4;z=A+(c[12336+(z<<2)>>2]|0)+(c[r+(z<<2)>>2]|0)+(H&(C^G)^G)|0;F=z+F|0;z=z+(ak(B)|0)+((B|D)&E|B&D)|0;G=($j(F)|0)+G|0;A=a|5;A=G+(c[12336+(A<<2)>>2]|0)+(c[r+(A<<2)>>2]|0)+(F&(H^C)^C)|0;E=A+E|0;A=A+(ak(z)|0)+((z|B)&D|z&B)|0;C=($j(E)|0)+C|0;G=a|6;G=C+(c[12336+(G<<2)>>2]|0)+(c[r+(G<<2)>>2]|0)+(E&(F^H)^H)|0;D=G+D|0;G=G+(ak(A)|0)+((A|z)&B|A&z)|0;H=($j(D)|0)+H|0;C=a|7;C=H+(c[12336+(C<<2)>>2]|0)+(c[r+(C<<2)>>2]|0)+(D&(E^F)^F)|0;n=C+(ak(G)|0)+((G|A)&z|G&A)|0;o=G;h=F;l=E;m=D;k=C+B|0;g=z;f=A;a=a+8|0}n=(c[s>>2]|0)+n|0;c[s>>2]=n;o=(c[t>>2]|0)+o|0;c[t>>2]=o;f=(c[u>>2]|0)+f|0;c[u>>2]=f;g=(c[v>>2]|0)+g|0;c[v>>2]=g;k=(c[w>>2]|0)+k|0;c[w>>2]=k;m=(c[x>>2]|0)+m|0;c[x>>2]=m;l=(c[q>>2]|0)+l|0;c[q>>2]=l;h=(c[p>>2]|0)+h|0;c[p>>2]=h;e=e+-1|0;if(!e)break;else b=b+64|0}i=y;return 328}function $j(a){a=a|0;return (a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7)|0}function ak(a){a=a|0;return (a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10)|0}function bk(a,b){a=a|0;b=b|0;c[a+160>>2]=1779033703;c[a+164>>2]=-1150833019;c[a+168>>2]=1013904242;c[a+172>>2]=-1521486534;c[a+176>>2]=1359893119;c[a+180>>2]=-1694144372;c[a+184>>2]=528734635;c[a+188>>2]=1541459225;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=33;return}function ck(a,b){a=a|0;b=b|0;b=a+160|0;c[b>>2]=-205731576;c[b+4>>2]=1779033703;b=a+168|0;c[b>>2]=-2067093701;c[b+4>>2]=-1150833019;b=a+176|0;c[b>>2]=-23791573;c[b+4>>2]=1013904242;b=a+184|0;c[b>>2]=1595750129;c[b+4>>2]=-1521486534;b=a+192|0;c[b>>2]=-1377402159;c[b+4>>2]=1359893119;b=a+200|0;c[b>>2]=725511199;c[b+4>>2]=-1694144372;b=a+208|0;c[b>>2]=-79577749;c[b+4>>2]=528734635;b=a+216|0;c[b>>2]=327033209;c[b+4>>2]=1541459225;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=128;c[a+152>>2]=34;return}function dk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;Fo(b,0,0);j=b+128|0;e=c[j>>2]|0;j=c[j+4>>2]|0;f=b+136|0;i=c[f>>2]|0;f=c[f+4>>2]|0;g=ut(e|0,j|0,7)|0;l=D;f=ut(i|0,f|0,7)|0;i=D;j=ot(e|0,j|0,57)|0;i=i|D;e=b+144|0;d=c[e>>2]|0;k=gt(d|0,((d|0)<0)<<31>>31|0,g|0,l|0)|0;h=D;i=gt((h>>>0<l>>>0|(h|0)==(l|0)&k>>>0<g>>>0)&1|0,0,f|j|0,i|0)|0;j=D;f=ut(k|0,h|0,3)|0;g=D;j=ut(i|0,j|0,3)|0;i=D;h=ot(k|0,h|0,61)|0;h=j|h;i=i|D;c[e>>2]=d+1;a[b+d>>0]=-128;a:do if((d|0)<112)while(1){d=c[e>>2]|0;if((d|0)>=112)break a;c[e>>2]=d+1;a[b+d>>0]=0}else{while(1){d=c[e>>2]|0;if((d|0)>=128)break;c[e>>2]=d+1;a[b+d>>0]=0}Fo(b,0,0);d=b;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}while(0);gk(b+112|0,h,i);gk(b+120|0,f,g);hk(b,b,1)|0;Re(220);l=b+160|0;gk(b,c[l>>2]|0,c[l+4>>2]|0);l=b+168|0;gk(b+8|0,c[l>>2]|0,c[l+4>>2]|0);l=b+176|0;gk(b+16|0,c[l>>2]|0,c[l+4>>2]|0);l=b+184|0;gk(b+24|0,c[l>>2]|0,c[l+4>>2]|0);l=b+192|0;gk(b+32|0,c[l>>2]|0,c[l+4>>2]|0);l=b+200|0;gk(b+40|0,c[l>>2]|0,c[l+4>>2]|0);l=b+208|0;gk(b+48|0,c[l>>2]|0,c[l+4>>2]|0);l=b+216|0;gk(b+56|0,c[l>>2]|0,c[l+4>>2]|0);return}function ek(a){a=a|0;return a|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;a:do switch(a|0){case 9:{a=Eo(9,0,42412,3,42416,48)|0;if(!a){if(!b){a=0;break a}a=Eo(9,0,42465,112,42578,48)|0;if(!a){a=Eo(9,1,0,0,42627,48)|0;if(!a){a=0;break a}else b=42701}else b=42689}else b=42676;if(!c)a=50;else{Eb[c&1](42717,9,b,a);a=50}break}case 10:{a=Eo(10,0,42412,3,42724,64)|0;if(!a){if(!b){a=0;break a}a=Eo(10,0,42465,112,42789,64)|0;if(!a){a=Eo(10,1,0,0,42854,64)|0;if(!a){a=0;break a}else b=42701}else b=42689}else b=42676;if(!c)a=50;else{Eb[c&1](42717,10,b,a);a=50}break}default:a=5}while(0);return a|0}function gk(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=ot(c|0,d|0,56)|0;a[b>>0]=e;e=ot(c|0,d|0,48)|0;a[b+1>>0]=e;e=ot(c|0,d|0,40)|0;a[b+2>>0]=e;a[b+3>>0]=d;e=ot(c|0,d|0,24)|0;a[b+4>>0]=e;e=ot(c|0,d|0,16)|0;a[b+5>>0]=e;d=ot(c|0,d|0,8)|0;a[b+6>>0]=d;a[b+7>>0]=c;return}
+function hk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=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,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;Ba=i;i=i+128|0;if((i|0)>=(j|0))$(128);ua=Ba;va=a+160|0;wa=a+168|0;xa=a+176|0;ya=a+184|0;za=a+192|0;Aa=a+200|0;ta=a+208|0;da=a+216|0;ea=ua+112|0;fa=ua+72|0;ga=ua+8|0;ha=ua+120|0;ia=ua+80|0;ja=ua+16|0;ka=ua+88|0;la=ua+24|0;ma=ua+96|0;na=ua+32|0;oa=ua+104|0;pa=ua+40|0;qa=ua+48|0;ra=ua+56|0;sa=ua+64|0;v=va;w=wa;r=xa;t=ya;o=za;n=Aa;m=ta;l=da;f=c[l>>2]|0;l=c[l+4>>2]|0;g=c[m>>2]|0;m=c[m+4>>2]|0;h=c[n>>2]|0;n=c[n+4>>2]|0;k=c[o>>2]|0;o=c[o+4>>2]|0;q=c[t>>2]|0;t=c[t+4>>2]|0;p=c[r>>2]|0;r=c[r+4>>2]|0;u=c[w>>2]|0;w=c[w+4>>2]|0;s=c[v>>2]|0;v=c[v+4>>2]|0;while(1){a=0;while(1){if((a|0)==16){a=0;break}aa=b+(a<<3)|0;W=ut(d[aa>>0]|0|0,0,56)|0;ba=D;V=ut(d[aa+1>>0]|0|0,0,48)|0;ba=D|ba;X=ut(d[aa+2>>0]|0|0,0,40)|0;ba=ba|D|(d[aa+3>>0]|0);Y=ut(d[aa+4>>0]|0|0,0,24)|0;ba=ba|D;Z=ut(d[aa+5>>0]|0|0,0,16)|0;ba=ba|D;_=ut(d[aa+6>>0]|0|0,0,8)|0;ca=ua+(a<<3)|0;c[ca>>2]=V|W|X|Y|Z|_|(d[aa+7>>0]|0);c[ca+4>>2]=ba|D;a=a+1|0}while(1){if((a|0)>=64)break;X=ik(k,o)|0;E=D;y=64+(a<<3)|0;A=c[y>>2]|0;y=c[y+4>>2]|0;Ea=ua;W=c[Ea>>2]|0;Ea=c[Ea+4>>2]|0;Q=gt(g&~k^h&k|0,m&~o^n&o|0,f|0,l|0)|0;E=gt(Q|0,D|0,X|0,E|0)|0;y=gt(E|0,D|0,A|0,y|0)|0;y=gt(y|0,D|0,W|0,Ea|0)|0;A=D;E=ea;X=c[E>>2]|0;E=c[E+4>>2]|0;Q=ot(X|0,E|0,19)|0;Ga=D;F=ut(X|0,E|0,45)|0;Ga=D|Ga;M=ot(X|0,E|0,61)|0;V=D;S=ut(X|0,E|0,3)|0;V=D|V;E=ot(X|0,E|0,6)|0;Ga=V^D^Ga;V=fa;X=c[V>>2]|0;V=c[V+4>>2]|0;K=ga;Ca=c[K>>2]|0;K=c[K+4>>2]|0;N=ot(Ca|0,K|0,1)|0;T=D;I=ut(Ca|0,K|0,63)|0;T=D|T;ca=ot(Ca|0,K|0,8)|0;U=D;ba=ut(Ca|0,K|0,56)|0;U=D|U;Fa=ot(Ca|0,K|0,7)|0;T=U^D^T;Ea=gt(X|0,V|0,W|0,Ea|0)|0;Ga=gt(Ea|0,D|0,(S|M)^E^(F|Q)|0,Ga|0)|0;T=gt(Ga|0,D|0,(ba|ca)^Fa^(I|N)|0,T|0)|0;N=D;I=ua;c[I>>2]=T;c[I+4>>2]=N;I=jk(s,v)|0;Fa=D;ca=gt(y|0,A|0,q|0,t|0)|0;ba=D;A=gt(y|0,A|0,(u^p)&s^u&p|0,(w^r)&v^w&r|0)|0;Fa=gt(A|0,D|0,I|0,Fa|0)|0;I=D;A=ik(ca,ba)|0;y=D;Ga=64+((a|1)<<3)|0;Q=c[Ga>>2]|0;Ga=c[Ga+4>>2]|0;F=gt(Ca|0,K|0,g|0,m|0)|0;F=gt(F|0,D|0,h&~ca^ca&k|0,n&~ba^ba&o|0)|0;y=gt(F|0,D|0,A|0,y|0)|0;Ga=gt(y|0,D|0,Q|0,Ga|0)|0;Q=D;y=ha;A=c[y>>2]|0;y=c[y+4>>2]|0;F=ot(A|0,y|0,19)|0;E=D;M=ut(A|0,y|0,45)|0;E=D|E;S=ot(A|0,y|0,61)|0;Ea=D;W=ut(A|0,y|0,3)|0;Ea=D|Ea;y=ot(A|0,y|0,6)|0;E=Ea^D^E;Ea=ia;A=c[Ea>>2]|0;Ea=c[Ea+4>>2]|0;V=ja;X=c[V>>2]|0;V=c[V+4>>2]|0;U=ot(X|0,V|0,1)|0;R=D;z=ut(X|0,V|0,63)|0;R=D|R;_=ot(X|0,V|0,8)|0;B=D;Y=ut(X|0,V|0,56)|0;B=D|B;Da=ot(X|0,V|0,7)|0;R=B^D^R;K=gt(A|0,Ea|0,Ca|0,K|0)|0;E=gt(K|0,D|0,(W|S)^y^(M|F)|0,E|0)|0;R=gt(E|0,D|0,(Y|_)^Da^(z|U)|0,R|0)|0;U=D;z=ga;c[z>>2]=R;c[z+4>>2]=U;z=jk(Fa,I)|0;Da=D;_=gt(Ga|0,Q|0,p|0,r|0)|0;Y=D;Q=gt(Ga|0,Q|0,Fa&(s^u)^s&u|0,I&(v^w)^v&w|0)|0;Da=gt(Q|0,D|0,z|0,Da|0)|0;z=D;Q=ik(_,Y)|0;Ga=D;E=64+((a|2)<<3)|0;F=c[E>>2]|0;E=c[E+4>>2]|0;M=gt(X|0,V|0,h|0,n|0)|0;M=gt(M|0,D|0,k&~_^_&ca|0,o&~Y^Y&ba|0)|0;Ga=gt(M|0,D|0,Q|0,Ga|0)|0;E=gt(Ga|0,D|0,F|0,E|0)|0;F=D;Ga=ot(T|0,N|0,19)|0;Q=D;M=ut(T|0,N|0,45)|0;Q=D|Q;y=ot(T|0,N|0,61)|0;S=D;W=ut(T|0,N|0,3)|0;S=D|S;N=ot(T|0,N|0,6)|0;Q=S^D^Q;S=ka;T=c[S>>2]|0;S=c[S+4>>2]|0;K=la;Ca=c[K>>2]|0;K=c[K+4>>2]|0;Ea=ot(Ca|0,K|0,1)|0;A=D;B=ut(Ca|0,K|0,63)|0;A=D|A;aa=ot(Ca|0,K|0,8)|0;L=D;Z=ut(Ca|0,K|0,56)|0;L=D|L;G=ot(Ca|0,K|0,7)|0;A=L^D^A;V=gt((W|y)^N^(M|Ga)|0,Q|0,X|0,V|0)|0;S=gt(V|0,D|0,T|0,S|0)|0;A=gt(S|0,D|0,(Z|aa)^G^(B|Ea)|0,A|0)|0;Ea=D;B=ja;c[B>>2]=A;c[B+4>>2]=Ea;B=jk(Da,z)|0;G=D;aa=gt(E|0,F|0,u|0,w|0)|0;Z=D;F=gt(E|0,F|0,Da&(Fa^s)^Fa&s|0,z&(I^v)^I&v|0)|0;G=gt(F|0,D|0,B|0,G|0)|0;B=D;F=ik(aa,Z)|0;E=D;S=64+((a|3)<<3)|0;T=c[S>>2]|0;S=c[S+4>>2]|0;V=gt(Ca|0,K|0,k|0,o|0)|0;V=gt(V|0,D|0,ca&~aa^aa&_|0,ba&~Z^Z&Y|0)|0;E=gt(V|0,D|0,F|0,E|0)|0;S=gt(E|0,D|0,T|0,S|0)|0;T=D;E=ot(R|0,U|0,19)|0;F=D;V=ut(R|0,U|0,45)|0;F=D|F;X=ot(R|0,U|0,61)|0;Q=D;Ga=ut(R|0,U|0,3)|0;Q=D|Q;U=ot(R|0,U|0,6)|0;F=Q^D^F;Q=ma;R=c[Q>>2]|0;Q=c[Q+4>>2]|0;M=na;N=c[M>>2]|0;M=c[M+4>>2]|0;y=ot(N|0,M|0,1)|0;W=D;L=ut(N|0,M|0,63)|0;W=D|W;H=ot(N|0,M|0,8)|0;P=D;x=ut(N|0,M|0,56)|0;P=D|P;C=ot(N|0,M|0,7)|0;W=P^D^W;K=gt((Ga|X)^U^(V|E)|0,F|0,Ca|0,K|0)|0;Q=gt(K|0,D|0,R|0,Q|0)|0;W=gt(Q|0,D|0,(x|H)^C^(L|y)|0,W|0)|0;y=D;L=la;c[L>>2]=W;c[L+4>>2]=y;L=jk(G,B)|0;C=D;H=gt(S|0,T|0,s|0,v|0)|0;x=D;T=gt(S|0,T|0,G&(Da^Fa)^Da&Fa|0,B&(z^I)^z&I|0)|0;C=gt(T|0,D|0,L|0,C|0)|0;L=D;T=ik(H,x)|0;S=D;Q=64+((a|4)<<3)|0;R=c[Q>>2]|0;Q=c[Q+4>>2]|0;ba=gt(N|0,M|0,ca|0,ba|0)|0;S=gt(ba|0,D|0,T|0,S|0)|0;S=gt(S|0,D|0,_&~H^H&aa|0,Y&~x^x&Z|0)|0;Q=gt(S|0,D|0,R|0,Q|0)|0;R=D;S=ot(A|0,Ea|0,19)|0;T=D;ba=ut(A|0,Ea|0,45)|0;T=D|T;ca=ot(A|0,Ea|0,61)|0;K=D;Ca=ut(A|0,Ea|0,3)|0;K=D|K;Ea=ot(A|0,Ea|0,6)|0;T=K^D^T;K=oa;A=c[K>>2]|0;K=c[K+4>>2]|0;F=pa;E=c[F>>2]|0;F=c[F+4>>2]|0;V=ot(E|0,F|0,1)|0;U=D;X=ut(E|0,F|0,63)|0;U=D|U;Ga=ot(E|0,F|0,8)|0;P=D;O=ut(E|0,F|0,56)|0;P=D|P;J=ot(E|0,F|0,7)|0;U=P^D^U;M=gt((Ca|ca)^Ea^(ba|S)|0,T|0,N|0,M|0)|0;K=gt(M|0,D|0,A|0,K|0)|0;U=gt(K|0,D|0,(O|Ga)^J^(X|V)|0,U|0)|0;V=D;X=na;c[X>>2]=U;c[X+4>>2]=V;X=jk(C,L)|0;J=D;I=gt(Q|0,R|0,Fa|0,I|0)|0;Fa=D;R=gt(Q|0,R|0,C&(G^Da)^G&Da|0,L&(B^z)^B&z|0)|0;J=gt(R|0,D|0,X|0,J|0)|0;X=D;R=ik(I,Fa)|0;Q=D;Ga=64+((a|5)<<3)|0;O=c[Ga>>2]|0;Ga=c[Ga+4>>2]|0;Y=gt(E|0,F|0,_|0,Y|0)|0;Q=gt(Y|0,D|0,R|0,Q|0)|0;Ga=gt(Q|0,D|0,O|0,Ga|0)|0;Ga=gt(Ga|0,D|0,aa&~I^I&H|0,Z&~Fa^Fa&x|0)|0;O=D;Q=ot(W|0,y|0,19)|0;R=D;Y=ut(W|0,y|0,45)|0;R=D|R;_=ot(W|0,y|0,61)|0;K=D;A=ut(W|0,y|0,3)|0;K=D|K;y=ot(W|0,y|0,6)|0;R=K^D^R;K=ea;W=c[K>>2]|0;K=c[K+4>>2]|0;M=qa;N=c[M>>2]|0;M=c[M+4>>2]|0;T=ot(N|0,M|0,1)|0;S=D;ba=ut(N|0,M|0,63)|0;S=D|S;Ea=ot(N|0,M|0,8)|0;ca=D;Ca=ut(N|0,M|0,56)|0;ca=D|ca;P=ot(N|0,M|0,7)|0;S=ca^D^S;F=gt((A|_)^y^(Y|Q)|0,R|0,E|0,F|0)|0;K=gt(F|0,D|0,W|0,K|0)|0;S=gt(K|0,D|0,(Ca|Ea)^P^(ba|T)|0,S|0)|0;T=D;ba=pa;c[ba>>2]=S;c[ba+4>>2]=T;ba=jk(J,X)|0;P=D;z=gt(Ga|0,O|0,Da|0,z|0)|0;Da=D;P=gt(ba|0,P|0,J&(C^G)^C&G|0,X&(L^B)^L&B|0)|0;O=gt(P|0,D|0,Ga|0,O|0)|0;Ga=D;P=ik(z,Da)|0;ba=D;Ea=64+((a|6)<<3)|0;Ca=c[Ea>>2]|0;Ea=c[Ea+4>>2]|0;Z=gt(N|0,M|0,aa|0,Z|0)|0;ba=gt(Z|0,D|0,P|0,ba|0)|0;Ea=gt(ba|0,D|0,Ca|0,Ea|0)|0;Ea=gt(Ea|0,D|0,H&~z^z&I|0,x&~Da^Da&Fa|0)|0;Ca=D;ba=ot(U|0,V|0,19)|0;P=D;Z=ut(U|0,V|0,45)|0;P=D|P;aa=ot(U|0,V|0,61)|0;K=D;W=ut(U|0,V|0,3)|0;K=D|K;V=ot(U|0,V|0,6)|0;P=K^D^P;K=ha;U=c[K>>2]|0;K=c[K+4>>2]|0;F=ra;E=c[F>>2]|0;F=c[F+4>>2]|0;R=ot(E|0,F|0,1)|0;Q=D;Y=ut(E|0,F|0,63)|0;Q=D|Q;y=ot(E|0,F|0,8)|0;_=D;A=ut(E|0,F|0,56)|0;_=D|_;ca=ot(E|0,F|0,7)|0;Q=_^D^Q;M=gt((W|aa)^V^(Z|ba)|0,P|0,N|0,M|0)|0;K=gt(M|0,D|0,U|0,K|0)|0;Q=gt(K|0,D|0,(A|y)^ca^(Y|R)|0,Q|0)|0;R=D;Y=qa;c[Y>>2]=Q;c[Y+4>>2]=R;Y=jk(O,Ga)|0;ca=D;B=gt(Ea|0,Ca|0,G|0,B|0)|0;G=D;ca=gt(Y|0,ca|0,O&(J^C)^J&C|0,Ga&(X^L)^X&L|0)|0;Ca=gt(ca|0,D|0,Ea|0,Ca|0)|0;Ea=D;ca=ik(B,G)|0;Y=D;y=64+((a|7)<<3)|0;A=c[y>>2]|0;y=c[y+4>>2]|0;x=gt(E|0,F|0,H|0,x|0)|0;Y=gt(x|0,D|0,ca|0,Y|0)|0;y=gt(Y|0,D|0,A|0,y|0)|0;y=gt(y|0,D|0,I&~B^B&z|0,Fa&~G^G&Da|0)|0;A=D;Y=ot(S|0,T|0,19)|0;ca=D;x=ut(S|0,T|0,45)|0;ca=D|ca;H=ot(S|0,T|0,61)|0;K=D;U=ut(S|0,T|0,3)|0;K=D|K;T=ot(S|0,T|0,6)|0;ca=K^D^ca;K=ua;S=c[K>>2]|0;K=c[K+4>>2]|0;M=sa;N=c[M>>2]|0;M=c[M+4>>2]|0;P=ot(N|0,M|0,1)|0;ba=D;Z=ut(N|0,M|0,63)|0;ba=D|ba;V=ot(N|0,M|0,8)|0;aa=D;W=ut(N|0,M|0,56)|0;aa=D|aa;_=ot(N|0,M|0,7)|0;ba=aa^D^ba;F=gt((U|H)^T^(x|Y)|0,ca|0,E|0,F|0)|0;K=gt(F|0,D|0,S|0,K|0)|0;ba=gt(K|0,D|0,(W|V)^_^(Z|P)|0,ba|0)|0;P=D;Z=ra;c[Z>>2]=ba;c[Z+4>>2]=P;Z=jk(Ca,Ea)|0;_=D;L=gt(y|0,A|0,C|0,L|0)|0;C=D;_=gt(Z|0,_|0,Ca&(O^J)^O&J|0,Ea&(Ga^X)^Ga&X|0)|0;A=gt(_|0,D|0,y|0,A|0)|0;y=D;_=ik(L,C)|0;Z=D;V=64+((a|8)<<3)|0;W=c[V>>2]|0;V=c[V+4>>2]|0;Fa=gt(N|0,M|0,I|0,Fa|0)|0;Z=gt(Fa|0,D|0,_|0,Z|0)|0;V=gt(Z|0,D|0,W|0,V|0)|0;V=gt(V|0,D|0,z&~L^L&B|0,Da&~C^C&G|0)|0;W=D;Z=ot(Q|0,R|0,19)|0;_=D;Fa=ut(Q|0,R|0,45)|0;_=D|_;I=ot(Q|0,R|0,61)|0;K=D;S=ut(Q|0,R|0,3)|0;K=D|K;R=ot(Q|0,R|0,6)|0;_=K^D^_;K=ga;Q=c[K>>2]|0;K=c[K+4>>2]|0;F=fa;E=c[F>>2]|0;F=c[F+4>>2]|0;ca=ot(E|0,F|0,1)|0;Y=D;x=ut(E|0,F|0,63)|0;Y=D|Y;T=ot(E|0,F|0,8)|0;H=D;U=ut(E|0,F|0,56)|0;H=D|H;aa=ot(E|0,F|0,7)|0;Y=H^D^Y;M=gt((S|I)^R^(Fa|Z)|0,_|0,N|0,M|0)|0;K=gt(M|0,D|0,Q|0,K|0)|0;Y=gt(K|0,D|0,(U|T)^aa^(x|ca)|0,Y|0)|0;ca=D;x=sa;c[x>>2]=Y;c[x+4>>2]=ca;x=jk(A,y)|0;aa=D;X=gt(V|0,W|0,J|0,X|0)|0;J=D;aa=gt(A&(Ca^O)^Ca&O|0,y&(Ea^Ga)^Ea&Ga|0,x|0,aa|0)|0;W=gt(aa|0,D|0,V|0,W|0)|0;V=D;aa=ik(X,J)|0;x=D;T=64+((a|9)<<3)|0;U=c[T>>2]|0;T=c[T+4>>2]|0;Da=gt(E|0,F|0,z|0,Da|0)|0;x=gt(Da|0,D|0,aa|0,x|0)|0;T=gt(x|0,D|0,U|0,T|0)|0;T=gt(T|0,D|0,B&~X^X&L|0,G&~J^J&C|0)|0;U=D;x=ot(ba|0,P|0,19)|0;aa=D;Da=ut(ba|0,P|0,45)|0;aa=D|aa;z=ot(ba|0,P|0,61)|0;K=D;Q=ut(ba|0,P|0,3)|0;K=D|K;P=ot(ba|0,P|0,6)|0;aa=K^D^aa;K=ja;ba=c[K>>2]|0;K=c[K+4>>2]|0;M=ia;N=c[M>>2]|0;M=c[M+4>>2]|0;_=ot(N|0,M|0,1)|0;Z=D;Fa=ut(N|0,M|0,63)|0;Z=D|Z;R=ot(N|0,M|0,8)|0;I=D;S=ut(N|0,M|0,56)|0;I=D|I;H=ot(N|0,M|0,7)|0;Z=I^D^Z;F=gt((Q|z)^P^(Da|x)|0,aa|0,E|0,F|0)|0;K=gt(F|0,D|0,ba|0,K|0)|0;Z=gt(K|0,D|0,(S|R)^H^(Fa|_)|0,Z|0)|0;_=D;Fa=fa;c[Fa>>2]=Z;c[Fa+4>>2]=_;Fa=jk(W,V)|0;H=D;Ga=gt(T|0,U|0,O|0,Ga|0)|0;O=D;H=gt(W&(A^Ca)^A&Ca|0,V&(y^Ea)^y&Ea|0,Fa|0,H|0)|0;U=gt(H|0,D|0,T|0,U|0)|0;T=D;H=ik(Ga,O)|0;Fa=D;R=64+((a|10)<<3)|0;S=c[R>>2]|0;R=c[R+4>>2]|0;G=gt(N|0,M|0,B|0,G|0)|0;Fa=gt(G|0,D|0,H|0,Fa|0)|0;R=gt(Fa|0,D|0,S|0,R|0)|0;R=gt(R|0,D|0,L&~Ga^Ga&X|0,C&~O^O&J|0)|0;S=D;Fa=ot(Y|0,ca|0,19)|0;H=D;G=ut(Y|0,ca|0,45)|0;H=D|H;B=ot(Y|0,ca|0,61)|0;K=D;ba=ut(Y|0,ca|0,3)|0;K=D|K;ca=ot(Y|0,ca|0,6)|0;H=K^D^H;K=la;Y=c[K>>2]|0;K=c[K+4>>2]|0;F=ka;E=c[F>>2]|0;F=c[F+4>>2]|0;aa=ot(E|0,F|0,1)|0;x=D;Da=ut(E|0,F|0,63)|0;x=D|x;P=ot(E|0,F|0,8)|0;z=D;Q=ut(E|0,F|0,56)|0;z=D|z;I=ot(E|0,F|0,7)|0;x=z^D^x;M=gt((ba|B)^ca^(G|Fa)|0,H|0,N|0,M|0)|0;K=gt(M|0,D|0,Y|0,K|0)|0;x=gt(K|0,D|0,(Q|P)^I^(Da|aa)|0,x|0)|0;aa=D;Da=ia;c[Da>>2]=x;c[Da+4>>2]=aa;Da=jk(U,T)|0;I=D;Ea=gt(R|0,S|0,Ca|0,Ea|0)|0;Ca=D;I=gt(U&(W^A)^W&A|0,T&(V^y)^V&y|0,Da|0,I|0)|0;S=gt(I|0,D|0,R|0,S|0)|0;R=D;I=ik(Ea,Ca)|0;Da=D;P=64+((a|11)<<3)|0;Q=c[P>>2]|0;P=c[P+4>>2]|0;C=gt(E|0,F|0,L|0,C|0)|0;Da=gt(C|0,D|0,I|0,Da|0)|0;P=gt(Da|0,D|0,Q|0,P|0)|0;P=gt(P|0,D|0,X&~Ea^Ea&Ga|0,J&~Ca^Ca&O|0)|0;Q=D;Da=ot(Z|0,_|0,19)|0;I=D;C=ut(Z|0,_|0,45)|0;I=D|I;L=ot(Z|0,_|0,61)|0;K=D;Y=ut(Z|0,_|0,3)|0;K=D|K;_=ot(Z|0,_|0,6)|0;I=K^D^I;K=na;Z=c[K>>2]|0;K=c[K+4>>2]|0;M=ma;N=c[M>>2]|0;M=c[M+4>>2]|0;H=ot(N|0,M|0,1)|0;Fa=D;G=ut(N|0,M|0,63)|0;Fa=D|Fa;ca=ot(N|0,M|0,8)|0;B=D;ba=ut(N|0,M|0,56)|0;B=D|B;z=ot(N|0,M|0,7)|0;Fa=B^D^Fa;F=gt((Y|L)^_^(C|Da)|0,I|0,E|0,F|0)|0;K=gt(F|0,D|0,Z|0,K|0)|0;Fa=gt(K|0,D|0,(ba|ca)^z^(G|H)|0,Fa|0)|0;H=D;G=ka;c[G>>2]=Fa;c[G+4>>2]=H;G=jk(S,R)|0;z=D;y=gt(P|0,Q|0,A|0,y|0)|0;A=D;z=gt(S&(U^W)^U&W|0,R&(T^V)^T&V|0,G|0,z|0)|0;Q=gt(z|0,D|0,P|0,Q|0)|0;P=D;z=ik(y,A)|0;G=D;ca=64+((a|12)<<3)|0;ba=c[ca>>2]|0;ca=c[ca+4>>2]|0;J=gt(N|0,M|0,X|0,J|0)|0;G=gt(J|0,D|0,z|0,G|0)|0;ca=gt(G|0,D|0,ba|0,ca|0)|0;ca=gt(ca|0,D|0,Ga&~y^y&Ea|0,O&~A^A&Ca|0)|0;ba=D;G=ot(x|0,aa|0,19)|0;z=D;J=ut(x|0,aa|0,45)|0;z=D|z;X=ot(x|0,aa|0,61)|0;K=D;Z=ut(x|0,aa|0,3)|0;K=D|K;aa=ot(x|0,aa|0,6)|0;z=K^D^z;K=pa;x=c[K>>2]|0;K=c[K+4>>2]|0;F=oa;E=c[F>>2]|0;F=c[F+4>>2]|0;I=ot(E|0,F|0,1)|0;Da=D;C=ut(E|0,F|0,63)|0;Da=D|Da;_=ot(E|0,F|0,8)|0;L=D;Y=ut(E|0,F|0,56)|0;L=D|L;B=ot(E|0,F|0,7)|0;Da=L^D^Da;M=gt((Z|X)^aa^(J|G)|0,z|0,N|0,M|0)|0;K=gt(M|0,D|0,x|0,K|0)|0;Da=gt(K|0,D|0,(Y|_)^B^(C|I)|0,Da|0)|0;I=D;C=ma;c[C>>2]=Da;c[C+4>>2]=I;C=jk(Q,P)|0;B=D;V=gt(ca|0,ba|0,W|0,V|0)|0;W=D;B=gt(Q&(S^U)^S&U|0,P&(R^T)^R&T|0,C|0,B|0)|0;ba=gt(B|0,D|0,ca|0,ba|0)|0;ca=D;B=ik(V,W)|0;C=D;_=64+((a|13)<<3)|0;Y=c[_>>2]|0;_=c[_+4>>2]|0;O=gt(E|0,F|0,Ga|0,O|0)|0;C=gt(O|0,D|0,B|0,C|0)|0;_=gt(C|0,D|0,Y|0,_|0)|0;_=gt(_|0,D|0,Ea&~V^V&y|0,Ca&~W^W&A|0)|0;Y=D;C=ot(Fa|0,H|0,19)|0;B=D;O=ut(Fa|0,H|0,45)|0;B=D|B;Ga=ot(Fa|0,H|0,61)|0;K=D;x=ut(Fa|0,H|0,3)|0;K=D|K;H=ot(Fa|0,H|0,6)|0;B=K^D^B;K=qa;Fa=c[K>>2]|0;K=c[K+4>>2]|0;M=ea;N=c[M>>2]|0;M=c[M+4>>2]|0;z=ot(N|0,M|0,1)|0;G=D;J=ut(N|0,M|0,63)|0;G=D|G;aa=ot(N|0,M|0,8)|0;X=D;Z=ut(N|0,M|0,56)|0;X=D|X;L=ot(N|0,M|0,7)|0;G=X^D^G;F=gt((x|Ga)^H^(O|C)|0,B|0,E|0,F|0)|0;K=gt(F|0,D|0,Fa|0,K|0)|0;G=gt(K|0,D|0,(Z|aa)^L^(J|z)|0,G|0)|0;z=D;J=oa;c[J>>2]=G;c[J+4>>2]=z;J=jk(ba,ca)|0;L=D;T=gt(_|0,Y|0,U|0,T|0)|0;U=D;L=gt(ba&(Q^S)^Q&S|0,ca&(P^R)^P&R|0,J|0,L|0)|0;Y=gt(L|0,D|0,_|0,Y|0)|0;_=D;L=ik(T,U)|0;J=D;aa=64+((a|14)<<3)|0;Z=c[aa>>2]|0;aa=c[aa+4>>2]|0;Ca=gt(N|0,M|0,Ea|0,Ca|0)|0;J=gt(Ca|0,D|0,L|0,J|0)|0;aa=gt(J|0,D|0,Z|0,aa|0)|0;aa=gt(aa|0,D|0,y&~T^T&V|0,A&~U^U&W|0)|0;Z=D;J=ot(Da|0,I|0,19)|0;L=D;Ca=ut(Da|0,I|0,45)|0;L=D|L;Ea=ot(Da|0,I|0,61)|0;K=D;Fa=ut(Da|0,I|0,3)|0;K=D|K;I=ot(Da|0,I|0,6)|0;L=K^D^L;K=ra;Da=c[K>>2]|0;K=c[K+4>>2]|0;F=ha;E=c[F>>2]|0;F=c[F+4>>2]|0;B=ot(E|0,F|0,1)|0;C=D;O=ut(E|0,F|0,63)|0;C=D|C;H=ot(E|0,F|0,8)|0;Ga=D;x=ut(E|0,F|0,56)|0;Ga=D|Ga;X=ot(E|0,F|0,7)|0;C=Ga^D^C;M=gt((Fa|Ea)^I^(Ca|J)|0,L|0,N|0,M|0)|0;K=gt(M|0,D|0,Da|0,K|0)|0;C=gt(K|0,D|0,(x|H)^X^(O|B)|0,C|0)|0;B=ea;c[B>>2]=C;c[B+4>>2]=D;B=jk(Y,_)|0;C=D;R=gt(aa|0,Z|0,S|0,R|0)|0;S=D;C=gt(Y&(ba^Q)^ba&Q|0,_&(ca^P)^ca&P|0,B|0,C|0)|0;Z=gt(C|0,D|0,aa|0,Z|0)|0;aa=D;C=ik(R,S)|0;B=D;O=64+((a|15)<<3)|0;X=c[O>>2]|0;O=c[O+4>>2]|0;A=gt(E|0,F|0,y|0,A|0)|0;B=gt(A|0,D|0,C|0,B|0)|0;O=gt(B|0,D|0,X|0,O|0)|0;O=gt(O|0,D|0,V&~R^R&T|0,W&~S^S&U|0)|0;X=D;B=ot(G|0,z|0,19)|0;C=D;A=ut(G|0,z|0,45)|0;C=D|C;y=ot(G|0,z|0,61)|0;H=D;x=ut(G|0,z|0,3)|0;H=D|H;z=ot(G|0,z|0,6)|0;C=H^D^C;H=sa;G=c[H>>2]|0;H=c[H+4>>2]|0;K=ua;Da=c[K>>2]|0;K=c[K+4>>2]|0;M=ot(Da|0,K|0,1)|0;N=D;L=ut(Da|0,K|0,63)|0;N=D|N;J=ot(Da|0,K|0,8)|0;Ca=D;I=ut(Da|0,K|0,56)|0;Ca=D|Ca;K=ot(Da|0,K|0,7)|0;N=Ca^D^N;F=gt((x|y)^z^(A|B)|0,C|0,E|0,F|0)|0;H=gt(F|0,D|0,G|0,H|0)|0;N=gt(H|0,D|0,(I|J)^K^(L|M)|0,N|0)|0;M=ha;c[M>>2]=N;c[M+4>>2]=D;M=jk(Z,aa)|0;N=D;P=gt(O|0,X|0,Q|0,P|0)|0;Q=D;N=gt(Z&(Y^ba)^Y&ba|0,aa&(_^ca)^_&ca|0,M|0,N|0)|0;X=gt(N|0,D|0,O|0,X|0)|0;a=a+16|0;k=P;o=Q;h=R;n=S;g=T;m=U;f=V;l=W;s=X;v=D;p=Y;u=Z;r=_;w=aa;q=ba;t=ca}y=ua;x=c[y>>2]|0;y=c[y+4>>2]|0;A=ga;z=c[A>>2]|0;A=c[A+4>>2]|0;C=ja;B=c[C>>2]|0;C=c[C+4>>2]|0;F=la;E=c[F>>2]|0;F=c[F+4>>2]|0;H=na;G=c[H>>2]|0;H=c[H+4>>2]|0;J=pa;I=c[J>>2]|0;J=c[J+4>>2]|0;L=qa;K=c[L>>2]|0;L=c[L+4>>2]|0;N=ra;M=c[N>>2]|0;N=c[N+4>>2]|0;P=sa;O=c[P>>2]|0;P=c[P+4>>2]|0;R=fa;Q=c[R>>2]|0;R=c[R+4>>2]|0;T=ia;S=c[T>>2]|0;T=c[T+4>>2]|0;V=ka;U=c[V>>2]|0;V=c[V+4>>2]|0;X=ma;W=c[X>>2]|0;X=c[X+4>>2]|0;Z=oa;Y=c[Z>>2]|0;Z=c[Z+4>>2]|0;aa=ea;_=c[aa>>2]|0;aa=c[aa+4>>2]|0;ca=ha;ba=c[ca>>2]|0;ca=c[ca+4>>2]|0;a=64;while(1){if((a|0)>=80)break;Sa=ik(k,o)|0;Ga=D;La=64+(a<<3)|0;Ma=c[La>>2]|0;La=c[La+4>>2]|0;Da=gt(f|0,l|0,x|0,y|0)|0;Da=gt(Da|0,D|0,g&~k^h&k|0,m&~o^n&o|0)|0;Ga=gt(Da|0,D|0,Sa|0,Ga|0)|0;La=gt(Ga|0,D|0,Ma|0,La|0)|0;Ma=D;Ga=jk(s,v)|0;Ga=gt(Ga|0,D|0,(u^p)&s^u&p|0,(w^r)&v^w&r|0)|0;Sa=D;Da=gt(La|0,Ma|0,q|0,t|0)|0;Ha=D;Ma=gt(Ga|0,Sa|0,La|0,Ma|0)|0;La=D;Sa=ik(Da,Ha)|0;Ga=D;Na=64+((a|1)<<3)|0;Oa=c[Na>>2]|0;Na=c[Na+4>>2]|0;Ea=gt(g|0,m|0,z|0,A|0)|0;Ga=gt(Ea|0,D|0,Sa|0,Ga|0)|0;Na=gt(Ga|0,D|0,Oa|0,Na|0)|0;Na=gt(Na|0,D|0,h&~Da^Da&k|0,n&~Ha^Ha&o|0)|0;Oa=D;Ga=jk(Ma,La)|0;Ga=gt(Ma&(s^u)^s&u|0,La&(v^w)^v&w|0,Ga|0,D|0)|0;Sa=D;Ea=gt(Na|0,Oa|0,p|0,r|0)|0;Ca=D;Oa=gt(Ga|0,Sa|0,Na|0,Oa|0)|0;Na=D;Sa=ik(Ea,Ca)|0;Ga=D;Pa=64+((a|2)<<3)|0;Qa=c[Pa>>2]|0;Pa=c[Pa+4>>2]|0;Ra=gt(h|0,n|0,B|0,C|0)|0;Ga=gt(Ra|0,D|0,Sa|0,Ga|0)|0;Pa=gt(Ga|0,D|0,Qa|0,Pa|0)|0;Pa=gt(Pa|0,D|0,k&~Ea^Ea&Da|0,o&~Ca^Ca&Ha|0)|0;Qa=D;Ga=jk(Oa,Na)|0;Ga=gt(Oa&(Ma^s)^Ma&s|0,Na&(La^v)^La&v|0,Ga|0,D|0)|0;Sa=D;Ra=gt(Pa|0,Qa|0,u|0,w|0)|0;Ia=D;Qa=gt(Ga|0,Sa|0,Pa|0,Qa|0)|0;Pa=D;Sa=ik(Ra,Ia)|0;Ga=D;Va=64+((a|3)<<3)|0;Fa=c[Va>>2]|0;Va=c[Va+4>>2]|0;Ja=gt(k|0,o|0,E|0,F|0)|0;Ga=gt(Ja|0,D|0,Sa|0,Ga|0)|0;Va=gt(Ga|0,D|0,Fa|0,Va|0)|0;Va=gt(Va|0,D|0,Da&~Ra^Ra&Ea|0,Ha&~Ia^Ia&Ca|0)|0;Fa=D;Ga=jk(Qa,Pa)|0;Ga=gt(Qa&(Oa^Ma)^Oa&Ma|0,Pa&(Na^La)^Na&La|0,Ga|0,D|0)|0;Sa=D;Ja=gt(Va|0,Fa|0,s|0,v|0)|0;Ka=D;Fa=gt(Ga|0,Sa|0,Va|0,Fa|0)|0;Va=D;Sa=ik(Ja,Ka)|0;Ga=D;Ua=64+((a|4)<<3)|0;Ta=c[Ua>>2]|0;Ua=c[Ua+4>>2]|0;Ha=gt(Da|0,Ha|0,G|0,H|0)|0;Ga=gt(Ha|0,D|0,Sa|0,Ga|0)|0;Ua=gt(Ga|0,D|0,Ta|0,Ua|0)|0;Ua=gt(Ua|0,D|0,Ea&~Ja^Ja&Ra|0,Ca&~Ka^Ka&Ia|0)|0;Ta=D;Ga=jk(Fa,Va)|0;Ga=gt(Fa&(Qa^Oa)^Qa&Oa|0,Va&(Pa^Na)^Pa&Na|0,Ga|0,D|0)|0;Sa=D;La=gt(Ua|0,Ta|0,Ma|0,La|0)|0;Ma=D;Ta=gt(Ga|0,Sa|0,Ua|0,Ta|0)|0;Ua=D;Sa=ik(La,Ma)|0;Ga=D;Ha=64+((a|5)<<3)|0;Da=c[Ha>>2]|0;Ha=c[Ha+4>>2]|0;Ca=gt(Ea|0,Ca|0,I|0,J|0)|0;Ga=gt(Ca|0,D|0,Sa|0,Ga|0)|0;Ha=gt(Ga|0,D|0,Da|0,Ha|0)|0;Ha=gt(Ha|0,D|0,Ra&~La^La&Ja|0,Ia&~Ma^Ma&Ka|0)|0;Da=D;Ga=jk(Ta,Ua)|0;Ga=gt(Ta&(Fa^Qa)^Fa&Qa|0,Ua&(Va^Pa)^Va&Pa|0,Ga|0,D|0)|0;Sa=D;Na=gt(Ha|0,Da|0,Oa|0,Na|0)|0;Oa=D;Da=gt(Ga|0,Sa|0,Ha|0,Da|0)|0;Ha=D;Sa=ik(Na,Oa)|0;Ga=D;Ca=64+((a|6)<<3)|0;Ea=c[Ca>>2]|0;Ca=c[Ca+4>>2]|0;Ia=gt(Ra|0,Ia|0,K|0,L|0)|0;Ga=gt(Ia|0,D|0,Sa|0,Ga|0)|0;Ca=gt(Ga|0,D|0,Ea|0,Ca|0)|0;Ca=gt(Ca|0,D|0,Ja&~Na^Na&La|0,Ka&~Oa^Oa&Ma|0)|0;Ea=D;Ga=jk(Da,Ha)|0;Ga=gt(Da&(Ta^Fa)^Ta&Fa|0,Ha&(Ua^Va)^Ua&Va|0,Ga|0,D|0)|0;Sa=D;Pa=gt(Ca|0,Ea|0,Qa|0,Pa|0)|0;Qa=D;Ea=gt(Ga|0,Sa|0,Ca|0,Ea|0)|0;Ca=D;Sa=ik(Pa,Qa)|0;Ga=D;Ia=64+((a|7)<<3)|0;Ra=c[Ia>>2]|0;Ia=c[Ia+4>>2]|0;Ka=gt(Ja|0,Ka|0,M|0,N|0)|0;Ga=gt(Ka|0,D|0,Sa|0,Ga|0)|0;Ia=gt(Ga|0,D|0,Ra|0,Ia|0)|0;Ia=gt(Ia|0,D|0,La&~Pa^Pa&Na|0,Ma&~Qa^Qa&Oa|0)|0;Ra=D;Ga=jk(Ea,Ca)|0;Ga=gt(Ea&(Da^Ta)^Da&Ta|0,Ca&(Ha^Ua)^Ha&Ua|0,Ga|0,D|0)|0;Sa=D;Va=gt(Ia|0,Ra|0,Fa|0,Va|0)|0;Fa=D;Ra=gt(Ga|0,Sa|0,Ia|0,Ra|0)|0;Ia=D;Sa=ik(Va,Fa)|0;Ga=D;Ka=64+((a|8)<<3)|0;Ja=c[Ka>>2]|0;Ka=c[Ka+4>>2]|0;Ma=gt(La|0,Ma|0,O|0,P|0)|0;Ga=gt(Ma|0,D|0,Sa|0,Ga|0)|0;Ka=gt(Ga|0,D|0,Ja|0,Ka|0)|0;Ka=gt(Ka|0,D|0,Na&~Va^Va&Pa|0,Oa&~Fa^Fa&Qa|0)|0;Ja=D;Ga=jk(Ra,Ia)|0;Ga=gt(Ra&(Ea^Da)^Ea&Da|0,Ia&(Ca^Ha)^Ca&Ha|0,Ga|0,D|0)|0;Sa=D;Ua=gt(Ka|0,Ja|0,Ta|0,Ua|0)|0;Ta=D;Ja=gt(Ga|0,Sa|0,Ka|0,Ja|0)|0;Ka=D;Sa=ik(Ua,Ta)|0;Ga=D;Ma=64+((a|9)<<3)|0;La=c[Ma>>2]|0;Ma=c[Ma+4>>2]|0;Oa=gt(Na|0,Oa|0,Q|0,R|0)|0;Ga=gt(Oa|0,D|0,Sa|0,Ga|0)|0;Ma=gt(Ga|0,D|0,La|0,Ma|0)|0;Ma=gt(Ma|0,D|0,Pa&~Ua^Ua&Va|0,Qa&~Ta^Ta&Fa|0)|0;La=D;Ga=jk(Ja,Ka)|0;Ga=gt(Ja&(Ra^Ea)^Ra&Ea|0,Ka&(Ia^Ca)^Ia&Ca|0,Ga|0,D|0)|0;Sa=D;Ha=gt(Ma|0,La|0,Da|0,Ha|0)|0;Da=D;La=gt(Ga|0,Sa|0,Ma|0,La|0)|0;Ma=D;Sa=ik(Ha,Da)|0;Ga=D;Oa=64+((a|10)<<3)|0;Na=c[Oa>>2]|0;Oa=c[Oa+4>>2]|0;Qa=gt(Pa|0,Qa|0,S|0,T|0)|0;Ga=gt(Qa|0,D|0,Sa|0,Ga|0)|0;Oa=gt(Ga|0,D|0,Na|0,Oa|0)|0;Oa=gt(Oa|0,D|0,Va&~Ha^Ha&Ua|0,Fa&~Da^Da&Ta|0)|0;Na=D;Ga=jk(La,Ma)|0;Ga=gt(La&(Ja^Ra)^Ja&Ra|0,Ma&(Ka^Ia)^Ka&Ia|0,Ga|0,D|0)|0;Sa=D;Ca=gt(Oa|0,Na|0,Ea|0,Ca|0)|0;Ea=D;Na=gt(Ga|0,Sa|0,Oa|0,Na|0)|0;Oa=D;Sa=ik(Ca,Ea)|0;Ga=D;Qa=64+((a|11)<<3)|0;Pa=c[Qa>>2]|0;Qa=c[Qa+4>>2]|0;Fa=gt(Va|0,Fa|0,U|0,V|0)|0;Ga=gt(Fa|0,D|0,Sa|0,Ga|0)|0;Qa=gt(Ga|0,D|0,Pa|0,Qa|0)|0;Qa=gt(Qa|0,D|0,Ua&~Ca^Ca&Ha|0,Ta&~Ea^Ea&Da|0)|0;Pa=D;Ga=jk(Na,Oa)|0;Ga=gt(Na&(La^Ja)^La&Ja|0,Oa&(Ma^Ka)^Ma&Ka|0,Ga|0,D|0)|0;Sa=D;Ia=gt(Qa|0,Pa|0,Ra|0,Ia|0)|0;Ra=D;Pa=gt(Ga|0,Sa|0,Qa|0,Pa|0)|0;Qa=D;Sa=ik(Ia,Ra)|0;Ga=64+((a|12)<<3)|0;Fa=c[Ga>>2]|0;Ga=c[Ga+4>>2]|0;Sa=gt(Sa|0,D|0,W|0,X|0)|0;Ta=gt(Sa|0,D|0,Ua|0,Ta|0)|0;Ga=gt(Ta|0,D|0,Fa|0,Ga|0)|0;Ga=gt(Ga|0,D|0,Ha&~Ia^Ia&Ca|0,Da&~Ra^Ra&Ea|0)|0;Fa=D;Ta=jk(Pa,Qa)|0;Ta=gt(Pa&(Na^La)^Na&La|0,Qa&(Oa^Ma)^Oa&Ma|0,Ta|0,D|0)|0;Ua=D;Ka=gt(Ga|0,Fa|0,Ja|0,Ka|0)|0;Ja=D;Fa=gt(Ta|0,Ua|0,Ga|0,Fa|0)|0;Ga=D;Ua=ik(Ka,Ja)|0;Ta=64+((a|13)<<3)|0;Sa=c[Ta>>2]|0;Ta=c[Ta+4>>2]|0;Ua=gt(Ua|0,D|0,Y|0,Z|0)|0;Ta=gt(Ua|0,D|0,Sa|0,Ta|0)|0;Da=gt(Ta|0,D|0,Ha|0,Da|0)|0;Da=gt(Da|0,D|0,Ca&~Ka^Ka&Ia|0,Ea&~Ja^Ja&Ra|0)|0;Ha=D;Ta=jk(Fa,Ga)|0;Ta=gt(Fa&(Pa^Na)^Pa&Na|0,Ga&(Qa^Oa)^Qa&Oa|0,Ta|0,D|0)|0;Sa=D;Ma=gt(Da|0,Ha|0,La|0,Ma|0)|0;La=D;Ha=gt(Ta|0,Sa|0,Da|0,Ha|0)|0;Da=D;Sa=ik(Ma,La)|0;Ta=64+((a|14)<<3)|0;Ua=c[Ta>>2]|0;Ta=c[Ta+4>>2]|0;Sa=gt(Sa|0,D|0,_|0,aa|0)|0;Ta=gt(Sa|0,D|0,Ua|0,Ta|0)|0;Ea=gt(Ta|0,D|0,Ca|0,Ea|0)|0;Ea=gt(Ea|0,D|0,Ia&~Ma^Ma&Ka|0,Ra&~La^La&Ja|0)|0;Ca=D;Ta=jk(Ha,Da)|0;Ta=gt(Ha&(Fa^Pa)^Fa&Pa|0,Da&(Ga^Qa)^Ga&Qa|0,Ta|0,D|0)|0;Ua=D;Oa=gt(Ea|0,Ca|0,Na|0,Oa|0)|0;Na=D;Ca=gt(Ta|0,Ua|0,Ea|0,Ca|0)|0;Ea=D;Ua=ik(Oa,Na)|0;Ta=64+((a|15)<<3)|0;Sa=c[Ta>>2]|0;Ta=c[Ta+4>>2]|0;Ua=gt(Ua|0,D|0,ba|0,ca|0)|0;Ta=gt(Ua|0,D|0,Sa|0,Ta|0)|0;Ra=gt(Ta|0,D|0,Ia|0,Ra|0)|0;Ra=gt(Ra|0,D|0,Ka&~Oa^Oa&Ma|0,Ja&~Na^Na&La|0)|0;Ia=D;Ta=jk(Ca,Ea)|0;Ta=gt(Ca&(Ha^Fa)^Ha&Fa|0,Ea&(Da^Ga)^Da&Ga|0,Ta|0,D|0)|0;Sa=D;Qa=gt(Ra|0,Ia|0,Pa|0,Qa|0)|0;Pa=D;Ia=gt(Ta|0,Sa|0,Ra|0,Ia|0)|0;a=a+16|0;k=Qa;o=Pa;h=Oa;n=Na;g=Ma;m=La;f=Ka;l=Ja;s=Ia;v=D;p=Ha;u=Ca;r=Da;w=Ea;q=Fa;t=Ga}Va=va;s=gt(c[Va>>2]|0,c[Va+4>>2]|0,s|0,v|0)|0;v=D;Va=va;c[Va>>2]=s;c[Va+4>>2]=v;Va=wa;u=gt(c[Va>>2]|0,c[Va+4>>2]|0,u|0,w|0)|0;w=D;Va=wa;c[Va>>2]=u;c[Va+4>>2]=w;Va=xa;p=gt(c[Va>>2]|0,c[Va+4>>2]|0,p|0,r|0)|0;r=D;Va=xa;c[Va>>2]=p;c[Va+4>>2]=r;Va=ya;q=gt(c[Va>>2]|0,c[Va+4>>2]|0,q|0,t|0)|0;t=D;Va=ya;c[Va>>2]=q;c[Va+4>>2]=t;Va=za;k=gt(c[Va>>2]|0,c[Va+4>>2]|0,k|0,o|0)|0;o=D;Va=za;c[Va>>2]=k;c[Va+4>>2]=o;Va=Aa;h=gt(c[Va>>2]|0,c[Va+4>>2]|0,h|0,n|0)|0;n=D;Va=Aa;c[Va>>2]=h;c[Va+4>>2]=n;Va=ta;g=gt(c[Va>>2]|0,c[Va+4>>2]|0,g|0,m|0)|0;m=D;Va=ta;c[Va>>2]=g;c[Va+4>>2]=m;Va=da;f=gt(c[Va>>2]|0,c[Va+4>>2]|0,f|0,l|0)|0;l=D;Va=da;c[Va>>2]=f;c[Va+4>>2]=l;e=e+-1|0;if(!e)break;else b=b+128|0}i=Ba;return 220}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ot(a|0,b|0,14)|0;c=D;g=ut(a|0,b|0,50)|0;c=D|c;d=ot(a|0,b|0,18)|0;i=D;e=ut(a|0,b|0,46)|0;i=c^(D|i);c=ot(a|0,b|0,41)|0;h=D;b=ut(a|0,b|0,23)|0;D=i^(D|h);return (g|f)^(e|d)^(b|c)|0}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ot(a|0,b|0,28)|0;c=D;g=ut(a|0,b|0,36)|0;c=D|c;d=ot(a|0,b|0,34)|0;i=D;e=ut(a|0,b|0,30)|0;i=c^(D|i);c=ot(a|0,b|0,39)|0;h=D;b=ut(a|0,b|0,25)|0;D=i^(D|h);return (g|f)^(e|d)^(b|c)|0}function kk(a,b){a=a|0;b=b|0;b=a+160|0;c[b>>2]=-1056596264;c[b+4>>2]=-876896931;b=a+168|0;c[b>>2]=914150663;c[b+4>>2]=1654270250;b=a+176|0;c[b>>2]=812702999;c[b+4>>2]=-1856437926;b=a+184|0;c[b>>2]=-150054599;c[b+4>>2]=355462360;b=a+192|0;c[b>>2]=-4191439;c[b+4>>2]=1731405415;b=a+200|0;c[b>>2]=1750603025;c[b+4>>2]=-1900787065;b=a+208|0;c[b>>2]=1694076839;c[b+4>>2]=-619958771;b=a+216|0;c[b>>2]=-1090891868;c[b+4>>2]=1203062813;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=128;c[a+152>>2]=34;return}function lk(a,b,c){a=a|0;b=b|0;c=c|0;c=qk(a,b,c)|0;Re(47);return c|0}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=ok(d)|0;g=c[a+4096>>2]^g;e=ok(d+4|0)|0;e=c[a+4100>>2]^e;j=ok(d+8|0)|0;j=c[a+4104>>2]^j;f=ok(d+12|0)|0;f=c[a+4108>>2]^f;i=c[a+2048+((e>>>8&255)<<2)>>2]^c[a+1024+((e&255)<<2)>>2]^c[a+3072+((e>>>16&255)<<2)>>2]^c[a+(e>>>24<<2)>>2];h=i+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;d=j^h+(c[a+4128>>2]|0);j=d>>>1;k=j|d<<31;f=i+(c[a+4132>>2]|0)+h^(f<<1|f>>>31);h=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];d=h+(c[a+1024+((d>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((d>>>17&255)<<2)>>2]^c[a+3072+(k>>>24<<2)>>2])|0;g=d+(c[a+4136>>2]|0)^g;j=g>>>1;i=j|g<<31;d=h+(c[a+4140>>2]|0)+d^(e<<1|e>>>31);e=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];g=e+(c[a+1024+((g>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((g>>>17&255)<<2)>>2]^c[a+3072+(i>>>24<<2)>>2])|0;k=g+(c[a+4144>>2]|0)^k;j=k>>>1;h=j|k<<31;f=e+(c[a+4148>>2]|0)+g^(f<<1|f>>>31);g=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];k=g+(c[a+1024+((k>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((k>>>17&255)<<2)>>2]^c[a+3072+(h>>>24<<2)>>2])|0;i=k+(c[a+4152>>2]|0)^i;j=i>>>1;e=j|i<<31;d=g+(c[a+4156>>2]|0)+k^(d<<1|d>>>31);k=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];i=k+(c[a+1024+((i>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((i>>>17&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;h=i+(c[a+4160>>2]|0)^h;j=h>>>1;g=j|h<<31;f=k+(c[a+4164>>2]|0)+i^(f<<1|f>>>31);i=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];h=i+(c[a+1024+((h>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((h>>>17&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;e=h+(c[a+4168>>2]|0)^e;j=e>>>1;k=j|e<<31;d=i+(c[a+4172>>2]|0)+h^(d<<1|d>>>31);h=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];e=h+(c[a+1024+((e>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((e>>>17&255)<<2)>>2]^c[a+3072+(k>>>24<<2)>>2])|0;g=e+(c[a+4176>>2]|0)^g;j=g>>>1;i=j|g<<31;f=h+(c[a+4180>>2]|0)+e^(f<<1|f>>>31);e=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];g=e+(c[a+1024+((g>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((g>>>17&255)<<2)>>2]^c[a+3072+(i>>>24<<2)>>2])|0;k=g+(c[a+4184>>2]|0)^k;j=k>>>1;h=j|k<<31;d=e+(c[a+4188>>2]|0)+g^(d<<1|d>>>31);g=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];k=g+(c[a+1024+((k>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((k>>>17&255)<<2)>>2]^c[a+3072+(h>>>24<<2)>>2])|0;i=k+(c[a+4192>>2]|0)^i;j=i>>>1;e=j|i<<31;f=g+(c[a+4196>>2]|0)+k^(f<<1|f>>>31);k=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];i=k+(c[a+1024+((i>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((i>>>17&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;h=i+(c[a+4200>>2]|0)^h;j=h>>>1;g=j|h<<31;d=k+(c[a+4204>>2]|0)+i^(d<<1|d>>>31);i=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];h=i+(c[a+1024+((h>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((h>>>17&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;e=h+(c[a+4208>>2]|0)^e;j=e>>>1;k=j|e<<31;f=i+(c[a+4212>>2]|0)+h^(f<<1|f>>>31);h=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];e=h+(c[a+1024+((e>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((e>>>17&255)<<2)>>2]^c[a+3072+(k>>>24<<2)>>2])|0;g=e+(c[a+4216>>2]|0)^g;j=g>>>1;i=j|g<<31;d=h+(c[a+4220>>2]|0)+e^(d<<1|d>>>31);e=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];g=e+(c[a+1024+((g>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((g>>>17&255)<<2)>>2]^c[a+3072+(i>>>24<<2)>>2])|0;k=g+(c[a+4224>>2]|0)^k;j=k>>>1;h=j|k<<31;f=e+(c[a+4228>>2]|0)+g^(f<<1|f>>>31);g=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];k=g+(c[a+1024+((k>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((k>>>17&255)<<2)>>2]^c[a+3072+(h>>>24<<2)>>2])|0;i=k+(c[a+4232>>2]|0)^i;j=i>>>1;e=j|i<<31;d=g+(c[a+4236>>2]|0)+k^(d<<1|d>>>31);k=c[a+2048+((d>>>8&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((d>>>16&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];i=k+(c[a+1024+((i>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((i>>>17&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;h=i+(c[a+4240>>2]|0)^h;j=h>>>1;g=j|h<<31;f=k+(c[a+4244>>2]|0)+i^(f<<1|f>>>31);i=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];h=i+(c[a+1024+((h>>>9&255)<<2)>>2]^c[a+((j&255)<<2)>>2]^c[a+2048+((h>>>17&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;e=h+(c[a+4248>>2]|0)^e;d=i+(c[a+4252>>2]|0)+h^(d<<1|d>>>31);pk(b,c[a+4112>>2]^g);pk(b+4|0,c[a+4116>>2]^f);pk(b+8|0,c[a+4120>>2]^(e>>>1|e<<31));pk(b+12|0,d^c[a+4124>>2]);return 36}function nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=ok(d)|0;e=c[a+4112>>2]^e;f=ok(d+4|0)|0;f=c[a+4116>>2]^f;g=ok(d+8|0)|0;g=c[a+4120>>2]^g;i=ok(d+12|0)|0;d=c[a+2048+((f>>>8&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((f>>>16&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];h=d+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;d=c[a+4124>>2]^i^(c[a+4252>>2]|0)+d+h;i=d>>>1;j=i|d<<31;g=h+(c[a+4248>>2]|0)^(g<<1|g>>>31);d=c[a+2048+((d>>>9&255)<<2)>>2]^c[a+1024+((i&255)<<2)>>2]^c[a+3072+((d>>>17&255)<<2)>>2]^c[a+(j>>>24<<2)>>2];i=d+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;f=(c[a+4244>>2]|0)+d+i^f;d=f>>>1;h=d|f<<31;e=i+(c[a+4240>>2]|0)^(e<<1|e>>>31);f=c[a+2048+((f>>>9&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((f>>>17&255)<<2)>>2]^c[a+(h>>>24<<2)>>2];d=f+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;j=(c[a+4236>>2]|0)+f+d^j;f=j>>>1;i=f|j<<31;g=d+(c[a+4232>>2]|0)^(g<<1|g>>>31);j=c[a+2048+((j>>>9&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((j>>>17&255)<<2)>>2]^c[a+(i>>>24<<2)>>2];f=j+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;h=(c[a+4228>>2]|0)+j+f^h;j=h>>>1;d=j|h<<31;e=f+(c[a+4224>>2]|0)^(e<<1|e>>>31);h=c[a+2048+((h>>>9&255)<<2)>>2]^c[a+1024+((j&255)<<2)>>2]^c[a+3072+((h>>>17&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];j=h+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;i=(c[a+4220>>2]|0)+h+j^i;h=i>>>1;f=h|i<<31;g=j+(c[a+4216>>2]|0)^(g<<1|g>>>31);i=c[a+2048+((i>>>9&255)<<2)>>2]^c[a+1024+((h&255)<<2)>>2]^c[a+3072+((i>>>17&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];h=i+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;d=(c[a+4212>>2]|0)+i+h^d;i=d>>>1;j=i|d<<31;e=h+(c[a+4208>>2]|0)^(e<<1|e>>>31);d=c[a+2048+((d>>>9&255)<<2)>>2]^c[a+1024+((i&255)<<2)>>2]^c[a+3072+((d>>>17&255)<<2)>>2]^c[a+(j>>>24<<2)>>2];i=d+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;f=(c[a+4204>>2]|0)+d+i^f;d=f>>>1;h=d|f<<31;g=i+(c[a+4200>>2]|0)^(g<<1|g>>>31);f=c[a+2048+((f>>>9&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((f>>>17&255)<<2)>>2]^c[a+(h>>>24<<2)>>2];d=f+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;j=(c[a+4196>>2]|0)+f+d^j;f=j>>>1;i=f|j<<31;e=d+(c[a+4192>>2]|0)^(e<<1|e>>>31);j=c[a+2048+((j>>>9&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((j>>>17&255)<<2)>>2]^c[a+(i>>>24<<2)>>2];f=j+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;h=(c[a+4188>>2]|0)+j+f^h;j=h>>>1;d=j|h<<31;g=f+(c[a+4184>>2]|0)^(g<<1|g>>>31);h=c[a+2048+((h>>>9&255)<<2)>>2]^c[a+1024+((j&255)<<2)>>2]^c[a+3072+((h>>>17&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];j=h+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;i=(c[a+4180>>2]|0)+h+j^i;h=i>>>1;f=h|i<<31;e=j+(c[a+4176>>2]|0)^(e<<1|e>>>31);i=c[a+2048+((i>>>9&255)<<2)>>2]^c[a+1024+((h&255)<<2)>>2]^c[a+3072+((i>>>17&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];h=i+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;d=(c[a+4172>>2]|0)+i+h^d;i=d>>>1;j=i|d<<31;g=h+(c[a+4168>>2]|0)^(g<<1|g>>>31);d=c[a+2048+((d>>>9&255)<<2)>>2]^c[a+1024+((i&255)<<2)>>2]^c[a+3072+((d>>>17&255)<<2)>>2]^c[a+(j>>>24<<2)>>2];i=d+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;f=(c[a+4164>>2]|0)+d+i^f;d=f>>>1;h=d|f<<31;e=i+(c[a+4160>>2]|0)^(e<<1|e>>>31);f=c[a+2048+((f>>>9&255)<<2)>>2]^c[a+1024+((d&255)<<2)>>2]^c[a+3072+((f>>>17&255)<<2)>>2]^c[a+(h>>>24<<2)>>2];d=f+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;j=(c[a+4156>>2]|0)+f+d^j;f=j>>>1;i=f|j<<31;g=d+(c[a+4152>>2]|0)^(g<<1|g>>>31);j=c[a+2048+((j>>>9&255)<<2)>>2]^c[a+1024+((f&255)<<2)>>2]^c[a+3072+((j>>>17&255)<<2)>>2]^c[a+(i>>>24<<2)>>2];f=j+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;h=(c[a+4148>>2]|0)+j+f^h;j=h>>>1;d=j|h<<31;e=f+(c[a+4144>>2]|0)^(e<<1|e>>>31);h=c[a+2048+((h>>>9&255)<<2)>>2]^c[a+1024+((j&255)<<2)>>2]^c[a+3072+((h>>>17&255)<<2)>>2]^c[a+(d>>>24<<2)>>2];j=h+(c[a+1024+((e>>>8&255)<<2)>>2]^c[a+((e&255)<<2)>>2]^c[a+2048+((e>>>16&255)<<2)>>2]^c[a+3072+(e>>>24<<2)>>2])|0;i=(c[a+4140>>2]|0)+h+j^i;h=i>>>1;f=h|i<<31;g=j+(c[a+4136>>2]|0)^(g<<1|g>>>31);i=c[a+2048+((i>>>9&255)<<2)>>2]^c[a+1024+((h&255)<<2)>>2]^c[a+3072+((i>>>17&255)<<2)>>2]^c[a+(f>>>24<<2)>>2];h=i+(c[a+1024+((g>>>8&255)<<2)>>2]^c[a+((g&255)<<2)>>2]^c[a+2048+((g>>>16&255)<<2)>>2]^c[a+3072+(g>>>24<<2)>>2])|0;d=(c[a+4132>>2]|0)+i+h^d;e=h+(c[a+4128>>2]|0)^(e<<1|e>>>31);pk(b,c[a+4096>>2]^g);pk(b+4|0,c[a+4100>>2]^f);pk(b+8|0,e^c[a+4104>>2]);pk(b+12|0,c[a+4108>>2]^(d>>>1|d<<31));return 36}function ok(a){a=a|0;return (d[a+2>>0]|0)<<16|(d[a+3>>0]|0)<<24|(d[a+1>>0]|0)<<8|(d[a>>0]|0)|0}function pk(b,c){b=b|0;c=c|0;a[b+3>>0]=c>>>24;a[b+2>>0]=c>>>16;a[b+1>>0]=c>>>8;a[b>>0]=c;return}function qk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ea=i;i=i+4288|0;if((i|0)>=(j|0))$(4288);k=ea;g=ea+8|0;h=ea+4264|0;do if((f+-16|16|0)==16){do if(!(c[17588]|0)){c[17588]=1;lk(g,43043,16)|0;mk(g,h,43059)|0;if(!(_r(h,43075,16)|0)){nk(g,h,h)|0;if(!(_r(h,43059,16)|0)){lk(g,43091,32)|0;mk(g,h,43123)|0;if(!(_r(h,43139,16)|0)){nk(g,h,h)|0;if(!(_r(h,43123,16)|0)){g=to(43035,13,14,8,4,16,4256)|0;if(!g){g=po(43035,13,14,6,5,16,4256)|0;if(!g){g=ro(43035,13,14,7,5,16,4256)|0;c[17589]=g;if(!g)break}else l=9}else l=9}else{g=43155;l=9}}else{g=43191;l=9}}else{g=43227;l=9}}else{g=43263;l=9}if((l|0)==9)c[17589]=g;c[k>>2]=g;Je(43299,k);l=12}else l=12;while(0);if((l|0)==12?c[17589]|0:0){g=50;break}g=a[e>>0]|0;if(!(g<<24>>24)){h=0;k=0;l=0}else{l=d[43303+((g&255)+-1)>>0]|0;h=a[43558+(l+1)>>0]|0;k=a[43558+(l+45)>>0]|0;l=a[43558+l>>0]|0}da=e+1|0;g=a[da>>0]|0;if(!(g<<24>>24))m=k;else{ca=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(ca+138)>>0]^k;h=a[43558+(ca+68)>>0]^h;k=a[43558+(ca+164)>>0]^k;l=a[43558+(ca+45)>>0]^l}ca=e+2|0;g=a[ca>>0]|0;if(g<<24>>24){ba=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(ba+209)>>0]^m;h=a[43558+(ba+191)>>0]^h;k=a[43558+(ba+213)>>0]^k;l=a[43558+(ba+138)>>0]^l}ba=e+3|0;g=a[ba>>0]|0;if(g<<24>>24){aa=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(aa+153)>>0]^m;h=a[43558+(aa+61)>>0]^h;k=a[43558+(aa+127)>>0]^k;l=a[43558+(aa+209)>>0]^l}aa=e+4|0;g=a[aa>>0]|0;if(g<<24>>24){_=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(_+150)>>0]^m;h=a[43558+(_+102)>>0]^h;k=a[43558+(_+70)>>0]^k;l=a[43558+(_+153)>>0]^l}_=e+5|0;g=a[_>>0]|0;if(g<<24>>24){Z=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(Z+237)>>0]^m;h=a[43558+(Z+91)>>0]^h;k=a[43558+(Z+60)>>0]^k;l=a[43558+(Z+150)>>0]^l}Z=e+6|0;g=a[Z>>0]|0;if(g<<24>>24){Y=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(Y+224)>>0]^m;h=a[43558+(Y+79)>>0]^h;k=a[43558+(Y+55)>>0]^k;l=a[43558+(Y+237)>>0]^l}Y=e+7|0;g=a[Y>>0]|0;if(g<<24>>24){X=d[43303+((g&255)+-1)>>0]|0;m=a[43558+(X+23)>>0]^m;h=a[43558+(X+140)>>0]^h;k=a[43558+(X+208)>>0]^k;l=a[43558+(X+224)>>0]^l}X=e+8|0;g=a[X>>0]|0;if(!(g<<24>>24)){n=0;o=0;p=0}else{p=d[43303+((g&255)+-1)>>0]|0;n=a[43558+(p+1)>>0]|0;o=a[43558+(p+45)>>0]|0;p=a[43558+p>>0]|0}W=e+9|0;g=a[W>>0]|0;if(!(g<<24>>24))q=o;else{V=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(V+138)>>0]^o;n=a[43558+(V+68)>>0]^n;o=a[43558+(V+164)>>0]^o;p=a[43558+(V+45)>>0]^p}V=e+10|0;g=a[V>>0]|0;if(g<<24>>24){U=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(U+209)>>0]^q;n=a[43558+(U+191)>>0]^n;o=a[43558+(U+213)>>0]^o;p=a[43558+(U+138)>>0]^p}U=e+11|0;g=a[U>>0]|0;if(g<<24>>24){T=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(T+153)>>0]^q;n=a[43558+(T+61)>>0]^n;o=a[43558+(T+127)>>0]^o;p=a[43558+(T+209)>>0]^p}T=e+12|0;g=a[T>>0]|0;if(g<<24>>24){S=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(S+150)>>0]^q;n=a[43558+(S+102)>>0]^n;o=a[43558+(S+70)>>0]^o;p=a[43558+(S+153)>>0]^p}S=e+13|0;g=a[S>>0]|0;if(g<<24>>24){R=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(R+237)>>0]^q;n=a[43558+(R+91)>>0]^n;o=a[43558+(R+60)>>0]^o;p=a[43558+(R+150)>>0]^p}R=e+14|0;g=a[R>>0]|0;if(g<<24>>24){Q=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(Q+224)>>0]^q;n=a[43558+(Q+79)>>0]^n;o=a[43558+(Q+55)>>0]^o;p=a[43558+(Q+237)>>0]^p}Q=e+15|0;g=a[Q>>0]|0;if(g<<24>>24){P=d[43303+((g&255)+-1)>>0]|0;q=a[43558+(P+23)>>0]^q;n=a[43558+(P+140)>>0]^n;o=a[43558+(P+208)>>0]^o;p=a[43558+(P+224)>>0]^p}if((f|0)!=32){g=1;f=0;r=0;while(1){if((r|0)==256)break;O=a[44050+f>>0]|0;c[b+(r<<2)>>2]=c[8132+(((a[44818+((O^l)&255)>>0]^p)&255)<<2)>>2];P=a[44050+g>>0]|0;c[b+1024+(r<<2)>>2]=c[9156+(((a[44818+((P^k)&255)>>0]^o)&255)<<2)>>2];c[b+2048+(r<<2)>>2]=c[10180+(((a[44562+((O^h)&255)>>0]^n)&255)<<2)>>2];c[b+3072+(r<<2)>>2]=c[11204+(((a[44562+((P^m)&255)>>0]^q)&255)<<2)>>2];g=g+2|0;f=f+2|0;r=r+1|0}g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^243)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^103)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^103)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^243)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^117)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^169)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^169)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^117)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4096>>2]=P;c[b+4100>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^244)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^232)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^232)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^244)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^198)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^179)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^179)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^198)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4104>>2]=P;c[b+4108>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^123)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^253)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^253)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^123)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^219)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^4)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^4)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^219)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4112>>2]=P;c[b+4116>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^200)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^118)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^118)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^200)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^251)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^163)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^163)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^251)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4120>>2]=P;c[b+4124>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^211)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^146)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^146)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^211)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^74)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^154)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^154)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^74)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4128>>2]=P;c[b+4132>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^107)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^120)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^120)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^107)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^230)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^128)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^128)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^230)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4136>>2]=P;c[b+4140>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^125)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^221)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^221)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^125)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^69)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^228)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^228)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^69)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4144>>2]=P;c[b+4148>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^75)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^56)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^56)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^75)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^232)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^209)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^209)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^232)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4152>>2]=P;c[b+4156>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^50)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^198)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^198)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^50)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^214)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^13)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^13)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^214)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4160>>2]=P;c[b+4164>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^253)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^152)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^152)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^253)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^216)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^53)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^53)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^216)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4168>>2]=P;c[b+4172>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^113)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^247)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^247)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^113)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^55)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^24)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^24)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^55)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4176>>2]=P;c[b+4180>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^225)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^108)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^108)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^225)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^241)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^236)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^236)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^241)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4184>>2]=P;c[b+4188>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^15)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^117)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^117)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^15)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^48)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^67)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^67)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^48)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4192>>2]=P;c[b+4196>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^27)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^38)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^38)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^27)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^248)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^55)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^55)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^248)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4200>>2]=P;c[b+4204>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^250)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^19)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^19)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^250)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^135)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^250)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^250)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^135)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4208>>2]=P;c[b+4212>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^63)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^72)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^72)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^63)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^6)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^148)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^148)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^6)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4216>>2]=P;c[b+4220>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^186)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^208)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^208)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^186)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^94)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^242)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^242)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^94)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4224>>2]=P;c[b+4228>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^91)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^48)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^48)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^91)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^174)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^139)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^139)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^174)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4232>>2]=P;c[b+4236>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+(d[S>>0]|0)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^84)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^84)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+(d[Q>>0]|0)>>0])&255)<<2)>>2];g=g<<8|g>>>24;P=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^138)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^132)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^132)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^138)>>0])&255)<<2)>>2])|0;g=P+g|0;c[b+4240>>2]=P;c[b+4244>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((d[S>>0]|0)^157)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((d[T>>0]|0)^35)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((d[R>>0]|0)^35)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((d[Q>>0]|0)^157)>>0])&255)<<2)>>2];g=g<<8|g>>>24;e=g+(c[9156+(((a[da>>0]^a[44818+((d[W>>0]|0)^188)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((d[X>>0]|0)^223)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((d[V>>0]|0)^223)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((d[U>>0]|0)^188)>>0])&255)<<2)>>2])|0;g=e+g|0;c[b+4248>>2]=e;c[b+4252>>2]=g<<9|g>>>23;g=0;break}P=e+16|0;g=a[P>>0]|0;if(!(g<<24>>24)){f=0;r=0;s=0}else{s=d[43303+((g&255)+-1)>>0]|0;f=a[43558+(s+1)>>0]|0;r=a[43558+(s+45)>>0]|0;s=a[43558+s>>0]|0}O=e+17|0;g=a[O>>0]|0;if(!(g<<24>>24))t=r;else{N=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(N+138)>>0]^r;f=a[43558+(N+68)>>0]^f;r=a[43558+(N+164)>>0]^r;s=a[43558+(N+45)>>0]^s}N=e+18|0;g=a[N>>0]|0;if(g<<24>>24){M=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(M+209)>>0]^t;f=a[43558+(M+191)>>0]^f;r=a[43558+(M+213)>>0]^r;s=a[43558+(M+138)>>0]^s}M=e+19|0;g=a[M>>0]|0;if(g<<24>>24){L=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(L+153)>>0]^t;f=a[43558+(L+61)>>0]^f;r=a[43558+(L+127)>>0]^r;s=a[43558+(L+209)>>0]^s}L=e+20|0;g=a[L>>0]|0;if(g<<24>>24){K=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(K+150)>>0]^t;f=a[43558+(K+102)>>0]^f;r=a[43558+(K+70)>>0]^r;s=a[43558+(K+153)>>0]^s}K=e+21|0;g=a[K>>0]|0;if(g<<24>>24){J=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(J+237)>>0]^t;f=a[43558+(J+91)>>0]^f;r=a[43558+(J+60)>>0]^r;s=a[43558+(J+150)>>0]^s}J=e+22|0;g=a[J>>0]|0;if(g<<24>>24){I=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(I+224)>>0]^t;f=a[43558+(I+79)>>0]^f;r=a[43558+(I+55)>>0]^r;s=a[43558+(I+237)>>0]^s}I=e+23|0;g=a[I>>0]|0;if(g<<24>>24){H=d[43303+((g&255)+-1)>>0]|0;t=a[43558+(H+23)>>0]^t;f=a[43558+(H+140)>>0]^f;r=a[43558+(H+208)>>0]^r;s=a[43558+(H+224)>>0]^s}H=e+24|0;g=a[H>>0]|0;if(!(g<<24>>24)){u=0;v=0;w=0}else{w=d[43303+((g&255)+-1)>>0]|0;u=a[43558+(w+1)>>0]|0;v=a[43558+(w+45)>>0]|0;w=a[43558+w>>0]|0}G=e+25|0;g=a[G>>0]|0;if(!(g<<24>>24))x=v;else{F=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(F+138)>>0]^v;u=a[43558+(F+68)>>0]^u;v=a[43558+(F+164)>>0]^v;w=a[43558+(F+45)>>0]^w}F=e+26|0;g=a[F>>0]|0;if(g<<24>>24){E=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(E+209)>>0]^x;u=a[43558+(E+191)>>0]^u;v=a[43558+(E+213)>>0]^v;w=a[43558+(E+138)>>0]^w}E=e+27|0;g=a[E>>0]|0;if(g<<24>>24){D=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(D+153)>>0]^x;u=a[43558+(D+61)>>0]^u;v=a[43558+(D+127)>>0]^v;w=a[43558+(D+209)>>0]^w}D=e+28|0;g=a[D>>0]|0;if(g<<24>>24){C=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(C+150)>>0]^x;u=a[43558+(C+102)>>0]^u;v=a[43558+(C+70)>>0]^v;w=a[43558+(C+153)>>0]^w}C=e+29|0;g=a[C>>0]|0;if(g<<24>>24){B=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(B+237)>>0]^x;u=a[43558+(B+91)>>0]^u;v=a[43558+(B+60)>>0]^v;w=a[43558+(B+150)>>0]^w}B=e+30|0;g=a[B>>0]|0;if(g<<24>>24){A=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(A+224)>>0]^x;u=a[43558+(A+79)>>0]^u;v=a[43558+(A+55)>>0]^v;w=a[43558+(A+237)>>0]^w}A=e+31|0;g=a[A>>0]|0;if(g<<24>>24){z=d[43303+((g&255)+-1)>>0]|0;x=a[43558+(z+23)>>0]^x;u=a[43558+(z+140)>>0]^u;v=a[43558+(z+208)>>0]^v;w=a[43558+(z+224)>>0]^w}g=1;y=0;z=0;while(1){if((z|0)==256)break;fa=a[44050+g>>0]|0;c[b+(z<<2)>>2]=c[8132+(((a[44818+((a[44818+((a[44562+((fa^l)&255)>>0]^p)&255)>>0]^s)&255)>>0]^w)&255)<<2)>>2];ga=a[44050+y>>0]|0;c[b+1024+(z<<2)>>2]=c[9156+(((a[44818+((a[44562+((a[44562+((ga^k)&255)>>0]^o)&255)>>0]^r)&255)>>0]^v)&255)<<2)>>2];c[b+2048+(z<<2)>>2]=c[10180+(((a[44562+((a[44818+((a[44818+((ga^h)&255)>>0]^n)&255)>>0]^f)&255)>>0]^u)&255)<<2)>>2];c[b+3072+(z<<2)>>2]=c[11204+(((a[44562+((a[44562+((a[44818+((fa^m)&255)>>0]^q)&255)>>0]^t)&255)>>0]^x)&255)<<2)>>2];g=g+2|0;y=y+2|0;z=z+1|0}g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^103)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^243)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^103)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^243)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^169)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^169)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4096>>2]=ga;c[b+4100>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^244)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^244)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^179)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^179)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4104>>2]=ga;c[b+4108>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^123)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^123)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^4)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^219)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^4)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^219)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4112>>2]=ga;c[b+4116>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^118)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^200)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^118)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^200)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^163)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^251)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^163)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^251)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4120>>2]=ga;c[b+4124>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^146)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^211)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^146)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^211)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^154)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^74)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^154)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^74)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4128>>2]=ga;c[b+4132>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^120)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^107)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^120)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^107)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^128)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^230)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^128)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^230)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4136>>2]=ga;c[b+4140>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^221)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^125)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^221)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^125)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^228)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^69)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^228)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^69)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4144>>2]=ga;c[b+4148>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^56)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^75)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^56)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^75)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^209)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^209)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4152>>2]=ga;c[b+4156>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^50)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^50)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^13)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^214)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^13)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^214)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4160>>2]=ga;c[b+4164>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^152)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^152)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^53)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^216)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^53)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^216)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4168>>2]=ga;c[b+4172>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^247)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^113)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^247)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^113)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^24)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^24)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4176>>2]=ga;c[b+4180>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^108)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^225)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^108)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^225)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^236)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^241)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^236)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^241)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4184>>2]=ga;c[b+4188>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^15)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^15)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^67)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^67)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4192>>2]=ga;c[b+4196>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^38)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^27)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^38)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^27)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^248)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^248)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4200>>2]=ga;c[b+4204>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^19)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^19)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^135)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^135)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4208>>2]=ga;c[b+4212>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^72)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^63)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^72)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^63)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^148)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^6)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^148)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^6)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4216>>2]=ga;c[b+4220>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^208)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^186)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^208)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^186)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^242)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^94)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^242)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^94)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4224>>2]=ga;c[b+4228>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^91)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^91)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^139)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^174)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^139)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^174)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4232>>2]=ga;c[b+4236>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^84)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+(d[D>>0]|0)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^84)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+(d[A>>0]|0)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^132)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^138)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^132)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^138)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4240>>2]=ga;c[b+4244>>2]=g<<9|g>>>23;g=c[9156+(((a[_>>0]^a[44818+((a[S>>0]^a[44562+((a[K>>0]^a[44562+((d[C>>0]|0)^35)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[aa>>0]^a[44818+((a[T>>0]^a[44818+((a[L>>0]^a[44562+((d[D>>0]|0)^157)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[Z>>0]^a[44562+((a[R>>0]^a[44818+((a[J>>0]^a[44818+((d[B>>0]|0)^35)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[Y>>0]^a[44562+((a[Q>>0]^a[44562+((a[I>>0]^a[44818+((d[A>>0]|0)^157)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];g=g<<8|g>>>24;ga=g+(c[9156+(((a[da>>0]^a[44818+((a[W>>0]^a[44562+((a[O>>0]^a[44562+((d[G>>0]|0)^223)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8132+(((a[e>>0]^a[44818+((a[X>>0]^a[44818+((a[P>>0]^a[44562+((d[H>>0]|0)^188)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10180+(((a[ca>>0]^a[44562+((a[V>>0]^a[44818+((a[N>>0]^a[44818+((d[F>>0]|0)^223)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11204+(((a[ba>>0]^a[44562+((a[U>>0]^a[44562+((a[M>>0]^a[44818+((d[E>>0]|0)^188)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;g=ga+g|0;c[b+4248>>2]=ga;c[b+4252>>2]=g<<9|g>>>23;g=0}else g=44;while(0);i=ea;return g|0}function rk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=s;q=h;r=h+16|0;m=0;while(1){if(!g){g=16;break}mk(b,h,d)|0;p=m>>>0<36?36:m;if(!((f|q|e)&3)){k=e+16|0;l=16;m=f;n=h;o=e;while(1){if(l>>>0<=3)break;c[o>>2]=c[m>>2]^c[n>>2];l=l+-4|0;m=m+4|0;n=n+4|0;o=o+4|0}m=f+16|0;n=r;l=0}else{m=f;n=h;k=e;l=16}while(1){if(!l)break;a[k>>0]=a[m>>0]^a[n>>0];m=m+1|0;n=n+1|0;k=k+1|0;l=l+-1|0}e=e+16|0;k=f+16|0;f=16;do{if((f|0)<=0)break;f=f+-1|0;n=d+f|0;o=(a[n>>0]|0)+1<<24>>24;a[n>>0]=o}while(!(o<<24>>24));g=g+-1|0;m=p;f=k}while(1){if(!((g|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;g=g+-1|0;h=h+1|0}if(g>>>0>=8){f=g+-8|0;k=f&-8;l=k+8|0;e=h;while(1){r=e;c[r>>2]=0;c[r+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else e=e+8|0}g=f-k|0;h=h+l|0}while(1){if(!g)break;a[h>>0]=0;g=g+-1|0;h=h+1|0}Re(m);i=s;return}function sk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))$(16);h=l;k=0;while(1){if(!g){g=16;break}nk(b,h,f)|0;uk(e,h,d,f);g=g+-1|0;e=e+16|0;k=k>>>0<36?36:k;f=f+16|0}while(1){if(!((g|0)!=0&(h&7|0)!=0))break;a[h>>0]=0;g=g+-1|0;h=h+1|0}if(g>>>0>=8){e=g+-8|0;b=e&-8;d=b+8|0;f=h;while(1){m=f;c[m>>2]=0;c[m+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else f=f+8|0}g=e-b|0;h=h+d|0}while(1){if(!g)break;a[h>>0]=0;g=g+-1|0;h=h+1|0}Re(k);i=l;return}function tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=0;while(1){if(!e)break;mk(a,b,b)|0;uk(c,d,b,d);f=f>>>0<36?36:f;e=e+-1|0;d=d+16|0;c=c+16|0}Re(f);return}function uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;a:do if(!((d|b|e|f)&3)){g=b+16|0;i=e+16|0;j=f+16|0;k=d+16|0;h=16;while(1){if(h>>>0<=3){e=i;f=j;d=k;b=0;break a}l=c[f>>2]|0;c[b>>2]=c[d>>2]^c[e>>2];c[e>>2]=l;h=h+-4|0;d=d+4|0;f=f+4|0;e=e+4|0;b=b+4|0}}else{g=b;b=16}while(0);while(1){if(!b)break;l=a[f>>0]|0;a[g>>0]=a[d>>0]^a[e>>0];a[e>>0]=l;g=g+1|0;e=e+1|0;f=f+1|0;d=d+1|0;b=b+-1|0}return}function vk(a,b){a=a|0;b=b|0;c[17590]=a;c[17591]=b;return}function wk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[17590]|0;if(f|0)vb[f&15](c[17591]|0,a,b,d,e);return}function xk(a){a=a|0;a:do switch(a|0){case 0:{c[17592]=1;break}case 1:{c[17593]=1;break}default:if(!(c[17592]|0))switch(a|0){case 2:{c[17594]=1;break a}case 3:{c[17595]=1;break a}default:break a}}while(0);return}function yk(a){a=a|0;do if(!(wg()|0)){if(c[17593]|0){Qo(a);break}if(c[17594]|0){ip(a);break}if(!(c[17595]|0)){Qo(a);break}else{Dp(a);break}}else ip(a);while(0);return}function zk(){do if(!(wg()|0)){if(c[17593]|0){Uo();break}if(c[17594]|0){mp();break}if(!(c[17595]|0)){Uo();break}else{Ep();break}}else mp();while(0);return}function Ak(a){a=a|0;if((a|0)==0?(wg()|0)!=0:0)a=2;else if(!(c[17593]|0))if(!(c[17594]|0))a=(c[17595]|0)==0?1:3;else a=2;else a=1;return a|0}function Bk(){if(!(wg()|0))Vo();return}function Ck(){if(!(wg()|0))Wo();return}function Dk(){if(!(wg()|0))Xo();return}function Ek(a){a=a|0;(wg()|0)==0;return}function Fk(a){a=a|0;if(!(wg()|0))a=Zo(a)|0;else a=0;return a|0}function Gk(){var a=0;if(!(wg()|0))a=_o()|0;else a=op()|0;return a|0}function Hk(a,b){a=a|0;b=b|0;var c=0;c=jf(a)|0;Ik(c,a,b);return c|0}function Ik(a,b,d){a=a|0;b=b|0;d=d|0;do if(!(wg()|0)){if(c[17593]|0){bp(a,b,d);break}if(c[17594]|0){pp(a,b,d);break}if(!(c[17595]|0)){bp(a,b,d);break}else{Hp(a,b,d);break}}else pp(a,b,d);while(0);return}function Jk(a,b){a=a|0;b=b|0;var c=0;c=lf(a)|0;Ik(c,a,b);return c|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;Ik(a,b,c);return}function Lk(a){a=a|0;do if(!(wg()|0)){if(c[17593]|0){fp(a);break}if(!(c[17595]|c[17594]))fp(a)}while(0);return}function Mk(){do if(!(wg()|0)){if(c[17593]|0){gp();break}if(!(c[17595]|c[17594]))gp()}while(0);return}function Nk(){do if(!(wg()|0)){if(c[17593]|0){hp();break}if(!(c[17595]|c[17594]))hp()}while(0);return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=h+8|0;f=h;d=h+12|0;if(!(wg()|0)){yk(1);e=cq(12292)|0;if(e|0){c[f>>2]=Yp(e)|0;Ke(45085,f)}c[d>>2]=ps()|0;if(c[17596]|0){if((c[17597]|0)!=(c[d>>2]|0)){Ik(70412,8,0);c[17597]=c[d>>2]}}else{f=kb(0)|0;e=c[d>>2]|0;c[17597]=c[d>>2];c[17598]=e;c[17599]=f;Ik(70412,8,0);c[17596]=1}while(1){if(!b)break;Tj(70392,70392,28);f=b>>>0>20?20:b;kt(a|0,70392,f|0)|0;b=b-f|0;a=a+f|0}a=dq(12292)|0;if(a|0){c[g>>2]=Yp(a)|0;Ke(45130,g)}}else yp(a,b);i=h;return}function Pk(a){a=a|0;if(!(wg()|0))a=0;else a=zp(a)|0;return a|0}function Qk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if(!(wg()|0))a=60;else a=Ap(a,b,c,d,e,f,g,h)|0;return a|0}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(wg()|0))a=60;else a=Bp(a,b,c)|0;return a|0}function Sk(a){a=a|0;if(wg()|0)Cp(a);return}function Tk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+112|0;if((i|0)>=(j|0))$(112);g=l+8|0;f=l;h=l+12|0;do if(!d){c[f>>2]=b;hr(h,99,45175,f)|0;Qe(h,0)}else{c[g>>2]=b;hr(h,99,45180,g)|0;g=(e|0)!=0;if(g){f=an(0)|0;b=an(0)|0;if(!(Uk(f,b,d,e)|0)){a[h+((yr(h)|0)+-1)>>0]=120;Qe(h,f);a[h+((yr(h)|0)+-1)>>0]=121;Qe(h,b)}else k=6}else{f=0;b=0;k=6}if((k|0)==6){Qe(h,c[d>>2]|0);a[h+((yr(h)|0)+-1)>>0]=89;Qe(h,c[d+4>>2]|0);a[h+((yr(h)|0)+-1)>>0]=90;Qe(h,c[d+8>>2]|0);if(!g)break}cn(f);cn(b)}while(0);i=l;return}function Uk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=k;h=d+8|0;a:do if(!(Il(c[h>>2]|0,0)|0))f=-1;else switch(c[e>>2]|0){case 0:{g=an(0)|0;f=an(0)|0;Vk(g,c[h>>2]|0,e);Wk(f,g,g,e);if(a|0)Wk(a,c[d>>2]|0,f,e);if(b|0){h=an(0)|0;Wk(h,f,g,e);Wk(b,c[d+4>>2]|0,h,e);Om(h)}Om(f);Om(g);f=0;break a}case 1:{if(a|0)Vm(a,c[d>>2]|0)|0;if(!b){f=0;break a}c[g>>2]=45234;c[g+4>>2]=45258;Ke(45185,g);break}case 2:{f=an(0)|0;Vk(f,c[h>>2]|0,e);if(a|0)Wk(a,c[d>>2]|0,f,e);if(b|0)Wk(b,c[d+4>>2]|0,f,e);cn(f);f=0;break a}default:{f=-1;break a}}while(0);i=k;return f|0}function Vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))$(16);d=d+16|0;if(!(Yl(a,b,c[d>>2]|0)|0)){Je(45269,e);Qe(45303,b);Qe(45307,c[d>>2]|0)}i=e;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bm(a,b,c);Xk(a,d);return}function Xk(a,b){a=a|0;b=b|0;var d=0;d=c[b+60>>2]|0;if(!d)Zl(a,a,c[b+16>>2]|0);else am(a,a,d);return}function Yk(a){a=a|0;a=jf(12)|0;Zk(a);return a|0}function Zk(a){a=a|0;c[a>>2]=an(0)|0;c[a+4>>2]=an(0)|0;c[a+8>>2]=an(0)|0;return}function _k(a){a=a|0;if(a|0){$k(a);ef(a)}return}function $k(a){a=a|0;var b=0;Om(c[a>>2]|0);c[a>>2]=0;b=a+4|0;Om(c[b>>2]|0);c[b>>2]=0;a=a+8|0;Om(c[a>>2]|0);c[a>>2]=0;return}function al(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!a)f=Yk(0)|0;else f=a;a=c[f>>2]|0;if(!b)Mm(a);else Vm(a,b)|0;a=c[f+4>>2]|0;if(!d)Mm(a);else Vm(a,d)|0;a=c[f+8>>2]|0;if(!e)Mm(a);else Vm(a,e)|0;return f|0}function bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!a)f=Yk(0)|0;else f=a;a=c[f>>2]|0;if(!b)Mm(a);else Xm(a,b);a=c[f+4>>2]|0;if(!d)Mm(a);else Xm(a,d);a=c[f+8>>2]|0;if(!e)Mm(a);else Xm(a,e);return f|0}function cl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=mf(1,108)|0;dl(g,a,b,c,d,e,f);return g|0}function dl(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;do if(!(c[17605]|0))if(!($a(45311)|0)){c[17605]=-1;break}else{c[17605]=1;break}while(0);c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;if((e|0)==1)d=256;else d=yl(g)|0;c[b+12>>2]=d;e=b+16|0;c[e>>2]=Tm(g)|0;c[b+20>>2]=Tm(h)|0;c[b+24>>2]=Tm(i)|0;if((c[17605]|0)>0)d=_l(c[e>>2]|0,0)|0;else d=0;c[b+60>>2]=d;d=b+48|0;a[d>>0]=a[d>>0]&-4;d=0;while(1){if((d|0)==11)break;c[b+64+(d<<2)>>2]=Wm(c[e>>2]|0)|0;d=d+1|0}return}function el(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;c[a>>2]=0;do if((f|0)!=0&(g|0)!=0){i=Hg(1,108,5)|0;if(!i){a=$p()|0;break}else{dl(Ig(i,1)|0,b,d,e,f,g,h);c[a>>2]=i;a=0;break}}else a=32816;while(0);return a|0}function fl(a){a=a|0;var b=0;$l(c[a+60>>2]|0);Om(c[a+16>>2]|0);Om(c[a+20>>2]|0);Om(c[a+24>>2]|0);_k(c[a+28>>2]|0);Om(c[a+32>>2]|0);Om(c[a+36>>2]|0);_k(c[a+40>>2]|0);Om(c[a+44>>2]|0);Om(c[a+56>>2]|0);b=a+64|0;a=0;while(1){if((a|0)==11)break;Om(c[b+(a<<2)>>2]|0);a=a+1|0}return}function gl(a){a=a|0;if(a|0){fl(a);ef(a)}return}function hl(a,b,c){a=a|0;b=b|0;c=c|0;return dh(a,Ig(b,1)|0,c)|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;return eh(a,Ig(b,1)|0)|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;if((i|0)>=(j|0))$(16);f=o;a:do switch(c[e>>2]|0){case 0:{m=d+4|0;if(Il(c[m>>2]|0,0)|0?(n=d+8|0,Il(c[n>>2]|0,0)|0):0){f=e+48|0;g=a[f>>0]|0;if(!(g&1)){a[f>>0]=g|1;f=e+16|0;l=Wm(c[f>>2]|0)|0;tl(l,c[f>>2]|0,3);f=e+52|0;c[f>>2]=(Jl(c[e+20>>2]|0,l)|0)==0&1;Om(l)}else f=e+52|0;l=e+64|0;if(!(c[f>>2]|0)){h=e+76|0;f=c[d>>2]|0;Wk(c[h>>2]|0,f,f,e);f=c[h>>2]|0;Wk(f,f,fn(3)|0,e);f=c[l>>2]|0;g=c[n>>2]|0;k=fn(4)|0;dm(f,g,k,c[e+16>>2]|0);k=c[l>>2]|0;Wk(k,k,c[e+20>>2]|0,e);k=c[h>>2]|0;kl(k,k,c[l>>2]|0,e);k=e+68|0;g=d;f=l}else{h=c[n>>2]|0;Wk(c[l>>2]|0,h,h,e);h=e+76|0;ul(c[h>>2]|0,c[d>>2]|0,c[l>>2]|0);k=c[h>>2]|0;Wk(k,k,fn(3)|0,e);k=e+68|0;kl(c[k>>2]|0,c[d>>2]|0,c[l>>2]|0,e);g=c[h>>2]|0;Wk(g,g,c[k>>2]|0,e);g=d;f=l}d=b+8|0;Wk(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,e);d=c[d>>2]|0;ll(d,d,e);m=c[m>>2]|0;Wk(c[k>>2]|0,m,m,e);m=e+80|0;Wk(c[m>>2]|0,c[k>>2]|0,c[g>>2]|0,e);d=c[m>>2]|0;Wk(d,d,fn(4)|0,e);d=c[h>>2]|0;Wk(c[b>>2]|0,d,d,e);ll(c[f>>2]|0,c[m>>2]|0,e);d=c[b>>2]|0;ul(d,d,c[f>>2]|0);d=c[k>>2]|0;Wk(d,d,d,e);d=e+84|0;l=c[d>>2]|0;n=c[k>>2]|0;Wk(l,n,fn(5)|0,e);n=b+4|0;ul(c[n>>2]|0,c[m>>2]|0,c[b>>2]|0);b=c[n>>2]|0;Wk(b,b,c[h>>2]|0,e);e=c[n>>2]|0;ul(e,e,c[d>>2]|0);break a}Zm(c[b>>2]|0,1)|0;Zm(c[b+4>>2]|0,1)|0;Zm(c[b+8>>2]|0,0)|0;break}case 1:{c[f>>2]=45352;c[f+4>>2]=45258;Ke(45326,f);break}case 2:{l=e+64|0;h=d+4|0;kl(c[l>>2]|0,c[d>>2]|0,c[h>>2]|0,e);f=c[l>>2]|0;Wk(f,f,f,e);f=e+68|0;g=c[d>>2]|0;Wk(c[f>>2]|0,g,g,e);g=e+72|0;h=c[h>>2]|0;Wk(c[g>>2]|0,h,h,e);h=e+76|0;k=c[h>>2]|0;if((c[e+4>>2]|0)==1){Vm(k,c[f>>2]|0)|0;n=c[h>>2]|0;Um(n,n)}else Wk(k,c[e+20>>2]|0,c[f>>2]|0,e);n=e+80|0;kl(c[n>>2]|0,c[h>>2]|0,c[g>>2]|0,e);m=e+84|0;d=c[d+8>>2]|0;Wk(c[m>>2]|0,d,d,e);d=e+88|0;ll(c[d>>2]|0,c[m>>2]|0,e);m=c[d>>2]|0;ul(m,c[n>>2]|0,m);ul(c[b>>2]|0,c[l>>2]|0,c[f>>2]|0);m=c[b>>2]|0;ul(m,m,c[g>>2]|0);m=c[b>>2]|0;Wk(m,m,c[d>>2]|0,e);m=b+4|0;ul(c[m>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[m>>2]|0;Wk(m,m,c[n>>2]|0,e);Wk(c[b+8>>2]|0,c[n>>2]|0,c[d>>2]|0,e);break}default:{}}while(0);i=o;return}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sl(a,b,c);Xk(a,d);return}function ll(a,b,c){a=a|0;b=b|0;c=c|0;Hl(a,b,1);Xk(a,c);return}function ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;if((i|0)>=(j|0))$(16);g=r;a:do switch(c[f>>2]|0){case 0:{if(((Jl(c[d>>2]|0,c[e>>2]|0)|0)==0?(Jl(c[d+4>>2]|0,c[e+4>>2]|0)|0)==0:0)?(Jl(c[d+8>>2]|0,c[e+8>>2]|0)|0)==0:0){jl(b,d,f);break a}o=d+8|0;if(!(Il(c[o>>2]|0,0)|0)){Vm(c[b>>2]|0,c[e>>2]|0)|0;Vm(c[b+4>>2]|0,c[e+4>>2]|0)|0;Vm(c[b+8>>2]|0,c[e+8>>2]|0)|0;break a}p=e+8|0;if(!(Il(c[p>>2]|0,0)|0)){Vm(c[b>>2]|0,c[d>>2]|0)|0;Vm(c[b+4>>2]|0,c[d+4>>2]|0)|0;Vm(c[b+8>>2]|0,c[o>>2]|0)|0;break a}h=(Il(c[o>>2]|0,1)|0)==0;n=(Il(c[p>>2]|0,1)|0)==0;q=f+64|0;g=c[q>>2]|0;if(n)Vm(g,c[d>>2]|0)|0;else{n=c[p>>2]|0;Wk(g,n,n,f);n=c[q>>2]|0;Wk(n,n,c[d>>2]|0,f)}n=f+68|0;g=c[n>>2]|0;if(h)Vm(g,c[e>>2]|0)|0;else{m=c[o>>2]|0;Wk(g,m,m,f);m=c[n>>2]|0;Wk(m,m,c[e>>2]|0,f)}h=f+72|0;ul(c[h>>2]|0,c[q>>2]|0,c[n>>2]|0);k=f+76|0;l=f+16|0;dm(c[k>>2]|0,c[p>>2]|0,fn(3)|0,c[l>>2]|0);m=c[k>>2]|0;Wk(m,m,c[d+4>>2]|0,f);m=f+80|0;dm(c[m>>2]|0,c[o>>2]|0,fn(3)|0,c[l>>2]|0);g=c[m>>2]|0;Wk(g,g,c[e+4>>2]|0,f);g=f+84|0;ul(c[g>>2]|0,c[k>>2]|0,c[m>>2]|0);if(!(Il(c[h>>2]|0,0)|0))if(!(Il(c[g>>2]|0,0)|0)){jl(b,d,f);break a}else{Zm(c[b>>2]|0,1)|0;Zm(c[b+4>>2]|0,1)|0;Zm(c[b+8>>2]|0,0)|0;break a}s=f+88|0;kl(c[s>>2]|0,c[q>>2]|0,c[n>>2]|0,f);e=f+92|0;kl(c[e>>2]|0,c[k>>2]|0,c[m>>2]|0,f);d=b+8|0;Wk(c[d>>2]|0,c[o>>2]|0,c[p>>2]|0,f);d=c[d>>2]|0;Wk(d,d,c[h>>2]|0,f);d=f+100|0;k=c[g>>2]|0;Wk(c[d>>2]|0,k,k,f);k=f+104|0;q=c[h>>2]|0;Wk(c[k>>2]|0,q,q,f);q=c[k>>2]|0;Wk(q,q,c[s>>2]|0,f);ul(c[b>>2]|0,c[d>>2]|0,c[k>>2]|0);ll(c[d>>2]|0,c[b>>2]|0,f);q=f+96|0;ul(c[q>>2]|0,c[k>>2]|0,c[d>>2]|0);k=c[q>>2]|0;Wk(k,k,c[g>>2]|0,f);dm(c[d>>2]|0,c[h>>2]|0,fn(3)|0,c[l>>2]|0);k=c[d>>2]|0;Wk(k,k,c[e>>2]|0,f);k=b+4|0;ul(c[k>>2]|0,c[q>>2]|0,c[d>>2]|0);k=c[k>>2]|0;g=f+48|0;h=a[g>>0]|0;if(!(h&2)){a[g>>0]=h|2;g=f+56|0;h=c[g>>2]|0;if(!h){h=Gm(0)|0;c[g>>2]=h}Vk(h,fn(2)|0,f)}else g=f+56|0;Wk(k,k,c[g>>2]|0,f);break}case 1:{c[g>>2]=45375;c[g+4>>2]=45258;Ke(45326,g);break}case 2:{nl(b,d,e,f);break}default:{}}while(0);i=r;return}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=e+64|0;Wk(c[j>>2]|0,c[b+8>>2]|0,c[d+8>>2]|0,e);n=e+68|0;f=c[j>>2]|0;Wk(c[n>>2]|0,f,f,e);f=e+72|0;Wk(c[f>>2]|0,c[b>>2]|0,c[d>>2]|0,e);g=e+76|0;m=b+4|0;l=d+4|0;Wk(c[g>>2]|0,c[m>>2]|0,c[l>>2]|0,e);k=e+80|0;Wk(c[k>>2]|0,c[e+24>>2]|0,c[f>>2]|0,e);h=c[k>>2]|0;Wk(h,h,c[g>>2]|0,e);h=e+84|0;ul(c[h>>2]|0,c[n>>2]|0,c[k>>2]|0);i=e+88|0;kl(c[i>>2]|0,c[n>>2]|0,c[k>>2]|0,e);k=e+92|0;kl(c[k>>2]|0,c[b>>2]|0,c[m>>2]|0,e);kl(c[a>>2]|0,c[d>>2]|0,c[l>>2]|0,e);b=c[a>>2]|0;Wk(b,b,c[k>>2]|0,e);b=c[a>>2]|0;ul(b,b,c[f>>2]|0);b=c[a>>2]|0;ul(b,b,c[g>>2]|0);b=c[a>>2]|0;Wk(b,b,c[h>>2]|0,e);b=c[a>>2]|0;Wk(b,b,c[j>>2]|0,e);b=a+4|0;d=c[b>>2]|0;if((c[e+4>>2]|0)==1){Vm(d,c[f>>2]|0)|0;n=c[b>>2]|0;Um(n,n);n=c[b>>2]|0;ul(n,c[g>>2]|0,n)}else{Wk(d,c[e+20>>2]|0,c[f>>2]|0,e);n=c[b>>2]|0;ul(n,c[g>>2]|0,n)}n=c[b>>2]|0;Wk(n,n,c[i>>2]|0,e);n=c[b>>2]|0;Wk(n,n,c[j>>2]|0,e);Wk(c[a+8>>2]|0,c[h>>2]|0,c[i>>2]|0,e);return}function ol(a,b){a=a|0;b=b|0;Vm(c[a>>2]|0,c[b>>2]|0)|0;Vm(c[a+4>>2]|0,c[b+4>>2]|0)|0;Vm(c[a+8>>2]|0,c[b+8>>2]|0)|0;return}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;w=i;i=i+64|0;if((i|0)>=(j|0))$(64);u=w+48|0;v=w+36|0;r=w+24|0;t=w+12|0;s=w;a:do switch(c[e>>2]|0){case 2:{f=yl(b)|0;Zm(c[a>>2]|0,0)|0;Zm(c[a+4>>2]|0,1)|0;Zm(c[a+8>>2]|0,1)|0;if((b|0)!=0?(c[b+12>>2]&1|0)!=0:0){Zk(t);while(1){f=f+-1|0;if((f|0)<=-1)break;jl(a,a,e);ml(t,a,d,e);if(!(zl(b,f)|0))continue;ol(a,t)}$k(t);break a}while(1){f=f+-1|0;if((f|0)<=-1)break a;jl(a,a,e);if(!(zl(b,f)|0))continue;ml(a,a,d,e)}}case 1:{m=yl(b)|0;Zk(u);Zk(v);Zk(t);Zk(s);n=c[u>>2]|0;Zm(n,1)|0;Om(c[v>>2]|0);q=Tm(c[d>>2]|0)|0;c[v>>2]=q;p=c[v+8>>2]|0;Zm(p,1)|0;r=(((m<<1)+62|0)>>>5)+1|0;Lm(n,r);o=c[u+8>>2]|0;Lm(o,r);Lm(q,r);Lm(p,r);p=c[t>>2]|0;Lm(p,r);q=c[t+8>>2]|0;Lm(q,r);Lm(c[s>>2]|0,r);Lm(c[s+8>>2]|0,r);r=e+20|0;g=s;h=t;k=v;l=u;f=m;while(1){f=f+-1|0;if((f|0)<=-1)break;y=zl(b,f)|0;$m(c[l>>2]|0,c[k>>2]|0,y);A=l+8|0;z=k+8|0;$m(c[A>>2]|0,c[z>>2]|0,y);B=c[d>>2]|0;kl(c[g>>2]|0,c[k>>2]|0,c[z>>2]|0,e);x=c[z>>2]|0;ul(x,c[k>>2]|0,x);kl(c[h>>2]|0,c[l>>2]|0,c[A>>2]|0,e);x=c[A>>2]|0;ul(x,c[l>>2]|0,x);Wk(c[k>>2]|0,c[A>>2]|0,c[g>>2]|0,e);x=c[z>>2]|0;Wk(x,c[h>>2]|0,x,e);x=c[h>>2]|0;Wk(c[l>>2]|0,x,x,e);x=c[A>>2]|0;Wk(x,x,x,e);kl(c[g>>2]|0,c[k>>2]|0,c[z>>2]|0,e);x=c[z>>2]|0;ul(x,c[k>>2]|0,x);Wk(c[h>>2]|0,c[l>>2]|0,c[A>>2]|0,e);x=c[A>>2]|0;ul(x,c[l>>2]|0,x);x=c[g>>2]|0;Wk(x,x,x,e);x=g+8|0;z=c[z>>2]|0;Wk(c[x>>2]|0,z,z,e);z=h+8|0;Wk(c[z>>2]|0,c[A>>2]|0,c[r>>2]|0,e);C=c[x>>2]|0;Wk(C,C,B,e);B=c[z>>2]|0;kl(B,c[l>>2]|0,B,e);B=c[z>>2]|0;Wk(B,B,c[A>>2]|0,e);$m(c[h>>2]|0,c[g>>2]|0,y);$m(c[z>>2]|0,c[x>>2]|0,y);y=l;x=k;l=h;k=g;h=y;g=x}Mm(c[a+4>>2]|0);C=m&1;$m(n,p,C);$m(o,q,C);if(!(c[o+4>>2]|0)){Zm(c[a>>2]|0,1)|0;Zm(c[a+8>>2]|0,0)|0}else{C=an(0)|0;Vk(C,o,e);Wk(c[a>>2]|0,n,C,e);Zm(c[a+8>>2]|0,1)|0;Om(C)}$k(u);$k(v);$k(t);$k(s);break}default:{p=e+16|0;m=Wm(c[p>>2]|0)|0;n=Wm(c[p>>2]|0)|0;q=Wm(c[p>>2]|0)|0;o=Tm(b)|0;l=Tm(c[d+4>>2]|0)|0;f=o+8|0;if(c[f>>2]|0){c[f>>2]=0;Vk(l,l,e)}f=d+8|0;if(!(Il(c[f>>2]|0,1)|0)){Vm(m,c[d>>2]|0)|0;Vm(n,l)|0}else{B=Wm(c[p>>2]|0)|0;C=Wm(c[p>>2]|0)|0;A=c[f>>2]|0;Wk(B,A,A,e);Wk(C,c[f>>2]|0,B,e);Vk(B,B,e);Wk(m,c[d>>2]|0,B,e);Vk(C,C,e);Wk(n,l,C,e);Om(B);Om(C)}k=Tm(fn(1)|0)|0;bm(q,o,fn(3)|0);g=yl(q)|0;h=c[a>>2]|0;if(g>>>0<2){Mm(h);Mm(c[a+4>>2]|0);Mm(c[a+8>>2]|0);f=0}else{Vm(h,c[d>>2]|0)|0;Vm(c[a+4>>2]|0,l)|0;Vm(c[a+8>>2]|0,c[f>>2]|0)|0;f=g+-2|0}Om(l);c[u>>2]=m;c[u+4>>2]=n;c[u+8>>2]=k;Zk(v);Zk(r);g=r+4|0;while(1){if(!f)break;jl(a,a,e);if((zl(q,f)|0)==1?(zl(o,f)|0)==0:0){ol(v,a);ml(a,v,u,e)}if((zl(q,f)|0)==0?(zl(o,f)|0)==1:0){ol(v,a);ol(r,u);C=c[g>>2]|0;ul(C,c[p>>2]|0,C);ml(a,v,r,e)}f=f+-1|0}$k(u);$k(v);$k(r);Om(q);Om(o)}}while(0);i=w;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=an(0)|0;f=an(0)|0;g=an(0)|0;switch(c[b>>2]|0){case 0:{d=an(0)|0;if(!(Uk(e,f,a,b)|0)){Wk(f,f,f,b);a=fn(3)|0;dm(d,e,a,c[b+16>>2]|0);Wk(g,c[b+20>>2]|0,e,b);kl(g,g,c[b+24>>2]|0,b);kl(g,g,d,b);a=(Jl(f,g)|0)==0&1;cn(d);h=11}else a=0;break}case 1:{if(!(Uk(e,0,a,b)|0)){a=c[b+20>>2]|0;Wk(g,a,fn(4)|0,b);kl(g,g,fn(2)|0,b);Wk(g,g,e,b);Wk(f,e,e,b);kl(g,g,f,b);kl(g,g,fn(1)|0,b);Wk(g,g,e,b);Wk(g,g,c[b+24>>2]|0,b);a=b+16|0;h=c[a>>2]|0;ul(f,h,fn(1)|0);Fl(f,f,1);dm(g,g,f,c[a>>2]|0);a=Il(g,1)|0;h=11}else a=0;break}case 2:{if(!(Uk(e,f,a,b)|0)){Wk(e,e,e,b);Wk(f,f,f,b);if((c[b+4>>2]|0)==1){Vm(g,e)|0;Um(g,g)}else Wk(g,c[b+20>>2]|0,e,b);kl(g,g,f,b);ul(g,g,fn(1)|0);Wk(e,e,f,b);Wk(e,e,c[b+24>>2]|0,b);ul(g,g,e);a=(Il(g,0)|0)==0&1;h=11}else a=0;break}default:{a=0;h=11}}if((h|0)==11){cn(g);cn(e);cn(f)}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[b+4>>2]|0;h=c[b+8>>2]|0;if((c[a>>2]|0)<=(g|0))Lm(a,g+1|0);b=c[b+16>>2]|0;e=c[a+16>>2]|0;do if(!g){c[e>>2]=d;b=(d|0)!=0&1;e=0}else{if(!h){b=Tl(e,b,g,d)|0;c[e+(g<<2)>>2]=b;b=b+g|0;e=0;break}if((g|0)==1?(f=c[b>>2]|0,f>>>0<d>>>0):0){c[e>>2]=d-f;b=1;e=0;break}Vl(e,b,g,d)|0;b=g-((c[e+(g+-1<<2)>>2]|0)==0&1)|0;e=1}while(0);c[a+4>>2]=b;c[a+8>>2]=e;return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+4>>2]|0;h=c[d+4>>2]|0;if((e|0)<(h|0)){g=c[d+8>>2]|0;f=c[b+8>>2]|0;if((c[a>>2]|0)>(h|0)){j=e;e=h;i=b;b=d}else{Lm(a,h+1|0);j=e;e=h;i=b;b=d}}else{g=c[b+8>>2]|0;f=c[d+8>>2]|0;if((c[a>>2]|0)>(e|0)){j=h;i=d}else{Lm(a,e+1|0);j=h;i=d}}h=c[b+16>>2]|0;b=c[i+16>>2]|0;i=c[a+16>>2]|0;a:do if(j){if((g|0)==(f|0)){d=Ul(i,h,e,b,j)|0;c[i+(e<<2)>>2]=d;b=(g|0)!=0&1;e=d+e|0;break}if((e|0)!=(j|0)){Wl(i,h,e,b,j)|0;while(1){if((e|0)<=0){b=g;break a}b=e+-1|0;if(!(c[i+(b<<2)>>2]|0))e=b;else{b=g;break a}}}if((Xl(h,b,e)|0)<0){Cm(i,b,h,e)|0;while(1){if((e|0)<=0)break;b=e+-1|0;if(!(c[i+(b<<2)>>2]|0))e=b;else break}b=(g|0)==0&1;break}else{Cm(i,h,b,e)|0;while(1){if((e|0)<=0)break;b=e+-1|0;if(!(c[i+(b<<2)>>2]|0))e=b;else break}b=(g|0)!=0&1;break}}else{b=0;while(1){if((b|0)>=(e|0)){b=g;break a}c[i+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}}while(0);c[a+4>>2]=e;c[a+8>>2]=b;return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[b+4>>2]|0;h=c[b+8>>2]|0;if((c[a>>2]|0)<=(g|0))Lm(a,g+1|0);b=c[b+16>>2]|0;e=c[a+16>>2]|0;do if(!g){c[e>>2]=d;b=(d|0)!=0&1;e=1}else{if(h|0){b=Tl(e,b,g,d)|0;c[e+(g<<2)>>2]=b;b=b+g|0;e=0;break}if((g|0)==1?(f=c[b>>2]|0,f>>>0<d>>>0):0){c[e>>2]=d-f;b=1;e=1;break}Vl(e,b,g,d)|0;b=g-((c[e+(g+-1<<2)>>2]|0)==0&1)|0;e=0}while(0);c[a+4>>2]=b;c[a+8>>2]=e;return}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=Tm(d)|0;e=d+8|0;c[e>>2]=(c[e>>2]|0)==0&1;sl(a,b,d);Om(d);return}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sl(a,b,c);Zl(a,a,d);return}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ul(a,b,c);Zl(a,a,d);return}function xl(a){a=a|0;var b=0,d=0;if(!((a|0)!=0?(c[a+12>>2]&4|0)!=0:0))b=3;a:do if((b|0)==3){d=a+4|0;a=a+16|0;b=c[d>>2]|0;while(1){if(!b)break a;b=b+-1|0;if(c[(c[a>>2]|0)+(b<<2)>>2]|0)break a;c[d>>2]=b}}while(0);return}function yl(a){a=a|0;var b=0,e=0;if((a|0)!=0?(c[a+12>>2]&4|0)!=0:0)a=c[a+8>>2]|0;else{xl(a);b=c[a+4>>2]|0;if(!b)a=0;else{a=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if(!a)a=32;else{e=a>>>0<65536?(a>>>0<256?0:8):a>>>0<16777216?16:24;a=32-e-(d[45399+(a>>>e)>>0]|0)|0}a=(b<<5)-a|0}}return a|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=b>>>5;if(d>>>0<(c[a+4>>2]|0)>>>0)a=(c[(c[a+16>>2]|0)+(d<<2)>>2]&1<<(b&31)|0)!=0&1;else a=0;return a|0}function Al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else{g=b>>>5;f=b&31;e=a+4|0;d=c[e>>2]|0;if(g>>>0<d>>>0)b=a+16|0;else{b=a+16|0;while(1){if(d>>>0>=(c[a>>2]|0)>>>0)break;c[(c[b>>2]|0)+(d<<2)>>2]=0;d=d+1|0}d=g+1|0;Lm(a,d);c[e>>2]=d}g=(c[b>>2]|0)+(g<<2)|0;c[g>>2]=c[g>>2]|1<<f}return}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else{h=b>>>5;f=b&31;g=a+4|0;d=c[g>>2]|0;if(h>>>0<d>>>0)b=a+16|0;else{b=a+16|0;while(1){if(d>>>0>=(c[a>>2]|0)>>>0)break;c[(c[b>>2]|0)+(d<<2)>>2]=0;d=d+1|0}e=h+1|0;Lm(a,e);c[g>>2]=e}e=(c[b>>2]|0)+(h<<2)|0;a=f;d=c[e>>2]|1<<f;while(1){b=a+1|0;if((a|0)==31)break;a=b;d=d&~(1<<b)}c[e>>2]=d;c[g>>2]=h+1}return}function Cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else d=4;if((d|0)==4?(e=b>>>5,f=a+4|0,e>>>0<(c[f>>2]|0)>>>0):0){d=a+16|0;a=b&31;while(1){if(a>>>0>=32)break;b=(c[d>>2]|0)+(e<<2)|0;c[b>>2]=c[b>>2]&~(1<<a);a=a+1|0}c[f>>2]=e+1}return}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else e=4;if((e|0)==4?(d=b>>>5,d>>>0<(c[a+4>>2]|0)>>>0):0){e=(c[a+16>>2]|0)+(d<<2)|0;c[e>>2]=c[e>>2]&~(1<<(b&31))}return}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+16>>2]|0;g=a+4|0;d=c[g>>2]|0;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else e=4;do if((e|0)==4){if(d>>>0<=b>>>0){c[g>>2]=0;break}d=d-b|0;a=0;while(1){if((a|0)==(d|0))break;c[f+(a<<2)>>2]=c[f+(a+b<<2)>>2];a=a+1|0}c[f+(d<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)-b}while(0);return}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d>>>5;j=d&31;if((a|0)!=0?(c[a+12>>2]&16|0)!=0:0)Nm();else e=4;a:do if((e|0)==4){b:do if((a|0)==(b|0)){f=a+4|0;d=c[f>>2]|0;if(i>>>0>=d>>>0){c[f>>2]=0;break a}if(i){b=a+16|0;e=0;while(1){if(e>>>0>=(d-i|0)>>>0)break;d=c[b>>2]|0;c[d+(e<<2)>>2]=c[d+(e+i<<2)>>2];e=e+1|0;d=c[f>>2]|0}c[(c[b>>2]|0)+(e<<2)>>2]=0;d=(c[f>>2]|0)-i|0;c[f>>2]=d}if((j|0)!=0&(d|0)!=0){i=c[a+16>>2]|0;Bm(i,i,d,j)|0}}else{h=b+4|0;d=c[h>>2]|0;c[a+8>>2]=c[b+8>>2];e=(c[a>>2]|0)<(d|0);if(!i){if(e)Lm(a,d);f=a+4|0;c[f>>2]=d;if(!d)break;if(j|0){Bm(c[a+16>>2]|0,c[b+16>>2]|0,d,j)|0;break}b=b+16|0;g=a+16|0;e=0;while(1){if(e>>>0>=d>>>0)break b;c[(c[g>>2]|0)+(e<<2)>>2]=c[(c[b>>2]|0)+(e<<2)>>2];e=e+1|0;d=c[f>>2]|0}}if(e)Lm(a,d);f=a+4|0;c[f>>2]=d;e=b+16|0;g=a+16|0;d=0;while(1){if(d>>>0>=(c[h>>2]|0)>>>0)break;c[(c[g>>2]|0)+(d<<2)>>2]=c[(c[e>>2]|0)+(d<<2)>>2];d=d+1|0}c[f>>2]=d;if(i>>>0<d>>>0)b=0;else{c[f>>2]=0;break a}while(1){if(b>>>0>=(d-i|0)>>>0)break;d=c[g>>2]|0;c[d+(b<<2)>>2]=c[d+(b+i<<2)>>2];b=b+1|0;d=c[f>>2]|0}e=c[g>>2]|0;c[e+(b<<2)>>2]=0;d=(c[f>>2]|0)-i|0;c[f>>2]=d;if((j|0)!=0&(d|0)!=0)Bm(e,e,d,j)|0}while(0);e=a+16|0;d=c[f>>2]|0;while(1){if((d|0)<=0)break a;d=d+-1|0;if(c[(c[e>>2]|0)+(d<<2)>>2]|0)break a;c[f>>2]=d}}while(0);return}
+function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[17683]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Aa();f=c[k+4>>2]|0;if(!(f&1))Aa();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[17799]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;bt(m,d);return a|0}if((k|0)==(c[17685]|0)){d=(c[17682]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[17685]=l;c[17682]=m;return a|0}if((k|0)==(c[17684]|0)){e=(c[17681]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;o=m+4|0;c[o>>2]=c[o>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[17681]=d;c[17684]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)Aa();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Aa();d=g+12|0;if((c[d>>2]|0)!=(k|0))Aa();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Aa()}while(0);if(h|0){d=c[k+28>>2]|0;e=71020+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[17680]=c[17680]&~(1<<d);break}}else{if(h>>>0<(c[17683]|0)>>>0)Aa();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[17683]|0;if(j>>>0<f>>>0)Aa();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Aa();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[17683]|0)>>>0)Aa();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=70756+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Aa();if((c[e+12>>2]|0)!=(k|0))Aa()}if((f|0)==(e|0)){c[17679]=c[17679]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Aa();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Aa()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;o=l+m+4|0;c[o>>2]=c[o>>2]|1;bt(l,m);return a|0}return 0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[17683]|0;if(l>>>0<i>>>0)Aa();if((l|0)==(c[17684]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[17681]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=70756+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<i>>>0)Aa();if((c[d+12>>2]|0)!=(l|0))Aa()}if((b|0)==(d|0)){c[17679]=c[17679]&~(1<<e);r=l;f=k;break}if((b|0)!=(a|0)){if(b>>>0<i>>>0)Aa();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else Aa()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<i>>>0)Aa();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Aa();a=e+12|0;if((c[a>>2]|0)!=(l|0))Aa();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else Aa()}while(0);if(g){a=c[l+28>>2]|0;d=71020+(a<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[17680]=c[17680]&~(1<<a);r=l;f=k;break}}else{if(g>>>0<(c[17683]|0)>>>0)Aa();a=g+16|0;if((c[a>>2]|0)==(l|0))c[a>>2]=j;else c[g+20>>2]=j;if(!j){r=l;f=k;break}}b=c[17683]|0;if(j>>>0<b>>>0)Aa();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Aa();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[17683]|0)>>>0)Aa();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[17683]|0;if(o>>>0<h>>>0)Aa();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){if((o|0)==(c[17685]|0)){q=(c[17682]|0)+f|0;c[17682]=q;c[17685]=r;c[r+4>>2]=q|1;if((r|0)!=(c[17684]|0))return;c[17684]=0;c[17681]=0;return}if((o|0)==(c[17684]|0)){q=(c[17681]|0)+f|0;c[17681]=q;c[17684]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<h>>>0)Aa();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Aa();a=e+12|0;if((c[a>>2]|0)!=(o|0))Aa();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else Aa()}while(0);if(g|0){a=c[o+28>>2]|0;d=71020+(a<<2)|0;if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[17680]=c[17680]&~(1<<a);break}}else{if(g>>>0<(c[17683]|0)>>>0)Aa();a=g+16|0;if((c[a>>2]|0)==(o|0))c[a>>2]=n;else c[g+20>>2]=n;if(!n)break}b=c[17683]|0;if(n>>>0<b>>>0)Aa();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Aa();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[17683]|0)>>>0)Aa();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=70756+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<h>>>0)Aa();if((c[d+12>>2]|0)!=(o|0))Aa()}if((b|0)==(d|0)){c[17679]=c[17679]&~(1<<e);break}if((b|0)!=(a|0)){if(b>>>0<h>>>0)Aa();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else Aa()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[17684]|0)){c[17681]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=70756+(a<<1<<2)|0;d=c[17679]|0;a=1<<a;if(d&a){a=b+8|0;d=c[a>>2]|0;if(d>>>0<(c[17683]|0)>>>0)Aa();else{p=d;q=a}}else{c[17679]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=71020+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[17680]|0;b=1<<a;if(!(d&b)){c[17680]=d|b;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=127;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=124;break}else{d=d<<1;e=a}}if((a|0)==124){if(b>>>0<(c[17683]|0)>>>0)Aa();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==127){a=e+8|0;d=c[a>>2]|0;q=c[17683]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))Aa();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function ct(){}function dt(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 (D=d,a-c>>>0|0)|0}function et(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function ft(a){a=a|0;return 0}function gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ht(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function it(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(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(!f){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(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(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=ht(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((ht(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(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(!f){o=0;p=0;return (D=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=gt(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;dt(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=dt(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function jt(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=dt(j^a|0,i^b|0,j|0,i|0)|0;g=D;a=f^j;b=e^i;return dt((it(h,g,dt(f^c|0,e^d|0,f|0,e|0)|0,D,0)|0)^a|0,D^b|0,a|0,b|0)|0}function kt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Va(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function lt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else kt(b,c,d)|0;return b|0}function mt(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function nt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function ot(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function pt(a){a=a|0;return 0}function qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return it(a,b,c,d,0)|0}function rt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function st(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=rt(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function tt(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[k>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Ka(12);return -1}c[k>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Ka(12);c[k>>2]=b;return -1}return b|0}function ut(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function vt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;it(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function wt(){return 0}function xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=dt(h^a|0,g^b|0,h|0,g|0)|0;b=D;it(a,b,dt(l^d|0,k^e|0,l|0,k|0)|0,D,j)|0;e=dt(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=D;i=f;return (D=d,e)|0}function yt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ub[a&63](b|0,c|0,d|0)|0}function zt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;vb[a&15](b|0,c|0,d|0,e|0,f|0)}function At(a,b){a=a|0;b=b|0;wb[a&15](b|0)}function Bt(a,b,c){a=a|0;b=b|0;c=c|0;xb[a&7](b|0,c|0)}function Ct(a,b){a=a|0;b=b|0;return yb[a&15](b|0)|0}function Dt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zb[a&7](b|0,c|0,d|0)}function Et(a){a=a|0;Ab[a&3]()}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Bb[a&3](b|0,c|0,d|0,e|0)|0}function Gt(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;Cb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function Ht(a,b,c){a=a|0;b=b|0;c=c|0;return Db[a&7](b|0,c|0)|0}function It(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Eb[a&1](b|0,c|0,d|0,e|0)}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Kt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Lt(a){a=a|0;ca(2)}function Mt(a,b){a=a|0;b=b|0;da(3)}function Nt(a){a=a|0;ea(4);return 0}function Ot(a,b,c){a=a|0;b=b|0;c=c|0;fa(5)}function Pt(){ga(6)}function Qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(7);return 0}function Rt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ia(8)}function St(a,b){a=a|0;b=b|0;ja(9);return 0}function Tt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(10)}
// EMSCRIPTEN_END_FUNCS
-var ub=[vx,ck,dk,ek,fk,ql,rl,sl,tl,vl,Ql,am,qm,Dm,Em,Fm,zr,Ar,Br,Cr,Er,Uh,Wr,uu,vu,yu,fv,Ue,Fv,vk,wk,Xk,Tl,em,um,Bu,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];var vb=[wx,Kk,Ek,Hk,Ik,Ok,Sm,Pm,Tm,wx,wx,wx,wx,wx,wx,wx];var wb=[xx,Uk,Ol,_l,om,Hn,zu,Cu,iw,xx,xx,xx,xx,xx,xx,xx];var xb=[yx,Tk,Nl,Zl,mm,nm,Cm,Vr];var yb=[zx,Vk,pl,ul,Pl,$l,pm,yr,Dr,Zh,tu,zx,zx,zx,zx,zx];var zb=[Ax,Nr,Sk,hs,Vs,jt,ru,Ax];var Ab=[Bx,pk,qk,Tt];var Bb=[Cx,Xr,Nq,es,nt,Cx,Cx,Cx];var Cb=[Dx,Mk];var Db=[Ex,ol,wl,xr,Fr,Oj,Jl,Ex];var Eb=[Fx,nh];return{_GNUNET_CRYPTO_rsa_signature_encode:ed,_GNUNET_CRYPTO_rsa_private_key_free:Yc,_GNUNET_CRYPTO_rsa_verify:pd,_bitshift64Shl:gx,_GNUNET_CRYPTO_hash_context_start:Dc,_bitshift64Lshr:ax,_TALER_setup_fresh_coin:su,_GNUNET_STRINGS_string_to_data:td,_GNUNET_CRYPTO_rsa_private_key_get_public:$c,_memset:Sw,_GNUNET_CRYPTO_eddsa_verify:yc,_TALER_amount_normalize:mu,_GNUNET_CRYPTO_hash_context_finish:Fc,_GNUNET_CRYPTO_symmetric_encrypt:ic,_TALER_WR_get_fraction:Sb,_GNUNET_CRYPTO_hash_context_read:Ec,_TALER_amount_cmp:lu,_GNUNET_CRYPTO_rsa_blind:fd,_TALER_WR_get_currency:Tb,_GNUNET_CRYPTO_random_block:Wc,_fflush:Rv,_GNUNET_CRYPTO_hash_create_random:Cc,_GNUNET_CRYPTO_rsa_unblind:od,_bitshift64Ashr:$w,_TALER_WRALL_get_amount:Qb,_sbrk:fx,_GNUNET_CRYPTO_eddsa_key_create:vc,_TALER_WRALL_eddsa_public_key_from_private:Mb,_llvm_bswap_i32:_w,___muldi3:ex,_GNUNET_CRYPTO_ecc_ecdh:zc,_GNUNET_CRYPTO_rsa_private_key_decode:_c,_GNUNET_CRYPTO_symmetric_decrypt:lc,_GNUNET_CRYPTO_rsa_signature_free:md,___divdi3:Xw,_TALER_amount_ntoh:hu,_pthread_self:ix,_GNUNET_CRYPTO_ecdhe_key_create:sc,_TALER_amount_subtract:ou,___udivmoddi4:Ww,_GNUNET_CRYPTO_rsa_private_key_create:Xc,_i64Add:Uw,_GNUNET_CRYPTO_ecdhe_key_get_public:qc,_TALER_WRALL_purpose_create:Pb,_GNUNET_CRYPTO_ecdh_eddsa:Ac,_pthread_mutex_unlock:bx,_GNUNET_CRYPTO_rsa_public_key_free:bd,_GNUNET_CRYPTO_kdf:Mc,_GNUNET_CRYPTO_eddsa_sign:wc,_TALER_amount_hton:gu,_i64Subtract:Rw,_pthread_mutex_lock:Tw,_GNUNET_CRYPTO_rsa_private_key_encode:Zc,_GNUNET_CRYPTO_eddsa_key_get_public:oc,___udivdi3:cx,_TALER_amount_add:pu,___errno_location:xu,___muldsi3:dx,_TALER_WR_get_value:Rb,_TALER_WRALL_ecdhe_public_key_from_private:Nb,_free:Lw,_GNUNET_STRINGS_data_to_string_alloc:sd,_GNUNET_CRYPTO_hash_context_abort:Gc,_memmove:Zw,_llvm_cttz_i32:Vw,_malloc:Kw,_memcpy:Yw,_TALER_amount_get_zero:iu,_GNUNET_CRYPTO_hkdf:Kc,_GNUNET_CRYPTO_rsa_public_key_decode:dd,_GNUNET_CRYPTO_ecdsa_key_create:uc,_TALER_WRALL_ecdsa_public_key_from_private:Ob,_GNUNET_CRYPTO_rsa_public_key_encode:cd,___remdi3:jx,_GNUNET_CRYPTO_hash:Bc,_GNUNET_CRYPTO_rsa_signature_decode:nd,___uremdi3:hx,_GNUNET_util_cl_init:Yb,_GNUNET_CRYPTO_random_init:Rc,_gpg_err_init:At,_TALER_gcrypt_init:qu,runPostSets:Qw,stackAlloc:Fb,stackSave:Gb,stackRestore:Hb,establishStackSpace:Ib,setThrew:Jb,setTempRet0:Kb,getTempRet0:Lb,dynCall_iiii:kx,dynCall_viiiii:lx,dynCall_vi:mx,dynCall_vii:nx,dynCall_ii:ox,dynCall_viii:px,dynCall_v:qx,dynCall_iiiii:rx,dynCall_viiiiii:sx,dynCall_iii:tx,dynCall_viiii:ux}})
+var ub=[Jt,Fi,Gi,Hi,Ii,zj,Aj,Bj,Cj,Ej,Pj,Yj,fk,lk,mk,nk,wo,xo,yo,zo,Bo,_g,Mo,Lq,Mq,Pq,wr,Ie,Wr,Ri,Si,kj,Rj,_j,hk,Sq,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt];var vb=[Kt,$i,Qi,Pi,Oi,cj,sk,tk,rk,Kt,Kt,Kt,Kt,Kt,Kt,Kt];var wb=[Lt,hj,Nj,Wj,dk,fl,Qq,Tq,zs,Lt,Lt,Lt,Lt,Lt,Lt,Lt];var xb=[Mt,gj,Mj,Vj,bk,ck,kk,Lo];var yb=[Nt,ij,yj,Dj,Oj,Xj,ek,vo,Ao,ch,Kq,Nt,Nt,Nt,Nt,Nt];var zb=[Ot,Fo,fj,$o,xp,Ip,Iq,Ot];var Ab=[Pt,Ti,Ui,nq];var Bb=[Qt,No,Pn,Mp];var Cb=[Rt,aj];var Db=[St,xj,Fj,uo,Co,si,Lj,St];var Eb=[Tt,Eg];return{_GNUNET_CRYPTO_rsa_signature_encode:$c,_GNUNET_CRYPTO_rsa_private_key_free:Tc,_GNUNET_CRYPTO_rsa_verify:jd,_bitshift64Shl:ut,_GNUNET_CRYPTO_hash_context_start:Bc,_bitshift64Lshr:ot,_TALER_setup_fresh_coin:Jq,_GNUNET_STRINGS_string_to_data:nd,_GNUNET_CRYPTO_rsa_private_key_get_public:Wc,_memset:et,_GNUNET_CRYPTO_eddsa_verify:wc,_TALER_amount_normalize:Eq,_GNUNET_CRYPTO_hash_context_finish:Dc,_GNUNET_CRYPTO_symmetric_encrypt:hc,_TALER_WR_get_fraction:Rb,_GNUNET_CRYPTO_hash_context_read:Cc,_TALER_amount_cmp:Dq,_GNUNET_CRYPTO_rsa_blind:ad,_TALER_WR_get_currency:Sb,_GNUNET_CRYPTO_random_block:Rc,_fflush:gs,_GNUNET_CRYPTO_hash_create_random:Ac,_GNUNET_CRYPTO_rsa_unblind:id,_bitshift64Ashr:nt,_TALER_WRALL_get_amount:Pb,_sbrk:tt,_GNUNET_CRYPTO_eddsa_key_create:tc,_TALER_WRALL_eddsa_public_key_from_private:Mb,_llvm_bswap_i32:mt,___muldi3:st,_GNUNET_CRYPTO_ecc_ecdh:xc,_GNUNET_CRYPTO_rsa_private_key_decode:Vc,_GNUNET_CRYPTO_symmetric_decrypt:kc,_GNUNET_CRYPTO_rsa_signature_free:gd,___divdi3:jt,_TALER_amount_ntoh:Aq,_pthread_self:wt,_GNUNET_CRYPTO_ecdhe_key_create:qc,_TALER_amount_subtract:Fq,___udivmoddi4:it,_GNUNET_CRYPTO_rsa_private_key_create:Sc,_i64Add:gt,_GNUNET_CRYPTO_ecdhe_key_get_public:pc,_TALER_WRALL_purpose_create:Ob,_GNUNET_CRYPTO_ecdh_eddsa:yc,_pthread_mutex_unlock:pt,_GNUNET_CRYPTO_rsa_public_key_free:Yc,_GNUNET_CRYPTO_kdf:Jc,_GNUNET_CRYPTO_eddsa_sign:uc,_TALER_amount_hton:zq,_i64Subtract:dt,_pthread_mutex_lock:ft,_GNUNET_CRYPTO_rsa_private_key_encode:Uc,_GNUNET_CRYPTO_eddsa_key_get_public:nc,___udivdi3:qt,___errno_location:Oq,___muldsi3:rt,_TALER_WR_get_value:Qb,_TALER_amount_add:Gq,_free:Zs,_GNUNET_STRINGS_data_to_string_alloc:md,_GNUNET_CRYPTO_hash_context_abort:Ec,_memmove:lt,_llvm_cttz_i32:ht,_malloc:Ys,_memcpy:kt,_TALER_amount_get_zero:Bq,_GNUNET_CRYPTO_hkdf:Hc,_GNUNET_CRYPTO_rsa_public_key_decode:_c,_GNUNET_CRYPTO_ecdsa_key_create:sc,_TALER_WRALL_ecdsa_public_key_from_private:Nb,_GNUNET_CRYPTO_rsa_public_key_encode:Zc,___remdi3:xt,_GNUNET_CRYPTO_hash:zc,_GNUNET_CRYPTO_rsa_signature_decode:hd,___uremdi3:vt,_GNUNET_util_cl_init:Xb,_GNUNET_CRYPTO_random_init:Nc,_gpg_err_init:Xp,_TALER_gcrypt_init:Hq,runPostSets:ct,stackAlloc:Fb,stackSave:Gb,stackRestore:Hb,establishStackSpace:Ib,setThrew:Jb,setTempRet0:Kb,getTempRet0:Lb,dynCall_iiii:yt,dynCall_viiiii:zt,dynCall_vi:At,dynCall_vii:Bt,dynCall_ii:Ct,dynCall_viii:Dt,dynCall_v:Et,dynCall_iiiii:Ft,dynCall_viiiiii:Gt,dynCall_iii:Ht,dynCall_viiii:It}})
// EMSCRIPTEN_END_ASM
-(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var real__GNUNET_CRYPTO_rsa_signature_encode=asm["_GNUNET_CRYPTO_rsa_signature_encode"];asm["_GNUNET_CRYPTO_rsa_signature_encode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_signature_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_verify=asm["_GNUNET_CRYPTO_rsa_verify"];asm["_GNUNET_CRYPTO_rsa_verify"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_verify.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_start=asm["_GNUNET_CRYPTO_hash_context_start"];asm["_GNUNET_CRYPTO_hash_context_start"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_start.apply(null,arguments)});var real____uremdi3=asm["___uremdi3"];asm["___uremdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____uremdi3.apply(null,arguments)});var real__TALER_setup_fresh_coin=asm["_TALER_setup_fresh_coin"];asm["_TALER_setup_fresh_coin"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_setup_fresh_coin.apply(null,arguments)});var real__GNUNET_STRINGS_string_to_data=asm["_GNUNET_STRINGS_string_to_data"];asm["_GNUNET_STRINGS_string_to_data"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_STRINGS_string_to_data.apply(null,arguments)});var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Subtract.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_get_public=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];asm["_GNUNET_CRYPTO_rsa_private_key_get_public"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_get_public.apply(null,arguments)});var real__TALER_WRALL_get_amount=asm["_TALER_WRALL_get_amount"];asm["_TALER_WRALL_get_amount"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_get_amount.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_verify=asm["_GNUNET_CRYPTO_eddsa_verify"];asm["_GNUNET_CRYPTO_eddsa_verify"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_verify.apply(null,arguments)});var real__GNUNET_util_cl_init=asm["_GNUNET_util_cl_init"];asm["_GNUNET_util_cl_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_util_cl_init.apply(null,arguments)});var real__TALER_amount_normalize=asm["_TALER_amount_normalize"];asm["_TALER_amount_normalize"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_normalize.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_finish=asm["_GNUNET_CRYPTO_hash_context_finish"];asm["_GNUNET_CRYPTO_hash_context_finish"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_finish.apply(null,arguments)});var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Lshr.apply(null,arguments)});var real__TALER_WR_get_fraction=asm["_TALER_WR_get_fraction"];asm["_TALER_WR_get_fraction"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WR_get_fraction.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_read=asm["_GNUNET_CRYPTO_hash_context_read"];asm["_GNUNET_CRYPTO_hash_context_read"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_read.apply(null,arguments)});var real__TALER_amount_cmp=asm["_TALER_amount_cmp"];asm["_TALER_amount_cmp"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_cmp.apply(null,arguments)});var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Shl.apply(null,arguments)});var real__TALER_WR_get_currency=asm["_TALER_WR_get_currency"];asm["_TALER_WR_get_currency"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WR_get_currency.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_free=asm["_GNUNET_CRYPTO_rsa_private_key_free"];asm["_GNUNET_CRYPTO_rsa_private_key_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_free.apply(null,arguments)});var real__fflush=asm["_fflush"];asm["_fflush"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_create_random=asm["_GNUNET_CRYPTO_hash_create_random"];asm["_GNUNET_CRYPTO_hash_create_random"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_create_random.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_unblind=asm["_GNUNET_CRYPTO_rsa_unblind"];asm["_GNUNET_CRYPTO_rsa_unblind"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_unblind.apply(null,arguments)});var real__bitshift64Ashr=asm["_bitshift64Ashr"];asm["_bitshift64Ashr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Ashr.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_create=asm["_GNUNET_CRYPTO_rsa_private_key_create"];asm["_GNUNET_CRYPTO_rsa_private_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_create.apply(null,arguments)});var real__sbrk=asm["_sbrk"];asm["_sbrk"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_key_create=asm["_GNUNET_CRYPTO_eddsa_key_create"];asm["_GNUNET_CRYPTO_eddsa_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_key_create.apply(null,arguments)});var real__TALER_WRALL_eddsa_public_key_from_private=asm["_TALER_WRALL_eddsa_public_key_from_private"];asm["_TALER_WRALL_eddsa_public_key_from_private"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_eddsa_public_key_from_private.apply(null,arguments)});var real____errno_location=asm["___errno_location"];asm["___errno_location"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)});var real____muldi3=asm["___muldi3"];asm["___muldi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____muldi3.apply(null,arguments)});var real__GNUNET_CRYPTO_ecc_ecdh=asm["_GNUNET_CRYPTO_ecc_ecdh"];asm["_GNUNET_CRYPTO_ecc_ecdh"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecc_ecdh.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_decode=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];asm["_GNUNET_CRYPTO_rsa_private_key_decode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_decode.apply(null,arguments)});var real__GNUNET_CRYPTO_symmetric_encrypt=asm["_GNUNET_CRYPTO_symmetric_encrypt"];asm["_GNUNET_CRYPTO_symmetric_encrypt"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_symmetric_encrypt.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdhe_key_get_public=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];asm["_GNUNET_CRYPTO_ecdhe_key_get_public"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdhe_key_get_public.apply(null,arguments)});var real____divdi3=asm["___divdi3"];asm["___divdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____divdi3.apply(null,arguments)});var real__TALER_amount_ntoh=asm["_TALER_amount_ntoh"];asm["_TALER_amount_ntoh"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_ntoh.apply(null,arguments)});var real__llvm_cttz_i32=asm["_llvm_cttz_i32"];asm["_llvm_cttz_i32"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_cttz_i32.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdhe_key_create=asm["_GNUNET_CRYPTO_ecdhe_key_create"];asm["_GNUNET_CRYPTO_ecdhe_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdhe_key_create.apply(null,arguments)});var real__TALER_amount_subtract=asm["_TALER_amount_subtract"];asm["_TALER_amount_subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_subtract.apply(null,arguments)});var real____udivmoddi4=asm["___udivmoddi4"];asm["___udivmoddi4"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____udivmoddi4.apply(null,arguments)});var real__GNUNET_CRYPTO_random_block=asm["_GNUNET_CRYPTO_random_block"];asm["_GNUNET_CRYPTO_random_block"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_random_block.apply(null,arguments)});var real__i64Add=asm["_i64Add"];asm["_i64Add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Add.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_free=asm["_GNUNET_CRYPTO_rsa_signature_free"];asm["_GNUNET_CRYPTO_rsa_signature_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_signature_free.apply(null,arguments)});var real__pthread_self=asm["_pthread_self"];asm["_pthread_self"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_self.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdh_eddsa=asm["_GNUNET_CRYPTO_ecdh_eddsa"];asm["_GNUNET_CRYPTO_ecdh_eddsa"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdh_eddsa.apply(null,arguments)});var real__pthread_mutex_unlock=asm["_pthread_mutex_unlock"];asm["_pthread_mutex_unlock"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_mutex_unlock.apply(null,arguments)});var real__TALER_WRALL_purpose_create=asm["_TALER_WRALL_purpose_create"];asm["_TALER_WRALL_purpose_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_purpose_create.apply(null,arguments)});var real__gpg_err_init=asm["_gpg_err_init"];asm["_gpg_err_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__gpg_err_init.apply(null,arguments)});var real__GNUNET_CRYPTO_kdf=asm["_GNUNET_CRYPTO_kdf"];asm["_GNUNET_CRYPTO_kdf"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_kdf.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_sign=asm["_GNUNET_CRYPTO_eddsa_sign"];asm["_GNUNET_CRYPTO_eddsa_sign"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_sign.apply(null,arguments)});var real__TALER_amount_hton=asm["_TALER_amount_hton"];asm["_TALER_amount_hton"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_hton.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_free=asm["_GNUNET_CRYPTO_rsa_public_key_free"];asm["_GNUNET_CRYPTO_rsa_public_key_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_public_key_free.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_encode=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];asm["_GNUNET_CRYPTO_rsa_private_key_encode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_key_get_public=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];asm["_GNUNET_CRYPTO_eddsa_key_get_public"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_key_get_public.apply(null,arguments)});var real____udivdi3=asm["___udivdi3"];asm["___udivdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____udivdi3.apply(null,arguments)});var real__llvm_bswap_i32=asm["_llvm_bswap_i32"];asm["_llvm_bswap_i32"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i32.apply(null,arguments)});var real____muldsi3=asm["___muldsi3"];asm["___muldsi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____muldsi3.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_blind=asm["_GNUNET_CRYPTO_rsa_blind"];asm["_GNUNET_CRYPTO_rsa_blind"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_blind.apply(null,arguments)});var real__TALER_amount_add=asm["_TALER_amount_add"];asm["_TALER_amount_add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_add.apply(null,arguments)});var real__free=asm["_free"];asm["_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)});var real__TALER_gcrypt_init=asm["_TALER_gcrypt_init"];asm["_TALER_gcrypt_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_gcrypt_init.apply(null,arguments)});var real__GNUNET_STRINGS_data_to_string_alloc=asm["_GNUNET_STRINGS_data_to_string_alloc"];asm["_GNUNET_STRINGS_data_to_string_alloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_STRINGS_data_to_string_alloc.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_abort=asm["_GNUNET_CRYPTO_hash_context_abort"];asm["_GNUNET_CRYPTO_hash_context_abort"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_abort.apply(null,arguments)});var real__GNUNET_CRYPTO_symmetric_decrypt=asm["_GNUNET_CRYPTO_symmetric_decrypt"];asm["_GNUNET_CRYPTO_symmetric_decrypt"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_symmetric_decrypt.apply(null,arguments)});var real__GNUNET_CRYPTO_random_init=asm["_GNUNET_CRYPTO_random_init"];asm["_GNUNET_CRYPTO_random_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_random_init.apply(null,arguments)});var real__TALER_amount_get_zero=asm["_TALER_amount_get_zero"];asm["_TALER_amount_get_zero"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_get_zero.apply(null,arguments)});var real__malloc=asm["_malloc"];asm["_malloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)});var real__pthread_mutex_lock=asm["_pthread_mutex_lock"];asm["_pthread_mutex_lock"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_mutex_lock.apply(null,arguments)});var real__GNUNET_CRYPTO_hkdf=asm["_GNUNET_CRYPTO_hkdf"];asm["_GNUNET_CRYPTO_hkdf"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hkdf.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_decode=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];asm["_GNUNET_CRYPTO_rsa_public_key_decode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_public_key_decode.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdsa_key_create=asm["_GNUNET_CRYPTO_ecdsa_key_create"];asm["_GNUNET_CRYPTO_ecdsa_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdsa_key_create.apply(null,arguments)});var real__TALER_WRALL_ecdsa_public_key_from_private=asm["_TALER_WRALL_ecdsa_public_key_from_private"];asm["_TALER_WRALL_ecdsa_public_key_from_private"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_ecdsa_public_key_from_private.apply(null,arguments)});var real__memmove=asm["_memmove"];asm["_memmove"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_encode=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];asm["_GNUNET_CRYPTO_rsa_public_key_encode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_public_key_encode.apply(null,arguments)});var real____remdi3=asm["___remdi3"];asm["___remdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____remdi3.apply(null,arguments)});var real__GNUNET_CRYPTO_hash=asm["_GNUNET_CRYPTO_hash"];asm["_GNUNET_CRYPTO_hash"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash.apply(null,arguments)});var real__TALER_WR_get_value=asm["_TALER_WR_get_value"];asm["_TALER_WR_get_value"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WR_get_value.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_decode=asm["_GNUNET_CRYPTO_rsa_signature_decode"];asm["_GNUNET_CRYPTO_rsa_signature_decode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_signature_decode.apply(null,arguments)});var real__TALER_WRALL_ecdhe_public_key_from_private=asm["_TALER_WRALL_ecdhe_public_key_from_private"];asm["_TALER_WRALL_ecdhe_public_key_from_private"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_ecdhe_public_key_from_private.apply(null,arguments)});var _GNUNET_CRYPTO_rsa_signature_encode=Module["_GNUNET_CRYPTO_rsa_signature_encode"]=asm["_GNUNET_CRYPTO_rsa_signature_encode"];var _GNUNET_CRYPTO_rsa_verify=Module["_GNUNET_CRYPTO_rsa_verify"]=asm["_GNUNET_CRYPTO_rsa_verify"];var _GNUNET_CRYPTO_hash_context_start=Module["_GNUNET_CRYPTO_hash_context_start"]=asm["_GNUNET_CRYPTO_hash_context_start"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _TALER_setup_fresh_coin=Module["_TALER_setup_fresh_coin"]=asm["_TALER_setup_fresh_coin"];var _GNUNET_STRINGS_string_to_data=Module["_GNUNET_STRINGS_string_to_data"]=asm["_GNUNET_STRINGS_string_to_data"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _GNUNET_CRYPTO_rsa_private_key_get_public=Module["_GNUNET_CRYPTO_rsa_private_key_get_public"]=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];var _TALER_WRALL_get_amount=Module["_TALER_WRALL_get_amount"]=asm["_TALER_WRALL_get_amount"];var _GNUNET_CRYPTO_eddsa_verify=Module["_GNUNET_CRYPTO_eddsa_verify"]=asm["_GNUNET_CRYPTO_eddsa_verify"];var _GNUNET_util_cl_init=Module["_GNUNET_util_cl_init"]=asm["_GNUNET_util_cl_init"];var _TALER_amount_normalize=Module["_TALER_amount_normalize"]=asm["_TALER_amount_normalize"];var _GNUNET_CRYPTO_hash_context_finish=Module["_GNUNET_CRYPTO_hash_context_finish"]=asm["_GNUNET_CRYPTO_hash_context_finish"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _TALER_WR_get_fraction=Module["_TALER_WR_get_fraction"]=asm["_TALER_WR_get_fraction"];var _GNUNET_CRYPTO_hash_context_read=Module["_GNUNET_CRYPTO_hash_context_read"]=asm["_GNUNET_CRYPTO_hash_context_read"];var _TALER_amount_cmp=Module["_TALER_amount_cmp"]=asm["_TALER_amount_cmp"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _TALER_WR_get_currency=Module["_TALER_WR_get_currency"]=asm["_TALER_WR_get_currency"];var _GNUNET_CRYPTO_rsa_private_key_free=Module["_GNUNET_CRYPTO_rsa_private_key_free"]=asm["_GNUNET_CRYPTO_rsa_private_key_free"];var _fflush=Module["_fflush"]=asm["_fflush"];var _GNUNET_CRYPTO_hash_create_random=Module["_GNUNET_CRYPTO_hash_create_random"]=asm["_GNUNET_CRYPTO_hash_create_random"];var _GNUNET_CRYPTO_rsa_unblind=Module["_GNUNET_CRYPTO_rsa_unblind"]=asm["_GNUNET_CRYPTO_rsa_unblind"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _GNUNET_CRYPTO_rsa_private_key_create=Module["_GNUNET_CRYPTO_rsa_private_key_create"]=asm["_GNUNET_CRYPTO_rsa_private_key_create"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _GNUNET_CRYPTO_eddsa_key_create=Module["_GNUNET_CRYPTO_eddsa_key_create"]=asm["_GNUNET_CRYPTO_eddsa_key_create"];var _TALER_WRALL_eddsa_public_key_from_private=Module["_TALER_WRALL_eddsa_public_key_from_private"]=asm["_TALER_WRALL_eddsa_public_key_from_private"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _GNUNET_CRYPTO_ecc_ecdh=Module["_GNUNET_CRYPTO_ecc_ecdh"]=asm["_GNUNET_CRYPTO_ecc_ecdh"];var _GNUNET_CRYPTO_rsa_private_key_decode=Module["_GNUNET_CRYPTO_rsa_private_key_decode"]=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];var _GNUNET_CRYPTO_symmetric_encrypt=Module["_GNUNET_CRYPTO_symmetric_encrypt"]=asm["_GNUNET_CRYPTO_symmetric_encrypt"];var _GNUNET_CRYPTO_ecdhe_key_get_public=Module["_GNUNET_CRYPTO_ecdhe_key_get_public"]=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _TALER_amount_ntoh=Module["_TALER_amount_ntoh"]=asm["_TALER_amount_ntoh"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _GNUNET_CRYPTO_ecdhe_key_create=Module["_GNUNET_CRYPTO_ecdhe_key_create"]=asm["_GNUNET_CRYPTO_ecdhe_key_create"];var _TALER_amount_subtract=Module["_TALER_amount_subtract"]=asm["_TALER_amount_subtract"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _GNUNET_CRYPTO_random_block=Module["_GNUNET_CRYPTO_random_block"]=asm["_GNUNET_CRYPTO_random_block"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _GNUNET_CRYPTO_rsa_signature_free=Module["_GNUNET_CRYPTO_rsa_signature_free"]=asm["_GNUNET_CRYPTO_rsa_signature_free"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _GNUNET_CRYPTO_ecdh_eddsa=Module["_GNUNET_CRYPTO_ecdh_eddsa"]=asm["_GNUNET_CRYPTO_ecdh_eddsa"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _TALER_WRALL_purpose_create=Module["_TALER_WRALL_purpose_create"]=asm["_TALER_WRALL_purpose_create"];var _gpg_err_init=Module["_gpg_err_init"]=asm["_gpg_err_init"];var _GNUNET_CRYPTO_kdf=Module["_GNUNET_CRYPTO_kdf"]=asm["_GNUNET_CRYPTO_kdf"];var _GNUNET_CRYPTO_eddsa_sign=Module["_GNUNET_CRYPTO_eddsa_sign"]=asm["_GNUNET_CRYPTO_eddsa_sign"];var _TALER_amount_hton=Module["_TALER_amount_hton"]=asm["_TALER_amount_hton"];var _GNUNET_CRYPTO_rsa_public_key_free=Module["_GNUNET_CRYPTO_rsa_public_key_free"]=asm["_GNUNET_CRYPTO_rsa_public_key_free"];var _GNUNET_CRYPTO_rsa_private_key_encode=Module["_GNUNET_CRYPTO_rsa_private_key_encode"]=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];var _GNUNET_CRYPTO_eddsa_key_get_public=Module["_GNUNET_CRYPTO_eddsa_key_get_public"]=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _GNUNET_CRYPTO_rsa_blind=Module["_GNUNET_CRYPTO_rsa_blind"]=asm["_GNUNET_CRYPTO_rsa_blind"];var _TALER_amount_add=Module["_TALER_amount_add"]=asm["_TALER_amount_add"];var _free=Module["_free"]=asm["_free"];var _TALER_gcrypt_init=Module["_TALER_gcrypt_init"]=asm["_TALER_gcrypt_init"];var _GNUNET_STRINGS_data_to_string_alloc=Module["_GNUNET_STRINGS_data_to_string_alloc"]=asm["_GNUNET_STRINGS_data_to_string_alloc"];var _GNUNET_CRYPTO_hash_context_abort=Module["_GNUNET_CRYPTO_hash_context_abort"]=asm["_GNUNET_CRYPTO_hash_context_abort"];var _GNUNET_CRYPTO_symmetric_decrypt=Module["_GNUNET_CRYPTO_symmetric_decrypt"]=asm["_GNUNET_CRYPTO_symmetric_decrypt"];var _GNUNET_CRYPTO_random_init=Module["_GNUNET_CRYPTO_random_init"]=asm["_GNUNET_CRYPTO_random_init"];var _TALER_amount_get_zero=Module["_TALER_amount_get_zero"]=asm["_TALER_amount_get_zero"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _GNUNET_CRYPTO_hkdf=Module["_GNUNET_CRYPTO_hkdf"]=asm["_GNUNET_CRYPTO_hkdf"];var _GNUNET_CRYPTO_rsa_public_key_decode=Module["_GNUNET_CRYPTO_rsa_public_key_decode"]=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];var _GNUNET_CRYPTO_ecdsa_key_create=Module["_GNUNET_CRYPTO_ecdsa_key_create"]=asm["_GNUNET_CRYPTO_ecdsa_key_create"];var _TALER_WRALL_ecdsa_public_key_from_private=Module["_TALER_WRALL_ecdsa_public_key_from_private"]=asm["_TALER_WRALL_ecdsa_public_key_from_private"];var _memmove=Module["_memmove"]=asm["_memmove"];var _GNUNET_CRYPTO_rsa_public_key_encode=Module["_GNUNET_CRYPTO_rsa_public_key_encode"]=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var _GNUNET_CRYPTO_hash=Module["_GNUNET_CRYPTO_hash"]=asm["_GNUNET_CRYPTO_hash"];var _TALER_WR_get_value=Module["_TALER_WR_get_value"]=asm["_TALER_WR_get_value"];var _GNUNET_CRYPTO_rsa_signature_decode=Module["_GNUNET_CRYPTO_rsa_signature_decode"]=asm["_GNUNET_CRYPTO_rsa_signature_decode"];var _TALER_WRALL_ecdhe_public_key_from_private=Module["_TALER_WRALL_ecdhe_public_key_from_private"]=asm["_TALER_WRALL_ecdhe_public_key_from_private"];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_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_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];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=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){Module.printErr("run() called, but dependencies remain, so not running");return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}checkStackCookie()}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){Module.printErr("exit("+status+") implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)");return}if(Module["noExitRuntime"]){Module.printErr("exit("+status+") called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)")}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";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()
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var real__GNUNET_CRYPTO_rsa_signature_encode=asm["_GNUNET_CRYPTO_rsa_signature_encode"];asm["_GNUNET_CRYPTO_rsa_signature_encode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_signature_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_verify=asm["_GNUNET_CRYPTO_rsa_verify"];asm["_GNUNET_CRYPTO_rsa_verify"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_verify.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_start=asm["_GNUNET_CRYPTO_hash_context_start"];asm["_GNUNET_CRYPTO_hash_context_start"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_start.apply(null,arguments)});var real____uremdi3=asm["___uremdi3"];asm["___uremdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____uremdi3.apply(null,arguments)});var real__TALER_setup_fresh_coin=asm["_TALER_setup_fresh_coin"];asm["_TALER_setup_fresh_coin"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_setup_fresh_coin.apply(null,arguments)});var real__GNUNET_STRINGS_string_to_data=asm["_GNUNET_STRINGS_string_to_data"];asm["_GNUNET_STRINGS_string_to_data"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_STRINGS_string_to_data.apply(null,arguments)});var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Subtract.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_get_public=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];asm["_GNUNET_CRYPTO_rsa_private_key_get_public"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_get_public.apply(null,arguments)});var real__TALER_WRALL_get_amount=asm["_TALER_WRALL_get_amount"];asm["_TALER_WRALL_get_amount"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_get_amount.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_verify=asm["_GNUNET_CRYPTO_eddsa_verify"];asm["_GNUNET_CRYPTO_eddsa_verify"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_verify.apply(null,arguments)});var real__GNUNET_util_cl_init=asm["_GNUNET_util_cl_init"];asm["_GNUNET_util_cl_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_util_cl_init.apply(null,arguments)});var real__TALER_amount_normalize=asm["_TALER_amount_normalize"];asm["_TALER_amount_normalize"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_normalize.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_finish=asm["_GNUNET_CRYPTO_hash_context_finish"];asm["_GNUNET_CRYPTO_hash_context_finish"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_finish.apply(null,arguments)});var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Lshr.apply(null,arguments)});var real__TALER_WR_get_fraction=asm["_TALER_WR_get_fraction"];asm["_TALER_WR_get_fraction"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WR_get_fraction.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_read=asm["_GNUNET_CRYPTO_hash_context_read"];asm["_GNUNET_CRYPTO_hash_context_read"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_read.apply(null,arguments)});var real__TALER_amount_cmp=asm["_TALER_amount_cmp"];asm["_TALER_amount_cmp"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_cmp.apply(null,arguments)});var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Shl.apply(null,arguments)});var real__TALER_WR_get_currency=asm["_TALER_WR_get_currency"];asm["_TALER_WR_get_currency"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WR_get_currency.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_free=asm["_GNUNET_CRYPTO_rsa_private_key_free"];asm["_GNUNET_CRYPTO_rsa_private_key_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_free.apply(null,arguments)});var real__fflush=asm["_fflush"];asm["_fflush"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_create_random=asm["_GNUNET_CRYPTO_hash_create_random"];asm["_GNUNET_CRYPTO_hash_create_random"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_create_random.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_unblind=asm["_GNUNET_CRYPTO_rsa_unblind"];asm["_GNUNET_CRYPTO_rsa_unblind"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_unblind.apply(null,arguments)});var real__bitshift64Ashr=asm["_bitshift64Ashr"];asm["_bitshift64Ashr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Ashr.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_create=asm["_GNUNET_CRYPTO_rsa_private_key_create"];asm["_GNUNET_CRYPTO_rsa_private_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_create.apply(null,arguments)});var real__sbrk=asm["_sbrk"];asm["_sbrk"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_key_create=asm["_GNUNET_CRYPTO_eddsa_key_create"];asm["_GNUNET_CRYPTO_eddsa_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_key_create.apply(null,arguments)});var real__TALER_WRALL_eddsa_public_key_from_private=asm["_TALER_WRALL_eddsa_public_key_from_private"];asm["_TALER_WRALL_eddsa_public_key_from_private"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_eddsa_public_key_from_private.apply(null,arguments)});var real____errno_location=asm["___errno_location"];asm["___errno_location"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)});var real____muldi3=asm["___muldi3"];asm["___muldi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____muldi3.apply(null,arguments)});var real__GNUNET_CRYPTO_ecc_ecdh=asm["_GNUNET_CRYPTO_ecc_ecdh"];asm["_GNUNET_CRYPTO_ecc_ecdh"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecc_ecdh.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_decode=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];asm["_GNUNET_CRYPTO_rsa_private_key_decode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_decode.apply(null,arguments)});var real__GNUNET_CRYPTO_symmetric_encrypt=asm["_GNUNET_CRYPTO_symmetric_encrypt"];asm["_GNUNET_CRYPTO_symmetric_encrypt"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_symmetric_encrypt.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdhe_key_get_public=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];asm["_GNUNET_CRYPTO_ecdhe_key_get_public"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdhe_key_get_public.apply(null,arguments)});var real____divdi3=asm["___divdi3"];asm["___divdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____divdi3.apply(null,arguments)});var real__TALER_amount_ntoh=asm["_TALER_amount_ntoh"];asm["_TALER_amount_ntoh"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_ntoh.apply(null,arguments)});var real__llvm_cttz_i32=asm["_llvm_cttz_i32"];asm["_llvm_cttz_i32"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_cttz_i32.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdhe_key_create=asm["_GNUNET_CRYPTO_ecdhe_key_create"];asm["_GNUNET_CRYPTO_ecdhe_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdhe_key_create.apply(null,arguments)});var real__TALER_amount_subtract=asm["_TALER_amount_subtract"];asm["_TALER_amount_subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_subtract.apply(null,arguments)});var real____udivmoddi4=asm["___udivmoddi4"];asm["___udivmoddi4"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____udivmoddi4.apply(null,arguments)});var real__GNUNET_CRYPTO_random_block=asm["_GNUNET_CRYPTO_random_block"];asm["_GNUNET_CRYPTO_random_block"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_random_block.apply(null,arguments)});var real__i64Add=asm["_i64Add"];asm["_i64Add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Add.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_free=asm["_GNUNET_CRYPTO_rsa_signature_free"];asm["_GNUNET_CRYPTO_rsa_signature_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_signature_free.apply(null,arguments)});var real__pthread_self=asm["_pthread_self"];asm["_pthread_self"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_self.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdh_eddsa=asm["_GNUNET_CRYPTO_ecdh_eddsa"];asm["_GNUNET_CRYPTO_ecdh_eddsa"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdh_eddsa.apply(null,arguments)});var real__pthread_mutex_unlock=asm["_pthread_mutex_unlock"];asm["_pthread_mutex_unlock"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_mutex_unlock.apply(null,arguments)});var real__TALER_WRALL_purpose_create=asm["_TALER_WRALL_purpose_create"];asm["_TALER_WRALL_purpose_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_purpose_create.apply(null,arguments)});var real__gpg_err_init=asm["_gpg_err_init"];asm["_gpg_err_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__gpg_err_init.apply(null,arguments)});var real__GNUNET_CRYPTO_kdf=asm["_GNUNET_CRYPTO_kdf"];asm["_GNUNET_CRYPTO_kdf"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_kdf.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_sign=asm["_GNUNET_CRYPTO_eddsa_sign"];asm["_GNUNET_CRYPTO_eddsa_sign"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_sign.apply(null,arguments)});var real__TALER_amount_hton=asm["_TALER_amount_hton"];asm["_TALER_amount_hton"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_hton.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_free=asm["_GNUNET_CRYPTO_rsa_public_key_free"];asm["_GNUNET_CRYPTO_rsa_public_key_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_public_key_free.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_encode=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];asm["_GNUNET_CRYPTO_rsa_private_key_encode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_private_key_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_key_get_public=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];asm["_GNUNET_CRYPTO_eddsa_key_get_public"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_eddsa_key_get_public.apply(null,arguments)});var real____udivdi3=asm["___udivdi3"];asm["___udivdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____udivdi3.apply(null,arguments)});var real__llvm_bswap_i32=asm["_llvm_bswap_i32"];asm["_llvm_bswap_i32"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i32.apply(null,arguments)});var real____muldsi3=asm["___muldsi3"];asm["___muldsi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____muldsi3.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_blind=asm["_GNUNET_CRYPTO_rsa_blind"];asm["_GNUNET_CRYPTO_rsa_blind"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_blind.apply(null,arguments)});var real__TALER_amount_add=asm["_TALER_amount_add"];asm["_TALER_amount_add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_add.apply(null,arguments)});var real__free=asm["_free"];asm["_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)});var real__TALER_gcrypt_init=asm["_TALER_gcrypt_init"];asm["_TALER_gcrypt_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_gcrypt_init.apply(null,arguments)});var real__GNUNET_STRINGS_data_to_string_alloc=asm["_GNUNET_STRINGS_data_to_string_alloc"];asm["_GNUNET_STRINGS_data_to_string_alloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_STRINGS_data_to_string_alloc.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_abort=asm["_GNUNET_CRYPTO_hash_context_abort"];asm["_GNUNET_CRYPTO_hash_context_abort"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash_context_abort.apply(null,arguments)});var real__GNUNET_CRYPTO_symmetric_decrypt=asm["_GNUNET_CRYPTO_symmetric_decrypt"];asm["_GNUNET_CRYPTO_symmetric_decrypt"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_symmetric_decrypt.apply(null,arguments)});var real__GNUNET_CRYPTO_random_init=asm["_GNUNET_CRYPTO_random_init"];asm["_GNUNET_CRYPTO_random_init"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_random_init.apply(null,arguments)});var real__TALER_amount_get_zero=asm["_TALER_amount_get_zero"];asm["_TALER_amount_get_zero"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_amount_get_zero.apply(null,arguments)});var real__malloc=asm["_malloc"];asm["_malloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)});var real__pthread_mutex_lock=asm["_pthread_mutex_lock"];asm["_pthread_mutex_lock"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_mutex_lock.apply(null,arguments)});var real__GNUNET_CRYPTO_hkdf=asm["_GNUNET_CRYPTO_hkdf"];asm["_GNUNET_CRYPTO_hkdf"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hkdf.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_decode=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];asm["_GNUNET_CRYPTO_rsa_public_key_decode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_public_key_decode.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdsa_key_create=asm["_GNUNET_CRYPTO_ecdsa_key_create"];asm["_GNUNET_CRYPTO_ecdsa_key_create"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_ecdsa_key_create.apply(null,arguments)});var real__TALER_WRALL_ecdsa_public_key_from_private=asm["_TALER_WRALL_ecdsa_public_key_from_private"];asm["_TALER_WRALL_ecdsa_public_key_from_private"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WRALL_ecdsa_public_key_from_private.apply(null,arguments)});var real__memmove=asm["_memmove"];asm["_memmove"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_encode=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];asm["_GNUNET_CRYPTO_rsa_public_key_encode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_public_key_encode.apply(null,arguments)});var real____remdi3=asm["___remdi3"];asm["___remdi3"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____remdi3.apply(null,arguments)});var real__GNUNET_CRYPTO_hash=asm["_GNUNET_CRYPTO_hash"];asm["_GNUNET_CRYPTO_hash"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_hash.apply(null,arguments)});var real__TALER_WR_get_value=asm["_TALER_WR_get_value"];asm["_TALER_WR_get_value"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__TALER_WR_get_value.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_decode=asm["_GNUNET_CRYPTO_rsa_signature_decode"];asm["_GNUNET_CRYPTO_rsa_signature_decode"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__GNUNET_CRYPTO_rsa_signature_decode.apply(null,arguments)});var _GNUNET_CRYPTO_rsa_signature_encode=Module["_GNUNET_CRYPTO_rsa_signature_encode"]=asm["_GNUNET_CRYPTO_rsa_signature_encode"];var _GNUNET_CRYPTO_rsa_verify=Module["_GNUNET_CRYPTO_rsa_verify"]=asm["_GNUNET_CRYPTO_rsa_verify"];var _GNUNET_CRYPTO_hash_context_start=Module["_GNUNET_CRYPTO_hash_context_start"]=asm["_GNUNET_CRYPTO_hash_context_start"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _TALER_setup_fresh_coin=Module["_TALER_setup_fresh_coin"]=asm["_TALER_setup_fresh_coin"];var _GNUNET_STRINGS_string_to_data=Module["_GNUNET_STRINGS_string_to_data"]=asm["_GNUNET_STRINGS_string_to_data"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _GNUNET_CRYPTO_rsa_private_key_get_public=Module["_GNUNET_CRYPTO_rsa_private_key_get_public"]=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];var _TALER_WRALL_get_amount=Module["_TALER_WRALL_get_amount"]=asm["_TALER_WRALL_get_amount"];var _GNUNET_CRYPTO_eddsa_verify=Module["_GNUNET_CRYPTO_eddsa_verify"]=asm["_GNUNET_CRYPTO_eddsa_verify"];var _GNUNET_util_cl_init=Module["_GNUNET_util_cl_init"]=asm["_GNUNET_util_cl_init"];var _TALER_amount_normalize=Module["_TALER_amount_normalize"]=asm["_TALER_amount_normalize"];var _GNUNET_CRYPTO_hash_context_finish=Module["_GNUNET_CRYPTO_hash_context_finish"]=asm["_GNUNET_CRYPTO_hash_context_finish"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _TALER_WR_get_fraction=Module["_TALER_WR_get_fraction"]=asm["_TALER_WR_get_fraction"];var _GNUNET_CRYPTO_hash_context_read=Module["_GNUNET_CRYPTO_hash_context_read"]=asm["_GNUNET_CRYPTO_hash_context_read"];var _TALER_amount_cmp=Module["_TALER_amount_cmp"]=asm["_TALER_amount_cmp"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _TALER_WR_get_currency=Module["_TALER_WR_get_currency"]=asm["_TALER_WR_get_currency"];var _GNUNET_CRYPTO_rsa_private_key_free=Module["_GNUNET_CRYPTO_rsa_private_key_free"]=asm["_GNUNET_CRYPTO_rsa_private_key_free"];var _fflush=Module["_fflush"]=asm["_fflush"];var _GNUNET_CRYPTO_hash_create_random=Module["_GNUNET_CRYPTO_hash_create_random"]=asm["_GNUNET_CRYPTO_hash_create_random"];var _GNUNET_CRYPTO_rsa_unblind=Module["_GNUNET_CRYPTO_rsa_unblind"]=asm["_GNUNET_CRYPTO_rsa_unblind"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _GNUNET_CRYPTO_rsa_private_key_create=Module["_GNUNET_CRYPTO_rsa_private_key_create"]=asm["_GNUNET_CRYPTO_rsa_private_key_create"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _GNUNET_CRYPTO_eddsa_key_create=Module["_GNUNET_CRYPTO_eddsa_key_create"]=asm["_GNUNET_CRYPTO_eddsa_key_create"];var _TALER_WRALL_eddsa_public_key_from_private=Module["_TALER_WRALL_eddsa_public_key_from_private"]=asm["_TALER_WRALL_eddsa_public_key_from_private"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _GNUNET_CRYPTO_ecc_ecdh=Module["_GNUNET_CRYPTO_ecc_ecdh"]=asm["_GNUNET_CRYPTO_ecc_ecdh"];var _GNUNET_CRYPTO_rsa_private_key_decode=Module["_GNUNET_CRYPTO_rsa_private_key_decode"]=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];var _GNUNET_CRYPTO_symmetric_encrypt=Module["_GNUNET_CRYPTO_symmetric_encrypt"]=asm["_GNUNET_CRYPTO_symmetric_encrypt"];var _GNUNET_CRYPTO_ecdhe_key_get_public=Module["_GNUNET_CRYPTO_ecdhe_key_get_public"]=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _TALER_amount_ntoh=Module["_TALER_amount_ntoh"]=asm["_TALER_amount_ntoh"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _GNUNET_CRYPTO_ecdhe_key_create=Module["_GNUNET_CRYPTO_ecdhe_key_create"]=asm["_GNUNET_CRYPTO_ecdhe_key_create"];var _TALER_amount_subtract=Module["_TALER_amount_subtract"]=asm["_TALER_amount_subtract"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _GNUNET_CRYPTO_random_block=Module["_GNUNET_CRYPTO_random_block"]=asm["_GNUNET_CRYPTO_random_block"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _GNUNET_CRYPTO_rsa_signature_free=Module["_GNUNET_CRYPTO_rsa_signature_free"]=asm["_GNUNET_CRYPTO_rsa_signature_free"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _GNUNET_CRYPTO_ecdh_eddsa=Module["_GNUNET_CRYPTO_ecdh_eddsa"]=asm["_GNUNET_CRYPTO_ecdh_eddsa"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _TALER_WRALL_purpose_create=Module["_TALER_WRALL_purpose_create"]=asm["_TALER_WRALL_purpose_create"];var _gpg_err_init=Module["_gpg_err_init"]=asm["_gpg_err_init"];var _GNUNET_CRYPTO_kdf=Module["_GNUNET_CRYPTO_kdf"]=asm["_GNUNET_CRYPTO_kdf"];var _GNUNET_CRYPTO_eddsa_sign=Module["_GNUNET_CRYPTO_eddsa_sign"]=asm["_GNUNET_CRYPTO_eddsa_sign"];var _TALER_amount_hton=Module["_TALER_amount_hton"]=asm["_TALER_amount_hton"];var _GNUNET_CRYPTO_rsa_public_key_free=Module["_GNUNET_CRYPTO_rsa_public_key_free"]=asm["_GNUNET_CRYPTO_rsa_public_key_free"];var _GNUNET_CRYPTO_rsa_private_key_encode=Module["_GNUNET_CRYPTO_rsa_private_key_encode"]=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];var _GNUNET_CRYPTO_eddsa_key_get_public=Module["_GNUNET_CRYPTO_eddsa_key_get_public"]=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _GNUNET_CRYPTO_rsa_blind=Module["_GNUNET_CRYPTO_rsa_blind"]=asm["_GNUNET_CRYPTO_rsa_blind"];var _TALER_amount_add=Module["_TALER_amount_add"]=asm["_TALER_amount_add"];var _free=Module["_free"]=asm["_free"];var _TALER_gcrypt_init=Module["_TALER_gcrypt_init"]=asm["_TALER_gcrypt_init"];var _GNUNET_STRINGS_data_to_string_alloc=Module["_GNUNET_STRINGS_data_to_string_alloc"]=asm["_GNUNET_STRINGS_data_to_string_alloc"];var _GNUNET_CRYPTO_hash_context_abort=Module["_GNUNET_CRYPTO_hash_context_abort"]=asm["_GNUNET_CRYPTO_hash_context_abort"];var _GNUNET_CRYPTO_symmetric_decrypt=Module["_GNUNET_CRYPTO_symmetric_decrypt"]=asm["_GNUNET_CRYPTO_symmetric_decrypt"];var _GNUNET_CRYPTO_random_init=Module["_GNUNET_CRYPTO_random_init"]=asm["_GNUNET_CRYPTO_random_init"];var _TALER_amount_get_zero=Module["_TALER_amount_get_zero"]=asm["_TALER_amount_get_zero"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _GNUNET_CRYPTO_hkdf=Module["_GNUNET_CRYPTO_hkdf"]=asm["_GNUNET_CRYPTO_hkdf"];var _GNUNET_CRYPTO_rsa_public_key_decode=Module["_GNUNET_CRYPTO_rsa_public_key_decode"]=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];var _GNUNET_CRYPTO_ecdsa_key_create=Module["_GNUNET_CRYPTO_ecdsa_key_create"]=asm["_GNUNET_CRYPTO_ecdsa_key_create"];var _TALER_WRALL_ecdsa_public_key_from_private=Module["_TALER_WRALL_ecdsa_public_key_from_private"]=asm["_TALER_WRALL_ecdsa_public_key_from_private"];var _memmove=Module["_memmove"]=asm["_memmove"];var _GNUNET_CRYPTO_rsa_public_key_encode=Module["_GNUNET_CRYPTO_rsa_public_key_encode"]=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var _GNUNET_CRYPTO_hash=Module["_GNUNET_CRYPTO_hash"]=asm["_GNUNET_CRYPTO_hash"];var _TALER_WR_get_value=Module["_TALER_WR_get_value"]=asm["_TALER_WR_get_value"];var _GNUNET_CRYPTO_rsa_signature_decode=Module["_GNUNET_CRYPTO_rsa_signature_decode"]=asm["_GNUNET_CRYPTO_rsa_signature_decode"];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_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_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];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=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){Module.printErr("run() called, but dependencies remain, so not running");return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}checkStackCookie()}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){Module.printErr("exit("+status+") implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)");return}if(Module["noExitRuntime"]){Module.printErr("exit("+status+") called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)")}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";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()
diff --git a/src/types.ts b/src/types.ts
index 9de769dfe..b04453767 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -509,7 +509,7 @@ export type PayCoinInfo = Array<{ updatedCoin: CoinRecord, sig: CoinPaySig }>;
export namespace Amounts {
- export const fractionalBase = 1e6;
+ export const fractionalBase = 1e8;
export interface Result {
amount: AmountJson;