forked from mmig/speech-to-flac
-
Notifications
You must be signed in to change notification settings - Fork 0
/
libflac3-1.3.2.min.js
18 lines (11 loc) · 393 KB
/
libflac3-1.3.2.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var Flac=(function(global){var Module=Module||{};var _flac_ready=false;Module["_main"]=(function(){_flac_ready=true;if(!_exported){setTimeout((function(){if(_exported.onready){_exported.onready()}}),0)}else{if(_exported.onready){_exported.onready()}}});if(global&&global.FLAC_SCRIPT_LOCATION){Module["memoryInitializerPrefixURL"]=global.FLAC_SCRIPT_LOCATION}var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){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 (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[null,null,null,null,null],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["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=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function 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){TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=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){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+5824;__ATINIT__.push();memoryInitializer="libflac3-1.3.2.min.js.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _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}Module["_memset"]=_memset;var _BDtoILow=true;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _fabs=Math_abs;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;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,curr,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})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);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,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((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(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]};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 chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};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("/")})};function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};var _UItoD=true;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);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),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 ___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}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var _llvm_ctlz_i32=true;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}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}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var _log=Math_log;var _cos=Math_cos;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var _BItoD=true;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;var _exp=Math_exp;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}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}}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}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};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()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_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 jsCall_iiii(index,a1,a2,a3){return Runtime.functionPointers[index](a1,a2,a3)}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}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 jsCall_vi(index,a1){Runtime.functionPointers[index](a1)}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6)}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 jsCall_ii(index,a1){return Runtime.functionPointers[index](a1)}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 jsCall_viii(index,a1,a2,a3){Runtime.functionPointers[index](a1,a2,a3)}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 jsCall_iiiii(index,a1,a2,a3,a4){return Runtime.functionPointers[index](a1,a2,a3,a4)}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 jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6)}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 jsCall_iii(index,a1,a2){return Runtime.functionPointers[index](a1,a2)}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)}}function jsCall_viiii(index,a1,a2,a3,a4){Runtime.functionPointers[index](a1,a2,a3,a4)}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"jsCall_iiii":jsCall_iiii,"invoke_viiiiiii":invoke_viiiiiii,"jsCall_viiiiiii":jsCall_viiiiiii,"invoke_vi":invoke_vi,"jsCall_vi":jsCall_vi,"invoke_iiiiiii":invoke_iiiiiii,"jsCall_iiiiiii":jsCall_iiiiiii,"invoke_ii":invoke_ii,"jsCall_ii":jsCall_ii,"invoke_viii":invoke_viii,"jsCall_viii":jsCall_viii,"invoke_iiiii":invoke_iiiii,"jsCall_iiiii":jsCall_iiiii,"invoke_viiiiii":invoke_viiiiii,"jsCall_viiiiii":jsCall_viiiiii,"invoke_iii":invoke_iii,"jsCall_iii":jsCall_iii,"invoke_viiii":invoke_viiii,"jsCall_viiii":jsCall_viiii,"_fabs":_fabs,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_exp":_exp,"___syscall54":___syscall54,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_fabsf":_fabsf,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_sysconf":_sysconf,"_cos":_cos,"_pthread_self":_pthread_self,"_log":_log,"___unlock":___unlock,"_emscripten_set_main_loop":_emscripten_set_main_loop,"___lock":___lock,"_abort":_abort,"_pthread_cleanup_push":_pthread_cleanup_push,"_time":_time,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"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.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_viiiiiii;var ga=env.jsCall_viiiiiii;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_iiiiiii;var ka=env.jsCall_iiiiiii;var la=env.invoke_ii;var ma=env.jsCall_ii;var na=env.invoke_viii;var oa=env.jsCall_viii;var pa=env.invoke_iiiii;var qa=env.jsCall_iiiii;var ra=env.invoke_viiiiii;var sa=env.jsCall_viiiiii;var ta=env.invoke_iii;var ua=env.jsCall_iii;var va=env.invoke_viiii;var wa=env.jsCall_viiii;var xa=env._fabs;var ya=env._pthread_cleanup_pop;var za=env._exp;var Aa=env.___syscall54;var Ba=env.___syscall6;var Ca=env.___setErrNo;var Da=env._emscripten_set_main_loop_timing;var Ea=env._fabsf;var Fa=env._sbrk;var Ga=env._emscripten_memcpy_big;var Ha=env._sysconf;var Ia=env._cos;var Ja=env._pthread_self;var Ka=env._log;var La=env.___unlock;var Ma=env._emscripten_set_main_loop;var Na=env.___lock;var Oa=env._abort;var Pa=env._pthread_cleanup_push;var Qa=env._time;var Ra=env.___syscall140;var Sa=env.___syscall145;var Ta=env.___syscall146;var Ua=0.0;
// EMSCRIPTEN_START_FUNCS
function db(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function eb(){return i|0}function fb(a){a=a|0;i=a}function gb(a,b){a=a|0;b=b|0;i=a;j=b}function hb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ib(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function jb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function kb(a){a=a|0;C=a}function lb(){return C|0}function mb(){return Re(1,40)|0}function nb(a){a=a|0;var b=0;b=c[a>>2]|0;if(b)Qe(b);Qe(a);return}function ob(a){a=a|0;var b=0;b=c[a>>2]|0;if(b)Qe(b);c[a+32>>2]=0;c[a+36>>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;return}function pb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[a+4>>2]=2048;e=Pe(8192)|0;c[a>>2]=e;if(!e){e=0;return e|0}c[a+32>>2]=b;c[a+36>>2]=d;e=1;return e|0}function qb(a){a=a|0;a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return 1}function rb(a,b){a=a|0;b=b|0;c[a+24>>2]=b&65535;c[a+28>>2]=c[a+20>>2];return}function sb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+20>>2]|0;if((d|0)!=0?(g=c[(c[a>>2]|0)+(c[a+16>>2]<<2)>>2]|0,h=a+28|0,b=c[h>>2]|0,b>>>0<d>>>0):0){e=a+24|0;f=c[e>>2]|0;do{f=f<<8&65280^c[8+((f>>>8^g>>>(24-b|0)&255)<<2)>>2];c[e>>2]=f;b=b+8|0;c[h>>2]=b}while(b>>>0<d>>>0)}return c[a+24>>2]&65535|0}function tb(a){a=a|0;return (c[a+20>>2]&7|0)==0|0}function ub(a){a=a|0;return 8-(c[a+20>>2]&7)|0}function vb(a){a=a|0;return ((c[a+8>>2]|0)-(c[a+16>>2]|0)<<5)+(c[a+12>>2]<<3)-(c[a+20>>2]|0)|0}function wb(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;if(!d){c[b>>2]=0;o=1;return o|0}e=a+8|0;n=a+16|0;f=a+12|0;m=a+20|0;while(1){g=c[e>>2]|0;h=c[n>>2]|0;i=c[m>>2]|0;if(((g-h<<5)+(c[f>>2]<<3)-i|0)>>>0>=d>>>0)break;if(!(Hb(a)|0)){e=0;o=28;break}}if((o|0)==28)return e|0;f=(i|0)!=0;if(g>>>0<=h>>>0){e=c[(c[a>>2]|0)+(h<<2)>>2]|0;if(f){c[b>>2]=(e&-1>>>i)>>>(32-d-i|0);c[m>>2]=(c[m>>2]|0)+d;o=1;return o|0}else{c[b>>2]=e>>>(32-d|0);c[m>>2]=(c[m>>2]|0)+d;o=1;return o|0}}if(!f){h=c[(c[a>>2]|0)+(h<<2)>>2]|0;if(d>>>0<32){c[b>>2]=h>>>(32-d|0);c[m>>2]=d;o=1;return o|0}c[b>>2]=h;g=a+24|0;e=c[g>>2]|0;f=a+28|0;switch(c[f>>2]|0){case 0:{e=c[8+((e>>>8^h>>>24)<<2)>>2]^e<<8&65280;o=21;break}case 8:{o=21;break}case 16:{o=22;break}case 24:{o=23;break}default:{}}if((o|0)==21){e=e<<8&65280^c[8+((e>>>8^h>>>16&255)<<2)>>2];o=22}if((o|0)==22){e=e<<8&65280^c[8+((e>>>8^h>>>8&255)<<2)>>2];o=23}if((o|0)==23)c[g>>2]=e<<8&65280^c[8+((e>>>8^h&255)<<2)>>2];c[f>>2]=0;c[n>>2]=(c[n>>2]|0)+1;o=1;return o|0}k=32-i|0;l=c[a>>2]|0;j=c[l+(h<<2)>>2]|0;e=j&-1>>>i;if(k>>>0>d>>>0){c[b>>2]=e>>>(k-d|0);c[m>>2]=(c[m>>2]|0)+d;o=1;return o|0}c[b>>2]=e;g=d-k|0;h=a+24|0;e=c[h>>2]|0;f=a+28|0;switch(c[f>>2]|0){case 0:{e=c[8+((e>>>8^j>>>24)<<2)>>2]^e<<8&65280;o=12;break}case 8:{o=12;break}case 16:{o=13;break}case 24:{o=14;break}default:{}}if((o|0)==12){e=e<<8&65280^c[8+((e>>>8^j>>>16&255)<<2)>>2];o=13}if((o|0)==13){e=e<<8&65280^c[8+((e>>>8^j>>>8&255)<<2)>>2];o=14}if((o|0)==14)c[h>>2]=e<<8&65280^c[8+((e>>>8^j&255)<<2)>>2];c[f>>2]=0;c[n>>2]=(c[n>>2]|0)+1;c[m>>2]=0;if((k|0)==(d|0)){o=1;return o|0}o=c[b>>2]<<g;c[b>>2]=o;c[b>>2]=(c[l+(c[n>>2]<<2)>>2]|0)>>>(32-g|0)|o;c[m>>2]=g;o=1;return o|0}function xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(!(wb(a,e,d)|0)){b=0;i=f;return b|0}a=1<<d+-1;c[b>>2]=(c[e>>2]^a)-a;b=1;i=f;return b|0}function yb(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;e=g+4|0;f=g;do if(d>>>0>32){if(!(wb(a,e,d+-32|0)|0)){b=0;i=g;return b|0}if(!(wb(a,f,32)|0)){b=0;i=g;return b|0}else{a=c[e>>2]|0;d=b;c[d>>2]=0;c[d+4>>2]=a;d=c[f>>2]|0;break}}else if(!(wb(a,f,d)|0)){b=0;i=g;return b|0}else{d=c[f>>2]|0;a=0;break}while(0);c[b>>2]=d;c[b+4>>2]=a;b=1;i=g;return b|0}function zb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[e>>2]=0;if(!(wb(a,e,8)|0)){f=0;i=g;return f|0}if(!(wb(a,f,8)|0)){f=0;i=g;return f|0}d=c[e>>2]|c[f>>2]<<8;c[e>>2]=d;if(!(wb(a,f,8)|0)){f=0;i=g;return f|0}d=d|c[f>>2]<<16;c[e>>2]=d;if(!(wb(a,f,8)|0)){f=0;i=g;return f|0}f=d|c[f>>2]<<24;c[e>>2]=f;c[b>>2]=f;f=1;i=g;return f|0}function Ab(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;k=l;if(b){e=a+20|0;d=c[e>>2]&7;do if(d){d=8-d|0;d=d>>>0<b>>>0?d:b;if(!(wb(a,k,d)|0)){k=0;i=l;return k|0}else{b=b-d|0;break}}while(0);d=b>>>3;do if(d){while(1){if(!(c[e>>2]|0)){j=8;break}if(!(wb(a,h,8)|0))break;d=d+-1|0;if(!d){j=19;break}}a:do if((j|0)==8){f=a+16|0;g=a+8|0;if(d>>>0>3){do{while(1){e=c[f>>2]|0;if(e>>>0<(c[g>>2]|0)>>>0)break;if(!(Hb(a)|0))break a}c[f>>2]=e+1;d=d+-4|0}while(d>>>0>3);if(!d){j=19;break}}while(1){d=d+-1|0;if(!(wb(a,h,8)|0))break a;if(!d){j=19;break}}}while(0);if((j|0)==19){b=b&7;break}k=0;i=l;return k|0}while(0);if((b|0)!=0?(wb(a,k,b)|0)==0:0){k=0;i=l;return k|0}}k=1;i=l;return k|0}function Bb(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;g=h;a:do if(b){d=a+20|0;while(1){if(!(c[d>>2]|0))break;if(!(wb(a,g,8)|0)){b=0;break a}b=b+-1|0;if(!b){b=1;break a}}e=a+16|0;f=a+8|0;if(b>>>0>3)do{while(1){d=c[e>>2]|0;if(d>>>0<(c[f>>2]|0)>>>0)break;if(!(Hb(a)|0)){b=0;break a}}c[e>>2]=d+1;b=b+-4|0}while(b>>>0>3);if(b)while(1){b=b+-1|0;if(!(wb(a,g,8)|0)){b=0;break a}if(!b){b=1;break}}else b=1}else b=1;while(0);i=h;return b|0}function Cb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;if(!e){k=1;i=l;return k|0}h=b+20|0;while(1){if(!(c[h>>2]|0)){g=e;f=d;d=4;break}if(!(wb(b,k,8)|0)){j=0;d=14;break}a[d>>0]=c[k>>2];e=e+-1|0;if(!e){j=1;d=14;break}else d=d+1|0}if((d|0)==4){e=b+16|0;h=b+8|0;a:do if(g>>>0>3){b:while(1){while(1){d=c[e>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0)break;if(!(Hb(b)|0)){j=0;break b}}c[e>>2]=d+1;j=c[(c[b>>2]|0)+(d<<2)>>2]|0;a[f>>0]=j>>>24;a[f+1>>0]=j>>>16;a[f+2>>0]=j>>>8;a[f+3>>0]=j;f=f+4|0;g=g+-4|0;if(g>>>0<=3)break a}i=l;return j|0}while(0);if(!g){k=1;i=l;return k|0}while(1){if(!(wb(b,k,8)|0)){j=0;d=14;break}a[f>>0]=c[k>>2];g=g+-1|0;if(!g){j=1;d=14;break}else f=f+1|0}if((d|0)==14){i=l;return j|0}}else if((d|0)==14){i=l;return j|0}return 0}function Db(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;c[b>>2]=0;i=a+16|0;g=a+8|0;l=a+20|0;j=a+24|0;k=a+28|0;h=a+12|0;while(1){d=c[i>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){e=c[h>>2]<<3;f=c[l>>2]|0;if(e>>>0>f>>>0){d=(c[(c[a>>2]|0)+(d<<2)>>2]&-1<<32-e)<<f;if(d){m=19;break}c[b>>2]=e-f+(c[b>>2]|0);c[l>>2]=e}if(!(Hb(a)|0)){d=0;m=22;break}else continue}e=c[a>>2]|0;f=c[l>>2]|0;d=c[e+(d<<2)>>2]<<f;if(d){m=4;break}c[b>>2]=32-f+(c[b>>2]|0);f=c[i>>2]|0;e=c[e+(f<<2)>>2]|0;d=c[j>>2]|0;switch(c[k>>2]|0){case 0:{d=c[8+((d>>>8^e>>>24)<<2)>>2]^d<<8&65280;m=13;break}case 8:{m=13;break}case 16:{m=14;break}case 24:{m=15;break}default:{}}if((m|0)==13){d=d<<8&65280^c[8+((d>>>8^e>>>16&255)<<2)>>2];m=14}if((m|0)==14){d=d<<8&65280^c[8+((d>>>8^e>>>8&255)<<2)>>2];m=15}if((m|0)==15){m=0;c[j>>2]=d<<8&65280^c[8+((d>>>8^e&255)<<2)>>2]}c[k>>2]=0;c[i>>2]=f+1;c[l>>2]=0}if((m|0)==4){a=aa(d|0)|0;c[b>>2]=(c[b>>2]|0)+a;b=a+1+(c[l>>2]|0)|0;c[l>>2]=b;if(b>>>0<=31){m=1;return m|0}f=c[i>>2]|0;e=c[e+(f<<2)>>2]|0;d=c[j>>2]|0;switch(c[k>>2]|0){case 0:{d=c[8+((d>>>8^e>>>24)<<2)>>2]^d<<8&65280;m=7;break}case 8:{m=7;break}case 16:{m=8;break}case 24:{m=9;break}default:{}}if((m|0)==7){d=d<<8&65280^c[8+((d>>>8^e>>>16&255)<<2)>>2];m=8}if((m|0)==8){d=d<<8&65280^c[8+((d>>>8^e>>>8&255)<<2)>>2];m=9}if((m|0)==9)c[j>>2]=d<<8&65280^c[8+((d>>>8^e&255)<<2)>>2];c[k>>2]=0;c[i>>2]=f+1;c[l>>2]=0;m=1;return m|0}else if((m|0)==19){m=aa(d|0)|0;c[b>>2]=(c[b>>2]|0)+m;c[l>>2]=m+1+(c[l>>2]|0);m=1;return m|0}else if((m|0)==22)return d|0;return 0}function Eb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0;ea=i;i=i+16|0;N=ea+4|0;O=ea;C=b+(d<<2)|0;if(!e){if((d|0)>0)d=b;else{a=1;i=ea;return a|0}while(1){if(!(Db(a,O)|0)){v=0;t=45;break}$=c[O>>2]|0;c[d>>2]=$>>>1^0-($&1);d=d+4|0;if(d>>>0>=C>>>0){v=1;t=45;break}}if((t|0)==45){i=ea;return v|0}}$=a+16|0;d=c[$>>2]|0;u=a+8|0;g=c[u>>2]|0;if(d>>>0<g>>>0){F=c[a+20>>2]|0;M=c[a>>2]|0;B=F;Z=M;F=c[M+(d<<2)>>2]<<F;M=d;Q=b;V=g;t=7}else{T=b;X=0;t=32}a:while(1){do if((t|0)==7){t=0;d=32-B|0;if(Q>>>0>=C>>>0){_=M;f=d;t=37;break a}q=32-e|0;r=a+24|0;s=a+28|0;o=Z;b=F;h=M;p=Q;b:while(1){if(!b){j=c[s>>2]|0;k=c[r>>2]|0;l=c[o+(h<<2)>>2]|0;b=h;g=d;while(1){h=b+1|0;switch(j|0){case 0:{G=c[8+((k>>>8^l>>>24)<<2)>>2]^k<<8&65280;t=14;break}case 8:{G=k;t=14;break}case 16:{I=k;t=15;break}case 24:{L=k;t=16;break}default:E=k}if((t|0)==14){I=G<<8&65280^c[8+((G>>>8^l>>>16&255)<<2)>>2];t=15}if((t|0)==15){L=I<<8&65280^c[8+((I>>>8^l>>>8&255)<<2)>>2];t=16}if((t|0)==16){t=0;E=L<<8&65280^c[8+((L>>>8^l&255)<<2)>>2];c[r>>2]=E}c[s>>2]=0;if(h>>>0>=V>>>0){w=h;R=p;W=g;t=31;break b}b=c[o+(h<<2)>>2]|0;if(b)break;j=0;k=E;l=0;b=h;g=g+32|0}m=aa(b|0)|0;n=m+g|0;g=m}else{g=aa(b|0)|0;n=g}g=b<<g<<1;l=d+31-n&31;c[O>>2]=n;m=g>>>q;if(l>>>0<e>>>0){j=h+1|0;d=c[Z+(h<<2)>>2]|0;g=c[r>>2]|0;switch(c[s>>2]|0){case 0:{H=c[8+((g>>>8^d>>>24)<<2)>>2]^g<<8&65280;t=25;break}case 8:{H=g;t=25;break}case 16:{J=g;t=26;break}case 24:{K=g;t=27;break}default:{}}if((t|0)==25){J=H<<8&65280^c[8+((H>>>8^d>>>16&255)<<2)>>2];t=26}if((t|0)==26){K=J<<8&65280^c[8+((J>>>8^d>>>8&255)<<2)>>2];t=27}if((t|0)==27){t=0;c[r>>2]=K<<8&65280^c[8+((K>>>8^d&255)<<2)>>2]}c[s>>2]=0;if(j>>>0>=V>>>0){x=n;y=l;z=m;A=j;S=p;t=34;break}o=c[Z+(j<<2)>>2]|0;g=l+q|0;k=Z;b=o<<32-g;h=j;d=g;g=o>>>g|m}else{k=o;b=g<<e;d=l-e|0;g=m}c[N>>2]=g;o=n<<e|g;c[p>>2]=o>>>1^0-(o&1);p=p+4|0;if(p>>>0>=C>>>0){_=h;f=d;t=37;break a}else o=k}if((t|0)==31){c[a+20>>2]=0;c[$>>2]=w;T=R;X=W;t=32;continue a}else if((t|0)==34){c[a+20>>2]=0;c[$>>2]=A;D=x;P=y;U=S;Y=z;break}}else if((t|0)==32){if(!(Db(a,O)|0)){v=0;t=45;break a}D=(c[O>>2]|0)+X|0;c[O>>2]=D;P=0;U=T;Y=0}while(0);if(!(wb(a,N,e-P|0)|0)){v=0;t=45;break}g=c[N>>2]|Y;c[N>>2]=g;g=D<<e|g;d=U+4|0;c[U>>2]=g>>>1^0-(g&1);g=c[$>>2]|0;b=c[u>>2]|0;h=c[a+20>>2]|0;j=c[a>>2]|0;if(d>>>0<C>>>0&g>>>0>=b>>>0){T=d;X=0;t=32}else{B=h;Z=j;F=c[j+(g<<2)>>2]<<h;M=g;Q=d;V=b;t=7}}if((t|0)==37){if(_>>>0<V>>>0&(f|0)==0){d=_+1|0;f=c[Z+(_<<2)>>2]|0;g=a+24|0;b=c[g>>2]|0;h=a+28|0;switch(c[h>>2]|0){case 0:{ba=c[8+((b>>>8^f>>>24)<<2)>>2]^b<<8&65280;t=40;break}case 8:{ba=b;t=40;break}case 16:{ca=b;t=41;break}case 24:{da=b;t=42;break}default:{}}if((t|0)==40){ca=ba<<8&65280^c[8+((ba>>>8^f>>>16&255)<<2)>>2];t=41}if((t|0)==41){da=ca<<8&65280^c[8+((ca>>>8^f>>>8&255)<<2)>>2];t=42}if((t|0)==42)c[g>>2]=da<<8&65280^c[8+((da>>>8^f&255)<<2)>>2];c[h>>2]=0;f=32}else d=_;c[a+20>>2]=32-f;c[$>>2]=d;a=1;i=ea;return a|0}else if((t|0)==45){i=ea;return v|0}return 0}function Fb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;if(!(wb(b,k,8)|0)){d=0;i=l;return d|0}h=(e|0)!=0;g=c[k>>2]|0;if(h){j=c[f>>2]|0;c[f>>2]=j+1;a[e+j>>0]=g}a:do if(g&128){do if((g&192|0)!=0&(g&32|0)==0){j=1;g=g&31}else{if((g&224|0)!=0&(g&16|0)==0){j=2;g=g&15;break}if((g&240|0)!=0&(g&8|0)==0){j=3;g=g&7;break}if((g&248|0)!=0&(g&4|0)==0){j=4;g=g&3;break}if((g&252|0)!=0&(g&2|0)==0){j=5;g=g&1;break}c[d>>2]=-1;d=1;i=l;return d|0}while(0);b:do if(h){while(1){if(!(wb(b,k,8)|0)){g=0;break}h=c[k>>2]|0;m=c[f>>2]|0;c[f>>2]=m+1;a[e+m>>0]=h;if((h&192|0)!=128)break b;g=h&63|g<<6;j=j+-1|0;if(!j)break a}i=l;return g|0}else{while(1){if(!(wb(b,k,8)|0)){g=0;break}h=c[k>>2]|0;if((h&192|0)!=128)break b;g=h&63|g<<6;j=j+-1|0;if(!j)break a}i=l;return g|0}while(0);c[d>>2]=-1;m=1;i=l;return m|0}while(0);c[d>>2]=g;m=1;i=l;return m|0}function Gb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;if(!(wb(b,l,8)|0)){d=0;i=m;return d|0}j=(e|0)!=0;h=c[l>>2]|0;if(j){k=c[f>>2]|0;c[f>>2]=k+1;a[e+k>>0]=h}a:do if(!(h&128))g=0;else{do if(!((h&192|0)!=0&(h&32|0)==0)){if((h&224|0)!=0&(h&16|0)==0){h=h&15;g=0;k=2;break}if((h&240|0)!=0&(h&8|0)==0){h=h&7;g=0;k=3;break}if((h&248|0)!=0&(h&4|0)==0){h=h&3;g=0;k=4;break}if((h&252|0)!=0&(h&2|0)==0){h=h&1;g=0;k=5;break}if((h&254|0)!=0&(h&1|0)==0){h=0;g=0;k=6}else{c[d>>2]=-1;c[d+4>>2]=-1;d=1;i=m;return d|0}}else{h=h&31;g=0;k=1}while(0);b:do if(j){while(1){if(!(wb(b,l,8)|0)){g=0;break}j=c[l>>2]|0;n=c[f>>2]|0;c[f>>2]=n+1;a[e+n>>0]=j;if((j&192|0)!=128)break b;h=Ye(h|0,g|0,6)|0;g=C;h=j&63|h;k=k+-1|0;if(!k)break a}i=m;return g|0}else{while(1){if(!(wb(b,l,8)|0)){g=0;break}j=c[l>>2]|0;if((j&192|0)!=128)break b;h=Ye(h|0,g|0,6)|0;g=C;h=j&63|h;k=k+-1|0;if(!k)break a}i=m;return g|0}while(0);n=d;c[n>>2]=-1;c[n+4>>2]=-1;n=1;i=m;return n|0}while(0);n=d;c[n>>2]=h;c[n+4>>2]=g;n=1;i=m;return n|0}function Hb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j;d=a+16|0;e=c[d>>2]|0;g=a+8|0;b=c[g>>2]|0;h=a+12|0;if(e){k=c[a>>2]|0;bf(k|0,k+(e<<2)|0,b-e+((c[h>>2]|0)!=0&1)<<2|0)|0;b=(c[g>>2]|0)-e|0;c[g>>2]=b;c[d>>2]=0}k=(c[a+4>>2]|0)-b<<2;d=c[h>>2]|0;c[f>>2]=k-d;if((k|0)==(d|0)){k=0;i=j;return k|0}b=(c[a>>2]|0)+(b<<2)|0;if(d)c[b>>2]=cf(c[b>>2]|0)|0;if(!(Va[c[a+32>>2]&31](b+d|0,f,c[a+36>>2]|0)|0)){k=0;i=j;return k|0}e=c[g>>2]|0;d=c[h>>2]|0;b=c[f>>2]|0;if(e>>>0<(d+3+(e<<2)+b|0)>>>2>>>0){a=c[a>>2]|0;d=(d+b+(e<<2)+3|0)>>>2;b=e;do{k=a+(b<<2)|0;c[k>>2]=cf(c[k>>2]|0)|0;b=b+1|0}while((b|0)!=(d|0));e=c[g>>2]|0;d=c[h>>2]|0;b=c[f>>2]|0}k=(e<<2)+d+b|0;c[g>>2]=k>>>2;c[h>>2]=k&3;k=1;i=j;return k|0}function Ib(){return Re(1,20)|0}function Jb(a){a=a|0;var b=0;b=c[a>>2]|0;if(b)Qe(b);Qe(a);return}function Kb(a){a=a|0;var b=0;b=c[a>>2]|0;if(b)Qe(b);c[a>>2]=0;c[a+8>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;return}function Lb(a){a=a|0;var b=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=8192;b=Pe(32768)|0;c[a>>2]=b;return (b|0)!=0|0}function Mb(a){a=a|0;c[a+16>>2]=0;c[a+12>>2]=0;return}function Nb(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;if(!(Ob(a,e,f)|0)){d=0;i=g;return d|0}b[d>>1]=dc(c[e>>2]|0,c[f>>2]|0)|0;d=1;i=g;return d|0}function Ob(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;k=a+16|0;f=c[k>>2]|0;if(f&7){d=0;return d|0}if(!f){g=a+12|0;f=c[a>>2]|0;e=0}else{g=a+12|0;e=c[g>>2]|0;j=a+8|0;do if((e|0)==(c[j>>2]|0)?(h=(f+63|0)>>>5,i=e+h|0,i>>>0>e>>>0):0){h=h&1023;h=((h|0)==0?0:1024-h|0)+i|0;f=c[a>>2]|0;if(h){if((4294967295/(h>>>0)|0)>>>0<4){d=0;return d|0}i=h<<2;e=Se(f,i)|0;if((i|0)!=0&(e|0)==0){Qe(f);d=0;return d|0}}else e=Se(f,0)|0;if(!e){d=0;return d|0}else{c[a>>2]=e;c[j>>2]=h;f=c[k>>2]|0;e=c[g>>2]|0;break}}while(0);j=cf(c[a+4>>2]<<32-f|0)|0;f=c[a>>2]|0;c[f+(e<<2)>>2]=j;e=(c[k>>2]|0)>>>3}c[b>>2]=f;c[d>>2]=e+(c[g>>2]<<2);d=1;return d|0}function Pb(a){a=a|0;return}function Qb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;if(!(Ob(b,e,f)|0)){d=0;i=g;return d|0}a[d>>0]=cc(c[e>>2]|0,c[f>>2]|0)|0;d=1;i=g;return d|0}function Rb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!b){a=1;return a|0}g=a+8|0;e=c[g>>2]|0;h=a+12|0;f=c[h>>2]|0;i=a+16|0;do if(e>>>0<=(f+b|0)>>>0?(d=((b+31+(c[i>>2]|0)|0)>>>5)+f|0,d>>>0>e>>>0):0){f=d-e&1023;f=((f|0)==0?0:1024-f|0)+d|0;e=c[a>>2]|0;if(f){if((4294967295/(f>>>0)|0)>>>0<4){a=0;return a|0}j=f<<2;d=Se(e,j)|0;if((j|0)!=0&(d|0)==0){Qe(e);j=0;return j|0}}else d=Se(e,0)|0;if(!d){j=0;return j|0}else{c[a>>2]=d;c[g>>2]=f;break}}while(0);e=c[i>>2]|0;do if(e){d=32-e|0;d=d>>>0<b>>>0?d:b;j=a+4|0;f=c[j>>2]<<d;c[j>>2]=f;j=e+d|0;c[i>>2]=j;if((j|0)==32){g=cf(f|0)|0;j=c[h>>2]|0;c[h>>2]=j+1;c[(c[a>>2]|0)+(j<<2)>>2]=g;c[i>>2]=0;b=b-d|0;break}else{j=1;return j|0}}while(0);if(b>>>0>31){e=c[a>>2]|0;d=b;do{j=c[h>>2]|0;c[h>>2]=j+1;c[e+(j<<2)>>2]=0;d=d+-32|0}while(d>>>0>31);b=b&31}if(!b){j=1;return j|0}c[a+4>>2]=0;c[i>>2]=b;j=1;return j|0}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;if(!(c>>>0>31|(b>>>c|0)==0)){b=0;return b|0}b=ac(a,b,c)|0;return b|0}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<32)b=~(-1<<c)&b;return ac(a,b,c)|0}function Ub(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(d>>>0<=32){if(!(d>>>0>31|(b>>>d|0)==0)){a=0;return a|0}a=ac(a,b,d)|0;return a|0}d=d+-32|0;if(d>>>0>31|(c>>>d|0)==0?(ac(a,c,d)|0)!=0:0)d=(ac(a,b,32)|0)!=0;else d=0;a=d&1;return a|0}function Vb(a,b){a=a|0;b=b|0;if(!(ac(a,b&255,8)|0)){b=0;return b|0}if(!(ac(a,b>>>8&255,8)|0)){b=0;return b|0}if(!(ac(a,b>>>16&255,8)|0)){b=0;return b|0}b=(ac(a,b>>>24,8)|0)!=0&1;return b|0}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;if(!c){b=1;return b|0}else e=0;while(1){if(!(ac(a,d[b+e>>0]|0,8)|0)){a=0;e=4;break}e=e+1|0;if(e>>>0>=c>>>0){a=1;e=4;break}}if((e|0)==4)return a|0;return 0}function Xb(a,b){a=a|0;b=b|0;if(b>>>0<32){b=ac(a,1,b+1|0)|0;return b|0}if(!(Rb(a,b)|0))a=0;else a=(ac(a,1,1)|0)!=0;b=a&1;return b|0}function Yb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;l=-1<<e;n=-1>>>(31-e|0);o=e+1|0;if(!d){u=1;return u|0}q=a+16|0;r=a+8|0;s=a+12|0;t=a+4|0;k=b;a:while(1){j=c[k>>2]|0;j=j<<1^j>>31;i=j>>>e;b=i+o|0;f=c[q>>2]|0;if((f|0)!=0?(m=b+f|0,m>>>0<32):0){c[q>>2]=m;c[t>>2]=c[t>>2]<<b|(j|l)&n}else u=6;do if((u|0)==6){u=0;g=c[r>>2]|0;h=c[s>>2]|0;if(g>>>0<=(i+1+h+f|0)>>>0?(p=((b+31+f|0)>>>5)+h|0,p>>>0>g>>>0):0){g=p-g&1023;g=((g|0)==0?0:1024-g|0)+p|0;b=c[a>>2]|0;if(g){if((4294967295/(g>>>0)|0)>>>0<4){b=0;u=30;break a}h=g<<2;f=Se(b,h)|0;if((h|0)!=0&(f|0)==0){u=12;break a}else b=f}else b=Se(b,0)|0;if(!b){b=0;u=30;break a}c[a>>2]=b;c[r>>2]=g}b:do if(i){b=c[q>>2]|0;do if(b){f=32-b|0;g=c[t>>2]|0;if(i>>>0<f>>>0){c[t>>2]=g<<i;c[q>>2]=b+i;break b}else{h=g<<f;c[t>>2]=h;h=cf(h|0)|0;b=c[s>>2]|0;c[s>>2]=b+1;c[(c[a>>2]|0)+(b<<2)>>2]=h;c[q>>2]=0;b=i-f|0;break}}else b=i;while(0);if(b>>>0>31){f=c[a>>2]|0;g=b;do{i=c[s>>2]|0;c[s>>2]=i+1;c[f+(i<<2)>>2]=0;g=g+-32|0}while(g>>>0>31);b=b&31}if(b){c[t>>2]=0;c[q>>2]=b}}while(0);b=(j|l)&n;f=c[q>>2]|0;g=32-f|0;h=c[t>>2]|0;if(o>>>0<g>>>0){c[t>>2]=h<<o|b;c[q>>2]=f+o;break}else{i=o-g|0;c[q>>2]=i;i=h<<g|b>>>i;j=c[s>>2]|0;c[s>>2]=j+1;c[(c[a>>2]|0)+(j<<2)>>2]=i<<24|i>>>24|i>>>8&65280|i<<8&16711680;c[t>>2]=b;break}}while(0);d=d+-1|0;if(!d){b=1;u=30;break}else k=k+4|0}if((u|0)==12){Qe(b);u=0;return u|0}else if((u|0)==30)return b|0;return 0}function Zb(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){b=0;return b|0}if(b>>>0<128){b=ac(a,b,8)|0;return b|0}if(b>>>0<2048){c=(ac(a,b>>>6|192,8)|0)&1;b=c&(ac(a,b&63|128,8)|0);return b|0}if(b>>>0<65536){c=(ac(a,b>>>12|224,8)|0)&1;c=c&(ac(a,b>>>6&63|128,8)|0);c=c&(ac(a,b&63|128,8)|0);return c|0}if(b>>>0<2097152){c=(ac(a,b>>>18|240,8)|0)&1;c=c&(ac(a,b>>>12&63|128,8)|0);c=c&(ac(a,b>>>6&63|128,8)|0);c=c&(ac(a,b&63|128,8)|0);return c|0}if(b>>>0<67108864){c=(ac(a,b>>>24|248,8)|0)&1;c=c&(ac(a,b>>>18&63|128,8)|0);c=c&(ac(a,b>>>12&63|128,8)|0);c=c&(ac(a,b>>>6&63|128,8)|0);c=c&(ac(a,b&63|128,8)|0);return c|0}else{c=(ac(a,b>>>30|252,8)|0)&1;c=c&(ac(a,b>>>24&63|128,8)|0);c=c&(ac(a,b>>>18&63|128,8)|0);c=c&(ac(a,b>>>12&63|128,8)|0);c=c&(ac(a,b>>>6&63|128,8)|0);c=c&(ac(a,b&63|128,8)|0);return c|0}return 0}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0>15|(c|0)==15&b>>>0>4294967295){a=0;return a|0}if(c>>>0<0|(c|0)==0&b>>>0<128){a=ac(a,b,8)|0;return a|0}if(c>>>0<0|(c|0)==0&b>>>0<2048){c=$e(b|0,c|0,6)|0;c=(ac(a,c|192,8)|0)&1;a=c&(ac(a,b&63|128,8)|0);return a|0}if(c>>>0<0|(c|0)==0&b>>>0<65536){d=$e(b|0,c|0,12)|0;d=(ac(a,d|224,8)|0)&1;c=$e(b|0,c|0,6)|0;c=d&(ac(a,c&63|128,8)|0);a=c&(ac(a,b&63|128,8)|0);return a|0}if(c>>>0<0|(c|0)==0&b>>>0<2097152){d=$e(b|0,c|0,18)|0;d=(ac(a,d|240,8)|0)&1;e=$e(b|0,c|0,12)|0;e=d&(ac(a,e&63|128,8)|0);d=$e(b|0,c|0,6)|0;d=e&(ac(a,d&63|128,8)|0);d=d&(ac(a,b&63|128,8)|0);return d|0}if(c>>>0<0|(c|0)==0&b>>>0<67108864){d=$e(b|0,c|0,24)|0;d=(ac(a,d|248,8)|0)&1;e=$e(b|0,c|0,18)|0;e=d&(ac(a,e&63|128,8)|0);d=$e(b|0,c|0,12)|0;d=e&(ac(a,d&63|128,8)|0);e=$e(b|0,c|0,6)|0;e=d&(ac(a,e&63|128,8)|0);e=e&(ac(a,b&63|128,8)|0);return e|0}if(c>>>0<0|(c|0)==0&b>>>0<2147483648){e=$e(b|0,c|0,30)|0;e=(ac(a,e|252,8)|0)&1;d=$e(b|0,c|0,24)|0;d=e&(ac(a,d&63|128,8)|0);e=$e(b|0,c|0,18)|0;e=d&(ac(a,e&63|128,8)|0);d=$e(b|0,c|0,12)|0;d=e&(ac(a,d&63|128,8)|0);e=$e(b|0,c|0,6)|0;e=d&(ac(a,e&63|128,8)|0);e=e&(ac(a,b&63|128,8)|0);return e|0}else{d=(ac(a,254,8)|0)&1;e=$e(b|0,c|0,30)|0;e=d&(ac(a,e&63|128,8)|0);d=$e(b|0,c|0,24)|0;d=e&(ac(a,d&63|128,8)|0);e=$e(b|0,c|0,18)|0;e=d&(ac(a,e&63|128,8)|0);d=$e(b|0,c|0,12)|0;d=e&(ac(a,d&63|128,8)|0);e=$e(b|0,c|0,6)|0;e=d&(ac(a,e&63|128,8)|0);e=e&(ac(a,b&63|128,8)|0);return e|0}return 0}function $b(a){a=a|0;var b=0;b=c[a+16>>2]&7;if(!b){a=1;return a|0}a=Rb(a,8-b|0)|0;return a|0}function ac(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;if(!a){b=0;return b|0}h=c[a>>2]|0;if(d>>>0>32|(h|0)==0){b=0;return b|0}if(!d){b=1;return b|0}i=a+8|0;f=c[i>>2]|0;k=a+12|0;g=c[k>>2]|0;j=a+16|0;do if(f>>>0<=(g+d|0)>>>0?(e=((d+31+(c[j>>2]|0)|0)>>>5)+g|0,e>>>0>f>>>0):0){f=e-f&1023;f=((f|0)==0?0:1024-f|0)+e|0;if(f){if((4294967295/(f>>>0)|0)>>>0<4){b=0;return b|0}g=f<<2;e=Se(h,g)|0;if((g|0)!=0&(e|0)==0){Qe(h);b=0;return b|0}}else e=Se(h,0)|0;if(!e){b=0;return b|0}else{c[a>>2]=e;c[i>>2]=f;break}}else e=h;while(0);f=c[j>>2]|0;g=32-f|0;if(g>>>0>d>>>0){a=a+4|0;c[a>>2]=c[a>>2]<<d|b;c[j>>2]=f+d;b=1;return b|0}if(!f){a=cf(b|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;c[e+(b<<2)>>2]=a;b=1;return b|0}else{a=a+4|0;i=c[a>>2]<<g;d=d-g|0;c[j>>2]=d;j=i|b>>>d;d=c[k>>2]|0;c[k>>2]=d+1;c[e+(d<<2)>>2]=j<<24|j>>>24|j>>>8&65280|j<<8&16711680;c[a>>2]=b;b=1;return b|0}return 0}function bc(a){a=a|0;var b=0,d=0;b=a;d=b+88|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a+4>>2]=2;c[a>>2]=0;return}function cc(b,c){b=b|0;c=c|0;var d=0;if(!c){d=0;return d|0}else{d=b;b=0}while(1){c=c+-1|0;b=a[2336+((a[d>>0]^b)&255)>>0]|0;if(!c)break;else d=d+1|0}return b|0}function dc(a,b){a=a|0;b=b|0;var e=0;if(!b){e=0;return e|0}else{e=a;a=0}while(1){b=b+-1|0;a=(c[8+(((d[e>>0]|0)^a>>>8)<<2)>>2]^a<<8)&65535;if(!b)break;else e=e+1|0}return a|0}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=c[a+-4>>2]|0;i=c[a+-8>>2]|0;h=f-i|0;j=c[a+-12>>2]|0;k=j-i+h|0;if(!b){h=0;i=0;j=0;k=0;l=0}else{p=0;o=k;n=(j<<1)-i-(c[a+-16>>2]|0)+k|0;m=0;i=0;j=0;k=0;l=0;do{r=f;f=c[a+(p<<2)>>2]|0;m=((f|0)<0?0-f|0:f)+m|0;q=h;h=f-r|0;i=((h|0)<0?0-h|0:h)+i|0;r=o;o=h-q|0;j=((o|0)<0?0-o|0:o)+j|0;q=n;n=o-r|0;k=((n|0)<0?0-n|0:n)+k|0;q=n-q|0;l=((q|0)<0?0-q|0:q)+l|0;p=p+1|0}while((p|0)!=(b|0));h=m}r=i>>>0<j>>>0?i:j;r=r>>>0<k>>>0?r:k;if(h>>>0>=(r>>>0<l>>>0?r:l)>>>0){r=j>>>0<k>>>0?j:k;if(i>>>0<(r>>>0<l>>>0?r:l)>>>0)f=1;else{f=k>>>0<l>>>0;f=j>>>0<(f?k:l)>>>0?2:f?3:4}}else f=0;if(!h)e=0.0;else e=+Y(+(+(h>>>0)*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d>>2]=e;if(!i)e=0.0;else e=+Y(+(+(i>>>0)*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d+4>>2]=e;if(!j)e=0.0;else e=+Y(+(+(j>>>0)*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d+8>>2]=e;if(!k)e=0.0;else e=+Y(+(+(k>>>0)*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d+12>>2]=e;if(!l){e=0.0;r=d+16|0;g[r>>2]=e;return f|0}e=+Y(+(+(l>>>0)*.6931471805599453/+(b>>>0)))/.6931471805599453;r=d+16|0;g[r>>2]=e;return f|0}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=c[a+-4>>2]|0;p=c[a+-8>>2]|0;k=i-p|0;q=c[a+-12>>2]|0;r=q-p+k|0;if(!b){p=0;q=0;m=0;n=0;o=0;k=0;l=0;j=0;h=0;f=0}else{f=0;h=0;m=0;s=0;n=0;t=0;u=0;o=0;j=0;l=0;w=0;v=r;r=(q<<1)-p-(c[a+-16>>2]|0)+r|0;while(1){p=i;i=c[a+(w<<2)>>2]|0;f=Ze(((i|0)<0?0-i|0:i)|0,0,f|0,h|0)|0;h=C;q=k;k=i-p|0;m=Ze(((k|0)<0?0-k|0:k)|0,0,m|0,s|0)|0;p=C;s=v;v=k-q|0;n=Ze(((v|0)<0?0-v|0:v)|0,0,n|0,t|0)|0;q=C;t=r;r=v-s|0;u=Ze(((r|0)<0?0-r|0:r)|0,0,u|0,o|0)|0;o=C;t=r-t|0;j=Ze(((t|0)<0?0-t|0:t)|0,0,j|0,l|0)|0;l=C;w=w+1|0;if((w|0)==(b|0)){k=u;break}else{s=p;t=q}}}v=p>>>0<q>>>0|(p|0)==(q|0)&m>>>0<n>>>0;w=v?m:n;v=v?p:q;a=v>>>0<o>>>0|(v|0)==(o|0)&w>>>0<k>>>0;w=a?w:k;v=a?v:o;a=v>>>0<l>>>0|(v|0)==(l|0)&w>>>0<j>>>0;v=a?v:l;if(!(h>>>0<v>>>0|(h|0)==(v|0)&f>>>0<(a?w:j)>>>0)){v=q>>>0<o>>>0|(q|0)==(o|0)&n>>>0<k>>>0;w=v?n:k;v=v?q:o;a=v>>>0<l>>>0|(v|0)==(l|0)&w>>>0<j>>>0;v=a?v:l;if(p>>>0<v>>>0|(p|0)==(v|0)&m>>>0<(a?w:j)>>>0)i=1;else{i=o>>>0<l>>>0|(o|0)==(l|0)&k>>>0<j>>>0;w=i?o:l;i=q>>>0<w>>>0|(q|0)==(w|0)&n>>>0<(i?k:j)>>>0?2:i?3:4}}else i=0;if((f|0)==0&(h|0)==0)e=0.0;else e=+Y(+((+(f>>>0)+4294967296.0*+(h>>>0))*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d>>2]=e;if((m|0)==0&(p|0)==0)e=0.0;else e=+Y(+((+(m>>>0)+4294967296.0*+(p>>>0))*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d+4>>2]=e;if((n|0)==0&(q|0)==0)e=0.0;else e=+Y(+((+(n>>>0)+4294967296.0*+(q>>>0))*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d+8>>2]=e;if((k|0)==0&(o|0)==0)e=0.0;else e=+Y(+((+(k>>>0)+4294967296.0*+(o>>>0))*.6931471805599453/+(b>>>0)))/.6931471805599453;g[d+12>>2]=e;if((j|0)==0&(l|0)==0){e=0.0;d=d+16|0;g[d>>2]=e;return i|0}e=+Y(+((+(j>>>0)+4294967296.0*+(l>>>0))*.6931471805599453/+(b>>>0)))/.6931471805599453;d=d+16|0;g[d>>2]=e;return i|0}function gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;switch(d|0){case 0:{af(e|0,a|0,b<<2|0)|0;return}case 1:{if((b|0)>0)d=0;else return;do{c[e+(d<<2)>>2]=(c[a+(d<<2)>>2]|0)-(c[a+(d+-1<<2)>>2]|0);d=d+1|0}while((d|0)!=(b|0));return}case 2:{if((b|0)>0)d=0;else return;do{c[e+(d<<2)>>2]=(c[a+(d<<2)>>2]|0)-(c[a+(d+-1<<2)>>2]<<1)+(c[a+(d+-2<<2)>>2]|0);d=d+1|0}while((d|0)!=(b|0));return}case 3:{if((b|0)>0)d=0;else return;do{f=(_(c[a+(d+-1<<2)>>2]|0,-3)|0)+(c[a+(d<<2)>>2]|0)|0;c[e+(d<<2)>>2]=f+((c[a+(d+-2<<2)>>2]|0)*3|0)-(c[a+(d+-3<<2)>>2]|0);d=d+1|0}while((d|0)!=(b|0));return}case 4:{if((b|0)>0)d=0;else return;do{c[e+(d<<2)>>2]=(c[a+(d<<2)>>2]|0)-(c[a+(d+-1<<2)>>2]<<2)+((c[a+(d+-2<<2)>>2]|0)*6|0)-(c[a+(d+-3<<2)>>2]<<2)+(c[a+(d+-4<<2)>>2]|0);d=d+1|0}while((d|0)!=(b|0));return}default:return}}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,i=0;switch(d|0){case 0:{af(e|0,a|0,b<<2|0)|0;return}case 1:{if((b|0)<=0)return;d=c[e+-4>>2]|0;f=0;do{d=d+(c[a+(f<<2)>>2]|0)|0;c[e+(f<<2)>>2]=d;f=f+1|0}while((f|0)!=(b|0));return}case 2:{if((b|0)<=0)return;d=c[e+-4>>2]|0;f=0;do{d=(d<<1)+(c[a+(f<<2)>>2]|0)-(c[e+(f+-2<<2)>>2]|0)|0;c[e+(f<<2)>>2]=d;f=f+1|0}while((f|0)!=(b|0));return}case 3:{if((b|0)<=0)return;d=c[e+-4>>2]|0;f=c[e+-12>>2]|0;g=0;do{h=f;f=c[e+(g+-2<<2)>>2]|0;d=(d*3|0)+(c[a+(g<<2)>>2]|0)+(_(f,-3)|0)+h|0;c[e+(g<<2)>>2]=d;g=g+1|0}while((g|0)!=(b|0));return}case 4:{if((b|0)<=0)return;d=c[e+-12>>2]|0;f=c[e+-4>>2]|0;g=0;do{h=d;d=c[e+(g+-2<<2)>>2]|0;i=_(d,-6)|0;f=i+(c[a+(g<<2)>>2]|0)-(c[e+(g+-4<<2)>>2]|0)+(h+f<<2)|0;c[e+(g<<2)>>2]=f;g=g+1|0}while((g|0)!=(b|0));return}default:return}}function ic(a){a=a|0;return (a+-1|0)>>>0<655350|0}function jc(a,b){a=a|0;b=b|0;if(a>>>0>16384){b=0;return b|0}b=a>>>0>4608&b>>>0<48001&1^1;return b|0}function kc(a){a=a|0;if((a+-1|0)>>>0<655350)return (a>>>0<65536|((a>>>0)%1e3|0|0)==0|((a>>>0)%10|0|0)==0)&1|0;else return 0;return 0}function lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;if(!g){g=1;return g|0}a=c[a+4>>2]|0;b=0;d=0;e=1;f=0;while(1){j=a+(f*24|0)|0;h=d;d=c[j>>2]|0;i=b;b=c[j+4>>2]|0;if(!e?!((d|0)==-1&(b|0)==-1|(b>>>0>i>>>0|(b|0)==(i|0)&d>>>0>h>>>0)):0){a=0;b=6;break}f=f+1|0;if(f>>>0>=g>>>0){a=1;b=6;break}else e=0}if((b|0)==6)return a|0;return 0}function mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=c[a>>2]|0;if(!b){j=0;return j|0}j=a+4|0;ze(c[j>>2]|0,b,24,12);b=c[a>>2]|0;if(!b){j=0;return j|0}else{f=b;h=1;i=0;b=0}while(1){g=c[j>>2]|0;e=g+(i*24|0)|0;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!(!(h|(d|0)==-1&(e|0)==-1)?(h=g+((b+-1|0)*24|0)|0,(d|0)==(c[h>>2]|0)?(e|0)==(c[h+4>>2]|0):0):0)){f=g+(b*24|0)|0;h=g+(i*24|0)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[f+16>>2]=c[h+16>>2];c[f+20>>2]=c[h+20>>2];f=c[a>>2]|0;b=b+1|0}i=i+1|0;if(i>>>0>=f>>>0)break;else h=0}if(b>>>0>=f>>>0){j=b;return j|0}d=c[j>>2]|0;e=b;do{j=d+(e*24|0)|0;c[j>>2]=-1;c[j+4>>2]=-1;j=d+(e*24|0)+8|0;c[j>>2]=0;c[j+4>>2]=0;c[d+(e*24|0)+16>>2]=0;e=e+1|0}while(e>>>0<f>>>0);return b|0}function nc(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;m=(e|0)!=0;if(m){g=b+136|0;e=c[g>>2]|0;g=c[g+4>>2]|0;if(g>>>0<0|(g|0)==0&e>>>0<88200){if(!f){n=0;return n|0}c[f>>2]=2596;n=0;return n|0}l=kf(e|0,g|0,588,0)|0;if(!((l|0)==0&(C|0)==0)){if(!f){n=0;return n|0}c[f>>2]=2661;n=0;return n|0}}l=c[b+148>>2]|0;if(!l){if(!f){n=0;return n|0}c[f>>2]=2732;n=0;return n|0}if(m?(a[(c[b+152>>2]|0)+(l+-1<<5)+8>>0]|0)!=-86:0){if(!f){n=0;return n|0}c[f>>2]=2786;n=0;return n|0}j=c[b+152>>2]|0;k=l+-1|0;e=0;a:while(1){g=a[j+(e<<5)+8>>0]|0;if(!(g<<24>>24)){n=17;break}if(m){if(!((g&255)<100|g<<24>>24==-86)){n=21;break}i=j+(e<<5)|0;i=kf(c[i>>2]|0,c[i+4>>2]|0,588,0)|0;if(!((i|0)==0&(C|0)==0)){n=24;break}}g=a[j+(e<<5)+23>>0]|0;b=g<<24>>24==0;if(e>>>0<k>>>0){if(b){n=38;break}if((d[(c[j+(e<<5)+24>>2]|0)+8>>0]|0)>1){n=41;break}else n=30}else if(!b)n=30;b:do if((n|0)==30){n=0;if(!m){g=g&255;b=j+(e<<5)+24|0;h=0;while(1){if((h|0)!=0?(i=c[b>>2]|0,(d[i+(h<<4)+8>>0]|0)!=((d[i+(h+-1<<4)+8>>0]|0)+1|0)):0){n=47;break a}h=h+1|0;if(h>>>0>=g>>>0)break b}}g=c[j+(e<<5)+24>>2]|0;b=j+(e<<5)+23|0;h=j+(e<<5)+24|0;i=0;do{o=g+(i<<4)|0;o=kf(c[o>>2]|0,c[o+4>>2]|0,588,0)|0;if(!((o|0)==0&(C|0)==0)){n=43;break a}if((i|0)!=0?(o=c[h>>2]|0,(d[o+(i<<4)+8>>0]|0)!=((d[o+(i+-1<<4)+8>>0]|0)+1|0)):0){n=47;break a}i=i+1|0}while(i>>>0<(d[b>>0]|0)>>>0)}while(0);e=e+1|0;if(e>>>0>=l>>>0){e=1;n=51;break}}if((n|0)==17){if(!f){o=0;return o|0}c[f>>2]=2847;o=0;return o|0}else if((n|0)==21){if(!f){o=0;return o|0}c[f>>2]=2887;o=0;return o|0}else if((n|0)==24){if(!f){o=0;return o|0}if((e|0)==(l+-1|0)){c[f>>2]=2936;o=0;return o|0}else{c[f>>2]=3008;o=0;return o|0}}else if((n|0)==38){if(!f){o=0;return o|0}c[f>>2]=3077;o=0;return o|0}else if((n|0)==41){if(!f){o=0;return o|0}c[f>>2]=3128;o=0;return o|0}else if((n|0)==43){if(!f){o=0;return o|0}c[f>>2]=3180;o=0;return o|0}else if((n|0)==47){if(!f){o=0;return o|0}c[f>>2]=3255;o=0;return o|0}else if((n|0)==51)return e|0;return 0}function oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+4>>2]|0;e=a[f>>0]|0;a:do if(e<<24>>24){while(1){f=f+1|0;if(e<<24>>24<32|e<<24>>24==127)break;e=a[f>>0]|0;if(!(e<<24>>24))break a}if(!d){g=0;return g|0}c[d>>2]=3304;g=0;return g|0}while(0);e=c[b+8>>2]|0;if(!(a[e>>0]|0)){g=1;return g|0}while(1){f=vc(e)|0;if(!f)break;e=e+f|0;if(!(a[e>>0]|0)){e=1;g=11;break}}if((g|0)==11)return e|0;if(!d){g=0;return g|0}c[d>>2]=3378;g=0;return g|0}function pc(a,b,c){a=a|0;b=b|0;c=c|0;while(1)if((a|0)!=0&b>>>a>>>0<=c>>>0)a=a+-1|0;else break;return a|0}function qc(a){a=a|0;var b=0;if(!(a&1)){b=0;do{b=b+1|0;a=a>>>1}while((a&1|0)==0);a=b}else a=0;return (a>>>0>15?15:a)|0}function rc(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function sc(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b)Qe(b);b=a+4|0;d=c[b>>2]|0;if(d)Qe(d);c[a>>2]=0;c[b>>2]=0;c[a+8>>2]=0;return}function tc(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;if((c[g>>2]|0)>>>0>=b>>>0){b=1;return b|0}d=c[a>>2]|0;h=4<<b;e=Se(d,h)|0;i=b>>>0<30;f=(e|0)==0;if(i&f)Qe(d);c[a>>2]=e;if(f){b=0;return b|0}f=a+4|0;a=c[f>>2]|0;d=Se(a,h)|0;e=(d|0)==0;if(i&e)Qe(a);c[f>>2]=d;if(e){b=0;return b|0}Xe(d|0,0,h|0)|0;c[g>>2]=b;b=1;return b|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0;e=a;a=c[e>>2]|0;e=c[e+4>>2]|0;d=b;b=c[d>>2]|0;d=c[d+4>>2]|0;return ((a|0)==(b|0)&(e|0)==(d|0)?0:e>>>0<d>>>0|(e|0)==(d|0)&a>>>0<b>>>0?-1:1)|0}function vc(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a[b>>0]|0;c=j&255;if(!(c&128)){b=1;return b|0}if((c&224|0)==192?(a[b+1>>0]&-64)<<24>>24==-128:0){b=(c&254|0)==192?0:2;return b|0}if(((j&-16)<<24>>24==-32?(e=a[b+1>>0]|0,f=e&255,(f&192|0)==128):0)?(g=a[b+2>>0]|0,(g&-64)<<24>>24==-128):0){if(j<<24>>24==-32&(f&224|0)==128){b=0;return b|0}if(j<<24>>24==-19&(e&-32)<<24>>24==-96){b=0;return b|0}else return (j<<24>>24==-17&e<<24>>24==-65&(g&-2)<<24>>24==-66?0:3)|0}if((((j&-8)<<24>>24==-16?(h=d[b+1>>0]|0,(h&192|0)==128):0)?(a[b+2>>0]&-64)<<24>>24==-128:0)?(a[b+3>>0]&-64)<<24>>24==-128:0)return (j<<24>>24==-16&(h&240|0)==128?0:4)|0;if(((((j&-4)<<24>>24==-8?(i=d[b+1>>0]|0,(i&192|0)==128):0)?(a[b+2>>0]&-64)<<24>>24==-128:0)?(a[b+3>>0]&-64)<<24>>24==-128:0)?(a[b+4>>0]&-64)<<24>>24==-128:0){b=j<<24>>24==-8&(i&248|0)==128?0:5;return b|0}if((j&-2)<<24>>24!=-4){b=0;return b|0}c=d[b+1>>0]|0;if((c&192|0)!=128){b=0;return b|0}if((a[b+2>>0]&-64)<<24>>24!=-128){b=0;return b|0}if((a[b+3>>0]&-64)<<24>>24!=-128){b=0;return b|0}if((a[b+4>>0]&-64)<<24>>24!=-128){b=0;return b|0}if((a[b+5>>0]&-64)<<24>>24!=-128){b=0;return b|0}b=j<<24>>24==-4&(c&252|0)==128?0:6;return b|0}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!e)return;else f=0;do{g[d+(f<<2)>>2]=+(c[a+(f<<2)>>2]|0)*+g[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0));return}function xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0;i=b-c|0;if(!c){e=0;do e=e+1|0;while(e>>>0<=i>>>0)}else{Xe(d|0,0,c<<2|0)|0;e=0;do{f=+g[a+(e<<2)>>2];h=0;do{j=d+(h<<2)|0;g[j>>2]=+g[j>>2]+f*+g[a+(h+e<<2)>>2];h=h+1|0}while((h|0)!=(c|0));e=e+1|0}while(e>>>0<=i>>>0)}if(e>>>0>=b>>>0)return;do{f=+g[a+(e<<2)>>2];h=b-e|0;c=0;do{j=d+(c<<2)|0;g[j>>2]=+g[j>>2]+f*+g[a+(c+e<<2)>>2];c=c+1|0}while(c>>>0<h>>>0);e=e+1|0}while((e|0)!=(b|0));return}function yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0;s=i;i=i+256|0;q=s;n=c[b>>2]|0;o=+g[a>>2];p=0;while(1){k=p>>>1;if(p>>>0>=n>>>0){r=14;break}f=p+1|0;j=-+g[a+(f<<2)>>2];if(p){l=0;do{j=j-+h[q+(l<<3)>>3]*+g[a+(p-l<<2)>>2];l=l+1|0}while((l|0)!=(p|0))}j=j/o;h[q+(p<<3)>>3]=j;if(!k)k=0;else{l=p+-1|0;m=0;do{v=q+(m<<3)|0;u=+h[v>>3];t=q+(l-m<<3)|0;h[v>>3]=u+j*+h[t>>3];h[t>>3]=j*u+ +h[t>>3];m=m+1|0}while((m|0)!=(k|0))}if(p&1){v=q+(k<<3)|0;u=+h[v>>3];h[v>>3]=u+j*u}j=1.0-j*j;k=0;do{g[d+(p<<7)+(k<<2)>>2]=-+h[q+(k<<3)>>3];k=k+1|0}while(k>>>0<=p>>>0);o=o*j;h[e+(p<<3)>>3]=o;if(o==0.0)break;else p=f}if((r|0)==14){i=s;return}c[b>>2]=f;i=s;return}function zc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+16|0;k=q;j=d+-1|0;p=1<<j;o=0-p|0;p=p+-1|0;n=(b|0)==0;if(n){f=2;i=q;return f|0}else{h=0.0;d=0}do{l=+N(+(+g[a+(d<<2)>>2]));h=l>h?l:h;d=d+1|0}while((d|0)!=(b|0));if(h<=0.0){f=2;i=q;return f|0}m=1<<(c[275]|0)+-1;d=m+-1|0;+je(h,k);r=(c[k>>2]|0)+-1|0;c[k>>2]=r;j=j-r|0;k=j+-1|0;c[f>>2]=k;if((k|0)<=(d|0))if((j|0)>(0-m|0))d=k;else{r=1;i=q;return r|0}else c[f>>2]=d;if((d|0)>-1){if(n){r=0;i=q;return r|0}else{h=0.0;j=0}while(1){h=h+ +g[a+(j<<2)>>2]*+(1<<d|0);k=ke(h)|0;k=(k|0)>(p|0)?p:(k|0)<(o|0)?o:k;c[e+(j<<2)>>2]=k;j=j+1|0;if((j|0)==(b|0)){d=0;break}d=c[f>>2]|0;h=h-+(k|0)}i=q;return d|0}else{if(!n){l=+(1<<0-d|0);h=0.0;j=0;while(1){h=h+ +g[a+(j<<2)>>2]/l;d=ke(h)|0;d=(d|0)>(p|0)?p:(d|0)<(o|0)?o:d;c[e+(j<<2)>>2]=d;j=j+1|0;if((j|0)==(b|0))break;else h=h-+(d|0)}}c[f>>2]=0;r=0;i=q;return r|0}return 0}function Ac(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,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;if(e>>>0>=13){if((b|0)<=0)return;s=d+124|0;D=d+120|0;H=d+116|0;I=d+112|0;J=d+108|0;K=d+104|0;L=d+100|0;M=d+96|0;i=d+92|0;j=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+60|0;r=d+56|0;t=d+52|0;u=d+48|0;v=d+44|0;w=d+40|0;x=d+36|0;y=d+32|0;z=d+28|0;A=d+24|0;B=d+20|0;C=d+16|0;E=d+12|0;F=d+8|0;G=d+4|0;N=0;do{switch(e|0){case 32:{h=_(c[a+(N+-32<<2)>>2]|0,c[s>>2]|0)|0;O=53;break}case 31:{h=0;O=53;break}case 30:{h=0;O=54;break}case 29:{h=0;O=55;break}case 28:{h=0;O=56;break}case 27:{h=0;O=57;break}case 26:{h=0;O=58;break}case 25:{h=0;O=59;break}case 24:{h=0;O=60;break}case 23:{h=0;O=61;break}case 22:{h=0;O=62;break}case 21:{h=0;O=63;break}case 20:{h=0;O=64;break}case 19:{h=0;O=65;break}case 18:{h=0;O=66;break}case 17:{h=0;O=67;break}case 16:{h=0;O=68;break}case 15:{h=0;O=69;break}case 14:{h=0;O=70;break}case 13:{h=0;O=71;break}default:h=0}if((O|0)==53){h=(_(c[a+(N+-31<<2)>>2]|0,c[D>>2]|0)|0)+h|0;O=54}if((O|0)==54){h=(_(c[a+(N+-30<<2)>>2]|0,c[H>>2]|0)|0)+h|0;O=55}if((O|0)==55){h=(_(c[a+(N+-29<<2)>>2]|0,c[I>>2]|0)|0)+h|0;O=56}if((O|0)==56){h=(_(c[a+(N+-28<<2)>>2]|0,c[J>>2]|0)|0)+h|0;O=57}if((O|0)==57){h=(_(c[a+(N+-27<<2)>>2]|0,c[K>>2]|0)|0)+h|0;O=58}if((O|0)==58){h=(_(c[a+(N+-26<<2)>>2]|0,c[L>>2]|0)|0)+h|0;O=59}if((O|0)==59){h=(_(c[a+(N+-25<<2)>>2]|0,c[M>>2]|0)|0)+h|0;O=60}if((O|0)==60){h=(_(c[a+(N+-24<<2)>>2]|0,c[i>>2]|0)|0)+h|0;O=61}if((O|0)==61){h=(_(c[a+(N+-23<<2)>>2]|0,c[j>>2]|0)|0)+h|0;O=62}if((O|0)==62){h=(_(c[a+(N+-22<<2)>>2]|0,c[k>>2]|0)|0)+h|0;O=63}if((O|0)==63){h=(_(c[a+(N+-21<<2)>>2]|0,c[l>>2]|0)|0)+h|0;O=64}if((O|0)==64){h=(_(c[a+(N+-20<<2)>>2]|0,c[m>>2]|0)|0)+h|0;O=65}if((O|0)==65){h=(_(c[a+(N+-19<<2)>>2]|0,c[n>>2]|0)|0)+h|0;O=66}if((O|0)==66){h=(_(c[a+(N+-18<<2)>>2]|0,c[o>>2]|0)|0)+h|0;O=67}if((O|0)==67){h=(_(c[a+(N+-17<<2)>>2]|0,c[p>>2]|0)|0)+h|0;O=68}if((O|0)==68){h=(_(c[a+(N+-16<<2)>>2]|0,c[q>>2]|0)|0)+h|0;O=69}if((O|0)==69){h=(_(c[a+(N+-15<<2)>>2]|0,c[r>>2]|0)|0)+h|0;O=70}if((O|0)==70){h=(_(c[a+(N+-14<<2)>>2]|0,c[t>>2]|0)|0)+h|0;O=71}if((O|0)==71){O=0;h=(_(c[a+(N+-13<<2)>>2]|0,c[u>>2]|0)|0)+h|0;h=h+(_(c[a+(N+-12<<2)>>2]|0,c[v>>2]|0)|0)|0;h=h+(_(c[a+(N+-11<<2)>>2]|0,c[w>>2]|0)|0)|0;h=h+(_(c[a+(N+-10<<2)>>2]|0,c[x>>2]|0)|0)|0;h=h+(_(c[a+(N+-9<<2)>>2]|0,c[y>>2]|0)|0)|0;h=h+(_(c[a+(N+-8<<2)>>2]|0,c[z>>2]|0)|0)|0;h=h+(_(c[a+(N+-7<<2)>>2]|0,c[A>>2]|0)|0)|0;h=h+(_(c[a+(N+-6<<2)>>2]|0,c[B>>2]|0)|0)|0;h=h+(_(c[a+(N+-5<<2)>>2]|0,c[C>>2]|0)|0)|0;h=h+(_(c[a+(N+-4<<2)>>2]|0,c[E>>2]|0)|0)|0;h=h+(_(c[a+(N+-3<<2)>>2]|0,c[F>>2]|0)|0)|0;h=h+(_(c[a+(N+-2<<2)>>2]|0,c[G>>2]|0)|0)|0;h=h+(_(c[a+(N+-1<<2)>>2]|0,c[d>>2]|0)|0)|0}c[g+(N<<2)>>2]=(c[a+(N<<2)>>2]|0)-(h>>f);N=N+1|0}while((N|0)!=(b|0));return}if(e>>>0>8)if(e>>>0>10){h=(b|0)>0;if((e|0)==12){if(!h)return;v=c[d+44>>2]|0;w=c[d+40>>2]|0;x=c[d+36>>2]|0;y=c[d+32>>2]|0;z=c[d+28>>2]|0;A=c[d+24>>2]|0;B=c[d+20>>2]|0;C=c[d+16>>2]|0;D=c[d+12>>2]|0;E=c[d+8>>2]|0;F=c[d+4>>2]|0;n=c[d>>2]|0;i=c[a+-20>>2]|0;j=c[a+-16>>2]|0;k=c[a+-12>>2]|0;l=c[a+-8>>2]|0;m=c[a+-4>>2]|0;h=c[a+-48>>2]|0;o=c[a+-44>>2]|0;p=c[a+-40>>2]|0;q=c[a+-36>>2]|0;r=c[a+-32>>2]|0;s=c[a+-28>>2]|0;t=c[a+-24>>2]|0;u=0;while(1){d=(_(o,w)|0)+(_(h,v)|0)+(_(p,x)|0)+(_(q,y)|0)+(_(r,z)|0)+(_(s,A)|0)+(_(t,B)|0)+(_(i,C)|0)+(_(j,D)|0)+(_(k,E)|0)+(_(l,F)|0)+(_(m,n)|0)|0;h=c[a+(u<<2)>>2]|0;c[g+(u<<2)>>2]=h-(d>>f);u=u+1|0;if((u|0)==(b|0))break;else{H=t;I=s;J=r;K=q;L=p;M=o;N=m;O=l;e=k;d=j;m=h;t=i;s=H;r=I;q=J;p=K;o=L;h=M;l=N;k=O;j=e;i=d}}return}else{if(!h)return;u=c[d+40>>2]|0;v=c[d+36>>2]|0;w=c[d+32>>2]|0;x=c[d+28>>2]|0;y=c[d+24>>2]|0;z=c[d+20>>2]|0;A=c[d+16>>2]|0;B=c[d+12>>2]|0;C=c[d+8>>2]|0;D=c[d+4>>2]|0;s=c[d>>2]|0;h=c[a+-44>>2]|0;i=c[a+-40>>2]|0;j=c[a+-36>>2]|0;k=c[a+-32>>2]|0;l=c[a+-28>>2]|0;m=c[a+-24>>2]|0;n=c[a+-20>>2]|0;o=c[a+-16>>2]|0;p=c[a+-12>>2]|0;q=c[a+-8>>2]|0;r=c[a+-4>>2]|0;t=0;while(1){d=(_(i,v)|0)+(_(h,u)|0)+(_(j,w)|0)+(_(k,x)|0)+(_(l,y)|0)+(_(m,z)|0)+(_(n,A)|0)+(_(o,B)|0)+(_(p,C)|0)+(_(q,D)|0)+(_(r,s)|0)|0;h=c[a+(t<<2)>>2]|0;c[g+(t<<2)>>2]=h-(d>>f);t=t+1|0;if((t|0)==(b|0))break;else{H=r;I=q;J=p;K=o;L=n;M=m;N=l;O=k;e=j;d=i;r=h;q=H;p=I;o=J;n=K;m=L;l=M;k=N;j=O;i=e;h=d}}return}}else{h=(b|0)>0;if((e|0)==10){if(!h)return;t=c[d+36>>2]|0;u=c[d+32>>2]|0;v=c[d+28>>2]|0;w=c[d+24>>2]|0;x=c[d+20>>2]|0;y=c[d+16>>2]|0;z=c[d+12>>2]|0;A=c[d+8>>2]|0;B=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-40>>2]|0;j=c[a+-36>>2]|0;k=c[a+-32>>2]|0;l=c[a+-28>>2]|0;m=c[a+-24>>2]|0;n=c[a+-20>>2]|0;o=c[a+-16>>2]|0;p=c[a+-12>>2]|0;q=c[a+-8>>2]|0;r=c[a+-4>>2]|0;s=0;while(1){d=(_(j,u)|0)+(_(h,t)|0)+(_(k,v)|0)+(_(l,w)|0)+(_(m,x)|0)+(_(n,y)|0)+(_(o,z)|0)+(_(p,A)|0)+(_(q,B)|0)+(_(r,i)|0)|0;h=c[a+(s<<2)>>2]|0;c[g+(s<<2)>>2]=h-(d>>f);s=s+1|0;if((s|0)==(b|0))break;else{I=r;J=q;K=p;L=o;M=n;N=m;O=l;e=k;d=j;r=h;q=I;p=J;o=K;n=L;m=M;l=N;k=O;j=e;h=d}}return}else{if(!h)return;s=c[d+32>>2]|0;t=c[d+28>>2]|0;u=c[d+24>>2]|0;v=c[d+20>>2]|0;w=c[d+16>>2]|0;x=c[d+12>>2]|0;y=c[d+8>>2]|0;z=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-36>>2]|0;j=c[a+-32>>2]|0;k=c[a+-28>>2]|0;l=c[a+-24>>2]|0;m=c[a+-20>>2]|0;n=c[a+-16>>2]|0;o=c[a+-12>>2]|0;p=c[a+-8>>2]|0;q=c[a+-4>>2]|0;r=0;while(1){d=(_(j,t)|0)+(_(h,s)|0)+(_(k,u)|0)+(_(l,v)|0)+(_(m,w)|0)+(_(n,x)|0)+(_(o,y)|0)+(_(p,z)|0)+(_(q,i)|0)|0;h=c[a+(r<<2)>>2]|0;c[g+(r<<2)>>2]=h-(d>>f);r=r+1|0;if((r|0)==(b|0))break;else{J=q;K=p;L=o;M=n;N=m;O=l;e=k;d=j;q=h;p=J;o=K;n=L;m=M;l=N;k=O;j=e;h=d}}return}}if(e>>>0>4)if(e>>>0>6){h=(b|0)>0;if((e|0)==8){if(!h)return;r=c[d+28>>2]|0;s=c[d+24>>2]|0;t=c[d+20>>2]|0;u=c[d+16>>2]|0;v=c[d+12>>2]|0;w=c[d+8>>2]|0;x=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-32>>2]|0;j=c[a+-28>>2]|0;k=c[a+-24>>2]|0;l=c[a+-20>>2]|0;m=c[a+-16>>2]|0;n=c[a+-12>>2]|0;o=c[a+-8>>2]|0;p=c[a+-4>>2]|0;q=0;while(1){d=(_(j,s)|0)+(_(h,r)|0)+(_(k,t)|0)+(_(l,u)|0)+(_(m,v)|0)+(_(n,w)|0)+(_(o,x)|0)+(_(p,i)|0)|0;h=c[a+(q<<2)>>2]|0;c[g+(q<<2)>>2]=h-(d>>f);q=q+1|0;if((q|0)==(b|0))break;else{K=p;L=o;M=n;N=m;O=l;e=k;d=j;p=h;o=K;n=L;m=M;l=N;k=O;j=e;h=d}}return}else{if(!h)return;q=c[d+24>>2]|0;r=c[d+20>>2]|0;s=c[d+16>>2]|0;t=c[d+12>>2]|0;u=c[d+8>>2]|0;v=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-28>>2]|0;j=c[a+-24>>2]|0;k=c[a+-20>>2]|0;l=c[a+-16>>2]|0;m=c[a+-12>>2]|0;n=c[a+-8>>2]|0;o=c[a+-4>>2]|0;p=0;while(1){d=(_(j,r)|0)+(_(h,q)|0)+(_(k,s)|0)+(_(l,t)|0)+(_(m,u)|0)+(_(n,v)|0)+(_(o,i)|0)|0;h=c[a+(p<<2)>>2]|0;c[g+(p<<2)>>2]=h-(d>>f);p=p+1|0;if((p|0)==(b|0))break;else{L=o;M=n;N=m;O=l;e=k;d=j;o=h;n=L;m=M;l=N;k=O;j=e;h=d}}return}}else{h=(b|0)>0;if((e|0)==6){if(!h)return;p=c[d+20>>2]|0;q=c[d+16>>2]|0;r=c[d+12>>2]|0;s=c[d+8>>2]|0;t=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-24>>2]|0;j=c[a+-20>>2]|0;k=c[a+-16>>2]|0;l=c[a+-12>>2]|0;m=c[a+-8>>2]|0;n=c[a+-4>>2]|0;o=0;while(1){d=(_(j,q)|0)+(_(h,p)|0)+(_(k,r)|0)+(_(l,s)|0)+(_(m,t)|0)+(_(n,i)|0)|0;h=c[a+(o<<2)>>2]|0;c[g+(o<<2)>>2]=h-(d>>f);o=o+1|0;if((o|0)==(b|0))break;else{M=n;N=m;O=l;e=k;d=j;n=h;m=M;l=N;k=O;j=e;h=d}}return}else{if(!h)return;o=c[d+16>>2]|0;p=c[d+12>>2]|0;q=c[d+8>>2]|0;r=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-20>>2]|0;j=c[a+-16>>2]|0;k=c[a+-12>>2]|0;l=c[a+-8>>2]|0;m=c[a+-4>>2]|0;n=0;while(1){d=(_(j,p)|0)+(_(h,o)|0)+(_(k,q)|0)+(_(l,r)|0)+(_(m,i)|0)|0;h=c[a+(n<<2)>>2]|0;c[g+(n<<2)>>2]=h-(d>>f);n=n+1|0;if((n|0)==(b|0))break;else{N=m;O=l;e=k;d=j;m=h;l=N;k=O;j=e;h=d}}return}}else if(e>>>0>2){h=(b|0)>0;if((e|0)==4){if(!h)return;n=c[d+12>>2]|0;o=c[d+8>>2]|0;p=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-16>>2]|0;j=c[a+-12>>2]|0;k=c[a+-8>>2]|0;l=c[a+-4>>2]|0;m=0;while(1){d=(_(j,o)|0)+(_(h,n)|0)+(_(k,p)|0)+(_(l,i)|0)|0;h=c[a+(m<<2)>>2]|0;c[g+(m<<2)>>2]=h-(d>>f);m=m+1|0;if((m|0)==(b|0))break;else{O=l;e=k;d=j;l=h;k=O;j=e;h=d}}return}else{if(!h)return;m=c[d+8>>2]|0;n=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-12>>2]|0;j=c[a+-8>>2]|0;k=c[a+-4>>2]|0;l=0;while(1){d=(_(j,n)|0)+(_(h,m)|0)+(_(k,i)|0)|0;h=c[a+(l<<2)>>2]|0;c[g+(l<<2)>>2]=h-(d>>f);l=l+1|0;if((l|0)==(b|0))break;else{e=k;d=j;k=h;j=e;h=d}}return}}else{h=(b|0)>0;if((e|0)==2){if(!h)return;l=c[d+4>>2]|0;i=c[d>>2]|0;h=c[a+-8>>2]|0;j=c[a+-4>>2]|0;k=0;while(1){d=(_(j,i)|0)+(_(h,l)|0)|0;h=c[a+(k<<2)>>2]|0;c[g+(k<<2)>>2]=h-(d>>f);k=k+1|0;if((k|0)==(b|0))break;else{d=j;j=h;h=d}}return}else{if(!h)return;h=c[d>>2]|0;i=c[a+-4>>2]|0;j=0;do{d=i;i=c[a+(j<<2)>>2]|0;c[g+(j<<2)>>2]=i-((_(d,h)|0)>>f);j=j+1|0}while((j|0)!=(b|0));return}}}function Bc(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,z=0,A=0,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,_=0,$=0;if(e>>>0>=13){if((b|0)<=0)return;t=d+124|0;F=d+120|0;J=d+116|0;K=d+112|0;L=d+108|0;M=d+104|0;N=d+100|0;O=d+96|0;j=d+92|0;k=d+88|0;l=d+84|0;m=d+80|0;n=d+76|0;o=d+72|0;p=d+68|0;q=d+64|0;r=d+60|0;s=d+56|0;u=d+52|0;v=d+48|0;w=d+44|0;x=d+40|0;y=d+36|0;z=d+32|0;A=d+28|0;B=d+24|0;D=d+20|0;E=d+16|0;G=d+12|0;H=d+8|0;I=d+4|0;P=0;do{switch(e|0){case 32:{h=c[t>>2]|0;i=c[a+(P+-32<<2)>>2]|0;h=hf(i|0,((i|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;i=C;Q=53;break}case 31:{h=0;i=0;Q=53;break}case 30:{h=0;i=0;Q=54;break}case 29:{h=0;i=0;Q=55;break}case 28:{h=0;i=0;Q=56;break}case 27:{h=0;i=0;Q=57;break}case 26:{h=0;i=0;Q=58;break}case 25:{h=0;i=0;Q=59;break}case 24:{h=0;i=0;Q=60;break}case 23:{h=0;i=0;Q=61;break}case 22:{h=0;i=0;Q=62;break}case 21:{h=0;i=0;Q=63;break}case 20:{h=0;i=0;Q=64;break}case 19:{h=0;i=0;Q=65;break}case 18:{h=0;i=0;Q=66;break}case 17:{h=0;i=0;Q=67;break}case 16:{h=0;i=0;Q=68;break}case 15:{h=0;i=0;Q=69;break}case 14:{h=0;i=0;Q=70;break}case 13:{h=0;i=0;Q=71;break}default:{h=0;i=0}}if((Q|0)==53){R=c[F>>2]|0;S=c[a+(P+-31<<2)>>2]|0;R=hf(S|0,((S|0)<0)<<31>>31|0,R|0,((R|0)<0)<<31>>31|0)|0;h=Ze(R|0,C|0,h|0,i|0)|0;i=C;Q=54}if((Q|0)==54){S=c[J>>2]|0;R=c[a+(P+-30<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=55}if((Q|0)==55){S=c[K>>2]|0;R=c[a+(P+-29<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=56}if((Q|0)==56){S=c[L>>2]|0;R=c[a+(P+-28<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=57}if((Q|0)==57){S=c[M>>2]|0;R=c[a+(P+-27<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=58}if((Q|0)==58){S=c[N>>2]|0;R=c[a+(P+-26<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=59}if((Q|0)==59){S=c[O>>2]|0;R=c[a+(P+-25<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=60}if((Q|0)==60){S=c[j>>2]|0;R=c[a+(P+-24<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=61}if((Q|0)==61){S=c[k>>2]|0;R=c[a+(P+-23<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=62}if((Q|0)==62){S=c[l>>2]|0;R=c[a+(P+-22<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=63}if((Q|0)==63){S=c[m>>2]|0;R=c[a+(P+-21<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=64}if((Q|0)==64){S=c[n>>2]|0;R=c[a+(P+-20<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=65}if((Q|0)==65){S=c[o>>2]|0;R=c[a+(P+-19<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=66}if((Q|0)==66){S=c[p>>2]|0;R=c[a+(P+-18<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=67}if((Q|0)==67){S=c[q>>2]|0;R=c[a+(P+-17<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=68}if((Q|0)==68){S=c[r>>2]|0;R=c[a+(P+-16<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=69}if((Q|0)==69){S=c[s>>2]|0;R=c[a+(P+-15<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=70}if((Q|0)==70){S=c[u>>2]|0;R=c[a+(P+-14<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=71}if((Q|0)==71){Q=0;S=c[v>>2]|0;R=c[a+(P+-13<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;S=c[w>>2]|0;R=c[a+(P+-12<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[x>>2]|0;R=c[a+(P+-11<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[y>>2]|0;R=c[a+(P+-10<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[z>>2]|0;R=c[a+(P+-9<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[A>>2]|0;R=c[a+(P+-8<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[B>>2]|0;R=c[a+(P+-7<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[D>>2]|0;R=c[a+(P+-6<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[E>>2]|0;R=c[a+(P+-5<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[G>>2]|0;R=c[a+(P+-4<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[H>>2]|0;R=c[a+(P+-3<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[I>>2]|0;R=c[a+(P+-2<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[d>>2]|0;R=c[a+(P+-1<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C}R=c[a+(P<<2)>>2]|0;S=_e(h|0,i|0,f|0)|0;c[g+(P<<2)>>2]=R-S;P=P+1|0}while((P|0)!=(b|0));return}if(e>>>0>8)if(e>>>0>10){h=(b|0)>0;if((e|0)==12){if(!h)return;J=c[d+44>>2]|0;K=((J|0)<0)<<31>>31;L=c[d+40>>2]|0;M=((L|0)<0)<<31>>31;N=c[d+36>>2]|0;O=((N|0)<0)<<31>>31;P=c[d+32>>2]|0;Q=((P|0)<0)<<31>>31;e=c[d+28>>2]|0;R=((e|0)<0)<<31>>31;w=c[d+24>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+20>>2]|0;z=((y|0)<0)<<31>>31;A=c[d+16>>2]|0;B=((A|0)<0)<<31>>31;D=c[d+12>>2]|0;E=((D|0)<0)<<31>>31;F=c[d+8>>2]|0;G=((F|0)<0)<<31>>31;H=c[d+4>>2]|0;I=((H|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-48>>2]|0;k=c[a+-44>>2]|0;l=c[a+-40>>2]|0;m=c[a+-36>>2]|0;n=c[a+-32>>2]|0;o=c[a+-28>>2]|0;p=c[a+-24>>2]|0;q=c[a+-20>>2]|0;r=c[a+-16>>2]|0;s=c[a+-12>>2]|0;t=c[a+-8>>2]|0;u=c[a+-4>>2]|0;v=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,J|0,K|0)|0;S=C;d=hf(k|0,((k|0)<0)<<31>>31|0,L|0,M|0)|0;S=Ze(d|0,C|0,h|0,S|0)|0;h=C;d=hf(l|0,((l|0)<0)<<31>>31|0,N|0,O|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(m|0,((m|0)<0)<<31>>31|0,P|0,Q|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(n|0,((n|0)<0)<<31>>31|0,e|0,R|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(o|0,((o|0)<0)<<31>>31|0,w|0,x|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(p|0,((p|0)<0)<<31>>31|0,y|0,z|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(q|0,((q|0)<0)<<31>>31|0,A|0,B|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(r|0,((r|0)<0)<<31>>31|0,D|0,E|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(s|0,((s|0)<0)<<31>>31|0,F|0,G|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(t|0,((t|0)<0)<<31>>31|0,H|0,I|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(u|0,((u|0)<0)<<31>>31|0,i|0,j|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=c[a+(v<<2)>>2]|0;S=_e(S|0,C|0,f|0)|0;c[g+(v<<2)>>2]=h-S;v=v+1|0;if((v|0)==(b|0))break;else{$=u;_=t;Z=s;Y=r;X=q;W=p;V=o;U=n;T=m;d=l;S=k;u=h;t=$;s=_;r=Z;q=Y;p=X;o=W;n=V;m=U;l=T;k=d;h=S}}return}else{if(!h)return;v=c[d+40>>2]|0;w=((v|0)<0)<<31>>31;x=c[d+36>>2]|0;y=((x|0)<0)<<31>>31;z=c[d+32>>2]|0;A=((z|0)<0)<<31>>31;B=c[d+28>>2]|0;D=((B|0)<0)<<31>>31;E=c[d+24>>2]|0;F=((E|0)<0)<<31>>31;G=c[d+20>>2]|0;H=((G|0)<0)<<31>>31;I=c[d+16>>2]|0;J=((I|0)<0)<<31>>31;K=c[d+12>>2]|0;L=((K|0)<0)<<31>>31;M=c[d+8>>2]|0;N=((M|0)<0)<<31>>31;O=c[d+4>>2]|0;P=((O|0)<0)<<31>>31;s=c[d>>2]|0;t=((s|0)<0)<<31>>31;h=c[a+-44>>2]|0;i=c[a+-40>>2]|0;j=c[a+-36>>2]|0;k=c[a+-32>>2]|0;l=c[a+-28>>2]|0;m=c[a+-24>>2]|0;n=c[a+-20>>2]|0;o=c[a+-16>>2]|0;p=c[a+-12>>2]|0;q=c[a+-8>>2]|0;r=c[a+-4>>2]|0;u=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,v|0,w|0)|0;_=C;$=hf(i|0,((i|0)<0)<<31>>31|0,x|0,y|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(j|0,((j|0)<0)<<31>>31|0,z|0,A|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(k|0,((k|0)<0)<<31>>31|0,B|0,D|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,E|0,F|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,G|0,H|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,I|0,J|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(o|0,((o|0)<0)<<31>>31|0,K|0,L|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(p|0,((p|0)<0)<<31>>31|0,M|0,N|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(q|0,((q|0)<0)<<31>>31|0,O|0,P|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(r|0,((r|0)<0)<<31>>31|0,s|0,t|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(u<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(u<<2)>>2]=h-$;u=u+1|0;if((u|0)==(b|0))break;else{S=r;T=q;U=p;V=o;W=n;X=m;Y=l;Z=k;_=j;$=i;r=h;q=S;p=T;o=U;n=V;m=W;l=X;k=Y;j=Z;i=_;h=$}}return}}else{h=(b|0)>0;if((e|0)==10){if(!h)return;u=c[d+36>>2]|0;v=((u|0)<0)<<31>>31;w=c[d+32>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+28>>2]|0;z=((y|0)<0)<<31>>31;A=c[d+24>>2]|0;B=((A|0)<0)<<31>>31;D=c[d+20>>2]|0;E=((D|0)<0)<<31>>31;F=c[d+16>>2]|0;G=((F|0)<0)<<31>>31;H=c[d+12>>2]|0;I=((H|0)<0)<<31>>31;J=c[d+8>>2]|0;K=((J|0)<0)<<31>>31;L=c[d+4>>2]|0;M=((L|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-40>>2]|0;k=c[a+-36>>2]|0;l=c[a+-32>>2]|0;m=c[a+-28>>2]|0;n=c[a+-24>>2]|0;o=c[a+-20>>2]|0;p=c[a+-16>>2]|0;q=c[a+-12>>2]|0;r=c[a+-8>>2]|0;s=c[a+-4>>2]|0;t=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,u|0,v|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,w|0,x|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,y|0,z|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,A|0,B|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(n|0,((n|0)<0)<<31>>31|0,D|0,E|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(o|0,((o|0)<0)<<31>>31|0,F|0,G|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(p|0,((p|0)<0)<<31>>31|0,H|0,I|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(q|0,((q|0)<0)<<31>>31|0,J|0,K|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(r|0,((r|0)<0)<<31>>31|0,L|0,M|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(s|0,((s|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(t<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(t<<2)>>2]=h-$;t=t+1|0;if((t|0)==(b|0))break;else{T=s;U=r;V=q;W=p;X=o;Y=n;Z=m;_=l;$=k;s=h;r=T;q=U;p=V;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}else{if(!h)return;t=c[d+32>>2]|0;u=((t|0)<0)<<31>>31;v=c[d+28>>2]|0;w=((v|0)<0)<<31>>31;x=c[d+24>>2]|0;y=((x|0)<0)<<31>>31;z=c[d+20>>2]|0;A=((z|0)<0)<<31>>31;B=c[d+16>>2]|0;D=((B|0)<0)<<31>>31;E=c[d+12>>2]|0;F=((E|0)<0)<<31>>31;G=c[d+8>>2]|0;H=((G|0)<0)<<31>>31;I=c[d+4>>2]|0;J=((I|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-36>>2]|0;k=c[a+-32>>2]|0;l=c[a+-28>>2]|0;m=c[a+-24>>2]|0;n=c[a+-20>>2]|0;o=c[a+-16>>2]|0;p=c[a+-12>>2]|0;q=c[a+-8>>2]|0;r=c[a+-4>>2]|0;s=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,t|0,u|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,v|0,w|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,x|0,y|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,z|0,A|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,B|0,D|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(o|0,((o|0)<0)<<31>>31|0,E|0,F|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(p|0,((p|0)<0)<<31>>31|0,G|0,H|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(q|0,((q|0)<0)<<31>>31|0,I|0,J|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(r|0,((r|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(s<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(s<<2)>>2]=h-$;s=s+1|0;if((s|0)==(b|0))break;else{U=r;V=q;W=p;X=o;Y=n;Z=m;_=l;$=k;r=h;q=U;p=V;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}}if(e>>>0>4)if(e>>>0>6){h=(b|0)>0;if((e|0)==8){if(!h)return;s=c[d+28>>2]|0;t=((s|0)<0)<<31>>31;u=c[d+24>>2]|0;v=((u|0)<0)<<31>>31;w=c[d+20>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+16>>2]|0;z=((y|0)<0)<<31>>31;A=c[d+12>>2]|0;B=((A|0)<0)<<31>>31;D=c[d+8>>2]|0;E=((D|0)<0)<<31>>31;F=c[d+4>>2]|0;G=((F|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-32>>2]|0;k=c[a+-28>>2]|0;l=c[a+-24>>2]|0;m=c[a+-20>>2]|0;n=c[a+-16>>2]|0;o=c[a+-12>>2]|0;p=c[a+-8>>2]|0;q=c[a+-4>>2]|0;r=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,s|0,t|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,u|0,v|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,w|0,x|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,y|0,z|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(n|0,((n|0)<0)<<31>>31|0,A|0,B|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(o|0,((o|0)<0)<<31>>31|0,D|0,E|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(p|0,((p|0)<0)<<31>>31|0,F|0,G|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(q|0,((q|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(r<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(r<<2)>>2]=h-$;r=r+1|0;if((r|0)==(b|0))break;else{V=q;W=p;X=o;Y=n;Z=m;_=l;$=k;q=h;p=V;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}else{if(!h)return;r=c[d+24>>2]|0;s=((r|0)<0)<<31>>31;t=c[d+20>>2]|0;u=((t|0)<0)<<31>>31;v=c[d+16>>2]|0;w=((v|0)<0)<<31>>31;x=c[d+12>>2]|0;y=((x|0)<0)<<31>>31;z=c[d+8>>2]|0;A=((z|0)<0)<<31>>31;B=c[d+4>>2]|0;D=((B|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-28>>2]|0;k=c[a+-24>>2]|0;l=c[a+-20>>2]|0;m=c[a+-16>>2]|0;n=c[a+-12>>2]|0;o=c[a+-8>>2]|0;p=c[a+-4>>2]|0;q=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,r|0,s|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,t|0,u|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,v|0,w|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,x|0,y|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,z|0,A|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(o|0,((o|0)<0)<<31>>31|0,B|0,D|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(p|0,((p|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(q<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(q<<2)>>2]=h-$;q=q+1|0;if((q|0)==(b|0))break;else{W=p;X=o;Y=n;Z=m;_=l;$=k;p=h;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}}else{h=(b|0)>0;if((e|0)==6){if(!h)return;q=c[d+20>>2]|0;r=((q|0)<0)<<31>>31;s=c[d+16>>2]|0;t=((s|0)<0)<<31>>31;u=c[d+12>>2]|0;v=((u|0)<0)<<31>>31;w=c[d+8>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+4>>2]|0;z=((y|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-24>>2]|0;k=c[a+-20>>2]|0;l=c[a+-16>>2]|0;m=c[a+-12>>2]|0;n=c[a+-8>>2]|0;o=c[a+-4>>2]|0;p=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,q|0,r|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,s|0,t|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,u|0,v|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,w|0,x|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(n|0,((n|0)<0)<<31>>31|0,y|0,z|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(o|0,((o|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(p<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(p<<2)>>2]=h-$;p=p+1|0;if((p|0)==(b|0))break;else{X=o;Y=n;Z=m;_=l;$=k;o=h;n=X;m=Y;l=Z;k=_;h=$}}return}else{if(!h)return;p=c[d+16>>2]|0;q=((p|0)<0)<<31>>31;r=c[d+12>>2]|0;s=((r|0)<0)<<31>>31;t=c[d+8>>2]|0;u=((t|0)<0)<<31>>31;v=c[d+4>>2]|0;w=((v|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-20>>2]|0;k=c[a+-16>>2]|0;l=c[a+-12>>2]|0;m=c[a+-8>>2]|0;n=c[a+-4>>2]|0;o=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,p|0,q|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,r|0,s|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,t|0,u|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,v|0,w|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(o<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(o<<2)>>2]=h-$;o=o+1|0;if((o|0)==(b|0))break;else{Y=n;Z=m;_=l;$=k;n=h;m=Y;l=Z;k=_;h=$}}return}}else if(e>>>0>2){h=(b|0)>0;if((e|0)==4){if(!h)return;o=c[d+12>>2]|0;p=((o|0)<0)<<31>>31;q=c[d+8>>2]|0;r=((q|0)<0)<<31>>31;s=c[d+4>>2]|0;t=((s|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-16>>2]|0;k=c[a+-12>>2]|0;l=c[a+-8>>2]|0;m=c[a+-4>>2]|0;n=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,o|0,p|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,q|0,r|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,s|0,t|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(n<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(n<<2)>>2]=h-$;n=n+1|0;if((n|0)==(b|0))break;else{Z=m;_=l;$=k;m=h;l=Z;k=_;h=$}}return}else{if(!h)return;n=c[d+8>>2]|0;o=((n|0)<0)<<31>>31;p=c[d+4>>2]|0;q=((p|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-12>>2]|0;k=c[a+-8>>2]|0;l=c[a+-4>>2]|0;m=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,n|0,o|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,p|0,q|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(m<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(m<<2)>>2]=h-$;m=m+1|0;if((m|0)==(b|0))break;else{_=l;$=k;l=h;k=_;h=$}}return}}else{h=(b|0)>0;if((e|0)==2){if(!h)return;m=c[d+4>>2]|0;n=((m|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[a+-8>>2]|0;k=c[a+-4>>2]|0;l=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,m|0,n|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=c[a+(l<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;c[g+(l<<2)>>2]=h-$;l=l+1|0;if((l|0)==(b|0))break;else{$=k;k=h;h=$}}return}else{if(!h)return;h=c[d>>2]|0;i=((h|0)<0)<<31>>31;j=c[a+-4>>2]|0;k=0;do{$=j;j=c[a+(k<<2)>>2]|0;$=hf($|0,(($|0)<0)<<31>>31|0,h|0,i|0)|0;$=_e($|0,C|0,f|0)|0;c[g+(k<<2)>>2]=j-$;k=k+1|0}while((k|0)!=(b|0));return}}}function Cc(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,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;if(e>>>0>=13){if((b|0)<=0)return;s=d+124|0;D=d+120|0;H=d+116|0;I=d+112|0;J=d+108|0;K=d+104|0;L=d+100|0;M=d+96|0;i=d+92|0;j=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+60|0;r=d+56|0;t=d+52|0;u=d+48|0;v=d+44|0;w=d+40|0;x=d+36|0;y=d+32|0;z=d+28|0;A=d+24|0;B=d+20|0;C=d+16|0;E=d+12|0;F=d+8|0;G=d+4|0;N=0;do{switch(e|0){case 32:{h=_(c[g+(N+-32<<2)>>2]|0,c[s>>2]|0)|0;O=53;break}case 31:{h=0;O=53;break}case 30:{h=0;O=54;break}case 29:{h=0;O=55;break}case 28:{h=0;O=56;break}case 27:{h=0;O=57;break}case 26:{h=0;O=58;break}case 25:{h=0;O=59;break}case 24:{h=0;O=60;break}case 23:{h=0;O=61;break}case 22:{h=0;O=62;break}case 21:{h=0;O=63;break}case 20:{h=0;O=64;break}case 19:{h=0;O=65;break}case 18:{h=0;O=66;break}case 17:{h=0;O=67;break}case 16:{h=0;O=68;break}case 15:{h=0;O=69;break}case 14:{h=0;O=70;break}case 13:{h=0;O=71;break}default:h=0}if((O|0)==53){h=(_(c[g+(N+-31<<2)>>2]|0,c[D>>2]|0)|0)+h|0;O=54}if((O|0)==54){h=(_(c[g+(N+-30<<2)>>2]|0,c[H>>2]|0)|0)+h|0;O=55}if((O|0)==55){h=(_(c[g+(N+-29<<2)>>2]|0,c[I>>2]|0)|0)+h|0;O=56}if((O|0)==56){h=(_(c[g+(N+-28<<2)>>2]|0,c[J>>2]|0)|0)+h|0;O=57}if((O|0)==57){h=(_(c[g+(N+-27<<2)>>2]|0,c[K>>2]|0)|0)+h|0;O=58}if((O|0)==58){h=(_(c[g+(N+-26<<2)>>2]|0,c[L>>2]|0)|0)+h|0;O=59}if((O|0)==59){h=(_(c[g+(N+-25<<2)>>2]|0,c[M>>2]|0)|0)+h|0;O=60}if((O|0)==60){h=(_(c[g+(N+-24<<2)>>2]|0,c[i>>2]|0)|0)+h|0;O=61}if((O|0)==61){h=(_(c[g+(N+-23<<2)>>2]|0,c[j>>2]|0)|0)+h|0;O=62}if((O|0)==62){h=(_(c[g+(N+-22<<2)>>2]|0,c[k>>2]|0)|0)+h|0;O=63}if((O|0)==63){h=(_(c[g+(N+-21<<2)>>2]|0,c[l>>2]|0)|0)+h|0;O=64}if((O|0)==64){h=(_(c[g+(N+-20<<2)>>2]|0,c[m>>2]|0)|0)+h|0;O=65}if((O|0)==65){h=(_(c[g+(N+-19<<2)>>2]|0,c[n>>2]|0)|0)+h|0;O=66}if((O|0)==66){h=(_(c[g+(N+-18<<2)>>2]|0,c[o>>2]|0)|0)+h|0;O=67}if((O|0)==67){h=(_(c[g+(N+-17<<2)>>2]|0,c[p>>2]|0)|0)+h|0;O=68}if((O|0)==68){h=(_(c[g+(N+-16<<2)>>2]|0,c[q>>2]|0)|0)+h|0;O=69}if((O|0)==69){h=(_(c[g+(N+-15<<2)>>2]|0,c[r>>2]|0)|0)+h|0;O=70}if((O|0)==70){h=(_(c[g+(N+-14<<2)>>2]|0,c[t>>2]|0)|0)+h|0;O=71}if((O|0)==71){O=0;h=(_(c[g+(N+-13<<2)>>2]|0,c[u>>2]|0)|0)+h|0;h=h+(_(c[g+(N+-12<<2)>>2]|0,c[v>>2]|0)|0)|0;h=h+(_(c[g+(N+-11<<2)>>2]|0,c[w>>2]|0)|0)|0;h=h+(_(c[g+(N+-10<<2)>>2]|0,c[x>>2]|0)|0)|0;h=h+(_(c[g+(N+-9<<2)>>2]|0,c[y>>2]|0)|0)|0;h=h+(_(c[g+(N+-8<<2)>>2]|0,c[z>>2]|0)|0)|0;h=h+(_(c[g+(N+-7<<2)>>2]|0,c[A>>2]|0)|0)|0;h=h+(_(c[g+(N+-6<<2)>>2]|0,c[B>>2]|0)|0)|0;h=h+(_(c[g+(N+-5<<2)>>2]|0,c[C>>2]|0)|0)|0;h=h+(_(c[g+(N+-4<<2)>>2]|0,c[E>>2]|0)|0)|0;h=h+(_(c[g+(N+-3<<2)>>2]|0,c[F>>2]|0)|0)|0;h=h+(_(c[g+(N+-2<<2)>>2]|0,c[G>>2]|0)|0)|0;h=h+(_(c[g+(N+-1<<2)>>2]|0,c[d>>2]|0)|0)|0}c[g+(N<<2)>>2]=(c[a+(N<<2)>>2]|0)+(h>>f);N=N+1|0}while((N|0)!=(b|0));return}if(e>>>0>8)if(e>>>0>10){h=(b|0)>0;if((e|0)==12){if(!h)return;v=c[d+44>>2]|0;w=c[d+40>>2]|0;x=c[d+36>>2]|0;y=c[d+32>>2]|0;z=c[d+28>>2]|0;A=c[d+24>>2]|0;B=c[d+20>>2]|0;C=c[d+16>>2]|0;D=c[d+12>>2]|0;E=c[d+8>>2]|0;F=c[d+4>>2]|0;n=c[d>>2]|0;i=c[g+-20>>2]|0;j=c[g+-16>>2]|0;k=c[g+-12>>2]|0;l=c[g+-8>>2]|0;m=c[g+-4>>2]|0;h=c[g+-48>>2]|0;o=c[g+-44>>2]|0;p=c[g+-40>>2]|0;q=c[g+-36>>2]|0;r=c[g+-32>>2]|0;s=c[g+-28>>2]|0;t=c[g+-24>>2]|0;u=0;while(1){h=(_(o,w)|0)+(_(h,v)|0)+(_(p,x)|0)+(_(q,y)|0)+(_(r,z)|0)+(_(s,A)|0)+(_(t,B)|0)+(_(i,C)|0)+(_(j,D)|0)+(_(k,E)|0)+(_(l,F)|0)+(_(m,n)|0)|0;h=(h>>f)+(c[a+(u<<2)>>2]|0)|0;c[g+(u<<2)>>2]=h;u=u+1|0;if((u|0)==(b|0))break;else{H=t;I=s;J=r;K=q;L=p;M=o;N=m;O=l;e=k;d=j;m=h;t=i;s=H;r=I;q=J;p=K;o=L;h=M;l=N;k=O;j=e;i=d}}return}else{if(!h)return;u=c[d+40>>2]|0;v=c[d+36>>2]|0;w=c[d+32>>2]|0;x=c[d+28>>2]|0;y=c[d+24>>2]|0;z=c[d+20>>2]|0;A=c[d+16>>2]|0;B=c[d+12>>2]|0;C=c[d+8>>2]|0;D=c[d+4>>2]|0;s=c[d>>2]|0;h=c[g+-44>>2]|0;i=c[g+-40>>2]|0;j=c[g+-36>>2]|0;k=c[g+-32>>2]|0;l=c[g+-28>>2]|0;m=c[g+-24>>2]|0;n=c[g+-20>>2]|0;o=c[g+-16>>2]|0;p=c[g+-12>>2]|0;q=c[g+-8>>2]|0;r=c[g+-4>>2]|0;t=0;while(1){h=(_(i,v)|0)+(_(h,u)|0)+(_(j,w)|0)+(_(k,x)|0)+(_(l,y)|0)+(_(m,z)|0)+(_(n,A)|0)+(_(o,B)|0)+(_(p,C)|0)+(_(q,D)|0)+(_(r,s)|0)|0;h=(h>>f)+(c[a+(t<<2)>>2]|0)|0;c[g+(t<<2)>>2]=h;t=t+1|0;if((t|0)==(b|0))break;else{H=r;I=q;J=p;K=o;L=n;M=m;N=l;O=k;e=j;d=i;r=h;q=H;p=I;o=J;n=K;m=L;l=M;k=N;j=O;i=e;h=d}}return}}else{h=(b|0)>0;if((e|0)==10){if(!h)return;t=c[d+36>>2]|0;u=c[d+32>>2]|0;v=c[d+28>>2]|0;w=c[d+24>>2]|0;x=c[d+20>>2]|0;y=c[d+16>>2]|0;z=c[d+12>>2]|0;A=c[d+8>>2]|0;B=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-40>>2]|0;j=c[g+-36>>2]|0;k=c[g+-32>>2]|0;l=c[g+-28>>2]|0;m=c[g+-24>>2]|0;n=c[g+-20>>2]|0;o=c[g+-16>>2]|0;p=c[g+-12>>2]|0;q=c[g+-8>>2]|0;r=c[g+-4>>2]|0;s=0;while(1){h=(_(j,u)|0)+(_(h,t)|0)+(_(k,v)|0)+(_(l,w)|0)+(_(m,x)|0)+(_(n,y)|0)+(_(o,z)|0)+(_(p,A)|0)+(_(q,B)|0)+(_(r,i)|0)|0;h=(h>>f)+(c[a+(s<<2)>>2]|0)|0;c[g+(s<<2)>>2]=h;s=s+1|0;if((s|0)==(b|0))break;else{I=r;J=q;K=p;L=o;M=n;N=m;O=l;e=k;d=j;r=h;q=I;p=J;o=K;n=L;m=M;l=N;k=O;j=e;h=d}}return}else{if(!h)return;s=c[d+32>>2]|0;t=c[d+28>>2]|0;u=c[d+24>>2]|0;v=c[d+20>>2]|0;w=c[d+16>>2]|0;x=c[d+12>>2]|0;y=c[d+8>>2]|0;z=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-36>>2]|0;j=c[g+-32>>2]|0;k=c[g+-28>>2]|0;l=c[g+-24>>2]|0;m=c[g+-20>>2]|0;n=c[g+-16>>2]|0;o=c[g+-12>>2]|0;p=c[g+-8>>2]|0;q=c[g+-4>>2]|0;r=0;while(1){h=(_(j,t)|0)+(_(h,s)|0)+(_(k,u)|0)+(_(l,v)|0)+(_(m,w)|0)+(_(n,x)|0)+(_(o,y)|0)+(_(p,z)|0)+(_(q,i)|0)|0;h=(h>>f)+(c[a+(r<<2)>>2]|0)|0;c[g+(r<<2)>>2]=h;r=r+1|0;if((r|0)==(b|0))break;else{J=q;K=p;L=o;M=n;N=m;O=l;e=k;d=j;q=h;p=J;o=K;n=L;m=M;l=N;k=O;j=e;h=d}}return}}if(e>>>0>4)if(e>>>0>6){h=(b|0)>0;if((e|0)==8){if(!h)return;r=c[d+28>>2]|0;s=c[d+24>>2]|0;t=c[d+20>>2]|0;u=c[d+16>>2]|0;v=c[d+12>>2]|0;w=c[d+8>>2]|0;x=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-32>>2]|0;j=c[g+-28>>2]|0;k=c[g+-24>>2]|0;l=c[g+-20>>2]|0;m=c[g+-16>>2]|0;n=c[g+-12>>2]|0;o=c[g+-8>>2]|0;p=c[g+-4>>2]|0;q=0;while(1){h=(_(j,s)|0)+(_(h,r)|0)+(_(k,t)|0)+(_(l,u)|0)+(_(m,v)|0)+(_(n,w)|0)+(_(o,x)|0)+(_(p,i)|0)|0;h=(h>>f)+(c[a+(q<<2)>>2]|0)|0;c[g+(q<<2)>>2]=h;q=q+1|0;if((q|0)==(b|0))break;else{K=p;L=o;M=n;N=m;O=l;e=k;d=j;p=h;o=K;n=L;m=M;l=N;k=O;j=e;h=d}}return}else{if(!h)return;q=c[d+24>>2]|0;r=c[d+20>>2]|0;s=c[d+16>>2]|0;t=c[d+12>>2]|0;u=c[d+8>>2]|0;v=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-28>>2]|0;j=c[g+-24>>2]|0;k=c[g+-20>>2]|0;l=c[g+-16>>2]|0;m=c[g+-12>>2]|0;n=c[g+-8>>2]|0;o=c[g+-4>>2]|0;p=0;while(1){h=(_(j,r)|0)+(_(h,q)|0)+(_(k,s)|0)+(_(l,t)|0)+(_(m,u)|0)+(_(n,v)|0)+(_(o,i)|0)|0;h=(h>>f)+(c[a+(p<<2)>>2]|0)|0;c[g+(p<<2)>>2]=h;p=p+1|0;if((p|0)==(b|0))break;else{L=o;M=n;N=m;O=l;e=k;d=j;o=h;n=L;m=M;l=N;k=O;j=e;h=d}}return}}else{h=(b|0)>0;if((e|0)==6){if(!h)return;p=c[d+20>>2]|0;q=c[d+16>>2]|0;r=c[d+12>>2]|0;s=c[d+8>>2]|0;t=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-24>>2]|0;j=c[g+-20>>2]|0;k=c[g+-16>>2]|0;l=c[g+-12>>2]|0;m=c[g+-8>>2]|0;n=c[g+-4>>2]|0;o=0;while(1){h=(_(j,q)|0)+(_(h,p)|0)+(_(k,r)|0)+(_(l,s)|0)+(_(m,t)|0)+(_(n,i)|0)|0;h=(h>>f)+(c[a+(o<<2)>>2]|0)|0;c[g+(o<<2)>>2]=h;o=o+1|0;if((o|0)==(b|0))break;else{M=n;N=m;O=l;e=k;d=j;n=h;m=M;l=N;k=O;j=e;h=d}}return}else{if(!h)return;o=c[d+16>>2]|0;p=c[d+12>>2]|0;q=c[d+8>>2]|0;r=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-20>>2]|0;j=c[g+-16>>2]|0;k=c[g+-12>>2]|0;l=c[g+-8>>2]|0;m=c[g+-4>>2]|0;n=0;while(1){h=(_(j,p)|0)+(_(h,o)|0)+(_(k,q)|0)+(_(l,r)|0)+(_(m,i)|0)|0;h=(h>>f)+(c[a+(n<<2)>>2]|0)|0;c[g+(n<<2)>>2]=h;n=n+1|0;if((n|0)==(b|0))break;else{N=m;O=l;e=k;d=j;m=h;l=N;k=O;j=e;h=d}}return}}else if(e>>>0>2){h=(b|0)>0;if((e|0)==4){if(!h)return;n=c[d+12>>2]|0;o=c[d+8>>2]|0;p=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-16>>2]|0;j=c[g+-12>>2]|0;k=c[g+-8>>2]|0;l=c[g+-4>>2]|0;m=0;while(1){h=(_(j,o)|0)+(_(h,n)|0)+(_(k,p)|0)+(_(l,i)|0)|0;h=(h>>f)+(c[a+(m<<2)>>2]|0)|0;c[g+(m<<2)>>2]=h;m=m+1|0;if((m|0)==(b|0))break;else{O=l;e=k;d=j;l=h;k=O;j=e;h=d}}return}else{if(!h)return;m=c[d+8>>2]|0;n=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-12>>2]|0;j=c[g+-8>>2]|0;k=c[g+-4>>2]|0;l=0;while(1){h=(_(j,n)|0)+(_(h,m)|0)+(_(k,i)|0)|0;h=(h>>f)+(c[a+(l<<2)>>2]|0)|0;c[g+(l<<2)>>2]=h;l=l+1|0;if((l|0)==(b|0))break;else{e=k;d=j;k=h;j=e;h=d}}return}}else{h=(b|0)>0;if((e|0)==2){if(!h)return;l=c[d+4>>2]|0;i=c[d>>2]|0;h=c[g+-8>>2]|0;j=c[g+-4>>2]|0;k=0;while(1){h=(_(j,i)|0)+(_(h,l)|0)|0;h=(h>>f)+(c[a+(k<<2)>>2]|0)|0;c[g+(k<<2)>>2]=h;k=k+1|0;if((k|0)==(b|0))break;else{d=j;j=h;h=d}}return}else{if(!h)return;h=c[d>>2]|0;i=c[g+-4>>2]|0;j=0;do{i=((_(i,h)|0)>>f)+(c[a+(j<<2)>>2]|0)|0;c[g+(j<<2)>>2]=i;j=j+1|0}while((j|0)!=(b|0));return}}}function Dc(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,z=0,A=0,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,_=0,$=0;if(e>>>0>=13){if((b|0)<=0)return;t=d+124|0;F=d+120|0;J=d+116|0;K=d+112|0;L=d+108|0;M=d+104|0;N=d+100|0;O=d+96|0;j=d+92|0;k=d+88|0;l=d+84|0;m=d+80|0;n=d+76|0;o=d+72|0;p=d+68|0;q=d+64|0;r=d+60|0;s=d+56|0;u=d+52|0;v=d+48|0;w=d+44|0;x=d+40|0;y=d+36|0;z=d+32|0;A=d+28|0;B=d+24|0;D=d+20|0;E=d+16|0;G=d+12|0;H=d+8|0;I=d+4|0;P=0;do{switch(e|0){case 32:{h=c[t>>2]|0;i=c[g+(P+-32<<2)>>2]|0;h=hf(i|0,((i|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;i=C;Q=53;break}case 31:{h=0;i=0;Q=53;break}case 30:{h=0;i=0;Q=54;break}case 29:{h=0;i=0;Q=55;break}case 28:{h=0;i=0;Q=56;break}case 27:{h=0;i=0;Q=57;break}case 26:{h=0;i=0;Q=58;break}case 25:{h=0;i=0;Q=59;break}case 24:{h=0;i=0;Q=60;break}case 23:{h=0;i=0;Q=61;break}case 22:{h=0;i=0;Q=62;break}case 21:{h=0;i=0;Q=63;break}case 20:{h=0;i=0;Q=64;break}case 19:{h=0;i=0;Q=65;break}case 18:{h=0;i=0;Q=66;break}case 17:{h=0;i=0;Q=67;break}case 16:{h=0;i=0;Q=68;break}case 15:{h=0;i=0;Q=69;break}case 14:{h=0;i=0;Q=70;break}case 13:{h=0;i=0;Q=71;break}default:{h=0;i=0}}if((Q|0)==53){R=c[F>>2]|0;S=c[g+(P+-31<<2)>>2]|0;R=hf(S|0,((S|0)<0)<<31>>31|0,R|0,((R|0)<0)<<31>>31|0)|0;h=Ze(R|0,C|0,h|0,i|0)|0;i=C;Q=54}if((Q|0)==54){S=c[J>>2]|0;R=c[g+(P+-30<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=55}if((Q|0)==55){S=c[K>>2]|0;R=c[g+(P+-29<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=56}if((Q|0)==56){S=c[L>>2]|0;R=c[g+(P+-28<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=57}if((Q|0)==57){S=c[M>>2]|0;R=c[g+(P+-27<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=58}if((Q|0)==58){S=c[N>>2]|0;R=c[g+(P+-26<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=59}if((Q|0)==59){S=c[O>>2]|0;R=c[g+(P+-25<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=60}if((Q|0)==60){S=c[j>>2]|0;R=c[g+(P+-24<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=61}if((Q|0)==61){S=c[k>>2]|0;R=c[g+(P+-23<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=62}if((Q|0)==62){S=c[l>>2]|0;R=c[g+(P+-22<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=63}if((Q|0)==63){S=c[m>>2]|0;R=c[g+(P+-21<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=64}if((Q|0)==64){S=c[n>>2]|0;R=c[g+(P+-20<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=65}if((Q|0)==65){S=c[o>>2]|0;R=c[g+(P+-19<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=66}if((Q|0)==66){S=c[p>>2]|0;R=c[g+(P+-18<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=67}if((Q|0)==67){S=c[q>>2]|0;R=c[g+(P+-17<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=68}if((Q|0)==68){S=c[r>>2]|0;R=c[g+(P+-16<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=69}if((Q|0)==69){S=c[s>>2]|0;R=c[g+(P+-15<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=70}if((Q|0)==70){S=c[u>>2]|0;R=c[g+(P+-14<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;Q=71}if((Q|0)==71){Q=0;S=c[v>>2]|0;R=c[g+(P+-13<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;h=Ze(S|0,C|0,h|0,i|0)|0;i=C;S=c[w>>2]|0;R=c[g+(P+-12<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[x>>2]|0;R=c[g+(P+-11<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[y>>2]|0;R=c[g+(P+-10<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[z>>2]|0;R=c[g+(P+-9<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[A>>2]|0;R=c[g+(P+-8<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[B>>2]|0;R=c[g+(P+-7<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[D>>2]|0;R=c[g+(P+-6<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[E>>2]|0;R=c[g+(P+-5<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[G>>2]|0;R=c[g+(P+-4<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[H>>2]|0;R=c[g+(P+-3<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C;S=c[I>>2]|0;R=c[g+(P+-2<<2)>>2]|0;S=hf(R|0,((R|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;S=Ze(h|0,i|0,S|0,C|0)|0;i=C;h=c[d>>2]|0;R=c[g+(P+-1<<2)>>2]|0;h=hf(R|0,((R|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ze(S|0,i|0,h|0,C|0)|0;i=C}S=c[a+(P<<2)>>2]|0;R=_e(h|0,i|0,f|0)|0;c[g+(P<<2)>>2]=R+S;P=P+1|0}while((P|0)!=(b|0));return}if(e>>>0>8)if(e>>>0>10){h=(b|0)>0;if((e|0)==12){if(!h)return;J=c[d+44>>2]|0;K=((J|0)<0)<<31>>31;L=c[d+40>>2]|0;M=((L|0)<0)<<31>>31;N=c[d+36>>2]|0;O=((N|0)<0)<<31>>31;P=c[d+32>>2]|0;Q=((P|0)<0)<<31>>31;e=c[d+28>>2]|0;R=((e|0)<0)<<31>>31;w=c[d+24>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+20>>2]|0;z=((y|0)<0)<<31>>31;A=c[d+16>>2]|0;B=((A|0)<0)<<31>>31;D=c[d+12>>2]|0;E=((D|0)<0)<<31>>31;F=c[d+8>>2]|0;G=((F|0)<0)<<31>>31;H=c[d+4>>2]|0;I=((H|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-48>>2]|0;k=c[g+-44>>2]|0;l=c[g+-40>>2]|0;m=c[g+-36>>2]|0;n=c[g+-32>>2]|0;o=c[g+-28>>2]|0;p=c[g+-24>>2]|0;q=c[g+-20>>2]|0;r=c[g+-16>>2]|0;s=c[g+-12>>2]|0;t=c[g+-8>>2]|0;u=c[g+-4>>2]|0;v=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,J|0,K|0)|0;S=C;d=hf(k|0,((k|0)<0)<<31>>31|0,L|0,M|0)|0;S=Ze(d|0,C|0,h|0,S|0)|0;h=C;d=hf(l|0,((l|0)<0)<<31>>31|0,N|0,O|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(m|0,((m|0)<0)<<31>>31|0,P|0,Q|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(n|0,((n|0)<0)<<31>>31|0,e|0,R|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(o|0,((o|0)<0)<<31>>31|0,w|0,x|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(p|0,((p|0)<0)<<31>>31|0,y|0,z|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(q|0,((q|0)<0)<<31>>31|0,A|0,B|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(r|0,((r|0)<0)<<31>>31|0,D|0,E|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(s|0,((s|0)<0)<<31>>31|0,F|0,G|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=C;d=hf(t|0,((t|0)<0)<<31>>31|0,H|0,I|0)|0;d=Ze(S|0,h|0,d|0,C|0)|0;h=C;S=hf(u|0,((u|0)<0)<<31>>31|0,i|0,j|0)|0;S=Ze(d|0,h|0,S|0,C|0)|0;h=c[a+(v<<2)>>2]|0;S=_e(S|0,C|0,f|0)|0;h=S+h|0;c[g+(v<<2)>>2]=h;v=v+1|0;if((v|0)==(b|0))break;else{$=u;_=t;Z=s;Y=r;X=q;W=p;V=o;U=n;T=m;d=l;S=k;u=h;t=$;s=_;r=Z;q=Y;p=X;o=W;n=V;m=U;l=T;k=d;h=S}}return}else{if(!h)return;v=c[d+40>>2]|0;w=((v|0)<0)<<31>>31;x=c[d+36>>2]|0;y=((x|0)<0)<<31>>31;z=c[d+32>>2]|0;A=((z|0)<0)<<31>>31;B=c[d+28>>2]|0;D=((B|0)<0)<<31>>31;E=c[d+24>>2]|0;F=((E|0)<0)<<31>>31;G=c[d+20>>2]|0;H=((G|0)<0)<<31>>31;I=c[d+16>>2]|0;J=((I|0)<0)<<31>>31;K=c[d+12>>2]|0;L=((K|0)<0)<<31>>31;M=c[d+8>>2]|0;N=((M|0)<0)<<31>>31;O=c[d+4>>2]|0;P=((O|0)<0)<<31>>31;s=c[d>>2]|0;t=((s|0)<0)<<31>>31;h=c[g+-44>>2]|0;i=c[g+-40>>2]|0;j=c[g+-36>>2]|0;k=c[g+-32>>2]|0;l=c[g+-28>>2]|0;m=c[g+-24>>2]|0;n=c[g+-20>>2]|0;o=c[g+-16>>2]|0;p=c[g+-12>>2]|0;q=c[g+-8>>2]|0;r=c[g+-4>>2]|0;u=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,v|0,w|0)|0;_=C;$=hf(i|0,((i|0)<0)<<31>>31|0,x|0,y|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(j|0,((j|0)<0)<<31>>31|0,z|0,A|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(k|0,((k|0)<0)<<31>>31|0,B|0,D|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,E|0,F|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,G|0,H|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,I|0,J|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(o|0,((o|0)<0)<<31>>31|0,K|0,L|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(p|0,((p|0)<0)<<31>>31|0,M|0,N|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(q|0,((q|0)<0)<<31>>31|0,O|0,P|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(r|0,((r|0)<0)<<31>>31|0,s|0,t|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(u<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(u<<2)>>2]=h;u=u+1|0;if((u|0)==(b|0))break;else{S=r;T=q;U=p;V=o;W=n;X=m;Y=l;Z=k;_=j;$=i;r=h;q=S;p=T;o=U;n=V;m=W;l=X;k=Y;j=Z;i=_;h=$}}return}}else{h=(b|0)>0;if((e|0)==10){if(!h)return;u=c[d+36>>2]|0;v=((u|0)<0)<<31>>31;w=c[d+32>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+28>>2]|0;z=((y|0)<0)<<31>>31;A=c[d+24>>2]|0;B=((A|0)<0)<<31>>31;D=c[d+20>>2]|0;E=((D|0)<0)<<31>>31;F=c[d+16>>2]|0;G=((F|0)<0)<<31>>31;H=c[d+12>>2]|0;I=((H|0)<0)<<31>>31;J=c[d+8>>2]|0;K=((J|0)<0)<<31>>31;L=c[d+4>>2]|0;M=((L|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-40>>2]|0;k=c[g+-36>>2]|0;l=c[g+-32>>2]|0;m=c[g+-28>>2]|0;n=c[g+-24>>2]|0;o=c[g+-20>>2]|0;p=c[g+-16>>2]|0;q=c[g+-12>>2]|0;r=c[g+-8>>2]|0;s=c[g+-4>>2]|0;t=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,u|0,v|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,w|0,x|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,y|0,z|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,A|0,B|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(n|0,((n|0)<0)<<31>>31|0,D|0,E|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(o|0,((o|0)<0)<<31>>31|0,F|0,G|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(p|0,((p|0)<0)<<31>>31|0,H|0,I|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(q|0,((q|0)<0)<<31>>31|0,J|0,K|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(r|0,((r|0)<0)<<31>>31|0,L|0,M|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(s|0,((s|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(t<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(t<<2)>>2]=h;t=t+1|0;if((t|0)==(b|0))break;else{T=s;U=r;V=q;W=p;X=o;Y=n;Z=m;_=l;$=k;s=h;r=T;q=U;p=V;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}else{if(!h)return;t=c[d+32>>2]|0;u=((t|0)<0)<<31>>31;v=c[d+28>>2]|0;w=((v|0)<0)<<31>>31;x=c[d+24>>2]|0;y=((x|0)<0)<<31>>31;z=c[d+20>>2]|0;A=((z|0)<0)<<31>>31;B=c[d+16>>2]|0;D=((B|0)<0)<<31>>31;E=c[d+12>>2]|0;F=((E|0)<0)<<31>>31;G=c[d+8>>2]|0;H=((G|0)<0)<<31>>31;I=c[d+4>>2]|0;J=((I|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-36>>2]|0;k=c[g+-32>>2]|0;l=c[g+-28>>2]|0;m=c[g+-24>>2]|0;n=c[g+-20>>2]|0;o=c[g+-16>>2]|0;p=c[g+-12>>2]|0;q=c[g+-8>>2]|0;r=c[g+-4>>2]|0;s=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,t|0,u|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,v|0,w|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,x|0,y|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,z|0,A|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,B|0,D|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(o|0,((o|0)<0)<<31>>31|0,E|0,F|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(p|0,((p|0)<0)<<31>>31|0,G|0,H|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(q|0,((q|0)<0)<<31>>31|0,I|0,J|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(r|0,((r|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(s<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(s<<2)>>2]=h;s=s+1|0;if((s|0)==(b|0))break;else{U=r;V=q;W=p;X=o;Y=n;Z=m;_=l;$=k;r=h;q=U;p=V;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}}if(e>>>0>4)if(e>>>0>6){h=(b|0)>0;if((e|0)==8){if(!h)return;s=c[d+28>>2]|0;t=((s|0)<0)<<31>>31;u=c[d+24>>2]|0;v=((u|0)<0)<<31>>31;w=c[d+20>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+16>>2]|0;z=((y|0)<0)<<31>>31;A=c[d+12>>2]|0;B=((A|0)<0)<<31>>31;D=c[d+8>>2]|0;E=((D|0)<0)<<31>>31;F=c[d+4>>2]|0;G=((F|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-32>>2]|0;k=c[g+-28>>2]|0;l=c[g+-24>>2]|0;m=c[g+-20>>2]|0;n=c[g+-16>>2]|0;o=c[g+-12>>2]|0;p=c[g+-8>>2]|0;q=c[g+-4>>2]|0;r=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,s|0,t|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,u|0,v|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,w|0,x|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,y|0,z|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(n|0,((n|0)<0)<<31>>31|0,A|0,B|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(o|0,((o|0)<0)<<31>>31|0,D|0,E|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(p|0,((p|0)<0)<<31>>31|0,F|0,G|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(q|0,((q|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(r<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(r<<2)>>2]=h;r=r+1|0;if((r|0)==(b|0))break;else{V=q;W=p;X=o;Y=n;Z=m;_=l;$=k;q=h;p=V;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}else{if(!h)return;r=c[d+24>>2]|0;s=((r|0)<0)<<31>>31;t=c[d+20>>2]|0;u=((t|0)<0)<<31>>31;v=c[d+16>>2]|0;w=((v|0)<0)<<31>>31;x=c[d+12>>2]|0;y=((x|0)<0)<<31>>31;z=c[d+8>>2]|0;A=((z|0)<0)<<31>>31;B=c[d+4>>2]|0;D=((B|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-28>>2]|0;k=c[g+-24>>2]|0;l=c[g+-20>>2]|0;m=c[g+-16>>2]|0;n=c[g+-12>>2]|0;o=c[g+-8>>2]|0;p=c[g+-4>>2]|0;q=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,r|0,s|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,t|0,u|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,v|0,w|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,x|0,y|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,z|0,A|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(o|0,((o|0)<0)<<31>>31|0,B|0,D|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(p|0,((p|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(q<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(q<<2)>>2]=h;q=q+1|0;if((q|0)==(b|0))break;else{W=p;X=o;Y=n;Z=m;_=l;$=k;p=h;o=W;n=X;m=Y;l=Z;k=_;h=$}}return}}else{h=(b|0)>0;if((e|0)==6){if(!h)return;q=c[d+20>>2]|0;r=((q|0)<0)<<31>>31;s=c[d+16>>2]|0;t=((s|0)<0)<<31>>31;u=c[d+12>>2]|0;v=((u|0)<0)<<31>>31;w=c[d+8>>2]|0;x=((w|0)<0)<<31>>31;y=c[d+4>>2]|0;z=((y|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-24>>2]|0;k=c[g+-20>>2]|0;l=c[g+-16>>2]|0;m=c[g+-12>>2]|0;n=c[g+-8>>2]|0;o=c[g+-4>>2]|0;p=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,q|0,r|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,s|0,t|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,u|0,v|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,w|0,x|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(n|0,((n|0)<0)<<31>>31|0,y|0,z|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(o|0,((o|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(p<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(p<<2)>>2]=h;p=p+1|0;if((p|0)==(b|0))break;else{X=o;Y=n;Z=m;_=l;$=k;o=h;n=X;m=Y;l=Z;k=_;h=$}}return}else{if(!h)return;p=c[d+16>>2]|0;q=((p|0)<0)<<31>>31;r=c[d+12>>2]|0;s=((r|0)<0)<<31>>31;t=c[d+8>>2]|0;u=((t|0)<0)<<31>>31;v=c[d+4>>2]|0;w=((v|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-20>>2]|0;k=c[g+-16>>2]|0;l=c[g+-12>>2]|0;m=c[g+-8>>2]|0;n=c[g+-4>>2]|0;o=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,p|0,q|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,r|0,s|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,t|0,u|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=C;_=hf(m|0,((m|0)<0)<<31>>31|0,v|0,w|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(n|0,((n|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(o<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(o<<2)>>2]=h;o=o+1|0;if((o|0)==(b|0))break;else{Y=n;Z=m;_=l;$=k;n=h;m=Y;l=Z;k=_;h=$}}return}}else if(e>>>0>2){h=(b|0)>0;if((e|0)==4){if(!h)return;o=c[d+12>>2]|0;p=((o|0)<0)<<31>>31;q=c[d+8>>2]|0;r=((q|0)<0)<<31>>31;s=c[d+4>>2]|0;t=((s|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-16>>2]|0;k=c[g+-12>>2]|0;l=c[g+-8>>2]|0;m=c[g+-4>>2]|0;n=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,o|0,p|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,q|0,r|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=C;_=hf(l|0,((l|0)<0)<<31>>31|0,s|0,t|0)|0;_=Ze($|0,h|0,_|0,C|0)|0;h=C;$=hf(m|0,((m|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(n<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(n<<2)>>2]=h;n=n+1|0;if((n|0)==(b|0))break;else{Z=m;_=l;$=k;m=h;l=Z;k=_;h=$}}return}else{if(!h)return;n=c[d+8>>2]|0;o=((n|0)<0)<<31>>31;p=c[d+4>>2]|0;q=((p|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-12>>2]|0;k=c[g+-8>>2]|0;l=c[g+-4>>2]|0;m=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,n|0,o|0)|0;_=C;$=hf(k|0,((k|0)<0)<<31>>31|0,p|0,q|0)|0;_=Ze($|0,C|0,h|0,_|0)|0;h=C;$=hf(l|0,((l|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,h|0,$|0,C|0)|0;h=c[a+(m<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(m<<2)>>2]=h;m=m+1|0;if((m|0)==(b|0))break;else{_=l;$=k;l=h;k=_;h=$}}return}}else{h=(b|0)>0;if((e|0)==2){if(!h)return;m=c[d+4>>2]|0;n=((m|0)<0)<<31>>31;i=c[d>>2]|0;j=((i|0)<0)<<31>>31;h=c[g+-8>>2]|0;k=c[g+-4>>2]|0;l=0;while(1){h=hf(h|0,((h|0)<0)<<31>>31|0,m|0,n|0)|0;$=C;_=hf(k|0,((k|0)<0)<<31>>31|0,i|0,j|0)|0;$=Ze(_|0,C|0,h|0,$|0)|0;h=c[a+(l<<2)>>2]|0;$=_e($|0,C|0,f|0)|0;h=$+h|0;c[g+(l<<2)>>2]=h;l=l+1|0;if((l|0)==(b|0))break;else{$=k;k=h;h=$}}return}else{if(!h)return;h=c[d>>2]|0;i=((h|0)<0)<<31>>31;j=c[g+-4>>2]|0;k=0;do{$=c[a+(k<<2)>>2]|0;_=hf(j|0,((j|0)<0)<<31>>31|0,h|0,i|0)|0;_=_e(_|0,C|0,f|0)|0;j=_+$|0;c[g+(k<<2)>>2]=j;k=k+1|0}while((k|0)!=(b|0));return}}}function Ec(a,b){a=+a;b=b|0;if(a>0.0){a=+Y(+(.5/+(b>>>0)*a))*.5/.6931471805599453;a=a>=0.0?a:0.0;return +a}else{a=a<0.0?1.e+032:0.0;return +a}return 0.0}function Fc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0.0,k=0,l=0;i=.5/+(c>>>0);if(!b){c=1;return c|0}else{j=4294967295.0;e=0;k=0;l=1}while(1){f=+h[a+(k<<3)>>3];if(f>0.0){f=+Y(+(i*f))*.5/.6931471805599453;f=f>=0.0?f:0.0}else f=f<0.0?1.e+032:0.0;f=+((_(l,d)|0)>>>0)+ +((c-l|0)>>>0)*f;g=f<j;e=g?k:e;k=k+1|0;if((k|0)==(b|0))break;else{j=g?f:j;l=l+1|0}}c=e+1|0;return c|0}function Gc(a){a=a|0;c[a+64>>2]=1732584193;c[a+68>>2]=-271733879;c[a+72>>2]=-1732584194;c[a+76>>2]=271733878;a=a+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+80|0;e=c[g>>2]&63;f=d+(e+1)|0;a[d+e>>0]=-128;e=55-e|0;if((e|0)<0){Xe(f|0,0,e+8|0)|0;Jc(d+64|0,d);e=56;f=d}Xe(f|0,0,e|0)|0;e=c[g>>2]|0;c[d+56>>2]=e<<3;c[d+60>>2]=e>>>29|c[d+84>>2]<<3;e=d+64|0;Jc(e,d);f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));b=d+88|0;e=c[b>>2]|0;if(!e){b=d;f=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));return}Qe(e);c[b>>2]=0;c[d+92>>2]=0;b=d;f=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));return}function Ic(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=_(_(g,f)|0,h)|0;if((4294967295/(h>>>0)|0)>>>0<f>>>0){d=0;return d|0}if((_(h,f)|0)>>>0>(4294967295/(g>>>0)|0)>>>0){d=0;return d|0}m=d+92|0;k=d+88|0;l=c[k>>2]|0;if((c[m>>2]|0)>>>0<r>>>0){i=Se(l,r)|0;j=(i|0)==0;if((r|0)!=0&j)Qe(l);c[k>>2]=i;if(j){i=Pe(((r|0)==0&1)+r|0)|0;c[k>>2]=i;if(!i){c[m>>2]=0;d=0;return d|0}}c[m>>2]=r;q=d+88|0}else{q=k;i=l}a:do switch((h*100|0)+f|0){case 101:{if(g){j=0;while(1){a[i>>0]=c[(c[e>>2]|0)+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+1|0}}break}case 102:{if(g){k=e+4|0;j=0;while(1){a[i>>0]=c[(c[e>>2]|0)+(j<<2)>>2];a[i+1>>0]=c[(c[k>>2]|0)+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+2|0}}break}case 104:{if(g){k=e+4|0;l=e+8|0;m=e+12|0;j=0;while(1){a[i>>0]=c[(c[e>>2]|0)+(j<<2)>>2];a[i+1>>0]=c[(c[k>>2]|0)+(j<<2)>>2];a[i+2>>0]=c[(c[l>>2]|0)+(j<<2)>>2];a[i+3>>0]=c[(c[m>>2]|0)+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+4|0}}break}case 106:{if(g){k=e+4|0;l=e+8|0;m=e+12|0;h=e+16|0;f=e+20|0;j=0;while(1){a[i>>0]=c[(c[e>>2]|0)+(j<<2)>>2];a[i+1>>0]=c[(c[k>>2]|0)+(j<<2)>>2];a[i+2>>0]=c[(c[l>>2]|0)+(j<<2)>>2];a[i+3>>0]=c[(c[m>>2]|0)+(j<<2)>>2];a[i+4>>0]=c[(c[h>>2]|0)+(j<<2)>>2];a[i+5>>0]=c[(c[f>>2]|0)+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+6|0}}break}case 108:{if(g){k=e+4|0;l=e+8|0;m=e+12|0;h=e+16|0;f=e+20|0;n=e+24|0;o=e+28|0;j=0;while(1){a[i>>0]=c[(c[e>>2]|0)+(j<<2)>>2];a[i+1>>0]=c[(c[k>>2]|0)+(j<<2)>>2];a[i+2>>0]=c[(c[l>>2]|0)+(j<<2)>>2];a[i+3>>0]=c[(c[m>>2]|0)+(j<<2)>>2];a[i+4>>0]=c[(c[h>>2]|0)+(j<<2)>>2];a[i+5>>0]=c[(c[f>>2]|0)+(j<<2)>>2];a[i+6>>0]=c[(c[n>>2]|0)+(j<<2)>>2];a[i+7>>0]=c[(c[o>>2]|0)+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+8|0}}break}case 201:{if(g){k=c[e>>2]|0;j=0;while(1){b[i>>1]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+2|0}}break}case 202:{if(g){l=c[e>>2]|0;k=c[e+4>>2]|0;j=0;while(1){b[i>>1]=c[l+(j<<2)>>2];b[i+2>>1]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+4|0}}break}case 204:{if(g){l=c[e>>2]|0;m=c[e+4>>2]|0;h=c[e+8>>2]|0;k=c[e+12>>2]|0;j=0;while(1){b[i>>1]=c[l+(j<<2)>>2];b[i+2>>1]=c[m+(j<<2)>>2];b[i+4>>1]=c[h+(j<<2)>>2];b[i+6>>1]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+8|0}}break}case 206:{if(g){l=c[e>>2]|0;m=c[e+4>>2]|0;h=c[e+8>>2]|0;f=c[e+12>>2]|0;n=c[e+16>>2]|0;k=c[e+20>>2]|0;j=0;while(1){b[i>>1]=c[l+(j<<2)>>2];b[i+2>>1]=c[m+(j<<2)>>2];b[i+4>>1]=c[h+(j<<2)>>2];b[i+6>>1]=c[f+(j<<2)>>2];b[i+8>>1]=c[n+(j<<2)>>2];b[i+10>>1]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+12|0}}break}case 208:{if(g){l=c[e>>2]|0;m=c[e+4>>2]|0;h=c[e+8>>2]|0;f=c[e+12>>2]|0;n=c[e+16>>2]|0;o=c[e+20>>2]|0;p=c[e+24>>2]|0;k=c[e+28>>2]|0;j=0;while(1){b[i>>1]=c[l+(j<<2)>>2];b[i+2>>1]=c[m+(j<<2)>>2];b[i+4>>1]=c[h+(j<<2)>>2];b[i+6>>1]=c[f+(j<<2)>>2];b[i+8>>1]=c[n+(j<<2)>>2];b[i+10>>1]=c[o+(j<<2)>>2];b[i+12>>1]=c[p+(j<<2)>>2];b[i+14>>1]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+16|0}}break}case 301:{if(g){j=0;while(1){p=c[(c[e>>2]|0)+(j<<2)>>2]|0;a[i>>0]=p;a[i+1>>0]=p>>>8;a[i+2>>0]=p>>>16;j=j+1|0;if((j|0)==(g|0))break;else i=i+3|0}}break}case 302:{if(g){k=e+4|0;j=0;while(1){p=c[(c[e>>2]|0)+(j<<2)>>2]|0;a[i>>0]=p;a[i+1>>0]=p>>>8;a[i+2>>0]=p>>>16;p=c[(c[k>>2]|0)+(j<<2)>>2]|0;a[i+3>>0]=p;a[i+4>>0]=p>>>8;a[i+5>>0]=p>>>16;j=j+1|0;if((j|0)==(g|0))break;else i=i+6|0}}break}case 401:{if(g){k=c[e>>2]|0;j=0;while(1){c[i>>2]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+4|0}}break}case 402:{if(g){l=c[e>>2]|0;k=c[e+4>>2]|0;j=0;while(1){c[i>>2]=c[l+(j<<2)>>2];c[i+4>>2]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+8|0}}break}case 404:{if(g){l=c[e>>2]|0;m=c[e+4>>2]|0;h=c[e+8>>2]|0;k=c[e+12>>2]|0;j=0;while(1){c[i>>2]=c[l+(j<<2)>>2];c[i+4>>2]=c[m+(j<<2)>>2];c[i+8>>2]=c[h+(j<<2)>>2];c[i+12>>2]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+16|0}}break}case 406:{if(g){l=c[e>>2]|0;m=c[e+4>>2]|0;h=c[e+8>>2]|0;f=c[e+12>>2]|0;n=c[e+16>>2]|0;k=c[e+20>>2]|0;j=0;while(1){c[i>>2]=c[l+(j<<2)>>2];c[i+4>>2]=c[m+(j<<2)>>2];c[i+8>>2]=c[h+(j<<2)>>2];c[i+12>>2]=c[f+(j<<2)>>2];c[i+16>>2]=c[n+(j<<2)>>2];c[i+20>>2]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+24|0}}break}case 408:{if(g){l=c[e>>2]|0;m=c[e+4>>2]|0;h=c[e+8>>2]|0;f=c[e+12>>2]|0;n=c[e+16>>2]|0;o=c[e+20>>2]|0;p=c[e+24>>2]|0;k=c[e+28>>2]|0;j=0;while(1){c[i>>2]=c[l+(j<<2)>>2];c[i+4>>2]=c[m+(j<<2)>>2];c[i+8>>2]=c[h+(j<<2)>>2];c[i+12>>2]=c[f+(j<<2)>>2];c[i+16>>2]=c[n+(j<<2)>>2];c[i+20>>2]=c[o+(j<<2)>>2];c[i+24>>2]=c[p+(j<<2)>>2];c[i+28>>2]=c[k+(j<<2)>>2];j=j+1|0;if((j|0)==(g|0))break;else i=i+32|0}}break}default:switch(h|0){case 1:{if((f|0)==0|(g|0)==0)break a;else l=0;while(1){j=i;k=0;while(1){a[j>>0]=c[(c[e+(k<<2)>>2]|0)+(l<<2)>>2];k=k+1|0;if((k|0)==(f|0))break;else j=j+1|0}l=l+1|0;if((l|0)==(g|0))break;else i=i+f|0}break}case 2:{if((f|0)==0|(g|0)==0)break a;else l=0;while(1){j=i;k=0;while(1){b[j>>1]=c[(c[e+(k<<2)>>2]|0)+(l<<2)>>2];k=k+1|0;if((k|0)==(f|0))break;else j=j+2|0}l=l+1|0;if((l|0)==(g|0))break;else i=i+(f<<1)|0}break}case 3:{if((f|0)==0|(g|0)==0)break a;m=f*3|0;l=0;while(1){j=i;k=0;while(1){p=c[(c[e+(k<<2)>>2]|0)+(l<<2)>>2]|0;a[j>>0]=p;a[j+1>>0]=p>>>8;a[j+2>>0]=p>>>16;k=k+1|0;if((k|0)==(f|0))break;else j=j+3|0}l=l+1|0;if((l|0)==(g|0))break;else i=i+m|0}break}case 4:{if((g|0)==0|(f|0)==0)break a;else l=0;while(1){j=i;k=0;while(1){c[j>>2]=c[(c[e+(k<<2)>>2]|0)+(l<<2)>>2];k=k+1|0;if((k|0)==(f|0))break;else j=j+4|0}l=l+1|0;if((l|0)==(g|0))break;else i=i+(f<<2)|0}break}default:break a}}while(0);o=c[q>>2]|0;q=d+80|0;i=c[q>>2]|0;g=i+r|0;c[q>>2]=g;if(g>>>0<i>>>0){g=d+84|0;c[g>>2]=(c[g>>2]|0)+1}k=i&63;j=64-k|0;i=d+64+(0-j)|0;if(r>>>0<j>>>0){af(i|0,o|0,r|0)|0;d=1;return d|0}af(i|0,o|0,j|0)|0;n=d+64|0;Jc(n,d);i=o+j|0;j=r-j|0;if(j>>>0>63){h=r+-128+k|0;f=128-k|0;while(1){k=d;l=i;m=k+64|0;do{a[k>>0]=a[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));Jc(n,d);j=j+-64|0;if(j>>>0<=63)break;else i=i+64|0}i=h&-64;j=h-i|0;i=o+(f+i)|0}af(d|0,i|0,j|0)|0;d=1;return d|0}function Jc(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;i=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;e=a+8|0;f=c[e>>2]|0;d=a+12|0;j=c[d>>2]|0;z=c[b>>2]|0;A=i+-680876936+z+((j^f)&h^j)|0;A=(A<<7|A>>>25)+h|0;s=c[b+4>>2]|0;j=j+-389564586+s+(A&(f^h)^f)|0;j=(j<<12|j>>>20)+A|0;l=c[b+8>>2]|0;f=f+606105819+l+(j&(A^h)^h)|0;f=(f<<17|f>>>15)+j|0;u=c[b+12>>2]|0;h=h+-1044525330+u+(f&(j^A)^A)|0;h=(h<<22|h>>>10)+f|0;n=c[b+16>>2]|0;A=n+-176418897+A+(h&(f^j)^j)|0;A=(A<<7|A>>>25)+h|0;w=c[b+20>>2]|0;j=w+1200080426+j+(A&(h^f)^f)|0;j=(j<<12|j>>>20)+A|0;p=c[b+24>>2]|0;f=p+-1473231341+f+(j&(A^h)^h)|0;f=(f<<17|f>>>15)+j|0;y=c[b+28>>2]|0;h=y+-45705983+h+(f&(j^A)^A)|0;h=(h<<22|h>>>10)+f|0;r=c[b+32>>2]|0;A=r+1770035416+A+(h&(f^j)^j)|0;A=(A<<7|A>>>25)+h|0;k=c[b+36>>2]|0;j=k+-1958414417+j+(A&(h^f)^f)|0;j=(j<<12|j>>>20)+A|0;t=c[b+40>>2]|0;f=t+-42063+f+(j&(A^h)^h)|0;f=(f<<17|f>>>15)+j|0;m=c[b+44>>2]|0;h=m+-1990404162+h+(f&(j^A)^A)|0;h=(h<<22|h>>>10)+f|0;v=c[b+48>>2]|0;A=v+1804603682+A+(h&(f^j)^j)|0;A=(A<<7|A>>>25)+h|0;o=c[b+52>>2]|0;j=o+-40341101+j+(A&(h^f)^f)|0;j=(j<<12|j>>>20)+A|0;x=c[b+56>>2]|0;f=x+-1502002290+f+(j&(A^h)^h)|0;f=(f<<17|f>>>15)+j|0;q=c[b+60>>2]|0;h=q+1236535329+h+(f&(j^A)^A)|0;h=(h<<22|h>>>10)+f|0;A=s+-165796510+A+((h^f)&j^f)|0;A=(A<<5|A>>>27)+h|0;b=p+-1069501632+j+((A^h)&f^h)|0;b=(b<<9|b>>>23)+A|0;f=m+643717713+f+((b^A)&h^A)|0;f=(f<<14|f>>>18)+b|0;h=z+-373897302+h+((f^b)&A^b)|0;h=(h<<20|h>>>12)+f|0;A=w+-701558691+A+((h^f)&b^f)|0;A=(A<<5|A>>>27)+h|0;b=t+38016083+b+((A^h)&f^h)|0;b=(b<<9|b>>>23)+A|0;f=q+-660478335+f+((b^A)&h^A)|0;f=(f<<14|f>>>18)+b|0;h=n+-405537848+h+((f^b)&A^b)|0;h=(h<<20|h>>>12)+f|0;A=k+568446438+A+((h^f)&b^f)|0;A=(A<<5|A>>>27)+h|0;b=x+-1019803690+b+((A^h)&f^h)|0;b=(b<<9|b>>>23)+A|0;f=u+-187363961+f+((b^A)&h^A)|0;f=(f<<14|f>>>18)+b|0;h=r+1163531501+h+((f^b)&A^b)|0;h=(h<<20|h>>>12)+f|0;A=o+-1444681467+A+((h^f)&b^f)|0;A=(A<<5|A>>>27)+h|0;b=l+-51403784+b+((A^h)&f^h)|0;b=(b<<9|b>>>23)+A|0;f=y+1735328473+f+((b^A)&h^A)|0;f=(f<<14|f>>>18)+b|0;j=f^b;h=v+-1926607734+h+(j&A^b)|0;h=(h<<20|h>>>12)+f|0;j=w+-378558+A+(j^h)|0;j=(j<<4|j>>>28)+h|0;b=r+-2022574463+b+(h^f^j)|0;b=(b<<11|b>>>21)+j|0;f=m+1839030562+f+(j^h^b)|0;f=(f<<16|f>>>16)+b|0;h=x+-35309556+h+(b^j^f)|0;h=(h<<23|h>>>9)+f|0;j=s+-1530992060+j+(f^b^h)|0;j=(j<<4|j>>>28)+h|0;b=n+1272893353+b+(h^f^j)|0;b=(b<<11|b>>>21)+j|0;f=y+-155497632+f+(j^h^b)|0;f=(f<<16|f>>>16)+b|0;h=t+-1094730640+h+(b^j^f)|0;h=(h<<23|h>>>9)+f|0;j=o+681279174+j+(f^b^h)|0;j=(j<<4|j>>>28)+h|0;b=z+-358537222+b+(h^f^j)|0;b=(b<<11|b>>>21)+j|0;f=u+-722521979+f+(j^h^b)|0;f=(f<<16|f>>>16)+b|0;h=p+76029189+h+(b^j^f)|0;h=(h<<23|h>>>9)+f|0;j=k+-640364487+j+(f^b^h)|0;j=(j<<4|j>>>28)+h|0;b=v+-421815835+b+(h^f^j)|0;b=(b<<11|b>>>21)+j|0;f=q+530742520+f+(j^h^b)|0;f=(f<<16|f>>>16)+b|0;h=l+-995338651+h+(b^j^f)|0;h=(h<<23|h>>>9)+f|0;j=z+-198630844+j+((h|~b)^f)|0;j=(j<<6|j>>>26)+h|0;b=y+1126891415+b+((j|~f)^h)|0;b=(b<<10|b>>>22)+j|0;f=x+-1416354905+f+((b|~h)^j)|0;f=(f<<15|f>>>17)+b|0;h=w+-57434055+h+((f|~j)^b)|0;h=(h<<21|h>>>11)+f|0;j=v+1700485571+j+((h|~b)^f)|0;j=(j<<6|j>>>26)+h|0;b=u+-1894986606+b+((j|~f)^h)|0;b=(b<<10|b>>>22)+j|0;f=t+-1051523+f+((b|~h)^j)|0;f=(f<<15|f>>>17)+b|0;h=s+-2054922799+h+((f|~j)^b)|0;h=(h<<21|h>>>11)+f|0;j=r+1873313359+j+((h|~b)^f)|0;j=(j<<6|j>>>26)+h|0;b=q+-30611744+b+((j|~f)^h)|0;b=(b<<10|b>>>22)+j|0;f=p+-1560198380+f+((b|~h)^j)|0;f=(f<<15|f>>>17)+b|0;h=o+1309151649+h+((f|~j)^b)|0;h=(h<<21|h>>>11)+f|0;j=n+-145523070+j+((h|~b)^f)|0;j=(j<<6|j>>>26)+h|0;b=m+-1120210379+b+((j|~f)^h)|0;b=(b<<10|b>>>22)+j|0;f=l+718787259+f+((b|~h)^j)|0;f=(f<<15|f>>>17)+b|0;h=k+-343485551+h+((f|~j)^b)|0;c[a>>2]=j+i;c[g>>2]=f+(c[g>>2]|0)+(h<<21|h>>>11);c[e>>2]=f+(c[e>>2]|0);c[d>>2]=b+(c[d>>2]|0);return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a>>>0>1073741823){b=0;return b|0}a=a<<2;a=Pe((a|0)==0|a)|0;if(!a){b=0;return b|0}e=c[b>>2]|0;if(e)Qe(e);c[b>>2]=a;c[d>>2]=a;b=1;return b|0}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a>>>0>536870911){b=0;return b|0}a=a<<3;a=Pe((a|0)==0|a)|0;if(!a){b=0;return b|0}e=c[b>>2]|0;if(e)Qe(e);c[b>>2]=a;c[d>>2]=a;b=1;return b|0}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a>>>0>1073741823){b=0;return b|0}a=a<<2;a=Pe((a|0)==0|a)|0;if(!a){b=0;return b|0}e=c[b>>2]|0;if(e)Qe(e);c[b>>2]=a;c[d>>2]=a;b=1;return b|0}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a>>>0>1073741823){b=0;return b|0}a=a<<2;a=Pe((a|0)==0|a)|0;if(!a){b=0;return b|0}e=c[b>>2]|0;if(e)Qe(e);c[b>>2]=a;c[d>>2]=a;b=1;return b|0}function Oc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=Pe(1)|0;return b|0}if((4294967295/(b>>>0)|0)>>>0<a>>>0){b=0;return b|0}b=Pe(_(b,a)|0)|0;return b|0}function Pc(){var a=0,b=0,d=0,e=0,f=0,g=0;f=Re(1,8)|0;if(!f){f=0;return f|0}a=Re(1,32)|0;c[f>>2]=a;if(!a){Qe(f);f=0;return f|0}d=Re(1,6184)|0;e=f+4|0;c[e>>2]=d;if(!d){Qe(a);Qe(f);f=0;return f|0}g=mb()|0;b=d+56|0;c[b>>2]=g;if(!g){Qe(d);Qe(c[f>>2]|0);Qe(f);g=0;return g|0}c[d+1128>>2]=16;g=Pe((c[265]|0)>>>3<<4)|0;c[d+1120>>2]=g;if(!g){nb(c[b>>2]|0);Qe(d);Qe(a);Qe(f);g=0;return g|0}else{a=d+3616|0;c[d+220>>2]=0;b=d+60|0;d=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|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;c[a+24>>2]=0;c[a+28>>2]=0;a=c[e>>2]|0;c[a+224>>2]=0;c[a+252>>2]=0;rc(a+124|0);rc(a+136|0);rc(a+148|0);rc(a+160|0);rc(a+172|0);rc(a+184|0);rc(a+196|0);rc(a+208|0);c[a+52>>2]=0;c[a+48>>2]=0;Xe(a+608|0,0,512)|0;b=a;d=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a+608>>2]=1;c[a+1124>>2]=0;g=c[f>>2]|0;c[g+28>>2]=0;c[g>>2]=9;g=f;return g|0}return 0}function Qc(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Rc(a)|0;e=a+4|0;b=c[e>>2]|0;d=c[b+1120>>2]|0;if(d){Qe(d);b=c[e>>2]|0}nb(c[b+56>>2]|0);sc((c[e>>2]|0)+124|0);sc((c[e>>2]|0)+136|0);sc((c[e>>2]|0)+148|0);sc((c[e>>2]|0)+160|0);sc((c[e>>2]|0)+172|0);sc((c[e>>2]|0)+184|0);sc((c[e>>2]|0)+196|0);sc((c[e>>2]|0)+208|0);Qe(c[e>>2]|0);Qe(c[a>>2]|0);Qe(a);return}function Rc(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[c[a>>2]>>2]|0)==9){a=1;return a|0}f=a+4|0;b=c[f>>2]|0;Hc(b+3756|0,b+3660|0);Qe(c[(c[f>>2]|0)+452>>2]|0);b=c[f>>2]|0;c[b+452>>2]=0;c[b+252>>2]=0;ob(c[b+56>>2]|0);b=c[f>>2]|0;e=0;do{d=c[b+60+(e<<2)>>2]|0;if(d){Qe(d+-16|0);c[(c[f>>2]|0)+60+(e<<2)>>2]=0;b=c[f>>2]|0}d=c[b+3616+(e<<2)>>2]|0;if(d){Qe(d);c[(c[f>>2]|0)+92+(e<<2)>>2]=0;c[(c[f>>2]|0)+3616+(e<<2)>>2]=0;b=c[f>>2]|0}e=e+1|0}while((e|0)!=8);c[b+220>>2]=0;c[b+224>>2]=0;d=c[b+52>>2]|0;if(d){if((d|0)!=(c[392]|0)){oe(d)|0;b=c[f>>2]|0}c[b+52>>2]=0}if(!(c[b+3648>>2]|0))e=1;else e=(Be(b+312|0,b+3756|0,16)|0)==0&1;c[b+3656>>2]=0;c[b+48>>2]=0;Xe(b+608|0,0,512)|0;d=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f=c[f>>2]|0;c[f+608>>2]=1;c[f+1124>>2]=0;a=c[a>>2]|0;c[a+28>>2]=0;c[a>>2]=9;a=e;return a|0}function Sc(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return _c(a,b,c,d,e,f,g,h,i,j,0)|0}function Tc(a,b){a=a|0;b=b|0;a=c[a>>2]|0;if((c[a>>2]|0)!=9){b=0;return b|0}c[a+28>>2]=b;b=1;return b|0}function Uc(a){a=a|0;return c[c[a>>2]>>2]|0}function Vc(a){a=a|0;return c[(c[a>>2]|0)+28>>2]|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+4|0;b=c[f>>2]|0;if((c[b+3652>>2]|0)==0?(c[c[a>>2]>>2]|0)==9:0){a=0;return a|0}d=b+240|0;c[d>>2]=0;c[d+4>>2]=0;c[b+3648>>2]=0;d=(qb(c[b+56>>2]|0)|0)==0;e=c[a>>2]|0;if(d){c[e>>2]=8;a=0;return a|0}c[e>>2]=2;b=c[f>>2]|0;d=b+3652|0;do if(!(c[d>>2]|0)){if((c[b+52>>2]|0)==(c[392]|0)){a=0;return a|0}d=c[b+8>>2]|0;if(d)if(($a[d&15](a,0,0,c[b+48>>2]|0)|0)==1){a=0;return a|0}else{d=c[a>>2]|0;b=c[f>>2]|0;break}else d=e}else{c[d>>2]=0;d=e}while(0);c[d>>2]=0;c[b+248>>2]=0;Qe(c[b+452>>2]|0);e=c[f>>2]|0;c[e+452>>2]=0;c[e+252>>2]=0;c[e+3648>>2]=c[(c[a>>2]|0)+28>>2];c[e+232>>2]=0;c[e+228>>2]=0;Gc(e+3660|0);a=c[f>>2]|0;f=a+6160|0;c[f>>2]=0;c[f+4>>2]=0;c[a+6176>>2]=0;a=1;return a|0}function Xc(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e;a:while(1)switch(c[c[a>>2]>>2]|0){case 1:{d=4;break a}case 7:case 4:{a=1;break a}case 0:if(!($c(a)|0)){a=0;break a}else continue a;case 2:if(!(bd(a)|0)){a=1;break a}else continue a;case 3:{if(!(cd(a,b,1)|0)){a=0;break a}if(!(c[b>>2]|0))continue a;else{a=1;break a}}default:{d=8;break a}}if((d|0)==4)a=(ad(a)|0)!=0&1;else if((d|0)==8)a=0;i=e;return a|0}function Yc(a){a=a|0;var b=0;a:while(1)switch(c[c[a>>2]>>2]|0){case 7:case 4:case 3:case 2:{a=1;break a}case 0:if(!($c(a)|0)){a=0;break a}else continue a;case 1:if(!(ad(a)|0)){a=0;break a}else continue a;default:{b=5;break a}}if((b|0)==5)a=0;return a|0}function Zc(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e;a:while(1)switch(c[c[a>>2]>>2]|0){case 7:case 4:{a=1;break a}case 0:if(!($c(a)|0)){a=0;break a}else continue a;case 1:if(!(ad(a)|0)){a=0;break a}else continue a;case 2:if(!(bd(a)|0)){a=1;break a}else continue a;case 3:if(!(cd(a,b,1)|0)){a=0;break a}else continue a;default:{d=7;break a}}if((d|0)==7)a=0;i=e;return a|0}function _c(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;if((c[c[a>>2]>>2]|0)!=9){h=5;return h|0}if(l){h=1;return h|0}if((b|0)==0|(h|0)==0|(j|0)==0){h=2;return h|0}if((d|0)!=0?(e|0)==0|(f|0)==0|(g|0)==0:0){h=2;return h|0}l=a+4|0;bc((c[l>>2]|0)+3524|0);m=c[l>>2]|0;c[m+36>>2]=12;c[m+40>>2]=13;c[m+44>>2]=12;if(!(pb(c[m+56>>2]|0,15,a)|0)){c[c[a>>2]>>2]=8;m=3;return m|0}else{m=c[l>>2]|0;c[m+4>>2]=b;c[m+8>>2]=d;c[m+12>>2]=e;c[m+16>>2]=f;c[m+20>>2]=g;c[m+24>>2]=h;c[m+28>>2]=i;c[m+32>>2]=j;c[m+48>>2]=k;c[m+232>>2]=0;c[m+228>>2]=0;h=m+240|0;c[h>>2]=0;c[h+4>>2]=0;c[m+248>>2]=0;c[m+3520>>2]=0;c[m+3648>>2]=c[(c[a>>2]|0)+28>>2];c[m+3656>>2]=0;c[m+3652>>2]=1;m=(Wc(a)|0)==0;m=m?3:0;return m|0}return 0}function $c(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o+4|0;k=o;m=b+4|0;j=1;e=0;a:while(1){f=0;while(1){g=c[m>>2]|0;h=g+3520|0;if(!(c[h>>2]|0)){if(!(wb(c[g+56>>2]|0,k,8)|0)){e=0;n=28;break a}}else{c[k>>2]=d[g+3614>>0];c[h>>2]=0}g=c[k>>2]|0;if((g|0)==(d[2592+e>>0]|0|0)){n=7;break}if(f>>>0>2){e=0;n=28;break a}if((g|0)!=(d[3467+f>>0]|0|0)){e=g;break}f=f+1|0;if((f|0)!=3){e=0;continue}if(!(wb(c[(c[m>>2]|0)+56>>2]|0,l,24)|0)){n=16;break a}if(!(wb(c[(c[m>>2]|0)+56>>2]|0,l,8)|0)){n=16;break a}e=c[l>>2]|0;if(!(wb(c[(c[m>>2]|0)+56>>2]|0,l,8)|0)){n=16;break a}f=c[l>>2]|0;if(!(wb(c[(c[m>>2]|0)+56>>2]|0,l,8)|0)){n=16;break a}g=c[l>>2]|0;if(!(wb(c[(c[m>>2]|0)+56>>2]|0,l,8)|0)){n=16;break a}if(!(Bb(c[(c[m>>2]|0)+56>>2]|0,c[l>>2]&127|(g&127|(f&127|e<<7&16256)<<7)<<7)|0)){e=0;n=28;break a}else{e=0;f=3}}if((n|0)==7){n=0;e=e+1|0;if(e>>>0<4){j=1;continue}else{n=27;break}}do if((e|0)==255){a[(c[m>>2]|0)+3612>>0]=-1;if(!(wb(c[(c[m>>2]|0)+56>>2]|0,k,8)|0)){e=0;n=28;break a}e=c[k>>2]|0;if((e|0)!=255)if((e&-2|0)==248){n=23;break a}else break;else{h=c[m>>2]|0;a[h+3614>>0]=-1;c[h+3520>>2]=1;break}}while(0);if(!j){j=0;e=0;continue}e=c[m>>2]|0;if(c[e+3656>>2]|0){j=0;e=0;continue}_a[c[e+32>>2]&15](b,0,c[e+48>>2]|0);j=0;e=0}if((n|0)==16){n=0;i=o;return n|0}else if((n|0)==23){a[(c[m>>2]|0)+3613>>0]=e;c[c[b>>2]>>2]=3;n=1;i=o;return n|0}else if((n|0)==27){c[c[b>>2]>>2]=1;n=1;i=o;return n|0}else if((n|0)==28){i=o;return e|0}return 0}
function ad(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;w=E+188|0;A=E;e=E+184|0;y=E+180|0;p=E+176|0;D=b+4|0;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,e,c[277]|0)|0)){b=0;i=E;return b|0}B=(c[e>>2]|0)!=0;q=B&1;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,y,c[266]|0)|0)){b=0;i=E;return b|0}if(!(wb(c[(c[D>>2]|0)+56>>2]|0,p,c[267]|0)|0)){b=0;i=E;return b|0}o=c[y>>2]|0;a:do switch(o|0){case 0:{f=c[p>>2]|0;A=c[D>>2]|0;c[A+256>>2]=0;c[A+260>>2]=q;c[A+264>>2]=f;e=c[280]|0;if(((((((((wb(c[A+56>>2]|0,w,e)|0)!=0?(A=c[D>>2]|0,c[A+272>>2]=c[w>>2],g=c[280]|0,(wb(c[A+56>>2]|0,w,g)|0)!=0):0)?(A=c[D>>2]|0,c[A+276>>2]=c[w>>2],h=c[267]|0,(wb(c[A+56>>2]|0,w,h)|0)!=0):0)?(A=c[D>>2]|0,c[A+280>>2]=c[w>>2],j=c[267]|0,(wb(c[A+56>>2]|0,w,j)|0)!=0):0)?(A=c[D>>2]|0,c[A+284>>2]=c[w>>2],k=c[259]|0,(wb(c[A+56>>2]|0,w,k)|0)!=0):0)?(A=c[D>>2]|0,c[A+288>>2]=c[w>>2],l=c[270]|0,(wb(c[A+56>>2]|0,w,l)|0)!=0):0)?(A=c[D>>2]|0,c[A+292>>2]=(c[w>>2]|0)+1,m=c[275]|0,(wb(c[A+56>>2]|0,w,m)|0)!=0):0)?(A=c[D>>2]|0,c[A+296>>2]=(c[w>>2]|0)+1,n=c[260]|0,(yb(c[A+56>>2]|0,A+304|0,n)|0)!=0):0)?(A=c[D>>2]|0,(Cb(c[A+56>>2]|0,A+312|0,16)|0)!=0):0){if(!(Bb(c[(c[D>>2]|0)+56>>2]|0,f-((e+128+g+h+j+k+l+m+n|0)>>>3)|0)|0)){b=0;i=E;return b|0}e=c[D>>2]|0;c[e+248>>2]=1;if(!(Be(e+312|0,3450,16)|0))c[e+3648>>2]=0;if(c[e+3656>>2]|0)break a;if(!(c[e+608>>2]|0))break a;f=c[e+28>>2]|0;if(!f)break a;_a[f&15](b,e+256|0,c[e+48>>2]|0);break a}b=0;i=E;return b|0}case 3:{e=c[D>>2]|0;c[e+252>>2]=0;l=c[p>>2]|0;c[e+432>>2]=3;c[e+436>>2]=q;c[e+440>>2]=l;f=(l>>>0)/18|0;c[e+448>>2]=f;g=c[e+452>>2]|0;do if(l>>>0<18){f=Se(g,0)|0;z=28}else{if(l>>>0<=3221225477){z=f*24|0;e=Se(g,z)|0;if(!((z|0)!=0&(e|0)==0)){f=e;z=28;break}Qe(g);e=c[D>>2]|0}c[e+452>>2]=0;z=31}while(0);b:do if((z|0)==28){e=c[D>>2]|0;c[e+452>>2]=f;if(!f)z=31;else{if(!(c[e+448>>2]|0))f=0;else{h=c[281]|0;j=c[281]|0;k=c[280]|0;g=0;do{if(!(yb(c[e+56>>2]|0,A,h)|0))break b;u=A;v=c[u+4>>2]|0;y=c[D>>2]|0;x=(c[y+452>>2]|0)+(g*24|0)|0;c[x>>2]=c[u>>2];c[x+4>>2]=v;if(!(yb(c[y+56>>2]|0,A,j)|0))break b;u=A;v=c[u+4>>2]|0;y=c[D>>2]|0;x=(c[y+452>>2]|0)+(g*24|0)+8|0;c[x>>2]=c[u>>2];c[x+4>>2]=v;if(!(wb(c[y+56>>2]|0,w,k)|0))break b;e=c[D>>2]|0;c[(c[e+452>>2]|0)+(g*24|0)+16>>2]=c[w>>2];g=g+1|0;f=c[e+448>>2]|0}while(g>>>0<f>>>0);f=_(f,-18)|0}f=f+l|0;if(f){if(!(Bb(c[e+56>>2]|0,f)|0))break;e=c[D>>2]|0}c[e+252>>2]=1;if(c[e+3656>>2]|0)break a;if(!(c[e+620>>2]|0))break a;f=c[e+28>>2]|0;if(!f)break a;_a[f&15](b,e+432|0,c[e+48>>2]|0);break a}}while(0);if((z|0)==31)c[c[b>>2]>>2]=8;b=0;i=E;return b|0}default:{h=c[D>>2]|0;f=(c[h+608+(o<<2)>>2]|0)!=0&1;n=f^1;e=c[p>>2]|0;Xe(A|0,0,176)|0;c[A+4>>2]=q;c[A>>2]=o;c[A+8>>2]=e;c:do if((o|0)==2){l=A+16|0;m=(c[265]|0)>>>3;if(Cb(c[h+56>>2]|0,l,m)|0){if(e>>>0<m>>>0){c[c[b>>2]>>2]=8;b=0;i=E;return b|0}e=e-m|0;h=c[D>>2]|0;j=c[h+1124>>2]|0;if(!j){f=n;z=53}else{g=c[h+1120>>2]|0;k=0;while(1){if(!(Be(g+(_(k,m)|0)|0,l,m)|0)){z=53;break c}k=k+1|0;if(k>>>0>=j>>>0){f=n;z=53;break}}}}}else{f=n;z=53}while(0);do if((z|0)==53){if(!f){d:do switch(c[y>>2]|0){case 1:{if(!(Bb(c[h+56>>2]|0,e)|0))k=0;else z=165;break}case 2:{if(!e){c[A+20>>2]=0;z=165;break d}f=Pe(e)|0;c[A+20>>2]=f;if(f)if(!(Cb(c[h+56>>2]|0,f,e)|0)){k=0;break d}else{z=165;break d}else{c[c[b>>2]>>2]=8;k=0;break d}}case 4:{e:do if(e>>>0>7){j=A+16|0;e=e+-8|0;if(!(zb(c[h+56>>2]|0,j)|0)){k=0;break d}h=c[j>>2]|0;do if(!h)c[A+20>>2]=0;else{if(e>>>0<h>>>0){c[j>>2]=0;c[A+20>>2]=0;break e}e=e-h|0;if((h|0)!=-1){f=h+1|0;f=Pe(((f|0)==0&1)+f|0)|0;g=A+20|0;c[g>>2]=f;if(f){if(!(Cb(c[(c[D>>2]|0)+56>>2]|0,f,h)|0)){k=0;break d}a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=0;break}}else c[A+20>>2]=0;c[c[b>>2]>>2]=8;k=0;break d}while(0);l=A+24|0;if(!(zb(c[(c[D>>2]|0)+56>>2]|0,l)|0)){k=0;break d}f=c[l>>2]|0;if(f>>>0>1e5){c[l>>2]=0;k=0;break d}if(f){f=Oc(f,8)|0;j=A+28|0;c[j>>2]=f;if(!f){c[l>>2]=0;c[c[b>>2]>>2]=8;k=0;break d}if(c[l>>2]|0){c[f>>2]=0;c[f+4>>2]=0;f:do if(e>>>0<4)f=0;else{g=f;k=0;while(1){e=e+-4|0;if(!(zb(c[(c[D>>2]|0)+56>>2]|0,g)|0)){e=k;z=84;break}f=c[j>>2]|0;h=f+(k<<3)|0;g=c[h>>2]|0;if(!g)c[f+(k<<3)+4>>2]=0;else{if(e>>>0<g>>>0){f=k;z=87;break}e=e-g|0;if((g|0)==-1){e=k;z=89;break}g=g+1|0;g=Pe(((g|0)==0&1)+g|0)|0;f=f+(k<<3)+4|0;c[f>>2]=g;if(!g){e=k;break}Xe(g|0,0,c[h>>2]|0)|0;if(!(Cb(c[(c[D>>2]|0)+56>>2]|0,c[f>>2]|0,c[h>>2]|0)|0)){f=k;z=93;break}w=c[j>>2]|0;a[(c[w+(k<<3)+4>>2]|0)+(c[w+(k<<3)>>2]|0)>>0]=0}f=k+1|0;if(f>>>0>=(c[l>>2]|0)>>>0)break e;w=c[j>>2]|0;g=w+(f<<3)|0;c[g>>2]=0;c[w+(f<<3)+4>>2]=0;if(e>>>0<4)break f;else k=f}if((z|0)==84){c[l>>2]=e;k=0;break d}else if((z|0)==87){c[l>>2]=f;break e}else if((z|0)==89)c[f+(e<<3)+4>>2]=0;else if((z|0)==93){c[l>>2]=f;break e}c[c[b>>2]>>2]=8;c[l>>2]=e;k=0;break d}while(0);c[l>>2]=f}}}while(0);if(e){if(!(c[A+24>>2]|0)){w=A+28|0;Qe(c[w>>2]|0);c[w>>2]=0}if(!(Bb(c[(c[D>>2]|0)+56>>2]|0,e)|0))k=0;else z=165}else z=165;break}case 5:{v=A+16|0;Xe(v|0,0,160)|0;g:do if(((((Cb(c[h+56>>2]|0,v,(c[263]|0)>>>3)|0)!=0?(yb(c[(c[D>>2]|0)+56>>2]|0,A+152|0,c[281]|0)|0)!=0:0)?(wb(c[(c[D>>2]|0)+56>>2]|0,w,c[277]|0)|0)!=0:0)?(c[A+160>>2]=(c[w>>2]|0)!=0&1,(Ab(c[(c[D>>2]|0)+56>>2]|0,c[264]|0)|0)!=0):0)?(wb(c[(c[D>>2]|0)+56>>2]|0,w,c[271]|0)|0)!=0:0){e=c[w>>2]|0;v=A+164|0;c[v>>2]=e;h:do if(e){e=Re(e,32)|0;k=A+168|0;c[k>>2]=e;if(!e){c[c[b>>2]>>2]=8;break g}l=c[281]|0;m=c[271]|0;n=(c[261]|0)>>>3;o=c[277]|0;p=c[277]|0;q=c[262]|0;r=c[271]|0;s=c[281]|0;t=c[271]|0;u=c[267]|0;if(!(yb(c[(c[D>>2]|0)+56>>2]|0,e,l)|0))break g;j=0;i:while(1){if(!(wb(c[(c[D>>2]|0)+56>>2]|0,w,m)|0))break g;a[e+(j<<5)+8>>0]=c[w>>2];if(!(Cb(c[(c[D>>2]|0)+56>>2]|0,e+(j<<5)+9|0,n)|0))break g;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,w,o)|0))break g;f=e+(j<<5)+22|0;a[f>>0]=a[f>>0]&-2|c[w>>2]&1;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,w,p)|0))break g;a[f>>0]=(c[w>>2]&255)<<1&2|a[f>>0]&-3;if(!(Ab(c[(c[D>>2]|0)+56>>2]|0,q)|0))break g;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,w,r)|0))break g;f=c[w>>2]|0;h=e+(j<<5)+23|0;a[h>>0]=f;f=f&255;j:do if(f){f=Re(f,16)|0;g=e+(j<<5)+24|0;c[g>>2]=f;if(!f)break i;if(!(a[h>>0]|0))break;if(!(yb(c[(c[D>>2]|0)+56>>2]|0,f,s)|0))break g;e=0;while(1){if(!(wb(c[(c[D>>2]|0)+56>>2]|0,w,t)|0))break g;a[f+(e<<4)+8>>0]=c[w>>2];e=e+1|0;if(!(Ab(c[(c[D>>2]|0)+56>>2]|0,u)|0))break g;if(e>>>0>=(d[h>>0]|0)>>>0)break j;f=c[g>>2]|0;if(!(yb(c[(c[D>>2]|0)+56>>2]|0,f+(e<<4)|0,s)|0))break g}}while(0);j=j+1|0;if(j>>>0>=(c[v>>2]|0)>>>0)break h;e=c[k>>2]|0;if(!(yb(c[(c[D>>2]|0)+56>>2]|0,e+(j<<5)|0,l)|0))break g}c[c[b>>2]>>2]=8;break g}while(0);z=165;break d}while(0);k=0;break}case 6:{do if((wb(c[h+56>>2]|0,w,c[265]|0)|0)!=0?(c[A+16>>2]=c[w>>2],(wb(c[(c[D>>2]|0)+56>>2]|0,w,c[265]|0)|0)!=0):0){f=c[w>>2]|0;if((f|0)!=-1){e=f+1|0;e=Pe(((e|0)==0&1)+e|0)|0;g=A+20|0;c[g>>2]=e;if(e){if(!f)f=0;else{if(!(Cb(c[(c[D>>2]|0)+56>>2]|0,e,f)|0))break;e=c[g>>2]|0;f=c[w>>2]|0}a[e+f>>0]=0;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,w,c[265]|0)|0))break;e=c[w>>2]|0;if((e|0)!=-1){f=e+1|0;f=Pe(((f|0)==0&1)+f|0)|0;g=A+24|0;c[g>>2]=f;if(f){if(!e)e=0;else{if(!(Cb(c[(c[D>>2]|0)+56>>2]|0,f,e)|0))break;f=c[g>>2]|0;e=c[w>>2]|0}a[f+e>>0]=0;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,A+28|0,c[265]|0)|0))break;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,A+32|0,c[265]|0)|0))break;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,A+36|0,c[265]|0)|0))break;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,A+40|0,c[265]|0)|0))break;e=A+44|0;if(!(wb(c[(c[D>>2]|0)+56>>2]|0,e,c[265]|0)|0))break;e=c[e>>2]|0;f=(e|0)==0;g=Pe((f&1)+e|0)|0;c[A+48>>2]=g;if(!g){c[c[b>>2]>>2]=8;break}if(!f?(Cb(c[(c[D>>2]|0)+56>>2]|0,g,e)|0)==0:0)break;z=165;break d}}else c[A+24>>2]=0;c[c[b>>2]>>2]=8;break}}else c[A+20>>2]=0;c[c[b>>2]>>2]=8}while(0);k=0;break}case 3:case 0:{z=165;break}default:{if(!e){c[A+16>>2]=0;z=165;break d}f=Pe(e)|0;c[A+16>>2]=f;if(f)if(!(Cb(c[h+56>>2]|0,f,e)|0)){k=0;break d}else{z=165;break d}else{c[c[b>>2]>>2]=8;k=0;break d}}}while(0);if((z|0)==165){e=c[D>>2]|0;if((c[e+3656>>2]|0)==0?(x=c[e+28>>2]|0,(x|0)!=0):0){_a[x&15](b,A,c[e+48>>2]|0);k=1}else k=1}switch(c[y>>2]|0){case 1:break;case 2:{e=c[A+20>>2]|0;if(e)Qe(e);break}case 4:{e=c[A+20>>2]|0;if(e)Qe(e);h=A+24|0;e=c[h>>2]|0;if(e){j=A+28|0;g=0;do{f=c[(c[j>>2]|0)+(g<<3)+4>>2]|0;if(f){Qe(f);e=c[h>>2]|0}g=g+1|0}while(g>>>0<e>>>0)}e=c[A+28>>2]|0;if(e)Qe(e);break}case 5:{h=A+164|0;e=c[h>>2]|0;if(e){j=A+168|0;g=0;do{f=c[(c[j>>2]|0)+(g<<5)+24>>2]|0;if(f){Qe(f);e=c[h>>2]|0}g=g+1|0}while(g>>>0<e>>>0)}e=c[A+168>>2]|0;if(e)Qe(e);break}case 6:{e=c[A+20>>2]|0;if(e)Qe(e);e=c[A+24>>2]|0;if(e)Qe(e);e=c[A+48>>2]|0;if(e)Qe(e);break}default:{e=c[A+16>>2]|0;if(e)Qe(e)}}if(!k)break}else if(!(Bb(c[h+56>>2]|0,e)|0))break;break a}while(0);b=0;i=E;return b|0}}while(0);if(!B){b=1;i=E;return b|0}e=c[D>>2]|0;f=e+6160|0;g=c[e+12>>2]|0;if(((g|0)!=0?(Va[g&31](b,f,c[e+48>>2]|0)|0)==0:0)?(tb(c[(c[D>>2]|0)+56>>2]|0)|0)!=0:0){B=(vb(c[(c[D>>2]|0)+56>>2]|0)|0)>>>3;D=f;B=We(c[D>>2]|0,c[D+4>>2]|0,B|0,0)|0;D=f;c[D>>2]=B;c[D+4>>2]=C}else{D=(c[D>>2]|0)+6160|0;c[D>>2]=0;c[D+4>>2]=0}c[c[b>>2]>>2]=2;b=1;i=E;return b|0}function bd(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+16|0;h=k;j=b+4|0;e=c[j>>2]|0;if(((c[e+248>>2]|0)!=0?(f=e+304|0,g=c[f>>2]|0,f=c[f+4>>2]|0,!((g|0)==0&(f|0)==0)):0)?(l=e+240|0,m=c[l+4>>2]|0,!(m>>>0<f>>>0|((m|0)==(f|0)?(c[l>>2]|0)>>>0<g>>>0:0))):0){c[c[b>>2]>>2]=4;m=1;i=k;return m|0}if((tb(c[e+56>>2]|0)|0)==0?(m=c[(c[j>>2]|0)+56>>2]|0,(wb(m,h,ub(m)|0)|0)==0):0){m=0;i=k;return m|0}else g=1;a:while(1){e=c[j>>2]|0;f=e+3520|0;if(!(c[f>>2]|0)){if(!(wb(c[e+56>>2]|0,h,8)|0)){e=0;f=19;break}}else{c[h>>2]=d[e+3614>>0];c[f>>2]=0}do if((c[h>>2]|0)==255){a[(c[j>>2]|0)+3612>>0]=-1;if(!(wb(c[(c[j>>2]|0)+56>>2]|0,h,8)|0)){e=0;f=19;break a}e=c[h>>2]|0;if((e|0)!=255)if((e&-2|0)==248){f=15;break a}else break;else{m=c[j>>2]|0;a[m+3614>>0]=-1;c[m+3520>>2]=1;break}}while(0);if(!g){g=0;continue}e=c[j>>2]|0;if(c[e+3656>>2]|0){g=0;continue}_a[c[e+32>>2]&15](b,0,c[e+48>>2]|0);g=0}if((f|0)==15){a[(c[j>>2]|0)+3613>>0]=e;c[c[b>>2]>>2]=3;m=1;i=k;return m|0}else if((f|0)==19){i=k;return e|0}return 0}function cd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+80|0;M=N+48|0;F=N;G=N+24|0;E=N+16|0;o=N+12|0;q=N+8|0;H=N+40|0;c[e>>2]=0;L=b+4|0;h=c[L>>2]|0;A=c[8+((d[h+3612>>0]|0)<<2)>>2]|0;rb(c[h+56>>2]|0,(c[8+(((d[h+3613>>0]|0)^A>>>8)<<2)>>2]^A<<8)&65535);A=c[L>>2]|0;a[G>>0]=a[A+3612>>0]|0;h=a[A+3613>>0]|0;k=G+1|0;a[k>>0]=h;c[E>>2]=2;h=(h&255)>>>1&1;a:do if(wb(c[A+56>>2]|0,M,8)|0){A=c[M>>2]|0;g=A&255;b:do if((A|0)!=255){c[E>>2]=3;j=G+2|0;a[j>>0]=g;if(!(wb(c[(c[L>>2]|0)+56>>2]|0,M,8)|0))break a;A=c[M>>2]|0;g=A&255;if((A|0)==255)J=3;else{A=c[E>>2]|0;c[E>>2]=A+1;a[G+A>>0]=g;g=(d[j>>0]|0)>>>4;c[M>>2]=g;switch(g|0){case 0:{m=0;h=1;break}case 1:{c[(c[L>>2]|0)+1136>>2]=192;m=0;break}case 5:case 4:case 3:case 2:{c[(c[L>>2]|0)+1136>>2]=576<<g+-2;m=0;break}case 7:case 6:{m=g;break}case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:{c[(c[L>>2]|0)+1136>>2]=256<<g+-8;m=0;break}default:m=0}g=(d[j>>0]|0)&15;c[M>>2]=g;do switch(g|0){case 0:{g=c[L>>2]|0;if(!(c[g+248>>2]|0)){h=1;l=0}else{c[g+1140>>2]=c[g+288>>2];l=0}break}case 1:{c[(c[L>>2]|0)+1140>>2]=88200;l=0;break}case 2:{c[(c[L>>2]|0)+1140>>2]=176400;l=0;break}case 3:{c[(c[L>>2]|0)+1140>>2]=192e3;l=0;break}case 4:{c[(c[L>>2]|0)+1140>>2]=8e3;l=0;break}case 5:{c[(c[L>>2]|0)+1140>>2]=16e3;l=0;break}case 6:{c[(c[L>>2]|0)+1140>>2]=22050;l=0;break}case 7:{c[(c[L>>2]|0)+1140>>2]=24e3;l=0;break}case 8:{c[(c[L>>2]|0)+1140>>2]=32e3;l=0;break}case 9:{c[(c[L>>2]|0)+1140>>2]=44100;l=0;break}case 10:{c[(c[L>>2]|0)+1140>>2]=48e3;l=0;break}case 11:{c[(c[L>>2]|0)+1140>>2]=96e3;l=0;break}case 14:case 13:case 12:{l=g;break}case 15:{g=c[L>>2]|0;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,1,c[g+48>>2]|0);g=c[b>>2]|0;c[g>>2]=2;A=b;break b}default:l=0}while(0);j=G+3|0;g=(d[j>>0]|0)>>>4;c[M>>2]=g;c:do if(!(g&8)){A=c[L>>2]|0;c[A+1144>>2]=g+1;c[A+1148>>2]=0;g=A}else{g=c[L>>2]|0;c[g+1144>>2]=2;switch(c[M>>2]&7|0){case 0:{c[g+1148>>2]=1;break c}case 1:{c[g+1148>>2]=2;break c}case 2:{c[g+1148>>2]=3;break c}default:{h=1;break c}}}while(0);A=(d[j>>0]|0)>>>1&7;c[M>>2]=A;switch(A|0){case 0:{if(!(c[g+248>>2]|0))p=1;else{c[g+1152>>2]=c[g+296>>2];p=h}break}case 1:{c[g+1152>>2]=8;p=h;break}case 2:{c[g+1152>>2]=12;p=h;break}case 4:{c[g+1152>>2]=16;p=h;break}case 5:{c[g+1152>>2]=20;p=h;break}case 6:{c[g+1152>>2]=24;p=h;break}case 7:case 3:{p=1;break}default:p=h}n=(a[j>>0]&1)==0;do if(!(a[k>>0]&1)){if((c[g+248>>2]|0)!=0?(c[g+272>>2]|0)!=(c[g+276>>2]|0):0){J=48;break}if(!(Fb(c[g+56>>2]|0,M,G,E)|0)){b=0;i=N;return b|0}g=c[M>>2]|0;if((g|0)!=-1){A=c[L>>2]|0;c[A+1156>>2]=0;c[A+1160>>2]=g;g=A;break}g=c[L>>2]|0;a[g+3614>>0]=a[G+((c[E>>2]|0)+-1)>>0]|0;c[g+3520>>2]=1;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,1,c[g+48>>2]|0);g=c[b>>2]|0;c[g>>2]=2;A=b;break b}else J=48;while(0);do if((J|0)==48){if(!(Gb(c[g+56>>2]|0,F,G,E)|0)){b=0;i=N;return b|0}h=F;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==-1&(h|0)==-1)){A=c[L>>2]|0;c[A+1156>>2]=1;z=A+1160|0;c[z>>2]=g;c[z+4>>2]=h;g=A;break}g=c[L>>2]|0;a[g+3614>>0]=a[G+((c[E>>2]|0)+-1)>>0]|0;c[g+3520>>2]=1;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,1,c[g+48>>2]|0);g=c[b>>2]|0;c[g>>2]=2;A=b;break b}while(0);if(m){if(!(wb(c[g+56>>2]|0,M,8)|0)){b=0;i=N;return b|0}g=c[M>>2]|0;A=c[E>>2]|0;c[E>>2]=A+1;a[G+A>>0]=g;do if((m|0)==7){if(wb(c[(c[L>>2]|0)+56>>2]|0,o,8)|0){g=c[o>>2]|0;A=c[E>>2]|0;c[E>>2]=A+1;a[G+A>>0]=g;g=c[M>>2]<<8|g;c[M>>2]=g;break}b=0;i=N;return b|0}while(0);A=c[L>>2]|0;c[A+1136>>2]=g+1;g=A}do if(l){if(!(wb(c[g+56>>2]|0,M,8)|0)){b=0;i=N;return b|0}g=c[M>>2]|0;A=c[E>>2]|0;c[E>>2]=A+1;a[G+A>>0]=g;if((l|0)==12){A=c[L>>2]|0;c[A+1140>>2]=g*1e3;g=A;break}if(!(wb(c[(c[L>>2]|0)+56>>2]|0,q,8)|0)){b=0;i=N;return b|0}g=c[q>>2]|0;A=c[E>>2]|0;c[E>>2]=A+1;a[G+A>>0]=g;g=c[M>>2]<<8|g;c[M>>2]=g;if((l|0)==13){A=c[L>>2]|0;c[A+1140>>2]=g;g=A;break}else{A=c[L>>2]|0;c[A+1140>>2]=g*10;g=A;break}}while(0);if(!(wb(c[g+56>>2]|0,M,8)|0)){b=0;i=N;return b|0}A=c[M>>2]|0;A=(cc(G,c[E>>2]|0)|0)<<24>>24==(A&255)<<24>>24;h=c[L>>2]|0;if(!A){if(!(c[h+3656>>2]|0))_a[c[h+32>>2]&15](b,1,c[h+48>>2]|0);g=c[b>>2]|0;c[g>>2]=2;A=b;break}j=h+232|0;c[j>>2]=0;g=h+1156|0;do if(!(c[g>>2]|0)){k=c[h+1160>>2]|0;c[M>>2]=k;c[g>>2]=1;g=c[h+228>>2]|0;if(g){A=hf(g|0,0,k|0,0)|0;J=h+1160|0;c[J>>2]=A;c[J+4>>2]=C;J=88;break}if(c[h+248>>2]|0){g=c[h+272>>2]|0;if((g|0)!=(c[h+276>>2]|0))break;A=hf(g|0,0,k|0,0)|0;J=h+1160|0;c[J>>2]=A;c[J+4>>2]=C;c[j>>2]=g;J=88;break}g=c[h+1136>>2]|0;if(!k){J=h+1160|0;c[J>>2]=0;c[J+4>>2]=0;c[j>>2]=g;J=88;break}else{A=hf(g|0,0,k|0,0)|0;J=h+1160|0;c[J>>2]=A;c[J+4>>2]=C;J=88;break}}else J=88;while(0);if((J|0)==88?(p|0)==0&n:0){A=b;g=c[b>>2]|0;break}if(!(c[h+3656>>2]|0))_a[c[h+32>>2]&15](b,3,c[h+48>>2]|0);else{A=h+6176|0;c[A>>2]=(c[A>>2]|0)+1}g=c[b>>2]|0;c[g>>2]=2;A=b}}else J=3;while(0);if((J|0)==3){h=c[L>>2]|0;a[h+3614>>0]=g;c[h+3520>>2]=1;if(!(c[h+3656>>2]|0))_a[c[h+32>>2]&15](b,1,c[h+48>>2]|0);g=c[b>>2]|0;c[g>>2]=2;A=b}if((c[g>>2]|0)==2){b=1;i=N;return b|0}g=c[L>>2]|0;l=c[g+1136>>2]|0;h=c[g+1144>>2]|0;if(!((c[g+220>>2]|0)>>>0>=l>>>0?(c[g+224>>2]|0)>>>0>=h>>>0:0)){j=0;J=103}if((J|0)==103){while(1){J=0;k=c[g+60+(j<<2)>>2]|0;if(k){Qe(k+-16|0);c[(c[L>>2]|0)+60+(j<<2)>>2]=0;g=c[L>>2]|0}g=c[g+3616+(j<<2)>>2]|0;if(g){Qe(g);c[(c[L>>2]|0)+92+(j<<2)>>2]=0;c[(c[L>>2]|0)+3616+(j<<2)>>2]=0}j=j+1|0;if((j|0)==8)break;g=c[L>>2]|0;J=103}d:do if(h){z=l+4|0;g=z<<2;e:do if(l>>>0<=4294967291?(4294967295/(z>>>0)|0)>>>0>=4:0){k=0;while(1){j=Pe(g)|0;if(!j)break e;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[(c[L>>2]|0)+60+(k<<2)>>2]=j+16;z=c[L>>2]|0;if(!(Kc(l,z+3616+(k<<2)|0,z+92+(k<<2)|0)|0))break;k=k+1|0;if(k>>>0>=h>>>0)break d}c[c[A>>2]>>2]=8;b=0;i=N;return b|0}while(0);c[c[A>>2]>>2]=8;b=0;i=N;return b|0}while(0);z=c[L>>2]|0;c[z+220>>2]=l;c[z+224>>2]=h;g=z;h=c[z+1144>>2]|0}f:do if(h){u=c[279]|0;v=c[274]|0;w=(f|0)==0;t=(f|0)!=0;x=c[274]|0;y=(1<<x)+-1|0;z=c[275]|0;s=0;g:while(1){h=c[g+1152>>2]|0;switch(c[g+1148>>2]|0){case 3:{h=h+((s|0)==1&1)|0;break}case 1:{h=h+((s|0)==1&1)|0;break}case 2:{h=h+((s|0)==0&1)|0;break}default:{}}if(!(wb(c[g+56>>2]|0,G,8)|0))break;r=c[G>>2]|0;c[G>>2]=r&254;r=(r&1|0)!=0;g=c[L>>2]|0;if(r){if(!(Db(c[g+56>>2]|0,E)|0))break;j=(c[E>>2]|0)+1|0;g=c[L>>2]|0;c[g+1176+(s*292|0)+288>>2]=j;if(h>>>0<=j>>>0)break;h=h-j|0}else c[g+1176+(s*292|0)+288>>2]=0;j=c[G>>2]|0;h:do if(!(j&128)){i:do switch(j|0){case 0:{j=c[g+60+(s<<2)>>2]|0;c[g+1176+(s*292|0)>>2]=0;if(!(xb(c[g+56>>2]|0,M,h)|0)){J=134;break g}c[g+1176+(s*292|0)+4>>2]=c[M>>2];if(!w?(D=(c[L>>2]|0)+1136|0,(c[D>>2]|0)!=0):0){g=0;do{c[j+(g<<2)>>2]=c[M>>2];g=g+1|0}while(g>>>0<(c[D>>2]|0)>>>0)}J=216;break}case 2:{m=g+1176+(s*292|0)+4|0;l=c[g+92+(s<<2)>>2]|0;c[g+1176+(s*292|0)>>2]=1;c[m>>2]=l;if(!(c[g+1136>>2]|0)){h=g;g=0}else{k=0;do{if(!(xb(c[g+56>>2]|0,M,h)|0)){J=141;break g}c[l+(k<<2)>>2]=c[M>>2];k=k+1|0;g=c[L>>2]|0;j=c[g+1136>>2]|0}while(k>>>0<j>>>0);h=g;g=j<<2}if(!w)af(c[h+60+(s<<2)>>2]|0,c[m>>2]|0,g|0)|0;J=216;break}default:{if(j>>>0<16){if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,3,c[g+48>>2]|0);else{r=g+6176|0;c[r>>2]=(c[r>>2]|0)+1}c[c[A>>2]>>2]=2;break h}if(j>>>0<25){n=j>>>1&7;c[g+1176+(s*292|0)>>2]=2;c[g+1176+(s*292|0)+36>>2]=c[g+92+(s<<2)>>2];c[g+1176+(s*292|0)+16>>2]=n;j=c[g+56>>2]|0;if(!n)h=j;else{l=g+1176+(s*292|0)+20|0;k=0;while(1){if(!(xb(j,M,h)|0)){J=172;break g}c[l+(k<<2)>>2]=c[M>>2];k=k+1|0;j=c[(c[L>>2]|0)+56>>2]|0;if(k>>>0>=n>>>0){h=j;break}}}if(!(wb(h,F,u)|0)){J=172;break g}q=c[F>>2]|0;j=g+1176+(s*292|0)+4|0;c[j>>2]=q;h=c[L>>2]|0;do if(q>>>0<2){if(!(wb(c[h+56>>2]|0,F,v)|0)){J=172;break g}k=c[L>>2]|0;l=c[F>>2]|0;if((c[k+1136>>2]|0)>>>l>>>0<n>>>0){if(!(c[k+3656>>2]|0))_a[c[k+32>>2]&15](b,0,c[k+48>>2]|0);c[c[A>>2]>>2]=2;break}c[g+1176+(s*292|0)+8>>2]=l;m=k+124+(s*12|0)|0;c[g+1176+(s*292|0)+12>>2]=m;h=c[j>>2]|0;if(h>>>0<2?(dd(b,n,l,m,c[k+92+(s<<2)>>2]|0,(h|0)==1&1)|0)==0:0){J=172;break g}if(w)break;af(c[(c[L>>2]|0)+60+(s<<2)>>2]|0,g+1176+(s*292|0)+20|0,n<<2|0)|0;q=c[L>>2]|0;hc(c[q+92+(s<<2)>>2]|0,(c[q+1136>>2]|0)-n|0,n,(c[q+60+(s<<2)>>2]|0)+(n<<2)|0)}else{if(!(c[h+3656>>2]|0))_a[c[h+32>>2]&15](b,3,c[h+48>>2]|0);else{q=h+6176|0;c[q>>2]=(c[q>>2]|0)+1}c[c[A>>2]>>2]=2}while(0);if(t&r&(c[c[A>>2]>>2]|0)!=2)break i;else break h}if(j>>>0<64){if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,3,c[g+48>>2]|0);else{r=g+6176|0;c[r>>2]=(c[r>>2]|0)+1}c[c[A>>2]>>2]=2;break h}q=(j>>>1&31)+1|0;c[g+1176+(s*292|0)>>2]=3;c[g+1176+(s*292|0)+284>>2]=c[g+92+(s<<2)>>2];c[g+1176+(s*292|0)+16>>2]=q;j=c[g+56>>2]|0;k=0;do{if(!(xb(j,M,h)|0)){J=214;break g}c[g+1176+(s*292|0)+156+(k<<2)>>2]=c[M>>2];k=k+1|0;j=c[(c[L>>2]|0)+56>>2]|0}while(k>>>0<q>>>0);if(!(wb(j,F,x)|0)){J=214;break g}j=c[F>>2]|0;do if((j|0)!=(y|0)){o=g+1176+(s*292|0)+20|0;c[o>>2]=j+1;if(!(xb(c[(c[L>>2]|0)+56>>2]|0,M,z)|0)){J=214;break g}j=c[M>>2]|0;if((j|0)<0){g=c[L>>2]|0;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,0,c[g+48>>2]|0);c[c[A>>2]>>2]=2;break}p=g+1176+(s*292|0)+24|0;c[p>>2]=j;j=c[(c[L>>2]|0)+56>>2]|0;k=0;do{if(!(xb(j,M,c[o>>2]|0)|0)){J=214;break g}c[g+1176+(s*292|0)+28+(k<<2)>>2]=c[M>>2];k=k+1|0;j=c[(c[L>>2]|0)+56>>2]|0}while(k>>>0<q>>>0);if(!(wb(j,F,u)|0)){J=214;break g}n=c[F>>2]|0;k=g+1176+(s*292|0)+4|0;c[k>>2]=n;j=c[L>>2]|0;if(n>>>0>=2){if(!(c[j+3656>>2]|0))_a[c[j+32>>2]&15](b,3,c[j+48>>2]|0);else{q=j+6176|0;c[q>>2]=(c[q>>2]|0)+1}c[c[A>>2]>>2]=2;break}if(!(wb(c[j+56>>2]|0,F,v)|0)){J=214;break g}l=c[L>>2]|0;m=c[F>>2]|0;if((c[l+1136>>2]|0)>>>m>>>0<q>>>0){if(!(c[l+3656>>2]|0))_a[c[l+32>>2]&15](b,0,c[l+48>>2]|0);c[c[A>>2]>>2]=2;break}c[g+1176+(s*292|0)+8>>2]=m;n=l+124+(s*12|0)|0;c[g+1176+(s*292|0)+12>>2]=n;j=c[k>>2]|0;if(j>>>0<2?(dd(b,q,m,n,c[l+92+(s<<2)>>2]|0,(j|0)==1&1)|0)==0:0){J=214;break g}if(w)break;af(c[(c[L>>2]|0)+60+(s<<2)>>2]|0,g+1176+(s*292|0)+156|0,q<<2|0)|0;j=c[o>>2]|0;if((j+h+((aa(q|0)|0)^31)|0)>>>0>=33){o=c[L>>2]|0;ab[c[o+40>>2]&15](c[o+92+(s<<2)>>2]|0,(c[o+1136>>2]|0)-q|0,g+1176+(s*292|0)+28|0,q,c[p>>2]|0,(c[o+60+(s<<2)>>2]|0)+(q<<2)|0);break}k=c[L>>2]|0;l=c[k+92+(s<<2)>>2]|0;m=c[k+1136>>2]|0;if(h>>>0<17&j>>>0<17){ab[c[k+44>>2]&15](l,m-q|0,g+1176+(s*292|0)+28|0,q,c[p>>2]|0,(c[k+60+(s<<2)>>2]|0)+(q<<2)|0);break}else{ab[c[k+36>>2]&15](l,m-q|0,g+1176+(s*292|0)+28|0,q,c[p>>2]|0,(c[k+60+(s<<2)>>2]|0)+(q<<2)|0);break}}else{g=c[L>>2]|0;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,0,c[g+48>>2]|0);c[c[A>>2]>>2]=2}while(0);if(!(t&r&(c[c[A>>2]>>2]|0)!=2))break h}}while(0);if((J|0)==216?(J=0,!(t&r)):0)break;g=c[L>>2]|0;h=c[g+1176+(s*292|0)+288>>2]|0;c[G>>2]=h;j=g+1136|0;if((c[j>>2]|0)!=0?(B=c[g+60+(s<<2)>>2]|0,c[B>>2]=c[B>>2]<<h,(c[j>>2]|0)>>>0>1):0){g=1;do{r=B+(g<<2)|0;c[r>>2]=c[r>>2]<<c[G>>2];g=g+1|0}while(g>>>0<(c[j>>2]|0)>>>0)}}else{if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,0,c[g+48>>2]|0);c[c[A>>2]>>2]=2}while(0);s=s+1|0;if((c[c[A>>2]>>2]|0)==2){g=1;J=276;break}g=c[L>>2]|0;if(s>>>0>=(c[g+1144>>2]|0)>>>0)break f}if((J|0)!=134)if((J|0)!=141)if((J|0)!=172)if((J|0)!=214)if((J|0)==276){i=N;return g|0}b=0;i=N;return b|0}while(0);if(!(tb(c[g+56>>2]|0)|0)){c[M>>2]=0;G=c[(c[L>>2]|0)+56>>2]|0;if(!(wb(G,M,ub(G)|0)|0)){b=0;i=N;return b|0}if(c[M>>2]|0){g=c[L>>2]|0;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,0,c[g+48>>2]|0);c[c[A>>2]>>2]=2}}if((c[c[A>>2]>>2]|0)==2){b=1;i=N;return b|0}g=sb(c[(c[L>>2]|0)+56>>2]|0)|0;if(!(wb(c[(c[L>>2]|0)+56>>2]|0,H,c[280]|0)|0)){b=0;i=N;return b|0}j:do if((g&65535|0)==(c[H>>2]|0)){if(f){g=c[L>>2]|0;switch(c[g+1148>>2]|0){case 3:{j=g+1136|0;if(!(c[j>>2]|0))break j;k=c[g+64>>2]|0;g=c[g+60>>2]|0;h=0;do{F=g+(h<<2)|0;I=k+(h<<2)|0;H=c[I>>2]|0;G=H&1|c[F>>2]<<1;c[F>>2]=G+H>>1;c[I>>2]=G-H>>1;h=h+1|0}while(h>>>0<(c[j>>2]|0)>>>0);break}case 1:{k=g+1136|0;if(!(c[k>>2]|0))break j;j=c[g+60>>2]|0;g=c[g+64>>2]|0;h=0;do{I=g+(h<<2)|0;c[I>>2]=(c[j+(h<<2)>>2]|0)-(c[I>>2]|0);h=h+1|0}while(h>>>0<(c[k>>2]|0)>>>0);break}case 2:{k=g+1136|0;if(!(c[k>>2]|0))break j;j=c[g+64>>2]|0;g=c[g+60>>2]|0;h=0;do{I=g+(h<<2)|0;c[I>>2]=(c[I>>2]|0)+(c[j+(h<<2)>>2]|0);h=h+1|0}while(h>>>0<(c[k>>2]|0)>>>0);break}default:break j}}}else{g=c[L>>2]|0;if(!(c[g+3656>>2]|0))_a[c[g+32>>2]&15](b,2,c[g+48>>2]|0);if((f|0)!=0?(I=c[L>>2]|0,(c[I+1144>>2]|0)!=0):0){g=I;h=0;do{Xe(c[g+60+(h<<2)>>2]|0,0,c[g+1136>>2]<<2|0)|0;h=h+1|0;g=c[L>>2]|0}while(h>>>0<(c[g+1144>>2]|0)>>>0)}}while(0);c[e>>2]=1;g=c[L>>2]|0;h=c[g+232>>2]|0;if(h)c[g+228>>2]=h;r=c[g+1144>>2]|0;m=c[A>>2]|0;c[m+8>>2]=r;c[m+12>>2]=c[g+1148>>2];j=c[g+1152>>2]|0;c[m+16>>2]=j;c[m+20>>2]=c[g+1140>>2];k=c[g+1136>>2]|0;c[m+24>>2]=k;m=g+1160|0;l=c[m>>2]|0;m=c[m+4>>2]|0;n=Ze(k|0,0,l|0,m|0)|0;o=C;e=g+240|0;c[e>>2]=n;c[e+4>>2]=o;k:do if(f){p=g+1136|0;q=g+60|0;l:do if(!(c[g+3656>>2]|0)){h=g+3648|0;do if(c[g+248>>2]|0){if(c[h>>2]|0)if(!(Ic(g+3660|0,q,r,k,(j+7|0)>>>3)|0))break l;else{g=c[L>>2]|0;break}}else c[h>>2]=0;while(0);K=$a[c[g+24>>2]&15](b,p,q,c[g+48>>2]|0)|0;J=266}else{j=g+6168|0;h=c[j>>2]|0;j=c[j+4>>2]|0;af(g+3776|0,p|0,2384)|0;if(!((j>>>0>m>>>0|(j|0)==(m|0)&h>>>0>=l>>>0)&(j>>>0<o>>>0|(j|0)==(o|0)&h>>>0<n>>>0)))break k;k=We(h|0,j|0,l|0,m|0)|0;j=c[L>>2]|0;c[j+3656>>2]=0;if(!k){K=$a[c[j+24>>2]&15](b,p,q,c[j+48>>2]|0)|0;J=266;break}if(r){h=0;do{c[M+(h<<2)>>2]=(c[g+60+(h<<2)>>2]|0)+(k<<2);h=h+1|0}while((h|0)!=(r|0))}K=j+3776|0;c[K>>2]=(c[K>>2]|0)-k;K=j+3800|0;J=K;J=Ze(c[J>>2]|0,c[J+4>>2]|0,k|0,0)|0;c[K>>2]=J;c[K+4>>2]=C;K=$a[c[j+24>>2]&15](b,j+3776|0,M,c[j+48>>2]|0)|0;J=266}while(0);if((J|0)==266?(K|0)==0:0)break;c[c[A>>2]>>2]=7;b=0;i=N;return b|0}while(0);c[c[A>>2]>>2]=2;b=1;i=N;return b|0}while(0);b=0;i=N;return b|0}function dd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;q=r+4|0;p=r;m=1<<d;n=a+4|0;o=c[(c[n>>2]|0)+1136>>2]|0;o=(d|0)!=0?o>>>d:o-b|0;l=(g|0)!=0;k=l?c[275]|0:c[274]|0;l=l?c[273]|0:c[272]|0;if(!(tc(e,d>>>0<6?6:d)|0)){c[c[a>>2]>>2]=8;q=0;i=r;return q|0}h=e+4|0;j=c[275]|0;if(d){d=0;g=0;a:while(1){if(!(wb(c[(c[n>>2]|0)+56>>2]|0,q,k)|0)){g=0;a=23;break}c[(c[e>>2]|0)+(d<<2)>>2]=c[q>>2];if((c[q>>2]|0)>>>0>=l>>>0){if(!(wb(c[(c[n>>2]|0)+56>>2]|0,q,j)|0)){g=0;a=23;break}c[(c[h>>2]|0)+(d<<2)>>2]=c[q>>2];a=(d|0)!=0?0:b;if(a>>>0<o>>>0)do{if(!(xb(c[(c[n>>2]|0)+56>>2]|0,p,c[q>>2]|0)|0)){g=0;a=23;break a}c[f+(g<<2)>>2]=c[p>>2];a=a+1|0;g=g+1|0}while(a>>>0<o>>>0)}else{c[(c[h>>2]|0)+(d<<2)>>2]=0;a=o-((d|0)!=0?0:b)|0;if(!(Eb(c[(c[n>>2]|0)+56>>2]|0,f+(g<<2)|0,a,c[q>>2]|0)|0)){g=0;a=23;break}g=a+g|0}d=d+1|0;if(d>>>0>=m>>>0){g=1;a=23;break}}if((a|0)==23){i=r;return g|0}}d=(o|0)==0;b=0;g=0;b:while(1){if(!(wb(c[(c[n>>2]|0)+56>>2]|0,q,k)|0)){g=0;a=23;break}c[(c[e>>2]|0)+(b<<2)>>2]=c[q>>2];if((c[q>>2]|0)>>>0>=l>>>0){if(!(wb(c[(c[n>>2]|0)+56>>2]|0,q,j)|0)){g=0;a=23;break}c[(c[h>>2]|0)+(b<<2)>>2]=c[q>>2];if(!d){a=0;do{if(!(xb(c[(c[n>>2]|0)+56>>2]|0,p,c[q>>2]|0)|0)){g=0;a=23;break b}c[f+(g<<2)>>2]=c[p>>2];a=a+1|0;g=g+1|0}while(a>>>0<o>>>0)}}else{c[(c[h>>2]|0)+(b<<2)>>2]=0;if(!(Eb(c[(c[n>>2]|0)+56>>2]|0,f+(g<<2)|0,o,c[q>>2]|0)|0)){g=0;a=23;break}g=o+g|0}b=b+1|0;if(b>>>0>=m>>>0){g=1;a=23;break}}if((a|0)==23){i=r;return g|0}return 0}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;e=c[g>>2]|0;f=c[e+20>>2]|0;if((f|0)!=0?(bb[f&15](d,c[e+48>>2]|0)|0)!=0:0){c[b>>2]=0;c[c[d>>2]>>2]=4;d=0;return d|0}if(!(c[b>>2]|0)){c[c[d>>2]>>2]=7;d=0;return d|0}e=c[g>>2]|0;if((c[e+3656>>2]|0)!=0?(c[e+6176>>2]|0)>>>0>20:0){c[c[d>>2]>>2]=7;d=0;return d|0}e=$a[c[e+4>>2]&15](d,a,b,c[e+48>>2]|0)|0;if((e|0)==2){c[c[d>>2]>>2]=7;d=0;return d|0}if(c[b>>2]|0){d=1;return d|0}if((e|0)!=1){e=c[g>>2]|0;f=c[e+20>>2]|0;if(!f){d=1;return d|0}if(!(bb[f&15](d,c[e+48>>2]|0)|0)){d=1;return d|0}}c[c[d>>2]>>2]=4;d=0;return d|0}function fd(){var a=0,b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0;h=Re(1,8)|0;if(!h){j=0;return j|0}a=Re(1,632)|0;c[h>>2]=a;if(!a){Qe(h);j=0;return j|0}f=Re(1,11880)|0;j=h+4|0;c[j>>2]=f;if(!f){Qe(a);Qe(h);j=0;return j|0}f=Ib()|0;a=c[j>>2]|0;c[a+6856>>2]=f;if(!f){Qe(a);Qe(c[h>>2]|0);Qe(h);j=0;return j|0}c[a+7320>>2]=0;d=c[h>>2]|0;c[d+4>>2]=0;c[d+8>>2]=1;c[d+12>>2]=1;e=d+16|0;c[e>>2]=0;f=d+20|0;c[f>>2]=0;c[d+24>>2]=2;c[d+28>>2]=16;c[d+32>>2]=44100;c[d+36>>2]=0;c[d+40>>2]=1;c[d+44>>2]=13;g[d+48>>2]=.5;k=d+556|0;b=d+592|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;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+7048>>2]=0;a=a+7272|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if((c[d>>2]|0)==1?(c[e>>2]=1,c[f>>2]=0,od(h,3470)|0,i=c[h>>2]|0,(c[i>>2]|0)==1):0){c[i+556>>2]=8;c[i+560>>2]=0;c[i+564>>2]=0;c[i+568>>2]=0;c[i+576>>2]=0;c[i+580>>2]=5}k=c[j>>2]|0;c[k+11872>>2]=0;c[k+6176>>2]=k+336;k=c[j>>2]|0;c[k+6180>>2]=k+628;k=c[j>>2]|0;c[k+6184>>2]=k+920;k=c[j>>2]|0;c[k+6188>>2]=k+1212;k=c[j>>2]|0;c[k+6192>>2]=k+1504;k=c[j>>2]|0;c[k+6196>>2]=k+1796;k=c[j>>2]|0;c[k+6200>>2]=k+2088;k=c[j>>2]|0;c[k+6204>>2]=k+2380;k=c[j>>2]|0;c[k+6208>>2]=k+2672;k=c[j>>2]|0;c[k+6212>>2]=k+2964;k=c[j>>2]|0;c[k+6216>>2]=k+3256;k=c[j>>2]|0;c[k+6220>>2]=k+3548;k=c[j>>2]|0;c[k+6224>>2]=k+3840;k=c[j>>2]|0;c[k+6228>>2]=k+4132;k=c[j>>2]|0;c[k+6232>>2]=k+4424;k=c[j>>2]|0;c[k+6236>>2]=k+4716;k=c[j>>2]|0;c[k+6240>>2]=k+5008;k=c[j>>2]|0;c[k+6244>>2]=k+5300;k=c[j>>2]|0;c[k+6248>>2]=k+5592;k=c[j>>2]|0;c[k+6252>>2]=k+5884;k=c[j>>2]|0;c[k+6640>>2]=k+6256;k=c[j>>2]|0;c[k+6644>>2]=k+6268;k=c[j>>2]|0;c[k+6648>>2]=k+6280;k=c[j>>2]|0;c[k+6652>>2]=k+6292;k=c[j>>2]|0;c[k+6656>>2]=k+6304;k=c[j>>2]|0;c[k+6660>>2]=k+6316;k=c[j>>2]|0;c[k+6664>>2]=k+6328;k=c[j>>2]|0;c[k+6668>>2]=k+6340;k=c[j>>2]|0;c[k+6672>>2]=k+6352;k=c[j>>2]|0;c[k+6676>>2]=k+6364;k=c[j>>2]|0;c[k+6680>>2]=k+6376;k=c[j>>2]|0;c[k+6684>>2]=k+6388;k=c[j>>2]|0;c[k+6688>>2]=k+6400;k=c[j>>2]|0;c[k+6692>>2]=k+6412;k=c[j>>2]|0;c[k+6696>>2]=k+6424;k=c[j>>2]|0;c[k+6700>>2]=k+6436;k=c[j>>2]|0;c[k+6704>>2]=k+6448;k=c[j>>2]|0;c[k+6708>>2]=k+6460;k=c[j>>2]|0;c[k+6712>>2]=k+6472;k=c[j>>2]|0;c[k+6716>>2]=k+6484;rc((c[j>>2]|0)+6256|0);rc((c[j>>2]|0)+6268|0);rc((c[j>>2]|0)+6280|0);rc((c[j>>2]|0)+6292|0);rc((c[j>>2]|0)+6304|0);rc((c[j>>2]|0)+6316|0);rc((c[j>>2]|0)+6328|0);rc((c[j>>2]|0)+6340|0);rc((c[j>>2]|0)+6352|0);rc((c[j>>2]|0)+6364|0);rc((c[j>>2]|0)+6376|0);rc((c[j>>2]|0)+6388|0);rc((c[j>>2]|0)+6400|0);rc((c[j>>2]|0)+6412|0);rc((c[j>>2]|0)+6424|0);rc((c[j>>2]|0)+6436|0);rc((c[j>>2]|0)+6448|0);rc((c[j>>2]|0)+6460|0);rc((c[j>>2]|0)+6472|0);rc((c[j>>2]|0)+6484|0);rc((c[j>>2]|0)+11748|0);rc((c[j>>2]|0)+11760|0);c[c[h>>2]>>2]=1;k=h;return k|0}function gd(a){a=a|0;var b=0,d=0,e=0;if(!a)return;e=a+4|0;c[(c[e>>2]|0)+11872>>2]=1;hd(a)|0;b=c[e>>2]|0;d=c[b+11776>>2]|0;if(d){Qc(d);b=c[e>>2]|0}sc(b+6256|0);sc((c[e>>2]|0)+6268|0);sc((c[e>>2]|0)+6280|0);sc((c[e>>2]|0)+6292|0);sc((c[e>>2]|0)+6304|0);sc((c[e>>2]|0)+6316|0);sc((c[e>>2]|0)+6328|0);sc((c[e>>2]|0)+6340|0);sc((c[e>>2]|0)+6352|0);sc((c[e>>2]|0)+6364|0);sc((c[e>>2]|0)+6376|0);sc((c[e>>2]|0)+6388|0);sc((c[e>>2]|0)+6400|0);sc((c[e>>2]|0)+6412|0);sc((c[e>>2]|0)+6424|0);sc((c[e>>2]|0)+6436|0);sc((c[e>>2]|0)+6448|0);sc((c[e>>2]|0)+6460|0);sc((c[e>>2]|0)+6472|0);sc((c[e>>2]|0)+6484|0);sc((c[e>>2]|0)+11748|0);sc((c[e>>2]|0)+11760|0);Jb(c[(c[e>>2]|0)+6856>>2]|0);Qe(c[e>>2]|0);Qe(c[a>>2]|0);Qe(a);return}function hd(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+32|0;B=F;e=c[b>>2]|0;switch(c[e>>2]|0){case 0:{h=2;break}case 1:{b=1;i=F;return b|0}default:d=0}if((h|0)==2){d=c[b+4>>2]|0;if((c[d+11872>>2]|0)==0?(f=c[d+7052>>2]|0,(f|0)!=0):0){e=e+36|0;d=(c[e>>2]|0)!=(f|0)&1;c[e>>2]=f;d=(sd(b,d)|0)==0&1;e=c[b>>2]|0}else d=0}E=b+4|0;if(c[e+12>>2]|0){A=c[E>>2]|0;Hc(A+6928|0,A+7060|0)}h=c[E>>2]|0;if(!(c[h+11872>>2]|0)){e=c[b>>2]|0;if(!(c[e>>2]|0)){f=c[h+7292>>2]|0;if(!f)f=e;else{k=h+6920|0;l=c[k>>2]|0;k=c[k+4>>2]|0;m=c[h+6896>>2]|0;u=c[h+6900>>2]|0;j=c[h+6912>>2]|0;n=c[280]|0;o=c[280]|0;v=o+n|0;p=c[267]|0;q=c[267]|0;r=c[259]|0;s=c[270]|0;t=c[275]|0;A=e+608|0;A=Ze(((v+p+q+r+s+t+(c[260]|0)|0)>>>3)+4|0,0,c[A>>2]|0,c[A+4>>2]|0)|0;a:do switch($a[f&15](b,A,C,c[h+7312>>2]|0)|0){case 0:{A=c[E>>2]|0;if(Ya[c[A+7300>>2]&15](b,h+6928|0,16,0,0,c[A+7312>>2]|0)|0){c[c[b>>2]>>2]=5;break a}a[B>>0]=(j<<4)+240|k&15;y=B+1|0;a[y>>0]=$e(l|0,k|0,24)|0;z=B+2|0;a[z>>0]=$e(l|0,k|0,16)|0;A=B+3|0;a[A>>0]=$e(l|0,k|0,8)|0;x=B+4|0;a[x>>0]=l;w=c[E>>2]|0;l=c[w+7292>>2]|0;k=(c[b>>2]|0)+608|0;t=Ze(c[k>>2]|0,c[k+4>>2]|0,((n+-4+o+p+q+r+s+t|0)>>>3)+4|0,0)|0;switch($a[l&15](b,t,C,c[w+7312>>2]|0)|0){case 0:break;case 1:{c[c[b>>2]>>2]=5;break a}default:break a}w=c[E>>2]|0;if(Ya[c[w+7300>>2]&15](b,B,5,0,0,c[w+7312>>2]|0)|0){c[c[b>>2]>>2]=5;break a}a[B>>0]=m>>>16;a[y>>0]=m>>>8;a[z>>0]=m;a[A>>0]=u>>>16;a[x>>0]=u>>>8;w=B+5|0;a[w>>0]=u;u=c[E>>2]|0;t=c[u+7292>>2]|0;s=(c[b>>2]|0)+608|0;v=Ze(c[s>>2]|0,c[s+4>>2]|0,(v>>>3)+4|0,0)|0;switch($a[t&15](b,v,C,c[u+7312>>2]|0)|0){case 0:break;case 1:{c[c[b>>2]>>2]=5;break a}default:break a}v=c[E>>2]|0;if(Ya[c[v+7300>>2]&15](b,B,6,0,0,c[v+7312>>2]|0)|0){c[c[b>>2]>>2]=5;break a}e=c[(c[E>>2]|0)+7048>>2]|0;if(((e|0)!=0?(c[e>>2]|0)!=0:0)?(v=(c[b>>2]|0)+616|0,!((c[v>>2]|0)==0&(c[v+4>>2]|0)==0)):0){mc(e)|0;v=c[E>>2]|0;t=c[v+7292>>2]|0;u=(c[b>>2]|0)+616|0;u=Ze(c[u>>2]|0,c[u+4>>2]|0,4,0)|0;switch($a[t&15](b,u,C,c[v+7312>>2]|0)|0){case 0:break;case 1:{c[c[b>>2]>>2]=5;break a}default:break a}f=c[E>>2]|0;e=c[f+7048>>2]|0;if(c[e>>2]|0){j=B+7|0;k=B+6|0;l=B+15|0;m=B+14|0;n=B+13|0;o=B+12|0;p=B+11|0;q=B+10|0;r=B+9|0;s=B+8|0;t=B+17|0;u=B+16|0;h=0;while(1){v=(c[e+4>>2]|0)+(h*24|0)|0;e=c[v>>2]|0;v=c[v+4>>2]|0;a[j>>0]=e;G=$e(e|0,v|0,8)|0;a[k>>0]=G;G=$e(e|0,v|0,16)|0;a[w>>0]=G;G=$e(e|0,v|0,24)|0;a[x>>0]=G;a[A>>0]=v;G=$e(e|0,v|0,40)|0;a[z>>0]=G;G=$e(e|0,v|0,48)|0;a[y>>0]=G;v=$e(e|0,v|0,56)|0;a[B>>0]=v;v=f+7048|0;e=(c[(c[v>>2]|0)+4>>2]|0)+(h*24|0)+8|0;G=c[e>>2]|0;e=c[e+4>>2]|0;a[l>>0]=G;H=$e(G|0,e|0,8)|0;a[m>>0]=H;H=$e(G|0,e|0,16)|0;a[n>>0]=H;H=$e(G|0,e|0,24)|0;a[o>>0]=H;a[p>>0]=e;H=$e(G|0,e|0,40)|0;a[q>>0]=H;H=$e(G|0,e|0,48)|0;a[r>>0]=H;e=$e(G|0,e|0,56)|0;a[s>>0]=e;v=c[(c[(c[v>>2]|0)+4>>2]|0)+(h*24|0)+16>>2]|0;a[t>>0]=v;a[u>>0]=v>>>8;h=h+1|0;if(Ya[c[f+7300>>2]&15](b,B,18,0,0,c[f+7312>>2]|0)|0)break;f=c[E>>2]|0;e=c[f+7048>>2]|0;if(h>>>0>=(c[e>>2]|0)>>>0)break a}c[c[b>>2]>>2]=5}}break}case 1:{c[c[b>>2]>>2]=5;break}default:{}}while(0);H=c[b>>2]|0;h=c[E>>2]|0;f=H;d=(c[H>>2]|0)==0?d:1}e=c[h+7304>>2]|0;if(!e)e=f;else{_a[e&15](b,h+6872|0,c[h+7312>>2]|0);e=c[b>>2]|0}}if(((c[e+4>>2]|0)!=0?(D=c[(c[E>>2]|0)+11776>>2]|0,(D|0)!=0):0)?(Rc(D)|0)==0:0)if(!d){c[c[b>>2]>>2]=4;j=1}else j=1;else j=d}else j=d;d=c[E>>2]|0;e=c[d+7320>>2]|0;if(e){if((e|0)!=(c[393]|0)){oe(e)|0;d=c[E>>2]|0}c[d+7320>>2]=0}d=c[b>>2]|0;e=c[d+600>>2]|0;if(e){Qe(e);d=c[b>>2]|0;c[d+600>>2]=0;c[d+604>>2]=0}if(c[d+24>>2]|0){f=0;do{d=c[E>>2]|0;e=c[d+7352+(f<<2)>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7352+(f<<2)>>2]=0;d=c[E>>2]|0}d=c[d+7392+(f<<2)>>2]|0;if(d){Qe(d);c[(c[E>>2]|0)+7392+(f<<2)>>2]=0}f=f+1|0}while(f>>>0<(c[(c[b>>2]|0)+24>>2]|0)>>>0)}d=c[E>>2]|0;e=c[d+7384>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7384>>2]=0;d=c[E>>2]|0}e=c[d+7424>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7424>>2]=0;d=c[E>>2]|0}e=c[d+7388>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7388>>2]=0;d=c[E>>2]|0}e=c[d+7428>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7428>>2]=0;d=c[E>>2]|0}f=c[b>>2]|0;if(c[f+40>>2]|0){h=0;do{e=c[d+7432+(h<<2)>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7432+(h<<2)>>2]=0;f=c[b>>2]|0;d=c[E>>2]|0}h=h+1|0}while(h>>>0<(c[f+40>>2]|0)>>>0)}e=c[d+7560>>2]|0;if(!e)e=f;else{Qe(e);d=c[E>>2]|0;c[d+7560>>2]=0;e=c[b>>2]|0}if(c[e+24>>2]|0){f=0;do{e=c[d+7564+(f<<3)>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7564+(f<<3)>>2]=0;d=c[E>>2]|0}e=c[d+7564+(f<<3)+4>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7564+(f<<3)+4>>2]=0;d=c[E>>2]|0}f=f+1|0}while(f>>>0<(c[(c[b>>2]|0)+24>>2]|0)>>>0)}e=c[d+7628>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7628>>2]=0;d=c[E>>2]|0}e=c[d+7632>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7632>>2]=0;d=c[E>>2]|0}e=c[d+7636>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7636>>2]=0;d=c[E>>2]|0}e=c[d+7640>>2]|0;if(e){Qe(e);c[(c[E>>2]|0)+7640>>2]=0;d=c[E>>2]|0}e=c[d+7644>>2]|0;if(e){Qe(e);d=c[E>>2]|0;c[d+7644>>2]=0}e=c[d+7648>>2]|0;if(e){Qe(e);d=c[E>>2]|0;c[d+7648>>2]=0}e=c[b>>2]|0;do if(c[e+4>>2]|0){if(!(c[e+24>>2]|0))break;else h=0;do{f=c[d+11788+(h<<2)>>2]|0;if(f){Qe(f);c[(c[E>>2]|0)+11788+(h<<2)>>2]=0;d=c[E>>2]|0;e=c[b>>2]|0}h=h+1|0}while(h>>>0<(c[e+24>>2]|0)>>>0)}while(0);Kb(c[d+6856>>2]|0);d=c[b>>2]|0;c[d+4>>2]=0;c[d+8>>2]=1;c[d+12>>2]=1;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=2;c[d+28>>2]=16;c[d+32>>2]=44100;c[d+36>>2]=0;c[d+40>>2]=1;c[d+44>>2]=13;g[d+48>>2]=.5;e=d+556|0;d=d+592|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[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;d=c[E>>2]|0;c[d+7048>>2]=0;d=d+7272|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=c[b>>2]|0;do if((c[d>>2]|0)==1){c[d+16>>2]=1;c[d+20>>2]=0;od(b,3470)|0;d=c[b>>2]|0;if((c[d>>2]|0)!=1)break;c[d+556>>2]=8;c[d+560>>2]=0;c[d+564>>2]=0;c[d+568>>2]=0;c[d+576>>2]=0;c[d+580>>2]=5}while(0);e=(j|0)!=0;if(!e)c[d>>2]=1;H=e&1^1;i=F;return H|0}function id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return td(a,0,b,c,d,e,f,0)|0}function jd(a,b){a=a|0;b=b|0;a=c[a>>2]|0;if((c[a>>2]|0)!=1){b=0;return b|0}c[a+4>>2]=b;b=1;return b|0}function kd(a,b){a=a|0;b=b|0;a=c[a>>2]|0;if((c[a>>2]|0)!=1){b=0;return b|0}c[a+24>>2]=b;b=1;return b|0}function ld(a,b){a=a|0;b=b|0;a=c[a>>2]|0;if((c[a>>2]|0)!=1){b=0;return b|0}c[a+28>>2]=b;b=1;return b|0}function md(a,b){a=a|0;b=b|0;a=c[a>>2]|0;if((c[a>>2]|0)!=1){b=0;return b|0}c[a+32>>2]=b;b=1;return b|0}function nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((c[d>>2]|0)!=1){f=0;return f|0}e=b>>>0>8?8:b;c[d+16>>2]=c[1128+(e*44|0)>>2];c[d+20>>2]=c[1128+(e*44|0)+4>>2];f=od(a,c[1128+(e*44|0)+40>>2]|0)|0;b=c[a>>2]|0;a=(c[b>>2]|0)==1;if(a){c[b+556>>2]=c[1128+(e*44|0)+8>>2];c[b+560>>2]=c[1128+(e*44|0)+12>>2];c[b+564>>2]=c[1128+(e*44|0)+16>>2];c[b+568>>2]=c[1128+(e*44|0)+24>>2];c[b+576>>2]=c[1128+(e*44|0)+28>>2];c[b+580>>2]=c[1128+(e*44|0)+32>>2];d=1;b=f&(a&1)}else{d=0;b=0}f=b&d;return f|0}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;e=c[a>>2]|0;if((c[e>>2]|0)!=1){q=0;return q|0}c[e+40>>2]=0;n=b;b=0;while(1){o=Ce(n,59)|0;p=(o|0)!=0;if(p)h=o-n|0;else h=Fe(n)|0;i=(h|0)==8;a:do if(i){if(!(Ge(3482,n,8)|0)){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=0;break}if(!(Ge(3505,n,8)|0)){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=2}else{d=0;q=21}}else switch(h|0){case 13:{if(Ge(3491,n,13)|0){d=1;q=21;break a}c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=1;break a}case 26:{if(Ge(3514,n,26)|0){d=0;q=21;break a}c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=3;break a}case 6:{if(Ge(3541,n,6)|0)break a;c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=4;break a}case 7:{if(!(Ge(3548,n,7)|0)){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=5;break a}if(!(Ge(3563,n,7)|0)){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=7;break a}if(Ge(3590,n,h)|0){d=0;q=37;break a}c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=10;break a}default:{if(h>>>0>7){d=0;q=21;break a}switch(h|0){case 5:{q=69;break a}case 4:break;default:break a}if(Ge(3571,n,4)|0){d=0;q=37;break a}c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=8;break a}}while(0);do if((q|0)==21){q=0;if(!(Ge(3556,n,6)|0)){f=+Ae(n+6|0,0);if(!(f>0.0)|!(f<=.5))break;j=c[a>>2]|0;i=j+40|0;m=c[i>>2]|0;g[j+44+(m<<4)+4>>2]=f;c[i>>2]=m+1;c[j+44+(m<<4)>>2]=6;break}if(d?(Ge(3576,n,h)|0)==0:0){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=9;break}if((h|0)==9?(Ge(3598,n,9)|0)==0:0){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=11}else{d=1;q=37}}while(0);b:do if((q|0)==37){q=0;if(i?(Ge(3608,n,8)|0)==0:0){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=12;break}if(d?(Ge(3617,n,6)|0)==0:0){f=+Ae(n+6|0,0);if(!(f>=0.0)|!(f<=1.0))break;j=c[a>>2]|0;i=j+40|0;m=c[i>>2]|0;g[j+44+(m<<4)+4>>2]=f;c[i>>2]=m+1;c[j+44+(m<<4)>>2]=13;break}if(h>>>0<=15)if((h|0)==5){q=69;break}else break;if(!(Ge(3624,n,14)|0)){m=~~+Ae(n+14|0,0);h=Ce(n,47)|0;d=(h|0)!=0;h=h+1|0;if(d)if(+Ae(h,0)<.9900000095367432)f=+Ae(h,0);else f=.9900000095367432;else f=.10000000149011612;l=1.0/(1.0-f)+-1.0;d=Ce(d?h:n,47)|0;if(!d)f=.20000000298023224;else f=+Ae(d+1|0,0);i=c[a>>2]|0;j=i+40|0;d=c[j>>2]|0;if((m|0)<2){g[i+44+(d<<4)+4>>2]=f;c[j>>2]=d+1;c[i+44+(d<<4)>>2]=13;break}if((d+m|0)>>>0>=32)break;k=+(m|0)+l;h=0;while(1){g[i+44+(d<<4)+4>>2]=f;g[i+44+(d<<4)+8>>2]=+(h|0)/k;h=h+1|0;g[i+44+(d<<4)+12>>2]=(l+ +(h|0))/k;r=c[j>>2]|0;d=r+1|0;c[j>>2]=d;c[i+44+(r<<4)>>2]=14;if((h|0)==(m|0))break b}}if(h>>>0>16?(Ge(3639,n,15)|0)==0:0){m=~~+Ae(n+15|0,0);h=Ce(n,47)|0;d=(h|0)!=0;h=h+1|0;if(d)if(+Ae(h,0)<.9900000095367432)f=+Ae(h,0);else f=.9900000095367432;else f=.20000000298023224;l=1.0/(1.0-f)+-1.0;d=Ce(d?h:n,47)|0;if(!d)f=.20000000298023224;else f=+Ae(d+1|0,0);i=c[a>>2]|0;j=i+40|0;d=c[j>>2]|0;if((m|0)<2){g[i+44+(d<<4)+4>>2]=f;c[j>>2]=d+1;c[i+44+(d<<4)>>2]=13;break}if((d+m|0)>>>0<32){k=+(m|0)+l;h=0;do{g[i+44+(d<<4)+4>>2]=f;g[i+44+(d<<4)+8>>2]=+(h|0)/k;h=h+1|0;g[i+44+(d<<4)+12>>2]=(l+ +(h|0))/k;r=c[j>>2]|0;d=r+1|0;c[j>>2]=d;c[i+44+(r<<4)>>2]=15}while((h|0)!=(m|0))}}}while(0);if((q|0)==69?(q=0,(Ge(3655,n,5)|0)==0):0){c[e+40>>2]=b+1;c[e+44+(b<<4)>>2]=16}e=c[a>>2]|0;d=e+40|0;b=c[d>>2]|0;if(p&(b|0)!=32)n=o+1|0;else break}if(b){r=1;return r|0}c[d>>2]=1;c[e+44>>2]=13;g[e+48>>2]=.5;r=1;return r|0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=c[a>>2]|0;if((c[a>>2]|0)!=1){d=0;return d|0}g=Ye(1,0,c[260]|0)|0;g=Ze(g|0,C|0,-1,-1)|0;e=C;f=e>>>0>d>>>0|(e|0)==(d|0)&g>>>0>b>>>0;a=a+592|0;c[a>>2]=f?b:g;c[a+4>>2]=f?d:e;d=1;return d|0}function qd(a){a=a|0;return c[c[a>>2]>>2]|0}function rd(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;r=c[a>>2]|0;s=c[r+24>>2]|0;t=c[r+36>>2]|0;u=a+4|0;if((s|0)==2&(c[r+16>>2]|0)!=0){p=t+1|0;e=r;g=0;f=0;while(1){o=c[u>>2]|0;if(c[e+4>>2]|0){n=p-(c[o+7052>>2]|0)|0;h=d-g|0;h=n>>>0<h>>>0?n:h;n=o+11824|0;e=c[n>>2]|0;if(h){i=c[o+11788>>2]|0;j=c[o+11792>>2]|0;k=g<<1;l=e;m=0;while(1){c[i+(l<<2)>>2]=c[b+(k<<2)>>2];c[j+(l<<2)>>2]=c[b+(k+1<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else{k=k+2|0;l=l+1|0}}e=h+e|0}c[n>>2]=e}m=o+7052|0;h=c[m>>2]|0;e=g>>>0<d>>>0;if(e&h>>>0<=t>>>0){j=c[o+4>>2]|0;k=c[o+8>>2]|0;l=c[o+40>>2]|0;i=c[o+36>>2]|0;e=f;while(1){q=c[b+(e<<2)>>2]|0;c[j+(h<<2)>>2]=q;f=e+2|0;e=c[b+(e+1<<2)>>2]|0;c[k+(h<<2)>>2]=e;c[l+(h<<2)>>2]=q-e;c[i+(h<<2)>>2]=e+q>>1;h=h+1|0;g=g+1|0;e=g>>>0<d>>>0;if(e&h>>>0<=t>>>0)e=f;else break}}c[m>>2]=h;if(h>>>0>t>>>0){if(!(sd(a,0)|0)){e=0;f=39;break}q=c[u>>2]|0;o=c[q+4>>2]|0;c[o>>2]=c[o+(t<<2)>>2];o=c[q+8>>2]|0;c[o>>2]=c[o+(t<<2)>>2];o=c[q+36>>2]|0;c[o>>2]=c[o+(t<<2)>>2];o=c[q+40>>2]|0;c[o>>2]=c[o+(t<<2)>>2];c[q+7052>>2]=1}if(!e){e=1;f=39;break}e=c[a>>2]|0}if((f|0)==39)return e|0}p=(s|0)==0;q=t+1|0;e=r;h=0;g=0;while(1){o=c[u>>2]|0;if(c[e+4>>2]|0){n=q-(c[o+7052>>2]|0)|0;k=d-h|0;k=n>>>0<k>>>0?n:k;n=o+11824|0;e=c[n>>2]|0;if(k){f=_(h,s)|0;l=e;m=0;while(1){if(!p){i=0;j=f;while(1){c[(c[o+11788+(i<<2)>>2]|0)+(l<<2)>>2]=c[b+(j<<2)>>2];i=i+1|0;if((i|0)==(s|0))break;else j=j+1|0}f=f+s|0}m=m+1|0;if((m|0)==(k|0))break;else l=l+1|0}e=k+e|0}c[n>>2]=e}j=o+7052|0;f=c[j>>2]|0;e=h>>>0<d>>>0;if(e&f>>>0<=t>>>0){i=h;while(1){if(!p){e=0;h=g;while(1){c[(c[o+4+(e<<2)>>2]|0)+(f<<2)>>2]=c[b+(h<<2)>>2];e=e+1|0;if((e|0)==(s|0))break;else h=h+1|0}g=s+g|0}f=f+1|0;h=i+1|0;e=h>>>0<d>>>0;if(e&f>>>0<=t>>>0)i=h;else{i=e;break}}}else i=e;c[j>>2]=f;if(f>>>0>t>>>0){if(!(sd(a,0)|0)){e=0;f=39;break}e=c[u>>2]|0;if(!p){f=0;do{r=c[e+4+(f<<2)>>2]|0;c[r>>2]=c[r+(t<<2)>>2];f=f+1|0}while((f|0)!=(s|0))}c[e+7052>>2]=1}if(!i){e=1;f=39;break}e=c[a>>2]|0}if((f|0)==39)return e|0;return 0}function sd(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;t=w;v=w+40|0;d=c[a>>2]|0;if(c[d+12>>2]|0){s=c[a+4>>2]|0;s=(Ic(s+7060|0,s+4|0,c[d+24>>2]|0,c[d+36>>2]|0,((c[d+28>>2]|0)+7|0)>>>3)|0)==0;d=c[a>>2]|0;if(s){c[d>>2]=8;a=0;i=w;return a|0}}f=c[d+576>>2]|0;if(!b){s=qc(c[d+36>>2]|0)|0;d=c[a>>2]|0;q=c[d+580>>2]|0;q=s>>>0<q>>>0?s:q}else q=0;p=f>>>0<q>>>0?f:q;l=d+36|0;c[t>>2]=c[l>>2];c[t+4>>2]=c[d+32>>2];m=d+24|0;c[t+8>>2]=c[m>>2];r=t+12|0;c[r>>2]=0;n=d+28|0;c[t+16>>2]=c[n>>2];c[t+20>>2]=0;s=a+4|0;o=c[s>>2]|0;c[t+24>>2]=c[o+7056>>2];if(c[d+16>>2]|0)if((c[d+20>>2]|0)!=0?(c[o+6864>>2]|0)!=0:0){k=(c[o+6868>>2]|0)==0;d=k&1^1;if(k)u=10;else j=0}else{d=1;u=10}else{d=0;u=10}if((u|0)==10)if(!(c[m>>2]|0))j=1;else{k=0;do{h=c[o+4+(k<<2)>>2]|0;j=c[l>>2]|0;if(j){g=0;f=0;while(1){b=c[h+(g<<2)>>2]|f;g=g+1|0;f=(b&1|0)==0;if(!(g>>>0<j>>>0&f))break;else f=b}if((b|0)!=0&f){f=0;do{b=b>>1;f=f+1|0}while((b&1|0)==0);if(f){b=0;do{g=h+(b<<2)|0;c[g>>2]=c[g>>2]>>f;b=b+1|0}while((b|0)!=(j|0))}else f=0}else f=0}else f=0;h=c[n>>2]|0;j=f>>>0>h>>>0?h:f;c[o+336+(k*584|0)+580>>2]=j;c[o+336+(k*584|0)+288>>2]=j;c[o+216+(k<<2)>>2]=h-j;k=k+1|0}while(k>>>0<(c[m>>2]|0)>>>0);j=1}k=(d|0)!=0;if(k){h=c[o+36>>2]|0;g=c[l>>2]|0;if(g){b=0;d=0;while(1){f=c[h+(b<<2)>>2]|d;b=b+1|0;d=(f&1|0)==0;if(!(b>>>0<g>>>0&d))break;else d=f}if((f|0)!=0&d){d=0;do{f=f>>1;d=d+1|0}while((f&1|0)==0);if(d){f=0;do{b=h+(f<<2)|0;c[b>>2]=c[b>>2]>>d;f=f+1|0}while((f|0)!=(g|0))}else d=0}else d=0}else d=0;g=c[n>>2]|0;h=d>>>0>g>>>0?g:d;c[o+5588>>2]=h;c[o+5296>>2]=h;c[o+248>>2]=g-h;h=c[o+40>>2]|0;g=c[l>>2]|0;if(g){b=0;d=0;while(1){f=c[h+(b<<2)>>2]|d;b=b+1|0;d=(f&1|0)==0;if(!(b>>>0<g>>>0&d))break;else d=f}if((f|0)!=0&d){d=0;do{f=f>>1;d=d+1|0}while((f&1|0)==0);if(d){f=0;do{l=h+(f<<2)|0;c[l>>2]=c[l>>2]>>d;f=f+1|0}while((f|0)!=(g|0))}else d=0}else d=0}else d=0;l=c[n>>2]|0;n=d>>>0>l>>>0?l:d;c[o+6172>>2]=n;c[o+5880>>2]=n;c[o+252>>2]=l+1-n}if(j?(c[m>>2]|0)!=0:0){d=o;f=0;do{Ad(a,p,q,t,c[d+216+(f<<2)>>2]|0,c[d+4+(f<<2)>>2]|0,d+6176+(f<<3)|0,d+6640+(f<<3)|0,d+256+(f<<3)|0,d+6768+(f<<2)|0,d+6808+(f<<2)|0);f=f+1|0;d=c[s>>2]|0}while(f>>>0<(c[(c[a>>2]|0)+24>>2]|0)>>>0)}else d=o;a:do if(k){Ad(a,p,q,t,c[d+248>>2]|0,c[d+36>>2]|0,d+6240|0,d+6704|0,d+320|0,d+6800|0,d+6840|0);d=c[s>>2]|0;Ad(a,p,q,t,c[d+252>>2]|0,c[d+40>>2]|0,d+6248|0,d+6712|0,d+328|0,d+6804|0,d+6844|0);d=c[s>>2]|0;if((c[(c[a>>2]|0)+20>>2]|0)!=0?(c[d+6864>>2]|0)!=0:0)f=(c[d+6868>>2]|0)==0?0:3;else{q=c[d+6808>>2]|0;o=c[d+6812>>2]|0;p=o+q|0;n=c[d+6844>>2]|0;q=n+q|0;o=n+o|0;f=q>>>0<p>>>0;p=f?q:p;q=o>>>0<p>>>0;f=((c[d+6840>>2]|0)+n|0)>>>0<(q?o:p)>>>0?3:q?2:f&1}c[r>>2]=f;if(!(Ed(t,c[d+6856>>2]|0)|0)){c[c[a>>2]>>2]=7;u=58;break}switch(f|0){case 0:{h=c[s>>2]|0;d=h;f=c[h+216>>2]|0;b=h+336+((c[h+6768>>2]|0)*292|0)|0;g=c[h+220>>2]|0;h=h+920+((c[h+6772>>2]|0)*292|0)|0;break}case 1:{h=c[s>>2]|0;d=h;f=c[h+216>>2]|0;b=h+336+((c[h+6768>>2]|0)*292|0)|0;g=c[h+252>>2]|0;h=h+5592+((c[h+6804>>2]|0)*292|0)|0;break}case 2:{h=c[s>>2]|0;d=h;f=c[h+252>>2]|0;b=h+5592+((c[h+6804>>2]|0)*292|0)|0;g=c[h+220>>2]|0;h=h+920+((c[h+6772>>2]|0)*292|0)|0;break}case 3:{h=c[s>>2]|0;d=h;f=c[h+248>>2]|0;b=h+5008+((c[h+6800>>2]|0)*292|0)|0;g=c[h+252>>2]|0;h=h+5592+((c[h+6804>>2]|0)*292|0)|0;break}default:{d=c[s>>2]|0;f=0;b=0;g=0;h=0}}if((Bd(a,c[t>>2]|0,f,b,c[d+6856>>2]|0)|0)!=0?(Bd(a,c[t>>2]|0,g,h,c[(c[s>>2]|0)+6856>>2]|0)|0)!=0:0)f=c[a>>2]|0;else u=58}else{q=(Ed(t,c[d+6856>>2]|0)|0)==0;d=c[a>>2]|0;if(q){c[d>>2]=7;u=58;break}if(!(c[d+24>>2]|0))f=d;else{d=0;do{q=c[s>>2]|0;if(!(Bd(a,c[t>>2]|0,c[q+216+(d<<2)>>2]|0,q+336+(d*584|0)+((c[q+6768+(d<<2)>>2]|0)*292|0)|0,c[q+6856>>2]|0)|0)){u=58;break a}d=d+1|0;f=c[a>>2]|0}while(d>>>0<(c[f+24>>2]|0)>>>0)}}while(0);if((u|0)==58){a=0;i=w;return a|0}d=c[s>>2]|0;if(c[f+20>>2]|0){u=d+6864|0;t=(c[u>>2]|0)+1|0;c[u>>2]=t>>>0<(c[d+6860>>2]|0)>>>0?t:0}c[d+6868>>2]=c[r>>2];if(!($b(c[d+6856>>2]|0)|0)){c[c[a>>2]>>2]=8;a=0;i=w;return a|0}if((Nb(c[(c[s>>2]|0)+6856>>2]|0,v)|0)!=0?(Sb(c[(c[s>>2]|0)+6856>>2]|0,e[v>>1]|0,c[280]|0)|0)!=0:0){if(!(zd(a,c[(c[a>>2]|0)+36>>2]|0)|0)){a=0;i=w;return a|0}u=c[s>>2]|0;c[u+7052>>2]=0;v=u+7056|0;c[v>>2]=(c[v>>2]|0)+1;u=u+6920|0;v=u;v=Ze(c[v>>2]|0,c[v+4>>2]|0,c[(c[a>>2]|0)+36>>2]|0,0)|0;a=u;c[a>>2]=v;c[a+4>>2]=C;a=1;i=w;return a|0}c[c[a>>2]>>2]=8;a=0;i=w;return a|0}function td(b,d,e,f,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+176|0;x=A;n=c[b>>2]|0;if((c[n>>2]|0)!=1){b=13;i=A;return b|0}if(l){b=2;i=A;return b|0}if(!e){b=3;i=A;return b|0}if((f|0)!=0&(h|0)==0){b=3;i=A;return b|0}l=c[n+24>>2]|0;if((l+-1|0)>>>0>7){b=4;i=A;return b|0}m=n+16|0;if((l|0)==2){if(!(c[m>>2]|0))c[n+20>>2]=0}else{c[m>>2]=0;c[n+20>>2]=0}l=c[n+28>>2]|0;if(l>>>0>31)c[m>>2]=0;if((l+-4|0)>>>0>20){b=5;i=A;return b|0}if(!(ic(c[n+32>>2]|0)|0)){b=6;i=A;return b|0}o=c[b>>2]|0;l=o+36|0;m=c[l>>2]|0;do if(!m)if(!(c[o+556>>2]|0)){c[l>>2]=1152;m=1152;break}else{c[l>>2]=4096;m=4096;break}else if((m+-16|0)>>>0>65519){b=7;i=A;return b|0}while(0);l=c[o+556>>2]|0;if(l>>>0>32){b=8;i=A;return b|0}if(m>>>0<l>>>0){b=10;i=A;return b|0}n=o+560|0;l=c[n>>2]|0;do if(!l){l=c[o+28>>2]|0;if(l>>>0<16){s=(l>>>1)+2|0;c[n>>2]=s>>>0<5?5:s;break}if((l|0)!=16){if(m>>>0<385){c[n>>2]=13;break}if(m>>>0<1153){c[n>>2]=14;break}else{c[n>>2]=15;break}}if(m>>>0<193){c[n>>2]=7;break}if(m>>>0<385){c[n>>2]=8;break}if(m>>>0<577){c[n>>2]=9;break}if(m>>>0<1153){c[n>>2]=10;break}if(m>>>0<2305){c[n>>2]=11;break}if(m>>>0<4609){c[n>>2]=12;break}else{c[n>>2]=13;break}}else if((l+-5|0)>>>0>10){b=9;i=A;return b|0}while(0);do if(c[o+8>>2]|0){if(!(jc(m,c[o+32>>2]|0)|0)){b=11;i=A;return b|0}if(!(kc(c[(c[b>>2]|0)+32>>2]|0)|0)){b=11;i=A;return b|0}m=c[b>>2]|0;switch(c[m+28>>2]|0){case 24:case 20:case 16:case 12:case 8:break;default:{b=11;i=A;return b|0}}l=c[m+580>>2]|0;if(l>>>0>8){b=11;i=A;return b|0}if((c[m+32>>2]|0)>>>0<48001){if((c[m+36>>2]|0)>>>0>4608){b=11;i=A;return b|0}if((c[m+556>>2]|0)>>>0>12)z=11;else break;i=A;return z|0}}else{l=c[o+580>>2]|0;m=o}while(0);n=1<<c[274];if(l>>>0>=n>>>0){l=n+-1|0;c[m+580>>2]=l}n=m+576|0;if((c[n>>2]|0)>>>0>=l>>>0)c[n>>2]=l;o=c[m+600>>2]|0;a:do if(o){p=c[m+604>>2]|0;do if(p){n=0;while(1){l=c[o+(n<<2)>>2]|0;if((l|0)!=0?(c[l>>2]|0)==3:0){q=l;y=61;break}n=n+1|0;if(n>>>0>=p>>>0){y=63;break}}if((y|0)==61){c[(c[b+4>>2]|0)+7048>>2]=q+16;break}else if((y|0)==63)if(!o){y=64;break a}else break}while(0);if(c[m+604>>2]|0){n=0;p=0;q=0;r=0;s=0;b:while(1){o=c[o+(n<<2)>>2]|0;c:do switch(c[o>>2]|0){case 0:{z=12;y=177;break b}case 3:{if(p){z=12;y=177;break b}if(!(lc(o+16|0)|0)){z=12;y=177;break b}else p=1;break}case 4:{if(!q)q=1;else{z=12;y=177;break b}break}case 5:{if(!(nc(o+16|0,c[o+160>>2]|0,0)|0)){z=12;y=177;break b}break}case 6:{l=o+16|0;if(!(oc(l,0)|0)){z=12;y=177;break b}switch(c[l>>2]|0){case 1:break;case 2:if(!s){s=1;break c}else{z=12;y=177;break b}default:break c}if(r){z=12;y=177;break b}l=c[o+20>>2]|0;if((Ee(l,3737)|0)!=0?(Ee(l,3747)|0)!=0:0){z=12;y=177;break b}if((c[o+28>>2]|0)!=32){z=12;y=177;break b}if((c[o+32>>2]|0)==32)r=1;else{z=12;y=177;break b}break}default:{}}while(0);n=n+1|0;l=c[b>>2]|0;if(n>>>0>=(c[l+604>>2]|0)>>>0){t=l;w=q;break a}o=c[l+600>>2]|0}if((y|0)==177){i=A;return z|0}}else{t=m;w=0}}else y=64;while(0);if((y|0)==64)if(!(c[m+604>>2]|0)){t=m;w=0}else{b=12;i=A;return b|0}p=b+4|0;l=c[p>>2]|0;c[l>>2]=0;if(c[t+24>>2]|0){m=0;do{c[l+4+(m<<2)>>2]=0;c[(c[p>>2]|0)+7352+(m<<2)>>2]=0;c[(c[p>>2]|0)+44+(m<<2)>>2]=0;c[(c[p>>2]|0)+7392+(m<<2)>>2]=0;m=m+1|0;l=c[p>>2]|0}while(m>>>0<(c[(c[b>>2]|0)+24>>2]|0)>>>0)}c[l+36>>2]=0;c[(c[p>>2]|0)+7384>>2]=0;c[(c[p>>2]|0)+76>>2]=0;c[(c[p>>2]|0)+7424>>2]=0;c[(c[p>>2]|0)+40>>2]=0;c[(c[p>>2]|0)+7388>>2]=0;c[(c[p>>2]|0)+80>>2]=0;c[(c[p>>2]|0)+7428>>2]=0;m=c[b>>2]|0;l=c[p>>2]|0;if(c[m+40>>2]|0){n=0;do{c[l+84+(n<<2)>>2]=0;c[(c[p>>2]|0)+7432+(n<<2)>>2]=0;n=n+1|0;m=c[b>>2]|0;l=c[p>>2]|0}while(n>>>0<(c[m+40>>2]|0)>>>0)}c[l+212>>2]=0;c[l+7560>>2]=0;if(c[m+24>>2]|0){m=0;do{c[l+256+(m<<3)>>2]=0;c[(c[p>>2]|0)+7564+(m<<3)>>2]=0;c[(c[p>>2]|0)+256+(m<<3)+4>>2]=0;c[(c[p>>2]|0)+7564+(m<<3)+4>>2]=0;l=c[p>>2]|0;c[l+6768+(m<<2)>>2]=0;m=m+1|0}while(m>>>0<(c[(c[b>>2]|0)+24>>2]|0)>>>0)}c[l+320>>2]=0;c[(c[p>>2]|0)+7628>>2]=0;c[(c[p>>2]|0)+324>>2]=0;c[(c[p>>2]|0)+7632>>2]=0;l=c[p>>2]|0;c[l+6800>>2]=0;c[l+328>>2]=0;c[(c[p>>2]|0)+7636>>2]=0;c[(c[p>>2]|0)+332>>2]=0;c[(c[p>>2]|0)+7640>>2]=0;l=c[p>>2]|0;c[l+6804>>2]=0;c[l+6848>>2]=0;c[l+7644>>2]=0;c[l+6852>>2]=0;c[l+7648>>2]=0;n=c[b>>2]|0;n=~~(+((c[n+32>>2]|0)>>>0)*.4/+((c[n+36>>2]|0)>>>0)+.5)>>>0;c[l+6860>>2]=(n|0)==0?1:n;c[l+6864>>2]=0;c[l+7052>>2]=0;c[l+7056>>2]=0;bc(l+7156|0);l=c[p>>2]|0;c[l+7256>>2]=12;c[l+7244>>2]=12;c[l+7248>>2]=16;c[l+7252>>2]=17;c[l+7260>>2]=14;c[l+7264>>2]=15;c[l+7268>>2]=14;n=c[b>>2]|0;c[n>>2]=0;c[l+7288>>2]=d;c[l+7300>>2]=e;c[l+7292>>2]=f;c[l+7296>>2]=h;c[l+7304>>2]=j;c[l+7312>>2]=k;o=c[n+36>>2]|0;d:do if((c[l>>2]|0)>>>0<o>>>0){m=o+5|0;e:do if(!(c[n+24>>2]|0)){v=0;y=91}else{l=0;while(1){e=c[p>>2]|0;e=(Kc(m,e+7352+(l<<2)|0,e+4+(l<<2)|0)|0)==0;h=c[(c[p>>2]|0)+4+(l<<2)>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;h=(c[p>>2]|0)+4+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+16;if(e){u=0;break e}l=l+1|0;if(l>>>0>=(c[(c[b>>2]|0)+24>>2]|0)>>>0){v=0;y=91;break}}}while(0);f:do if((y|0)==91){do{y=0;l=c[p>>2]|0;l=(Kc(m,l+7384+(v<<2)|0,l+36+(v<<2)|0)|0)!=0;u=c[(c[p>>2]|0)+36+(v<<2)>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;u=(c[p>>2]|0)+36+(v<<2)|0;c[u>>2]=(c[u>>2]|0)+16;v=v+1|0}while(v>>>0<2&l);if(!l){u=0;break}m=c[b>>2]|0;if(c[m+556>>2]|0){l=c[p>>2]|0;if(c[m+40>>2]|0){m=0;do{if(!(Nc(o,l+7432+(m<<2)|0,l+84+(m<<2)|0)|0)){u=0;break f}m=m+1|0;l=c[p>>2]|0}while(m>>>0<(c[(c[b>>2]|0)+40>>2]|0)>>>0)}l=(Nc(o,l+7560|0,l+212|0)|0)!=0;if(l){n=0;l=l&1}else{u=0;break}}else{n=0;l=1}while(1){if(n>>>0<(c[(c[b>>2]|0)+24>>2]|0)>>>0)m=0;else{n=0;break}do{l=c[p>>2]|0;l=(Kc(o,l+7564+(n<<3)+(m<<2)|0,l+256+(n<<3)+(m<<2)|0)|0)!=0;m=m+1|0}while(m>>>0<2&l);if(l){n=n+1|0;l=l&1}else{u=0;break f}}while(1){if(!l){u=0;break f}else m=0;do{l=c[p>>2]|0;l=(Kc(o,l+7628+(n<<3)+(m<<2)|0,l+320+(n<<3)+(m<<2)|0)|0)!=0;m=m+1|0}while(m>>>0<2&l);n=n+1|0;if(!(n>>>0<2&l))break;else l=l&1}if(!l){u=0;break}u=c[p>>2]|0;u=(Lc(o<<1,u+7644|0,u+6848|0)|0)!=0}while(0);if(!(c[(c[b>>2]|0)+572>>2]|0))l=u&1;else{if(u){l=c[p>>2]|0;l=(Mc(o<<1,l+7648|0,l+6852|0)|0)!=0}else l=0;l=l&1}if(!l){c[c[b>>2]>>2]=8;b=1;i=A;return b|0}l=c[p>>2]|0;do if((c[l>>2]|0)!=(o|0)){m=c[b>>2]|0;if(!(c[m+556>>2]|0))break;if(!(c[m+40>>2]|0))break;else l=0;do{do switch(c[m+44+(l<<4)>>2]|0){case 0:{Kd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 1:{Ld(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 2:{Md(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 3:{Nd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 4:{Od(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 5:{Pd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 6:{Qd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o,+g[m+44+(l<<4)+4>>2]);break}case 7:{Rd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 8:{Sd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 9:{Td(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 10:{Ud(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 11:{Vd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 12:{Wd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}case 13:{Xd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o,+g[m+44+(l<<4)+4>>2]);break}case 14:{Yd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o,+g[m+44+(l<<4)+4>>2],+g[m+44+(l<<4)+8>>2],+g[m+44+(l<<4)+12>>2]);break}case 15:{Zd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o,+g[m+44+(l<<4)+4>>2],+g[m+44+(l<<4)+8>>2],+g[m+44+(l<<4)+12>>2]);break}case 16:{_d(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o);break}default:Sd(c[(c[p>>2]|0)+84+(l<<2)>>2]|0,o)}while(0);l=l+1|0;m=c[b>>2]|0}while(l>>>0<(c[m+40>>2]|0)>>>0);l=c[p>>2]|0;c[l>>2]=o;break d}while(0);c[l>>2]=o}while(0);v=(Lb(c[l+6856>>2]|0)|0)==0;m=c[b>>2]|0;if(v){c[m>>2]=8;b=1;i=A;return b|0}do if(!(c[m+4>>2]|0))n=1;else{n=(c[m+36>>2]|0)+1|0;l=c[p>>2]|0;c[l+11820>>2]=n;g:do if(c[m+24>>2]|0){v=Oc(4,n)|0;c[(c[p>>2]|0)+11788>>2]=v;l=c[b>>2]|0;if(v){n=1;while(1){m=c[p>>2]|0;if(n>>>0>=(c[l+24>>2]|0)>>>0){l=m;break g}v=Oc(4,c[m+11820>>2]|0)|0;c[(c[p>>2]|0)+11788+(n<<2)>>2]=v;l=c[b>>2]|0;if(!v)break;else n=n+1|0}}c[l>>2]=8;b=1;i=A;return b|0}while(0);c[l+11824>>2]=0;l=c[l+11776>>2]|0;do if(!l){l=Pc()|0;c[(c[p>>2]|0)+11776>>2]=l;if(l)break;c[c[b>>2]>>2]=3;b=1;i=A;return b|0}while(0);v=(Sc(l,12,0,0,0,0,13,12,13,b)|0)==0;l=c[b>>2]|0;if(v){m=l;n=(c[l+4>>2]|0)==0;break}c[l>>2]=3;b=1;i=A;return b|0}while(0);l=c[p>>2]|0;u=l+11840|0;c[l+7316>>2]=0;v=l+7336|0;c[v>>2]=0;c[v+4>>2]=0;v=m+608|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;if(!n)c[l+11780>>2]=0;if(!(Sb(c[l+6856>>2]|0,c[258]|0,c[265]|0)|0)){c[c[b>>2]>>2]=7;b=1;i=A;return b|0}if(!(zd(b,0)|0)){b=1;i=A;return b|0}m=c[b>>2]|0;l=c[p>>2]|0;if(c[m+4>>2]|0)c[l+11780>>2]=1;c[l+6872>>2]=0;c[l+6876>>2]=0;c[l+6880>>2]=34;u=c[m+36>>2]|0;c[l+6888>>2]=u;c[l+6892>>2]=u;c[l+6896>>2]=0;c[l+6900>>2]=0;c[l+6904>>2]=c[m+32>>2];c[l+6908>>2]=c[m+24>>2];c[l+6912>>2]=c[m+28>>2];u=m+592|0;v=c[u+4>>2]|0;m=l+6920|0;c[m>>2]=c[u>>2];c[m+4>>2]=v;l=l+6928|0;m=l+16|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(m|0));if(c[(c[b>>2]|0)+12>>2]|0)Gc((c[p>>2]|0)+7060|0);v=c[p>>2]|0;if(!(Dd(v+6872|0,c[v+6856>>2]|0)|0)){c[c[b>>2]>>2]=7;b=1;i=A;return b|0}if(!(zd(b,0)|0)){b=1;i=A;return b|0}l=c[p>>2]|0;c[l+6896>>2]=(1<<c[267])+-1;v=l+6920|0;c[v>>2]=0;c[v+4>>2]=0;do if(!w){c[x>>2]=4;c[x+4>>2]=(c[(c[b>>2]|0)+604>>2]|0)==0&1;c[x+8>>2]=8;w=x+16|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;if(!(Dd(x,c[l+6856>>2]|0)|0)){c[c[b>>2]>>2]=7;b=1;i=A;return b|0}else{if(!(zd(b,0)|0))z=1;else break;i=A;return z|0}}while(0);l=c[b>>2]|0;m=c[l+604>>2]|0;h:do if(m){n=0;while(1){x=c[(c[l+600>>2]|0)+(n<<2)>>2]|0;c[x+4>>2]=(n|0)==(m+-1|0)&1;if(!(Dd(x,c[(c[p>>2]|0)+6856>>2]|0)|0))break;n=n+1|0;if(!(zd(b,0)|0)){z=1;y=177;break}l=c[b>>2]|0;m=c[l+604>>2]|0;if(n>>>0>=m>>>0)break h}if((y|0)==177){i=A;return z|0}c[c[b>>2]>>2]=7;b=1;i=A;return b|0}while(0);m=c[p>>2]|0;n=c[m+7296>>2]|0;do if(n){z=(Va[n&31](b,l+624|0,c[m+7312>>2]|0)|0)==1;l=c[b>>2]|0;if(!z)break;c[l>>2]=5;b=1;i=A;return b|0}while(0);if(!(c[l+4>>2]|0)){b=0;i=A;return b|0}c[(c[p>>2]|0)+11780>>2]=2;b=0;i=A;return b|0}function ud(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=(e+d|0)>>>g;m=1<<g;d=0-e|0;e=l-e|0;if((h+4|0)>>>0<(32-((aa(l|0)|0)^31)|0)>>>0){i=e;j=0;h=0;while(1){d=d+l|0;if(h>>>0<d>>>0){e=0;do{k=c[a+(h<<2)>>2]|0;e=((k|0)>-1?k:0-k|0)+e|0;h=h+1|0}while((h|0)!=(i|0));h=i}else e=0;k=b+(j<<3)|0;c[k>>2]=e;c[k+4>>2]=0;j=j+1|0;if(j>>>0>=m>>>0)break;else i=i+l|0}}else{k=0;i=0;while(1){d=d+l|0;if(i>>>0<d>>>0){h=0;j=0;do{n=c[a+(i<<2)>>2]|0;n=(n|0)>-1?n:0-n|0;h=Ze(n|0,((n|0)<0)<<31>>31|0,h|0,j|0)|0;j=C;i=i+1|0}while((i|0)!=(e|0));i=e}else{h=0;j=0}n=b+(k<<3)|0;c[n>>2]=h;c[n+4>>2]=j;k=k+1|0;if(k>>>0>=m>>>0)break;else e=e+l|0}}if((g|0)>(f|0)){h=0;k=m;e=m}else return;while(1){g=g+-1|0;k=k>>>1;if(!k)d=h;else{d=h+(k<<1)|0;i=0;j=e;while(1){m=b+(h<<3)|0;n=b+(h+1<<3)|0;m=Ze(c[n>>2]|0,c[n+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;n=b+(j<<3)|0;c[n>>2]=m;c[n+4>>2]=C;i=i+1|0;if((i|0)==(k|0))break;else{h=h+2|0;j=j+1|0}}e=e+k|0}if((g|0)<=(f|0))break;else h=d}return}function vd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=g+4|0;i=c[h>>2]|0;b=c[i+11836>>2]|0;if(c[i+11784>>2]|0){c[f>>2]=4;f=d[2592]|d[2593]<<8|d[2594]<<16|d[2595]<<24;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;c[(c[h>>2]|0)+11784>>2]=0;f=0;return f|0}if(!b){f=2;return f|0}g=c[f>>2]|0;if(b>>>0<g>>>0){c[f>>2]=b;g=b}af(e|0,c[i+11828>>2]|0,g|0)|0;e=c[f>>2]|0;f=c[h>>2]|0;i=f+11828|0;c[i>>2]=(c[i>>2]|0)+e;f=f+11836|0;c[f>>2]=(c[f>>2]|0)-e;f=0;return f|0}function wd(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;k=c[b+8>>2]|0;n=c[b>>2]|0;a=n<<2;f=(k|0)==0;j=e+4|0;m=c[j>>2]|0;if(f){b=m+11824|0;c[b>>2]=(c[b>>2]|0)-n;n=0;return n|0}else i=0;do{h=c[d+(i<<2)>>2]|0;g=c[m+11788+(i<<2)>>2]|0;if(Be(h,g,a)|0){l=4;break}i=i+1|0}while(i>>>0<k>>>0);if((l|0)==4){a:do if(!n){d=0;f=0;a=0}else{a=0;while(1){f=c[h+(a<<2)>>2]|0;d=c[g+(a<<2)>>2]|0;if((f|0)!=(d|0))break a;a=a+1|0;if(a>>>0>=n>>>0){d=0;f=0;a=0;break}}}while(0);b=b+24|0;k=b;k=Ze(c[k>>2]|0,c[k+4>>2]|0,a|0,0)|0;l=m+11840|0;c[l>>2]=k;c[l+4>>2]=C;n=jf(c[b>>2]|0,c[b+4>>2]|0,n|0,0)|0;c[m+11848>>2]=n;c[m+11852>>2]=i;c[m+11856>>2]=a;c[m+11860>>2]=d;c[m+11864>>2]=f;c[c[e>>2]>>2]=4;n=1;return n|0}b=m+11824|0;a=(c[b>>2]|0)-n|0;c[b>>2]=a;if(f){n=0;return n|0}b=c[m+11788>>2]|0;bf(b|0,b+(n<<2)|0,a<<2|0)|0;if((k|0)==1){n=0;return n|0}else a=1;do{b=c[j>>2]|0;e=c[b+11788+(a<<2)>>2]|0;bf(e|0,e+(n<<2)|0,c[b+11824>>2]<<2|0)|0;a=a+1|0}while((a|0)!=(k|0));a=0;return a|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;c[c[d>>2]>>2]=3;return}function zd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+16|0;A=B;f=B+12|0;z=B+8|0;p=a+4|0;o=(Ob(c[(c[p>>2]|0)+6856>>2]|0,f,z)|0)==0;e=c[a>>2]|0;if(o){c[e>>2]=8;b=0;i=B;return b|0}do if(c[e+4>>2]|0){e=c[p>>2]|0;c[e+11828>>2]=c[f>>2];c[e+11836>>2]=c[z>>2];if(!(c[e+11780>>2]|0)){c[e+11784>>2]=1;break}if(!(Xc(c[e+11776>>2]|0)|0)){Mb(c[(c[p>>2]|0)+6856>>2]|0);e=c[a>>2]|0;if((c[e>>2]|0)==4){b=0;i=B;return b|0}c[e>>2]=3;b=0;i=B;return b|0}}while(0);n=c[f>>2]|0;o=c[z>>2]|0;e=A;c[e>>2]=0;c[e+4>>2]=0;e=c[p>>2]|0;f=c[e+7296>>2]|0;if((f|0)!=0?(Va[f&31](a,A,c[e+7312>>2]|0)|0)==1:0){c[c[a>>2]>>2]=5;Mb(c[(c[p>>2]|0)+6856>>2]|0)}else g=12;do if((g|0)==12){l=(b|0)==0;a:do if(l){switch((d[n>>0]|0)&127|0){case 0:{g=A;j=c[g+4>>2]|0;k=(c[a>>2]|0)+608|0;c[k>>2]=c[g>>2];c[k+4>>2]=j;break a}case 3:break;default:break a}e=(c[a>>2]|0)+616|0;k=e;if((c[k>>2]|0)==0&(c[k+4>>2]|0)==0){g=A;j=c[g+4>>2]|0;k=e;c[k>>2]=c[g>>2];c[k+4>>2]=j}}while(0);k=c[p>>2]|0;e=c[k+7048>>2]|0;b:do if((((e|0)!=0?(h=c[a>>2]|0,x=h+624|0,w=c[x>>2]|0,x=c[x+4>>2]|0,!((w|0)==0&(x|0)==0)):0)?(y=c[e>>2]|0,(y|0)!=0):0)?(q=c[h+36>>2]|0,s=k+7336|0,r=c[s>>2]|0,s=c[s+4>>2]|0,t=Ze(q|0,0,-1,-1)|0,t=Ze(t|0,C|0,r|0,s|0)|0,u=C,v=k+7316|0,m=c[v>>2]|0,m>>>0<y>>>0):0){j=c[e+4>>2]|0;f=m;do{e=j+(f*24|0)|0;h=e;g=c[h>>2]|0;h=c[h+4>>2]|0;if(h>>>0>u>>>0|(h|0)==(u|0)&g>>>0>t>>>0)break b;if(!(h>>>0<s>>>0|(h|0)==(s|0)&g>>>0<r>>>0)){h=e;c[h>>2]=r;c[h+4>>2]=s;h=A;h=We(c[h>>2]|0,c[h+4>>2]|0,w|0,x|0)|0;m=j+(f*24|0)+8|0;c[m>>2]=h;c[m+4>>2]=C;c[j+(f*24|0)+16>>2]=q}f=f+1|0;c[v>>2]=f}while(f>>>0<y>>>0)}while(0);if(Ya[c[k+7300>>2]&15](a,n,o,b,c[k+7056>>2]|0,c[k+7312>>2]|0)|0){c[c[a>>2]>>2]=5;Mb(c[(c[p>>2]|0)+6856>>2]|0);break}A=c[p>>2]|0;y=A+7328|0;a=y;a=Ze(c[a>>2]|0,c[a+4>>2]|0,o|0,0)|0;c[y>>2]=a;c[y+4>>2]=C;y=A+7336|0;a=y;a=Ze(c[a>>2]|0,c[a+4>>2]|0,b|0,0)|0;b=y;c[b>>2]=a;c[b+4>>2]=C;b=A+7344|0;a=c[b>>2]|0;A=(c[A+7056>>2]|0)+1|0;c[b>>2]=a>>>0>A>>>0?a:A;Mb(c[(c[p>>2]|0)+6856>>2]|0);if(l){b=1;i=B;return b|0}y=c[z>>2]|0;b=c[p>>2]|0;a=b+6896|0;A=c[a>>2]|0;c[a>>2]=y>>>0<A>>>0?y:A;a=c[z>>2]|0;b=b+6900|0;A=c[b>>2]|0;c[b>>2]=a>>>0>A>>>0?a:A;b=1;i=B;return b|0}while(0);c[c[a>>2]>>2]=5;b=0;i=B;return b|0}function Ad(a,b,d,e,f,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0.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,ba=0,ca=0,da=0,ea=0;ea=i;i=i+544|0;ca=ea+416|0;da=ea+412|0;E=ea+392|0;Z=ea+260|0;$=ea;ba=ea+256|0;X=(c[(c[a>>2]|0)+28>>2]|0)>>>0>16?c[273]|0:c[272]|0;Y=a+4|0;r=c[Y>>2]|0;p=c[e>>2]|0;if(!((c[r+7280>>2]|0)!=0&p>>>0>3)){q=c[k>>2]|0;c[q>>2]=1;c[q+4>>2]=j;q=(c[277]|0)+(_(p,f)|0)+(c[276]|0)+(c[277]|0)+(c[q+288>>2]|0)|0;if(p>>>0>3)s=3;else p=0}else{q=-1;s=3}a:do if((s|0)==3){p=p+-4|0;if((f+4+((aa(p|1|0)|0)^31)|0)>>>0<33)u=Va[c[r+7248>>2]&31](j+16|0,p,E)|0;else u=Va[c[r+7252>>2]&31](j+16|0,p,E)|0;t=c[Y>>2]|0;b:do if((c[t+7272>>2]|0)==0?+g[E+4>>2]==0.0:0){p=c[e>>2]|0;r=c[j>>2]|0;if(p>>>0>1){s=1;do{if((r|0)!=(c[j+(s<<2)>>2]|0))break b;s=s+1|0}while(s>>>0<p>>>0)}m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=r;m=(c[277]|0)+f+(c[276]|0)+(c[277]|0)+(c[m+288>>2]|0)|0;p=m>>>0<q>>>0;q=p?m:q;p=p&1;break a}while(0);r=c[a>>2]|0;if((c[t+7276>>2]|0)!=0?(w=c[r+556>>2]|0,!((q|0)==-1&(w|0)==0)):0){s=w;p=0}else{W=(c[r+568>>2]|0)==0;s=W?u:0;W=W?u:4;D=c[e>>2]|0;D=W>>>0<D>>>0?W:D+-1|0;if(s>>>0>D>>>0)p=0;else{y=+(f>>>0);z=X+-1|0;A=c[277]|0;B=c[276]|0;C=c[277]|0;p=0;do{v=+g[E+(s<<2)>>2];if(!(v>=y)){if(v>0.0)r=~~(v+.5)>>>0;else r=0;V=r+1|0;x=(p|0)==0&1;R=c[m+(x<<2)>>2]|0;T=c[Y>>2]|0;S=c[T+6848>>2]|0;T=c[T+6852>>2]|0;W=c[(c[a>>2]|0)+572>>2]|0;r=c[k+(x<<2)>>2]|0;Q=c[l+(x<<2)>>2]|0;U=(c[e>>2]|0)-s|0;gc(j+(s<<2)|0,U,s,R);c[r>>2]=2;t=r+4|0;c[t>>2]=0;c[r+12>>2]=Q;c[r+36>>2]=R;t=Cd(c[Y>>2]|0,R,S,T,U,s,V>>>0<X>>>0?V:z,X,b,d,f,W,t)|0;c[r+16>>2]=s;if(s){u=r+20|0;w=0;do{c[u+(w<<2)>>2]=c[j+(w<<2)>>2];w=w+1|0}while((w|0)!=(s|0))}V=t+(_(s,f)|0)+A+B+C+(c[r+288>>2]|0)|0;W=V>>>0<q>>>0;q=W?V:q;p=W?x:p}s=s+1|0}while(s>>>0<=D>>>0);r=c[a>>2]|0}s=c[r+556>>2]|0}if(((s|0)!=0?(F=c[e>>2]|0,W=s>>>0<F>>>0?s:F+-1|0,c[ba>>2]=W,(W|0)!=0):0)?(c[r+40>>2]|0)!=0:0){y=+(f>>>0);O=X+-1|0;P=f>>>0<18;Q=32-f|0;R=f>>>0<17;S=c[277]|0;T=c[276]|0;U=c[277]|0;V=c[274]|0;W=c[275]|0;s=F;N=0;while(1){M=c[Y>>2]|0;wc(j,c[M+84+(N<<2)>>2]|0,c[M+212>>2]|0,s);M=c[Y>>2]|0;cb[c[M+7256>>2]&15](c[M+212>>2]|0,c[e>>2]|0,(c[ba>>2]|0)+1|0,Z);c:do if(+g[Z>>2]!=0.0){yc(Z,ba,(c[Y>>2]|0)+7652|0,$);r=c[a>>2]|0;s=c[ba>>2]|0;if(!(c[r+568>>2]|0)){if(!(c[r+564>>2]|0))r=c[r+560>>2]|0;else r=5;t=Fc($,s,c[e>>2]|0,r+f|0)|0;c[ba>>2]=t;s=t}else t=1;r=c[e>>2]|0;if(s>>>0>=r>>>0){s=r+-1|0;c[ba>>2]=s}if(t>>>0<=s>>>0){s=t;while(1){M=s+-1|0;v=+Ec(+h[$+(M<<3)>>3],r-s|0);d:do if(!(v>=y)){G=v>0.0?(~~(v+.5)>>>0)+1|0:1;G=G>>>0<X>>>0?G:O;r=c[a>>2]|0;if(c[r+564>>2]|0)if(P){L=Q-((aa(s|0)|0)^31)|0;L=L>>>0<15?L:15;L=L>>>0>5?L:5;t=5}else{L=15;t=5}else{t=c[r+560>>2]|0;L=t}H=(aa(s|0)|0)^31;I=Q-H|0;J=j+(s<<2)|0;K=(s|0)==0;while(1){F=(p|0)==0&1;A=c[m+(F<<2)>>2]|0;E=c[Y>>2]|0;B=c[E+6848>>2]|0;C=c[E+6852>>2]|0;r=c[r+572>>2]|0;D=c[k+(F<<2)>>2]|0;u=c[l+(F<<2)>>2]|0;w=(c[e>>2]|0)-s|0;z=P?(I>>>0>t>>>0?t:I):t;if(!(zc(E+7652+(M<<7)|0,s,z,ca,da)|0)){E=z+f|0;do if((H+E|0)>>>0<33){x=c[Y>>2]|0;if(R&z>>>0<17){ab[c[x+7268>>2]&15](J,w,ca,s,c[da>>2]|0,A);break}else{ab[c[x+7260>>2]&15](J,w,ca,s,c[da>>2]|0,A);break}}else ab[c[(c[Y>>2]|0)+7264>>2]&15](J,w,ca,s,c[da>>2]|0,A);while(0);c[D>>2]=3;x=D+4|0;c[x>>2]=0;c[D+12>>2]=u;c[D+284>>2]=A;x=Cd(c[Y>>2]|0,A,B,C,w,s,G,X,b,d,f,r,x)|0;c[D+16>>2]=s;c[D+20>>2]=z;c[D+24>>2]=c[da>>2];r=D+28|0;u=ca;w=r+128|0;do{c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}while((r|0)<(w|0));if(!K){r=0;do{c[D+156+(r<<2)>>2]=c[j+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0))}r=x+(_(E,s)|0)+S+T+U+(c[D+288>>2]|0)+V+W|0}else r=0;E=(r|0)!=0&r>>>0<q>>>0;q=E?r:q;p=E?F:p;t=t+1|0;if(t>>>0>L>>>0)break d;r=c[a>>2]|0}}while(0);s=s+1|0;if(s>>>0>(c[ba>>2]|0)>>>0)break c;r=c[e>>2]|0}}}while(0);r=N+1|0;if(r>>>0>=(c[(c[a>>2]|0)+40>>2]|0)>>>0)break a;s=c[e>>2]|0;N=r}}}while(0);if((q|0)!=-1){f=q;c[n>>2]=p;c[o>>2]=f;i=ea;return}e=c[e>>2]|0;k=c[k+(p<<2)>>2]|0;c[k>>2]=1;c[k+4>>2]=j;f=(c[277]|0)+(_(e,f)|0)+(c[276]|0)+(c[277]|0)+(c[k+288>>2]|0)|0;c[n>>2]=p;c[o>>2]=f;i=ea;return}function Bd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(c[e>>2]|0){case 0:{if(Fd(e+4|0,d,c[e+288>>2]|0,f)|0){d=1;return d|0}c[c[a>>2]>>2]=7;d=0;return d|0}case 2:{if(Gd(e+4|0,b-(c[e+16>>2]|0)|0,d,c[e+288>>2]|0,f)|0){d=1;return d|0}c[c[a>>2]>>2]=7;d=0;return d|0}case 3:{if(Hd(e+4|0,b-(c[e+16>>2]|0)|0,d,c[e+288>>2]|0,f)|0){d=1;return d|0}c[c[a>>2]>>2]=7;d=0;return d|0}case 1:{if(Id(e+4|0,b,d,c[e+288>>2]|0,f)|0){d=1;return d|0}c[c[a>>2]>>2]=7;d=0;return d|0}default:{d=1;return d|0}}return 0}function Cd(a,b,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|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,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;P=g+f|0;u=pc(k,P,g)|0;O=u>>>0>j>>>0?j:u;Wa[c[a+7244>>2]&15](b,d,f,g,O,u,l);Q=(m|0)!=0;if(Q){if((u|0)>-1){k=1<<u;s=P>>>u;t=0;j=0;do{r=(t|0)==0?g:0;if((s|0)!=(r|0)){o=s-r|0;p=0;q=j;l=0;while(1){N=c[b+(q<<2)>>2]|0;l=N>>31^N|l;p=p+1|0;if((p|0)==(o|0))break;else q=q+1|0}j=j+s-r|0;if(!l)l=1;else l=((aa(l|0)|0)^31)+2|0}else l=1;c[e+(t<<2)>>2]=l;t=t+1|0}while(t>>>0<k>>>0)}else k=0;if((u|0)>(O|0)){r=0;s=u;while(1){s=s+-1|0;j=1<<s;q=j>>>0>1?j:1;l=r;o=0;p=k;while(1){M=c[e+(l<<2)>>2]|0;N=c[e+((l|1)<<2)>>2]|0;c[e+(p<<2)>>2]=M>>>0>N>>>0?M:N;o=o+1|0;if(o>>>0>=j>>>0)break;else{l=l+2|0;p=p+1|0}}if((s|0)<=(O|0))break;else{r=(q<<1)+r|0;k=q+k|0}}}}a:do if((u|0)<(O|0)){l=0;k=0;p=0}else{K=(c[274]|0)+(c[279]|0)|0;L=c[274]|0;M=(h|0)==0;N=(_(h+1|0,f)|0)-(f>>>1)+L|0;G=(m|0)==0;H=(c[275]|0)+(c[275]|0)|0;I=h+-1|0;J=i+-1|0;l=0;k=0;p=0;F=0;while(1){q=e+(F<<2)|0;E=(l|0)==0&1;D=a+11748+(E*12|0)|0;tc(D,u>>>0<6?6:u)|0;D=c[D>>2]|0;B=c[a+11748+(E*12|0)+4>>2]|0;if(!u){z=d+(F<<3)|0;A=c[z>>2]|0;z=c[z+4>>2]|0;o=$e(A|0,z|0,I|0)|0;j=C;z=Ye(A|0,z|0,1)|0;A=C;o=M?z:o;o=N+o|0;j=(o|0)==-1?0:h;do if(!G){q=c[q>>2]|0;r=H+(_(q,f)|0)|0;if(r>>>0>o>>>0){c[B>>2]=0;break}else{c[B>>2]=q;o=r;j=0;break}}while(0);c[D>>2]=j;j=o+K|0;o=1}else{o=1<<u;z=P>>>u;if(z>>>0>g>>>0){r=0;j=K;A=0}else break a;do{y=z-((A|0)==0?g:0)|0;x=A+F|0;w=d+(x<<3)|0;v=c[w>>2]|0;w=c[w+4>>2]|0;if(w>>>0<0|(w|0)==0&v>>>0<268435457){if(y<<3>>>0<v>>>0){t=y;q=0;while(1){q=q+4|0;s=t<<4;if(t<<7>>>0<v>>>0)t=s;else break}}else{s=y;q=0}if(s>>>0<v>>>0)do{q=q+1|0;s=s<<1}while(s>>>0<v>>>0)}else{m=Ye(y|0,0,7)|0;b=C;if((w>>>0<16777216|(w|0)==16777216&v>>>0<1)&(b>>>0<w>>>0|(b|0)==(w|0)&m>>>0<v>>>0)){b=y;m=0;q=0;while(1){q=q+8|0;s=Ye(b|0,m|0,8)|0;t=C;m=Ye(b|0,m|0,15)|0;b=C;if(b>>>0<w>>>0|(b|0)==(w|0)&m>>>0<v>>>0){b=s;m=t}else break}}else{t=0;s=y;q=0}if(t>>>0<w>>>0|(t|0)==(w|0)&s>>>0<v>>>0)do{q=q+1|0;s=Ye(s|0,t|0,1)|0;t=C}while(t>>>0<w>>>0|(t|0)==(w|0)&s>>>0<v>>>0)}t=q>>>0<i>>>0?q:J;s=_(t+1|0,y)|0;if(!t)q=Ye(v|0,w|0,1)|0;else q=$e(v|0,w|0,t+-1|0)|0;q=L-(y>>>1)+s+q|0;r=(q|0)==-1?r:t;do if(!G){b=c[e+(x<<2)>>2]|0;s=H+(_(b,y)|0)|0;t=B+(A<<2)|0;if(s>>>0>q>>>0){c[t>>2]=0;break}else{c[t>>2]=b;q=s;r=0;break}}while(0);c[D+(A<<2)>>2]=r;j=q+j|0;A=A+1|0}while(A>>>0<o>>>0)}D=(p+-1|0)>>>0>=j>>>0;p=D?j:p;l=D?E:l;k=D?u:k;if((u|0)>(O|0)){u=u+-1|0;F=F+o|0}else break}}while(0);c[n+4>>2]=k;j=c[n+8>>2]|0;tc(j,k>>>0<6?6:k)|0;o=1<<k;k=o<<2;af(c[j>>2]|0,c[a+11748+(l*12|0)>>2]|0,k|0)|0;if(Q)af(c[j+4>>2]|0,c[a+11748+(l*12|0)+4>>2]|0,k|0)|0;k=c[j>>2]|0;j=c[272]|0;l=0;while(1){if((c[k+(l<<2)>>2]|0)>>>0>=j>>>0)break;l=l+1|0;if(l>>>0>=o>>>0){R=47;break}}if((R|0)==47)return p|0;c[n>>2]=1;return p|0}function Dd(b,e){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;h=Fe(3417)|0;if(!(Sb(e,c[b+4>>2]|0,c[277]|0)|0)){e=0;return e|0}if(!(Sb(e,c[b>>2]|0,c[266]|0)|0)){e=0;return e|0}i=b+8|0;f=c[i>>2]|0;if((c[b>>2]|0)==4)f=f+h-(c[b+16>>2]|0)|0;g=c[267]|0;if(f>>>0>=1<<g>>>0){e=0;return e|0}if(!(Sb(e,f,g)|0)){e=0;return e|0}a:do switch(c[b>>2]|0){case 0:{if(!(Sb(e,c[b+16>>2]|0,c[280]|0)|0)){e=0;return e|0}if(!(Sb(e,c[b+20>>2]|0,c[280]|0)|0)){e=0;return e|0}if(!(Sb(e,c[b+24>>2]|0,c[267]|0)|0)){e=0;return e|0}if(!(Sb(e,c[b+28>>2]|0,c[267]|0)|0)){e=0;return e|0}if(!(Sb(e,c[b+32>>2]|0,c[259]|0)|0)){e=0;return e|0}if(!(Sb(e,(c[b+36>>2]|0)+-1|0,c[270]|0)|0)){e=0;return e|0}if(!(Sb(e,(c[b+40>>2]|0)+-1|0,c[275]|0)|0)){e=0;return e|0}u=b+48|0;if(!(Ub(e,c[u>>2]|0,c[u+4>>2]|0,c[260]|0)|0)){e=0;return e|0}if(!(Wb(e,b+56|0,16)|0)){e=0;return e|0}break}case 1:{if(!(Rb(e,c[i>>2]<<3)|0)){e=0;return e|0}break}case 2:{f=(c[265]|0)>>>3;if(!(Wb(e,b+16|0,f)|0)){e=0;return e|0}if(!(Wb(e,c[b+20>>2]|0,(c[i>>2]|0)-f|0)|0)){e=0;return e|0}break}case 3:{j=b+16|0;if(c[j>>2]|0){f=b+20|0;g=c[281]|0;h=c[281]|0;i=c[280]|0;b=0;while(1){u=(c[f>>2]|0)+(b*24|0)|0;if(!(Ub(e,c[u>>2]|0,c[u+4>>2]|0,g)|0)){f=0;g=68;break}u=(c[f>>2]|0)+(b*24|0)+8|0;if(!(Ub(e,c[u>>2]|0,c[u+4>>2]|0,h)|0)){f=0;g=68;break}if(!(Sb(e,c[(c[f>>2]|0)+(b*24|0)+16>>2]|0,i)|0)){f=0;g=68;break}b=b+1|0;if(b>>>0>=(c[j>>2]|0)>>>0)break a}if((g|0)==68)return f|0}break}case 4:{if(!(Vb(e,h)|0)){e=0;return e|0}if(!(Wb(e,3417,h)|0)){e=0;return e|0}h=b+24|0;if(!(Vb(e,c[h>>2]|0)|0)){e=0;return e|0}if(c[h>>2]|0){f=b+28|0;g=0;while(1){if(!(Vb(e,c[(c[f>>2]|0)+(g<<3)>>2]|0)|0)){f=0;g=68;break}u=c[f>>2]|0;if(!(Wb(e,c[u+(g<<3)+4>>2]|0,c[u+(g<<3)>>2]|0)|0)){f=0;g=68;break}g=g+1|0;if(g>>>0>=(c[h>>2]|0)>>>0)break a}if((g|0)==68)return f|0}break}case 5:{if(!(Wb(e,b+16|0,(c[263]|0)>>>3)|0)){e=0;return e|0}u=b+152|0;if(!(Ub(e,c[u>>2]|0,c[u+4>>2]|0,c[281]|0)|0)){e=0;return e|0}if(!(Sb(e,(c[b+160>>2]|0)!=0&1,c[277]|0)|0)){e=0;return e|0}if(!(Rb(e,c[264]|0)|0)){e=0;return e|0}u=b+164|0;if(!(Sb(e,c[u>>2]|0,c[271]|0)|0)){e=0;return e|0}if(c[u>>2]|0){b=b+168|0;j=c[281]|0;k=c[271]|0;l=(c[261]|0)>>>3;m=c[277]|0;n=c[277]|0;o=c[262]|0;p=c[271]|0;q=c[281]|0;r=c[271]|0;s=c[267]|0;t=0;b:while(1){g=c[b>>2]|0;i=g+(t<<5)|0;if(!(Ub(e,c[i>>2]|0,c[i+4>>2]|0,j)|0)){f=0;g=68;break}if(!(Sb(e,d[g+(t<<5)+8>>0]|0,k)|0)){f=0;g=68;break}if(!(Wb(e,g+(t<<5)+9|0,l)|0)){f=0;g=68;break}f=g+(t<<5)+22|0;if(!(Sb(e,a[f>>0]&1,m)|0)){f=0;g=68;break}if(!(Sb(e,(d[f>>0]|0)>>>1&1,n)|0)){f=0;g=68;break}if(!(Rb(e,o)|0)){f=0;g=68;break}i=g+(t<<5)+23|0;if(!(Sb(e,d[i>>0]|0,p)|0)){f=0;g=68;break}if(a[i>>0]|0){f=g+(t<<5)+24|0;h=0;do{g=c[f>>2]|0;v=g+(h<<4)|0;if(!(Ub(e,c[v>>2]|0,c[v+4>>2]|0,q)|0)){f=0;g=68;break b}if(!(Sb(e,d[g+(h<<4)+8>>0]|0,r)|0)){f=0;g=68;break b}h=h+1|0;if(!(Rb(e,s)|0)){f=0;g=68;break b}}while(h>>>0<(d[i>>0]|0)>>>0)}t=t+1|0;if(t>>>0>=(c[u>>2]|0)>>>0)break a}if((g|0)==68)return f|0}break}case 6:{if(!(Sb(e,c[b+16>>2]|0,c[265]|0)|0)){v=0;return v|0}f=b+20|0;g=Fe(c[f>>2]|0)|0;if(!(Sb(e,g,c[265]|0)|0)){v=0;return v|0}if(!(Wb(e,c[f>>2]|0,g)|0)){v=0;return v|0}f=b+24|0;g=Fe(c[f>>2]|0)|0;if(!(Sb(e,g,c[265]|0)|0)){v=0;return v|0}if(!(Wb(e,c[f>>2]|0,g)|0)){v=0;return v|0}if(!(Sb(e,c[b+28>>2]|0,c[265]|0)|0)){v=0;return v|0}if(!(Sb(e,c[b+32>>2]|0,c[265]|0)|0)){v=0;return v|0}if(!(Sb(e,c[b+36>>2]|0,c[265]|0)|0)){v=0;return v|0}if(!(Sb(e,c[b+40>>2]|0,c[265]|0)|0)){v=0;return v|0}f=b+44|0;if(!(Sb(e,c[f>>2]|0,c[265]|0)|0)){v=0;return v|0}if(!(Wb(e,c[b+48>>2]|0,c[f>>2]|0)|0)){v=0;return v|0}break}default:if(!(Wb(e,c[b+16>>2]|0,c[i>>2]|0)|0)){v=0;return v|0}}while(0);v=1;return v|0}function Ed(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;if(!(Sb(b,c[268]|0,c[269]|0)|0)){a=0;i=m;return a|0}if(!(Sb(b,0,c[277]|0)|0)){a=0;i=m;return a|0}k=a+20|0;if(!(Sb(b,(c[k>>2]|0)!=0&1,c[277]|0)|0)){a=0;i=m;return a|0}e=c[a>>2]|0;a:do if((e|0)>=2048){if((e|0)<4608)switch(e|0){case 2304:{j=0;e=4;break a}case 2048:{j=0;e=11;break a}case 4096:{j=0;e=12;break a}default:{g=17;break a}}if((e|0)<16384)if((e|0)<8192){switch(e|0){case 4608:break;default:{g=17;break a}}j=0;e=5;break}else{switch(e|0){case 8192:break;default:{g=17;break a}}j=0;e=13;break}else if((e|0)<32768){switch(e|0){case 16384:break;default:{g=17;break a}}j=0;e=14;break}else{switch(e|0){case 32768:break;default:{g=17;break a}}j=0;e=15;break}}else switch(e|0){case 192:{j=0;e=1;break a}case 576:{j=0;e=2;break a}case 1152:{j=0;e=3;break a}case 256:{j=0;e=8;break a}case 512:{j=0;e=9;break a}case 1024:{j=0;e=10;break a}default:{g=17;break a}}while(0);if((g|0)==17){e=e>>>0<257?6:7;j=e}if(!(Sb(b,e,c[274]|0)|0)){a=0;i=m;return a|0}h=a+4|0;e=c[h>>2]|0;b:do if((e|0)<44100){if((e|0)<22050)if((e|0)<16e3){switch(e|0){case 8e3:break;default:{g=30;break b}}f=0;e=4;break}else{switch(e|0){case 16e3:break;default:{g=30;break b}}f=0;e=5;break}if((e|0)<24e3){switch(e|0){case 22050:break;default:{g=30;break b}}f=0;e=6;break}if((e|0)<32e3){switch(e|0){case 24e3:break;default:{g=30;break b}}f=0;e=7;break}else{switch(e|0){case 32e3:break;default:{g=30;break b}}f=0;e=8;break}}else{if((e|0)<96e3){if((e|0)<48e3){switch(e|0){case 44100:break;default:{g=30;break b}}f=0;e=9;break}if((e|0)>=88200)switch(e|0){case 88200:{f=0;e=1;break b}default:{g=30;break b}}switch(e|0){case 48e3:break;default:{g=30;break b}}f=0;e=10;break}if((e|0)<176400){switch(e|0){case 96e3:break;default:{g=30;break b}}f=0;e=11;break}if((e|0)<192e3){switch(e|0){case 176400:break;default:{g=30;break b}}f=0;e=2;break}else{switch(e|0){case 192e3:break;default:{g=30;break b}}f=0;e=3;break}}while(0);if((g|0)==30)if(!(e>>>0<255001&((e>>>0)%1e3|0|0)==0))if(!((e>>>0)%10|0)){f=14;e=14}else{e=e>>>0<65536?13:0;f=e}else{f=12;e=12}if(!(Sb(b,e,c[274]|0)|0)){a=0;i=m;return a|0}switch(c[a+12>>2]|0){case 0:{e=(c[a+8>>2]|0)+-1|0;break}case 1:{e=8;break}case 2:{e=9;break}case 3:{e=10;break}default:{}}if(!(Sb(b,e,c[274]|0)|0)){a=0;i=m;return a|0}switch(c[a+16>>2]|0){case 8:{e=1;break}case 12:{e=2;break}case 16:{e=4;break}case 20:{e=5;break}case 24:{e=6;break}default:e=0}if(!(Sb(b,e,c[270]|0)|0)){a=0;i=m;return a|0}if(!(Sb(b,0,c[277]|0)|0)){a=0;i=m;return a|0}e=a+24|0;if(!(c[k>>2]|0)){if(!(Zb(b,c[e>>2]|0)|0)){a=0;i=m;return a|0}}else{k=e;if(!(_b(b,c[k>>2]|0,c[k+4>>2]|0)|0)){a=0;i=m;return a|0}}if((j|0)!=0?(Sb(b,(c[a>>2]|0)+-1|0,(j|0)==6?8:16)|0)==0:0){a=0;i=m;return a|0}switch(f|0){case 12:{if(!(Sb(b,((c[h>>2]|0)>>>0)/1e3|0,8)|0)){a=0;i=m;return a|0}break}case 13:{if(!(Sb(b,c[h>>2]|0,16)|0)){a=0;i=m;return a|0}break}case 14:{if(!(Sb(b,((c[h>>2]|0)>>>0)/10|0,16)|0)){a=0;i=m;return a|0}break}default:{}}if(!(Qb(b,l)|0)){a=0;i=m;return a|0}a=(Sb(b,d[l>>0]|0,c[271]|0)|0)!=0&1;i=m;return a|0}function Fd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(d|0)!=0;if(!(Sb(e,c[278]|f&1,(c[276]|0)+(c[277]|0)+(c[277]|0)|0)|0)){d=0;d=d&1;return d|0}if(f?(Xb(e,d+-1|0)|0)==0:0){d=0;d=d&1;return d|0}d=(Tb(e,c[a>>2]|0,b)|0)!=0;d=d&1;return d|0}function Gd(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;h=a+12|0;g=(e|0)!=0;if(!(Sb(f,c[280]|g&1|c[h>>2]<<1,(c[276]|0)+(c[277]|0)+(c[277]|0)|0)|0)){a=0;return a|0}if(g?(Xb(f,e+-1|0)|0)==0:0){a=0;return a|0}a:do if(c[h>>2]|0){g=0;while(1){if(!(Tb(f,c[a+16+(g<<2)>>2]|0,d)|0)){g=0;break}g=g+1|0;if(g>>>0>=(c[h>>2]|0)>>>0)break a}return g|0}while(0);if(!(Sb(f,c[a>>2]|0,c[279]|0)|0)){a=0;return a|0}if((c[a>>2]|0)>>>0<2){if(!(Sb(f,c[a+4>>2]|0,c[274]|0)|0)){a=0;return a|0}g=c[a>>2]|0;if(g>>>0<2?(d=c[a+8>>2]|0,(Jd(f,c[a+32>>2]|0,b,c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[a+4>>2]|0,(g|0)==1&1)|0)==0):0){a=0;return a|0}}a=1;return a|0}function Hd(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;h=a+12|0;g=(e|0)!=0;if(!(Sb(f,c[281]|g&1|(c[h>>2]<<1)+-2,(c[276]|0)+(c[277]|0)+(c[277]|0)|0)|0)){a=0;return a|0}if(g?(Xb(f,e+-1|0)|0)==0:0){a=0;return a|0}a:do if(c[h>>2]|0){g=0;while(1){if(!(Tb(f,c[a+152+(g<<2)>>2]|0,d)|0)){g=0;break}g=g+1|0;if(g>>>0>=(c[h>>2]|0)>>>0)break a}return g|0}while(0);g=a+16|0;if(!(Sb(f,(c[g>>2]|0)+-1|0,c[274]|0)|0)){a=0;return a|0}if(!(Tb(f,c[a+20>>2]|0,c[275]|0)|0)){a=0;return a|0}b:do if(c[h>>2]|0){e=0;while(1){if(!(Tb(f,c[a+24+(e<<2)>>2]|0,c[g>>2]|0)|0)){g=0;break}e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break b}return g|0}while(0);if(!(Sb(f,c[a>>2]|0,c[279]|0)|0)){a=0;return a|0}if((c[a>>2]|0)>>>0<2){if(!(Sb(f,c[a+4>>2]|0,c[274]|0)|0)){a=0;return a|0}g=c[a>>2]|0;if(g>>>0<2?(d=c[a+8>>2]|0,(Jd(f,c[a+280>>2]|0,b,c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[a+4>>2]|0,(g|0)==1&1)|0)==0):0){a=0;return a|0}}a=1;return a|0}function Id(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a>>2]|0;a=(e|0)!=0;if(!(Sb(f,c[279]|a&1,(c[276]|0)+(c[277]|0)+(c[277]|0)|0)|0)){d=0;return d|0}if(a?(Xb(f,e+-1|0)|0)==0:0){d=0;return d|0}if(!b){d=1;return d|0}else a=0;while(1){if(!(Tb(f,c[g+(a<<2)>>2]|0,d)|0)){a=0;g=7;break}a=a+1|0;if(a>>>0>=b>>>0){a=1;g=7;break}}if((g|0)==7)return a|0;return 0}function Jd(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|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;p=(i|0)!=0;o=p?c[275]|0:c[274]|0;p=p?c[273]|0:c[272]|0;if(!h){a:do if(!(c[g>>2]|0)){if(!(Sb(a,c[f>>2]|0,o)|0)){b=0;return b|0}if(!(Yb(a,b,d,c[f>>2]|0)|0)){b=0;return b|0}}else{if(!(Sb(a,p,o)|0)){b=0;return b|0}if(!(Sb(a,c[g>>2]|0,c[275]|0)|0)){b=0;return b|0}if(d){i=0;while(1){if(!(Tb(a,c[b+(i<<2)>>2]|0,c[g>>2]|0)|0)){i=0;break}i=i+1|0;if(i>>>0>=d>>>0)break a}return i|0}}while(0);b=1;return b|0}n=(e+d|0)>>>h;j=1<<h;k=c[275]|0;l=0;m=0;b:while(1){d=n-((l|0)==0?e:0)|0;i=m;m=d+m|0;h=g+(l<<2)|0;if(!(c[h>>2]|0)){h=f+(l<<2)|0;if(!(Sb(a,c[h>>2]|0,o)|0)){i=0;h=21;break}if(!(Yb(a,b+(i<<2)|0,d,c[h>>2]|0)|0)){i=0;h=21;break}}else{if(!(Sb(a,p,o)|0)){i=0;h=21;break}if(!(Sb(a,c[h>>2]|0,k)|0)){i=0;h=21;break}if(i>>>0<m>>>0)do{if(!(Tb(a,c[b+(i<<2)>>2]|0,c[h>>2]|0)|0)){i=0;h=21;break b}i=i+1|0}while(i>>>0<m>>>0)}l=l+1|0;if(l>>>0>=j>>>0){i=1;h=21;break}}if((h|0)==21)return i|0;return 0}function Kd(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,h=0;h=b+-1|0;if(!(b&1)){e=(b|0)/2|0;f=e+-1|0;if((b|0)<2)b=0;else{c=+(h|0);b=(b|0)>3;d=0;while(1){g[a+(d<<2)>>2]=+(d|0)*2.0/c;if((d|0)<(f|0))d=d+1|0;else break}b=b?e:1}if((b|0)>(h|0))return;c=+(h|0);while(1){g[a+(b<<2)>>2]=2.0-+(b|0)*2.0/c;if((b|0)<(h|0))b=b+1|0;else break}return}else{e=(h|0)/2|0;if((b|0)<0)b=0;else{c=+(h|0);b=(h|0)>1;d=0;while(1){g[a+(d<<2)>>2]=+(d|0)*2.0/c;if((d|0)<(e|0))d=d+1|0;else break}b=b?e+1|0:1}if((b|0)>(h|0))return;c=+(h|0);while(1){g[a+(b<<2)>>2]=2.0-+(b|0)*2.0/c;if((b|0)<(h|0))b=b+1|0;else break}return}}function Ld(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{e=+(d|0)/c;g[a+(d<<2)>>2]=.6200000047683716-+N(+(e+-.5))*.47999998927116394-+Q(+(e*6.283185307179586))*.3799999952316284;d=d+1|0}while((d|0)!=(b|0));return}function Md(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{e=+(d|0);g[a+(d<<2)>>2]=.41999998688697815-+Q(+(e*6.283185307179586/c))*.5+ +Q(+(e*12.566370614359172/c))*.07999999821186066;d=d+1|0}while((d|0)!=(b|0));return}function Nd(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((b|0)<1)return;c=+(b+-1|0);d=0;do{e=+(d|0);g[a+(d<<2)>>2]=.35874998569488525-+Q(+(e*6.283185307179586/c))*.488290011882782+ +Q(+(e*12.566370614359172/c))*.14127999544143677-+Q(+(e*18.84955592153876/c))*.011680000461637974;d=d+1|0}while((d|0)!=(b|0));return}function Od(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=+(b+-1|0)*.5;if((b|0)<1)return;else d=0;do{e=(+(d|0)-c)/c;e=1.0-e*e;g[a+(d<<2)>>2]=e*e;d=d+1|0}while((d|0)!=(b|0));return}function Pd(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{e=+(d|0);g[a+(d<<2)>>2]=1.0-+Q(+(e*6.283185307179586/c))*1.9299999475479126+ +Q(+(e*12.566370614359172/c))*1.2899999618530273-+Q(+(e*18.84955592153876/c))*.3880000114440918+ +Q(+(e*25.132741228718345/c))*.03220000118017197;d=d+1|0}while((d|0)!=(b|0));return}function Qd(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0,f=0.0;e=+(b+-1|0)*.5;if((b|0)<1)return;c=c*e;d=0;do{f=(+(d|0)-e)/c;g[a+(d<<2)>>2]=+X(+(f*(f*-.5)));d=d+1|0}while((d|0)!=(b|0));return}function Rd(a,b){a=a|0;b=b|0;var c=0.0,d=0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{g[a+(d<<2)>>2]=.5400000214576721-+Q(+(+(d|0)*6.283185307179586/c))*.46000000834465027;d=d+1|0}while((d|0)!=(b|0));return}function Sd(a,b){a=a|0;b=b|0;var c=0.0,d=0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{g[a+(d<<2)>>2]=.5-+Q(+(+(d|0)*6.283185307179586/c))*.5;d=d+1|0}while((d|0)!=(b|0));return}function Td(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{e=+(d|0);g[a+(d<<2)>>2]=.4020000100135803-+Q(+(e*6.283185307179586/c))*.49799999594688416+ +Q(+(e*12.566370614359172/c))*.09799999743700028-+Q(+(e*18.84955592153876/c))*1.0000000474974513e-003;d=d+1|0}while((d|0)!=(b|0));return}function Ud(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((b|0)<=0)return;c=+(b+-1|0);d=0;do{e=+(d|0);g[a+(d<<2)>>2]=.36358189582824707-+Q(+(e*6.283185307179586/c))*.48917749524116516+ +Q(+(e*12.566370614359172/c))*.13659949600696564-+Q(+(e*18.84955592153876/c))*.010641099885106087;d=d+1|0}while((d|0)!=(b|0));return}function Vd(a,b){a=a|0;b=b|0;var c=0;if((b|0)>0)c=0;else return;do{g[a+(c<<2)>>2]=1.0;c=c+1|0}while((c|0)!=(b|0));return}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0;if(!(b&1)){e=(b|0)/2|0;if((b|0)<2)c=1;else{d=+(b|0)+1.0;c=(b|0)>3;f=1;while(1){g[a+(f+-1<<2)>>2]=+(f|0)*2.0/d;if((f|0)<(e|0))f=f+1|0;else break}c=c?e+1|0:2}if((c|0)>(b|0))return;d=+(b|0)+1.0;while(1){g[a+(c+-1<<2)>>2]=+((b-c<<1)+2|0)/d;if((c|0)<(b|0))c=c+1|0;else break}return}else{f=b+1|0;c=(f|0)/2|0;if((f|0)<2)c=1;else{d=+(b|0)+1.0;e=(b|0)>2;f=1;while(1){g[a+(f+-1<<2)>>2]=+(f|0)*2.0/d;if((f|0)<(c|0))f=f+1|0;else break}c=e?c+1|0:2}if((c|0)>(b|0))return;d=+(b|0)+1.0;while(1){g[a+(c+-1<<2)>>2]=+((b-c<<1)+2|0)/d;if((c|0)<(b|0))c=c+1|0;else break}return}}function Xd(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;if(c<=0.0){if((b|0)>0)d=0;else return;do{g[a+(d<<2)>>2]=1.0;d=d+1|0}while((d|0)!=(b|0));return}if(c>=1.0){if((b|0)<=0)return;c=+(b+-1|0);d=0;do{g[a+(d<<2)>>2]=.5-+Q(+(+(d|0)*6.283185307179586/c))*.5;d=d+1|0}while((d|0)!=(b|0));return}e=~~(+(b|0)*(c*.5));f=e+-1|0;if((b|0)>0){d=0;do{g[a+(d<<2)>>2]=1.0;d=d+1|0}while((d|0)!=(b|0))}if((e|0)<=1)return;c=+(f|0);d=b+-1+(1-e)|0;b=0;do{g[a+(b<<2)>>2]=.5-+Q(+(+(b|0)*3.141592653589793/c))*.5;g[a+(d+b<<2)>>2]=.5-+Q(+(+(b+f|0)*3.141592653589793/c))*.5;b=b+1|0}while((b|0)!=(e|0));return}function Yd(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;while(1){if(c<=0.0){c=.05000000074505806;continue}if(!(c>=1.0))break;else c=.949999988079071}n=+(b|0);h=~~(n*d);m=~~(n*e);i=~~(+(m-h|0)*(c*.5));if((h|0)>0&(b|0)>0){l=0-h|0;f=0-b|0;f=l>>>0>f>>>0?l:f;Xe(a|0,0,_(f,-4)|0)|0;f=0-f|0}else f=0;if((f|0)<(i+h|0)&(f|0)<(b|0)){c=+(i|0);h=f-i-h|0;l=f-b|0;l=h>>>0>l>>>0?h:l;h=1-l|0;j=1;k=f;while(1){g[a+(k<<2)>>2]=.5-+Q(+(+(j|0)*3.141592653589793/c))*.5;j=j+1|0;if((j|0)==(h|0))break;else k=k+1|0}f=f-l|0}if((f|0)<(m-i|0)&(f|0)<(b|0)){l=f+i-m|0;h=f-b|0;h=f-(l>>>0>h>>>0?l:h)|0;do{g[a+(f<<2)>>2]=1.0;f=f+1|0}while((f|0)!=(h|0))}else h=f;if((h|0)<(m|0)&(h|0)<(b|0)){c=+(i|0);m=h-m|0;f=h-b|0;f=h-(m>>>0>f>>>0?m:f)|0;while(1){g[a+(h<<2)>>2]=.5-+Q(+(+(i|0)*3.141592653589793/c))*.5;h=h+1|0;if((h|0)==(f|0))break;else i=i+-1|0}}else f=h;if((f|0)>=(b|0))return;Xe(a+(f<<2)|0,0,b-f<<2|0)|0;return}function Zd(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;while(1){if(c<=0.0){c=.05000000074505806;continue}if(!(c>=1.0))break;else c=.949999988079071}n=+(b|0);k=~~(n*d);l=~~(n*e);e=c*.5;i=~~(+(k|0)*e);m=~~(+(b-l|0)*e);if((i|0)>0&(b|0)>0){c=+(i|0);h=0-i|0;f=0-b|0;f=0-(h>>>0>f>>>0?h:f)|0;h=1;j=0;while(1){g[a+(j<<2)>>2]=.5-+Q(+(+(h|0)*3.141592653589793/c))*.5;j=j+1|0;if((j|0)==(f|0))break;else h=h+1|0}}else f=0;if((f|0)<(k-i|0)&(f|0)<(b|0)){j=f+i-k|0;h=f-b|0;h=f-(j>>>0>h>>>0?j:h)|0;do{g[a+(f<<2)>>2]=1.0;f=f+1|0}while((f|0)!=(h|0))}else h=f;if((h|0)<(k|0)&(h|0)<(b|0)){c=+(i|0);k=h-k|0;f=h-b|0;f=h-(k>>>0>f>>>0?k:f)|0;while(1){g[a+(h<<2)>>2]=.5-+Q(+(+(i|0)*3.141592653589793/c))*.5;h=h+1|0;if((h|0)==(f|0))break;else i=i+-1|0}}else f=h;if((f|0)<(l|0)&(f|0)<(b|0)){j=f-l|0;k=f-b|0;k=j>>>0>k>>>0?j:k;Xe(a+(f<<2)|0,0,_(k,-4)|0)|0;f=f-k|0}if((f|0)<(m+l|0)&(f|0)<(b|0)){c=+(m|0);h=f-m-l|0;k=f-b|0;k=h>>>0>k>>>0?h:k;h=1-k|0;i=1;j=f;while(1){g[a+(j<<2)>>2]=.5-+Q(+(+(i|0)*3.141592653589793/c))*.5;i=i+1|0;if((i|0)==(h|0))break;else j=j+1|0}f=f-k|0}if((f|0)<(b-m|0)&(f|0)<(b|0)){l=f+m-b|0;h=f-b|0;h=f-(l>>>0>h>>>0?l:h)|0;do{g[a+(f<<2)>>2]=1.0;f=f+1|0}while((f|0)!=(h|0));f=h}if((f|0)>=(b|0))return;c=+(m|0);h=m;while(1){g[a+(f<<2)>>2]=.5-+Q(+(+(h|0)*3.141592653589793/c))*.5;f=f+1|0;if((f|0)==(b|0))break;else h=h+-1|0}return}function _d(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=+(b+-1|0)*.5;if((b|0)<1)return;else d=0;do{e=(+(d|0)-c)/c;g[a+(d<<2)>>2]=1.0-e*e;d=d+1|0}while((d|0)!=(b|0));return}function $d(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function ae(){var a=0;if(!(c[381]|0))a=1580;else a=c[(Ja()|0)+60>>2]|0;return a|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;D=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0}while(($d(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=de(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[3751+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=de(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[3760+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=de(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;if((e|0)==40)e=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=de(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ae()|0)>>2]=22;ce(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;if((e|32|0)!=120){if(!(c[D>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=de(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=de(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;k=Ze(k|0,h|0,-1,-1)|0;h=C}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){t=m*.0625;p=w;j=t;g=g+t*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=Ze(l|0,y|0,1,0)|0;v=x;u=C;n=1}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=de(b)|0;w=p;m=j;continue}}if(!n){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else ce(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=Ze(l|0,h|0,1,0)|0;h=C}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=He(b,f)|0;e=C;if((h|0)==0&(e|0)==-2147483648){if(!f){ce(b,0);g=0.0;break a}if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[D>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=Ye(o|0,n|0,2)|0;H=Ze(H|0,C|0,-32,-1)|0;e=Ze(H|0,C|0,h|0,e|0)|0;h=C;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ae()|0)>>2]=34;g=+(I|0)*17976931348623157.0e292*17976931348623157.0e292;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(ae()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=Ze(e|0,h|0,-1,-1)|0;h=C}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=We(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=Ze(l|0,h|0,e|0,C|0)|0;J=C;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+ge(+me(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ae()|0)>>2]=34;g=+ne(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=de(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;if((e|0)==48){h=0;e=0;while(1){h=Ze(h|0,e|0,-1,-1)|0;k=C;e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=Ze(y|0,v|0,1,0)|0;v=C;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=de(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=He(b,f)|0;e=C;if((n|0)==0&(e|0)==-2147483648){if(!f){ce(b,0);g=0.0;break}if(!(c[D>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=Ze(n|0,e|0,h|0,p|0)|0;u=y;p=C;n=v;A=173}while(0);if((A|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ae()|0)>>2]=22;ce(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ae()|0)>>2]=34;g=+(I|0)*17976931348623157.0e292*17976931348623157.0e292;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(ae()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[1584+(8-h<<2)>>2]|0);break}b=K+27+(_(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[1584+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[1584+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{D=H+(p<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[D>>2]=b;e=_((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=Ye(c[p>>2]|0,0,29)|0;o=Ze(o|0,C|0,n|0,0)|0;n=C;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=jf(o|0,n|0,1e9,0)|0;o=kf(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=_(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}t=+(I|0);j=t*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+ge(+me(1.0,105-o|0),j);m=+ie(j,+me(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=t*.75+g;break}if((k+3&127|0)==(l|0)){g=t*.5+g;break}else{g=t*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=t*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+ie(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ae()|0)>>2]=34}while(0);g=+ne(g,e)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ae()|0)>>2]=22;ce(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[D>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*s}while(0);i=L;return +g}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function de(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=ye(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){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 ee(a){a=a|0;if(a>>>0>4294963200){c[(ae()|0)>>2]=0-a;a=-1}return a|0}function fe(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function ge(a,b){a=+a;b=+b;return +(+fe(a,b))}function he(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=$e(d|0,m|0,52)|0;e=e&2047;j=$e(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=Ye(n|0,o|0,1)|0;l=C;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=Ye(d|0,m|0,1)|0;g=C;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=Ye(d|0,m|0,12)|0;f=C;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=Ye(g|0,f|0,1)|0;f=C}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=Ye(d|0,m|0,1-e|0)|0;f=C}else f=m&1048575|1048576;if(!j){g=Ye(n|0,o|0,12)|0;i=C;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=Ye(g|0,i|0,1)|0;i=C}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=Ye(n|0,o|0,1-j|0)|0;m=C}else m=o&1048575|1048576;l=We(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=Ye(d|0,f|0,1)|0;f=C;e=e+-1|0;l=We(d|0,f|0,n|0,m|0)|0;i=C;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=Ye(d|0,f|0,1)|0;f=C;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=Ze(d|0,f|0,0,-1048576)|0;d=C;e=Ye(e|0,0,52)|0;d=d|C;e=o|e}else{e=$e(d|0,f|0,1-e|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function ie(a,b){a=+a;b=+b;return +(+he(a,b))}function je(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=$e(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+je(a*18446744073709552.0e3,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function ke(a){a=+a;return ~~+le(a)|0}function le(a){a=+a;var b=0,d=0.0,e=0.0,f=0;h[k>>3]=a;b=c[k+4>>2]|0;f=$e(c[k>>2]|0,b|0,52)|0;f=f&2047;do if(f>>>0<=1074){b=(b|0)<0;e=b?-a:a;if(f>>>0<1022){a=a*0.0;break}d=e+4503599627370496.0+-4503599627370496.0-e;if(!(d>.5)){a=e+d;if(d<=-.5)a=a+1.0}else a=e+d+-1.0;a=b?-a:a}while(0);return +a}function me(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*89884656743115795.0e291;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*89884656743115795.0e291}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ye(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function ne(a,b){a=+a;b=b|0;return +(+me(a,b))}function oe(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1)qe(a)|0;e=(c[a>>2]&1|0)!=0;if(!e){Na(1552);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[387]|0)==(a|0))c[387]=b;La(1552)}b=pe(a)|0;b=Za[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Qe(d);if(!e)Qe(a);return b|0}function pe(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Ie(a)|0;break}d=(qe(a)|0)==0;b=Ie(a)|0;if(!d)re(a)}else{if(!(c[394]|0))b=0;else b=pe(c[394]|0)|0;Na(1552);a=c[387]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=qe(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Ie(a)|0|b;if(d)re(a);a=c[a+56>>2]|0}while((a|0)!=0);La(1552)}while(0);return b|0}function qe(a){a=a|0;return 0}function re(a){a=a|0;return}function se(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ee(Ba(6,d|0)|0)|0;i=b;return a|0}function te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[381]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ee(Sa(145,h|0)|0)|0}else{Pa(12,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ee(Sa(145,g|0)|0)|0;ya(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>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=m;return f|0}function ue(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;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((ee(Ra(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[381]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ee(Ta(146,n|0)|0)|0}else{Pa(13,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ee(Ta(146,m|0)|0)|0;ya(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=18;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,(Aa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=ve(b,d,e)|0;i=g;return f|0}
function xe(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)Va[c[b+36>>2]&31](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 ye(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(xe(a)|0)!=0:0)b=-1;else if((Va[c[a+32>>2]&31](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0<f>>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){Le(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Le(a,d,e,h,o);else Me(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<<b;b=g<<b;c[p>>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}Me(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;Me(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;Me(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function Ae(a,b){a=a|0;b=b|0;return +(+Ne(a,b,1))}function Be(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function Ce(b,c){b=b|0;c=c|0;b=De(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function De(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Fe(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=_(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)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==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 Ee(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function Fe(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;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 Ge(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=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);c=(f&255)-(d[c>>0]|0)|0}return c|0}function He(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=de(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=de(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=de(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=hf(f|0,b|0,10,0)|0;f=C;e=Ze(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=Ze(e|0,C|0,b|0,f|0)|0;b=C;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=de(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=de(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=We(0,0,g|0,b|0)|0;f=a?C:b;e=a?e:g}C=f;return e|0}function Ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Va[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)Va[c[a+40>>2]&31](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Je(a){a=a|0;if(!(c[a+68>>2]|0))re(a);return}function Ke(a){a=a|0;if(!(c[a+68>>2]|0))re(a);return}function Le(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((bb[d&15](k,j)|0)>-1?(bb[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((bb[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Oe(b,o,e);i=p;return}function Me(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(bb[d&15](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((bb[d&15](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((bb[d&15](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((bb[d&15](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){Oe(b,p,e);Le(a,b,d,g,h)}i=r;return}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;ce(h,0);e=+be(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return +e}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;af(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;af(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[460]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=1880+(e<<2)|0;e=1880+(e+2<<2)|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[464]|0)>>>0)Oa();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Oa()}else c[460]=i&~(1<<a);while(0);M=a<<3;c[f+4>>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[462]|0;if(o>>>0>h>>>0){if(d){e=2<<a;e=d<<a&(e|0-e);e=(e&0-e)+-1|0;j=e>>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=1880+(e<<2)|0;e=1880+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[464]|0)>>>0)Oa();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[462]|0;break}else Oa()}else{c[460]=i&~(1<<a);k=h}while(0);M=a<<3;h=M-o|0;c[g+4>>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[465]|0;d=k>>>3;b=d<<1;e=1880+(b<<2)|0;a=c[460]|0;d=1<<d;if(a&d){a=1880+(b+2<<2)|0;b=c[a>>2]|0;if(b>>>0<(c[464]|0)>>>0)Oa();else{l=a;m=b}}else{c[460]=a|d;l=1880+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[462]=h;c[465]=i;M=j;return M|0}a=c[461]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[2144+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0<d>>>0;d=M?a:d;a=b;e=M?b:e}g=c[464]|0;if(e>>>0<g>>>0)Oa();i=e+o|0;if(e>>>0>=i>>>0)Oa();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0<g>>>0)Oa();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0<g>>>0)Oa();b=f+12|0;if((c[b>>2]|0)!=(e|0))Oa();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Oa()}while(0);do if(h){b=c[e+28>>2]|0;a=2144+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[461]=c[461]&~(1<<b);break}}else{if(h>>>0<(c[464]|0)>>>0)Oa();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[464]|0;if(n>>>0<a>>>0)Oa();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0<a>>>0)Oa();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[464]|0)>>>0)Oa();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[462]|0;if(b){g=c[465]|0;d=b>>>3;b=d<<1;f=1880+(b<<2)|0;a=c[460]|0;d=1<<d;if(a&d){b=1880+(b+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[464]|0)>>>0)Oa();else{p=b;q=a}}else{c[460]=a|d;p=1880+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[462]=j;c[465]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[461]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<<q;p=(v+520192|0)>>>16&4;v=v<<p;k=(v+245760|0)>>>16&2;k=14-(p|q|k)+(v<<k>>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[2144+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0<h>>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<<k;a=l&(a|0-a);if(!a){q=m;break}a=(a&0-a)+-1|0;n=a>>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[2144+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0<d>>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[462]|0)-m|0)>>>0:0){f=c[464]|0;if(j>>>0<f>>>0)Oa();h=j+m|0;if(j>>>0>=h>>>0)Oa();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+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){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)Oa();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)Oa();b=e+12|0;if((c[b>>2]|0)!=(j|0))Oa();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Oa()}while(0);do if(g){b=c[j+28>>2]|0;a=2144+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[461]=c[461]&~(1<<b);break}}else{if(g>>>0<(c[464]|0)>>>0)Oa();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[464]|0;if(o>>>0<a>>>0)Oa();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0<a>>>0)Oa();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[464]|0)>>>0)Oa();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=1880+(a<<2)|0;d=c[460]|0;b=1<<b;if(d&b){b=1880+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[464]|0)>>>0)Oa();else{s=b;t=a}}else{c[460]=d|b;s=1880+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;e=(M+245760|0)>>>16&2;e=14-(K|L|e)+(M<<e>>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=2144+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[461]|0;d=1<<e;if(!(a&d)){c[461]=a|d;c[b>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[464]|0)>>>0)Oa();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[464]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Oa()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[462]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[465]|0;if(b>>>0>15){c[465]=a+q;c[462]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[462]=0;c[465]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[463]|0;if(a>>>0>q>>>0){L=a-q|0;c[463]=L;M=c[466]|0;c[466]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[578]|0)){a=Ha(30)|0;if(!(a+-1&a)){c[580]=a;c[579]=a;c[581]=-1;c[582]=-1;c[583]=0;c[571]=0;c[578]=(Qa(0)|0)&-16^1431655768;break}else Oa()}while(0);j=q+48|0;i=c[580]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[570]|0;if((a|0)!=0?(t=c[568]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[571]&4)){a=c[466]|0;e:do if(a){f=2288;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[463]|0)&i;if(d>>>0<2147483647){f=Fa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Fa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[579]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[568]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[570]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Fa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[580]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Fa(u|0)|0)==(-1|0)){Fa(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[571]=c[571]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Fa(l|0)|0,x=Fa(0)|0,w>>>0<x>>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[568]|0)+p|0;c[568]=a;if(a>>>0>(c[569]|0)>>>0)c[569]=a;h=c[466]|0;g:do if(h){g=2288;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0<w>>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[463]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[466]=h+L;c[463]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[467]=c[582];break}a=c[464]|0;if(w>>>0<a>>>0){c[464]=w;a=w}d=w+p|0;g=2288;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=2288;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[465]|0)){M=(c[462]|0)+l|0;c[462]=M;c[465]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){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<a>>>0)Oa();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0<a>>>0)Oa();a=f+12|0;if((c[a>>2]|0)!=(b|0))Oa();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Oa()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=2144+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[464]|0)>>>0)Oa();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[461]=c[461]&~(1<<a);break i}while(0);d=c[464]|0;if(J>>>0<d>>>0)Oa();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0<d>>>0)Oa();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[464]|0)>>>0)Oa();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=1880+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0<a>>>0)Oa();if((c[e+12>>2]|0)==(b|0))break;Oa()}while(0);if((f|0)==(e|0)){c[460]=c[460]&~(1<<g);break}do if((f|0)==(d|0))F=f+8|0;else{if(f>>>0<a>>>0)Oa();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Oa()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=1880+(a<<2)|0;d=c[460]|0;b=1<<b;do if(!(d&b)){c[460]=d|b;K=1880+(a+2<<2)|0;L=e}else{b=1880+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0>=(c[464]|0)>>>0){K=b;L=a;break}Oa()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;e=(L+245760|0)>>>16&2;e=14-(J|K|e)+(L<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=2144+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[461]|0;d=1<<e;if(!(a&d)){c[461]=a|d;c[b>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[464]|0)>>>0)Oa();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[464]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Oa()}else{M=(c[463]|0)+l|0;c[463]=M;c[466]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=2288;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0<f>>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[466]=w+d;c[463]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[467]=c[582];d=a+4|0;c[d>>2]=27;c[b>>2]=c[572];c[b+4>>2]=c[573];c[b+8>>2]=c[574];c[b+12>>2]=c[575];c[572]=w;c[573]=p;c[575]=0;c[574]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0<e>>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0<e>>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=1880+(a<<2)|0;d=c[460]|0;b=1<<b;if(d&b){b=1880+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[464]|0)>>>0)Oa();else{G=b;H=a}}else{c[460]=d|b;G=1880+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;e=(M+245760|0)>>>16&2;e=14-(K|L|e)+(M<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=2144+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[461]|0;a=1<<e;if(!(b&a)){c[461]=b|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[464]|0)>>>0)Oa();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[464]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Oa()}}else{M=c[464]|0;if((M|0)==0|w>>>0<M>>>0)c[464]=w;c[572]=w;c[573]=p;c[575]=0;c[469]=c[578];c[468]=-1;b=0;do{M=b<<1;L=1880+(M<<2)|0;c[1880+(M+3<<2)>>2]=L;c[1880+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[466]=w+M;c[463]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[467]=c[582]}while(0);b=c[463]|0;if(b>>>0>q>>>0){L=b-q|0;c[463]=L;M=c[466]|0;c[466]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ae()|0)>>2]=12;M=0;return M|0}function Qe(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;if(!a)return;b=a+-8|0;i=c[464]|0;if(b>>>0<i>>>0)Oa();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Oa();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0<i>>>0)Oa();if((l|0)==(c[465]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[462]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=1880+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<i>>>0)Oa();if((c[e+12>>2]|0)!=(l|0))Oa()}if((d|0)==(e|0)){c[460]=c[460]&~(1<<f);u=l;g=m;break}if((d|0)!=(b|0)){if(d>>>0<i>>>0)Oa();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Oa()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<i>>>0)Oa();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0<i>>>0)Oa();b=f+12|0;if((c[b>>2]|0)!=(l|0))Oa();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Oa()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=2144+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[461]=c[461]&~(1<<b);u=l;g=m;break}}else{if(h>>>0<(c[464]|0)>>>0)Oa();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[464]|0;if(k>>>0<d>>>0)Oa();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0<d>>>0)Oa();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[464]|0)>>>0)Oa();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Oa();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Oa();if(!(d&2)){if((q|0)==(c[466]|0)){t=(c[463]|0)+g|0;c[463]=t;c[466]=u;c[u+4>>2]=t|1;if((u|0)!=(c[465]|0))return;c[465]=0;c[462]=0;return}if((q|0)==(c[465]|0)){t=(c[462]|0)+g|0;c[462]=t;c[465]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[464]|0)>>>0)Oa();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[464]|0)>>>0)Oa();e=d+12|0;if((c[e>>2]|0)!=(q|0))Oa();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Oa()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=2144+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[461]=c[461]&~(1<<b);break}}else{if(h>>>0<(c[464]|0)>>>0)Oa();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[464]|0;if(p>>>0<d>>>0)Oa();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0<d>>>0)Oa();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[464]|0)>>>0)Oa();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=1880+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[464]|0)>>>0)Oa();if((c[e+12>>2]|0)!=(q|0))Oa()}if((d|0)==(e|0)){c[460]=c[460]&~(1<<f);break}if((d|0)!=(b|0)){if(d>>>0<(c[464]|0)>>>0)Oa();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Oa()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[465]|0)){c[462]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=1880+(d<<2)|0;e=c[460]|0;b=1<<b;if(e&b){b=1880+(d+2<<2)|0;d=c[b>>2]|0;if(d>>>0<(c[464]|0)>>>0)Oa();else{r=b;s=d}}else{c[460]=e|b;r=1880+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<<r;q=(s+520192|0)>>>16&4;s=s<<q;f=(s+245760|0)>>>16&2;f=14-(q|r|f)+(s<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=2144+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[461]|0;e=1<<f;a:do if(d&e){b=c[b>>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[464]|0)>>>0)Oa();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[464]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Oa()}else{c[461]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[468]|0)+-1|0;c[468]=u;if(!u)b=2296;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[468]=-1;return}function Re(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Pe(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Xe(b|0,0,d|0)|0;return b|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Pe(b)|0;return a|0}if(b>>>0>4294967231){c[(ae()|0)>>2]=12;a=0;return a|0}d=Te(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Pe(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;af(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Qe(a);a=d;return a|0}function Te(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;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[464]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0<l>>>0))Oa();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Oa();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[580]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Ue(a+b|0,d);return a|0}if((l|0)==(c[466]|0)){d=(c[463]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[466]=a+b;c[463]=n;return a|0}if((l|0)==(c[465]|0)){e=(c[462]|0)+j|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[462]=d;c[465]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0<b>>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){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)Oa();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0<i>>>0)Oa();d=f+12|0;if((c[d>>2]|0)!=(l|0))Oa();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Oa()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=2144+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[461]=c[461]&~(1<<d);break}}else{if(h>>>0<(c[464]|0)>>>0)Oa();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[464]|0;if(k>>>0<e>>>0)Oa();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0<e>>>0)Oa();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[464]|0)>>>0)Oa();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=1880+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<i>>>0)Oa();if((c[f+12>>2]|0)!=(l|0))Oa()}if((e|0)==(f|0)){c[460]=c[460]&~(1<<g);break}if((e|0)!=(d|0)){if(e>>>0<i>>>0)Oa();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Oa()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Ue(a+b|0,n);return a|0}return 0}function Ue(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;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[464]|0;if(n>>>0<j>>>0)Oa();if((n|0)==(c[465]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[462]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=1880+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<j>>>0)Oa();if((c[f+12>>2]|0)!=(n|0))Oa()}if((e|0)==(f|0)){c[460]=c[460]&~(1<<g);t=n;h=m;break}if((e|0)!=(d|0)){if(e>>>0<j>>>0)Oa();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Oa()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){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<j>>>0)Oa();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0<j>>>0)Oa();d=g+12|0;if((c[d>>2]|0)!=(n|0))Oa();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Oa()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=2144+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[461]=c[461]&~(1<<d);t=n;h=m;break}}else{if(i>>>0<(c[464]|0)>>>0)Oa();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[464]|0;if(l>>>0<f>>>0)Oa();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0<f>>>0)Oa();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[464]|0)>>>0)Oa();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[464]|0;if(q>>>0<j>>>0)Oa();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[466]|0)){s=(c[463]|0)+h|0;c[463]=s;c[466]=t;c[t+4>>2]=s|1;if((t|0)!=(c[465]|0))return;c[465]=0;c[462]=0;return}if((q|0)==(c[465]|0)){s=(c[462]|0)+h|0;c[462]=s;c[465]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){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<j>>>0)Oa();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0<j>>>0)Oa();d=g+12|0;if((c[d>>2]|0)!=(q|0))Oa();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Oa()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=2144+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[461]=c[461]&~(1<<d);break}}else{if(i>>>0<(c[464]|0)>>>0)Oa();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[464]|0;if(p>>>0<e>>>0)Oa();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0<e>>>0)Oa();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[464]|0)>>>0)Oa();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=1880+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<j>>>0)Oa();if((c[f+12>>2]|0)!=(q|0))Oa()}if((e|0)==(f|0)){c[460]=c[460]&~(1<<g);break}if((e|0)!=(d|0)){if(e>>>0<j>>>0)Oa();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Oa()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[465]|0)){c[462]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=1880+(e<<2)|0;f=c[460]|0;d=1<<d;if(f&d){d=1880+(e+2<<2)|0;e=c[d>>2]|0;if(e>>>0<(c[464]|0)>>>0)Oa();else{r=d;s=e}}else{c[460]=f|d;r=1880+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<<r;q=(s+520192|0)>>>16&4;s=s<<q;g=(s+245760|0)>>>16&2;g=14-(q|r|g)+(s<<g>>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=2144+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[461]|0;f=1<<g;if(!(e&f)){c[461]=e|f;c[d>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[464]|0)>>>0)Oa();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[464]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Oa();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ve(){}function We(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 (C=d,a-c>>>0|0)|0}function Xe(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 Ye(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ga(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 bf(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 af(b,c,d)|0;return b|0}function cf(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function df(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function ff(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=We(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return We((lf(h,g,We(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function gf(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=We(h^a,g^b,h,g)|0;b=C;lf(a,b,We(l^d,k^e,l,k)|0,C,j)|0;e=We(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function hf(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=ef(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lf(a,b,c,d,0)|0}function kf(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;lf(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function lf(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 (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(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 (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(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){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=df(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((df(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(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 (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Ze(m|0,l|0,-1,-1)|0;d=C;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;We(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=We(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){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 (C=o,p)|0}function mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Va[a&31](b|0,c|0,d|0)|0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function pf(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function sf(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;Wa[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function tf(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;ga(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function uf(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;ga(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function vf(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;ga(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function wf(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;ga(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function xf(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;ga(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function yf(a,b){a=a|0;b=b|0;Xa[a&15](b|0)}function zf(a){a=a|0;ia(0,a|0)}function Af(a){a=a|0;ia(1,a|0)}function Bf(a){a=a|0;ia(2,a|0)}function Cf(a){a=a|0;ia(3,a|0)}function Df(a){a=a|0;ia(4,a|0)}function Ef(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 Ya[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ff(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Gf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Hf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function If(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Jf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Kf(a,b){a=a|0;b=b|0;return Za[a&15](b|0)|0}function Lf(a){a=a|0;return ma(0,a|0)|0}function Mf(a){a=a|0;return ma(1,a|0)|0}function Nf(a){a=a|0;return ma(2,a|0)|0}function Of(a){a=a|0;return ma(3,a|0)|0}function Pf(a){a=a|0;return ma(4,a|0)|0}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_a[a&15](b|0,c|0,d|0)}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;oa(0,a|0,b|0,c|0)}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;oa(1,a|0,b|0,c|0)}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;oa(2,a|0,b|0,c|0)}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;oa(3,a|0,b|0,c|0)}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;oa(4,a|0,b|0,c|0)}function Wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return $a[a&15](b|0,c|0,d|0,e|0)|0}function Xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qa(0,a|0,b|0,c|0,d|0)|0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qa(1,a|0,b|0,c|0,d|0)|0}function Zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qa(2,a|0,b|0,c|0,d|0)|0}function _f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qa(3,a|0,b|0,c|0,d|0)|0}function $f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qa(4,a|0,b|0,c|0,d|0)|0}function ag(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;ab[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function cg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function dg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function eg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function fg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function gg(a,b,c){a=a|0;b=b|0;c=c|0;return bb[a&15](b|0,c|0)|0}function hg(a,b){a=a|0;b=b|0;return ua(0,a|0,b|0)|0}function ig(a,b){a=a|0;b=b|0;return ua(1,a|0,b|0)|0}function jg(a,b){a=a|0;b=b|0;return ua(2,a|0,b|0)|0}function kg(a,b){a=a|0;b=b|0;return ua(3,a|0,b|0)|0}function lg(a,b){a=a|0;b=b|0;return ua(4,a|0,b|0)|0}function mg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cb[a&15](b|0,c|0,d|0,e|0)}function ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wa(0,a|0,b|0,c|0,d|0)}function og(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wa(1,a|0,b|0,c|0,d|0)}function pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wa(2,a|0,b|0,c|0,d|0)}function qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wa(3,a|0,b|0,c|0,d|0)}function rg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wa(4,a|0,b|0,c|0,d|0)}function sg(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function tg(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;ba(1)}function ug(a){a=a|0;ba(2)}function vg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function wg(a){a=a|0;ba(4);return 0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(6);return 0}function zg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(7)}function Ag(a,b){a=a|0;b=b|0;ba(8);return 0}function Bg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9)}
// EMSCRIPTEN_END_FUNCS
var Va=[sg,sg,nf,sg,of,sg,pf,sg,qf,sg,rf,sg,te,ue,we,ed,ec,fc,ve,sg,sg,sg,sg,sg,sg,sg,sg,sg,sg,sg,sg,sg];var Wa=[tg,tg,tf,tg,uf,tg,vf,tg,wf,tg,xf,tg,ud,tg,tg,tg];var Xa=[ug,ug,zf,ug,Af,ug,Bf,ug,Cf,ug,Df,ug,Je,Ke,ug,ug];var Ya=[vg,vg,Ff,vg,Gf,vg,Hf,vg,If,vg,Jf,vg,vg,vg,vg,vg];var Za=[wg,wg,Lf,wg,Mf,wg,Nf,wg,Of,wg,Pf,wg,se,wg,wg,wg];var _a=[xg,xg,Rf,xg,Sf,xg,Tf,xg,Uf,xg,Vf,xg,xd,yd,xg,xg];var $a=[yg,yg,Xf,yg,Yf,yg,Zf,yg,_f,yg,$f,yg,vd,wd,yg,yg];var ab=[zg,zg,bg,zg,cg,zg,dg,zg,eg,zg,fg,zg,Cc,Dc,Ac,Bc];var bb=[Ag,Ag,hg,Ag,ig,Ag,jg,Ag,kg,Ag,lg,Ag,uc,Ag,Ag,Ag];var cb=[Bg,Bg,ng,Bg,og,Bg,pg,Bg,qg,Bg,rg,Bg,xc,Bg,Bg,Bg];return{_FLAC__stream_decoder_delete:Qc,_FLAC__stream_encoder_set_sample_rate:md,_FLAC__stream_encoder_set_bits_per_sample:ld,_bitshift64Lshr:$e,_bitshift64Shl:Ye,_FLAC__stream_encoder_init_stream:id,_FLAC__stream_decoder_reset:Wc,_bitshift64Ashr:_e,_memset:Xe,_FLAC__stream_encoder_set_verify:jd,_memcpy:af,_llvm_bswap_i32:cf,_FLAC__stream_decoder_get_md5_checking:Vc,_FLAC__stream_decoder_set_md5_checking:Tc,_i64Subtract:We,_i64Add:Ze,_FLAC__stream_encoder_set_channels:kd,_FLAC__stream_decoder_finish:Rc,_FLAC__stream_decoder_process_single:Xc,_FLAC__stream_decoder_process_until_end_of_stream:Zc,_FLAC__stream_decoder_init_stream:Sc,_FLAC__stream_decoder_process_until_end_of_metadata:Yc,_free:Qe,_FLAC__stream_encoder_delete:gd,_FLAC__stream_encoder_set_total_samples_estimate:pd,___errno_location:ae,_FLAC__stream_encoder_process_interleaved:rd,_FLAC__stream_decoder_new:Pc,_FLAC__stream_encoder_get_state:qd,_FLAC__stream_encoder_finish:hd,_memmove:bf,_FLAC__stream_decoder_get_state:Uc,_malloc:Pe,_FLAC__stream_encoder_set_compression_level:nd,_FLAC__stream_encoder_new:fd,runPostSets:Ve,stackAlloc:db,stackSave:eb,stackRestore:fb,establishStackSpace:gb,setThrew:hb,setTempRet0:kb,getTempRet0:lb,dynCall_iiii:mf,dynCall_viiiiiii:sf,dynCall_vi:yf,dynCall_iiiiiii:Ef,dynCall_ii:Kf,dynCall_viii:Qf,dynCall_iiiii:Wf,dynCall_viiiiii:ag,dynCall_iii:gg,dynCall_viiii:mg}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _FLAC__stream_decoder_delete=Module["_FLAC__stream_decoder_delete"]=asm["_FLAC__stream_decoder_delete"];var _FLAC__stream_encoder_set_sample_rate=Module["_FLAC__stream_encoder_set_sample_rate"]=asm["_FLAC__stream_encoder_set_sample_rate"];var _FLAC__stream_encoder_set_bits_per_sample=Module["_FLAC__stream_encoder_set_bits_per_sample"]=asm["_FLAC__stream_encoder_set_bits_per_sample"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _FLAC__stream_encoder_init_stream=Module["_FLAC__stream_encoder_init_stream"]=asm["_FLAC__stream_encoder_init_stream"];var _FLAC__stream_decoder_reset=Module["_FLAC__stream_decoder_reset"]=asm["_FLAC__stream_decoder_reset"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _FLAC__stream_encoder_set_verify=Module["_FLAC__stream_encoder_set_verify"]=asm["_FLAC__stream_encoder_set_verify"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _FLAC__stream_decoder_get_md5_checking=Module["_FLAC__stream_decoder_get_md5_checking"]=asm["_FLAC__stream_decoder_get_md5_checking"];var _FLAC__stream_decoder_set_md5_checking=Module["_FLAC__stream_decoder_set_md5_checking"]=asm["_FLAC__stream_decoder_set_md5_checking"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _FLAC__stream_encoder_set_channels=Module["_FLAC__stream_encoder_set_channels"]=asm["_FLAC__stream_encoder_set_channels"];var _FLAC__stream_decoder_finish=Module["_FLAC__stream_decoder_finish"]=asm["_FLAC__stream_decoder_finish"];var _FLAC__stream_decoder_process_single=Module["_FLAC__stream_decoder_process_single"]=asm["_FLAC__stream_decoder_process_single"];var _FLAC__stream_decoder_process_until_end_of_stream=Module["_FLAC__stream_decoder_process_until_end_of_stream"]=asm["_FLAC__stream_decoder_process_until_end_of_stream"];var _FLAC__stream_decoder_init_stream=Module["_FLAC__stream_decoder_init_stream"]=asm["_FLAC__stream_decoder_init_stream"];var _FLAC__stream_decoder_process_until_end_of_metadata=Module["_FLAC__stream_decoder_process_until_end_of_metadata"]=asm["_FLAC__stream_decoder_process_until_end_of_metadata"];var _FLAC__stream_decoder_new=Module["_FLAC__stream_decoder_new"]=asm["_FLAC__stream_decoder_new"];var _FLAC__stream_encoder_delete=Module["_FLAC__stream_encoder_delete"]=asm["_FLAC__stream_encoder_delete"];var _FLAC__stream_encoder_set_total_samples_estimate=Module["_FLAC__stream_encoder_set_total_samples_estimate"]=asm["_FLAC__stream_encoder_set_total_samples_estimate"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _FLAC__stream_encoder_process_interleaved=Module["_FLAC__stream_encoder_process_interleaved"]=asm["_FLAC__stream_encoder_process_interleaved"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _FLAC__stream_encoder_get_state=Module["_FLAC__stream_encoder_get_state"]=asm["_FLAC__stream_encoder_get_state"];var _FLAC__stream_encoder_finish=Module["_FLAC__stream_encoder_finish"]=asm["_FLAC__stream_encoder_finish"];var _memmove=Module["_memmove"]=asm["_memmove"];var _FLAC__stream_decoder_get_state=Module["_FLAC__stream_decoder_get_state"]=asm["_FLAC__stream_decoder_get_state"];var _malloc=Module["_malloc"]=asm["_malloc"];var _FLAC__stream_encoder_set_compression_level=Module["_FLAC__stream_encoder_set_compression_level"]=asm["_FLAC__stream_encoder_set_compression_level"];var _FLAC__stream_encoder_new=Module["_FLAC__stream_encoder_new"]=asm["_FLAC__stream_encoder_new"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);removeRunDependency("memory initializer")});function doBrowserLoad(){Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var request=Module["memoryInitializerRequest"];if(request){function useRequest(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(request.response){setTimeout(useRequest,0)}else{request.addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;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){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();function _readStreamInfo(p_streaminfo){var min_blocksize=Module.getValue(p_streaminfo,"i32");var max_blocksize=Module.getValue(p_streaminfo+4,"i32");var min_framesize=Module.getValue(p_streaminfo+8,"i32");var max_framesize=Module.getValue(p_streaminfo+12,"i32");var sample_rate=Module.getValue(p_streaminfo+16,"i32");var channels=Module.getValue(p_streaminfo+20,"i32");var bits_per_sample=Module.getValue(p_streaminfo+24,"i32");var total_samples=Module.getValue(p_streaminfo+32,"i64");var md5sum=_readMd5(p_streaminfo+40);return{min_blocksize:min_blocksize,max_blocksize:max_blocksize,min_framesize:min_framesize,max_framesize:max_framesize,sampleRate:sample_rate,channels:channels,bitsPerSample:bits_per_sample,total_samples:total_samples,md5sum:md5sum}}function _readMd5(p_md5){var sb=[],v,str;for(var i=0,len=16;i<len;++i){v=Module.getValue(p_md5+i,"i8");if(v<0)v=256+v;str=v.toString(16);if(str.length<2)str="0"+str;sb.push(str)}return sb.join("")}function _readFrameHdr(p_frame){var blocksize=Module.getValue(p_frame,"i32");var sample_rate=Module.getValue(p_frame+4,"i32");var channels=Module.getValue(p_frame+8,"i32");var channel_assignment=Module.getValue(p_frame+12,"i32");var bits_per_sample=Module.getValue(p_frame+16,"i32");var number_type=Module.getValue(p_frame+20,"i32");var frame_number=Module.getValue(p_frame+24,"i32");var sample_number=Module.getValue(p_frame+24,"i64");var number=number_type===0?frame_number:sample_number;var crc=Module.getValue(p_frame+36,"i8");return{blocksize:blocksize,sampleRate:sample_rate,channels:channels,bitsPerSample:bits_per_sample,number:number,crc:crc}}function __fix_write_buffer(heapOffset,newBuffer){var dv=new DataView(newBuffer.buffer);var targetSize=newBuffer.length;var increase=2;var buffer=HEAPU8.subarray(heapOffset,heapOffset+targetSize*increase);var jump,isPrint;for(var i=0,j=0,size=buffer.length;i<size&&j<targetSize;++i,++j){if(i===size-1&&j<targetSize-1){buffer=HEAPU8.subarray(heapOffset,size+targetSize);size=buffer.length}if(buffer[i]===0||buffer[i]===255){jump=0;isPrint=true;if(i+1<size&&buffer[i]===buffer[i+1]){++jump;if(i+2<size){if(buffer[i]===buffer[i+2]){++jump}else{isPrint=false}}}if(isPrint){dv.setUint8(j,buffer[i]);if(jump===2&&i+3<size&&buffer[i]===buffer[i+3]){++jump;dv.setUint8(++j,buffer[i])}}else{--j}i+=jump}else{dv.setUint8(j,buffer[i])}}}var FLAC__STREAM_DECODER_READ_STATUS_CONTINUE=0;var FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM=1;var FLAC__STREAM_DECODER_READ_STATUS_ABORT=2;var FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE=0;var FLAC__STREAM_DECODER_WRITE_STATUS_ABORT=1;FLAC__STREAM_DECODER_INIT_STATUS_OK=0;FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER=1;FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS=2;FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR=3;FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE=4;FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED=5;FLAC__STREAM_ENCODER_INIT_STATUS_OK=0;FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR=1;FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER=2;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS=3;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS=4;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE=5;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE=6;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE=7;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER=8;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION=9;FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER=10;FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE=11;FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA=12;FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED=13;FLAC__STREAM_ENCODER_WRITE_STATUS_OK=0;FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR=1;var coders={};function getCallback(p_coder,func_type){if(coders[p_coder]){return coders[p_coder][func_type]}}function setCallback(p_coder,func_type,callback){if(!coders[p_coder]){coders[p_coder]={}}coders[p_coder][func_type]=callback}var enc_write_fn_ptr=Runtime.addFunction((function(p_encoder,buffer,bytes,samples,current_frame,p_client_data){var arraybuf=new ArrayBuffer(buffer);var retdata=new Uint8Array(bytes);retdata.set(HEAPU8.subarray(buffer,buffer+bytes));var write_callback_fn=getCallback(p_encoder,"write");try{write_callback_fn(retdata,bytes,samples,current_frame,p_client_data)}catch(err){console.error(err);return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR}return FLAC__STREAM_ENCODER_WRITE_STATUS_OK}));var dec_read_fn_ptr=Runtime.addFunction((function(p_decoder,buffer,bytes,p_client_data){var len=Module.getValue(bytes,"i32");if(len===0){return FLAC__STREAM_DECODER_READ_STATUS_ABORT}var read_callback_fn=getCallback(p_decoder,"read");var readResult=read_callback_fn(len,p_client_data);var readLen=readResult.readDataLength;Module.setValue(bytes,readLen,"i32");if(readResult.error){return FLAC__STREAM_DECODER_READ_STATUS_ABORT}if(readLen===0){return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM}var readBuf=readResult.buffer;var dataHeap=new Uint8Array(Module.HEAPU8.buffer,buffer,readLen);dataHeap.set(new Uint8Array(readBuf));return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE}));var dec_write_fn_ptr=Runtime.addFunction((function(p_decoder,p_frame,p_buffer,p_client_data){var frameInfo=_readFrameHdr(p_frame);var channels=frameInfo.channels;var block_size=frameInfo.blocksize*(frameInfo.bitsPerSample/8);var data=[];var bufferOffset,heapView,_buffer;for(var i=0;i<channels;++i){bufferOffset=Module.getValue(p_buffer+i*4,"i32");_buffer=new Uint8Array(block_size);__fix_write_buffer(bufferOffset,_buffer);data.push(_buffer.subarray(0,block_size))}var write_callback_fn=getCallback(p_decoder,"write");write_callback_fn(data,frameInfo);return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE}));var dec_error_fn_ptr=Runtime.addFunction((function(p_decoder,err,p_client_data){var msg;switch(err){case 0:msg="FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC";break;case 1:msg="FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER";break;case 2:msg="FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH";break;case 3:msg="FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM";break;default:msg="FLAC__STREAM_DECODER_ERROR__UNKNOWN__"}var error_callback_fn=getCallback(p_decoder,"error");error_callback_fn(err,msg,p_client_data)}));var metadata_fn_ptr=Runtime.addFunction((function(p_coder,p_metadata,p_client_data){var type=Module.getValue(p_metadata,"i32");var is_last=Module.getValue(p_metadata+4,"i32");var length=Module.getValue(p_metadata+8,"i64");var metadata_callback_fn=getCallback(p_coder,"metadata");var meta_data;if(type===0){meta_data=_readStreamInfo(p_metadata+16);metadata_callback_fn(meta_data)}}));var _exported={_module:Module,_clear_enc_cb:(function(enc_ptr){delete coders[enc_ptr]}),_clear_dec_cb:(function(dec_ptr){delete coders[dec_ptr]}),isReady:(function(){return _flac_ready}),onready:void 0,FLAC__stream_encoder_set_verify:Module.cwrap("FLAC__stream_encoder_set_verify","number",["number"]),FLAC__stream_encoder_set_compression_level:Module.cwrap("FLAC__stream_encoder_set_compression_level","number",["number","number"]),init_libflac_encoder:(function(sample_rate,channels,bps,compression_level,total_samples,is_verify){is_verify=typeof is_verify==="undefined"?1:is_verify+0;total_samples=typeof total_samples==="number"?total_samples:0;var ok=true;var encoder=Module.ccall("FLAC__stream_encoder_new","number",[],[]);ok&=Module.ccall("FLAC__stream_encoder_set_verify","number",["number","number"],[encoder,is_verify]);ok&=Module.ccall("FLAC__stream_encoder_set_compression_level","number",["number","number"],[encoder,compression_level]);ok&=Module.ccall("FLAC__stream_encoder_set_channels","number",["number","number"],[encoder,channels]);ok&=Module.ccall("FLAC__stream_encoder_set_bits_per_sample","number",["number","number"],[encoder,bps]);ok&=Module.ccall("FLAC__stream_encoder_set_sample_rate","number",["number","number"],[encoder,sample_rate]);ok&=Module.ccall("FLAC__stream_encoder_set_total_samples_estimate","number",["number","number"],[encoder,total_samples]);if(ok){return encoder}return 0}),init_libflac_decoder:(function(is_verify){is_verify=typeof is_verify==="undefined"?1:is_verify+0;var ok=true;var decoder=Module.ccall("FLAC__stream_decoder_new","number",[],[]);ok&=Module.ccall("FLAC__stream_decoder_set_md5_checking","number",["number","number"],[decoder,is_verify]);if(ok){return decoder}return 0}),init_encoder_stream:(function(encoder,write_callback_fn,metadata_callback_fn,client_data){client_data=client_data|0;if(typeof write_callback_fn!=="function"){return FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS}setCallback(encoder,"write",write_callback_fn);var __metadata_callback_fn_ptr=0;if(typeof metadata_callback_fn==="function"){setCallback(encoder,"metadata",metadata_callback_fn);__metadata_callback_fn_ptr=metadata_fn_ptr}var init_status=Module.ccall("FLAC__stream_encoder_init_stream","number",["number","number","number","number","number","number"],[encoder,enc_write_fn_ptr,0,0,__metadata_callback_fn_ptr,client_data]);return init_status}),init_decoder_stream:(function(decoder,read_callback_fn,write_callback_fn,error_callback_fn,metadata_callback_fn,client_data){client_data=client_data|0;if(typeof read_callback_fn!=="function"){return FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS}setCallback(decoder,"read",read_callback_fn);if(typeof write_callback_fn!=="function"){return FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS}setCallback(decoder,"write",write_callback_fn);var __error_callback_fn_ptr=0;if(typeof error_callback_fn==="function"){setCallback(decoder,"error",error_callback_fn);__error_callback_fn_ptr=dec_error_fn_ptr}var __metadata_callback_fn_ptr=0;if(typeof metadata_callback_fn==="function"){setCallback(decoder,"metadata",metadata_callback_fn);__metadata_callback_fn_ptr=metadata_fn_ptr}var init_status=Module.ccall("FLAC__stream_decoder_init_stream","number",["number","number","number","number","number","number","number","number","number","number"],[decoder,dec_read_fn_ptr,0,0,0,0,dec_write_fn_ptr,__metadata_callback_fn_ptr,__error_callback_fn_ptr,client_data]);return init_status}),FLAC__stream_encoder_process_interleaved:(function(encoder,buffer,num_of_samples){var numBytes=buffer.length*buffer.BYTES_PER_ELEMENT;var ptr=Module._malloc(numBytes);var heapBytes=new Uint8Array(Module.HEAPU8.buffer,ptr,numBytes);heapBytes.set(new Uint8Array(buffer.buffer));var status=Module.ccall("FLAC__stream_encoder_process_interleaved","number",["number","number","number"],[encoder,heapBytes.byteOffset,num_of_samples]);Module._free(ptr);return status}),FLAC__stream_decoder_process_single:Module.cwrap("FLAC__stream_decoder_process_single","number",["number"]),FLAC__stream_decoder_process_until_end_of_stream:Module.cwrap("FLAC__stream_decoder_process_until_end_of_stream","number",["number"]),FLAC__stream_decoder_process_until_end_of_metadata:Module.cwrap("FLAC__stream_decoder_process_until_end_of_metadata","number",["number"]),FLAC__stream_decoder_get_state:Module.cwrap("FLAC__stream_decoder_get_state","number",["number"]),FLAC__stream_encoder_get_state:Module.cwrap("FLAC__stream_encoder_get_state","number",["number"]),FLAC__stream_decoder_get_md5_checking:Module.cwrap("FLAC__stream_decoder_get_md5_checking","number",["number"]),FLAC__stream_encoder_finish:Module.cwrap("FLAC__stream_encoder_finish","number",["number"]),FLAC__stream_decoder_finish:Module.cwrap("FLAC__stream_decoder_finish","number",["number"]),FLAC__stream_decoder_reset:Module.cwrap("FLAC__stream_decoder_reset","number",["number"]),FLAC__stream_encoder_delete:(function(encoder){this._clear_enc_cb(encoder);return Module.ccall("FLAC__stream_encoder_delete","number",["number"],[encoder])}),FLAC__stream_decoder_delete:(function(decoder){this._clear_dec_cb(decoder);return Module.ccall("FLAC__stream_decoder_delete","number",["number"],[decoder])})};return _exported})(typeof window!=="undefined"?window:this);if(typeof self!=="undefined"&&self!==null){self.Flac=Flac}