summaryrefslogtreecommitdiff
path: root/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-decoder-video-theora.js
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-decoder-video-theora.js')
-rw-r--r--extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-decoder-video-theora.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-decoder-video-theora.js b/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-decoder-video-theora.js
new file mode 100644
index 00000000..3421de39
--- /dev/null
+++ b/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-decoder-video-theora.js
@@ -0,0 +1,22 @@
+var OGVDecoderVideoTheora = function(Module) {
+ Module = Module || {};
+
+var options=Module;Module={print:(function(str){console.log(str)})};var Module;if(!Module)Module=(typeof OGVDecoderVideoTheora!=="undefined"?OGVDecoderVideoTheora:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB;var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["cwrap"]=cwrap;Module["ccall"]=ccall;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||33554432;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+2448;__ATINIT__.push();allocate([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,3,1,2,0,0,0,0,0,1,2,3,4,8,0,0,0,0,0,0,0,1,2,3,4,5,8,9,0,0,0,0,0,1,2,3,4,6,8,10,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,6,8,8,12,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,116,104,101,111,114,97,0,0,4,0,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,254,252,254,252,253,252,253,252,252,251,251,251,224,251,17,0,2,0,220,253,216,253,180,253,36,253,0,0,0,0,5,0,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,253,252,253,252,253,252,253,252,252,252,252,252,252,252,252,252,251,251,251,251,250,251,250,251,33,0,36,0,39,0,44,0,1,0,249,254,248,254,1,0,247,254,246,254,2,0,245,253,244,253,243,253,242,253,4,0,241,251,240,251,239,251,238,251,237,251,236,251,235,251,234,251,233,251,232,251,231,251,230,251,229,251,228,251,227,251,226,251,0,0,0,0,0,0,3,4,2,0,1,5,6,7,3,4,0,2,1,5,6,7,3,2,4,0,1,5,6,7,3,2,0,4,1,5,6,7,0,3,4,2,1,5,6,7,0,5,3,4,2,1,6,7,0,1,2,3,4,5,6,7,3,0,0,253,255,252,254,252,253,252,252,252,251,252,250,252,249,252,0,0,0,0,0,0,4,0,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,255,253,255,253,255,253,255,253,254,252,254,252,253,251,17,0,3,0,252,254,252,254,252,254,252,254,251,253,251,253,250,252,249,252,0,0,0,0,6,0,224,249,224,249,223,249,225,249,222,249,226,249,221,249,227,249,220,249,228,249,219,249,229,249,218,249,230,249,217,249,231,249,216,249,232,249,215,249,233,249,214,249,234,249,213,249,235,249,212,249,236,249,211,249,237,249,210,249,238,249,209,249,239,249,208,249,240,249,207,249,241,249,206,249,242,249,205,249,243,249,204,249,244,249,203,249,245,249,202,249,246,249,201,249,247,249,200,249,248,249,199,249,249,249,198,249,250,249,197,249,251,249,196,249,252,249,195,249,253,249,194,249,254,249,193,249,255,249,0,0,0,0,0,0,5,0,224,252,224,252,224,252,224,252,223,252,223,252,223,252,223,252,225,252,225,252,225,252,225,252,222,251,222,251,226,251,226,251,221,251,221,251,227,251,227,251,33,0,36,0,39,0,42,0,45,0,50,0,55,0,60,0,65,0,74,0,83,0,92,0,1,0,220,254,228,254,1,0,219,254,229,254,1,0,218,254,230,254,1,0,217,254,231,254,2,0,216,253,232,253,215,253,233,253,2,0,214,253,234,253,213,253,235,253,2,0,212,253,236,253,211,253,237,253,2,0,210,253,238,253,209,253,239,253,3,0,208,252,240,252,207,252,241,252,206,252,242,252,205,252,243,252,3,0,204,252,244,252,203,252,245,252,202,252,246,252,201,252,247,252,3,0,200,252,248,252,199,252,249,252,198,252,250,252,197,252,251,252,3,0,196,252,252,252,195,252,253,252,194,252,254,252,193,252,255,252,0,0,0,0,0,0,12,4,3,3,4,4,5,5,8,8,8,8,3,3,6,0,0,0,0,0,0,16,0,0,0,0,160,1,0,0,144,1,0,0,160,2,0,0,144,2,0,0,160,4,0,0,144,4,0,0,160,8,0,0,160,40,0,0,144,8,0,0,144,40,10,0,32,0,10,0,224,255,0,0,240,255,0,1,0,0,0,2,0,0,0,3,0,0,1,0,32,0,1,0,224,255,2,0,32,0,2,0,224,255,3,0,32,0,3,0,224,255,4,0,32,0,4,0,224,255,5,0,32,0,5,0,224,255,1,0,64,0,1,0,96,0,1,0,192,255,1,0,160,255,6,0,32,0,7,0,32,0,8,0,32,0,9,0,32,0,6,0,224,255,7,0,224,255,8,0,224,255,9,0,224,255,2,0,64,0,3,0,64,0,2,0,96,0,3,0,96,0,2,0,192,255,3,0,192,255,2,0,160,255,3,0,160,255,0,0,240,255,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,32,0,0,0,224,255,0,0,64,0,0,0,192,255,0,0,96,0,0,0,160,255,0,0,128,0,0,0,128,255,0,0,160,0,0,0,96,255,0,0,192,0,0,0,64,255,0,0,224,0,0,0,0,1,0,0,32,255,0,0,0,255,0,0,32,1,0,0,64,1,0,0,96,1,0,0,128,1,0,0,224,254,0,0,192,254,0,0,160,254,0,0,128,254,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,1,6,15,28,64,0,0,0,0,0,0,2,3,0,0,3,0,0,0,0,0,1,1,1,1,2,3,1,1,1,2,1,1,1,1,1,3,1,2,3,15,16,17,88,80,1,0,48,14,56,57,58,59,60,62,64,66,68,72,2,4,6,8,18,20,22,24,26,32,12,28,40,16,0,0,0,32,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,241,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,0,249,249,249,249,250,250,250,250,251,251,251,251,252,252,252,252,253,253,253,253,254,254,254,254,255,255,255,255,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,24,32,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,114,114,111,114,32,112,97,114,115,105,110,103,32,116,104,101,111,114,97,32,104,101,97,100,101,114,115,58,32,37,100,46,10,0,0,0,0,0,0,84,104,101,111,114,97,32,100,101,99,111,100,101,114,32,102,97,105,108,101,100,32,109,121,115,116,101,114,105,111,117,115,108,121,63,32,37,100,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);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;Module["_i64Add"]=_i64Add;Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _ogvjs_callback_frame(bufferY,strideY,bufferCb,strideCb,bufferCr,strideCr,width,height,hdec,vdec){var HEAPU8=Module.HEAPU8,widthColor=width>>hdec,heightColor=height>>vdec,countBytesY=strideY*height,countBytesCb=strideCb*heightColor,countBytesCr=strideCr*heightColor,bytesY=HEAPU8.subarray(bufferY,bufferY+countBytesY),bytesCb=HEAPU8.subarray(bufferCb,bufferCb+countBytesCb),bytesCr=HEAPU8.subarray(bufferCr,bufferCr+countBytesCr);Module.frameBuffer={bytesY:bytesY,bytesCb:bytesCb,bytesCr:bytesCr,strideY:strideY,strideCb:strideCb,strideCr:strideCr,width:width,height:height,hdec:hdec,vdec:vdec}}var FS=undefined;var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>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};var SOCKFS=undefined;function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}Module["_strlen"]=_strlen;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=0;function getNextArg(type){var ret;argIndex=Runtime.prepVararg(argIndex,type);if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3]);argIndex+=8}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[varargs+argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"f":case"F":case"e":case"E":case"g":case"G":{var currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break};case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _printf(format,varargs){var result=__formatString(format,varargs);var string=intArrayToString(result);if(string[string.length-1]==="\n")string=string.substr(0,string.length-1);Module.print(string);return result.length}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _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}function ___errno_location(){return ___errno_state}function _ogvjs_callback_init_video(frameWidth,frameHeight,hdec,vdec,fps,picWidth,picHeight,picX,picY,displayWidth,displayHeight){Module.videoFormat={frameWidth:frameWidth,frameHeight:frameHeight,hdec:hdec,vdec:vdec,fps:fps,picWidth:picWidth,picHeight:picHeight,picX:picX,picY:picY,displayWidth:displayWidth,displayHeight:displayHeight};Module.loadedMetadata=true}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;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_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_vii":invoke_vii,"invoke_viiii":invoke_viiii,"_ogvjs_callback_init_video":_ogvjs_callback_init_video,"__formatString":__formatString,"_ogvjs_callback_frame":_ogvjs_callback_frame,"_send":_send,"_pwrite":_pwrite,"_abort":_abort,"___setErrNo":___setErrNo,"_fwrite":_fwrite,"_sbrk":_sbrk,"_printf":_printf,"_fprintf":_fprintf,"__reallyNegative":__reallyNegative,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_fileno":_fileno,"_write":_write,"_time":_time,"_sysconf":_sysconf,"___errno_location":___errno_location,"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_vii;var ea=env.invoke_viiii;var fa=env._ogvjs_callback_init_video;var ga=env.__formatString;var ha=env._ogvjs_callback_frame;var ia=env._send;var ja=env._pwrite;var ka=env._abort;var la=env.___setErrNo;var ma=env._fwrite;var na=env._sbrk;var oa=env._printf;var pa=env._fprintf;var qa=env.__reallyNegative;var ra=env._emscripten_memcpy_big;var sa=env._fileno;var ta=env._write;var ua=env._time;var va=env._sysconf;var wa=env.___errno_location;var xa=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Aa(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ba(){return i|0}function Ca(a){a=a|0;i=a}function Da(a,b){a=a|0;b=b|0;i=a;j=b}function Ea(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Fa(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 Ga(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 Ha(a){a=a|0;C=a}function Ia(){return C|0}function Ja(a,b,d){a=a|0;b=b|0;d=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+4>>2]=b;c[a>>2]=b+d;return}function Ka(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a+8|0;f=a+12|0;g=c[f>>2]|0;if(!b){h=0;return h|0}i=c[e>>2]|0;if((g|0)<(b|0)){j=c[a>>2]|0;k=a+4|0;l=c[k>>2]|0;m=32-g|0;n=l>>>0<j>>>0;if(m>>>0>7&n){o=l-j|0;p=(24-g|0)>>>3;q=~p;r=o>>>0>q>>>0?o:q;q=l+(0-r)|0;s=~p;p=0-(o>>>0>s>>>0?o:s)|0;s=l;o=m;t=i;while(1){o=o+-8|0;u=s;s=s+1|0;v=(d[u>>0]|0)<<o|t;if((s|0)==(q|0)){w=v;break}else t=v}x=(l+p|0)>>>0<j>>>0;y=q;z=m+(r<<3)|0;A=w}else{x=n;y=l;z=m;A=i}c[k>>2]=y;k=32-z|0;do if((k|0)<(b|0))if(x){B=k;C=(d[y>>0]|0)>>>(k&7)|A;break}else{c[a+16>>2]=1;B=1073741824;C=A;break}else{B=k;C=A}while(0);c[f>>2]=B;D=B;E=C}else{D=g;E=i}c[e>>2]=E<<1<<b+-1;c[f>>2]=D-b;h=E>>>(32-b|0);return h|0}function La(a){a=a|0;var b=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;b=a+8|0;e=c[b>>2]|0;f=a+12|0;g=c[f>>2]|0;if((g|0)>=1){h=g;i=e;j=i>>>31;k=h+-1|0;l=i<<1;c[b>>2]=l;c[f>>2]=k;return j|0}m=c[a>>2]|0;n=a+4|0;o=c[n>>2]|0;p=32-g|0;q=o>>>0<m>>>0;if(p>>>0>7&q){r=o-m|0;s=(24-g|0)>>>3;g=~s;t=r>>>0>g>>>0?r:g;g=o+(0-t)|0;u=~s;s=0-(r>>>0>u>>>0?r:u)|0;u=o;r=p;v=e;while(1){r=r+-8|0;w=u;u=u+1|0;x=(d[w>>0]|0)<<r|v;if((u|0)==(g|0)){y=x;break}else v=x}z=(o+s|0)>>>0<m>>>0;A=g;B=p+(t<<3)|0;C=y}else{z=q;A=o;B=p;C=e}c[n>>2]=A;n=32-B|0;do if((n|0)<1)if(z){D=n;E=(d[A>>0]|0)>>>(n&7)|C;break}else{c[a+16>>2]=1;D=1073741824;E=C;break}else{D=n;E=C}while(0);c[f>>2]=D;h=D;i=E;j=i>>>31;k=h+-1|0;l=i<<1;c[b>>2]=l;c[f>>2]=k;return j|0}function Ma(a){a=a|0;var b=0;if(c[a+16>>2]|0){b=-1;return b|0}b=(c[a>>2]|0)-(c[a+4>>2]|0)+(c[a+12>>2]>>3)|0;return b|0}function Na(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=i;i=i+32|0;j=h+20|0;k=h;if(!g){l=-20;i=h;return l|0}if(!b){l=-1;i=h;return l|0}Ja(k,c[g>>2]|0,c[g+4>>2]|0);m=Ka(k,8)|0;if((((m&128|0)==0?(c[b+4>>2]|0)!=0:0)?(c[e+12>>2]|0)!=0:0)?(c[f>>2]|0)!=0:0)n=0;else o=7;a:do if((o|0)==7){a[j>>0]=Ka(k,8)|0;a[j+1>>0]=Ka(k,8)|0;a[j+2>>0]=Ka(k,8)|0;a[j+3>>0]=Ka(k,8)|0;a[j+4>>0]=Ka(k,8)|0;a[j+5>>0]=Ka(k,8)|0;if(!(Nb(j,216,6)|0))if((m|0)==128){if(!(c[g+8>>2]|0)){n=-20;break}p=b+4|0;if(c[p>>2]|0){n=-20;break}a[b>>0]=Ka(k,8)|0;q=b+1|0;a[q>>0]=Ka(k,8)|0;a[b+2>>0]=Ka(k,8)|0;r=a[b>>0]|0;do if((r&255)<=3){if(r<<24>>24==3?(d[q>>0]|0)>2:0){s=-22;break}c[p>>2]=(Ka(k,16)|0)<<4;t=b+8|0;c[t>>2]=(Ka(k,16)|0)<<4;u=b+12|0;c[u>>2]=Ka(k,24)|0;v=b+16|0;c[v>>2]=Ka(k,24)|0;w=b+20|0;c[w>>2]=Ka(k,8)|0;x=b+24|0;c[x>>2]=Ka(k,8)|0;y=b+28|0;c[y>>2]=Ka(k,32)|0;z=Ka(k,32)|0;c[b+32>>2]=z;A=c[p>>2]|0;if(((((((A|0)!=0?(B=c[t>>2]|0,(B|0)!=0):0)?((c[w>>2]|0)+(c[u>>2]|0)|0)>>>0<=A>>>0:0)?(A=c[v>>2]|0,v=c[x>>2]|0,(v+A|0)>>>0<=B>>>0):0)?!((z|0)==0|(c[y>>2]|0)==0):0)?(c[x>>2]=B-A-v,c[b+36>>2]=Ka(k,24)|0,c[b+40>>2]=Ka(k,24)|0,c[b+44>>2]=Ka(k,8)|0,c[b+52>>2]=Ka(k,24)|0,c[b+56>>2]=Ka(k,6)|0,c[b+60>>2]=Ka(k,5)|0,v=Ka(k,2)|0,c[b+48>>2]=v,(v|0)!=1):0)?(Ka(k,3)|0)==0:0){v=(Ma(k)|0)>>31&-20;if((v|0)<0)s=v;else{n=3;break a}}else s=-20}else s=-22;while(0);eb(b);n=s;break}else if((m|0)==129){if(!e){n=-1;break}if(!(c[b+4>>2]|0)){n=-20;break}p=e+12|0;if(c[p>>2]|0){n=-20;break}q=Ka(k,8)|0;r=Ka(k,8)|0;v=Ka(k,8)|0;A=r<<8|q|v<<16|(Ka(k,8)|0)<<24;b:do if((A|0)>=0?(A|0)<=(Ma(k)|0):0){v=Ob(A+1|0)|0;c[p>>2]=v;if(!v)C=-1;else{if(!A)D=v;else{q=A;r=v;while(1){q=q+-1|0;a[r>>0]=Ka(k,8)|0;if(!q)break;else r=r+1|0}D=c[p>>2]|0}a[D+A>>0]=0;r=Ka(k,8)|0;q=Ka(k,8)|0;v=Ka(k,8)|0;B=q<<8|r|v<<16|(Ka(k,8)|0)<<24;v=e+8|0;c[v>>2]=B;if(B>>>0<=536870911?(B<<2|0)<=(Ma(k)|0):0){B=c[v>>2]|0;r=B<<2;q=Ob(r)|0;x=e+4|0;c[x>>2]=q;y=Ob(r)|0;c[e>>2]=y;if((q|0)==0|(y|0)==0){c[v>>2]=0;C=-1;break}c:do if((B|0)>0){y=0;while(1){q=Ka(k,8)|0;r=Ka(k,8)|0;z=Ka(k,8)|0;u=r<<8|q|z<<16|(Ka(k,8)|0)<<24;if((u|0)<0){E=y;o=40;break}if((u|0)>(Ma(k)|0)){E=y;o=40;break}c[(c[x>>2]|0)+(y<<2)>>2]=u;z=Ob(u+1|0)|0;c[(c[e>>2]|0)+(y<<2)>>2]=z;z=c[(c[e>>2]|0)+(y<<2)>>2]|0;if(!z){F=y;o=42;break}if(!u)G=z;else{q=u;r=z;while(1){q=q+-1|0;a[r>>0]=Ka(k,8)|0;if(!q)break;else r=r+1|0}G=c[(c[e>>2]|0)+(y<<2)>>2]|0}a[G+u>>0]=0;y=y+1|0;if((y|0)>=(c[v>>2]|0))break c}if((o|0)==40){c[v>>2]=E;C=-20;break b}else if((o|0)==42){c[v>>2]=F;C=-1;break b}}while(0);x=(Ma(k)|0)>>31&-20;if((x|0)<0){C=x;break}else{n=2;break a}}c[v>>2]=0;C=-20}}else C=-20;while(0);gb(e);n=C;break}else if((m|0)==130){if((e|0)==0|(f|0)==0){n=-1;break}if(!(c[b+4>>2]|0)){n=-20;break}if(!(c[e+12>>2]|0)){n=-20;break}if(c[f>>2]|0){n=-20;break}A=Qb(1,712)|0;if(!A){n=-1;break}p=A+320|0;x=Ta(k,p)|0;if((x|0)>=0){B=_a(k,A)|0;if((B|0)<0)H=B;else{c[f>>2]=A;n=1;break}}else H=x;Ua(p);ab(A);Pb(A);n=H;break}else{n=-20;break}else n=-21}while(0);l=n;i=h;return l|0}function Oa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;e=c[b+2936+(d<<2)>>2]|0;f=c[b+2948+(d<<2)>>2]|0;g=c[a+72+(d<<5)>>2]|0;h=c[a+168>>2]|0;if((f|0)<=(e|0)){i=0;j=b+2840+(d<<2)|0;c[j>>2]=i;k=f-e|0;l=_(k,g)|0;m=l-i|0;n=b+2852+(d<<2)|0;c[n>>2]=m;return}o=(g|0)>0;p=1-g|0;q=~g;r=(c[a+72+(d<<5)+8>>2]|0)+(_(g,e)|0)|0;a=e;s=0;while(1){if(!a)if(o){t=r;u=0;v=s;while(1){w=h+(t<<2)|0;x=c[w>>2]|0;if(!(x&1))y=v;else{z=b+2960+(d<<4)+((x>>>6&3)<<2)|0;A=(c[z>>2]<<16)+x|0;c[w>>2]=A;c[z>>2]=A>>16;y=v+1|0}u=u+1|0;if((u|0)==(g|0)){B=y;break}else{t=t+1|0;v=y}}C=g+r|0;D=B}else{C=r;D=s}else if(o){v=r;t=0;u=-1;A=s;z=(c[h+(r-g<<2)>>2]|0)>>>6&3;w=-1;while(1){t=t+1|0;if((t|0)<(g|0))E=(c[h+(p+v<<2)>>2]|0)>>>6&3;else E=-1;x=h+(v<<2)|0;F=c[x>>2]|0;if(!(F&1)){G=-1;H=A}else{I=F>>>6&3;do switch(((w|0)==(I|0)&1)<<1|(u|0)==(I|0)|((z|0)==(I|0)&1)<<2|((E|0)==(I|0)&1)<<3|0){case 13:case 11:case 9:{J=(((c[h+(p+v<<2)>>2]>>16)*53|0)+((c[h+(v+-1<<2)>>2]>>16)*75|0)|0)/128|0;break}case 5:{J=((c[h+(v-g<<2)>>2]>>16)+(c[h+(v+-1<<2)>>2]>>16)|0)/2|0;break}case 12:case 6:case 4:{J=c[h+(v-g<<2)>>2]>>16;break}case 10:{J=((c[h+(p+v<<2)>>2]>>16)+(c[h+(v+q<<2)>>2]>>16)|0)/2|0;break}case 14:{J=((((c[h+(p+v<<2)>>2]>>16)+(c[h+(v+q<<2)>>2]>>16)|0)*3|0)+((c[h+(v-g<<2)>>2]>>16)*10|0)|0)/16|0;break}case 15:case 7:{K=v+-1|0;L=c[h+(K<<2)>>2]>>16;M=c[h+(K-g<<2)>>2]>>16;K=c[h+(v-g<<2)>>2]>>16;N=(((K+L|0)*29|0)+(_(M,-26)|0)|0)/32|0;O=N-K|0;if((((O|0)>-1?O:0-O|0)|0)<=128){O=N-L|0;if((((O|0)>-1?O:0-O|0)|0)>128)J=L;else{L=N-M|0;J=(((L|0)>-1?L:0-L|0)|0)>128?M:N}}else J=K;break}case 8:{J=c[h+(p+v<<2)>>2]>>16;break}case 3:case 1:{J=c[h+(v+-1<<2)>>2]>>16;break}case 2:{J=c[h+(v+q<<2)>>2]>>16;break}default:J=c[b+2960+(d<<4)+(I<<2)>>2]|0}while(0);K=F+(J<<16)|0;c[x>>2]=K;c[b+2960+(d<<4)+(I<<2)>>2]=K>>16;G=I;H=A+1|0}if((t|0)==(g|0)){P=H;break}else{K=z;v=v+1|0;u=G;A=H;z=E;w=K}}C=g+r|0;D=P}else{C=r;D=s}a=a+1|0;if((a|0)==(f|0)){i=D;break}else{r=C;s=D}}j=b+2840+(d<<2)|0;c[j>>2]=i;k=f-e|0;l=_(k,g)|0;m=l-i|0;n=b+2852+(d<<2)|0;c[n>>2]=m;return}function Pa(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((b|0)==0|(d|0)==0){f=0;return f|0}g=ib(57136,16)|0;do if((g|0)!=0?(mb(g,b,3)|0)>=0:0){h=g+51656|0;if(($a(h,d)|0)<0){nb(g);break}i=Ob((c[g+180>>2]|0)*129|0)|0;c[g+53512>>2]=i;if(!i){ab(h);nb(g);break}else j=0;do{c[g+880+(j*24|0)>>2]=g+2416+(j*768|0);c[g+880+(j*24|0)+4>>2]=g+2416+(j*768|0)+128;c[g+880+(j*24|0)+8>>2]=g+2416+(j*768|0)+256;c[g+880+(j*24|0)+12>>2]=g+2416+(j*768|0)+384;c[g+880+(j*24|0)+16>>2]=g+2416+(j*768|0)+512;c[g+880+(j*24|0)+20>>2]=g+2416+(j*768|0)+640;j=j+1|0}while((j|0)!=64);lb(g+880|0,g+53528|0,d+320|0);h=0;do{i=c[g+880+(h*24|0)>>2]|0;k=c[g+880+(h*24|0)+8>>2]|0;l=c[g+880+(h*24|0)+16>>2]|0;m=c[g+880+(h*24|0)+4>>2]|0;n=c[g+880+(h*24|0)+12>>2]|0;o=c[g+880+(h*24|0)+20>>2]|0;c[g+53784+(h<<2)>>2]=0-((e[k+34>>1]|0)+(e[k+24>>1]|0)+(e[k+36>>1]|0)+(e[k+48>>1]|0)+(e[l+24>>1]|0)+(e[l+34>>1]|0)+(e[l+36>>1]|0)+(e[l+48>>1]|0)+(e[n+24>>1]|0)+(e[n+34>>1]|0)+(e[n+36>>1]|0)+(e[n+48>>1]|0)+(e[o+24>>1]|0)+(e[o+34>>1]|0)+(e[o+36>>1]|0)+(e[o+48>>1]|0)+((e[i+34>>1]|0)+(e[i+24>>1]|0)+(e[i+36>>1]|0)+(e[i+48>>1]|0)+(e[m+24>>1]|0)+(e[m+34>>1]|0)+(e[m+36>>1]|0)+(e[m+48>>1]|0)<<1)>>11);h=h+1|0}while((h|0)!=64);h=g+51568|0;m=d+576|0;i=h+64|0;do{a[h>>0]=a[m>>0]|0;h=h+1|0;m=m+1|0}while((h|0)<(i|0));c[g+53524>>2]=0;c[g+54040>>2]=0;c[g+54044>>2]=0;c[g+54048>>2]=0;c[g+54104>>2]=0;c[g+54108>>2]=0;m=g+856|0;c[m>>2]=0;c[m+4>>2]=0;f=g;return f|0}while(0);jb(g);f=0;return f|0}function Qa(a){a=a|0;if(!a)return;Pb(c[a+54048>>2]|0);Pb(c[a+54044>>2]|0);Pb(c[a+54040>>2]|0);Pb(c[a+53512>>2]|0);ab(a+51656|0);nb(a);jb(a);return}function Ra(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ma=0,Na=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,lb=0,mb=0,nb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Qb=0,Rb=0,Wb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0;j=i;i=i+1088|0;k=j;l=j+312|0;m=j+304|0;n=j+256|0;if((f|0)==0|(g|0)==0){o=-1;i=j;return o|0}p=c[g+4>>2]|0;do if(!p){q=f+872|0;a[q>>0]=1;c[f+232>>2]=0;r=q;s=0}else{q=f+51636|0;Ja(q,c[g>>2]|0,p);if(La(q)|0){o=-24;i=j;return o|0}t=f+872|0;a[t>>0]=La(q)|0;a[f+875>>0]=Ka(q,6)|0;do if(La(q)|0){a[f+876>>0]=Ka(q,6)|0;if(!(La(q)|0)){a[f+874>>0]=2;break}else{a[f+877>>0]=Ka(q,6)|0;a[f+874>>0]=3;break}}else a[f+874>>0]=1;while(0);if(!(a[t>>0]|0)){if(Ka(q,3)|0){o=-23;i=j;return o|0}if(!(a[t>>0]|0)){u=c[f+216>>2]|0;v=c[f+184>>2]|0;w=c[f+188>>2]|0;x=c[f+168>>2]|0;y=0;z=0;A=0;B=0;while(1){y=(c[f+72+(z<<5)+28>>2]|0)+y|0;if(B>>>0<y>>>0){D=A;E=B;while(1){F=w+E|0;G=D;H=0;while(1){if((d[F>>0]|0)>>>2&15&1<<H){I=c[v+(E<<6)+(H<<4)>>2]|0;if((I|0)>-1){J=x+(I<<2)|0;c[J>>2]=c[J>>2]&-1986|385;c[u+(G<<2)>>2]=I;K=G+1|0}else K=G;I=c[v+(E<<6)+(H<<4)+4>>2]|0;if((I|0)>-1){J=x+(I<<2)|0;c[J>>2]=c[J>>2]&-1986|385;c[u+(K<<2)>>2]=I;L=K+1|0}else L=K;I=c[v+(E<<6)+(H<<4)+8>>2]|0;if((I|0)>-1){J=x+(I<<2)|0;c[J>>2]=c[J>>2]&-1986|385;c[u+(L<<2)>>2]=I;M=L+1|0}else M=L;I=c[v+(E<<6)+(H<<4)+12>>2]|0;if((I|0)>-1){J=x+(I<<2)|0;c[J>>2]=c[J>>2]&-1986|385;c[u+(M<<2)>>2]=I;N=M+1|0}else N=M}else N=G;H=H+1|0;if((H|0)==4){O=N;break}else G=N}E=E+1|0;if((E|0)==(y|0)){P=O;Q=y;break}else D=O}}else{P=A;Q=B}c[f+220+(z<<2)>>2]=P-A;z=z+1|0;if((z|0)==3){R=P;break}else{A=P;B=Q}}c[f+232>>2]=R;r=t;s=R;break}}B=La(q)|0;A=f+188|0;z=c[A>>2]|0;y=f+192|0;u=c[y>>2]|0;if(u){x=B;B=0;v=0;while(1){w=bb(q,224)|0;if((w|0)>15){D=w&31;S=D+6+(Ka(q,w-D>>4)|0)|0}else S=w;w=(x&255)<<1&2;D=0-S|0;E=v+1|0;G=v-(u>>>0>E>>>0?u:E)|0;E=G>>>0<D>>>0?D:G;G=v;v=v-E|0;do{D=z+G|0;a[D>>0]=a[D>>0]&-4|w;G=G+1|0}while((G|0)!=(v|0));G=_(E,x)|0;w=v>>>0<u>>>0;D=B-G|0;if(S>>>0>4128&w)T=La(q)|0;else T=(x|0)==0&1;if(!w){U=G;V=D;W=B;break}else{x=T;B=D}}B=c[y>>2]|0;a:do if(V>>>0<B>>>0){x=c[A>>2]|0;u=0;while(1)if(!(a[x+u>>0]&2)){X=u;break}else u=u+1|0;u=La(q)|0;E=X;while(1){v=bb(q,224)|0;if((v|0)>15){z=v&31;Y=z+6+(Ka(q,v-z>>4)|0)|0}else Y=v;if(E>>>0>=B>>>0)break a;v=u&1;z=Y;D=E;while(1){G=x+D|0;w=a[G>>0]|0;if(!(w&2)){if(!z){Z=D;break}a[G>>0]=w&-2|v;$=z+-1|0}else $=z;D=D+1|0;if(D>>>0>=B>>>0)break a;else z=$}if(Y>>>0<4129){u=(u|0)==0&1;E=Z;continue}else{u=La(q)|0;E=Z;continue}}}while(0);if((W|0)!=(U|0))aa=(La(q)|0)==0&1;else aa=0}else aa=0;B=c[f+184>>2]|0;y=c[A>>2]|0;E=c[f+200>>2]|0;u=c[f+168>>2]|0;x=c[f+216>>2]|0;z=c[f+180>>2]|0;D=aa;v=0;w=0;G=0;H=0;F=0;I=0;while(1){w=(c[f+72+(H<<5)+28>>2]|0)+w|0;if(I>>>0<w>>>0){J=(H|0)==0;ba=D;ca=v;da=G;ea=F;fa=I;while(1){ga=y+fa|0;ha=fa<<2;if(J){ia=ba;ja=ca;ka=da;la=0;ma=ea;while(1){if(!((d[ga>>0]|0)>>>2&15&1<<la)){na=ia;oa=ja;pa=ka;qa=ma}else{ra=0;sa=ia;ta=ja;ua=ka;va=0;wa=ma;while(1){xa=c[B+(fa<<6)+(la<<4)+(ra<<2)>>2]|0;if((xa|0)>-1){Aa=a[ga>>0]|0;do if(!(Aa&1)){if(Aa&2){if((wa|0)<1){Ba=(sa|0)==0&1;Ca=bb(q,272)|0}else{Ba=sa;Ca=wa}Da=Ca+-1|0;if(!Ba){Ea=0;Fa=Da}else{Ga=Ba;Ha=Ba;Ia=Da;Ma=67;break}}else{Ea=sa;Fa=wa}c[x+(z+~ua<<2)>>2]=xa;Na=0;Pa=Ea;Qa=ta;Ra=ua+1|0;Sa=Fa}else{Ga=1;Ha=sa;Ia=wa;Ma=67}while(0);if((Ma|0)==67){Ma=0;c[x+(ta<<2)>>2]=xa;Na=Ga;Pa=Ha;Qa=ta+1|0;Ra=ua;Sa=Ia}Aa=u+(xa<<2)|0;c[Aa>>2]=Na&1|c[Aa>>2]&-194|192;Ta=Pa;Ua=Qa;Wa=Ra;Xa=Na|va;Ya=Sa}else{Ta=sa;Ua=ta;Wa=ua;Xa=va;Ya=wa}ra=ra+1|0;if((ra|0)==4){Za=Ta;_a=Ua;$a=Wa;ab=Xa;cb=Ya;break}else{sa=Ta;ta=Ua;ua=Wa;va=Xa;wa=Ya}}a[E+(la|ha)>>0]=ab;na=Za;oa=_a;pa=$a;qa=cb}la=la+1|0;if((la|0)==4){db=na;eb=oa;fb=pa;gb=qa;break}else{ia=na;ja=oa;ka=pa;ma=qa}}}else{ma=ba;ka=ca;ja=da;ia=0;la=ea;while(1){if(!((d[ga>>0]|0)>>>2&15&1<<ia)){hb=ma;ib=ka;jb=ja;lb=la}else{ha=0;wa=ma;va=ka;ua=ja;ta=la;while(1){sa=c[B+(fa<<6)+(ia<<4)+(ha<<2)>>2]|0;if((sa|0)>-1){ra=a[ga>>0]|0;do if(!(ra&1)){if(ra&2){if((ta|0)<1){mb=(wa|0)==0&1;nb=bb(q,272)|0}else{mb=wa;nb=ta}Aa=nb+-1|0;if(!mb){wb=0;xb=Aa}else{yb=mb;zb=mb;Ab=Aa;Ma=79;break}}else{wb=wa;xb=ta}c[x+(z+~ua<<2)>>2]=sa;Bb=0;Cb=wb;Db=va;Eb=ua+1|0;Fb=xb}else{yb=1;zb=wa;Ab=ta;Ma=79}while(0);if((Ma|0)==79){Ma=0;c[x+(va<<2)>>2]=sa;Bb=yb;Cb=zb;Db=va+1|0;Eb=ua;Fb=Ab}ra=u+(sa<<2)|0;c[ra>>2]=Bb&1|c[ra>>2]&-194|192;Gb=Cb;Hb=Db;Ib=Eb;Jb=Fb}else{Gb=wa;Hb=va;Ib=ua;Jb=ta}ha=ha+1|0;if((ha|0)==4){hb=Gb;ib=Hb;jb=Ib;lb=Jb;break}else{wa=Gb;va=Hb;ua=Ib;ta=Jb}}}ia=ia+1|0;if((ia|0)==4){db=hb;eb=ib;fb=jb;gb=lb;break}else{ma=hb;ka=ib;ja=jb;la=lb}}}fa=fa+1|0;if((fa|0)==(w|0)){Kb=db;Lb=eb;Mb=fb;Nb=gb;Qb=w;break}else{ba=db;ca=eb;da=fb;ea=gb}}}else{Kb=D;Lb=v;Mb=G;Nb=F;Qb=I}c[f+220+(H<<2)>>2]=Lb-v;H=H+1|0;if((H|0)==3){Rb=Lb;break}else{D=Kb;v=Lb;G=Mb;F=Nb;I=Qb}}c[f+232>>2]=Rb;r=t;s=Rb}while(0);do if(!(a[r>>0]|0))Wb=s;else{Rb=f+524|0;Qb=f+528|0;if((c[Rb>>2]|0)>=0?(c[Qb>>2]|0)>=0:0){Wb=s;break}c[Rb>>2]=0;c[Qb>>2]=0;c[f+532>>2]=0;Qb=c[f+248>>2]|0;c[f+556>>2]=Qb;c[f+552>>2]=Qb;c[f+548>>2]=Qb;Yb=f+54056|0;Zb=f+236|0;_b=Yb+48|0;do{c[Yb>>2]=c[Zb>>2];Yb=Yb+4|0;Zb=Zb+4|0}while((Yb|0)<(_b|0));t=c[f+576>>2]|0;Rb=(t|0)>-1?t:0-t|0;t=c[f+8>>2]|0;Nb=t+32|0;Mb=c[f+580>>2]|0;Ub(Qb+(-16-(_(Rb,t+15|0)|0))|0,-128,(_(Rb,Nb)|0)+16+(_(((Mb|0)>-1?Mb:0-Mb|0)<<1,Nb>>((c[f+48>>2]|0)>>>1&1^1))|0)|0)|0;Wb=c[f+232>>2]|0}while(0);s=f+232|0;if((Wb|0)<1){Wb=f+848|0;Nb=c[Wb>>2]|0;Mb=c[Wb+4>>2]|0;Wb=Tb(d[f+873>>0]|0,0,Nb|0,Mb|0)|0;Rb=Vb(Wb|0,C|0,c[f+60>>2]|0)|0;Wb=C;t=f+856|0;Lb=t;Kb=c[Lb>>2]|0;gb=c[Lb+4>>2]|0;Lb=Sb(Kb|0,gb|0,Nb|0,Mb|0)|0;Mb=Tb(Lb|0,C|0,Rb|0,Wb|0)|0;Wb=C;Rb=f+864|0;c[Rb>>2]=Mb;c[Rb+4>>2]=Wb;Rb=Tb(Kb|0,gb|0,1,0)|0;gb=t;c[gb>>2]=Rb;c[gb+4>>2]=C;if(!h){o=1;i=j;return o|0}gb=h;c[gb>>2]=Mb;c[gb+4>>2]=Wb;o=1;i=j;return o|0}Wb=f+528|0;gb=f+524|0;Mb=c[gb>>2]|0;Rb=c[Wb>>2]|0;t=0;while(1)if((t|0)==(Mb|0)|(t|0)==(Rb|0))t=t+1|0;else{$b=t;break}t=f+532|0;c[t>>2]=$b;Rb=f+548|0;Mb=f+556|0;c[Mb>>2]=c[f+236+($b*48|0)+12>>2];if(a[r>>0]|0){Kb=f+51636|0;Lb=Ka(Kb,3)|0;if(!Lb){Nb=k;c[Nb>>2]=0;c[Nb+4>>2]=0;a[k+(Ka(Kb,3)|0)>>0]=0;a[k+(Ka(Kb,3)|0)>>0]=1;a[k+(Ka(Kb,3)|0)>>0]=2;a[k+(Ka(Kb,3)|0)>>0]=3;a[k+(Ka(Kb,3)|0)>>0]=4;a[k+(Ka(Kb,3)|0)>>0]=5;a[k+(Ka(Kb,3)|0)>>0]=6;a[k+(Ka(Kb,3)|0)>>0]=7;ac=k}else ac=400+(Lb+-1<<3)|0;Nb=(Lb|0)==7?456:480;Lb=f+200|0;fb=c[Lb>>2]|0;eb=f+212|0;db=c[eb>>2]|0;if(db){lb=0;do{jb=fb+lb|0;if((a[jb>>0]|0)>0)a[jb>>0]=a[ac+(bb(Kb,Nb)|0)>>0]|0;lb=lb+1|0}while((lb|0)!=(db|0))}db=f+48|0;lb=c[200+(c[db>>2]<<2)>>2]|0;Nb=(La(Kb)|0)!=0;ac=Nb?536:672;Nb=c[db>>2]|0;db=a[192+Nb>>0]|0;fb=db&255;jb=c[f+168>>2]|0;ib=c[f+176>>2]|0;hb=c[f+196>>2]|0;Jb=c[Lb>>2]|0;Lb=c[eb>>2]|0;if(Lb){eb=(db&255)>4;db=l+2|0;Ib=l+4|0;Hb=l+6|0;Gb=0;Fb=0;Eb=0;while(1){Db=a[Jb+Fb>>0]|0;Cb=Db<<24>>24;if(Db<<24>>24==7){Bb=c[hb+(Fb*48|0)>>2]|0;Ab=jb+(Bb<<2)|0;zb=c[Ab>>2]|0;if(!(zb&1)){b[l>>1]=0;bc=Gb}else{c[Ab>>2]=zb&-1985|1856;zb=(bb(Kb,ac)|0)+224|0;Ab=(((bb(Kb,ac)|0)<<8)+57344|zb&255)&65535;b[l>>1]=Ab;b[ib+(Bb<<1)>>1]=Ab;bc=Ab}Ab=c[hb+(Fb*48|0)+4>>2]|0;Bb=jb+(Ab<<2)|0;zb=c[Bb>>2]|0;if(!(zb&1)){b[db>>1]=0;cc=bc}else{c[Bb>>2]=zb&-1985|1856;zb=(bb(Kb,ac)|0)+224|0;Bb=(((bb(Kb,ac)|0)<<8)+57344|zb&255)&65535;b[db>>1]=Bb;b[ib+(Ab<<1)>>1]=Bb;cc=Bb}Bb=c[hb+(Fb*48|0)+8>>2]|0;Ab=jb+(Bb<<2)|0;zb=c[Ab>>2]|0;if(!(zb&1)){b[Ib>>1]=0;dc=cc}else{c[Ab>>2]=zb&-1985|1856;zb=(bb(Kb,ac)|0)+224|0;Ab=(((bb(Kb,ac)|0)<<8)+57344|zb&255)&65535;b[Ib>>1]=Ab;b[ib+(Bb<<1)>>1]=Ab;dc=Ab}Ab=c[hb+(Fb*48|0)+12>>2]|0;Bb=jb+(Ab<<2)|0;zb=c[Bb>>2]|0;if(!(zb&1)){b[Hb>>1]=0;ec=dc}else{c[Bb>>2]=zb&-1985|1856;zb=(bb(Kb,ac)|0)+224|0;Bb=(((bb(Kb,ac)|0)<<8)+57344|zb&255)&65535;b[Hb>>1]=Bb;b[ib+(Ab<<1)>>1]=Bb;ec=Bb}ya[lb&7](k,l);if(eb){Bb=4;do{Ab=d[144+(Nb*12|0)+Bb>>0]|0;zb=Ab&3;yb=c[hb+(Fb*48|0)+(Ab>>>2<<4)+(zb<<2)>>2]|0;Ab=jb+(yb<<2)|0;xb=c[Ab>>2]|0;if(xb&1){c[Ab>>2]=xb&-1985|1856;b[ib+(yb<<1)>>1]=b[k+(zb<<1)>>1]|0}Bb=Bb+1|0}while((Bb|0)<(fb|0));fc=ec;gc=Gb}else{fc=ec;gc=Gb}}else if(Db<<24>>24==-1){fc=Gb;gc=Eb}else{if((Cb|0)==2){Bb=(bb(Kb,ac)|0)+224|0;Qb=(((bb(Kb,ac)|0)<<8)+57344|Bb&255)&65535;hc=Qb;ic=Qb;jc=Gb}else if((Cb|0)==4){hc=Eb;ic=Eb;jc=Gb}else if((Cb|0)==6){Qb=(bb(Kb,ac)|0)+224|0;hc=Gb;ic=(((bb(Kb,ac)|0)<<8)+57344|Qb&255)&65535;jc=Eb}else if((Cb|0)==3){hc=Gb;ic=Gb;jc=Eb}else{hc=Gb;ic=0;jc=Eb}Qb=268505377>>>(Cb<<2)<<6&192|Cb<<8&1792;Bb=0;do{zb=d[144+(Nb*12|0)+Bb>>0]|0;yb=c[hb+(Fb*48|0)+(zb>>>2<<4)+((zb&3)<<2)>>2]|0;zb=jb+(yb<<2)|0;xb=c[zb>>2]|0;if(xb&1){c[zb>>2]=Qb|xb&-1985;b[ib+(yb<<1)>>1]=ic}Bb=Bb+1|0}while((Bb|0)<(fb|0));fc=hc;gc=jc}Fb=Fb+1|0;if((Fb|0)==(Lb|0))break;else{Gb=fc;Eb=gc}}}}else{gc=f+856|0;Eb=c[gc+4>>2]|0;fc=f+848|0;c[fc>>2]=c[gc>>2];c[fc+4>>2]=Eb}Eb=c[s>>2]|0;b:do if((Eb|0)>=1){s=c[f+168>>2]|0;fc=c[f+216>>2]|0;gc=f+874|0;if((a[gc>>0]|0)==1){Gb=0;while(1){Lb=s+(c[fc+(Gb<<2)>>2]<<2)|0;c[Lb>>2]=c[Lb>>2]&-61;Gb=Gb+1|0;if((Gb|0)==(Eb|0))break b}}Gb=f+51636|0;Lb=La(Gb)|0;Fb=0;jc=0;while(1){hc=bb(Gb,224)|0;if((hc|0)>15){fb=hc&31;kc=fb+6+(Ka(Gb,hc-fb>>4)|0)|0}else kc=hc;hc=(kc|0)>4128;fb=Lb<<2&60;ic=Fb;ib=jc;jb=kc;while(1){hb=ic+1|0;Nb=s+(c[fc+(ic<<2)>>2]<<2)|0;c[Nb>>2]=c[Nb>>2]&-61|fb;Nb=ib+Lb|0;if((jb|0)<=1){lc=hb;mc=Nb;break}if((hb|0)<(Eb|0)){ic=hb;ib=Nb;jb=jb+-1|0}else{lc=hb;mc=Nb;break}}jb=(lc|0)<(Eb|0);if(hc&jb)nc=La(Gb)|0;else nc=(Lb|0)==0&1;if(jb){Lb=nc;Fb=lc;jc=mc}else{oc=mc;break}}if((oc|0)>0&(a[gc>>0]|0)==3){jc=0;while(1)if(!(c[s+(c[fc+(jc<<2)>>2]<<2)>>2]&60))jc=jc+1|0;else{pc=jc;break}jc=La(Gb)|0;gc=pc;while(1){Fb=bb(Gb,224)|0;if((Fb|0)>15){Lb=Fb&31;qc=Lb+6+(Ka(Gb,Fb-Lb>>4)|0)|0}else qc=Fb;if((gc|0)<(Eb|0)){rc=gc;sc=qc}else break b;while(1){Fb=s+(c[fc+(rc<<2)>>2]<<2)|0;Lb=c[Fb>>2]|0;jb=Lb>>>2;if(!(jb&15))tc=sc;else{if((sc|0)<1){uc=rc;break}c[Fb>>2]=jb+jc<<2&60|Lb&-61;tc=sc+-1|0}rc=rc+1|0;if((rc|0)>=(Eb|0))break b;else sc=tc}if((qc|0)<4129){jc=(jc|0)==0&1;gc=uc;continue}else{jc=La(Gb)|0;gc=uc;continue}}}}while(0);uc=f+220|0;qc=c[uc>>2]|0;tc=0;do{c[l+(tc<<2)>>2]=qc;tc=tc+1|0}while((tc|0)!=64);tc=f+224|0;qc=c[tc>>2]|0;sc=0;do{c[l+256+(sc<<2)>>2]=qc;sc=sc+1|0}while((sc|0)!=64);sc=f+228|0;qc=c[sc>>2]|0;Eb=0;do{c[l+512+(Eb<<2)>>2]=qc;Eb=Eb+1|0}while((Eb|0)!=64);Eb=f+51636|0;c[m>>2]=Ka(Eb,4)|0;qc=m+4|0;c[qc>>2]=Ka(Eb,4)|0;c[f+52744>>2]=0;rc=f+53512|0;pc=c[rc>>2]|0;oc=f+168|0;mc=c[oc>>2]|0;lc=f+216|0;nc=c[lc>>2]|0;kc=k+252|0;gc=0;Gb=0;jc=0;fc=0;s=0;while(1){hc=c[f+220+(fc<<2)>>2]|0;Lb=jc;jc=hc+jc|0;Ub(k|0,0,256)|0;c[f+52744+(fc<<8)>>2]=gc;c[f+51976+(fc<<8)>>2]=s;jb=jc-Gb|0;Fb=(jb|0)<(gc|0)?jb:gc;jb=gc-Fb|0;if((Fb|0)>0){ib=Gb+~Lb-hc|0;ic=~gc;fb=(ib|0)>(ic|0)?ib:ic;ic=Fb;ib=Gb;while(1){Nb=mc+(c[nc+(ib<<2)>>2]<<2)|0;c[Nb>>2]=c[Nb>>2]&65535;if((ic|0)>1){ic=ic+-1|0;ib=ib+1|0}else break}vc=Gb+1-fb+((fb|0)>-2?fb:-2)|0}else vc=Gb;c:do if((jc|0)>(vc|0)){ib=~Lb-hc|0;ic=f+51656+(c[m+(fc+1>>1<<2)>>2]<<2)|0;Nb=Fb;hb=vc;ac=s;while(1){Kb=hb;ec=ac;while(1){eb=bb(Eb,c[ic>>2]|0)|0;lb=ec+1|0;a[pc+ec>>0]=eb;if((eb|0)<15){Hb=Ka(Eb,d[880+eb>>0]|0)|0;dc=ec+2|0;a[pc+lb>>0]=Hb;if(!eb){a[pc+dc>>0]=Hb>>>8;wc=ec+3|0}else wc=dc;xc=Hb<<((eb|0)<2?-13:0)+((eb|0)<12?21:0);yc=wc}else{xc=0;yc=lb}lb=(c[896+(eb<<2)>>2]|0)+xc|0;eb=(lb|0)==0?2147483647:lb>>>8&4095;if(eb){zc=eb;Ac=Kb;Bc=yc;break}eb=lb&255;Hb=k+(eb<<2)|0;c[Hb>>2]=(c[Hb>>2]|0)+1;Hb=Kb+1|0;dc=mc+(c[nc+(Kb<<2)>>2]<<2)|0;c[dc>>2]=c[dc>>2]&65535|((eb|0)!=0?0:(lb^0-(lb&1048576))>>21<<16);if((jc|0)>(Hb|0)){Kb=Hb;ec=yc}else{Cc=Nb;Dc=0;Ec=Hb;Fc=yc;break c}}ec=jc-Ac|0;Kb=(ec|0)<(zc|0)?ec-zc|0:0;ec=Kb+zc|0;Hb=ec+Nb|0;if((ec|0)>0){lb=Ac+ib|0;eb=~zc;dc=(lb|0)>(eb|0)?lb:eb;eb=ec;ec=Ac;while(1){lb=mc+(c[nc+(ec<<2)>>2]<<2)|0;c[lb>>2]=c[lb>>2]&65535;if((eb|0)>1){eb=eb+-1|0;ec=ec+1|0}else break}Gc=Ac+1-dc+((dc|0)>-2?dc:-2)|0}else Gc=Ac;if((jc|0)>(Gc|0)){Nb=Hb;hb=Gc;ac=Bc}else{Hc=Kb;Ic=Hb;Jc=Gc;Kc=Bc;break}}Cc=Ic;Dc=0-Hc|0;Ec=Jc;Fc=Kc}else{Cc=Fb;Dc=jb;Ec=vc;Fc=s}while(0);jb=(c[kc>>2]|0)+Cc|0;c[kc>>2]=jb;Fb=62;hc=jb;while(1){jb=k+(Fb<<2)|0;hc=(c[jb>>2]|0)+hc|0;c[jb>>2]=hc;if((Fb|0)<=0){Lc=63;break}else Fb=Fb+-1|0}while(1){Fb=l+(fc<<8)+(Lc<<2)|0;c[Fb>>2]=(c[Fb>>2]|0)-(c[k+(Lc<<2)>>2]|0);if((Lc|0)>0)Lc=Lc+-1|0;else break}fc=fc+1|0;if((fc|0)==3){Mc=Dc;Nc=Fc;break}else{gc=Dc;Gb=Ec;s=Fc}}Fc=f+53520|0;c[Fc>>2]=Nc;Nc=Ka(Eb,4)|0;c[m>>2]=Nc;s=Ka(Eb,4)|0;c[qc>>2]=s;Ec=Nc;Nc=s;s=Mc;Mc=1;Gb=1;while(1){Ec=Ec+16|0;c[m>>2]=Ec;Nc=Nc+16|0;c[qc>>2]=Nc;Dc=d[1264+Mc>>0]|0;if((Gb|0)<(Dc|0)){gc=Gb+1|0;fc=c[Fc>>2]|0;Lc=s;Cc=Gb;while(1){vc=c[rc>>2]|0;Kc=64-Cc|0;Jc=(Kc|0)>0;Hc=Lc;Ic=0;Bc=fc;while(1){c[f+52744+(Ic<<8)+(Cc<<2)>>2]=Hc;c[f+51976+(Ic<<8)+(Cc<<2)>>2]=Bc;Gc=c[l+(Ic<<8)+(Cc<<2)>>2]|0;Ub(k|0,0,256)|0;if(Hc>>>0<Gc>>>0){jc=f+51656+(c[m+(Ic+1>>1<<2)>>2]<<2)|0;Ac=Hc;nc=Hc;mc=0;zc=Bc;while(1){yc=mc+Ac|0;xc=bb(Eb,c[jc>>2]|0)|0;wc=zc+1|0;a[vc+zc>>0]=xc;if((xc|0)<15){pc=Ka(Eb,d[880+xc>>0]|0)|0;Fb=zc+2|0;a[vc+wc>>0]=pc;if(!xc){a[vc+Fb>>0]=pc>>>8;Oc=zc+3|0}else Oc=Fb;Pc=pc<<((xc|0)<2?-13:0)+((xc|0)<12?21:0);Qc=Oc}else{Pc=0;Qc=wc}wc=(c[896+(xc<<2)>>2]|0)+Pc|0;xc=(wc|0)==0?2147483647:wc>>>8&4095;if(!xc){pc=k+((wc&255)<<2)|0;c[pc>>2]=(c[pc>>2]|0)+1;Rc=0;Sc=nc+1|0}else{Rc=xc;Sc=nc}nc=Rc+Sc|0;if(nc>>>0>=Gc>>>0){Tc=Rc;Uc=yc;Vc=Sc;Wc=Qc;break}else{Ac=Rc;mc=yc;zc=Qc}}Xc=Tc;Yc=c[kc>>2]|0;Zc=Uc;_c=Vc;$c=Wc}else{Xc=Hc;Yc=0;Zc=0;_c=0;$c=Bc}zc=Gc-_c|0;mc=Zc+Yc+zc|0;c[kc>>2]=mc;Ac=62;nc=mc;while(1){mc=k+(Ac<<2)|0;nc=(c[mc>>2]|0)+nc|0;c[mc>>2]=nc;if((Ac|0)<=0)break;else Ac=Ac+-1|0}Ac=Xc-zc|0;if(Jc){nc=Kc;do{Gc=nc;nc=nc+-1|0;mc=l+(Ic<<8)+(nc+Cc<<2)|0;c[mc>>2]=(c[mc>>2]|0)-(c[k+(nc<<2)>>2]|0)}while((Gc|0)>1)}Ic=Ic+1|0;if((Ic|0)==3){ad=Ac;bd=$c;break}else{Hc=Ac;Bc=$c}}c[Fc>>2]=bd;Bc=Cc+1|0;if((Bc|0)==(Dc|0)){cd=ad;break}else{fc=bd;Lc=ad;Cc=Bc}}dd=cd;ed=(gc|0)>(Dc|0)?gc:Dc}else{dd=s;ed=Gb}Mc=Mc+1|0;if((Mc|0)==5)break;else{s=dd;Gb=ed}}ed=f+848|0;Gb=c[ed>>2]|0;dd=c[ed+4>>2]|0;ed=Tb(d[f+873>>0]|0,0,Gb|0,dd|0)|0;s=Vb(ed|0,C|0,c[f+60>>2]|0)|0;ed=C;Mc=f+856|0;cd=Mc;ad=c[cd>>2]|0;bd=c[cd+4>>2]|0;cd=Sb(ad|0,bd|0,Gb|0,dd|0)|0;dd=Tb(cd|0,C|0,s|0,ed|0)|0;ed=C;s=f+864|0;c[s>>2]=dd;c[s+4>>2]=ed;s=Tb(ad|0,bd|0,1,0)|0;bd=Mc;c[bd>>2]=s;c[bd+4>>2]=C;if(h){bd=h;c[bd>>2]=dd;c[bd+4>>2]=ed}ed=f+54112|0;bd=f+48|0;dd=f+57120|0;c[dd>>2]=4<<((c[bd>>2]|0)>>>1&1^1);Xb(f+54624|0,f+51976|0,768)|0;Xb(f+56160|0,f+52744|0,768)|0;h=c[lc>>2]|0;s=f+180|0;Mc=c[s>>2]|0;c[f+56928>>2]=h;c[f+56940>>2]=h+(Mc<<2);ad=c[uc>>2]|0;cd=ad-(c[f+84>>2]|0)+Mc|0;c[f+56932>>2]=h+(ad<<2);c[f+56944>>2]=h+(cd<<2);Mc=c[tc>>2]|0;Gb=h+(Mc-(c[f+116>>2]|0)+cd<<2)|0;c[f+56936>>2]=h+(Mc+ad<<2);c[f+56948>>2]=Gb;Gb=a[f+874>>0]|0;if(Gb<<24>>24){ad=Gb&255;Gb=0;do{Mc=f+875+Gb|0;c[f+56976+(Gb<<3)>>2]=c[f+880+((d[Mc>>0]|0)*24|0)>>2];c[f+56976+(Gb<<3)+4>>2]=c[f+880+((d[Mc>>0]|0)*24|0)+4>>2];Gb=Gb+1|0}while((Gb|0)!=(ad|0));fd=0;do{Gb=f+875+fd|0;c[f+57e3+(fd<<3)>>2]=c[f+880+((d[Gb>>0]|0)*24|0)+8>>2];c[f+57e3+(fd<<3)+4>>2]=c[f+880+((d[Gb>>0]|0)*24|0)+12>>2];fd=fd+1|0}while((fd|0)!=(ad|0));gd=0;do{fd=f+875+gd|0;c[f+57024+(gd<<3)>>2]=c[f+880+((d[fd>>0]|0)*24|0)+16>>2];c[f+57024+(gd<<3)+4>>2]=c[f+880+((d[fd>>0]|0)*24|0)+20>>2];gd=gd+1|0}while((gd|0)!=(ad|0))}Yb=f+57072|0;_b=Yb+48|0;do{c[Yb>>2]=0;Yb=Yb+4|0}while((Yb|0)<(_b|0));ad=f+875|0;gd=a[(d[ad>>0]|0)+(f+51568)>>0]|0;fd=gd<<24>>24!=0;Gb=f+57124|0;c[Gb>>2]=fd&1;if(fd)rb(f+54368|0,gd&255);gd=f+53524|0;fd=c[gd>>2]|0;Mc=f+54040|0;h=c[Mc>>2]|0;cd=(h|0)==0;d:do if((fd|0)<1)if(cd)Ma=245;else{Pb(h);c[Mc>>2]=0;Fc=f+54044|0;Pb(c[Fc>>2]|0);c[Fc>>2]=0;Fc=f+54048|0;Pb(c[Fc>>2]|0);c[Fc>>2]=0;Ma=245}else{if(!cd){Fc=c[lc>>2]|0;$c=(c[tc>>2]|0)+(c[uc>>2]|0)+(c[sc>>2]|0)|0;l=a[ad>>0]|0;if(($c|0)>0){Xc=0;do{a[h+(c[Fc+(Xc<<2)>>2]|0)>>0]=l;Xc=Xc+1|0}while((Xc|0)!=($c|0));hd=c[gd>>2]|0}else hd=fd}else{if(a[r>>0]|0){Ma=245;break}$c=c[s>>2]|0;Xc=Ob($c)|0;c[Mc>>2]=Xc;if(!Xc){Ma=245;break}Ub(Xc|0,a[ad>>0]|0,$c|0)|0;hd=fd}$c=f+54044|0;Xc=c[$c>>2]|0;l=(Xc|0)==0;if((hd|0)<2){if(l){Ma=245;break}Pb(Xc);c[$c>>2]=0;Xc=f+54048|0;Pb(c[Xc>>2]|0);c[Xc>>2]=0;Ma=245;break}do if(l){Xc=c[f+4>>2]|0;Fc=c[f+8>>2]|0;Dc=_(Fc,Xc)|0;gc=c[bd>>2]|0;kc=Ob((_(Xc>>>(gc&1^1)<<1,Fc>>>(gc>>>1&1^1))|0)+Dc|0)|0;Dc=f+54048|0;c[Dc>>2]=kc;gc=Ob(c[s>>2]<<2)|0;c[$c>>2]=gc;if((kc|0)==0|(gc|0)==0){Pb(kc);c[Dc>>2]=0;Pb(c[$c>>2]|0);c[$c>>2]=0;Ma=245;break d}else{Dc=f+54052|0;c[Dc>>2]=0;id=Dc;jd=Xc;kd=Fc;Ma=238;break}}else{Fc=f+54052|0;if((c[Fc>>2]|0)==(((hd|0)>4?2:1)|0))ld=hd;else{id=Fc;jd=c[f+4>>2]|0;kd=c[f+8>>2]|0;Ma=238}}while(0);if((Ma|0)==238){if((hd|0)<5){c[f+54056>>2]=jd;c[f+54060>>2]=kd;l=0-jd|0;c[f+54064>>2]=l;c[f+54068>>2]=(c[f+54048>>2]|0)+(_(1-kd|0,l)|0);md=hd}else{l=_(jd,kd)|0;Fc=c[bd>>2]|0;Xc=jd>>>(Fc&1^1);Dc=kd>>>(Fc>>>1&1^1);Fc=_(Dc,Xc)|0;kc=f+54056|0;c[kc>>2]=jd;c[f+54060>>2]=kd;c[f+54064>>2]=jd;gc=c[f+54048>>2]|0;c[f+54068>>2]=gc;c[f+54072>>2]=Xc;c[f+54076>>2]=Dc;c[f+54080>>2]=Xc;Yc=gc;c[f+54084>>2]=Yc+l;c[f+54088>>2]=Xc;c[f+54092>>2]=Dc;c[f+54096>>2]=Xc;c[f+54100>>2]=Yc+(Fc+l);kb(kc,kc);md=c[gd>>2]|0}c[id>>2]=(md|0)>4?2:1;ld=md}if((ld|0)<5){kc=f+54072|0;l=f+236+((c[t>>2]|0)*48|0)+16|0;c[kc>>2]=c[l>>2];c[kc+4>>2]=c[l+4>>2];c[kc+8>>2]=c[l+8>>2];c[kc+12>>2]=c[l+12>>2];c[kc+16>>2]=c[l+16>>2];c[kc+20>>2]=c[l+20>>2];c[kc+24>>2]=c[l+24>>2];c[kc+28>>2]=c[l+28>>2]}l=f+57128|0;c[l>>2]=c[gd>>2];nd=l;od=$c}while(0);if((Ma|0)==245){ld=f+57128|0;c[ld>>2]=0;Yb=f+54056|0;Zb=f+236+((c[t>>2]|0)*48|0)|0;_b=Yb+48|0;do{c[Yb>>2]=c[Zb>>2];Yb=Yb+4|0;Zb=Zb+4|0}while((Yb|0)<(_b|0));nd=ld;od=f+54044|0}Yb=ed;_b=Yb+128|0;do{b[Yb>>1]=0;Yb=Yb+2|0}while((Yb|0)<(_b|0));kb(n,f+54056|0);Yb=f+76|0;_b=f+64|0;ld=k+2|0;Zb=f+552|0;md=f+172|0;id=f+54368|0;jd=f+54108|0;kd=f+54104|0;hd=c[dd>>2]|0;s=0;fd=0;while(1){ad=c[Yb>>2]|0;h=(hd+fd|0)<(ad|0);sc=h&1;uc=ad;tc=ad;ad=0;while(1){lc=(ad|0)!=0;if(lc)pd=(c[bd>>2]&2|0)==0;else pd=0;cd=pd&1;l=fd>>cd;kc=f+57048+(ad<<2)|0;c[kc>>2]=l;Fc=f+72+(ad<<5)+4|0;Yc=c[Fc>>2]|0;Xc=(c[dd>>2]>>cd)+l|0;l=f+57060+(ad<<2)|0;c[l>>2]=(Xc|0)<(Yc|0)?Xc:Yc;Oa(f,ed,ad);Yc=c[rc>>2]|0;Xc=c[_b>>2]|0;Dc=c[oc>>2]|0;gc=f+56928+(ad<<2)|0;Zc=c[gc>>2]|0;_c=c[f+56952+(ad<<2)>>2]|0;b[k>>1]=b[c[f+56976+(ad*24|0)>>2]>>1]|0;b[ld>>1]=b[c[f+56976+(ad*24|0)+4>>2]>>1]|0;if((_c|0)>0){Wc=0;do{Vc=c[Zc+(Wc<<2)>>2]|0;Uc=Dc+(Vc<<2)|0;Tc=c[Uc>>2]|0;Qc=(Tc&1792|0)!=256&1;Rc=c[f+56976+(ad*24|0)+((Tc>>>2&15)<<3)+(Qc<<2)>>2]|0;Tc=0;while(1){Sc=f+56160+(ad<<8)+(Tc<<2)|0;Pc=c[Sc>>2]|0;if(Pc){qd=Sc;rd=Pc;sd=Tc;Ma=257;break}Pc=f+54624+(ad<<8)+(Tc<<2)|0;Oc=c[Pc>>2]|0;Eb=Oc+1|0;m=a[Yc+Oc>>0]|0;Nc=c[896+((m&255)<<2)>>2]|0;do if((m&255)<15){qc=Oc+2|0;Ec=(d[Yc+Eb>>0]<<((m&255)<2?-13:0)+((m&255)<12?21:0))+Nc|0;Cc=Ec>>>8&4095;if(m<<24>>24){td=Ec;ud=Cc;vd=qc;break}Lc=(d[Yc+qc>>0]<<8)+Cc|0;td=Ec;ud=(Lc|0)==0?2147483647:Lc;vd=Oc+3|0}else{td=Nc;ud=Nc>>>8&4095;vd=Eb}while(0);c[Sc>>2]=ud;c[Pc>>2]=vd;Eb=(td&255)+Tc|0;Nc=(_(e[Rc+(Eb<<1)>>1]|0,(td^0-(td&1048576))>>21)|0)&65535;b[f+54112+(d[Xc+Eb>>0]<<1)>>1]=Nc;Nc=((ud|0)==0&1)+Eb|0;if((Nc|0)<64)Tc=Nc;else{wd=Tc;break}}if((Ma|0)==257){Ma=0;c[qd>>2]=rd+-1;wd=sd}b[ed>>1]=(c[Uc>>2]|0)>>>16;qb(f,Vc,ad,ed,wd,b[k+(Qc<<1)>>1]|0);Wc=Wc+1|0}while((Wc|0)!=(_c|0));xd=c[gc>>2]|0}else xd=Zc;c[gc>>2]=xd+(_c<<2);Wc=c[f+56964+(ad<<2)>>2]|0;if((Wc|0)>0){Xc=f+56940+(ad<<2)|0;Yc=(c[Xc>>2]|0)+(0-Wc<<2)|0;c[Xc>>2]=Yc;Va(c[Mb>>2]|0,c[Zb>>2]|0,c[f+576+(ad<<2)>>2]|0,Yc,Wc,c[md>>2]|0)}if(!(c[Gb>>2]|0)){yd=0;zd=0}else{sb(f,id,2,ad,(c[kc>>2]|0)-s|0,(c[l>>2]|0)-sc|0);yd=sc;zd=s}ob(f,$b,ad,((c[kc>>2]|0)-zd<<3)-(zd<<1)|0,((c[l>>2]|0)-yd<<3)-(yd<<1)|0);Wc=lc?3:0;do if((c[nd>>2]|0)<(Wc+2|0))if(!(c[Gb>>2]|0)){Ad=yd;Bd=zd}else{Ad=yd+sc|0;Bd=zd+s|0}else{Yc=zd+s|0;Xc=yd+sc|0;Dc=(c[kc>>2]|0)-Yc|0;Tc=c[l>>2]|0;Rc=Tc-Xc|0;Ac=f+72+(ad<<5)|0;Nc=c[Ac>>2]|0;Eb=f+72+(ad<<5)+8|0;Oc=c[Eb>>2]|0;m=_(Nc,Dc)|0;Lc=Oc+m|0;Ec=c[od>>2]|0;Cc=Ec+(Lc<<2)|0;qc=c[Mc>>2]|0;fc=qc+Lc|0;Bc=(Dc|0)>0;Hc=(c[Fc>>2]|0)>(Rc|0);Ic=Hc&1;Ub(Ec+(Lc+(Bc?Nc:0)<<2)|0,0,_(Nc<<2,Rc-Dc+(Bc<<31>>31)+Ic|0)|0)|0;Lc=(Bc&1)<<2|Dc<<3;Dc=f+54056+(ad<<4)+8|0;Bc=c[Dc>>2]|0;Kc=c[f+236+($b*48|0)+(ad<<4)+8>>2]|0;Jc=f+54056+(ad<<4)+12|0;vc=c[Jc>>2]|0;nc=_(Bc,Lc)|0;zc=vc+nc|0;Gc=c[f+236+($b*48|0)+(ad<<4)+12>>2]|0;mc=_(Kc,Lc)|0;jc=Gc+mc|0;Hb=f+54056+(ad<<4)|0;Kb=c[Hb>>2]|0;if((Lc|0)<4){dc=Kc<<2;yc=zc;xc=jc;pc=Lc;while(1){Xb(yc|0,xc|0,Kb|0)|0;pc=pc+1|0;if((pc|0)==4)break;else{yc=yc+Bc|0;xc=xc+Kc|0}}xc=Bc<<2;Cd=dc;Dd=xc;Ed=vc+xc|0;Fd=Gc+dc|0;Gd=4}else{Cd=mc;Dd=nc;Ed=zc;Fd=jc;Gd=Lc}xc=Ic^1;yc=Rc-xc<<3;if((Gd|0)<(yc|0)){pc=0-Kc|0;Qc=Bc<<3;Vc=Kc<<3;Uc=Nc+1|0;wc=-4-(Bc<<2)|0;if((Kb|0)>8){Fb=(Kb+-9|0)>>>3;hc=Fb+2|0;jb=(Rc<<3)+-1-(xc<<3)-Gd|0;Lb=Oc+Fb+m|0;fb=((Tc-xc-Xc<<3)+-1-Gd|0)>>>3;ac=Ec+(Lb+2<<2)+(_(fb,(Fb<<2)+8|0)|0)|0;Fb=Lb+(_(fb,hc)|0)|0;fb=fc;Lb=Ed;hb=Fd;Nb=Cc;ib=Gd;while(1){ic=c[f+53528+(d[fb>>0]<<2)>>2]|0;tb(Lb,Bc,hb+pc|0,Kc,ic,ic*3>>2,Nb,Nb+(Nc<<2)|0);ic=fb;ec=Nb;eb=8;do{lb=ec;ec=ec+4|0;ic=ic+1|0;Ib=c[f+53528+(d[ic>>0]<<2)>>2]|0;cc=Ib*3>>2;tb(Lb+eb|0,Bc,hb+(eb-Kc)|0,Kc,Ib,cc,ec,lb+(Uc<<2)|0);ub(Lb+(wc+eb)|0,Bc,Ib,cc,lb);eb=eb+8|0}while((eb|0)<(Kb|0));ib=ib+8|0;if((ib|0)>=(yc|0))break;else{fb=fb+hc|0;Lb=Lb+Qc|0;hb=hb+Vc|0;Nb=Nb+(hc<<2)|0}}Hd=Fb+2|0;Id=jb&-8;Jd=ac}else{hc=((Rc<<3)+-1-(xc<<3)-Gd|0)>>>3;Nb=Oc+1+m+hc|0;hb=fc;Lb=Ed;fb=Fd;ib=Cc;wc=Gd;while(1){Uc=c[f+53528+(d[hb>>0]<<2)>>2]|0;tb(Lb,Bc,fb+pc|0,Kc,Uc,Uc*3>>2,ib,ib+(Nc<<2)|0);wc=wc+8|0;if((wc|0)>=(yc|0))break;else{hb=hb+1|0;Lb=Lb+Qc|0;fb=fb+Vc|0;ib=ib+4|0}}Hd=Nb;Id=hc<<3;Jd=Ec+(Nb<<2)|0}ib=Id+8|0;Kd=qc+Hd|0;Ld=vc+((_(ib,Bc)|0)+Dd)|0;Md=Gc+((_(ib,Kc)|0)+Cd)|0;Nd=Jd;Od=Gd+8+Id|0}else{Kd=fc;Ld=Ed;Md=Fd;Nd=Cc;Od=Gd}do if(!Hc){ib=c[f+54056+(ad<<4)+4>>2]|0;if((ib|0)>(Od|0)){Vc=ib-Od|0;fb=Ld;Qc=Md;Lb=Od;while(1){Xb(fb|0,Qc|0,Kb|0)|0;Lb=Lb+1|0;if((Lb|0)==(ib|0))break;else{fb=fb+Bc|0;Qc=Qc+Kc|0}}Pd=Ld+(_(Vc,Bc)|0)|0}else Pd=Ld;if((Kb|0)<=8)break;Qc=-4-(Bc<<3)|0;fb=Kd;ib=Nd;Lb=8;while(1){fb=fb+1|0;hb=c[f+53528+(d[fb>>0]<<2)>>2]|0;ub(Pd+(Qc+Lb)|0,Bc,hb,hb*3>>2,ib);Lb=Lb+8|0;if((Lb|0)>=(Kb|0))break;else ib=ib+4|0}}while(0);if((c[nd>>2]|0)<(Wc+3|0)){Ad=Xc;Bd=Yc;break}Kb=Yc+s|0;Bc=Xc+sc|0;Kc=(c[kc>>2]|0)-Kb|0;Hc=c[Ac>>2]|0;Cc=(c[Eb>>2]|0)+(_(Hc,Kc)|0)|0;fc=(c[gd>>2]|0)>=((lc?7:4)|0);Gc=lc?3840:1920;vc=Kc<<3;Kc=c[Dc>>2]|0;qc=(c[l>>2]|0)-Bc<<3;Nb=c[Hb>>2]|0;Ec=c[f+54056+(ad<<4)+4>>2]|0;if((vc|0)>=(qc|0)){Ad=Bc;Bd=Kb;break}hc=(c[Jc>>2]|0)+(_(Kc,vc)|0)|0;ib=(Nb|0)>0;Lb=Kc<<3;Qc=0-Hc|0;fb=((Nb+-1|0)>>>3)+1|0;Vc=(c[oc>>2]|0)+(Cc<<2)|0;hb=hc;hc=(c[od>>2]|0)+(Cc<<2)|0;Cc=vc;while(1){if(ib){vc=(Cc|0)<1;yc=Cc+8|0;wc=(yc|0)>=(Ec|0);Nc=(wc&1)<<3|(vc&1)<<2;pc=Vc;m=hc;Oc=0;while(1){xc=d[((c[pc>>2]|0)>>>2&15)+(f+875)>>0]|0;Rc=c[m>>2]|0;ac=(Oc|0)<1;jb=Oc;Oc=Oc+8|0;Fb=(Oc|0)>=(Nb|0);Uc=Nc|ac&1|(Fb&1)<<1;e:do if(fc&(Rc|0)>(Gc|0)){Tc=hb+jb|0;Ic=f+53528+(xc<<2)|0;Lc=f+53784+(xc<<2)|0;vb(Tc,Kc,Uc,c[Ic>>2]|0,c[Lc>>2]|0,1);do if(!lc){if(!ac?(c[m+-4>>2]|0)>3840:0)break;if(!Fb?(c[m+4>>2]|0)>3840:0)break;if(!vc?(c[m+(Qc<<2)>>2]|0)>3840:0)break;if(wc)break e;if((c[m+(Hc<<2)>>2]|0)<=3840)break e}while(0);vb(Tc,Kc,Uc,c[Ic>>2]|0,c[Lc>>2]|0,1);vb(Tc,Kc,Uc,c[Ic>>2]|0,c[Lc>>2]|0,1)}else{if((Rc|0)>1536){vb(hb+jb|0,Kc,Uc,c[f+53528+(xc<<2)>>2]|0,c[f+53784+(xc<<2)>>2]|0,1);break}if((Rc|0)<=384)break;vb(hb+jb|0,Kc,Uc,c[f+53528+(xc<<2)>>2]|0,c[f+53784+(xc<<2)>>2]|0,0)}while(0);if((Oc|0)>=(Nb|0))break;else{pc=pc+4|0;m=m+4|0}}Qd=yc;Rd=Vc+(fb<<2)|0;Sd=hc+(fb<<2)|0}else{Qd=Cc+8|0;Rd=Vc;Sd=hc}if((Qd|0)<(qc|0)){Vc=Rd;hb=hb+Lb|0;hc=Sd;Cc=Qd}else{Ad=Bc;Bd=Kb;break}}}while(0);lc=(c[kc>>2]|0)-Bd<<cd;Wc=(lc|0)<(uc|0)?lc:uc;lc=(c[l>>2]|0)-Ad<<cd;Fc=(lc|0)<(tc|0)?lc:tc;ad=ad+1|0;if((ad|0)==3){Td=Wc;Ud=Fc;break}else{uc=Wc;tc=Fc}}tc=c[jd>>2]|0;if(tc){uc=c[Yb>>2]|0;za[tc&7](c[kd>>2]|0,n,uc-Ud|0,uc-Td|0)}uc=c[dd>>2]|0;if(h){hd=uc;s=1;fd=uc+fd|0}else break}pb(f,$b,0);pb(f,$b,1);pb(f,$b,2);$b=(a[r>>0]|0)==0;r=c[t>>2]|0;c[Wb>>2]=r;if($b){c[gb>>2]=r;r=c[Mb>>2]|0;c[Zb>>2]=r;c[Rb>>2]=r}else c[Zb>>2]=c[Mb>>2];o=0;i=j;return o|0}function Sa(a,b){a=a|0;b=b|0;var c=0;if((a|0)==0|(b|0)==0){c=-1;return c|0}kb(b,a+54056|0);c=0;return c|0}function Ta(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+512|0;g=f+256|0;h=f;j=Ka(d,3)|0;k=0;do{a[e+256+k>>0]=Ka(d,j)|0;k=k+1|0}while((k|0)!=64);k=(Ka(d,4)|0)+1|0;j=0;do{b[e+128+(j<<1)>>1]=Ka(d,k)|0;j=j+1|0}while((j|0)!=64);j=(Ka(d,4)|0)+1|0;k=0;do{b[e+(k<<1)>>1]=Ka(d,j)|0;k=k+1|0}while((k|0)!=64);k=Ka(d,9)|0;j=k+1|0;l=Ob(j<<6)|0;if(!l){m=-1;i=f;return m|0}if((k|0)>-1){n=0;do{o=0;do{a[l+(n<<6)+o>>0]=Ka(d,8)|0;o=o+1|0}while((o|0)!=64);n=n+1|0}while((n|0)<(j|0))}n=hb(k)|0;k=0;a:while(1){o=(k|0)/3|0;p=(k|0)%3|0;q=e+320+(o*36|0)+(p*12|0)|0;if((k|0)>0?(La(d)|0)==0:0){do if((k|0)>2)if(!(La(d)|0)){r=k+-1|0;s=(r|0)%3|0;t=(r|0)/3|0;break}else{s=p;t=o+-1|0;break}else{r=k+-1|0;s=(r|0)%3|0;t=(r|0)/3|0}while(0);r=e+320+(t*36|0)+(s*12|0)|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2]}else u=21;b:do if((u|0)==21){u=0;c[h>>2]=Ka(d,n)|0;r=0;v=0;while(1){w=(Ka(d,hb(62-r|0)|0)|0)+1|0;c[g+(v<<2)>>2]=w;x=w+r|0;w=Ka(d,n)|0;y=v+1|0;c[h+(y<<2)>>2]=w;if((x|0)<63){r=x;v=y}else{z=x;A=w;B=y;break}}if((z|0)>63){u=24;break a}c[q>>2]=B;v=B<<2;r=Ob(v)|0;c[e+320+(o*36|0)+(p*12|0)+4>>2]=r;if(!r){u=26;break a}Xb(r|0,g|0,v|0)|0;v=Ob((B<<6)+64|0)|0;if(!v){u=28;break a}c[e+320+(o*36|0)+(p*12|0)+8>>2]=v;if((A|0)<(j|0)){C=A;D=B}else{u=30;break a}while(1){r=v+(D<<6)|0;y=l+(C<<6)|0;w=r+64|0;do{a[r>>0]=a[y>>0]|0;r=r+1|0;y=y+1|0}while((r|0)<(w|0));if((D|0)<=0)break b;D=D+-1|0;C=c[h+(D<<2)>>2]|0;if((C|0)>=(j|0)){u=30;break a}}}while(0);k=k+1|0;if((k|0)>=6){u=34;break}}if((u|0)==24){Pb(l);m=-20;i=f;return m|0}else if((u|0)==26){Pb(l);m=-1;i=f;return m|0}else if((u|0)==28){Pb(l);m=-1;i=f;return m|0}else if((u|0)==30){Pb(l);m=-20;i=f;return m|0}else if((u|0)==34){Pb(l);m=0;i=f;return m|0}return 0}function Ua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=5;d=6;while(1){e=(b|0)/3|0;f=(b|0)%3|0;if((d|0)>1){g=d+-2|0;h=(g|0)/3|0;i=(g|0)%3|0;g=a+320+(e*36|0)+(f*12|0)+4|0;if((c[g>>2]|0)==(c[a+320+(h*36|0)+(i*12|0)+4>>2]|0))c[g>>2]=0;g=a+320+(e*36|0)+(f*12|0)+8|0;if((c[g>>2]|0)==(c[a+320+(h*36|0)+(i*12|0)+8>>2]|0))c[g>>2]=0}if((b|0)>2){g=a+356+(f*12|0)+4|0;if((c[g>>2]|0)==(c[a+320+(f*12|0)+4>>2]|0))c[g>>2]=0;g=a+356+(f*12|0)+8|0;if((c[g>>2]|0)==(c[a+320+(f*12|0)+8>>2]|0))c[g>>2]=0}Pb(c[a+320+(e*36|0)+(f*12|0)+4>>2]|0);Pb(c[a+320+(e*36|0)+(f*12|0)+8>>2]|0);if((b|0)>0){f=b;b=b+-1|0;d=f}else break}return}function Va(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((h|0)<=0)return;j=f<<1;k=f*3|0;l=f<<2;m=f*5|0;n=f*6|0;o=f*7|0;p=0;do{q=c[i+(c[g+(p<<2)>>2]<<2)>>2]|0;r=e+q|0;s=r;t=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=r+4|0;r=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+q|0;u=s;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;t=s+4|0;a[t>>0]=r;a[t+1>>0]=r>>8;a[t+2>>0]=r>>16;a[t+3>>0]=r>>24;r=q+f|0;t=e+r|0;s=t;u=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=t+4|0;t=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+r|0;r=s;a[r>>0]=u;a[r+1>>0]=u>>8;a[r+2>>0]=u>>16;a[r+3>>0]=u>>24;u=s+4|0;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;t=q+j|0;u=e+t|0;s=u;r=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=u+4|0;u=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+t|0;t=s;a[t>>0]=r;a[t+1>>0]=r>>8;a[t+2>>0]=r>>16;a[t+3>>0]=r>>24;r=s+4|0;a[r>>0]=u;a[r+1>>0]=u>>8;a[r+2>>0]=u>>16;a[r+3>>0]=u>>24;u=q+k|0;r=e+u|0;s=r;t=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=r+4|0;r=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+u|0;u=s;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;t=s+4|0;a[t>>0]=r;a[t+1>>0]=r>>8;a[t+2>>0]=r>>16;a[t+3>>0]=r>>24;r=q+l|0;t=e+r|0;s=t;u=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=t+4|0;t=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+r|0;r=s;a[r>>0]=u;a[r+1>>0]=u>>8;a[r+2>>0]=u>>16;a[r+3>>0]=u>>24;u=s+4|0;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;t=q+m|0;u=e+t|0;s=u;r=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=u+4|0;u=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+t|0;t=s;a[t>>0]=r;a[t+1>>0]=r>>8;a[t+2>>0]=r>>16;a[t+3>>0]=r>>24;r=s+4|0;a[r>>0]=u;a[r+1>>0]=u>>8;a[r+2>>0]=u>>16;a[r+3>>0]=u>>24;u=q+n|0;r=e+u|0;s=r;t=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=r+4|0;r=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;s=b+u|0;u=s;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;t=s+4|0;a[t>>0]=r;a[t+1>>0]=r>>8;a[t+2>>0]=r>>16;a[t+3>>0]=r>>24;r=q+o|0;q=e+r|0;t=q;s=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=q+4|0;q=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;t=b+r|0;r=t;a[r>>0]=s;a[r+1>>0]=s>>8;a[r+2>>0]=s>>16;a[r+3>>0]=s>>24;s=t+4|0;a[s>>0]=q;a[s+1>>0]=q>>8;a[s+2>>0]=q>>16;a[s+3>>0]=q>>24;p=p+1|0}while((p|0)!=(h|0));return}function Wa(c,d,e){c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c;c=0;while(1){g=c<<3;h=b[e+(g<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|1)<<1)>>1]|0;h=(i<<16>>16)+128|0;a[f+1>>0]=i<<16>>16>-129?((h|0)>255?-1:h&255):0;h=b[e+((g|2)<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f+2>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|3)<<1)>>1]|0;h=(i<<16>>16)+128|0;a[f+3>>0]=i<<16>>16>-129?((h|0)>255?-1:h&255):0;h=b[e+((g|4)<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f+4>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|5)<<1)>>1]|0;h=(i<<16>>16)+128|0;a[f+5>>0]=i<<16>>16>-129?((h|0)>255?-1:h&255):0;h=b[e+((g|6)<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f+6>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|7)<<1)>>1]|0;g=(i<<16>>16)+128|0;a[f+7>>0]=i<<16>>16>-129?((g|0)>255?-1:g&255):0;c=c+1|0;if((c|0)==8)break;else f=f+d|0}return}function Xa(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=e;e=c;c=0;while(1){i=c<<3;j=(d[h>>0]|0)+(b[g+(i<<1)>>1]|0)|0;a[e>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+1>>0]|0)+(b[g+((i|1)<<1)>>1]|0)|0;a[e+1>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+2>>0]|0)+(b[g+((i|2)<<1)>>1]|0)|0;a[e+2>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+3>>0]|0)+(b[g+((i|3)<<1)>>1]|0)|0;a[e+3>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+4>>0]|0)+(b[g+((i|4)<<1)>>1]|0)|0;a[e+4>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+5>>0]|0)+(b[g+((i|5)<<1)>>1]|0)|0;a[e+5>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+6>>0]|0)+(b[g+((i|6)<<1)>>1]|0)|0;a[e+6>>0]=(j>>>31)+255&((j|0)>255?255:j);j=(d[h+7>>0]|0)+(b[g+((i|7)<<1)>>1]|0)|0;a[e+7>>0]=(j>>>31)+255&((j|0)>255?255:j);c=c+1|0;if((c|0)==8)break;else{h=h+f|0;e=e+f|0}}return}function Ya(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=e;e=f;f=c;c=0;while(1){j=c<<3;k=0;do{l=(((d[e+k>>0]|0)+(d[i+k>>0]|0)|0)>>>1)+(b[h+(k+j<<1)>>1]|0)|0;a[f+k>>0]=(l>>>31)+255&((l|0)>255?255:l);k=k+1|0}while((k|0)!=8);c=c+1|0;if((c|0)==8)break;else{i=i+g|0;e=e+g|0;f=f+g|0}}return}function Za(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=0;f=0;g=0;h=0;a:while(1){i=f;while(1){j=La(b)|0;if((Ma(b)|0)<0){k=-20;l=12;break a}if(j){m=i;break}if((i|0)>31){k=-20;l=12;break a}else i=i+1|0}if((g|0)>31){k=-20;l=12;break}g=g+1|0;i=Ka(b,5)|0;j=d[1272+i>>0]|0;n=1<<j;o=j+m&255;j=h+2|0;p=(n|0)<1?~n:-2;q=n;r=h;s=d[1304+i>>0]|0;while(1){a[c+(r<<1)>>0]=s;a[c+(r<<1)+1>>0]=o;if((q|0)>1){q=q+-1|0;r=r+1|0;s=s+1|0}else break}s=j+n+p|0;r=-2147483648>>>(m+-1|0);if((m|0)<1|(r&e|0)==0){t=e;u=r;v=m}else{q=e;o=r;r=m;while(1){i=o^q;w=o<<1;x=r+-1|0;if((r|0)<2|(w&i|0)==0){t=i;u=w;v=x;break}else{q=i;o=w;r=x}}}if((v|0)<1){k=s;l=12;break}else{e=u|t;f=v;h=s}}if((l|0)==12)return k|0;return 0}function _a(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,m=0;d=i;i=i+512|0;e=d;f=0;while(1){g=Za(a,e)|0;if((g|0)<0){h=g;break}j=wb(0,e,g)|0;if(j>>>0>32767){h=-23;break}k=Ob(j<<1)|0;if(!k){h=-1;break}wb(k,e,g)|0;c[b+(f<<2)>>2]=k;f=f+1|0;if((f|0)>=80){l=0;m=7;break}}if((m|0)==7){i=d;return l|0}l=h;i=d;return l|0}function $a(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;while(1){e=b+(d<<2)|0;f=(xb(c[e>>2]|0,0)|0)<<1;g=Ob(f)|0;c[a+(d<<2)>>2]=g;if(!g){h=d;break}Xb(g|0,c[e>>2]|0,f|0)|0;d=d+1|0;if((d|0)>=80){i=0;j=6;break}}if((j|0)==6)return i|0;if((h|0)>0)k=h;else{i=-1;return i|0}do{h=k;k=k+-1|0;Pb(c[a+(k<<2)>>2]|0)}while((h|0)>1);i=-1;return i|0}function ab(a){a=a|0;var b=0;b=0;do{Pb(c[a+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=80);return}function bb(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=a+4|0;g=a+8|0;h=c[a>>2]|0;i=a+12|0;a=c[i>>2]|0;j=0;k=c[f>>2]|0;l=c[g>>2]|0;while(1){m=b[e+(j<<1)>>1]|0;if((m|0)>(a|0)){n=k;o=32-a|0;p=l;while(1){if(n>>>0>=h>>>0){q=n;r=-1073741824;s=p;break}t=o+-8|0;u=n+1|0;v=d[n>>0]<<t|p;if(t>>>0>7){n=u;o=t;p=v}else{q=u;r=t;s=v;break}}w=32-r|0;x=q;y=s}else{w=a;x=k;y=l}p=b[e+(j+1+(y>>>(32-m|0))<<1)>>1]|0;o=p<<16>>16;if(p<<16>>16<1){z=o;A=w;B=x;C=y;break}a=w-m|0;j=o;k=x;l=y<<m}y=0-z|0;z=y>>8;c[f>>2]=B;c[g>>2]=C<<z;c[i>>2]=A-z;return y&255|0}function cb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;i=i+128|0;f=e;if((d|0)<4){g=c+2|0;h=(b[c>>1]|0)*46341>>16;j=b[g>>1]|0;k=j*12785>>16;l=j*64277>>16;j=k*46341>>16;m=l*46341>>16;n=m+j|0;o=m-j|0;b[f>>1]=l+h;b[f+16>>1]=n+h;b[f+32>>1]=o+h;b[f+48>>1]=k+h;b[f+64>>1]=h-k;b[f+80>>1]=h-o;b[f+96>>1]=h-n;b[f+112>>1]=h-l;l=c+16|0;h=((b[l>>1]|0)*46341|0)>>>16&65535;b[f+114>>1]=h;b[f+98>>1]=h;b[f+82>>1]=h;b[f+66>>1]=h;b[f+50>>1]=h;b[f+34>>1]=h;b[f+18>>1]=h;b[f+2>>1]=h;h=0;do{n=h<<3;o=(b[f+(n<<1)>>1]|0)*46341>>16;k=b[f+((n|1)<<1)>>1]|0;n=k*12785>>16;j=k*64277>>16;k=n*46341>>16;m=j*46341>>16;p=m+k|0;q=m-k|0;b[a+(h<<1)>>1]=j+o;b[a+(h+8<<1)>>1]=p+o;b[a+(h+16<<1)>>1]=q+o;b[a+(h+24<<1)>>1]=n+o;b[a+(h+32<<1)>>1]=o-n;b[a+(h+40<<1)>>1]=o-q;b[a+(h+48<<1)>>1]=o-p;b[a+(h+56<<1)>>1]=o-j;h=h+1|0}while((h|0)!=8);r=0;do{h=a+(r<<1)|0;b[h>>1]=((b[h>>1]|0)+8|0)>>>4;r=r+1|0}while((r|0)!=64);b[l>>1]=0;b[g>>1]=0;b[c>>1]=0;i=e;return}if((d|0)>=11){yb(f,c);yb(f+2|0,c+16|0);yb(f+4|0,c+32|0);yb(f+6|0,c+48|0);yb(f+8|0,c+64|0);yb(f+10|0,c+80|0);yb(f+12|0,c+96|0);yb(f+14|0,c+112|0);yb(a,f);yb(a+2|0,f+16|0);yb(a+4|0,f+32|0);yb(a+6|0,f+48|0);yb(a+8|0,f+64|0);yb(a+10|0,f+80|0);yb(a+12|0,f+96|0);yb(a+14|0,f+112|0);d=0;do{g=a+(d<<1)|0;b[g>>1]=((b[g>>1]|0)+8|0)>>>4;d=d+1|0}while((d|0)!=64);d=c;g=d+128|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(g|0));i=e;return}d=(b[c>>1]|0)*46341>>16;g=b[c+4>>1]|0;l=g*25080>>16;r=g*60547>>16;g=b[c+2>>1]|0;h=g*12785>>16;j=b[c+6>>1]|0;o=j*36410>>16;p=j*54491>>16;j=g*64277>>16;g=h-o|0;q=(o+h<<16>>16)*46341>>16;h=p+j|0;o=(j-p<<16>>16)*46341>>16;p=l+d|0;j=d-l|0;l=r+d|0;n=d-r|0;r=o+q|0;d=o-q|0;b[f>>1]=h+l;b[f+16>>1]=r+p;b[f+32>>1]=d+j;b[f+48>>1]=g+n;b[f+64>>1]=n-g;b[f+80>>1]=j-d;b[f+96>>1]=p-r;b[f+112>>1]=l-h;h=c+16|0;l=c+18|0;r=c+20|0;p=(b[h>>1]|0)*46341>>16;d=b[r>>1]|0;j=d*25080>>16;g=d*60547>>16;d=b[l>>1]|0;n=d*12785>>16;q=d*64277>>16;d=n*46341>>16;o=q*46341>>16;k=j+p|0;m=p-j|0;j=g+p|0;s=p-g|0;g=o+d|0;p=o-d|0;b[f+2>>1]=j+q;b[f+18>>1]=g+k;b[f+34>>1]=p+m;b[f+50>>1]=s+n;b[f+66>>1]=s-n;b[f+82>>1]=m-p;b[f+98>>1]=k-g;b[f+114>>1]=j-q;q=c+32|0;j=c+34|0;g=(b[q>>1]|0)*46341>>16;k=b[j>>1]|0;p=k*12785>>16;m=k*64277>>16;k=p*46341>>16;n=m*46341>>16;s=n+k|0;d=n-k|0;b[f+4>>1]=m+g;b[f+20>>1]=s+g;b[f+36>>1]=d+g;b[f+52>>1]=p+g;b[f+68>>1]=g-p;b[f+84>>1]=g-d;b[f+100>>1]=g-s;b[f+116>>1]=g-m;m=c+48|0;g=((b[m>>1]|0)*46341|0)>>>16&65535;b[f+118>>1]=g;b[f+102>>1]=g;b[f+86>>1]=g;b[f+70>>1]=g;b[f+54>>1]=g;b[f+38>>1]=g;b[f+22>>1]=g;b[f+6>>1]=g;g=0;do{s=g<<3;d=(b[f+(s<<1)>>1]|0)*46341>>16;p=b[f+((s|2)<<1)>>1]|0;k=p*25080>>16;n=p*60547>>16;p=b[f+((s|1)<<1)>>1]|0;o=p*12785>>16;t=b[f+((s|3)<<1)>>1]|0;s=t*36410>>16;u=t*54491>>16;t=p*64277>>16;p=o-s|0;v=(s+o<<16>>16)*46341>>16;o=u+t|0;s=(t-u<<16>>16)*46341>>16;u=k+d|0;t=d-k|0;k=n+d|0;w=d-n|0;n=s+v|0;d=s-v|0;b[a+(g<<1)>>1]=o+k;b[a+(g+8<<1)>>1]=n+u;b[a+(g+16<<1)>>1]=d+t;b[a+(g+24<<1)>>1]=p+w;b[a+(g+32<<1)>>1]=w-p;b[a+(g+40<<1)>>1]=t-d;b[a+(g+48<<1)>>1]=u-n;b[a+(g+56<<1)>>1]=k-o;g=g+1|0}while((g|0)!=8);x=0;do{g=a+(x<<1)|0;b[g>>1]=((b[g>>1]|0)+8|0)>>>4;x=x+1|0}while((x|0)!=64);b[m>>1]=0;b[j>>1]=0;b[q>>1]=0;b[r>>1]=0;b[l>>1]=0;b[h>>1]=0;h=c;c=h;b[c>>1]=0;b[c+2>>1]=0>>>16;c=h+4|0;b[c>>1]=0;b[c+2>>1]=0>>>16;i=e;return}function db(b){b=b|0;var d=0,e=0;d=b;e=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[b>>0]=3;a[b+1>>0]=2;a[b+2>>0]=1;c[b+60>>2]=6;return}function eb(a){a=a|0;var b=0;b=a;a=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function fb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function gb(a){a=a|0;var b=0,d=0;if(!a)return;b=a+8|0;if((c[b>>2]|0)>0){d=0;do{Pb(c[(c[a>>2]|0)+(d<<2)>>2]|0);d=d+1|0}while((d|0)<(c[b>>2]|0))}Pb(c[a>>2]|0);Pb(c[a+4>>2]|0);Pb(c[a+12>>2]|0);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function hb(a){a=a|0;var b=0,c=0,d=0;if(!a)b=0;else{c=a;a=0;while(1){c=c>>>1;d=a+1|0;if(!c){b=d;break}else a=d}}return b|0}function ib(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=c+-1|0;if(b>>>0>~c>>>0|(d&(c|-256)|0)!=0){e=0;return e|0}f=Ob(c+b|0)|0;if(!f){e=0;return e|0}b=f+-1&d;a[f+b>>0]=b;e=f+(b+1)|0;return e|0}function jb(a){a=a|0;if(!a)return;Pb(a+~(d[a+-1>>0]|0)|0);return}function kb(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=c[b>>2];d=c[b+4>>2]|0;c[a+4>>2]=d;e=0-(c[b+8>>2]|0)|0;c[a+8>>2]=e;c[a+12>>2]=(c[b+12>>2]|0)+(_(1-d|0,e)|0);c[a+16>>2]=c[b+16>>2];e=c[b+20>>2]|0;c[a+20>>2]=e;d=0-(c[b+24>>2]|0)|0;c[a+24>>2]=d;c[a+28>>2]=(c[b+28>>2]|0)+(_(1-e|0,d)|0);c[a+32>>2]=c[b+32>>2];d=c[b+36>>2]|0;c[a+36>>2]=d;e=0-(c[b+40>>2]|0)|0;c[a+40>>2]=e;c[a+44>>2]=(c[b+44>>2]|0)+(_(1-d|0,e)|0);return}function lb(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;j=i;i=i+64|0;k=j;l=(g|0)==0;m=0;while(1){n=1336+(m<<2)|0;o=1344+(m<<2)|0;p=0;while(1){q=h+320+(m*36|0)+(p*12|0)|0;r=c[q>>2]|0;if((r|0)>=0){s=h+320+(m*36|0)+(p*12|0)+8|0;t=c[n>>2]|0;u=c[o>>2]|0;v=h+320+(m*36|0)+(p*12|0)+4|0;w=r;r=0;x=0;while(1){y=k;z=(c[s>>2]|0)+(x<<6)|0;A=y+64|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));if((x|0)==(w|0))B=r+1|0;else B=(c[(c[v>>2]|0)+(x<<2)>>2]|0)+r|0;z=x;x=x+1|0;a:do if(l){y=r;b:while(1){A=(((_(d[k>>0]|0,e[h+(y<<1)>>1]|0)|0)>>>0)/100|0)<<2;C=A>>>0>4096?4096:A;A=f+(y*24|0)+(p<<3)+(m<<2)|0;D=c[A>>2]|0;b[D>>1]=t-(t>>>0<C>>>0?t-C|0:0);C=h+128+(y<<1)|0;E=1;do{F=(((_(d[k+(d[8+E>>0]|0)>>0]|0,e[C>>1]|0)|0)>>>0)/100|0)<<2;G=F>>>0>4096?4096:F;b[D+(E<<1)>>1]=u-(u>>>0<G>>>0?u-G|0:0);E=E+1|0}while((E|0)!=64);H=0;c:while(1){E=(H|0)<(m|0);C=E?3:p;if((C|0)>0){G=0;do{F=c[f+(y*24|0)+(G<<3)+(H<<2)>>2]|0;if(!(Nb(D,F,128)|0)){I=F;J=13;break c}G=G+1|0}while((G|0)<(C|0))}if(E)H=H+1|0;else break}if((J|0)==13){J=0;c[A>>2]=I}D=y+1|0;if((B|0)<=(D|0)){K=D;L=w;break a}C=B-D|0;G=c[s>>2]|0;F=D-r|0;M=c[(c[v>>2]|0)+(z<<2)>>2]|0;N=M<<1;O=0;while(1){P=_(d[G+(z<<6)+O>>0]|0,C)|0;a[k+O>>0]=(((_(d[G+(x<<6)+O>>0]|0,F)|0)+P<<1)+M|0)/(N|0)|0;P=O+1|0;if((P|0)==64){y=D;continue b}else O=P}}}else{y=r;d:while(1){O=_(d[k>>0]|0,e[h+(y<<1)>>1]|0)|0;c[g+(y<<2)>>2]=(O>>>0)/160|0;D=((O>>>0)/100|0)<<2;O=D>>>0>4096?4096:D;D=f+(y*24|0)+(p<<3)+(m<<2)|0;N=c[D>>2]|0;b[N>>1]=t-(t>>>0<O>>>0?t-O|0:0);O=h+128+(y<<1)|0;M=1;do{F=(((_(d[k+(d[8+M>>0]|0)>>0]|0,e[O>>1]|0)|0)>>>0)/100|0)<<2;G=F>>>0>4096?4096:F;b[N+(M<<1)>>1]=u-(u>>>0<G>>>0?u-G|0:0);M=M+1|0}while((M|0)!=64);Q=0;e:while(1){M=(Q|0)<(m|0);O=M?3:p;if((O|0)>0){G=0;do{F=c[f+(y*24|0)+(G<<3)+(Q<<2)>>2]|0;if(!(Nb(N,F,128)|0)){R=F;J=25;break e}G=G+1|0}while((G|0)<(O|0))}if(M)Q=Q+1|0;else break}if((J|0)==25){J=0;c[D>>2]=R}N=y+1|0;if((B|0)<=(N|0)){S=N;break}O=B-N|0;G=c[s>>2]|0;E=N-r|0;F=c[(c[v>>2]|0)+(z<<2)>>2]|0;C=F<<1;A=0;while(1){P=_(d[G+(z<<6)+A>>0]|0,O)|0;a[k+A>>0]=(((_(d[G+(x<<6)+A>>0]|0,E)|0)+P<<1)+F|0)/(C|0)|0;P=A+1|0;if((P|0)==64){y=N;continue d}else A=P}}K=S;L=c[q>>2]|0}while(0);if((z|0)>=(L|0))break;else{w=L;r=K}}}p=p+1|0;if((p|0)==3)break}m=m+1|0;if((m|0)==2)break}i=j;return}function mb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0;if(!e){g=-1;return g|0}h=c[e+4>>2]|0;if(h&15){g=-10;return g|0}i=e+8|0;j=c[i>>2]|0;if((j+-1|0)>>>0>1048574|((h+-1|0)>>>0>1048574|(j&15|0)!=0)){g=-10;return g|0}k=c[e+20>>2]|0;if(((c[e+12>>2]|0)+k|0)>>>0>h>>>0){g=-10;return g|0}h=e+24|0;l=c[h>>2]|0;m=e+16|0;n=c[m>>2]|0;if(k>>>0>255|(n+l|0)>>>0>j>>>0){g=-10;return g|0}if((j-l-n|0)>>>0>255){g=-10;return g|0}if((c[e+44>>2]|0)>>>0>2){g=-10;return g|0}if((c[e+48>>2]|0)>>>0>3){g=-10;return g|0}if(!(c[e+28>>2]|0)){g=-10;return g|0}if(!(c[e+32>>2]|0)){g=-10;return g|0}Ub(b|0,0,51632)|0;n=b;l=e;j=n+64|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(j|0));k=b+24|0;c[k>>2]=(c[i>>2]|0)-(c[m>>2]|0)-(c[h>>2]|0);a[b+872>>0]=-1;c[b+68>>2]=0;c[b+64>>2]=8;h=b+4|0;m=(c[h>>2]|0)>>>3;i=b+8|0;o=(c[i>>2]|0)>>>3;p=b+48|0;q=c[p>>2]|0;r=q&1^1;s=q>>>1&1^1;q=(r+m|0)>>>r;r=(s+o|0)>>>s;s=_(o,m)|0;t=_(r,q)|0;u=t<<1;v=u+s|0;w=(m+3|0)>>>2;x=(o+3|0)>>>2;y=q+3>>2;z=r+3>>2;A=_(x,w)|0;B=_(z,y)|0;D=B<<1;E=D+A|0;F=A<<2;do if(!((t|0)<0|(u|0)<(t|0))?(A&1073741823|0)==(A|0)&((E>>>0<A>>>0|(D>>>0<B>>>0?1:((A>>>0)/(w>>>0)|0|0)!=(x|0)))^1):0){G=b+72|0;c[G>>2]=m;H=b+76|0;c[H>>2]=o;I=b+80|0;c[I>>2]=0;J=b+84|0;c[J>>2]=s;c[b+88>>2]=w;c[b+92>>2]=x;c[b+96>>2]=0;c[b+100>>2]=A;K=b+136|0;c[K>>2]=q;L=b+104|0;c[L>>2]=q;c[b+140>>2]=r;c[b+108>>2]=r;M=b+112|0;c[M>>2]=s;N=b+144|0;c[N>>2]=t+s;O=b+148|0;c[O>>2]=t;P=b+116|0;c[P>>2]=t;c[b+152>>2]=y;c[b+120>>2]=y;c[b+156>>2]=z;c[b+124>>2]=z;c[b+128>>2]=A;c[b+160>>2]=B+A;c[b+164>>2]=B;c[b+132>>2]=B;Q=b+180|0;c[Q>>2]=v;R=Qb(v,4)|0;S=b+168|0;c[S>>2]=R;T=Ob(v<<1)|0;c[b+176>>2]=T;c[b+192>>2]=E;U=Ob(E<<6)|0;V=b+184|0;c[V>>2]=U;W=Qb(E,1)|0;X=b+188|0;c[X>>2]=W;c[b+204>>2]=w<<1;c[b+208>>2]=x<<1;c[b+212>>2]=F;Y=Qb(F,48)|0;Z=b+196|0;c[Z>>2]=Y;$=Qb(F,1)|0;aa=b+200|0;c[aa>>2]=$;ba=Ob(v<<2)|0;c[b+216>>2]=ba;if(!((R|0)==0|(T|0)==0|(U|0)==0|(W|0)==0|(Y|0)==0)?!(($|0)==0|(ba|0)==0):0){ba=o;$=W;W=U;U=0;Y=0;T=0;while(1){R=c[b+72+(T<<5)>>2]|0;ca=R<<2;da=0;ea=0;fa=Y;while(1){ga=ba-ea|0;if((ga|0)<=4)if((ga|0)<1)break;else ha=ga;else ha=4;ga=da;ia=0;while(1){ja=R-ia|0;if((ja|0)<=4)if((ja|0)<1){ka=ga;break}else la=ja;else la=4;ja=ga+U|0;n=W+(ja<<6)|0;j=n+64|0;do{c[n>>2]=-1;n=n+4|0}while((n|0)<(j|0));ma=0;na=ia+fa|0;while(1){oa=0;do{c[W+(ja<<6)+(c[1352+(ma<<5)+(oa<<3)>>2]<<4)+(c[1352+(ma<<5)+(oa<<3)+4>>2]<<2)>>2]=oa+na;oa=oa+1|0}while((oa|0)!=(la|0));ma=ma+1|0;if((ma|0)==(ha|0))break;else na=na+R|0}na=$+ja|0;ma=a[na>>0]|0;oa=ma&-61;pa=(((ma&255)>>>2&255|(c[W+(ja<<6)>>2]|0)>>>31^1)&255)<<2&60|oa;a[na>>0]=pa;ma=(((pa&255)>>>2&255|(c[W+(ja<<6)+16>>2]|0)>>>31<<1^2)&255)<<2&60|oa;a[na>>0]=ma;pa=(((ma&255)>>>2&255|(c[W+(ja<<6)+32>>2]|0)>>>31<<2^4)&255)<<2&60|oa;a[na>>0]=pa;a[na>>0]=(((pa&255)>>>2&255|(c[W+(ja<<6)+56>>2]|0)>>>31<<3^8)&255)<<2&60|oa;ga=ga+1|0;ia=ia+4|0}da=ka;ea=ea+4|0;fa=fa+ca|0}ca=T+1|0;if((ca|0)==3)break;ba=c[b+72+(ca<<5)+4>>2]|0;$=c[X>>2]|0;W=c[V>>2]|0;U=c[b+72+(ca<<5)+24>>2]|0;Y=c[b+72+(ca<<5)+8>>2]|0;T=ca}T=c[Z>>2]|0;Y=c[aa>>2]|0;U=c[1480+(c[p>>2]<<2)>>2]|0;V=c[H>>2]|0;if((V|0)>0){W=c[G>>2]|0;X=V;V=0;$=0;while(1){if((W|0)>0){ba=V;ca=0;while(1){fa=ba<<2;ea=ca|1;da=ca|2;R=ca|3;ia=0;do{ga=ia<<1|$;oa=ga|1;pa=d[136+(ia<<1)>>0]|fa;na=T+(pa*48|0)|0;n=na;j=n+48|0;do{c[n>>2]=-1;n=n+4|0}while((n|0)<(j|0));ja=c[G>>2]|0;do if((ca|0)<(ja|0)){if((ga|0)>=(c[H>>2]|0)){qa=36;break}c[na>>2]=(_(ja,ga)|0)+ca;c[T+(pa*48|0)+4>>2]=(_(c[G>>2]|0,ga)|0)+ea;c[T+(pa*48|0)+8>>2]=(_(c[G>>2]|0,oa)|0)+ca;c[T+(pa*48|0)+12>>2]=(_(c[G>>2]|0,oa)|0)+ea;za[U&7](na,G,ca,ga)}else qa=36;while(0);if((qa|0)==36){qa=0;a[Y+pa>>0]=-1}na=d[136+(ia<<1)+1>>0]|fa;ja=T+(na*48|0)|0;n=ja;j=n+48|0;do{c[n>>2]=-1;n=n+4|0}while((n|0)<(j|0));pa=c[G>>2]|0;do if((da|0)<(pa|0)){if((ga|0)>=(c[H>>2]|0)){qa=43;break}c[ja>>2]=(_(pa,ga)|0)+da;c[T+(na*48|0)+4>>2]=(_(c[G>>2]|0,ga)|0)+R;c[T+(na*48|0)+8>>2]=(_(c[G>>2]|0,oa)|0)+da;c[T+(na*48|0)+12>>2]=(_(c[G>>2]|0,oa)|0)+R;za[U&7](ja,G,da,ga)}else qa=43;while(0);if((qa|0)==43){qa=0;a[Y+na>>0]=-1}ia=ia+1|0}while((ia|0)!=2);ca=ca+4|0;ia=ba+1|0;da=c[G>>2]|0;if((ca|0)>=(da|0)){ra=ia;sa=da;break}else ba=ia}ta=c[H>>2]|0;ua=sa;va=ra}else{ta=X;ua=W;va=V}$=$+4|0;if(($|0)>=(ta|0))break;else{W=ua;X=ta;V=va}}}V=b+588|0;c[V>>2]=0;X=c[S>>2]|0;W=b+20|0;$=b+12|0;H=b+16|0;G=X;Y=0;U=X;while(1){X=c[W>>2]|0;T=(c[$>>2]|0)+X|0;aa=c[k>>2]|0;Z=(c[H>>2]|0)+aa|0;do if((Y|0)>0){ba=c[p>>2]|0;if(!(ba&1)){wa=X>>1;xa=T+1>>1}else{wa=X;xa=T}if(ba&2){ya=wa;Aa=xa;Ba=aa;Ca=Z;break}ya=wa;Aa=xa;Ba=aa>>1;Ca=Z+1>>1}else{ya=X;Aa=T;Ba=aa;Ca=Z}while(0);U=U+(c[b+72+(Y<<5)+12>>2]<<2)|0;if(G>>>0<U>>>0){Z=b+72+(Y<<5)|0;aa=(ya|0)<(Aa|0);T=(Ba|0)<(Ca|0);X=G;ba=0;while(1){ca=c[Z>>2]|0;ia=X+(ca<<2)|0;if((ca|0)>0){ca=ba+8|0;da=(ca|0)>(Ba|0);R=(Ca|0)>(ba|0);fa=(ba|0)<(Ba|0)&da;ea=R&(Ca|0)<(ca|0);ga=X+4|0;ja=(ia>>>0>ga>>>0?ia:ga)+~X|0;ga=T&(aa&(R&da))^1;da=X;R=0;do{oa=R;R=R+8|0;do if((Aa|0)<=(oa|0)|(R|0)<=(ya|0)|ga)c[da>>2]=c[da>>2]|2;else{pa=(oa|0)<(ya|0);if(!(ea|(fa|(pa|(Aa|0)<(R|0))))){c[da>>2]=c[da>>2]|63488;break}ma=oa|1;Da=oa|2;Ea=oa|3;Fa=oa|4;Ga=oa|5;Ha=oa|6;Ia=oa|7;Ja=(ma|0)>=(Aa|0)|(ma|0)<(ya|0);ma=(Da|0)>=(Aa|0)|(Da|0)<(ya|0);Da=(Ea|0)>=(Aa|0)|(Ea|0)<(ya|0);Ea=(Fa|0)>=(Aa|0)|(Fa|0)<(ya|0);Fa=(Ga|0)>=(Aa|0)|(Ga|0)<(ya|0);Ga=(Ha|0)>=(Aa|0)|(Ha|0)<(ya|0);Ha=(Ia|0)>=(Aa|0)|(Ia|0)<(ya|0);Ia=0;Ka=0;La=0;Ma=0;while(1){Na=La+ba|0;Oa=La<<3;Pa=(Na|0)>=(Ca|0)|(Na|0)<(Ba|0);if(pa|Pa){Qa=Ia;Ra=Ka;Sa=Ma}else{Na=Vb(1,0,Oa|0)|0;Qa=Na|Ia;Ra=C|Ka;Sa=Ma+1|0}if(Ja|Pa){Ta=Qa;Ua=Ra;Va=Sa}else{Na=Vb(1,0,Oa|1|0)|0;Ta=Qa|Na;Ua=Ra|C;Va=Sa+1|0}if(ma|Pa){Wa=Ta;Xa=Ua;Ya=Va}else{Na=Vb(1,0,Oa|2|0)|0;Wa=Ta|Na;Xa=Ua|C;Ya=Va+1|0}if(Da|Pa){Za=Wa;_a=Xa;$a=Ya}else{Na=Vb(1,0,Oa|3|0)|0;Za=Wa|Na;_a=Xa|C;$a=Ya+1|0}if(Ea|Pa){ab=Za;bb=_a;cb=$a}else{Na=Vb(1,0,Oa|4|0)|0;ab=Za|Na;bb=_a|C;cb=$a+1|0}if(Fa|Pa){db=ab;eb=bb;fb=cb}else{Na=Vb(1,0,Oa|5|0)|0;db=ab|Na;eb=bb|C;fb=cb+1|0}if(Ga|Pa){gb=db;hb=eb;lb=fb}else{Na=Vb(1,0,Oa|6|0)|0;gb=db|Na;hb=eb|C;lb=fb+1|0}if(Ha|Pa){mb=gb;nb=hb;ob=lb}else{Pa=Vb(1,0,Oa|7|0)|0;mb=gb|Pa;nb=hb|C;ob=lb+1|0}La=La+1|0;if((La|0)==8){pb=mb;qb=nb;rb=ob;break}else{Ia=mb;Ka=nb;Ma=ob}}Ma=c[V>>2]|0;a:do if((Ma|0)>0){Ka=0;while(1){Ia=b+592+(Ka<<4)|0;if((c[Ia>>2]|0)==(pb|0)?(c[Ia+4>>2]|0)==(qb|0):0){sb=Ka;break a}Ia=Ka+1|0;if((Ia|0)<(Ma|0))Ka=Ia;else{tb=Ia;qa=65;break}}}else{tb=0;qa=65}while(0);if((qa|0)==65){qa=0;c[V>>2]=Ma+1;Ka=b+592+(tb<<4)|0;c[Ka>>2]=pb;c[Ka+4>>2]=qb;c[b+592+(tb<<4)+8>>2]=rb;sb=tb}c[da>>2]=c[da>>2]&-63489|sb<<11&63488}while(0);da=da+4|0}while(da>>>0<ia>>>0);ub=ca;vb=X+((ja>>>2)+1<<2)|0}else{ub=ba+8|0;vb=X}if(vb>>>0<U>>>0){X=vb;ba=ub}else{wb=vb;break}}}else wb=G;Y=Y+1|0;if((Y|0)==3)break;else G=wb}if((f+-3|0)>>>0<=3){G=c[p>>2]|0;Y=G&1^1;U=G>>>1&1^1;G=c[h>>2]|0;V=G+32|0;H=(c[i>>2]|0)+32|0;$=(V>>Y)+15&-16;W=_(H,V)|0;S=_($,H>>U)|0;ba=(V<<4)+16|0;X=(_($,16>>>U)|0)+(16>>>Y)|0;aa=0-X&15;T=S<<1;Z=W+16+T|0;ia=_(Z,f)|0;if(!(Z>>>0<W>>>0|((T|16)>>>0<S>>>0?1:((W>>>0)/(V>>>0)|0|0)!=(H|0)))?((ia>>>0)/(f>>>0)|0|0)==(Z|0):0){Z=ib(ia,16)|0;ia=Ob(c[Q>>2]<<2)|0;c[b+172>>2]=ia;if((Z|0)==0|(ia|0)==0){Pb(ia);jb(Z);xb=-1;break}H=c[h>>2]|0;T=b+236|0;c[T>>2]=H;da=c[i>>2]|0;c[b+240>>2]=da;R=b+244|0;c[R>>2]=V;V=H>>>Y;c[b+268>>2]=V;c[b+252>>2]=V;V=da>>>U;c[b+272>>2]=V;c[b+256>>2]=V;V=b+276|0;c[V>>2]=$;U=b+260|0;c[U>>2]=$;if((f|0)>1){da=1;do{n=b+236+(da*48|0)|0;l=T;j=n+48|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(j|0));da=da+1|0}while((da|0)!=(f|0))}c[b+572>>2]=Z;if((f|0)>0){da=aa+W|0;T=da+X|0;Q=da+S|0;da=Q+X|0;Y=S+16-aa+Q|0;Q=Z;H=0;while(1){fa=b+236+(H*48|0)|0;c[b+236+(H*48|0)+12>>2]=Q+ba;c[b+236+(H*48|0)+28>>2]=Q+T;c[b+236+(H*48|0)+44>>2]=Q+da;kb(fa,fa);H=H+1|0;if((H|0)==(f|0))break;else Q=Q+Y|0}}c[b+576>>2]=-32-G;Y=0-$|0;c[b+584>>2]=Y;c[b+580>>2]=Y;Y=c[b+248>>2]|0;Q=Y;H=(c[J>>2]|0)+(c[I>>2]|0)|0;da=c[b+72>>2]|0;if((H|0)>0){T=c[R>>2]<<3;ba=(da|0)>0;Z=0;aa=Y;while(1){Y=Z+da|0;if(ba){S=Z+1|0;X=Z;W=aa;while(1){c[ia+(X<<2)>>2]=W-Q;X=X+1|0;if((X|0)>=(Y|0))break;else W=W+8|0}yb=(Y|0)>(S|0)?Y:S}else yb=Z;if((yb|0)<(H|0)){Z=yb;aa=aa+T|0}else{zb=yb;break}}}else zb=0;T=(c[P>>2]|0)+(c[M>>2]|0)|0;aa=c[L>>2]|0;if((zb|0)<(T|0)){Z=c[U>>2]<<3;H=(aa|0)>0;ba=zb;da=c[b+264>>2]|0;while(1){R=ba+aa|0;if(H){I=ba+1|0;J=ba;$=da;while(1){c[ia+(J<<2)>>2]=$-Q;J=J+1|0;if((J|0)>=(R|0))break;else $=$+8|0}Ab=(R|0)>(I|0)?R:I}else Ab=ba;if((Ab|0)<(T|0)){ba=Ab;da=da+Z|0}else{Bb=Ab;break}}}else Bb=zb;Z=(c[O>>2]|0)+(c[N>>2]|0)|0;da=c[K>>2]|0;if((Bb|0)<(Z|0)){ba=c[V>>2]<<3;T=(da|0)>0;H=Bb;aa=c[b+280>>2]|0;while(1){U=H+da|0;if(T){L=H+1|0;M=H;P=aa;while(1){c[ia+(M<<2)>>2]=P-Q;M=M+1|0;if((M|0)>=(U|0))break;else P=P+8|0}Cb=(U|0)>(L|0)?U:L}else Cb=H;if((Cb|0)<(Z|0)){H=Cb;aa=aa+ba|0}else break}}ba=b+524|0;c[ba>>2]=-1;c[ba+4>>2]=-1;c[ba+8>>2]=-1;c[ba+12>>2]=-1;c[ba+16>>2]=-1;c[ba+20>>2]=-1;ba=b+548|0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;if((c[e+60>>2]|0)>>>0>31)c[b+60>>2]=31;ba=b+848|0;c[ba>>2]=0;c[ba+4>>2]=0;ba=b+856|0;c[ba>>2]=-1;c[ba+4>>2]=-1;ba=a[e>>0]|0;do if((ba&255)>3)Db=1;else{if(ba<<24>>24!=3){Db=0;break}aa=a[e+1>>0]|0;if((aa&255)>2){Db=1;break}if(aa<<24>>24!=2){Db=0;break}Db=(a[e+2>>0]|0)!=0&1}while(0);a[b+873>>0]=Db;g=0;return g|0}else xb=-23}else xb=-10}else xb=-1}else xb=-23;while(0);Pb(c[b+216>>2]|0);Pb(c[b+200>>2]|0);Pb(c[b+196>>2]|0);Pb(c[b+188>>2]|0);Pb(c[b+184>>2]|0);Pb(c[b+176>>2]|0);Pb(c[b+168>>2]|0);g=xb;return g|0}function nb(a){a=a|0;Pb(c[a+172>>2]|0);jb(c[a+572>>2]|0);Pb(c[a+216>>2]|0);Pb(c[a+200>>2]|0);Pb(c[a+196>>2]|0);Pb(c[a+188>>2]|0);Pb(c[a+184>>2]|0);Pb(c[a+176>>2]|0);Pb(c[a+168>>2]|0);return}function ob(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if(!e)h=0;else h=(c[b+48>>2]&1|0)==0;i=16>>>(h&1);h=c[b+236+(d*48|0)+(e<<4)+8>>2]|0;j=c[b+236+(d*48|0)+(e<<4)+12>>2]|0;k=_(h,f)|0;f=_(h,g)|0;g=j+f|0;if((k|0)==(f|0))return;f=0-i|0;l=j+k|0;m=j+(k+-1+(c[b+236+(d*48|0)+(e<<4)>>2]|0))|0;while(1){Ub(l+f|0,a[l>>0]|0,i|0)|0;Ub(m+1|0,a[m>>0]|0,i|0)|0;l=l+h|0;if((l|0)==(g|0))break;else m=m+h|0}return}function pb(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;if(!d){e=16;f=0}else{g=c[a+48>>2]|0;e=16>>>(g&1^1);f=(g&2|0)==0}g=c[a+236+(b*48|0)+(d<<4)+8>>2]|0;h=(c[a+236+(b*48|0)+(d<<4)>>2]|0)+(e<<1)|0;i=c[a+236+(b*48|0)+(d<<4)+12>>2]|0;j=0-e|0;k=0-(e+(_(16>>>(f&1),g)|0))|0;f=i+k|0;if((j|0)==(k|0))return;k=0-g|0;l=i+j|0;j=i+((_((c[a+236+(b*48|0)+(d<<4)+4>>2]|0)+-1|0,g)|0)-e)|0;do{e=l;l=l+k|0;Xb(l|0,e|0,h|0)|0;e=j;j=j+g|0;Xb(j|0,e|0,h|0)|0}while((l|0)!=(f|0));return}function qb(d,e,f,g,h,i){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;j=_(b[g>>1]|0,i&65535)|0;if((h|0)<2){i=(j+15|0)>>>5&65535;k=0;do{b[g+(k+64<<1)>>1]=i;k=k+1|0}while((k|0)!=64)}else{b[g>>1]=j;cb(g+128|0,g,h)}h=c[(c[d+172>>2]|0)+(e<<2)>>2]|0;j=(c[(c[d+168>>2]|0)+(e<<2)>>2]|0)>>>6&3;k=c[d+576+(f<<2)>>2]|0;i=(c[d+556>>2]|0)+h|0;if((j|0)==2){Wa(i,k,g+128|0);return}l=c[d+548+(j<<2)>>2]|0;j=b[(c[d+176>>2]|0)+(e<<1)>>1]|0;e=(f|0)!=0;if(e)m=(c[d+48>>2]&2|0)==0;else m=0;f=m&1;m=(j<<16>>16>>8)+31|0;n=a[1624+(f<<6)+m>>0]|0;if(e)o=(c[d+48>>2]&1|0)==0;else o=0;d=o&1;o=((j&65535)<<24>>24)+31|0;j=a[1624+(d<<6)+o>>0]|0;e=(a[1496+(d<<6)+o>>0]|0)+(_(a[1496+(f<<6)+m>>0]|0,k)|0)|0;if(!((j|n)<<24>>24)){Xa(i,l+(e+h)|0,k,g+128|0);return}else{Ya(i,l+(e+h)|0,l+((_(n<<24>>24,k)|0)+h+e+(j<<24>>24))|0,k,g+128|0);return}}function rb(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;Ub(b|0,0,256)|0;if((c|0)>0)d=0;else return;do{e=127-d|0;f=e-c|0;if((f|0)>-1)a[b+f>>0]=d-c;a[b+e>>0]=0-d;e=d+127|0;a[b+e>>0]=d;f=e+c|0;if((f|0)<256)a[b+f>>0]=c-d;d=d+1|0}while((d|0)!=(c|0));return}function sb(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=c[b+72+(g<<5)>>2]|0;k=c[b+72+(g<<5)+8>>2]|0;l=(c[b+72+(g<<5)+12>>2]|0)+k|0;m=k+(_(j,h)|0)|0;h=k+(_(j,i)|0)|0;i=c[b+576+(g<<2)>>2]|0;g=c[b+168>>2]|0;n=c[b+172>>2]|0;o=c[b+548+(f<<2)>>2]|0;if((m|0)>=(h|0))return;f=i<<1;b=i<<3;p=(j|0)>0;q=m;do{m=q;q=q+j|0;if(p){r=(m|0)>(k|0);s=m;while(1){if(c[g+(s<<2)>>2]&1){t=c[n+(s<<2)>>2]|0;if((s|0)>(m|0)){u=o+(t+-2)|0;v=0;while(1){w=u+2|0;x=d[w>>0]|0;y=u+1|0;z=d[y>>0]|0;A=a[e+(((d[u>>0]|0)+4-(d[u+3>>0]|0)+((x-z|0)*3|0)>>3)+127)>>0]|0;B=A+z|0;a[y>>0]=(B>>>31)+255&((B|0)>255?255:B);B=x-A|0;a[w>>0]=(B>>>31)+255&((B|0)>255?255:B);v=v+1|0;if((v|0)==8)break;else u=u+i|0}}if(r){u=t-f|0;v=t+i|0;B=t-i|0;w=0;do{A=o+(w+t)|0;x=o+(B+w)|0;y=d[x>>0]|0;z=a[e+(((d[o+(u+w)>>0]|0)+4-(d[o+(v+w)>>0]|0)+(((d[A>>0]|0)-y|0)*3|0)>>3)+127)>>0]|0;C=z+y|0;a[x>>0]=(C>>>31)+255&((C|0)>255?255:C);C=(d[A>>0]|0)-z|0;a[A>>0]=(C>>>31)+255&((C|0)>255?255:C);w=w+1|0}while((w|0)!=8)}w=s+1|0;if((w|0)<(q|0)?(c[g+(w<<2)>>2]&1|0)==0:0){v=o+(t+6)|0;u=0;while(1){B=v+2|0;C=d[B>>0]|0;A=v+1|0;z=d[A>>0]|0;x=a[e+(((d[v>>0]|0)+4-(d[v+3>>0]|0)+((C-z|0)*3|0)>>3)+127)>>0]|0;y=x+z|0;a[A>>0]=(y>>>31)+255&((y|0)>255?255:y);y=C-x|0;a[B>>0]=(y>>>31)+255&((y|0)>255?255:y);u=u+1|0;if((u|0)==8)break;else v=v+i|0}}v=s+j|0;if((v|0)<(l|0)?(c[g+(v<<2)>>2]&1|0)==0:0){v=t+b|0;u=v-f|0;y=v+i|0;B=v-i|0;x=0;do{C=o+(x+v)|0;A=o+(B+x)|0;z=d[A>>0]|0;D=a[e+(((d[o+(u+x)>>0]|0)+4-(d[o+(y+x)>>0]|0)+(((d[C>>0]|0)-z|0)*3|0)>>3)+127)>>0]|0;E=D+z|0;a[A>>0]=(E>>>31)+255&((E|0)>255?255:E);E=(d[C>>0]|0)-D|0;a[C>>0]=(E>>>31)+255&((E|0)>255?255:E);x=x+1|0}while((x|0)!=8);F=w}else F=w}else F=s+1|0;if((F|0)<(q|0))s=F;else break}}}while((q|0)<(h|0));return}function tb(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|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,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;m=i;i=i+48|0;n=m;o=n+20|0;p=n+16|0;q=n+4|0;r=n+8|0;s=n+12|0;t=e<<1;u=n+24|0;v=n+28|0;w=n+32|0;x=n+36|0;y=g<<1;z=g*3|0;A=g<<2;B=g*5|0;C=g*6|0;D=g*7|0;E=g<<3;F=g*9|0;G=e*3|0;H=e<<2;I=e*5|0;J=e<<1;K=e*3|0;L=e<<2;M=e*5|0;N=e*6|0;O=e*7|0;P=0;Q=b+(e*6|0)|0;R=b+(e*5|0)|0;S=b;b=f;while(1){f=d[b>>0]|0;c[n>>2]=f;T=a[b+g>>0]|0;U=T&255;c[q>>2]=U;V=d[b+y>>0]|0;c[r>>2]=V;W=d[b+z>>0]|0;c[s>>2]=W;X=d[b+A>>0]|0;c[p>>2]=X;Y=d[b+B>>0]|0;c[o>>2]=Y;Z=d[b+C>>0]|0;c[u>>2]=Z;_=d[b+D>>0]|0;c[v>>2]=_;$=d[b+E>>0]|0;c[w>>2]=$;aa=d[b+F>>0]|0;c[x>>2]=aa;ba=U-f|0;ca=Y-Z|0;da=V-U|0;ea=Z-_|0;Z=W-V|0;fa=_-$|0;_=X-W|0;ga=((_|0)>-1?_:0-_|0)+(((Z|0)>-1?Z:0-Z|0)+(((da|0)>-1?da:0-da|0)+((ba|0)>-1?ba:0-ba|0)))|0;ba=$-aa|0;aa=((ba|0)>-1?ba:0-ba|0)+(((fa|0)>-1?fa:0-fa|0)+(((ea|0)>-1?ea:0-ea|0)+((ca|0)>-1?ca:0-ca|0)))|0;c[k>>2]=(c[k>>2]|0)+((ga|0)<255?ga:255);c[l>>2]=(c[l>>2]|0)+((aa|0)<255?aa:255);if((ga|0)<(j|0)&(aa|0)<(j|0)?(Y-X|0)<(h|0)&(X-Y|0)<(h|0):0){a[S>>0]=(X+4+(f*3|0)+(U<<1)+V+W|0)>>>3;a[S+e>>0]=((c[q>>2]|0)+4+(c[s>>2]|0)+(c[p>>2]|0)+(c[o>>2]|0)+((c[r>>2]|0)+(c[n>>2]|0)<<1)|0)>>>3;a[S+t>>0]=((c[n>>2]|0)+4+(c[q>>2]|0)+(c[r>>2]|0)+(c[s>>2]<<1)+(c[p>>2]|0)+(c[o>>2]|0)+(c[u>>2]|0)|0)>>>3;a[S+G>>0]=((c[q>>2]|0)+4+(c[r>>2]|0)+(c[s>>2]|0)+(c[p>>2]<<1)+(c[o>>2]|0)+(c[u>>2]|0)+(c[v>>2]|0)|0)>>>3;a[S+H>>0]=((c[r>>2]|0)+4+(c[s>>2]|0)+(c[p>>2]|0)+(c[o>>2]<<1)+(c[u>>2]|0)+(c[v>>2]|0)+(c[w>>2]|0)|0)>>>3;a[S+I>>0]=((c[s>>2]|0)+4+(c[p>>2]|0)+(c[o>>2]|0)+(c[u>>2]<<1)+(c[v>>2]|0)+(c[w>>2]|0)+(c[x>>2]|0)|0)>>>3;a[Q>>0]=((c[p>>2]|0)+4+(c[o>>2]|0)+(c[u>>2]|0)+(c[w>>2]|0)+((c[x>>2]|0)+(c[v>>2]|0)<<1)|0)>>>3;a[R+t>>0]=((c[o>>2]|0)+4+(c[u>>2]|0)+(c[v>>2]|0)+(c[w>>2]<<1)+((c[x>>2]|0)*3|0)|0)>>>3}else{a[S>>0]=T;a[S+e>>0]=c[r>>2];a[S+J>>0]=c[s>>2];a[S+K>>0]=c[p>>2];a[S+L>>0]=c[o>>2];a[S+M>>0]=c[u>>2];a[S+N>>0]=c[v>>2];a[S+O>>0]=c[w>>2]}P=P+1|0;if((P|0)==8)break;else{Q=Q+1|0;R=R+1|0;S=S+1|0;b=b+1|0}}i=m;return}function ub(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;j=i;i=i+48|0;k=j;l=h+4|0;m=k+20|0;n=k+16|0;o=k+4|0;p=k+8|0;q=k+12|0;r=k+24|0;s=k+28|0;t=k+32|0;u=k+36|0;v=0;w=b;x=b+6|0;y=b+5|0;while(1){b=d[w+-1>>0]|0;c[k>>2]=b;z=d[w>>0]|0;c[o>>2]=z;A=d[w+1>>0]|0;c[p>>2]=A;B=d[w+2>>0]|0;c[q>>2]=B;C=d[w+3>>0]|0;c[n>>2]=C;D=d[w+4>>0]|0;c[m>>2]=D;E=d[w+5>>0]|0;c[r>>2]=E;F=d[w+6>>0]|0;c[s>>2]=F;G=d[w+7>>0]|0;c[t>>2]=G;H=d[w+8>>0]|0;c[u>>2]=H;I=z-b|0;J=D-E|0;K=A-z|0;L=E-F|0;E=B-A|0;M=F-G|0;F=C-B|0;N=((F|0)>-1?F:0-F|0)+(((E|0)>-1?E:0-E|0)+(((K|0)>-1?K:0-K|0)+((I|0)>-1?I:0-I|0)))|0;I=G-H|0;H=((I|0)>-1?I:0-I|0)+(((M|0)>-1?M:0-M|0)+(((L|0)>-1?L:0-L|0)+((J|0)>-1?J:0-J|0)))|0;c[h>>2]=(c[h>>2]|0)+((N|0)<255?N:255);c[l>>2]=(c[l>>2]|0)+((H|0)<255?H:255);if((N|0)<(g|0)&(H|0)<(g|0)?(D-C|0)<(f|0)&(C-D|0)<(f|0):0){a[w>>0]=(C+4+(b*3|0)+(z<<1)+A+B|0)>>>3;a[w+1>>0]=((c[o>>2]|0)+4+(c[q>>2]|0)+(c[n>>2]|0)+(c[m>>2]|0)+((c[p>>2]|0)+(c[k>>2]|0)<<1)|0)>>>3;a[w+2>>0]=((c[k>>2]|0)+4+(c[o>>2]|0)+(c[p>>2]|0)+(c[q>>2]<<1)+(c[n>>2]|0)+(c[m>>2]|0)+(c[r>>2]|0)|0)>>>3;a[w+3>>0]=((c[o>>2]|0)+4+(c[p>>2]|0)+(c[q>>2]|0)+(c[n>>2]<<1)+(c[m>>2]|0)+(c[r>>2]|0)+(c[s>>2]|0)|0)>>>3;a[w+4>>0]=((c[p>>2]|0)+4+(c[q>>2]|0)+(c[n>>2]|0)+(c[m>>2]<<1)+(c[r>>2]|0)+(c[s>>2]|0)+(c[t>>2]|0)|0)>>>3;a[w+5>>0]=((c[q>>2]|0)+4+(c[n>>2]|0)+(c[m>>2]|0)+(c[r>>2]<<1)+(c[s>>2]|0)+(c[t>>2]|0)+(c[u>>2]|0)|0)>>>3;a[x>>0]=((c[n>>2]|0)+4+(c[m>>2]|0)+(c[r>>2]|0)+(c[t>>2]|0)+((c[u>>2]|0)+(c[s>>2]|0)<<1)|0)>>>3;a[y+2>>0]=((c[m>>2]|0)+4+(c[r>>2]|0)+(c[s>>2]|0)+(c[t>>2]<<1)+((c[u>>2]|0)*3|0)|0)>>>3}v=v+1|0;if((v|0)==8)break;else{w=w+e|0;x=x+e|0;y=y+e|0}}i=j;return}function vb(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+576|0;l=k+288|0;m=k;n=g*3|0;o=d[1752+j>>0]|0;p=(o|0)<(n|0)?o:n;n=b+(0-(0-(f>>>2&1^1)&e))|0;o=g+32|0;g=d[1760+j>>0]|0;j=f>>>3&1^1;q=0;r=n;s=b;while(1){t=q<<3;u=0;do{v=(d[s+u>>0]|0)-(d[r+u>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<g)|0;if((w|0)<-64)x=h;else{v=(p|0)<(w|0)?p:w;x=(v|0)>0?v:0}c[l+(u+t<<2)>>2]=x;u=u+1|0}while((u|0)!=8);u=s+(0-((q|0)<7|j)&e)|0;q=q+1|0;if((q|0)==9)break;else{t=s;s=u;r=t}}r=0-(f&1^1)|0;s=f>>>1&1;f=s^1;q=0;x=b;t=b+r|0;while(1){u=q<<3;v=0;w=t;y=x;while(1){z=(d[y>>0]|0)-(d[w>>0]|0)|0;A=o-(((z|0)>-1?z:0-z|0)<<g)|0;if((A|0)<-64)B=h;else{z=(p|0)<(A|0)?p:A;B=(z|0)>0?z:0}c[m+(v+u<<2)>>2]=B;v=v+1|0;if((v|0)==8)break;else{w=w+e|0;y=y+e|0}}y=x+((q|0)<7|f)|0;q=q+1|0;if((q|0)==9)break;else{w=x;x=y;t=w}}t=8-s|0;s=0;x=b;q=b+e|0;f=n;n=b;while(1){b=c[m+(s<<2)>>2]|0;B=(_(d[n+r>>0]|0,b)|0)+64|0;p=s<<3;h=c[l+(p<<2)>>2]|0;g=B+(_(d[f>>0]|0,h)|0)|0;B=s;s=s+1|0;o=s<<3;w=c[l+(o<<2)>>2]|0;y=g+(_(d[q>>0]|0,w)|0)|0;g=c[m+(B+8<<2)>>2]|0;v=y+(_(d[n+1>>0]|0,g)|0)|0;y=v+(_(d[n>>0]|0,128-b-h-w-g|0)|0)>>7;a[x>>0]=(y>>>31)+255&((y|0)>255?255:y);y=1;do{g=c[m+((y<<3)+B<<2)>>2]|0;w=(_(d[n+(y+-1)>>0]|0,g)|0)+64|0;h=c[l+(y+p<<2)>>2]|0;b=w+(_(d[f+y>>0]|0,h)|0)|0;w=c[l+(y+o<<2)>>2]|0;v=b+(_(d[q+y>>0]|0,w)|0)|0;b=y;y=y+1|0;u=c[m+((y<<3)+B<<2)>>2]|0;z=v+(_(d[n+y>>0]|0,u)|0)|0;v=z+(_(d[n+b>>0]|0,128-g-h-w-u|0)|0)>>7;a[x+b>>0]=(v>>>31)+255&((v|0)>255?255:v)}while((y|0)!=7);y=c[m+(B+56<<2)>>2]|0;v=(_(d[n+6>>0]|0,y)|0)+64|0;b=c[l+((p|7)<<2)>>2]|0;u=v+(_(d[f+7>>0]|0,b)|0)|0;v=c[l+((o|7)<<2)>>2]|0;w=u+(_(d[q+7>>0]|0,v)|0)|0;u=c[m+(B+64<<2)>>2]|0;h=w+(_(d[n+t>>0]|0,u)|0)|0;w=h+(_(d[n+7>>0]|0,128-y-b-v-u|0)|0)>>7;a[x+7>>0]=(w>>>31)+255&((w|0)>255?255:w);w=q+(0-((B|0)<6|j)&e)|0;if((s|0)==8)break;else{u=q;v=n;x=x+e|0;q=w;n=u;f=v}}i=k;return}function wb(c,e,f){c=c|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,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;g=i;i=i+144|0;h=g;j=g+102|0;k=g+68|0;a[j>>0]=0;l=f+255&255;a[k>>0]=l;f=(c|0)!=0;m=l;l=0;n=0;o=0;p=0;while(1){q=1-p+(m&255)|0;r=l&255;s=l<<24>>24!=0?2:7;a:do if((q|0)>0){t=0;u=1;v=1;w=2;while(1){x=(u|0)==0;y=v+1|0;z=y+r|0;A=0;B=0;C=0;while(1){D=C+p|0;E=e+(D<<1)|0;F=d[e+(D<<1)+1>>0]|0;do if((F|0)>=(z|0))if((F|0)==(z|0)){G=1;H=C+1|0;break}else{G=A;H=(Hb(E,z)|0)+C|0;break}else{G=A;H=C+1|0}while(0);E=B+1|0;if((H|0)<(q|0)){A=G;B=E;C=H}else{I=E;J=G;K=B;break}}B=x?t:v;if((K|0)<(w|0)){L=B;break a}if((_(I,s)|0)<(1<<y|0)){L=B;break}else{t=B;u=J;v=y;w=I}}}else L=1;while(0);s=o&65535;q=h+(n<<1)|0;b[q>>1]=s;r=o+1+(1<<L)|0;if(f){b[q>>1]=s+1<<16>>16;b[c+(o<<16>>16<<1)>>1]=L;M=m;N=l;O=n;P=L;Q=p}else{M=m;N=l;O=n;P=L;Q=p}while(1){s=M&255;b:do if((Q|0)>(s|0))R=Q;else{q=N&255;w=q+P|0;v=h+(O<<1)|0;if(f)S=Q;else{u=Q;while(1){if((w|0)<(d[e+(u<<1)+1>>0]|0|0)){R=u;break b}t=u+1|0;if((u|0)<(s|0))u=t;else{R=t;break b}}}while(1){u=d[e+(S<<1)+1>>0]|0;if((w|0)<(u|0)){R=S;break b}y=w-u|0;x=0-(d[e+(S<<1)>>0]|0|u-q<<8)&65535;if((y|0)!=31){u=1<<y;y=b[v>>1]|0;t=u+1+((u|0)<1?u^65535:65534)&65535;B=y;C=u;while(1){b[c+(B<<16>>16<<1)>>1]=x;if((C|0)>1){B=B+1<<16>>16;C=C+-1|0}else break}b[v>>1]=(y+1<<16>>16)+t<<16>>16}C=S+1|0;if((S|0)<(s|0))S=C;else{R=C;break}}}while(0);if((R|0)<=(s|0)){T=N;U=O;V=P;W=R;X=25;break}v=O+-1|0;if((O|0)<=0){Y=v;Z=R;break}q=a[j+v>>0]|0;w=(N&255)-(q&255)|0;M=a[k+v>>0]|0;N=q;O=v;P=w;Q=R}if((X|0)==25){X=0;w=(T&255)+V|0;v=U+1|0;a[j+v>>0]=w;if(f){q=h+(U<<1)|0;C=b[q>>1]|0;b[q>>1]=C+1<<16>>16;b[c+(C<<16>>16<<1)>>1]=r}a[k+v>>0]=W+255+(Hb(e+(W<<1)|0,w&255)|0);Y=v;Z=W}if((Y|0)<=-1){$=r;break}m=a[k+Y>>0]|0;l=a[j+Y>>0]|0;n=Y;o=r;p=Z}i=g;return $|0}function xb(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b[a+(c<<1)>>1]|0;e=1<<d;f=c+1|0;c=0;g=e+1|0;while(1){h=b[a+(f+c<<1)>>1]|0;i=h<<16>>16;if(h<<16>>16<1){j=1<<d-(0-i>>8);k=g}else{j=1;k=(xb(a,i)|0)+g|0}c=j+c|0;if((c|0)>=(e|0)){l=k;break}else g=k}return l|0}function yb(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b[c>>1]|0;e=b[c+8>>1]|0;f=(e+d<<16>>16)*46341>>16;g=(d-e<<16>>16)*46341>>16;e=b[c+4>>1]|0;d=b[c+12>>1]|0;h=(e*25080>>16)-(d*60547>>16)|0;i=(d*25080>>16)+(e*60547>>16)|0;e=b[c+2>>1]|0;d=b[c+14>>1]|0;j=(e*12785>>16)-(d*64277>>16)|0;k=b[c+10>>1]|0;l=b[c+6>>1]|0;c=(k*54491>>16)-(l*36410>>16)|0;m=(l*54491>>16)+(k*36410>>16)|0;k=(d*12785>>16)+(e*64277>>16)|0;e=c+j|0;d=(j-c<<16>>16)*46341>>16;c=m+k|0;j=(k-m<<16>>16)*46341>>16;m=f+i|0;k=f-i|0;i=g+h|0;f=g-h|0;h=j+d|0;g=j-d|0;b[a>>1]=c+m;b[a+16>>1]=h+i;b[a+32>>1]=g+f;b[a+48>>1]=e+k;b[a+64>>1]=k-e;b[a+80>>1]=f-g;b[a+96>>1]=i-h;b[a+112>>1]=m-c;return}function zb(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=b[c>>1]|0;e=b[c+2>>1]|0;f=b[c+4>>1]|0;g=b[c+6>>1]|0;c=((e&65535)<<24>>24)+((d&65535)<<24>>24)+((f&65535)<<24>>24)+((g&65535)<<24>>24)|0;h=(e<<16>>16>>8)+(d<<16>>16>>8)+(f<<16>>16>>8)+(g<<16>>16>>8)|0;b[a>>1]=(c+2+(c>>31)|0)>>>2&255|(h+2+(h>>31)|0)>>>2<<8;return}function Ab(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[c>>1]|0;e=b[c+4>>1]|0;f=((e&65535)<<24>>24)+((d&65535)<<24>>24)|0;g=(e<<16>>16>>8)+(d<<16>>16>>8)|0;b[a>>1]=(f+1+(f>>31)|0)>>>1&255|(g+1+(g>>31)|0)>>>1<<8;g=b[c+2>>1]|0;f=b[c+6>>1]|0;c=((f&65535)<<24>>24)+((g&65535)<<24>>24)|0;d=(f<<16>>16>>8)+(g<<16>>16>>8)|0;b[a+2>>1]=(c+1+(c>>31)|0)>>>1&255|(d+1+(d>>31)|0)>>>1<<8;return}function Bb(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[c>>1]|0;e=b[c+2>>1]|0;f=((e&65535)<<24>>24)+((d&65535)<<24>>24)|0;g=(e<<16>>16>>8)+(d<<16>>16>>8)|0;b[a>>1]=(f+1+(f>>31)|0)>>>1&255|(g+1+(g>>31)|0)>>>1<<8;g=b[c+4>>1]|0;f=b[c+6>>1]|0;c=((f&65535)<<24>>24)+((g&65535)<<24>>24)|0;d=(f<<16>>16>>8)+(g<<16>>16>>8)|0;b[a+4>>1]=(c+1+(c>>31)|0)>>>1&255|(d+1+(d>>31)|0)>>>1<<8;return}function Cb(a,c){a=a|0;c=c|0;b[a>>1]=b[c>>1]|0;b[a+2>>1]=b[c+2>>1]|0;b[a+4>>1]=b[c+4>>1]|0;b[a+6>>1]=b[c+6>>1]|0;return}function Db(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(_(c[b+32>>2]|0,e>>1)|0)+(d>>1)|0;c[a+16>>2]=f+(c[b+40>>2]|0);c[a+32>>2]=f+(c[b+72>>2]|0);return}function Eb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(_(c[b+32>>2]|0,e>>1)|0)+d|0;d=b+40|0;e=b+72|0;c[a+16>>2]=(c[d>>2]|0)+f;c[a+32>>2]=(c[e>>2]|0)+f;b=f+1|0;c[a+20>>2]=(c[d>>2]|0)+b;c[a+36>>2]=(c[e>>2]|0)+b;return}function Fb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+32|0;g=(_(c[f>>2]|0,e)|0)+(d>>1)|0;d=b+40|0;e=b+72|0;c[a+16>>2]=(c[d>>2]|0)+g;c[a+32>>2]=(c[e>>2]|0)+g;b=(c[f>>2]|0)+g|0;c[a+24>>2]=(c[d>>2]|0)+b;c[a+40>>2]=(c[e>>2]|0)+b;return}function Gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=b+40|0;d=b+72|0;b=c[a>>2]|0;c[a+16>>2]=(c[e>>2]|0)+b;c[a+32>>2]=(c[d>>2]|0)+b;b=c[a+4>>2]|0;c[a+20>>2]=(c[e>>2]|0)+b;c[a+36>>2]=(c[d>>2]|0)+b;b=c[a+8>>2]|0;c[a+24>>2]=(c[e>>2]|0)+b;c[a+40>>2]=(c[d>>2]|0)+b;b=c[a+12>>2]|0;c[a+28>>2]=(c[e>>2]|0)+b;c[a+44>>2]=(c[d>>2]|0)+b;return}function Hb(a,b){a=a|0;b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0;c=b+31|0;e=0;f=0;while(1){g=(d[a+(f<<1)+1>>0]|0)-b|0;if((g|0)<32){h=-2147483648>>>g;i=f+1|0}else{h=1;i=(Hb(a+(f<<1)|0,c)|0)+f|0}e=h+e|0;if((e|0)<=-1){j=i;break}else f=i}return j|0}function Ib(){fb(1776);db(1792);return}function Jb(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,m=0,n=0;d=i;i=i+48|0;e=d+32|0;f=d;Mb(f,a,b);g=c[442]|0;if(!g)c[f+8>>2]=256;c[442]=g+1;g=Na(1792,1776,1856,f)|0;if(!g){c[466]=Pa(1792,c[464]|0)|0;f=c[460]|0;h=c[451]|0;j=c[452]|0;k=c[457]|0;l=c[458]|0;if((k|0)!=0&(l|0)!=0)m=((_(k,h)|0)>>>0)/(l>>>0)|0;else m=h;fa(c[449]|0,c[450]|0,f&1^1|0,f>>>1&1^1|0,+(+((c[455]|0)>>>0)/+((c[456]|0)>>>0)),h|0,j|0,c[453]|0,c[454]|0,m|0,j|0);n=Kb(a,b)|0;i=d;return n|0}else{if((g|0)>0){n=1;i=d;return n|0}c[e>>2]=g;oa(1872,e|0)|0;n=0;i=d;return n|0}return 0}function Kb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+96|0;e=d+32|0;f=d;g=d+40|0;Mb(f,a,b);b=Ra(c[466]|0,f,0)|0;if(b>>>0<2){Sa(c[466]|0,g)|0;f=c[460]|0;ha(c[g+12>>2]|0,c[g+8>>2]|0,c[g+28>>2]|0,c[g+24>>2]|0,c[g+44>>2]|0,c[g+40>>2]|0,c[449]|0,c[450]|0,f&1^1|0,f>>>1&1^1|0);h=1;i=d;return h|0}else{c[e>>2]=b;oa(1912,e|0)|0;h=0;i=d;return h|0}return 0}function Lb(){var a=0;a=c[466]|0;if(a){Qa(a);c[466]=0}gb(1776);eb(1792);return}function Mb(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;return}function Nb(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!d){e=0;return e|0}else{f=d;g=b;h=c}while(1){c=a[g>>0]|0;b=a[h>>0]|0;if(c<<24>>24!=b<<24>>24){i=c;j=b;break}f=f+-1|0;if(!f){e=0;k=5;break}else{g=g+1|0;h=h+1|0}}if((k|0)==5)return e|0;e=(i&255)-(j&255)|0;return e|0}function Ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[488]|0;f=e>>>d;if(f&3){g=(f&1^1)+d|0;h=g<<1;i=1992+(h<<2)|0;j=1992+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do if((i|0)!=(l|0)){if(l>>>0<(c[492]|0)>>>0)ka();m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else ka()}else c[488]=e&~(1<<g);while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}j=c[490]|0;if(b>>>0>j>>>0){if(f){l=2<<d;i=f<<d&(l|0-l);l=(i&0-i)+-1|0;i=l>>>12&16;m=l>>>i;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|i|m|o|p)+(q>>>p)|0;p=r<<1;q=1992+(p<<2)|0;o=1992+(p+2<<2)|0;p=c[o>>2]|0;m=p+8|0;i=c[m>>2]|0;do if((q|0)!=(i|0)){if(i>>>0<(c[492]|0)>>>0)ka();l=i+12|0;if((c[l>>2]|0)==(p|0)){c[l>>2]=q;c[o>>2]=i;s=c[490]|0;break}else ka()}else{c[488]=e&~(1<<r);s=j}while(0);j=r<<3;e=j-b|0;c[p+4>>2]=b|3;i=p+b|0;c[p+(b|4)>>2]=e|1;c[p+j>>2]=e;if(s){j=c[493]|0;o=s>>>3;q=o<<1;d=1992+(q<<2)|0;f=c[488]|0;k=1<<o;if(f&k){o=1992+(q+2<<2)|0;h=c[o>>2]|0;if(h>>>0<(c[492]|0)>>>0)ka();else{t=o;u=h}}else{c[488]=f|k;t=1992+(q+2<<2)|0;u=d}c[t>>2]=j;c[u+12>>2]=j;c[j+8>>2]=u;c[j+12>>2]=d}c[490]=e;c[493]=i;n=m;return n|0}i=c[489]|0;if(i){e=(i&0-i)+-1|0;i=e>>>12&16;d=e>>>i;e=d>>>5&8;j=d>>>e;d=j>>>2&4;q=j>>>d;j=q>>>1&2;k=q>>>j;q=k>>>1&1;f=c[2256+((e|i|d|j|q)+(k>>>q)<<2)>>2]|0;q=(c[f+4>>2]&-8)-b|0;k=f;j=f;while(1){f=c[k+16>>2]|0;if(!f){d=c[k+20>>2]|0;if(!d){v=q;w=j;break}else x=d}else x=f;f=(c[x+4>>2]&-8)-b|0;d=f>>>0<q>>>0;q=d?f:q;k=x;j=d?x:j}j=c[492]|0;if(w>>>0<j>>>0)ka();k=w+b|0;if(w>>>0>=k>>>0)ka();q=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){p=w+20|0;r=c[p>>2]|0;if(!r){d=w+16|0;f=c[d>>2]|0;if(!f){y=0;break}else{z=f;A=d}}else{z=r;A=p}while(1){p=z+20|0;r=c[p>>2]|0;if(r){z=r;A=p;continue}p=z+16|0;r=c[p>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=p}}if(C>>>0<j>>>0)ka();else{c[C>>2]=0;y=B;break}}else{p=c[w+8>>2]|0;if(p>>>0<j>>>0)ka();r=p+12|0;if((c[r>>2]|0)!=(w|0))ka();d=m+8|0;if((c[d>>2]|0)==(w|0)){c[r>>2]=m;c[d>>2]=p;y=m;break}else ka()}while(0);do if(q){m=c[w+28>>2]|0;j=2256+(m<<2)|0;if((w|0)==(c[j>>2]|0)){c[j>>2]=y;if(!y){c[489]=c[489]&~(1<<m);break}}else{if(q>>>0<(c[492]|0)>>>0)ka();m=q+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[q+20>>2]=y;if(!y)break}m=c[492]|0;if(y>>>0<m>>>0)ka();c[y+24>>2]=q;j=c[w+16>>2]|0;do if(j)if(j>>>0<m>>>0)ka();else{c[y+16>>2]=j;c[j+24>>2]=y;break}while(0);j=c[w+20>>2]|0;if(j)if(j>>>0<(c[492]|0)>>>0)ka();else{c[y+20>>2]=j;c[j+24>>2]=y;break}}while(0);if(v>>>0<16){q=v+b|0;c[w+4>>2]=q|3;j=w+(q+4)|0;c[j>>2]=c[j>>2]|1}else{c[w+4>>2]=b|3;c[w+(b|4)>>2]=v|1;c[w+(v+b)>>2]=v;j=c[490]|0;if(j){q=c[493]|0;m=j>>>3;j=m<<1;p=1992+(j<<2)|0;d=c[488]|0;r=1<<m;if(d&r){m=1992+(j+2<<2)|0;f=c[m>>2]|0;if(f>>>0<(c[492]|0)>>>0)ka();else{D=m;E=f}}else{c[488]=d|r;D=1992+(j+2<<2)|0;E=p}c[D>>2]=q;c[E+12>>2]=q;c[q+8>>2]=E;c[q+12>>2]=p}c[490]=v;c[493]=k}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){p=a+11|0;q=p&-8;j=c[489]|0;if(j){r=0-q|0;d=p>>>8;if(d)if(q>>>0>16777215)G=31;else{p=(d+1048320|0)>>>16&8;f=d<<p;d=(f+520192|0)>>>16&4;m=f<<d;f=(m+245760|0)>>>16&2;i=14-(d|p|f)+(m<<f>>>15)|0;G=q>>>(i+7|0)&1|i<<1}else G=0;i=c[2256+(G<<2)>>2]|0;a:do if(!i){H=r;I=0;J=0;K=86}else{f=r;m=0;p=q<<((G|0)==31?0:25-(G>>>1)|0);d=i;e=0;while(1){h=c[d+4>>2]&-8;o=h-q|0;if(o>>>0<f>>>0)if((h|0)==(q|0)){L=o;M=d;N=d;K=90;break a}else{O=o;P=d}else{O=f;P=e}o=c[d+20>>2]|0;d=c[d+16+(p>>>31<<2)>>2]|0;h=(o|0)==0|(o|0)==(d|0)?m:o;if(!d){H=O;I=h;J=P;K=86;break}else{f=O;m=h;p=p<<1;e=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){i=2<<G;r=j&(i|0-i);if(!r){F=q;break}i=(r&0-r)+-1|0;r=i>>>12&16;b=i>>>r;i=b>>>5&8;k=b>>>i;b=k>>>2&4;e=k>>>b;k=e>>>1&2;p=e>>>k;e=p>>>1&1;Q=c[2256+((i|r|b|k|e)+(p>>>e)<<2)>>2]|0;R=0}else{Q=I;R=J}if(!Q){S=H;T=R}else{L=H;M=Q;N=R;K=90}}if((K|0)==90)while(1){K=0;e=(c[M+4>>2]&-8)-q|0;p=e>>>0<L>>>0;k=p?e:L;e=p?M:N;p=c[M+16>>2]|0;if(p){L=k;M=p;N=e;K=90;continue}M=c[M+20>>2]|0;if(!M){S=k;T=e;break}else{L=k;N=e;K=90}}if((T|0)!=0?S>>>0<((c[490]|0)-q|0)>>>0:0){j=c[492]|0;if(T>>>0<j>>>0)ka();e=T+q|0;if(T>>>0>=e>>>0)ka();k=c[T+24>>2]|0;p=c[T+12>>2]|0;do if((p|0)==(T|0)){b=T+20|0;r=c[b>>2]|0;if(!r){i=T+16|0;m=c[i>>2]|0;if(!m){U=0;break}else{V=m;W=i}}else{V=r;W=b}while(1){b=V+20|0;r=c[b>>2]|0;if(r){V=r;W=b;continue}b=V+16|0;r=c[b>>2]|0;if(!r){X=V;Y=W;break}else{V=r;W=b}}if(Y>>>0<j>>>0)ka();else{c[Y>>2]=0;U=X;break}}else{b=c[T+8>>2]|0;if(b>>>0<j>>>0)ka();r=b+12|0;if((c[r>>2]|0)!=(T|0))ka();i=p+8|0;if((c[i>>2]|0)==(T|0)){c[r>>2]=p;c[i>>2]=b;U=p;break}else ka()}while(0);do if(k){p=c[T+28>>2]|0;j=2256+(p<<2)|0;if((T|0)==(c[j>>2]|0)){c[j>>2]=U;if(!U){c[489]=c[489]&~(1<<p);break}}else{if(k>>>0<(c[492]|0)>>>0)ka();p=k+16|0;if((c[p>>2]|0)==(T|0))c[p>>2]=U;else c[k+20>>2]=U;if(!U)break}p=c[492]|0;if(U>>>0<p>>>0)ka();c[U+24>>2]=k;j=c[T+16>>2]|0;do if(j)if(j>>>0<p>>>0)ka();else{c[U+16>>2]=j;c[j+24>>2]=U;break}while(0);j=c[T+20>>2]|0;if(j)if(j>>>0<(c[492]|0)>>>0)ka();else{c[U+20>>2]=j;c[j+24>>2]=U;break}}while(0);b:do if(S>>>0>=16){c[T+4>>2]=q|3;c[T+(q|4)>>2]=S|1;c[T+(S+q)>>2]=S;k=S>>>3;if(S>>>0<256){j=k<<1;p=1992+(j<<2)|0;b=c[488]|0;i=1<<k;if(b&i){k=1992+(j+2<<2)|0;r=c[k>>2]|0;if(r>>>0<(c[492]|0)>>>0)ka();else{Z=k;_=r}}else{c[488]=b|i;Z=1992+(j+2<<2)|0;_=p}c[Z>>2]=e;c[_+12>>2]=e;c[T+(q+8)>>2]=_;c[T+(q+12)>>2]=p;break}p=S>>>8;if(p)if(S>>>0>16777215)$=31;else{j=(p+1048320|0)>>>16&8;i=p<<j;p=(i+520192|0)>>>16&4;b=i<<p;i=(b+245760|0)>>>16&2;r=14-(p|j|i)+(b<<i>>>15)|0;$=S>>>(r+7|0)&1|r<<1}else $=0;r=2256+($<<2)|0;c[T+(q+28)>>2]=$;c[T+(q+20)>>2]=0;c[T+(q+16)>>2]=0;i=c[489]|0;b=1<<$;if(!(i&b)){c[489]=i|b;c[r>>2]=e;c[T+(q+24)>>2]=r;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break}b=c[r>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(S|0)){r=S<<(($|0)==31?0:25-($>>>1)|0);i=b;while(1){j=i+16+(r>>>31<<2)|0;p=c[j>>2]|0;if(!p){aa=j;ba=i;break}if((c[p+4>>2]&-8|0)==(S|0)){ca=p;break c}else{r=r<<1;i=p}}if(aa>>>0<(c[492]|0)>>>0)ka();else{c[aa>>2]=e;c[T+(q+24)>>2]=ba;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break b}}else ca=b;while(0);b=ca+8|0;i=c[b>>2]|0;r=c[492]|0;if(i>>>0>=r>>>0&ca>>>0>=r>>>0){c[i+12>>2]=e;c[b>>2]=e;c[T+(q+8)>>2]=i;c[T+(q+12)>>2]=ca;c[T+(q+24)>>2]=0;break}else ka()}else{i=S+q|0;c[T+4>>2]=i|3;b=T+(i+4)|0;c[b>>2]=c[b>>2]|1}while(0);n=T+8|0;return n|0}else F=q}else F=q}else F=-1;while(0);T=c[490]|0;if(T>>>0>=F>>>0){S=T-F|0;ca=c[493]|0;if(S>>>0>15){c[493]=ca+F;c[490]=S;c[ca+(F+4)>>2]=S|1;c[ca+T>>2]=S;c[ca+4>>2]=F|3}else{c[490]=0;c[493]=0;c[ca+4>>2]=T|3;S=ca+(T+4)|0;c[S>>2]=c[S>>2]|1}n=ca+8|0;return n|0}ca=c[491]|0;if(ca>>>0>F>>>0){S=ca-F|0;c[491]=S;ca=c[494]|0;c[494]=ca+F;c[ca+(F+4)>>2]=S|1;c[ca+4>>2]=F|3;n=ca+8|0;return n|0}do if(!(c[606]|0)){ca=va(30)|0;if(!(ca+-1&ca)){c[608]=ca;c[607]=ca;c[609]=-1;c[610]=-1;c[611]=0;c[599]=0;c[606]=(ua(0)|0)&-16^1431655768;break}else ka()}while(0);ca=F+48|0;S=c[608]|0;T=F+47|0;ba=S+T|0;aa=0-S|0;S=ba&aa;if(S>>>0<=F>>>0){n=0;return n|0}$=c[598]|0;if(($|0)!=0?(_=c[596]|0,Z=_+S|0,Z>>>0<=_>>>0|Z>>>0>$>>>0):0){n=0;return n|0}d:do if(!(c[599]&4)){$=c[494]|0;e:do if($){Z=2400;while(1){_=c[Z>>2]|0;if(_>>>0<=$>>>0?(U=Z+4|0,(_+(c[U>>2]|0)|0)>>>0>$>>>0):0){da=Z;ea=U;break}Z=c[Z+8>>2]|0;if(!Z){K=174;break e}}Z=ba-(c[491]|0)&aa;if(Z>>>0<2147483647){U=na(Z|0)|0;_=(U|0)==((c[da>>2]|0)+(c[ea>>2]|0)|0);X=_?Z:0;if(_)if((U|0)==(-1|0))fa=X;else{ga=U;ha=X;K=194;break d}else{ia=U;ja=Z;la=X;K=184}}else fa=0}else K=174;while(0);do if((K|0)==174){$=na(0)|0;if(($|0)!=(-1|0)){q=$;X=c[607]|0;Z=X+-1|0;if(!(Z&q))ma=S;else ma=S-q+(Z+q&0-X)|0;X=c[596]|0;q=X+ma|0;if(ma>>>0>F>>>0&ma>>>0<2147483647){Z=c[598]|0;if((Z|0)!=0?q>>>0<=X>>>0|q>>>0>Z>>>0:0){fa=0;break}Z=na(ma|0)|0;q=(Z|0)==($|0);X=q?ma:0;if(q){ga=$;ha=X;K=194;break d}else{ia=Z;ja=ma;la=X;K=184}}else fa=0}else fa=0}while(0);f:do if((K|0)==184){X=0-ja|0;do if(ca>>>0>ja>>>0&(ja>>>0<2147483647&(ia|0)!=(-1|0))?(Z=c[608]|0,$=T-ja+Z&0-Z,$>>>0<2147483647):0)if((na($|0)|0)==(-1|0)){na(X|0)|0;fa=la;break f}else{oa=$+ja|0;break}else oa=ja;while(0);if((ia|0)==(-1|0))fa=la;else{ga=ia;ha=oa;K=194;break d}}while(0);c[599]=c[599]|4;pa=fa;K=191}else{pa=0;K=191}while(0);if((((K|0)==191?S>>>0<2147483647:0)?(fa=na(S|0)|0,S=na(0)|0,fa>>>0<S>>>0&((fa|0)!=(-1|0)&(S|0)!=(-1|0))):0)?(oa=S-fa|0,S=oa>>>0>(F+40|0)>>>0,S):0){ga=fa;ha=S?oa:pa;K=194}if((K|0)==194){pa=(c[596]|0)+ha|0;c[596]=pa;if(pa>>>0>(c[597]|0)>>>0)c[597]=pa;pa=c[494]|0;g:do if(pa){oa=2400;do{S=c[oa>>2]|0;fa=oa+4|0;ia=c[fa>>2]|0;if((ga|0)==(S+ia|0)){qa=S;ra=fa;sa=ia;ta=oa;K=204;break}oa=c[oa+8>>2]|0}while((oa|0)!=0);if(((K|0)==204?(c[ta+12>>2]&8|0)==0:0)?pa>>>0<ga>>>0&pa>>>0>=qa>>>0:0){c[ra>>2]=sa+ha;oa=(c[491]|0)+ha|0;ia=pa+8|0;fa=(ia&7|0)==0?0:0-ia&7;ia=oa-fa|0;c[494]=pa+fa;c[491]=ia;c[pa+(fa+4)>>2]=ia|1;c[pa+(oa+4)>>2]=40;c[495]=c[610];break}oa=c[492]|0;if(ga>>>0<oa>>>0){c[492]=ga;xa=ga}else xa=oa;oa=ga+ha|0;ia=2400;while(1){if((c[ia>>2]|0)==(oa|0)){ya=ia;za=ia;K=212;break}ia=c[ia+8>>2]|0;if(!ia){Aa=2400;break}}if((K|0)==212)if(!(c[za+12>>2]&8)){c[ya>>2]=ga;ia=za+4|0;c[ia>>2]=(c[ia>>2]|0)+ha;ia=ga+8|0;oa=(ia&7|0)==0?0:0-ia&7;ia=ga+(ha+8)|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ga+(fa+ha)|0;S=oa+F|0;la=ga+S|0;ja=ia-(ga+oa)-F|0;c[ga+(oa+4)>>2]=F|3;h:do if((ia|0)!=(pa|0)){if((ia|0)==(c[493]|0)){T=(c[490]|0)+ja|0;c[490]=T;c[493]=la;c[ga+(S+4)>>2]=T|1;c[ga+(T+S)>>2]=T;break}T=ha+4|0;ca=c[ga+(T+fa)>>2]|0;if((ca&3|0)==1){ma=ca&-8;ea=ca>>>3;i:do if(ca>>>0>=256){da=c[ga+((fa|24)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;do if((aa|0)==(ia|0)){ba=fa|16;X=ga+(T+ba)|0;$=c[X>>2]|0;if(!$){Z=ga+(ba+ha)|0;ba=c[Z>>2]|0;if(!ba){Ba=0;break}else{Ca=ba;Da=Z}}else{Ca=$;Da=X}while(1){X=Ca+20|0;$=c[X>>2]|0;if($){Ca=$;Da=X;continue}X=Ca+16|0;$=c[X>>2]|0;if(!$){Ea=Ca;Fa=Da;break}else{Ca=$;Da=X}}if(Fa>>>0<xa>>>0)ka();else{c[Fa>>2]=0;Ba=Ea;break}}else{X=c[ga+((fa|8)+ha)>>2]|0;if(X>>>0<xa>>>0)ka();$=X+12|0;if((c[$>>2]|0)!=(ia|0))ka();Z=aa+8|0;if((c[Z>>2]|0)==(ia|0)){c[$>>2]=aa;c[Z>>2]=X;Ba=aa;break}else ka()}while(0);if(!da)break;aa=c[ga+(ha+28+fa)>>2]|0;X=2256+(aa<<2)|0;do if((ia|0)!=(c[X>>2]|0)){if(da>>>0<(c[492]|0)>>>0)ka();Z=da+16|0;if((c[Z>>2]|0)==(ia|0))c[Z>>2]=Ba;else c[da+20>>2]=Ba;if(!Ba)break i}else{c[X>>2]=Ba;if(Ba)break;c[489]=c[489]&~(1<<aa);break i}while(0);aa=c[492]|0;if(Ba>>>0<aa>>>0)ka();c[Ba+24>>2]=da;X=fa|16;Z=c[ga+(X+ha)>>2]|0;do if(Z)if(Z>>>0<aa>>>0)ka();else{c[Ba+16>>2]=Z;c[Z+24>>2]=Ba;break}while(0);Z=c[ga+(T+X)>>2]|0;if(!Z)break;if(Z>>>0<(c[492]|0)>>>0)ka();else{c[Ba+20>>2]=Z;c[Z+24>>2]=Ba;break}}else{Z=c[ga+((fa|8)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;da=1992+(ea<<1<<2)|0;do if((Z|0)!=(da|0)){if(Z>>>0<xa>>>0)ka();if((c[Z+12>>2]|0)==(ia|0))break;ka()}while(0);if((aa|0)==(Z|0)){c[488]=c[488]&~(1<<ea);break}do if((aa|0)==(da|0))Ga=aa+8|0;else{if(aa>>>0<xa>>>0)ka();X=aa+8|0;if((c[X>>2]|0)==(ia|0)){Ga=X;break}ka()}while(0);c[Z+12>>2]=aa;c[Ga>>2]=Z}while(0);Ha=ga+((ma|fa)+ha)|0;Ia=ma+ja|0}else{Ha=ia;Ia=ja}ea=Ha+4|0;c[ea>>2]=c[ea>>2]&-2;c[ga+(S+4)>>2]=Ia|1;c[ga+(Ia+S)>>2]=Ia;ea=Ia>>>3;if(Ia>>>0<256){T=ea<<1;ca=1992+(T<<2)|0;da=c[488]|0;X=1<<ea;do if(!(da&X)){c[488]=da|X;Ja=1992+(T+2<<2)|0;Ka=ca}else{ea=1992+(T+2<<2)|0;$=c[ea>>2]|0;if($>>>0>=(c[492]|0)>>>0){Ja=ea;Ka=$;break}ka()}while(0);c[Ja>>2]=la;c[Ka+12>>2]=la;c[ga+(S+8)>>2]=Ka;c[ga+(S+12)>>2]=ca;break}T=Ia>>>8;do if(!T)La=0;else{if(Ia>>>0>16777215){La=31;break}X=(T+1048320|0)>>>16&8;da=T<<X;ma=(da+520192|0)>>>16&4;$=da<<ma;da=($+245760|0)>>>16&2;ea=14-(ma|X|da)+($<<da>>>15)|0;La=Ia>>>(ea+7|0)&1|ea<<1}while(0);T=2256+(La<<2)|0;c[ga+(S+28)>>2]=La;c[ga+(S+20)>>2]=0;c[ga+(S+16)>>2]=0;ca=c[489]|0;ea=1<<La;if(!(ca&ea)){c[489]=ca|ea;c[T>>2]=la;c[ga+(S+24)>>2]=T;c[ga+(S+12)>>2]=la;c[ga+(S+8)>>2]=la;break}ea=c[T>>2]|0;j:do if((c[ea+4>>2]&-8|0)!=(Ia|0)){T=Ia<<((La|0)==31?0:25-(La>>>1)|0);ca=ea;while(1){da=ca+16+(T>>>31<<2)|0;$=c[da>>2]|0;if(!$){Ma=da;Na=ca;break}if((c[$+4>>2]&-8|0)==(Ia|0)){Oa=$;break j}else{T=T<<1;ca=$}}if(Ma>>>0<(c[492]|0)>>>0)ka();else{c[Ma>>2]=la;c[ga+(S+24)>>2]=Na;c[ga+(S+12)>>2]=la;c[ga+(S+8)>>2]=la;break h}}else Oa=ea;while(0);ea=Oa+8|0;ca=c[ea>>2]|0;T=c[492]|0;if(ca>>>0>=T>>>0&Oa>>>0>=T>>>0){c[ca+12>>2]=la;c[ea>>2]=la;c[ga+(S+8)>>2]=ca;c[ga+(S+12)>>2]=Oa;c[ga+(S+24)>>2]=0;break}else ka()}else{ca=(c[491]|0)+ja|0;c[491]=ca;c[494]=la;c[ga+(S+4)>>2]=ca|1}while(0);n=ga+(oa|8)|0;return n|0}else Aa=2400;while(1){S=c[Aa>>2]|0;if(S>>>0<=pa>>>0?(la=c[Aa+4>>2]|0,ja=S+la|0,ja>>>0>pa>>>0):0){Pa=S;Qa=la;Ra=ja;break}Aa=c[Aa+8>>2]|0}oa=Pa+(Qa+-39)|0;ja=Pa+(Qa+-47+((oa&7|0)==0?0:0-oa&7))|0;oa=pa+16|0;la=ja>>>0<oa>>>0?pa:ja;ja=la+8|0;S=ga+8|0;ia=(S&7|0)==0?0:0-S&7;S=ha+-40-ia|0;c[494]=ga+ia;c[491]=S;c[ga+(ia+4)>>2]=S|1;c[ga+(ha+-36)>>2]=40;c[495]=c[610];S=la+4|0;c[S>>2]=27;c[ja>>2]=c[600];c[ja+4>>2]=c[601];c[ja+8>>2]=c[602];c[ja+12>>2]=c[603];c[600]=ga;c[601]=ha;c[603]=0;c[602]=ja;ja=la+28|0;c[ja>>2]=7;if((la+32|0)>>>0<Ra>>>0){ia=ja;do{ja=ia;ia=ia+4|0;c[ia>>2]=7}while((ja+8|0)>>>0<Ra>>>0)}if((la|0)!=(pa|0)){ia=la-pa|0;c[S>>2]=c[S>>2]&-2;c[pa+4>>2]=ia|1;c[la>>2]=ia;ja=ia>>>3;if(ia>>>0<256){fa=ja<<1;ca=1992+(fa<<2)|0;ea=c[488]|0;T=1<<ja;if(ea&T){ja=1992+(fa+2<<2)|0;Z=c[ja>>2]|0;if(Z>>>0<(c[492]|0)>>>0)ka();else{Sa=ja;Ta=Z}}else{c[488]=ea|T;Sa=1992+(fa+2<<2)|0;Ta=ca}c[Sa>>2]=pa;c[Ta+12>>2]=pa;c[pa+8>>2]=Ta;c[pa+12>>2]=ca;break}ca=ia>>>8;if(ca)if(ia>>>0>16777215)Ua=31;else{fa=(ca+1048320|0)>>>16&8;T=ca<<fa;ca=(T+520192|0)>>>16&4;ea=T<<ca;T=(ea+245760|0)>>>16&2;Z=14-(ca|fa|T)+(ea<<T>>>15)|0;Ua=ia>>>(Z+7|0)&1|Z<<1}else Ua=0;Z=2256+(Ua<<2)|0;c[pa+28>>2]=Ua;c[pa+20>>2]=0;c[oa>>2]=0;T=c[489]|0;ea=1<<Ua;if(!(T&ea)){c[489]=T|ea;c[Z>>2]=pa;c[pa+24>>2]=Z;c[pa+12>>2]=pa;c[pa+8>>2]=pa;break}ea=c[Z>>2]|0;k:do if((c[ea+4>>2]&-8|0)!=(ia|0)){Z=ia<<((Ua|0)==31?0:25-(Ua>>>1)|0);T=ea;while(1){fa=T+16+(Z>>>31<<2)|0;ca=c[fa>>2]|0;if(!ca){Va=fa;Wa=T;break}if((c[ca+4>>2]&-8|0)==(ia|0)){Xa=ca;break k}else{Z=Z<<1;T=ca}}if(Va>>>0<(c[492]|0)>>>0)ka();else{c[Va>>2]=pa;c[pa+24>>2]=Wa;c[pa+12>>2]=pa;c[pa+8>>2]=pa;break g}}else Xa=ea;while(0);ea=Xa+8|0;ia=c[ea>>2]|0;oa=c[492]|0;if(ia>>>0>=oa>>>0&Xa>>>0>=oa>>>0){c[ia+12>>2]=pa;c[ea>>2]=pa;c[pa+8>>2]=ia;c[pa+12>>2]=Xa;c[pa+24>>2]=0;break}else ka()}}else{ia=c[492]|0;if((ia|0)==0|ga>>>0<ia>>>0)c[492]=ga;c[600]=ga;c[601]=ha;c[603]=0;c[497]=c[606];c[496]=-1;ia=0;do{ea=ia<<1;oa=1992+(ea<<2)|0;c[1992+(ea+3<<2)>>2]=oa;c[1992+(ea+2<<2)>>2]=oa;ia=ia+1|0}while((ia|0)!=32);ia=ga+8|0;oa=(ia&7|0)==0?0:0-ia&7;ia=ha+-40-oa|0;c[494]=ga+oa;c[491]=ia;c[ga+(oa+4)>>2]=ia|1;c[ga+(ha+-36)>>2]=40;c[495]=c[610]}while(0);ha=c[491]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[491]=ga;ha=c[494]|0;c[494]=ha+F;c[ha+(F+4)>>2]=ga|1;c[ha+4>>2]=F|3;n=ha+8|0;return n|0}}c[(wa()|0)>>2]=12;n=0;return n|0}function Pb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;if(!a)return;b=a+-8|0;d=c[492]|0;if(b>>>0<d>>>0)ka();e=c[a+-4>>2]|0;f=e&3;if((f|0)==1)ka();g=e&-8;h=a+(g+-8)|0;do if(!(e&1)){i=c[b>>2]|0;if(!f)return;j=-8-i|0;k=a+j|0;l=i+g|0;if(k>>>0<d>>>0)ka();if((k|0)==(c[493]|0)){m=a+(g+-4)|0;n=c[m>>2]|0;if((n&3|0)!=3){o=k;p=l;break}c[490]=l;c[m>>2]=n&-2;c[a+(j+4)>>2]=l|1;c[h>>2]=l;return}n=i>>>3;if(i>>>0<256){i=c[a+(j+8)>>2]|0;m=c[a+(j+12)>>2]|0;q=1992+(n<<1<<2)|0;if((i|0)!=(q|0)){if(i>>>0<d>>>0)ka();if((c[i+12>>2]|0)!=(k|0))ka()}if((m|0)==(i|0)){c[488]=c[488]&~(1<<n);o=k;p=l;break}if((m|0)!=(q|0)){if(m>>>0<d>>>0)ka();q=m+8|0;if((c[q>>2]|0)==(k|0))r=q;else ka()}else r=m+8|0;c[i+12>>2]=m;c[r>>2]=i;o=k;p=l;break}i=c[a+(j+24)>>2]|0;m=c[a+(j+12)>>2]|0;do if((m|0)==(k|0)){q=a+(j+20)|0;n=c[q>>2]|0;if(!n){s=a+(j+16)|0;t=c[s>>2]|0;if(!t){u=0;break}else{v=t;w=s}}else{v=n;w=q}while(1){q=v+20|0;n=c[q>>2]|0;if(n){v=n;w=q;continue}q=v+16|0;n=c[q>>2]|0;if(!n){x=v;y=w;break}else{v=n;w=q}}if(y>>>0<d>>>0)ka();else{c[y>>2]=0;u=x;break}}else{q=c[a+(j+8)>>2]|0;if(q>>>0<d>>>0)ka();n=q+12|0;if((c[n>>2]|0)!=(k|0))ka();s=m+8|0;if((c[s>>2]|0)==(k|0)){c[n>>2]=m;c[s>>2]=q;u=m;break}else ka()}while(0);if(i){m=c[a+(j+28)>>2]|0;q=2256+(m<<2)|0;if((k|0)==(c[q>>2]|0)){c[q>>2]=u;if(!u){c[489]=c[489]&~(1<<m);o=k;p=l;break}}else{if(i>>>0<(c[492]|0)>>>0)ka();m=i+16|0;if((c[m>>2]|0)==(k|0))c[m>>2]=u;else c[i+20>>2]=u;if(!u){o=k;p=l;break}}m=c[492]|0;if(u>>>0<m>>>0)ka();c[u+24>>2]=i;q=c[a+(j+16)>>2]|0;do if(q)if(q>>>0<m>>>0)ka();else{c[u+16>>2]=q;c[q+24>>2]=u;break}while(0);q=c[a+(j+20)>>2]|0;if(q)if(q>>>0<(c[492]|0)>>>0)ka();else{c[u+20>>2]=q;c[q+24>>2]=u;o=k;p=l;break}else{o=k;p=l}}else{o=k;p=l}}else{o=b;p=g}while(0);if(o>>>0>=h>>>0)ka();b=a+(g+-4)|0;u=c[b>>2]|0;if(!(u&1))ka();if(!(u&2)){if((h|0)==(c[494]|0)){d=(c[491]|0)+p|0;c[491]=d;c[494]=o;c[o+4>>2]=d|1;if((o|0)!=(c[493]|0))return;c[493]=0;c[490]=0;return}if((h|0)==(c[493]|0)){d=(c[490]|0)+p|0;c[490]=d;c[493]=o;c[o+4>>2]=d|1;c[o+d>>2]=d;return}d=(u&-8)+p|0;x=u>>>3;do if(u>>>0>=256){y=c[a+(g+16)>>2]|0;w=c[a+(g|4)>>2]|0;do if((w|0)==(h|0)){v=a+(g+12)|0;r=c[v>>2]|0;if(!r){f=a+(g+8)|0;e=c[f>>2]|0;if(!e){z=0;break}else{A=e;B=f}}else{A=r;B=v}while(1){v=A+20|0;r=c[v>>2]|0;if(r){A=r;B=v;continue}v=A+16|0;r=c[v>>2]|0;if(!r){C=A;D=B;break}else{A=r;B=v}}if(D>>>0<(c[492]|0)>>>0)ka();else{c[D>>2]=0;z=C;break}}else{v=c[a+g>>2]|0;if(v>>>0<(c[492]|0)>>>0)ka();r=v+12|0;if((c[r>>2]|0)!=(h|0))ka();f=w+8|0;if((c[f>>2]|0)==(h|0)){c[r>>2]=w;c[f>>2]=v;z=w;break}else ka()}while(0);if(y){w=c[a+(g+20)>>2]|0;l=2256+(w<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=z;if(!z){c[489]=c[489]&~(1<<w);break}}else{if(y>>>0<(c[492]|0)>>>0)ka();w=y+16|0;if((c[w>>2]|0)==(h|0))c[w>>2]=z;else c[y+20>>2]=z;if(!z)break}w=c[492]|0;if(z>>>0<w>>>0)ka();c[z+24>>2]=y;l=c[a+(g+8)>>2]|0;do if(l)if(l>>>0<w>>>0)ka();else{c[z+16>>2]=l;c[l+24>>2]=z;break}while(0);l=c[a+(g+12)>>2]|0;if(l)if(l>>>0<(c[492]|0)>>>0)ka();else{c[z+20>>2]=l;c[l+24>>2]=z;break}}}else{l=c[a+g>>2]|0;w=c[a+(g|4)>>2]|0;y=1992+(x<<1<<2)|0;if((l|0)!=(y|0)){if(l>>>0<(c[492]|0)>>>0)ka();if((c[l+12>>2]|0)!=(h|0))ka()}if((w|0)==(l|0)){c[488]=c[488]&~(1<<x);break}if((w|0)!=(y|0)){if(w>>>0<(c[492]|0)>>>0)ka();y=w+8|0;if((c[y>>2]|0)==(h|0))E=y;else ka()}else E=w+8|0;c[l+12>>2]=w;c[E>>2]=l}while(0);c[o+4>>2]=d|1;c[o+d>>2]=d;if((o|0)==(c[493]|0)){c[490]=d;return}else F=d}else{c[b>>2]=u&-2;c[o+4>>2]=p|1;c[o+p>>2]=p;F=p}p=F>>>3;if(F>>>0<256){u=p<<1;b=1992+(u<<2)|0;d=c[488]|0;E=1<<p;if(d&E){p=1992+(u+2<<2)|0;h=c[p>>2]|0;if(h>>>0<(c[492]|0)>>>0)ka();else{G=p;H=h}}else{c[488]=d|E;G=1992+(u+2<<2)|0;H=b}c[G>>2]=o;c[H+12>>2]=o;c[o+8>>2]=H;c[o+12>>2]=b;return}b=F>>>8;if(b)if(F>>>0>16777215)I=31;else{H=(b+1048320|0)>>>16&8;G=b<<H;b=(G+520192|0)>>>16&4;u=G<<b;G=(u+245760|0)>>>16&2;E=14-(b|H|G)+(u<<G>>>15)|0;I=F>>>(E+7|0)&1|E<<1}else I=0;E=2256+(I<<2)|0;c[o+28>>2]=I;c[o+20>>2]=0;c[o+16>>2]=0;G=c[489]|0;u=1<<I;a:do if(G&u){H=c[E>>2]|0;b:do if((c[H+4>>2]&-8|0)!=(F|0)){b=F<<((I|0)==31?0:25-(I>>>1)|0);d=H;while(1){h=d+16+(b>>>31<<2)|0;p=c[h>>2]|0;if(!p){J=h;K=d;break}if((c[p+4>>2]&-8|0)==(F|0)){L=p;break b}else{b=b<<1;d=p}}if(J>>>0<(c[492]|0)>>>0)ka();else{c[J>>2]=o;c[o+24>>2]=K;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else L=H;while(0);H=L+8|0;d=c[H>>2]|0;b=c[492]|0;if(d>>>0>=b>>>0&L>>>0>=b>>>0){c[d+12>>2]=o;c[H>>2]=o;c[o+8>>2]=d;c[o+12>>2]=L;c[o+24>>2]=0;break}else ka()}else{c[489]=G|u;c[E>>2]=o;c[o+24>>2]=E;c[o+12>>2]=o;c[o+8>>2]=o}while(0);o=(c[496]|0)+-1|0;c[496]=o;if(!o)M=2408;else return;while(1){o=c[M>>2]|0;if(!o)break;else M=o+8|0}c[496]=-1;return}function Qb(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Ob(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Ub(d|0,0,e|0)|0;return d|0}function Rb(){}function Sb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C=e,a-c>>>0|0)|0}function Tb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Ub(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Vb(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 Wb(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function Xb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ra(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 Yb(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 Zb(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 _b(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 $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=_(d,c)|0;f=a>>>16;a=(e>>>16)+(_(d,f)|0)|0;d=b>>>16;b=_(d,c)|0;return (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Sb(e^a,f^b,e,f)|0;b=C;a=g^e;e=h^f;return Sb((fc(i,b,Sb(g^c,h^d,g,h)|0,C,0)|0)^a,C^e,a,e)|0}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=Sb(h^a,j^b,h,j)|0;b=C;fc(m,b,Sb(k^d,l^e,k,l)|0,C,g)|0;l=Sb(c[g>>2]^h,c[g+4>>2]^j,h,j)|0;j=C;i=f;return (C=j,l)|0}function cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=$b(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function dc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fc(a,b,c,d,0)|0}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+8|0;g=f|0;fc(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}function fc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j){s=(aa(j|0)|0)+33-(aa(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=_b(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((_b(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Tb(b|0,d|0,-1,-1)|0;k=C;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Sb(e,k,g,a)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Sb(g,a,l&b,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function gc(a,b,c){a=a|0;b=b|0;c=c|0;ya[a&7](b|0,c|0)}function hc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;za[a&7](b|0,c|0,d|0,e|0)}function ic(a,b){a=a|0;b=b|0;ba(0)}function jc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(1)}
+
+// EMSCRIPTEN_END_FUNCS
+var ya=[ic,zb,Ab,Bb,Cb,ic,ic,ic];var za=[jc,Db,Eb,Fb,Gb,jc,jc,jc];return{_ogv_video_decoder_init:Ib,_free:Pb,_ogv_video_decoder_process_header:Jb,_i64Add:Tb,_ogv_video_decoder_destroy:Lb,_i64Subtract:Sb,_memset:Ub,_malloc:Ob,_memcpy:Xb,_strlen:Wb,_ogv_video_decoder_process_frame:Kb,_bitshift64Shl:Vb,runPostSets:Rb,stackAlloc:Aa,stackSave:Ba,stackRestore:Ca,establishStackSpace:Da,setThrew:Ea,setTempRet0:Ha,getTempRet0:Ia,dynCall_vii:gc,dynCall_viiii:hc}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _ogv_video_decoder_init=Module["_ogv_video_decoder_init"]=asm["_ogv_video_decoder_init"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _ogv_video_decoder_process_header=Module["_ogv_video_decoder_process_header"]=asm["_ogv_video_decoder_process_header"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _ogv_video_decoder_destroy=Module["_ogv_video_decoder_destroy"]=asm["_ogv_video_decoder_destroy"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _strlen=Module["_strlen"]=asm["_strlen"];var _ogv_video_decoder_process_frame=Module["_ogv_video_decoder_process_frame"]=asm["_ogv_video_decoder_process_frame"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(str.charAt(0)=="-"){return goog.math.Long.fromString(str.substring(1),radix).negate()}else if(str.indexOf("-")>=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i<str.length;i+=8){var size=Math.min(8,str.length-i);var value=parseInt(str.substring(i,i+size),radix);if(size<8){var power=goog.math.Long.fromNumber(Math.pow(radix,size));result=result.multiply(power).add(goog.math.Long.fromNumber(value))}else{result=result.multiply(radixToPower);result=result.add(goog.math.Long.fromNumber(value))}}return result});goog.math.Long.TWO_PWR_16_DBL_=1<<16;goog.math.Long.TWO_PWR_24_DBL_=1<<24;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2;goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.ZERO=goog.math.Long.fromInt(0);goog.math.Long.ONE=goog.math.Long.fromInt(1);goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1);goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(4294967295|0,2147483647|0);goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,2147483648|0);goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24);goog.math.Long.prototype.toInt=(function(){return this.low_});goog.math.Long.prototype.toNumber=(function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()});goog.math.Long.prototype.toString=(function(opt_radix){var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(this.isZero()){return"0"}if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var radixLong=goog.math.Long.fromNumber(radix);var div=this.div(radixLong);var rem=div.multiply(radixLong).subtract(this);return div.toString(radix)+rem.toInt().toString(radix)}else{return"-"+this.negate().toString(radix)}}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,6));var rem=this;var result="";while(true){var remDiv=rem.div(radixToPower);var intval=rem.subtract(remDiv.multiply(radixToPower)).toInt();var digits=intval.toString(radix);rem=remDiv;if(rem.isZero()){return digits+result}else{while(digits.length<6){digits="0"+digits}result=""+digits+result}}});goog.math.Long.prototype.getHighBits=(function(){return this.high_});goog.math.Long.prototype.getLowBits=(function(){return this.low_});goog.math.Long.prototype.getLowBitsUnsigned=(function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<<bit)!=0){break}}return this.high_!=0?bit+33:bit+1}});goog.math.Long.prototype.isZero=(function(){return this.high_==0&&this.low_==0});goog.math.Long.prototype.isNegative=(function(){return this.high_<0});goog.math.Long.prototype.isOdd=(function(){return(this.low_&1)==1});goog.math.Long.prototype.equals=(function(other){return this.high_==other.high_&&this.low_==other.low_});goog.math.Long.prototype.notEquals=(function(other){return this.high_!=other.high_||this.low_!=other.low_});goog.math.Long.prototype.lessThan=(function(other){return this.compare(other)<0});goog.math.Long.prototype.lessThanOrEqual=(function(other){return this.compare(other)<=0});goog.math.Long.prototype.greaterThan=(function(other){return this.compare(other)>0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<<numBits,high<<numBits|low>>>32-numBits)}else{return goog.math.Long.fromBits(0,low<<numBits-32)}}});goog.math.Long.prototype.shiftRight=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<<dbits)-1;BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";var BI_RC=new Array;var rr,vv;rr="0".charCodeAt(0);for(vv=0;vv<=9;++vv)BI_RC[rr++]=vv;rr="a".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;rr="A".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return c==null?-1:c}function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<<this.DB-sh)-1)<<sh;this[this.t++]=x>>this.DB-sh}else this[this.t-1]|=x<<sh;sh+=k;if(sh>=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<<this.DB-sh)-1<<sh}this.clamp();if(mi)BigInteger.ZERO.subTo(this,this)}function bnpClamp(){var c=this.s&this.DM;while(this.t>0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<<k)-1,d,m=false,r="",i=this.t;var p=this.DB-i*this.DB%k;if(i-->0){if(p<this.DB&&(d=this[i]>>p)>0){m=true;r=int2char(d)}while(i>=0){if(p<k){d=(this[i]&(1<<p)-1)<<k-p;d|=this[--i]>>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r[i-n]=this[i];r.t=Math.max(this.t-n,0);r.s=this.s}function bnpLShiftTo(n,r){var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<cbs)-1;var ds=Math.floor(n/this.DB),c=this.s<<bs&this.DM,i;for(i=this.t-1;i>=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<<bs}for(i=ds-1;i>=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<bs)-1;r[0]=this[ds]>>bs;for(var i=ds+1;i<this.t;++i){r[i-ds-1]|=(this[i]&bm)<<cbs;r[i-ds]=this[i]>>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<<cbs;r.t=this.t-ds;r.clamp()}function bnpSubTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]-a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c-=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c-=a[i];r[i++]=c&this.DM;c>>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i<y.t;++i)r[i+x.t]=x.am(0,y[i],r,i,0,x.t);r.s=0;r.clamp();if(this.s!=a.s)BigInteger.ZERO.subTo(r,r)}function bnpSquareTo(r){var x=this.abs();var i=r.t=2*x.t;while(--i>=0)r[i]=0;for(i=0;i<x.t-1;++i){var c=x.am(i,x[i],r,2*i,0,1);if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1))>=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t<pm.t){if(q!=null)q.fromInt(0);if(r!=null)this.copyTo(r);return}if(r==null)r=nbi();var y=nbi(),ts=this.s,ms=m.s;var nsh=this.DB-nbits(pm[pm.t-1]);if(nsh>0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<<this.F1)+(ys>1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<<this.F1)/yt,e=1<<this.F2;var i=r.t,j=i-ys,t=q==null?nbi():q;y.dlShiftTo(j,t);if(r.compareTo(t)>=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t<ys)y[y.t++]=0;while(--j>=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))<qd){y.dlShiftTo(j,t);r.subTo(t,r);while(r[i]<--qd)r.subTo(t,r)}}if(q!=null){r.drShiftTo(ys,q);if(ts!=ms)BigInteger.ZERO.subTo(q,q)}r.t=ys;r.clamp();if(nsh>0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<m.DB-15)-1;this.mt2=2*m.t}function montConvert(x){var r=nbi();x.abs().dlShiftTo(this.m.t,r);r.divRemTo(this.m,null,r);if(x.s<0&&r.compareTo(BigInteger.ZERO)>0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i<this.m.t;++i){var j=x[i]&32767;var u0=j*this.mpl+((j*this.mph+(x[i]>>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<<i)>0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i<s.length;++i){var x=intAt(s,i);if(x<0){if(s.charAt(i)=="-"&&this.signum()==0)mi=true;continue}w=b*w+x;if(++j>=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpAddTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]+a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c+=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c+=a[i];r[i++]=c&this.DM;c>>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);initialStackTop=STACKTOP;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();var inputBuffer,inputBufferSize;function reallocInputBuffer(size){if(inputBuffer&&inputBufferSize>=size){return inputBuffer}if(inputBuffer){Module._free(inputBuffer)}inputBufferSize=size;inputBuffer=Module._malloc(inputBufferSize);return inputBuffer}Module.loadedMetadata=!!options.videoFormat;Module.videoFormat=options.videoFormat||null;Module.frameBuffer=null;Object.defineProperty(Module,"processing",{get:function getProcessing(){return false}});Module.init=(function(callback){Module._ogv_video_decoder_init();callback()});Module.processHeader=(function(data,callback){var len=data.byteLength;var buffer=reallocInputBuffer(len);Module.HEAPU8.set(new Uint8Array(data),buffer);var ret=Module._ogv_video_decoder_process_header(buffer,len);callback(ret)});Module.processFrame=(function(data,callback){var len=data.byteLength;var buffer=reallocInputBuffer(len);Module.HEAPU8.set(new Uint8Array(data),buffer);var ret=Module._ogv_video_decoder_process_frame(buffer,len);callback(ret)})
+
+
+
+
+
+ return Module;
+};