three
Version:
JavaScript 3D library
13 lines (11 loc) • 548 kB
JavaScript
var DracoDecoderModule = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(DracoDecoderModule) {
DracoDecoderModule = DracoDecoderModule || {};
var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(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 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){return func}function addFunctionWasm(func,sig){var table=wasmTable;var ret=table.length;try{table.grow(1)}catch(err){if(!err instanceof RangeError){throw err}throw"Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."}try{table.set(ret,func)}catch(err){if(!err instanceof TypeError){throw err}assert(typeof sig!=="undefined","Missing signature argument to addFunction");var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}return ret}function removeFunctionWasm(index){}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){return{buffer:new ArrayBuffer(opts["initial"]*65536),grow:function(amount){var ret=__growWasmMemory(amount);return ret}}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=293+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}var atob=decodeBase64;var exports=(
// EMSCRIPTEN_START_ASM
function a(/** @suppress {uselessCode} */asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(8);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(low,high){b[0]=low;b[1]=high}function j(global,env,buffer){var k=env.memory;var l=wasmTable;var m=new global.Int8Array(buffer);var n=new global.Int16Array(buffer);var o=new global.Int32Array(buffer);var p=new global.Uint8Array(buffer);var q=new global.Uint16Array(buffer);var r=new global.Uint32Array(buffer);var s=new global.Float32Array(buffer);var t=new global.Float64Array(buffer);var u=global.Math.imul;var v=global.Math.fround;var w=global.Math.abs;var x=global.Math.clz32;var y=global.Math.min;var z=global.Math.max;var A=global.Math.floor;var B=global.Math.ceil;var C=global.Math.sqrt;var D=env.abort;var E=global.NaN;var F=global.Infinity;var G=env.__cxa_allocate_exception;var H=env.__cxa_throw;var I=env.fd_write;var J=env.fd_close;var K=env.environ_sizes_get;var L=env.environ_get;var M=env.abort;var N=env.emscripten_resize_heap;var O=env.emscripten_memcpy_big;var P=env.setTempRet0;var Q=env.fd_seek;var R=5256544;var S=13656;var T=0;
// EMSCRIPTEN_START_FUNCS
function ca(){ok()}function da(a,b){var c=0,d=0,e=0,f=0;c=R-16|0;R=c;o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=_j(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=Hk(f);o[c+8>>2]=f|-2147483648;o[c>>2]=e;o[c+4>>2]=d;break b}m[c+11|0]=d;e=c;if(!d){break a}}wl(e,b,d)}m[d+e|0]=0;a=ea(a,c);if(m[c+11|0]<=-1){ul(o[c>>2])}R=c+16|0;return(a|0)!=0}Kk();D()}function ea(a,b){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=o[a+4>>2];if(a){h=p[b+11|0];i=h<<24>>24<0;h=i?o[b+4>>2]:h;l=i?o[b>>2]:b;while(1){b=a+16|0;g=p[a+27|0];i=g<<24>>24<0;j=i?o[a+20>>2]:g;m=j>>>0<h>>>0;a:{b:{c:{d:{e:{f:{g=m?j:h;if(g){k=i?o[b>>2]:b;n=Zj(l,k,g);if(n){break f}}if(h>>>0<j>>>0){break a}if(!g){break d}k=i?o[b>>2]:b;break e}if((n|0)<=-1){break a}}b=Zj(k,l,g);if(b){break c}}if(m){break b}return 1}if((b|0)<=-1){break b}return 1}a=a+4|0}a=o[a>>2];if(a){continue}break}}return 0}function fa(a,b){var p=0,q=0,r=0,s=0;p=R-16|0;R=p;o[p+12>>2]=0;o[p+8>>2]=0;o[p>>2]=0;o[p+4>>2]=0;q=_j(b);if(q>>>0<4294967280){a:{b:{if(q>>>0>=11){s=q+16&-16;r=Hk(s);o[p+8>>2]=s|-2147483648;o[p>>2]=r;o[p+4>>2]=q;break b}m[p+11|0]=q;r=p;if(!q){break a}}wl(r,b,q)}m[q+r|0]=0;jj(a,p,p+12|0);a=o[p+12>>2];if(m[p+11|0]<=-1){ul(o[p>>2])}R=p+16|0;return a}Kk();D()}function ga(a,b,t){var u=0,v=0,w=0,x=0;u=R-32|0;R=u;o[u+24>>2]=0;o[u+16>>2]=0;o[u+20>>2]=0;v=_j(b);if(v>>>0<4294967280){a:{b:{if(v>>>0>=11){x=v+16&-16;w=Hk(x);o[u+24>>2]=x|-2147483648;o[u+16>>2]=w;o[u+20>>2]=v;break b}m[u+27|0]=v;w=u+16|0;if(!v){break a}}wl(w,b,v)}m[v+w|0]=0;o[u+8>>2]=0;o[u>>2]=0;o[u+4>>2]=0;kj(a,u+16|0,u);a=o[t>>2];if(a){o[t+4>>2]=a;ul(a);o[t+8>>2]=0;o[t>>2]=0;o[t+4>>2]=0}o[t>>2]=o[u>>2];o[t+4>>2]=o[u+4>>2];o[t+8>>2]=o[u+8>>2];if(m[u+27|0]<=-1){ul(o[u+16>>2])}R=u+32|0;return}Kk();D()}function ha(a,b){var y=0,z=0,A=0,B=0,C=0;y=R-32|0;R=y;o[y+24>>2]=0;o[y+28>>2]=0;o[y+16>>2]=0;o[y+8>>2]=0;o[y+12>>2]=0;z=_j(b);if(z>>>0<4294967280){a:{b:{if(z>>>0>=11){B=z+16&-16;A=Hk(B);o[y+16>>2]=B|-2147483648;o[y+8>>2]=A;o[y+12>>2]=z;break b}m[y+19|0]=z;A=y+8|0;if(!z){break a}}wl(A,b,z)}m[z+A|0]=0;lj(a,y+8|0,y+24|0);C=t[y+24>>3];if(m[y+19|0]<=-1){ul(o[y+8>>2])}R=y+32|0;return C}Kk();D()}function ia(a,b,t){var E=0,F=0,G=0,H=0;E=R-16|0;R=E;o[E+8>>2]=0;o[E>>2]=0;o[E+4>>2]=0;F=_j(t);if(F>>>0<4294967280){a:{b:{if(F>>>0>=11){H=F+16&-16;G=Hk(H);o[E+8>>2]=H|-2147483648;o[E>>2]=G;o[E+4>>2]=F;break b}m[E+11|0]=F;G=E;if(!F){break a}}wl(G,t,F)}m[F+G|0]=0;a=a+16|0;t=0;c:{if(!mj(b,E,a)){break c}t=o[a>>2];if(m[a+11|0]<=-1){break c}t=a}if(m[E+11|0]<=-1){ul(o[E>>2])}R=E+16|0;return t}Kk();D()}function ja(a,b,t){var D=0,I=0,J=0,K=0;a:{if(o[a+12>>2]==(b|0)){break a}D=o[a>>2];J=a+4|0;I=o[J>>2];if((D|0)!=(I|0)){while(1){K=I+ -12|0;if(m[I+ -1|0]<=-1){ul(o[K>>2])}I=K;if((I|0)!=(D|0)){continue}break}}o[a+12>>2]=b;o[J>>2]=D;I=o[b>>2];J=b+4|0;if((I|0)==(J|0)){break a}K=a+8|0;while(1){b=I+16|0;b:{if(o[K>>2]!=(D|0)){Mk(D,b);b=a+4|0;o[b>>2]=o[b>>2]+12;break b}ka(a,b)}D=o[I+4>>2];c:{if(!D){b=o[I+8>>2];if(o[b>>2]==(I|0)){break c}I=I+8|0;while(1){D=o[I>>2];I=D+8|0;b=o[D+8>>2];if((D|0)!=o[b>>2]){continue}break}break c}while(1){b=D;D=o[D>>2];if(D){continue}break}}if((b|0)==(J|0)){break a}D=o[a+4>>2];I=b;continue}}D=0;d:{if((t|0)<0){break d}b=o[a+4>>2];a=o[a>>2];if((b-a|0)/12>>>0<=t>>>0){break d}D=a+u(t,12)|0;if(m[D+11|0]>-1){break d}D=o[D>>2]}return D}function ka(a,b){var t=0,L=0,M=0,N=0,O=0;a:{b:{c:{M=o[a>>2];O=(o[a+4>>2]-M|0)/12|0;t=O+1|0;if(t>>>0<357913942){M=(o[a+8>>2]-M|0)/12|0;N=M<<1;t=M>>>0<178956970?N>>>0<t>>>0?t:N:357913941;L=0;d:{if(!t){break d}if(t>>>0>=357913942){break c}L=Hk(u(t,12))}M=L+u(t,12)|0;b=Mk(L+u(O,12)|0,b);O=b+12|0;t=o[a+4>>2];L=o[a>>2];if((t|0)==(L|0)){break b}while(1){t=t+ -12|0;N=o[t+4>>2];b=b+ -12|0;o[b>>2]=o[t>>2];o[b+4>>2]=N;N=t+8|0;o[b+8>>2]=o[N>>2];o[t>>2]=0;o[t+4>>2]=0;o[N>>2]=0;if((t|0)!=(L|0)){continue}break}L=o[a+4>>2];t=o[a>>2];break a}Yk();D()}_a(1040);D()}t=L}o[a>>2]=b;o[a+8>>2]=M;o[a+4>>2]=O;if((t|0)!=(L|0)){while(1){a=L+ -12|0;if(m[L+ -1|0]<=-1){ul(o[a>>2])}L=a;if((a|0)!=(t|0)){continue}break}}if(t){ul(t)}}function la(a){var b=0;ui(a);b=a+16|0;o[b>>2]=0;o[b+4>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+12>>2]=b;o[a+32>>2]=0;o[a+36>>2]=0;return a}function ma(a){var P=0;P=R-32|0;R=P;Rf(P+8|0,a);a=o[P+24>>2];if(m[P+23|0]<=-1){ul(o[P+12>>2])}R=P+32|0;return a}function na(a){var Q=0;Q=R-16|0;R=Q;Tf(Q);o[a+24>>2]=o[Q>>2];Ok(a+28|0,Q|4);a=a+24|0;if(m[Q+15|0]<=-1){ul(o[Q+4>>2])}R=Q+16|0;return a}function oa(a,S,T){var U=0;U=R-16|0;R=U;Sf(U,a,S,T);o[a+24>>2]=o[U>>2];Ok(a+28|0,U|4);a=a+24|0;if(m[U+15|0]<=-1){ul(o[U+4>>2])}R=U+16|0;return a}function pa(a,S){var T=0,V=0,W=0,X=0;T=R-32|0;R=T;o[T+24>>2]=0;o[T+16>>2]=0;o[T+20>>2]=0;V=_j(S);if(V>>>0<4294967280){a:{b:{if(V>>>0>=11){X=V+16&-16;W=Hk(X);o[T+24>>2]=X|-2147483648;o[T+16>>2]=W;o[T+20>>2]=V;break b}m[T+27|0]=V;W=T+16|0;if(!V){break a}}wl(W,S,V)}m[V+W|0]=0;o[T+8>>2]=67108864;o[T>>2]=0;o[T+4>>2]=0;m[T+4|0]=0;o[T>>2]=1701667182;V=o[a+4>>2];S=-1;c:{if(!V){break c}V=dj(V,T,T+16|0);S=-1;if(!V){break c}S=uj(a,o[V+24>>2])}if(m[T+11|0]<=-1){ul(o[T>>2])}if(m[T+27|0]<=-1){ul(o[T+16>>2])}R=T+32|0;return S}Kk();D()}function qa(a,S,Y){var Z=0,_=0,$=0,aa=0;Z=R-32|0;R=Z;o[Z+24>>2]=0;o[Z+16>>2]=0;o[Z+20>>2]=0;a:{aa=_j(S);if(aa>>>0<4294967280){b:{c:{if(aa>>>0>=11){_=aa+16&-16;$=Hk(_);o[Z+24>>2]=_|-2147483648;o[Z+16>>2]=$;o[Z+20>>2]=aa;break c}m[Z+27|0]=aa;$=Z+16|0;if(!aa){break b}}wl($,S,aa)}m[$+aa|0]=0;o[Z+8>>2]=0;o[Z>>2]=0;o[Z+4>>2]=0;_=_j(Y);if(_>>>0>=4294967280){break a}d:{e:{if(_>>>0>=11){S=_+16&-16;$=Hk(S);o[Z+8>>2]=S|-2147483648;o[Z>>2]=$;o[Z+4>>2]=_;break e}m[Z+11|0]=_;$=Z;if(!_){break d}}wl($,Y,_)}m[_+$|0]=0;Y=o[a+4>>2];S=-1;f:{if(!Y){break f}Y=dj(Y,Z+16|0,Z);S=-1;if(!Y){break f}S=uj(a,o[Y+24>>2])}a=S;if(m[Z+11|0]<=-1){ul(o[Z>>2])}if(m[Z+27|0]<=-1){ul(o[Z+16>>2])}R=Z+32|0;return a}Kk();D()}Kk();D()}function ra(a,S,Y){var ba=0,ca=0,da=0;ba=R-16|0;R=ba;ca=o[a+96>>2];o[ba+8>>2]=0;o[ba>>2]=0;o[ba+4>>2]=0;a=Hk(12);o[ba>>2]=a;o[ba+4>>2]=a;da=a+12|0;o[ba+8>>2]=da;ca=wl(a,ca+u(S,12)|0,12)+12|0;o[ba+4>>2]=ca;S=o[Y>>2];if(S){o[Y+4>>2]=S;ul(S);o[Y+8>>2]=0;o[Y>>2]=0;o[Y+4>>2]=0}o[Y>>2]=a;o[Y+8>>2]=da;o[Y+4>>2]=ca;R=ba+16|0;return 1}function sa(a,S){var Y=0,ea=0;Y=R-96|0;R=Y;xl(Y+16|0,0,76);o[Y+92>>2]=-1;o[Y+8>>2]=0;o[Y>>2]=0;o[Y+4>>2]=0;a:{if(ta(Y+16|0,a,Y)){a=o[S>>2];if(a){o[S+4>>2]=a;ul(a);o[S+8>>2]=0;o[S>>2]=0;o[S+4>>2]=0}o[S>>2]=o[Y>>2];o[S+4>>2]=o[Y+4>>2];o[S+8>>2]=o[Y+8>>2];o[Y+8>>2]=0;o[Y>>2]=0;o[Y+4>>2]=0;ea=o[Y+84>>2];break a}a=o[Y>>2];if(!a){break a}o[Y+4>>2]=a;ul(a)}a=o[Y+72>>2];if(a){ul(a)}a=o[Y+48>>2];if(a){o[Y+52>>2]=a;ul(a)}a=o[Y+36>>2];if(a){o[Y+40>>2]=a;ul(a)}a=o[Y+24>>2];if(a){o[Y+28>>2]=a;ul(a)}a=o[Y+20>>2];o[Y+20>>2]=0;if(a){ua(Y+16|4,a)}R=Y+96|0;return ea}function ta(a,S,fa){var 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;ja=R-16|0;R=ja;a:{if(!va(a,S)){break a}ia=1;ha=o[S+96>>2];oa=S+100|0;ga=o[oa>>2];if((ha|0)==(ga|0)){break a}pa=a+12|0;qa=a+24|0;ra=a+36|0;na=fa+8|0;la=fa+4|0;while(1){if(!(o[o[a+56>>2]+(ma>>>3&536870908)>>2]>>>(ma&31)&1)){ia=u(ma,3);Zi(a,0,ia);sa=o[pa>>2];ka=o[a+8>>2];Zi(a,1,ia+1|0);ha=o[qa>>2];ga=o[a+20>>2];Zi(a,2,ia+2|0);ia=ha-ga>>2;ha=sa-ka|0;ga=ha>>2;ka=ia>>>0>ga>>>0;ka=o[ra>>2]-o[a+32>>2]>>2>>>0>(ka?ia:ga)>>>0?2:ka?1:ha?0:-1;b:{if(o[a+68>>2]<1){break b}ga=o[a+76>>2];o[ja+12>>2]=ga;ha=o[la>>2];c:{if(ha>>>0<r[na>>2]){o[ha>>2]=ga;o[la>>2]=ha+4;break c}wa(fa,ja+12|0)}ga=ja;ia=o[((ka<<2)+a|0)+44>>2];ha=-1;d:{if((ia|0)<0){break d}ha=(ia>>>0)/3|0;ha=o[(o[o[a>>2]+96>>2]+u(ha,12)|0)+(ia-u(ha,3)<<2)>>2]}o[ga+8>>2]=ha;ga=o[la>>2];e:{if(ga>>>0<r[na>>2]){o[ga>>2]=ha;o[la>>2]=ga+4;break e}wa(fa,ja+8|0)}ga=o[a+72>>2]+2|0;o[a+72>>2]=ga;if(!(ga&1)){break b}o[ja+4>>2]=ha;ga=o[la>>2];f:{if(ga>>>0<r[na>>2]){o[ga>>2]=ha;o[la>>2]=ga+4;break f}wa(fa,ja+4|0)}o[a+72>>2]=o[a+72>>2]+1}xa(a,ka,fa);ha=o[S+96>>2];ga=o[oa>>2]}ia=1;ma=ma+1|0;if(ma>>>0<(ga-ha|0)/12>>>0){continue}break}}R=ja+16|0;return ia}function ua(a,R){if(R){a=o[R+76>>2];if(a){o[R+80>>2]=a;ul(a)}a=o[R- -64>>2];if(a){o[R+68>>2]=a;ul(a)}a=o[R+48>>2];if(a){o[R+52>>2]=a;ul(a)}a=o[R+24>>2];if(a){o[R+28>>2]=a;ul(a)}a=o[R+12>>2];if(a){o[R+16>>2]=a;ul(a)}a=o[R>>2];if(a){o[R+4>>2]=a;ul(a)}ul(R)}}function va(a,S){var fa=0,ta=0,va=0;fa=R-16|0;R=fa;o[a+68>>2]=0;o[a+72>>2]=0;o[a>>2]=S;Yi(fa+8|0,S);ta=o[fa+8>>2];o[fa+8>>2]=0;va=o[a+4>>2];o[a+4>>2]=ta;a:{if(!va){o[fa+8>>2]=0;break a}ta=a+4|0;ua(ta,va);va=o[fa+8>>2];o[fa+8>>2]=0;if(va){ua(fa+8|0,va)}ta=o[ta>>2]}if(ta){ta=o[S+100>>2];S=o[S+96>>2];m[fa+7|0]=0;$a(a+56|0,(ta-S|0)/12|0,fa+7|0);a=1}else{a=0}R=fa+16|0;return a}function wa(a,R){var S=0,ua=0,wa=0,xa=0,ya=0,za=0;a:{wa=o[a>>2];ya=o[a+4>>2]-wa|0;S=ya>>2;ua=S+1|0;if(ua>>>0<1073741824){za=S<<2;S=o[a+8>>2]-wa|0;xa=S>>1;ua=S>>2>>>0<536870911?xa>>>0<ua>>>0?ua:xa:1073741823;S=0;b:{if(!ua){break b}if(ua>>>0>=1073741824){break a}S=Hk(ua<<2)}xa=za+S|0;o[xa>>2]=o[R>>2];R=S+(ua<<2)|0;ua=xa+4|0;if((ya|0)>=1){wl(S,wa,ya)}o[a>>2]=S;o[a+8>>2]=R;o[a+4>>2]=ua;if(wa){ul(wa)}return}Yk();D()}_a(1040);D()}function xa(a,Aa,Ba){var Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ea=R-16|0;R=Ea;o[a+68>>2]=o[a+68>>2]+1;Ca=u(Aa,12)+a|0;Ca=o[Ca+12>>2]-o[Ca+8>>2]|0;if((Ca|0)>=1){Ja=Ca>>2;Ca=o[((Aa<<2)+a|0)+44>>2];Ha=Ba+8|0;Fa=Ba+4|0;while(1){Aa=Ca;Ga=(Ca>>>0)/3|0;Ca=(Ca|0)==-1?-1:Ga;Da=o[a+56>>2]+(Ca>>>3&536870908)|0;o[Da>>2]=o[Da>>2]|1<<(Ca&31);o[a+72>>2]=o[a+72>>2]+1;a:{b:{if(!Ia){Ca=(Aa|0)<0?-1:o[(o[o[a>>2]+96>>2]+u(Ga,12)|0)+((Aa>>>0)%3<<2)>>2];o[Ea+12>>2]=Ca;Da=o[Fa>>2];c:{if(Da>>>0<r[Ha>>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break c}wa(Ba,Ea+12|0)}Ca=-1;d:{if((Aa|0)==-1){break d}Da=Aa+1|0;Da=(Da>>>0)%3|0?Da:Aa+ -2|0;if((Da|0)<0){break d}Ca=(Da>>>0)/3|0;Ca=o[(o[o[a>>2]+96>>2]+u(Ca,12)|0)+(Da-u(Ca,3)<<2)>>2]}o[Ea+12>>2]=Ca;Da=o[Fa>>2];e:{if(Da>>>0<r[Ha>>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break e}wa(Ba,Ea+12|0)}Da=a;Ca=-1;f:{if((Aa|0)==-1){break f}Ga=((Aa>>>0)%3|0?-1:2)+Aa|0;Ca=-1;if((Ga|0)<0){break f}Ca=(Ga>>>0)/3|0;Ca=o[(o[o[a>>2]+96>>2]+u(Ca,12)|0)+(Ga-u(Ca,3)<<2)>>2]}o[Da+76>>2]=Ca;o[Ea+12>>2]=Ca;Da=o[Fa>>2];if(Da>>>0<r[Ha>>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break b}wa(Ba,Ea+12|0);break b}Ca=(Aa|0)<0?-1:o[(o[o[a>>2]+96>>2]+u(Ga,12)|0)+((Aa>>>0)%3<<2)>>2];o[a+76>>2]=Ca;o[Ea+12>>2]=Ca;Da=o[Fa>>2];g:{if(Da>>>0<r[Ha>>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break g}wa(Ba,Ea+12|0)}if(Ia&1){Ca=-1;if((Aa|0)==-1){break a}if(Aa-u(Ga,3)){Aa=Aa+ -1|0;break b}Aa=Aa+2|0;break b}Ca=-1;if((Aa|0)==-1){break a}Ca=Aa+1|0;Aa=(Ca>>>0)%3|0?Ca:Aa+ -2|0}Ca=-1;if((Aa|0)==-1){break a}Ca=o[o[o[a+4>>2]+12>>2]+(Aa<<2)>>2]}Ia=Ia+1|0;if((Ia|0)<(Ja|0)){continue}break}}R=Ea+16|0}function ya(a,R,Aa){var Ba=0,Ka=0,La=0;a:{if(r[a+80>>2]>65535){break a}Ka=o[a+96>>2];a=o[a+100>>2]-Ka|0;La=(a|0)/12|0;if((u(La,6)|0)!=(R|0)){break a}if(!a){return 1}a=0;while(1){R=u(a,6)+Aa|0;Ba=u(a,12)+Ka|0;n[R>>1]=o[Ba>>2];n[R+2>>1]=o[Ba+4>>2];n[R+4>>1]=o[Ba+8>>2];Ba=1;a=a+1|0;if(a>>>0<La>>>0){continue}break}}return Ba}function za(a,R,Aa){var Ma=0,Na=0,Oa=0;Na=o[a+96>>2];a=o[a+100>>2]-Na|0;Oa=(a|0)/12|0;if((a|0)==(R|0)){if(!R){return 1}a=0;while(1){Ma=u(a,12);R=Ma+Aa|0;Ma=Ma+Na|0;o[R>>2]=o[Ma>>2];o[R+4>>2]=o[Ma+4>>2];o[R+8>>2]=o[Ma+8>>2];Ma=1;a=a+1|0;if(a>>>0<Oa>>>0){continue}break}}return Ma}function Aa(a,Aa,Pa){var Qa=0,Ra=0,Sa=0,Ta=0;Qa=R-32|0;R=Qa;Ra=m[a+24|0];Ta=o[259];o[Qa+24>>2]=o[258];o[Qa+28>>2]=Ta;Ta=o[257];o[Qa+16>>2]=o[256];o[Qa+20>>2]=Ta;a:{if(Ba(a,Aa,Ra,Qa+16|0)){a=0;o[Qa+8>>2]=0;o[Qa>>2]=0;o[Qa+4>>2]=0;Aa=0;if(Ra){if((Ra|0)<=-1){break a}Aa=Ra<<2;Sa=Hk(Aa);o[Qa>>2]=Sa;a=(Ra<<2)+Sa|0;o[Qa+8>>2]=a;wl(Sa,Qa+16|0,Aa);o[Qa+4>>2]=a;Aa=a}Ra=o[Pa>>2];if(Ra){o[Pa+4>>2]=Ra;ul(Ra);o[Pa+8>>2]=0;o[Pa>>2]=0;o[Pa+4>>2]=0;Aa=o[Qa+4>>2];Sa=o[Qa>>2];a=o[Qa+8>>2]}o[Pa>>2]=Sa;o[Pa+8>>2]=a;o[Pa+4>>2]=Aa;Sa=1}R=Qa+32|0;return Sa}Yk();D()}function Ba(a,R,Aa,Pa){var Ua=0,Va=0,Wa=v(0),Xa=0,Ya=0;a:{b:{if(!Pa){break b}Ua=o[a+28>>2]+ -1|0;if(Ua>>>0>10){break b}c:{switch(Ua-1|0){default:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(m[R|0]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(127)):Wa;R=R+1|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 0:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(p[R|0]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(255)):Wa;R=R+1|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 1:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(n[R>>1]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(32767)):Wa;R=R+2|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 2:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(q[R>>1]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(65535)):Wa;R=R+2|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 3:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(o[R>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(4.656612873077393e-10)):Wa;R=R+4|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 4:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(r[R>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(2.3283064365386963e-10)):Wa;R=R+4|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 5:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(+r[R>>2]+4294967296*+o[R+4>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(1.0842021724855044e-19)):Wa;R=R+8|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 6:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(+r[R>>2]+4294967296*+r[R+4>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(5.421010862427522e-20)):Wa;R=R+8|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 7:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;while(1){o[(Va<<2)+Pa>>2]=o[R>>2];R=R+4|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 8:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;while(1){s[(Va<<2)+Pa>>2]=t[R>>3];R=R+8|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 9:break c}}Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;while(1){s[(Va<<2)+Pa>>2]=p[R|0]?v(1):v(0);R=R+1|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}xl((Ua<<2)+Pa|0,0,Aa-Ua<<2)}return Ya}xl((Ua<<2)+Pa|0,0,Aa-Ua<<2);return 1}function Ca(a,Aa,Pa){var Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0;Za=R-16|0;R=Za;bb=o[a+80>>2];cb=m[Aa+24|0];a=o[259];o[Za+8>>2]=o[258];o[Za+12>>2]=a;a=o[257];o[Za>>2]=o[256];o[Za+4>>2]=a;a=u(bb,cb);$a=o[Pa>>2];_a=o[Pa+4>>2]-$a>>2;a:{if(a>>>0>_a>>>0){Da(Pa,a-_a|0);break a}if(a>>>0>=_a>>>0){break a}o[Pa+4>>2]=$a+(a<<2)}b:{if(!bb){a=1;break b}$a=0;db=Aa+68|0;eb=(cb|0)<1;while(1){a=ab;_a=Aa;if(!p[_a+84|0]){a=o[o[db>>2]+(ab<<2)>>2]}if(!Ba(_a,a,m[Aa+24|0],Za)){a=0;break b}if(!eb){_a=o[Pa>>2];a=0;while(1){o[_a+($a<<2)>>2]=o[(a<<2)+Za>>2];$a=$a+1|0;a=a+1|0;if((cb|0)!=(a|0)){continue}break}}a=1;ab=ab+1|0;if((bb|0)!=(ab|0)){continue}break}}R=Za+16|0;return a}function Da(a,R){var Aa=0,Pa=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;Pa=o[a+8>>2];fb=a+4|0;Aa=o[fb>>2];if(Pa-Aa>>2>>>0>=R>>>0){a=R<<2;kb=fb,lb=xl(Aa,0,a)+a|0,o[kb>>2]=lb;return}a:{fb=o[a>>2];hb=Aa-fb|0;Aa=hb>>2;gb=Aa+R|0;if(gb>>>0<1073741824){jb=Aa<<2;Pa=Pa-fb|0;Aa=Pa>>1;Pa=Pa>>2>>>0<536870911?Aa>>>0<gb>>>0?gb:Aa:1073741823;Aa=0;b:{if(!Pa){break b}if(Pa>>>0>=1073741824){break a}ib=Hk(Pa<<2);Aa=ib}xl(jb+Aa|0,0,R<<2);R=Aa+(gb<<2)|0;gb=Aa+(Pa<<2)|0;if((hb|0)>=1){wl(ib,fb,hb)}o[a>>2]=Aa;o[a+8>>2]=gb;o[a+4>>2]=R;if(fb){ul(fb)}return}Yk();D()}_a(1040);D()}function Ea(a,mb,nb){var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0;pb=R-16|0;R=pb;sb=o[a+80>>2];rb=m[mb+24|0];qb=u(sb,rb);a:{a=o[mb+28>>2];b:{if(!(!p[mb+84|0]|((a|0)!=2?(a|0)!=1:0))){rb=o[mb+48>>2];mb=o[o[mb>>2]>>2];o[pb+8>>2]=0;o[pb>>2]=0;o[pb+4>>2]=0;a=0;if(qb){if((qb|0)<=-1){break a}a=Hk(qb);o[pb>>2]=a;ob=a+qb|0;o[pb+8>>2]=ob;wl(a,mb+rb|0,qb);o[pb+4>>2]=ob}mb=o[nb>>2];if(mb){o[nb+4>>2]=mb;ul(mb);o[nb+8>>2]=0;o[nb>>2]=0;o[nb+4>>2]=0}o[nb>>2]=a;o[nb+8>>2]=ob;o[nb+4>>2]=ob;ob=1;break b}o[pb+8>>2]=0;o[pb>>2]=0;o[pb+4>>2]=0;if(rb){if((rb|0)<=-1){break a}ob=Hk(rb);o[pb>>2]=ob;o[pb+4>>2]=ob;o[pb+8>>2]=ob+rb;a=rb;while(1){m[ob|0]=0;ob=o[pb+4>>2]+1|0;o[pb+4>>2]=ob;a=a+ -1|0;if(a){continue}break}}ob=o[nb>>2];a=o[nb+4>>2]-ob|0;c:{if(qb>>>0>a>>>0){Fa(nb,qb-a|0);break c}if(qb>>>0>=a>>>0){break c}o[nb+4>>2]=ob+qb}d:{if(!sb){ob=1;break d}a=0;tb=mb+68|0;ub=(rb|0)<1;qb=0;while(1){ob=qb;vb=mb;if(!p[mb+84|0]){ob=o[o[tb>>2]+(qb<<2)>>2]}if(!Ga(vb,ob,m[mb+24|0],o[pb>>2])){ob=0;break d}ob=0;if(!ub){while(1){m[o[nb>>2]+a|0]=p[o[pb>>2]+ob|0];a=a+1|0;ob=ob+1|0;if((rb|0)!=(ob|0)){continue}break}}ob=1;qb=qb+1|0;if((sb|0)!=(qb|0)){continue}break}}a=o[pb>>2];if(!a){break b}o[pb+4>>2]=a;ul(a)}R=pb+16|0;return ob}Yk();D()}function Fa(a,R){var mb=0,nb=0,wb=0,xb=0,yb=0,zb=0;a:{nb=o[a+8>>2];wb=a+4|0;mb=o[wb>>2];b:{if(nb-mb>>>0>=R>>>0){while(1){m[mb|0]=0;mb=o[wb>>2]+1|0;o[wb>>2]=mb;R=R+ -1|0;if(R){continue}break b}}xb=o[a>>2];yb=mb-xb|0;mb=yb+R|0;if((mb|0)<=-1){break a}wb=0;nb=nb-xb|0;zb=nb<<1;nb=nb>>>0<1073741823?zb>>>0<mb>>>0?mb:zb:2147483647;if(nb){wb=Hk(nb)}mb=wb+yb|0;xl(mb,0,R);nb=nb+wb|0;while(1){mb=mb+1|0;R=R+ -1|0;if(R){continue}break}if((yb|0)>=1){wl(wb,xb,yb)}o[a>>2]=wb;o[a+8>>2]=nb;o[a+4>>2]=mb;if(!xb){break b}ul(xb)}return}Yk();D()}function Ga(a,R,Ab,Bb){var Cb=0,Db=0,Eb=0,Fb=0,Gb=v(0),Hb=0;a:{b:{if(!Bb){break b}Cb=o[a+28>>2]+ -1|0;if(Cb>>>0>10){break b}c:{d:{e:{switch(Cb-1|0){default:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+1|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 0:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+1|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 1:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+2|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 2:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+2|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 3:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+4|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 4:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+4|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 5:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+8|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 6:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+8|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 7:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24<1){break c}Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){Cb=Bb+Db|0;Gb=s[R>>2];f:{if(v(w(Gb))<v(2147483648)){Fb=~~Gb;break f}Fb=-2147483648}m[Cb|0]=Fb;R=R+4|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}break c;case 8:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24<1){break d}Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){Cb=Bb+Db|0;Hb=t[R>>3];g:{if(w(Hb)<2147483648){Fb=~~Hb;break g}Fb=-2147483648}m[Cb|0]=Fb;R=R+8|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}break d;case 9:break e}}Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+1|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}xl(Bb+Cb|0,0,Ab-Cb|0);break b}if((Cb|0)>=(Ab|0)){break b}break a}if((Cb|0)>=(Ab|0)){break b}break a}return Eb}xl(Bb+Cb|0,0,Ab-Cb|0);return 1}function Ha(a,Ab,Bb){var Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0;Jb=R-16|0;R=Jb;Mb=o[a+80>>2];Lb=m[Ab+24|0];Kb=u(Mb,Lb);a:{a=o[Ab+28>>2];b:{if(!(!p[Ab+84|0]|((a|0)!=2?(a|0)!=1:0))){Lb=o[Ab+48>>2];Ab=o[o[Ab>>2]>>2];o[Jb+8>>2]=0;o[Jb>>2]=0;o[Jb+4>>2]=0;a=0;if(Kb){if((Kb|0)<=-1){break a}a=Hk(Kb);o[Jb>>2]=a;Ib=a+Kb|0;o[Jb+8>>2]=Ib;wl(a,Ab+Lb|0,Kb);o[Jb+4>>2]=Ib}Ab=o[Bb>>2];if(Ab){o[Bb+4>>2]=Ab;ul(Ab);o[Bb+8>>2]=0;o[Bb>>2]=0;o[Bb+4>>2]=0}o[Bb>>2]=a;o[Bb+8>>2]=Ib;o[Bb+4>>2]=Ib;Ib=1;break b}o[Jb+8>>2]=0;o[Jb>>2]=0;o[Jb+4>>2]=0;if(Lb){if((Lb|0)<=-1){break a}Ib=Hk(Lb);o[Jb>>2]=Ib;o[Jb+4>>2]=Ib;o[Jb+8>>2]=Ib+Lb;a=Lb;while(1){m[Ib|0]=0;Ib=o[Jb+4>>2]+1|0;o[Jb+4>>2]=Ib;a=a+ -1|0;if(a){continue}break}}Ib=o[Bb>>2];a=o[Bb+4>>2]-Ib|0;c:{if(Kb>>>0>a>>>0){Fa(Bb,Kb-a|0);break c}if(Kb>>>0>=a>>>0){break c}o[Bb+4>>2]=Ib+Kb}d:{if(!Mb){Ib=1;break d}a=0;Nb=Ab+68|0;Ob=(Lb|0)<1;Kb=0;while(1){Ib=Kb;Pb=Ab;if(!p[Ab+84|0]){Ib=o[o[Nb>>2]+(Kb<<2)>>2]}if(!Ia(Pb,Ib,m[Ab+24|0],o[Jb>>2])){Ib=0;break d}Ib=0;if(!Ob){while(1){m[o[Bb>>2]+a|0]=p[o[Jb>>2]+Ib|0];a=a+1|0;Ib=Ib+1|0;if((Lb|0)!=(Ib|0)){continue}break}}Ib=1;Kb=Kb+1|0;if((Mb|0)!=(Kb|0)){continue}break}}a=o[Jb>>2];if(!a){break b}o[Jb+4>>2]=a;ul(a)}R=Jb+16|0;return Ib}Yk();D()}function Ia(a,R,Ab,Bb){var Qb=0,Rb=0,Sb=0,Tb=0,Ub=v(0),Vb=0;a:{b:{if(!Bb){break b}Qb=o[a+28>>2]+ -1|0;if(Qb>>>0>10){break b}c:{d:{e:{switch(Qb-1|0){default:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+1|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 0:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+1|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 1:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+2|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 2:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+2|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 3:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+4|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 4:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+4|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 5:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+8|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 6:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+8|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 7:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24<1){break c}Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){Qb=Bb+Rb|0;Ub=s[R>>2];f:{if(Ub<v(4294967296)&Ub>=v(0)){Tb=~~Ub>>>0;break f}Tb=0}m[Qb|0]=Tb;R=R+4|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}break c;case 8:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24<1){break d}Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){Qb=Bb+Rb|0;Vb=t[R>>3];g:{if(Vb<4294967296&Vb>=0){Tb=~~Vb>>>0;break g}Tb=0}m[Qb|0]=Tb;R=R+8|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}break d;case 9:break e}}Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+1|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}xl(Bb+Qb|0,0,Ab-Qb|0);break b}if((Qb|0)>=(Ab|0)){break b}break a}if((Qb|0)>=(Ab|0)){break b}break a}return Sb}xl(Bb+Qb|0,0,Ab-Qb|0);return 1}function Ja(a,Ab,Bb){var Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0;Wb=R-16|0;R=Wb;ac=o[a+80>>2];_b=m[Ab+24|0];a=u(ac,_b);a:{Xb=o[Ab+28>>2];b:{if(!(!p[Ab+84|0]|((Xb|0)!=4?(Xb|0)!=3:0))){$b=o[Ab+48>>2];Xb=o[o[Ab>>2]>>2];o[Wb+8>>2]=0;o[Wb>>2]=0;o[Wb+4>>2]=0;Ab=0;a=a<<1;if(a){if((a|0)<=-1){break a}Yb=Hk(a);o[Wb>>2]=Yb;Zb=(a>>1<<1)+Yb|0;o[Wb+8>>2]=Zb;Ab=wl(Yb,Xb+$b|0,a)+a|0;o[Wb+4>>2]=Ab}a=o[Bb>>2];if(a){o[Bb+4>>2]=a;ul(a);o[Bb+8>>2]=0;o[Bb>>2]=0;o[Bb+4>>2]=0}o[Bb>>2]=Yb;o[Bb+8>>2]=Zb;o[Bb+4>>2]=Ab;a=1;break b}o[Wb+8>>2]=0;o[Wb>>2]=0;o[Wb+4>>2]=0;if(_b){if((_b|0)<=-1){break a}Xb=_b<<1;Yb=Hk(Xb);o[Wb>>2]=Yb;Zb=Xb+Yb|0;o[Wb+8>>2]=Zb;xl(Yb,0,Xb);o[Wb+4>>2]=Zb}Yb=o[Bb>>2];Xb=o[Bb+4>>2]-Yb>>1;c:{if(a>>>0>Xb>>>0){Ka(Bb,a-Xb|0);break c}if(a>>>0>=Xb>>>0){break c}o[Bb+4>>2]=Yb+(a<<1)}d:{if(!ac){a=1;break d}Yb=0;Zb=Ab+68|0;bc=(_b|0)<1;while(1){a=$b;Xb=Ab;if(!p[Ab+84|0]){a=o[o[Zb>>2]+($b<<2)>>2]}if(!La(Xb,a,m[Ab+24|0],o[Wb>>2])){a=0;break d}if(!bc){Xb=o[Bb>>2];a=0;cc=o[Wb>>2];while(1){n[Xb+(Yb<<1)>>1]=q[cc+(a<<1)>>1];Yb=Yb+1|0;a=a+1|0;if((_b|0)!=(a|0)){continue}break}}a=1;$b=$b+1|0;if((ac|0)!=($b|0)){continue}break}}Ab=o[Wb>>2];if(!Ab){break b}o[Wb+4>>2]=Ab;ul(Ab)}R=Wb+16|0;return a}Yk();D()}function Ka(a,R){var Ab=0,Bb=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0;Bb=o[a+8>>2];dc=a+4|0;Ab=o[dc>>2];if(Bb-Ab>>1>>>0>=R>>>0){a=R<<1;ic=dc,jc=xl(Ab,0,a)+a|0,o[ic>>2]=jc;return}a:{dc=o[a>>2];fc=Ab-dc|0;Ab=fc>>1;ec=Ab+R|0;if((ec|0)>-1){hc=Ab<<1;Bb=Bb-dc|0;Bb=Bb>>1>>>0<1073741823?Bb>>>0<ec>>>0?ec:Bb:2147483647;Ab=0;b:{if(!Bb){break b}if((Bb|0)<=-1){break a}gc=Hk(Bb<<1);Ab=gc}xl(hc+Ab|0,0,R<<1);R=Ab+(ec<<1)|0;ec=Ab+(Bb<<1)|0;if((fc|0)>=1){wl(gc,dc,fc)}o[a>>2]=Ab;o[a+8>>2]=ec;o[a+4>>2]=R;if(dc){ul(dc)}return}Yk();D()}_a(1040);D()}function La(a,R,kc,lc){var mc=0,nc=0,oc=0,pc=0,qc=v(0),rc=0;a:{b:{if(!lc){break b}mc=o[a+28>>2]+ -1|0;if(mc>>>0>10){break b}c:{d:{e:{switch(mc-1|0){default:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=m[R|0];R=R+1|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 0:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=p[R|0];R=R+1|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 1:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=q[R>>1];R=R+2|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 2:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=q[R>>1];R=R+2|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 3:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+4|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 4:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+4|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 5:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+8|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 6:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+8|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 7:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24<1){break c}mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){mc=(nc<<1)+lc|0;qc=s[R>>2];f:{if(v(w(qc))<v(2147483648)){pc=~~qc;break f}pc=-2147483648}n[mc>>1]=pc;R=R+4|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}break c;case 8:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24<1){break d}mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){mc=(nc<<1)+lc|0;rc=t[R>>3];g:{if(w(rc)<2147483648){pc=~~rc;break g}pc=-2147483648}n[mc>>1]=pc;R=R+8|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}break d;case 9:break e}}oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=p[R|0];R=R+1|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}xl((mc<<1)+lc|0,0,kc-mc<<1);break b}if((mc|0)>=(kc|0)){break b}break a}if((mc|0)>=(kc|0)){break b}break a}return oc}xl((mc<<1)+lc|0,0,kc-mc<<1);return 1}function Ma(a,kc,lc){var sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0;sc=R-16|0;R=sc;yc=o[a+80>>2];wc=m[kc+24|0];a=u(yc,wc);a:{tc=o[kc+28>>2];b:{if(!(!p[kc+84|0]|((tc|0)!=4?(tc|0)!=3:0))){xc=o[kc+48>>2];tc=o[o[kc>>2]>>2];o[sc+8>>2]=0;o[sc>>2]=0;o[sc+4>>2]=0;kc=0;a=a<<1;if(a){if((a|0)<=-1){break a}uc=Hk(a);o[sc>>2]=uc;vc=(a>>1<<1)+uc|0;o[sc+8>>2]=vc;kc=wl(uc,tc+xc|0,a)+a|0;o[sc+4>>2]=kc}a=o[lc>>2];if(a){o[lc+4>>2]=a;ul(a);o[lc+8>>2]=0;o[lc>>2]=0;o[lc+4>>2]=0}o[lc>>2]=uc;o[lc+8>>2]=vc;o[lc+4>>2]=kc;a=1;break b}o[sc+8>>2]=0;o[sc>>2]=0;o[sc+4>>2]=0;if(wc){if((wc|0)<=-1){break a}tc=wc<<1;uc=Hk(tc);o[sc>>2]=uc;vc=tc+uc|0;o[sc+8>>2]=vc;xl(uc,0,tc);o[sc+4>>2]=vc}uc=o[lc>>2];tc=o[lc+4>>2]-uc>>1;c:{if(a>>>0>tc>>>0){Ka(lc,a-tc|0);break c}if(a>>>0>=tc>>>0){break c}o[lc+4>>2]=uc+(a<<1)}d:{if(!yc){a=1;break d}uc=0;vc=kc+68|0;zc=(wc|0)<1;while(1){a=xc;tc=kc;if(!p[kc+84|0]){a=o[o[vc>>2]+(xc<<2)>>2]}if(!Na(tc,a,m[kc+24|0],o[sc>>2])){a=0;break d}if(!zc){tc=o[lc>>2];a=0;Ac=o[sc>>2];while(1){n[tc+(uc<<1)>>1]=q[Ac+(a<<1)>>1];uc=uc+1|0;a=a+1|0;if((wc|0)!=(a|0)){continue}break}}a=1;xc=xc+1|0;if((yc|0)!=(xc|0)){continue}break}}kc=o[sc>>2];if(!kc){break b}o[sc+4>>2]=kc;ul(kc)}R=sc+16|0;return a}Yk();D()}function Na(a,R,kc,lc){var Bc=0,Cc=0,Dc=0,Ec=0,Fc=v(0),Gc=0;a:{b:{if(!lc){break b}Bc=o[a+28>>2]+ -1|0;if(Bc>>>0>10){break b}c:{d:{e:{switch(Bc-1|0){default:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=m[R|0];R=R+1|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 0:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=p[R|0];R=R+1|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 1:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=q[R>>1];R=R+2|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 2:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=q[R>>1];R=R+2|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 3:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+4|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 4:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+4|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 5:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+8|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 6:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+8|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 7:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24<1){break c}Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){Bc=(Cc<<1)+lc|0;Fc=s[R>>2];f:{if(Fc<v(4294967296)&Fc>=v(0)){Ec=~~Fc>>>0;break f}Ec=0}n[Bc>>1]=Ec;R=R+4|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}break c;case 8:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24<1){break d}Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){Bc=(Cc<<1)+lc|0;Gc=t[R>>3];g:{if(Gc<4294967296&Gc>=0){Ec=~~Gc>>>0;break g}Ec=0}n[Bc>>1]=Ec;R=R+8|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}break d;case 9:break e}}Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=p[R|0];R=R+1|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}xl((Bc<<1)+lc|0,0,kc-Bc<<1);break b}if((Bc|0)>=(kc|0)){break b}break a}if((Bc|0)>=(kc|0)){break b}break a}return Dc}xl((Bc<<1)+lc|0,0,kc-Bc<<1);return 1}function Oa(a,kc,lc){var Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0;Hc=R-16|0;R=Hc;Nc=o[a+80>>2];Kc=m[kc+24|0];Jc=u(Nc,Kc);a:{a=o[kc+28>>2];b:{if(!(!p[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){Mc=o[kc+48>>2];Kc=o[o[kc>>2]>>2];o[Hc+8>>2]=0;o[Hc>>2]=0;o[Hc+4>>2]=0;a=0;kc=Jc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Ic=Hk(kc);o[Hc>>2]=Ic;o[Hc+4>>2]=Ic;Lc=(a<<2)+Ic|0;o[Hc+8>>2]=Lc;if((kc|0)<1){a=Ic;break c}a=wl(Ic,Kc+Mc|0,kc)+kc|0;o[Hc+4>>2]=a}kc=o[lc>>2];if(kc){o[lc+4>>2]=kc;ul(kc);o[lc+8>>2]=0;o[lc>>2]=0;o[lc+4>>2]=0}o[lc>>2]=Ic;o[lc+8>>2]=Lc;o[lc+4>>2]=a;a=1;break b}o[Hc+8>>2]=0;o[Hc>>2]=0;o[Hc+4>>2]=0;if(Kc){if((Kc|0)<=-1){break a}a=Kc<<2;Ic=Hk(a);o[Hc>>2]=Ic;Lc=a+Ic|0;o[Hc+8>>2]=Lc;xl(Ic,0,a);o[Hc+4>>2]=Lc}Ic=o[lc>>2];a=o[lc+4>>2]-Ic>>2;d:{if(Jc>>>0>a>>>0){Da(lc,Jc-a|0);break d}if(Jc>>>0>=a>>>0){break d}o[lc+4>>2]=Ic+(Jc<<2)}e:{if(!Nc){a=1;break e}Ic=0;Lc=kc+68|0;Oc=(Kc|0)<1;while(1){a=Mc;Jc=kc;if(!p[kc+84|0]){a=o[o[Lc>>2]+(Mc<<2)>>2]}if(!Pa(Jc,a,m[kc+24|0],o[Hc>>2])){a=0;break e}if(!Oc){Jc=o[lc>>2];a=0;Pc=o[Hc>>2];while(1){o[Jc+(Ic<<2)>>2]=o[Pc+(a<<2)>>2];Ic=Ic+1|0;a=a+1|0;if((Kc|0)!=(a|0)){continue}break}}a=1;Mc=Mc+1|0;if((Nc|0)!=(Mc|0)){continue}break}}kc=o[Hc>>2];if(!kc){break b}o[Hc+4>>2]=kc;ul(kc)}R=Hc+16|0;return a}Yk();D()}function Pa(a,R,kc,lc){var Qc=0,Rc=0,Sc=0,Tc=0,Uc=v(0),Vc=0;a:{b:{if(!lc){break b}Qc=o[a+28>>2]+ -1|0;if(Qc>>>0>10){break b}c:{d:{e:{switch(Qc-1|0){default:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=m[R|0];R=R+1|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 0:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=p[R|0];R=R+1|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 1:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=n[R>>1];R=R+2|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 2:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=q[R>>1];R=R+2|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 3:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=o[R>>2];R=R+4|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 4:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=o[R>>2];R=R+4|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 5:Sc=1;Qc=m[a+24|0];if(((