diff --git a/examples/js/loaders/DRACOLoader.js b/examples/js/loaders/DRACOLoader.js new file mode 100644 index 0000000000000000000000000000000000000000..d9205fd5bc92dd3a2f3c833b2f42ec777db96291 --- /dev/null +++ b/examples/js/loaders/DRACOLoader.js @@ -0,0 +1,277 @@ +// Copyright 2016 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +'use strict'; + +THREE.DRACOLoader = function(manager) { + this.manager = (manager !== undefined) ? manager : + THREE.DefaultLoadingManager; + this.materials = null; + this.verbosity = 0; +}; + + +THREE.DRACOLoader.prototype = { + + constructor: THREE.DRACOLoader, + + load: function(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new THREE.FileLoader(scope.manager); + loader.setPath(this.path); + loader.setResponseType('arraybuffer'); + loader.load(url, function(blob) { + onLoad(scope.decodeDracoFile(blob)); + }, onProgress, onError); + }, + + setPath: function(value) { + this.path = value; + }, + + setVerbosity: function(level) { + this.verbosity = level; + }, + + decodeDracoFile: ( function() { + let dracoDecoder; + + if (typeof DracoModule === 'function') { + dracoDecoder = DracoModule(); + } else { + console.error('THREE.DRACOLoader: DracoModule not found.'); + return; + } + + return function(rawBuffer) { + const scope = this; + /* + * Here is how to use Draco Javascript decoder and get the geometry. + */ + const buffer = new dracoDecoder.DecoderBuffer(); + buffer.Init(new Int8Array(rawBuffer), rawBuffer.byteLength); + const wrapper = new dracoDecoder.WebIDLWrapper(); + + /* + * Determine what type is this file: mesh or point cloud. + */ + const geometryType = wrapper.GetEncodedGeometryType(buffer); + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + if (this.verbosity > 0) { + console.log('Loaded a mesh.'); + } + } else if (geometryType == dracoDecoder.POINT_CLOUD) { + if (this.verbosity > 0) { + console.log('Loaded a point cloud.'); + } + } else { + const errorMsg = 'THREE.DRACOLoader: Unknown geometry type.' + console.error(errorMsg); + throw new Error(errorMsg); + } + return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer, + dracoDecoder); + } + } )(), + + convertDracoGeometryTo3JS: function(wrapper, geometryType, buffer, + dracoDecoder) { + let dracoGeometry; + const start_time = performance.now(); + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + dracoGeometry = wrapper.DecodeMeshFromBuffer(buffer); + } else { + dracoGeometry = wrapper.DecodePointCloudFromBuffer(buffer); + } + const decode_end = performance.now(); + dracoDecoder.destroy(buffer); + /* + * Example on how to retrieve mesh and attributes. + */ + let numFaces, numPoints; + let numVertexCoordinates, numTextureCoordinates, numAttributes; + // For output basic geometry information. + let geometryInfoStr; + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + numFaces = dracoGeometry.num_faces(); + if (this.verbosity > 0) { + console.log('Number of faces loaded: ' + numFaces.toString()); + } + } else { + numFaces = 0; + } + numPoints = dracoGeometry.num_points(); + numVertexCoordinates = numPoints * 3; + numTextureCoordinates = numPoints * 2; + numAttributes = dracoGeometry.num_attributes(); + if (this.verbosity > 0) { + console.log('Number of points loaded: ' + numPoints.toString()); + console.log('Number of attributes loaded: ' + + numAttributes.toString()); + } + + // Get position attribute. Must exists. + const posAttId = wrapper.GetAttributeId(dracoGeometry, + dracoDecoder.POSITION); + if (posAttId == -1) { + const errorMsg = 'THREE.DRACOLoader: No position attribute found.'; + console.error(errorMsg); + dracoDecoder.destroy(wrapper); + dracoDecoder.destroy(dracoGeometry); + throw new Error(errorMsg); + } + const posAttribute = wrapper.GetAttribute(dracoGeometry, posAttId); + const posAttributeData = new dracoDecoder.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints( + dracoGeometry, posAttribute, posAttributeData); + // Get color attributes if exists. + const colorAttId = wrapper.GetAttributeId(dracoGeometry, + dracoDecoder.COLOR); + let colAttributeData; + if (colorAttId != -1) { + if (this.verbosity > 0) { + console.log('Loaded color attribute.'); + } + const colAttribute = wrapper.GetAttribute(dracoGeometry, colorAttId); + colAttributeData = new dracoDecoder.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, colAttribute, + colAttributeData); + } + + // Get normal attributes if exists. + const normalAttId = + wrapper.GetAttributeId(dracoGeometry, dracoDecoder.NORMAL); + let norAttributeData; + if (normalAttId != -1) { + if (this.verbosity > 0) { + console.log('Loaded normal attribute.'); + } + const norAttribute = wrapper.GetAttribute(dracoGeometry, normalAttId); + norAttributeData = new dracoDecoder.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, norAttribute, + norAttributeData); + } + + // Get texture coord attributes if exists. + const texCoordAttId = + wrapper.GetAttributeId(dracoGeometry, dracoDecoder.TEX_COORD); + let textCoordAttributeData; + if (texCoordAttId != -1) { + if (this.verbosity > 0) { + console.log('Loaded texture coordinate attribute.'); + } + const texCoordAttribute = wrapper.GetAttribute(dracoGeometry, + texCoordAttId); + textCoordAttributeData = new dracoDecoder.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, + texCoordAttribute, + textCoordAttributeData); + } + + // Structure for converting to THREEJS geometry later. + const numIndices = numFaces * 3; + const geometryBuffer = { + indices: new Uint32Array(numIndices), + vertices: new Float32Array(numVertexCoordinates), + normals: new Float32Array(numVertexCoordinates), + uvs: new Float32Array(numTextureCoordinates), + colors: new Float32Array(numVertexCoordinates) + }; + + for (let i = 0; i < numVertexCoordinates; i += 3) { + geometryBuffer.vertices[i] = posAttributeData.GetValue(i); + geometryBuffer.vertices[i + 1] = posAttributeData.GetValue(i + 1); + geometryBuffer.vertices[i + 2] = posAttributeData.GetValue(i + 2); + // Add color. + // ThreeJS vertex colors need to be normalized to properly display + if (colorAttId != -1) { + geometryBuffer.colors[i] = colAttributeData.GetValue(i) / 255; + geometryBuffer.colors[i + 1] = + colAttributeData.GetValue(i + 1) / 255; + geometryBuffer.colors[i + 2] = + colAttributeData.GetValue(i + 2) / 255; + } else { + // Default is white. This is faster than TypedArray.fill(). + geometryBuffer.colors[i] = 1.0; + geometryBuffer.colors[i + 1] = 1.0; + geometryBuffer.colors[i + 2] = 1.0; + } + // Add normal. + if (normalAttId != -1) { + geometryBuffer.normals[i] = norAttributeData.GetValue(i); + geometryBuffer.normals[i + 1] = norAttributeData.GetValue(i + 1); + geometryBuffer.normals[i + 2] = norAttributeData.GetValue(i + 2); + } + } + + // Add texture coordinates. + if (texCoordAttId != -1) { + for (let i = 0; i < numTextureCoordinates; i += 2) { + geometryBuffer.uvs[i] = textCoordAttributeData.GetValue(i); + geometryBuffer.uvs[i + 1] = textCoordAttributeData.GetValue(i + 1); + } + } + + dracoDecoder.destroy(posAttributeData); + if (colorAttId != -1) + dracoDecoder.destroy(colAttributeData); + if (normalAttId != -1) + dracoDecoder.destroy(norAttributeData); + if (texCoordAttId != -1) + dracoDecoder.destroy(textCoordAttributeData); + + // For mesh, we need to generate the faces. + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + const ia = new dracoDecoder.DracoInt32Array(); + for (let i = 0; i < numFaces; ++i) { + wrapper.GetFaceFromMesh(dracoGeometry, i, ia); + const index = i * 3; + geometryBuffer.indices[index] = ia.GetValue(0); + geometryBuffer.indices[index + 1] = ia.GetValue(1); + geometryBuffer.indices[index + 2] = ia.GetValue(2); + } + dracoDecoder.destroy(ia); + } + dracoDecoder.destroy(wrapper); + dracoDecoder.destroy(dracoGeometry); + + // Import data to Three JS geometry. + const geometry = new THREE.BufferGeometry(); + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + geometry.setIndex(new(geometryBuffer.indices.length > 65535 ? + THREE.Uint32BufferAttribute : THREE.Uint16BufferAttribute) + (geometryBuffer.indices, 1)); + } + geometry.addAttribute('position', + new THREE.Float32BufferAttribute(geometryBuffer.vertices, 3)); + geometry.addAttribute('color', + new THREE.Float32BufferAttribute(geometryBuffer.colors, 3)); + if (normalAttId != -1) { + geometry.addAttribute('normal', + new THREE.Float32BufferAttribute(geometryBuffer.normals, 3)); + } + if (texCoordAttId != -1) { + geometry.addAttribute('uv', + new THREE.Float32BufferAttribute(geometryBuffer.uvs, 2)); + } + this.decode_time = decode_end - start_time; + this.import_time = performance.now() - decode_end; + + if (this.verbosity > 0) { + console.log('Decode time: ' + this.decode_time); + console.log('Import time: ' + this.import_time); + } + return geometry; + } +}; \ No newline at end of file diff --git a/examples/js/loaders/draco_decoder.js b/examples/js/loaders/draco_decoder.js new file mode 100644 index 0000000000000000000000000000000000000000..10b4c7b88464d7cd8699e5af7cd9a9ce062fc9f0 --- /dev/null +++ b/examples/js/loaders/draco_decoder.js @@ -0,0 +1,27 @@ +var DracoModule = function(DracoModule) { + DracoModule = DracoModule || {}; + var Module = DracoModule; + +var Module;if(!Module)Module=(typeof DracoModule!=="undefined"?DracoModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){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]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(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>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(HEAP32[DYNAMICTOP_PTR>>2]>=LIMIT)return false;while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var WASM_PAGE_SIZE=64*1024;var totalMemory=WASM_PAGE_SIZE;while(totalMemory0){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)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+11984;__ATINIT__.push();allocate([28,20,0,0,145,21,0,0,68,20,0,0,166,21,0,0,8,0,0,0,0,0,0,0,28,20,0,0,180,21,0,0,28,20,0,0,208,21,0,0,68,20,0,0,236,21,0,0,40,0,0,0,0,0,0,0,28,20,0,0,2,22,0,0,68,20,0,0,96,27,0,0,64,0,0,0,0,0,0,0,68,20,0,0,39,22,0,0,104,0,0,0,0,0,0,0,68,20,0,0,118,22,0,0,120,0,0,0,0,0,0,0,68,20,0,0,187,22,0,0,136,0,0,0,0,0,0,0,28,20,0,0,232,22,0,0,68,20,0,0,12,23,0,0,160,0,0,0,0,0,0,0,68,20,0,0,143,23,0,0,104,0,0,0,0,0,0,0,68,20,0,0,9,24,0,0,160,0,0,0,0,0,0,0,68,20,0,0,149,24,0,0,160,0,0,0,0,0,0,0,68,20,0,0,28,25,0,0,224,0,0,0,0,0,0,0,68,20,0,0,172,25,0,0,104,0,0,0,0,0,0,0,68,20,0,0,51,26,0,0,224,0,0,0,0,0,0,0,68,20,0,0,204,26,0,0,224,0,0,0,0,0,0,0,68,20,0,0,140,27,0,0,72,0,0,0,0,0,0,0,68,20,0,0,10,36,0,0,72,0,0,0,0,0,0,0,68,20,0,0,66,30,0,0,64,1,0,0,0,0,0,0,68,20,0,0,156,30,0,0,120,0,0,0,0,0,0,0,68,20,0,0,94,31,0,0,96,1,0,0,0,0,0,0,68,20,0,0,236,31,0,0,64,1,0,0,0,0,0,0,68,20,0,0,113,32,0,0,96,1,0,0,0,0,0,0,68,20,0,0,8,33,0,0,96,1,0,0,0,0,0,0,68,20,0,0,154,33,0,0,160,1,0,0,0,0,0,0,68,20,0,0,53,34,0,0,64,1,0,0,0,0,0,0,68,20,0,0,199,34,0,0,160,1,0,0,0,0,0,0,68,20,0,0,107,35,0,0,160,1,0,0,0,0,0,0,68,20,0,0,53,36,0,0,32,0,0,0,0,0,0,0,68,20,0,0,153,36,0,0,40,0,0,0,0,0,0,0,68,20,0,0,101,36,0,0,0,2,0,0,0,0,0,0,28,20,0,0,127,36,0,0,68,20,0,0,191,36,0,0,40,0,0,0,0,0,0,0,68,20,0,0,221,37,0,0,32,0,0,0,0,0,0,0,68,20,0,0,104,39,0,0,48,0,0,0,0,0,0,0,68,20,0,0,136,39,0,0,48,0,0,0,0,0,0,0,68,20,0,0,89,42,0,0,136,2,0,0,0,0,0,0,28,20,0,0,169,39,0,0,68,20,0,0,151,40,0,0,0,2,0,0,0,0,0,0,28,20,0,0,97,41,0,0,68,20,0,0,156,41,0,0,0,2,0,0,0,0,0,0,28,20,0,0,165,42,0,0,68,20,0,0,211,42,0,0,136,2,0,0,0,0,0,0,28,20,0,0,232,43,0,0,68,20,0,0,72,44,0,0,184,2,0,0,0,0,0,0,68,20,0,0,245,43,0,0,200,2,0,0,0,0,0,0,28,20,0,0,22,44,0,0,68,20,0,0,35,44,0,0,168,2,0,0,0,0,0,0,68,20,0,0,121,44,0,0,160,2,0,0,0,0,0,0,68,20,0,0,170,44,0,0,184,2,0,0,0,0,0,0,68,20,0,0,134,44,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,64,0,0,0,10,0,0,0,11,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,12,0,0,0,13,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,104,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,88,0,0,0,14,0,0,0,16,0,0,0,13,0,0,0,9,0,0,0,14,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,192,0,0,0,14,0,0,0,17,0,0,0,15,0,0,0,9,0,0,0,16,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,14,0,0,0,18,0,0,0,17,0,0,0,9,0,0,0,18,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,144,0,0,0,19,0,0,0,20,0,0,0,19,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,11,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,14,0,0,0,21,0,0,0,22,0,0,0,9,0,0,0,23,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,14,0,0,0,22,0,0,0,24,0,0,0,9,0,0,0,25,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,208,0,0,0,23,0,0,0,24,0,0,0,26,0,0,0,9,0,0,0,27,0,0,0,28,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,25,0,0,0,26,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,8,0,0,0,17,0,0,0,29,0,0,0,18,0,0,0,0,0,0,0,32,1,0,0,12,0,0,0,27,0,0,0,11,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,30,0,0,0,19,0,0,0,0,0,0,0,48,1,0,0,28,0,0,0,29,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,192,1,0,0,28,0,0,0,30,0,0,0,37,0,0,0,32,0,0,0,38,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,176,1,0,0,28,0,0,0,31,0,0,0,39,0,0,0,32,0,0,0,40,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,144,1,0,0,32,0,0,0,33,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,43,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,128,1,0,0,28,0,0,0,34,0,0,0,44,0,0,0,32,0,0,0,45,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,112,1,0,0,28,0,0,0,35,0,0,0,46,0,0,0,32,0,0,0,47,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,80,1,0,0,36,0,0,0,37,0,0,0,48,0,0,0,32,0,0,0,49,0,0,0,50,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,38,0,0,0,39,0,0,0,1,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,40,0,0,0,2,0,0,0,3,0,0,0,35,0,0,0,51,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,41,0,0,0,42,0,0,0,36,0,0,0,52,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,43,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,53,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,44,0,0,0,1,0,0,0,1,0,0,0,38,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,45,0,0,0,54,0,0,0,3,0,0,0,39,0,0,0,55,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,56,0,0,0,40,0,0,0,41,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,46,0,0,0,47,0,0,0,54,0,0,0,58,0,0,0,42,0,0,0,55,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,48,0,0,0,49,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,120,2,0,0,50,0,0,0,51,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,52,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,96,2,0,0,55,0,0,0,56,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,88,2,0,0,57,0,0,0,58,0,0,0,59,0,0,0,0,0,0,192,0,0,0,0,144,2,0,0,60,0,0,0,61,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,208,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,0,0,0,0,168,2,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,16,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,208,2,0,0,62,0,0,0,66,0,0,0,64,0,0,0,65,0,0,0,16,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,224,2,0,0,67,0,0,0,68,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,46,47,99,111,114,101,47,97,110,115,46,104,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,49,93,41,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,50,83,101,113,117,101,110,116,105,97,108,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,73,110,116,101,114,110,97,108,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,62,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,41,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,83,116,57,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___gxx_personality_v0(){}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"___cxa_throw":___cxa_throw,"_abort":_abort,"___setErrNo":___setErrNo,"___syscall6":___syscall6,"___syscall146":___syscall146,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___gxx_personality_v0":___gxx_personality_v0,"___syscall140":___syscall140,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___assert_fail":___assert_fail,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT};// EMSCRIPTEN_START_ASM +var asm=(function(global,env,buffer) { +"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.DYNAMICTOP_PTR|0;var u=env.tempDoublePtr|0;var v=env.ABORT|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,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.max;var ba=global.Math.clz32;var ca=env.abort;var da=env.assert;var ea=env.enlargeMemory;var fa=env.getTotalMemory;var ga=env.abortOnCannotGrowMemory;var ha=env.invoke_iiii;var ia=env.invoke_viiiii;var ja=env.invoke_vi;var ka=env.invoke_iiiiiii;var la=env.invoke_ii;var ma=env.invoke_viii;var na=env.invoke_v;var oa=env.invoke_viiiiii;var pa=env.invoke_iii;var qa=env.invoke_viiii;var ra=env.___cxa_throw;var sa=env._abort;var ta=env.___setErrNo;var ua=env.___syscall6;var va=env.___syscall146;var wa=env._emscripten_memcpy_big;var xa=env.___gxx_personality_v0;var ya=env.___syscall140;var za=env.___resumeException;var Aa=env.___cxa_find_matching_catch;var Ba=env.___assert_fail;var Ca=env.___cxa_pure_virtual;var Da=env.___cxa_allocate_exception;var Ea=env.__ZSt18uncaught_exceptionv;var Fa=0;function Ga(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function gb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[2873]|0;if(c>>>0>>0)sa();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)sa();d=a&-8;n=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)sa();if((j|0)==(k[2874]|0)){a=n+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;e=i;break}k[2871]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=11516+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)sa();if((k[b+12>>2]|0)!=(j|0))sa()}if((c|0)==(b|0)){k[2869]=k[2869]&~(1<>>0>>0)sa();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else sa()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;q=j;e=i;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)sa();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)sa();a=d+12|0;if((k[a>>2]|0)!=(j|0))sa();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else sa()}while(0);if(f){a=k[j+28>>2]|0;b=11780+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[2870]=k[2870]&~(1<>>0<(k[2873]|0)>>>0)sa();a=f+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[f+20>>2]=h;if(!h){q=j;e=i;break}}c=k[2873]|0;if(h>>>0>>0)sa();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[2873]|0)>>>0)sa();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;e=i;break}else{q=j;e=i}}else{q=j;e=i}}else{q=c;e=d}while(0);if(q>>>0>=n>>>0)sa();a=n+4|0;b=k[a>>2]|0;if(!(b&1))sa();if(!(b&2)){if((n|0)==(k[2875]|0)){p=(k[2872]|0)+e|0;k[2872]=p;k[2875]=q;k[q+4>>2]=p|1;if((q|0)!=(k[2874]|0))return;k[2874]=0;k[2871]=0;return}if((n|0)==(k[2874]|0)){p=(k[2871]|0)+e|0;k[2871]=p;k[2874]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}e=(b&-8)+e|0;d=b>>>3;do if(b>>>0>=256){f=k[n+24>>2]|0;a=k[n+12>>2]|0;do if((a|0)==(n|0)){c=n+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){m=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[2873]|0)>>>0)sa();else{k[b>>2]=0;m=a;break}}else{b=k[n+8>>2]|0;if(b>>>0<(k[2873]|0)>>>0)sa();c=b+12|0;if((k[c>>2]|0)!=(n|0))sa();d=a+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=a;k[d>>2]=b;m=a;break}else sa()}while(0);if(f|0){a=k[n+28>>2]|0;b=11780+(a<<2)|0;if((n|0)==(k[b>>2]|0)){k[b>>2]=m;if(!m){k[2870]=k[2870]&~(1<>>0<(k[2873]|0)>>>0)sa();a=f+16|0;if((k[a>>2]|0)==(n|0))k[a>>2]=m;else k[f+20>>2]=m;if(!m)break}c=k[2873]|0;if(m>>>0>>0)sa();k[m+24>>2]=f;a=n+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[2873]|0)>>>0)sa();else{k[m+20>>2]=a;k[a+24>>2]=m;break}}}else{b=k[n+8>>2]|0;c=k[n+12>>2]|0;a=11516+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[2873]|0)>>>0)sa();if((k[b+12>>2]|0)!=(n|0))sa()}if((c|0)==(b|0)){k[2869]=k[2869]&~(1<>>0<(k[2873]|0)>>>0)sa();a=c+8|0;if((k[a>>2]|0)==(n|0))l=a;else sa()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=e|1;k[q+e>>2]=e;if((q|0)==(k[2874]|0)){k[2871]=e;return}}else{k[a>>2]=b&-2;k[q+4>>2]=e|1;k[q+e>>2]=e}a=e>>>3;if(e>>>0<256){c=11516+(a<<1<<2)|0;b=k[2869]|0;a=1<>2]|0;if(b>>>0<(k[2873]|0)>>>0)sa();else{o=b;p=a}}else{k[2869]=b|a;o=c;p=c+8|0}k[p>>2]=q;k[o+12>>2]=q;k[q+8>>2]=o;k[q+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;a=14-(n|o|a)+(p<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=11780+(a<<2)|0;k[q+28>>2]=a;k[q+20>>2]=0;k[q+16>>2]=0;b=k[2870]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=130;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=127;break}else{b=b<<1;d=a}}if((a|0)==127)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((a|0)==130){a=d+8|0;b=k[a>>2]|0;p=k[2873]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=d;k[q+24>>2]=0;break}else sa()}}else{k[2870]=b|c;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[2877]|0)+-1|0;k[2877]=q;if(!q)a=11932;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[2877]=-1;return}function hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,p=0.0,q=0.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,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0;W=r;r=r+48|0;S=W+24|0;T=W+12|0;U=W;V=a+72|0;k[V>>2]=e;R=a+64|0;k[R>>2]=f;Q=a+68|0;g=e>>>0>1073741823?-1:e<<2;g=(g|0)==0?1:g;while(1){f=Xa(g)|0;if(f|0)break;f=k[2993]|0;k[2993]=f+0;if(!f){f=0;break}Na[f&1]()}g=k[Q>>2]|0;k[Q>>2]=f;if(g|0)gb(g);P=a+8|0;k[P>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;N=1-g+f|0;k[a+20>>2]=N;f=(N|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(N&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(s=h+(e<<2)|0,(j|0)!=(s|0)):0)k[g>>2]=j+(~((j+-4-s|0)>>>2)<<2)}while(0);v=a+56|0;h=k[v>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;f=g-h|0;if((f|0)<=0){r=W;return 1}w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=a+48|0;D=a+52|0;u=a+60|0;E=U+4|0;F=T+4|0;G=U+8|0;H=T+8|0;I=S+4|0;J=S+8|0;K=a+76|0;L=a+80|0;N=a+84|0;t=a+68|0;f=(f>>2)+-1|0;a:while(1){if(g-h>>2>>>0<=f>>>0){f=25;break}h=k[h+(f<<2)>>2]|0;g=h+1|0;if((h|0)>=0){g=((g|0)%3|0|0)==0?h+-2|0:g;h=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0)g=-1073741824;else g=k[(k[k[C>>2]>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;if((h|0)<0)i=-1073741824;else i=k[(k[k[C>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0}else{g=-1073741824;i=-1073741824}j=k[D>>2]|0;h=k[j>>2]|0;j=(k[j+4>>2]|0)-h>>2;if(j>>>0<=g>>>0){f=33;break}l=k[h+(g<<2)>>2]|0;if(j>>>0<=i>>>0){f=35;break}h=k[h+(i<<2)>>2]|0;g=(l|0)<(f|0);b:do if(!(g&(h|0)<(f|0))){do if(g){g=k[V>>2]|0;i=_(g,l)|0}else{if((f|0)>0){g=k[V>>2]|0;i=_(g,f+-1|0)|0;break}if((k[V>>2]|0)<=0)break b;h=k[t>>2]|0;g=0;while(1){k[h+(g<<2)>>2]=0;g=g+1|0;if((g|0)>=(k[V>>2]|0))break b}}while(0);if((g|0)>0){h=k[t>>2]|0;g=0;do{k[h+(g<<2)>>2]=k[b+(g+i<<2)>>2];g=g+1|0}while((g|0)<(k[V>>2]|0))}}else{a=k[V>>2]|0;s=_(a,l)|0;m=+(k[b+(s<<2)>>2]|0);n=+(k[b+(s+1<<2)>>2]|0);a=_(a,h)|0;p=+(k[b+(a<<2)>>2]|0);q=+(k[b+(a+1<<2)>>2]|0);if(!(p!=m|q!=n)){a=k[t>>2]|0;k[a>>2]=~~p;k[a+4>>2]=~~q;break}Sd(S,k[u>>2]|0,k[R>>2]|0,f);Sd(T,k[u>>2]|0,k[R>>2]|0,l);Sd(U,k[u>>2]|0,k[R>>2]|0,h);da=+o[T>>2];$=+o[U>>2]-da;ca=+o[F>>2];Z=+o[E>>2]-ca;ba=+o[H>>2];aa=+o[G>>2]-ba;da=+o[S>>2]-da;ca=+o[I>>2]-ca;ba=+o[J>>2]-ba;Y=$*$+0.0+Z*Z+aa*aa;X=($*da+0.0+Z*ca+aa*ba)/Y;$=da-$*X;Z=ca-Z*X;aa=ba-aa*X;Y=+O(+((aa*aa+(Z*Z+($*$+0.0)))/Y));$=p-m;Z=q-n;p=m+$*X;q=$*Y;X=n+Z*X;Y=Z*Y;n=p-Y;m=q+X;p=Y+p;q=X-q;g=_(k[V>>2]|0,f)|0;X=+(k[b+(g<<2)>>2]|0);Y=+(k[b+(g+1<<2)>>2]|0);Z=X-n;$=Y-m;X=X-p;Y=Y-q;g=k[L>>2]|0;h=k[N>>2]|0;i=(g|0)==(h<<5|0);if($*$+(Z*Z+0.0)>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(g&31)}else{if(i){if((g+1|0)<0){f=46;break a}a=h<<6;s=g+32&-32;Td(K,g>>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]&~(1<<(g&31));n=p;m=q}s=~~+M(+(n+.5));a=k[t>>2]|0;k[a>>2]=s;s=~~+M(+(m+.5));k[a+4>>2]=s}while(0);a=_(f,e)|0;s=b+(a<<2)|0;d=k[Q>>2]|0;if((k[P>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[w>>2]|0;do if((j|0)<=(g|0)){g=k[y>>2]|0;h=k[x>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[x>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[P>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+a<<2)>>2]=(k[s+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[P>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+a<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[z>>2]|0)){if((i|0)>(k[B>>2]|0))k[h>>2]=i-(k[A>>2]|0)}else k[h>>2]=(k[A>>2]|0)+i;g=g+1|0}while((g|0)<(k[P>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=23;break}g=k[v>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((f|0)==23){r=W;return 1}else if((f|0)==25)Ba(11196,11078,315,11219);else if((f|0)==33)Ba(11196,11078,315,11219);else if((f|0)==35)Ba(11196,11078,315,11219);else if((f|0)==41)Ba(11055,11078,304,11175);else if((f|0)==46)Ba(11055,11078,304,11175);return 0}function ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+208|0;t=y+168|0;v=y+32|0;u=y;p=y+136|0;q=y+104|0;w=a+4|0;l=k[w>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){x=0;r=y;return x|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=Yf(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){x=0;r=y;return x|0}e=i[c+d>>0]|0;o=Yf(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{x=0;r=y;return x|0}}while(0);s=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}while(1){d=Xa(88)|0;if(d|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){d=0;break}Na[c&1]()}k[d+4>>2]=0;k[d>>2]=4512;h=d+12|0;k[h>>2]=4536;j=d+64|0;k[j>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;f=d+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[d+76>>2]=s;k[d+80>>2]=g;k[d+84>>2]=0;n=v+4|0;k[n>>2]=4536;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4536;c=u+4|0;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=e;k[c>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;nd(u+8|0,f,t);Ja[k[(k[u>>2]|0)+8>>2]&127](u);cd(p,u);cd(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Jc(f,t);k[t>>2]=4536;c=k[t+20>>2]|0;if(c|0)gb(c);c=k[t+8>>2]|0;if(c|0)gb(c);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=d;k[p>>2]=4536;c=k[p+20>>2]|0;if(c|0)gb(c);c=k[p+8>>2]|0;if(c|0)gb(c);k[d+8>>2]=k[v>>2];Jc(h,f);c=d+44|0;t=v+36|0;k[c>>2]=k[t>>2];k[c+4>>2]=k[t+4>>2];k[c+8>>2]=k[t+8>>2];k[c+12>>2]=k[t+12>>2];i[c+16>>0]=i[t+16>>0]|0;Hc(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4536;c=k[u+20>>2]|0;if(c|0)gb(c);c=k[u+8>>2]|0;if(c|0)gb(c);c=k[l>>2]|0;e=c;if(c|0){f=k[o>>2]|0;if((f|0)!=(c|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);gb(c)}k[n>>2]=4536;c=k[v+24>>2]|0;if(c|0)gb(c);c=k[v+12>>2]|0;if(c|0)gb(c)}else{if(c){x=0;r=y;return x|0}while(1){d=Xa(88)|0;if(d|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){d=0;break}Na[c&1]()}e=m<<24>>24;c=k[a+228>>2]|0;g=c+(e*116|0)+76|0;k[d+4>>2]=0;k[d>>2]=4556;h=d+12|0;k[h>>2]=4580;j=d+64|0;k[j>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;f=d+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[d+76>>2]=s;k[d+80>>2]=g;k[d+84>>2]=0;n=v+4|0;k[n>>2]=4580;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=c+(e*116|0)+4|0;k[u>>2]=4580;p=u+4|0;a=p+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[p>>2]=f;e=k[c+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;nd(u+8|0,e,t);Ja[k[(k[u>>2]|0)+8>>2]&127](u);$c(q,u);$c(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Jc(e,t);k[t>>2]=4580;c=k[t+20>>2]|0;if(c|0)gb(c);c=k[t+8>>2]|0;if(c|0)gb(c);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=d;k[q>>2]=4580;c=k[q+20>>2]|0;if(c|0)gb(c);c=k[q+8>>2]|0;if(c|0)gb(c);k[d+8>>2]=k[v>>2];Jc(h,e);c=d+44|0;t=v+36|0;k[c>>2]=k[t>>2];k[c+4>>2]=k[t+4>>2];k[c+8>>2]=k[t+8>>2];k[c+12>>2]=k[t+12>>2];i[c+16>>0]=i[t+16>>0]|0;Hc(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4580;c=k[u+20>>2]|0;if(c|0)gb(c);c=k[u+8>>2]|0;if(c|0)gb(c);c=k[l>>2]|0;e=c;if(c|0){f=k[o>>2]|0;if((f|0)!=(c|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);gb(c)}k[n>>2]=4580;c=k[v+24>>2]|0;if(c|0)gb(c);c=k[v+12>>2]|0;if(c|0)gb(c)}while(1){c=Xa(52)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[j+16>>2]=0;k[c>>2]=4172;j=c+24|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[j+16>>2]=0;k[j+20>>2]=0;k[c+48>>2]=d;j=c;h=k[w>>2]|0;c=k[h+12>>2]|0;d=k[h+8>>2]|0;g=h+8|0;h=h+12|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Xc(g,f-e|0);break}if(f>>>0>>0?(x=d+(f<<2)|0,(c|0)!=(x|0)):0)do{w=c+-4|0;k[h>>2]=w;c=k[w>>2]|0;k[w>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(x|0))}while(0);x=(k[g>>2]|0)+(b<<2)|0;c=k[x>>2]|0;k[x>>2]=j;if(!c){x=1;r=y;return x|0}Ja[k[(k[c>>2]|0)+4>>2]&127](c);x=1;r=y;return x|0}function jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;E=1-g+f|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);C=k[a+48>>2]|0;D=k[a+52>>2]|0;h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){E=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){E=0;break}Na[f&1]()}Ke(E|0,0,h|0)|0;s=a+56|0;g=k[s>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){t=(e|0)>0;u=a+16|0;v=a+32|0;w=a+12|0;x=a+28|0;y=a+20|0;z=a+24|0;A=C+12|0;B=e<<2;q=f>>2;f=h;while(1){r=q+-1|0;if(f-g>>2>>>0<=r>>>0)break;p=k[g+(r<<2)>>2]|0;if(t)Ke(E|0,0,B|0)|0;if((p|0)>-1){o=k[A>>2]|0;m=0;n=p;while(1){g=k[o+(n<<2)>>2]|0;if((g|0)>-1){i=k[C>>2]|0;h=(g>>>0)%3|0;l=k[D>>2]|0;d=k[l+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[l+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((d|0)<(r|0)&(j|0)<(r|0)&(f|0)<(r|0)){i=_(d,e)|0;h=_(j,e)|0;g=_(f,e)|0;if(t){f=0;do{d=E+(f<<2)|0;k[d>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0)+(k[d>>2]|0);f=f+1|0}while((f|0)!=(e|0))}g=m+1|0}else g=m}else g=m;f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f;if((n|0)<=-1)break;else m=g}d=_(r,e)|0;if(g){if(t){f=0;do{p=E+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[u>>2]|0;do if((i|0)<=(f|0)){f=k[w>>2]|0;g=k[v>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[v>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[x>>2]|0)){if((h|0)>(k[z>>2]|0))k[g>>2]=h-(k[y>>2]|0)}else k[g>>2]=(k[y>>2]|0)+h;f=f+1|0}while((f|0)<(k[K>>2]|0))}}}}else{G=d;I=48}}else{G=_(r,e)|0;I=48}if((I|0)==48?(I=0,F=b+(G<<2)|0,H=b+((_(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[u>>2]|0;do if((i|0)<=(f|0)){f=k[w>>2]|0;g=k[v>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[v>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+G<<2)>>2]=(k[F+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+G<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[x>>2]|0)){if((h|0)>(k[z>>2]|0))k[g>>2]=h-(k[y>>2]|0)}else k[g>>2]=(k[y>>2]|0)+h;f=f+1|0}while((f|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=E;break a}f=k[s>>2]|0;q=r;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else J=E;while(0);if((e|0)>0)Ke(E|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){gb(E);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[J+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(E);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(E);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[K>>2]|0));gb(E);return 1}function kb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,p=0.0,q=0.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,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0;W=r;r=r+48|0;S=W+24|0;T=W+12|0;U=W;V=a+72|0;k[V>>2]=e;R=a+64|0;k[R>>2]=f;Q=a+68|0;g=e>>>0>1073741823?-1:e<<2;g=(g|0)==0?1:g;while(1){f=Xa(g)|0;if(f|0)break;f=k[2993]|0;k[2993]=f+0;if(!f){f=0;break}Na[f&1]()}g=k[Q>>2]|0;k[Q>>2]=f;if(g|0)gb(g);P=a+8|0;k[P>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;N=1-g+f|0;k[a+20>>2]=N;f=(N|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(N&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(s=h+(e<<2)|0,(j|0)!=(s|0)):0)k[g>>2]=j+(~((j+-4-s|0)>>>2)<<2)}while(0);v=a+56|0;h=k[v>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;f=g-h|0;if((f|0)<=0){r=W;return 1}w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=a+48|0;D=a+52|0;u=a+60|0;E=U+4|0;F=T+4|0;G=U+8|0;H=T+8|0;I=S+4|0;J=S+8|0;K=a+76|0;L=a+80|0;N=a+84|0;t=a+68|0;f=(f>>2)+-1|0;a:while(1){if(g-h>>2>>>0<=f>>>0){f=25;break}h=k[h+(f<<2)>>2]|0;g=h+1|0;do if((h|0)>=0){g=((g|0)%3|0|0)==0?h+-2|0:g;if(!((h>>>0)%3|0)){i=h+2|0;break}else{i=h+-1|0;break}}else{i=h;g=h}while(0);j=k[(k[C>>2]|0)+28>>2]|0;h=k[j+(g<<2)>>2]|0;i=k[j+(i<<2)>>2]|0;j=k[D>>2]|0;g=k[j>>2]|0;j=(k[j+4>>2]|0)-g>>2;if(j>>>0<=h>>>0){f=32;break}l=k[g+(h<<2)>>2]|0;if(j>>>0<=i>>>0){f=34;break}h=k[g+(i<<2)>>2]|0;g=(l|0)<(f|0);b:do if(!(g&(h|0)<(f|0))){do if(g){g=k[V>>2]|0;i=_(g,l)|0}else{if((f|0)>0){g=k[V>>2]|0;i=_(g,f+-1|0)|0;break}if((k[V>>2]|0)<=0)break b;h=k[t>>2]|0;g=0;while(1){k[h+(g<<2)>>2]=0;g=g+1|0;if((g|0)>=(k[V>>2]|0))break b}}while(0);if((g|0)>0){h=k[t>>2]|0;g=0;do{k[h+(g<<2)>>2]=k[b+(g+i<<2)>>2];g=g+1|0}while((g|0)<(k[V>>2]|0))}}else{a=k[V>>2]|0;s=_(a,l)|0;m=+(k[b+(s<<2)>>2]|0);n=+(k[b+(s+1<<2)>>2]|0);a=_(a,h)|0;p=+(k[b+(a<<2)>>2]|0);q=+(k[b+(a+1<<2)>>2]|0);if(!(p!=m|q!=n)){a=k[t>>2]|0;k[a>>2]=~~p;k[a+4>>2]=~~q;break}Sd(S,k[u>>2]|0,k[R>>2]|0,f);Sd(T,k[u>>2]|0,k[R>>2]|0,l);Sd(U,k[u>>2]|0,k[R>>2]|0,h);da=+o[T>>2];$=+o[U>>2]-da;ca=+o[F>>2];Z=+o[E>>2]-ca;ba=+o[H>>2];aa=+o[G>>2]-ba;da=+o[S>>2]-da;ca=+o[I>>2]-ca;ba=+o[J>>2]-ba;Y=$*$+0.0+Z*Z+aa*aa;X=($*da+0.0+Z*ca+aa*ba)/Y;$=da-$*X;Z=ca-Z*X;aa=ba-aa*X;Y=+O(+((aa*aa+(Z*Z+($*$+0.0)))/Y));$=p-m;Z=q-n;p=m+$*X;q=$*Y;X=n+Z*X;Y=Z*Y;n=p-Y;m=q+X;p=Y+p;q=X-q;g=_(k[V>>2]|0,f)|0;X=+(k[b+(g<<2)>>2]|0);Y=+(k[b+(g+1<<2)>>2]|0);Z=X-n;$=Y-m;X=X-p;Y=Y-q;g=k[L>>2]|0;h=k[N>>2]|0;i=(g|0)==(h<<5|0);if($*$+(Z*Z+0.0)>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(g&31)}else{if(i){if((g+1|0)<0){f=45;break a}a=h<<6;s=g+32&-32;Td(K,g>>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]&~(1<<(g&31));n=p;m=q}s=~~+M(+(n+.5));a=k[t>>2]|0;k[a>>2]=s;s=~~+M(+(m+.5));k[a+4>>2]=s}while(0);a=_(f,e)|0;s=b+(a<<2)|0;d=k[Q>>2]|0;if((k[P>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[w>>2]|0;do if((j|0)<=(g|0)){g=k[y>>2]|0;h=k[x>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[x>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[P>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+a<<2)>>2]=(k[s+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[P>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+a<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[z>>2]|0)){if((i|0)>(k[B>>2]|0))k[h>>2]=i-(k[A>>2]|0)}else k[h>>2]=(k[A>>2]|0)+i;g=g+1|0}while((g|0)<(k[P>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=23;break}g=k[v>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((f|0)==23){r=W;return 1}else if((f|0)==25)Ba(11196,11078,315,11219);else if((f|0)==32)Ba(11196,11078,315,11219);else if((f|0)==34)Ba(11196,11078,315,11219);else if((f|0)==40)Ba(11055,11078,304,11175);else if((f|0)==45)Ba(11055,11078,304,11175);return 0}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;f=k[o>>2]|0;switch(k[f+28>>2]|0){case 2:{e=i[f+24>>0]|0;l=e<<24>>24;d=(l|0)>-1?l:-1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){h=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){h=0;break}Na[c&1]()}a:do if(b|0){g=a+16|0;if(e<<24>>24>0){d=0;e=0}else{xe(k[k[f+64>>2]>>2]|0,h|0,l|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+l|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break a}}while(1){f=k[g>>2]|0;c=0;a=e;while(1){i[h+c>>0]=k[f+(a<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else a=a+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+l|0}}while(0);gb(h);o=1;return o|0}case 1:{e=i[f+24>>0]|0;l=e<<24>>24;d=(l|0)>-1?l:-1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){h=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){h=0;break}Na[c&1]()}b:do if(b|0){g=a+16|0;if(e<<24>>24>0){d=0;e=0}else{xe(k[k[f+64>>2]>>2]|0,h|0,l|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+l|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break b}}while(1){f=k[g>>2]|0;c=0;a=e;while(1){i[h+c>>0]=k[f+(a<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else a=a+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+l|0}}while(0);gb(h);o=1;return o|0}case 4:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<1;d=m>>>0>2147483647?-1:m<<1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}c:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break c}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){j[l+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}case 3:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<1;d=m>>>0>2147483647?-1:m<<1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}d:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break d}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){j[l+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}case 6:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<2;d=m>>>0>1073741823?-1:m<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}e:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break e}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){k[l+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}case 5:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<2;d=m>>>0>1073741823?-1:m<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}f:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break f}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){k[l+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}default:{o=0;return o|0}}return 0}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;A=a+8|0;k[A>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);h=e}else h=e;else{Ld(h,e-d|0);h=k[A>>2]|0}g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[A>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[A>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[A>>2]|0))}}}s=k[a+48>>2]|0;t=a+56|0;h=k[t>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;z=g-h|0;u=z>>2;if((z|0)<=4){gb(d);return 1}v=k[a+52>>2]|0;w=(e|0)>0;x=a+16|0;y=a+32|0;z=a+12|0;o=a+20|0;p=s+64|0;q=s+28|0;r=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){I=31;break}a=k[h+(f<<2)>>2]|0;if(w)Ke(d|0,0,r|0)|0;if((a|0)>-1){n=k[s>>2]|0;g=0;m=a;while(1){do if(((k[n+(m>>>5<<2)>>2]&1<<(m&31)|0)==0?(B=k[(k[(k[p>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(B|0)>-1):0)?(E=k[q>>2]|0,l=k[v>>2]|0,C=k[l+(k[E+(B<<2)>>2]<<2)>>2]|0,D=B+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?B+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(C|0)<(f|0)&(D|0)<(f|0)&(E|0)<(f|0)):0){i=_(C,e)|0;j=_(D,e)|0;l=_(E,e)|0;if(w)h=0;else{g=g+1|0;I=44;break}do{J=d+(h<<2)|0;k[J>>2]=(k[c+(h+l<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+i<<2)>>2]|0)+(k[J>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0;if((m|0)<0){h=g;g=m}else I=44}else I=44;while(0);do if((I|0)==44){I=0;if(!((m>>>0)%3|0)){h=g;g=m+2|0;break}else{h=g;g=m+-1|0;break}}while(0);do if(!(1<<(g&31)&k[n+(g>>>5<<2)>>2])){if((g|0)>=0){g=k[(k[(k[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824;while(0);m=(g|0)==(a|0)?-1073741824:g;if((m|0)<=-1)break;else g=h}m=_(f,e)|0;if(h){if(w){g=0;do{J=d+(g<<2)|0;k[J>>2]=(k[J>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}n=c+(m<<2)|0;if((k[A>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[x>>2]|0;do if((j|0)<=(g|0)){g=k[z>>2]|0;h=k[y>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[y>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[A>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[n+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[A>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=n+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[x>>2]|0)){if((i|0)<(k[z>>2]|0))k[h>>2]=(k[o>>2]|0)+i}else k[h>>2]=i-(k[o>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}}else{H=m;I=56}}else{H=_(f,e)|0;I=56}if((I|0)==56?(I=0,F=c+((_(f+-1|0,e)|0)<<2)|0,G=c+(H<<2)|0,(k[A>>2]|0)>0):0){l=0;do{j=k[F+(l<<2)>>2]|0;g=k[x>>2]|0;do if((j|0)<=(g|0)){g=k[z>>2]|0;h=k[y>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[y>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[A>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[G+(g<<2)>>2]=(k[b+(g+H<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[A>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=G+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[x>>2]|0)){if((i|0)<(k[z>>2]|0))k[h>>2]=(k[o>>2]|0)+i}else k[h>>2]=i-(k[o>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}f=f+1|0;if((f|0)>=(u|0)){I=29;break}g=k[t>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((I|0)==29){gb(d);return 1}else if((I|0)==31)Ba(11196,11078,315,11219);return 0}function nb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;A=1-g+f|0;k[a+20>>2]=A;f=(A|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(A&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){A=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){A=0;break}Na[f&1]()}Ke(A|0,0,h|0)|0;y=k[a+48>>2]|0;f=k[a+56>>2]|0;z=k[f>>2]|0;f=(k[f+4>>2]|0)-z|0;a:do if((f|0)>4){o=f>>2;p=k[a+52>>2]|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;w=y+12|0;x=(e|0)>0;n=o;while(1){m=n;n=n+-1|0;if(o>>>0<=n>>>0)break;f=k[z+(n<<2)>>2]|0;if((f|0)>=0?(B=k[(k[w>>2]|0)+(f<<2)>>2]|0,(B|0)>-1):0){h=k[y>>2]|0;g=(B>>>0)%3|0;i=k[p>>2]|0;l=k[i+(k[h+(((B>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=B+1|0;f=((f|0)%3|0|0)==0?B+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+B|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=_(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=_(l,e)|0;h=_(j,e)|0;g=_(f,e)|0;if(x){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[H>>2]|0))}}}}else{D=d;F=34}}else{D=_(n,e)|0;F=34}if((F|0)==34?(F=0,C=b+(D<<2)|0,E=b+((_(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+D<<2)>>2]=(k[C+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+D<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=A;break a}}Ba(11196,11078,315,11219)}else G=A;while(0);if((e|0)>0)Ke(A|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){gb(A);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[G+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(A);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(A);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[H>>2]|0));gb(A);return 1}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n;if((c|0)!=1){m=0;r=n;return m|0}e=k[a+12>>2]|0;f=k[a+4>>2]|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;d=f+4|0;a=k[d>>2]|0;if((e|0)<=-1)Ba(9441,9457,54,9485);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);j=k[c+(e<<2)>>2]|0;a:do if((La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1){h=k[d>>2]|0;c=k[h+4>>2]|0;if(((k[h+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);h=k[c+(e<<2)>>2]|0;if((b+-1|0)>>>0<3&(La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1?(g=La[k[(k[f>>2]|0)+36>>2]&127](f)|0,i=Pa[k[(k[f>>2]|0)+44>>2]&63](f,e)|0,!((g|0)==0|(i|0)==0)):0){a=Pa[k[(k[f>>2]|0)+40>>2]&63](f,e)|0;d=k[f+24>>2]|0;e=i+12|0;if(!a){switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=g;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3228;break}case 2:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=g;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3292;break}case 3:{while(1){c=Xa(88)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=g;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3356;i=c+60|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;k[i+12>>2]=0;k[i+16>>2]=0;k[i+20>>2]=0;k[i+24>>2]=0;break}default:{l=42;break a}}if(!c){l=41;break}}else{switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=a;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3420;break}case 2:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=a;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3484;break}case 3:{while(1){c=Xa(88)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=a;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3548;i=c+60|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;k[i+12>>2]=0;k[i+16>>2]=0;k[i+20>>2]=0;k[i+24>>2]=0;break}default:{l=42;break a}}if(!c){l=41;break}}}else l=41}else l=41;while(0);if((l|0)==41)if((b|0)==-2)c=0;else l=42;if((l|0)==42){while(1){c=Xa(44)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]();l=42}k[c>>2]=3100;k[c+4>>2]=j;k[c+8>>2]=0;l=c+12|0;k[l>>2]=k[m>>2];k[l+4>>2]=k[m+4>>2];k[l+8>>2]=k[m+8>>2];k[l+12>>2]=k[m+12>>2];k[l+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c>>2]=3164}m=c;r=n;return m|0}function pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;C=a+8|0;k[C>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);h=e}else h=e;else{Ld(h,e-d|0);h=k[C>>2]|0}g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[C>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[C>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[C>>2]|0))}}}u=k[a+48>>2]|0;v=a+56|0;h=k[v>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;B=g-h|0;w=B>>2;if((B|0)<=4){gb(d);return 1}x=k[a+52>>2]|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;r=a+20|0;s=u+12|0;t=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){G=31;break}q=k[h+(f<<2)>>2]|0;if(y)Ke(d|0,0,t|0)|0;if((q|0)>-1){p=k[s>>2]|0;a=0;o=q;while(1){h=k[p+(o<<2)>>2]|0;if((h|0)>-1){j=k[u>>2]|0;i=(h>>>0)%3|0;l=k[x>>2]|0;n=k[l+(k[j+(((h>>>0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;m=k[l+(g<<2)>>2]|0;g=((i|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;g=k[l+(g<<2)>>2]|0;if((n|0)<(f|0)&(m|0)<(f|0)&(g|0)<(f|0)){j=_(n,e)|0;i=_(m,e)|0;h=_(g,e)|0;if(y){g=0;do{n=d+(g<<2)|0;k[n>>2]=(k[c+(g+h<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+j<<2)>>2]|0)+(k[n>>2]|0);g=g+1|0}while((g|0)!=(e|0))}h=a+1|0}else h=a}else h=a;g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;do if((g|0)>=0){g=k[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);o=(g|0)==(q|0)?-1073741824:g;if((o|0)<=-1)break;else a=h}m=_(f,e)|0;if(h){if(y){g=0;do{q=d+(g<<2)|0;k[q>>2]=(k[q>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}n=c+(m<<2)|0;if((k[C>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[z>>2]|0;do if((j|0)<=(g|0)){g=k[B>>2]|0;h=k[A>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[A>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[C>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[n+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[C>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=n+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[z>>2]|0)){if((i|0)<(k[B>>2]|0))k[h>>2]=(k[r>>2]|0)+i}else k[h>>2]=i-(k[r>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}}else{F=m;G=54}}else{F=_(f,e)|0;G=54}if((G|0)==54?(G=0,D=c+((_(f+-1|0,e)|0)<<2)|0,E=c+(F<<2)|0,(k[C>>2]|0)>0):0){l=0;do{j=k[D+(l<<2)>>2]|0;g=k[z>>2]|0;do if((j|0)<=(g|0)){g=k[B>>2]|0;h=k[A>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[A>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[C>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+F<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[C>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=E+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[z>>2]|0)){if((i|0)<(k[B>>2]|0))k[h>>2]=(k[r>>2]|0)+i}else k[h>>2]=i-(k[r>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}f=f+1|0;if((f|0)>=(w|0)){G=29;break}g=k[v>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((G|0)==29){gb(d);return 1}else if((G|0)==31)Ba(11196,11078,315,11219);return 0}function qb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=a+8|0;k[I>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;B=1-g+f|0;k[a+20>>2]=B;f=(B|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(B&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){B=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){B=0;break}Na[f&1]()}Ke(B|0,0,h|0)|0;z=k[a+48>>2]|0;f=k[a+56>>2]|0;A=k[f>>2]|0;f=(k[f+4>>2]|0)-A|0;a:do if((f|0)>4){o=f>>2;p=k[a+52>>2]|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;w=z+64|0;x=z+28|0;y=(e|0)>0;n=o;while(1){m=n;n=n+-1|0;if(o>>>0<=n>>>0)break;f=k[A+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[z>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(C=k[(k[(k[w>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0){h=k[x>>2]|0;d=k[p>>2]|0;f=k[d+(k[h+(C<<2)>>2]<<2)>>2]|0;g=C+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?C+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0;d=_(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=_(f,e)|0;i=_(g,e)|0;g=_(h,e)|0;if(y){f=0;do{k[B+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+i<<2)>>2]|0)-(k[b+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[I>>2]|0)>0){j=0;do{i=k[B+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[I>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[I>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[I>>2]|0))}}}}else{E=d;G=30}}else{E=_(n,e)|0;G=30}if((G|0)==30?(G=0,D=b+(E<<2)|0,F=b+((_(m+-2|0,e)|0)<<2)|0,(k[I>>2]|0)>0):0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[I>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+E<<2)>>2]=(k[D+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[I>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+E<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[I>>2]|0))}}}if((n|0)<=1){H=B;break a}}Ba(11196,11078,315,11219)}else H=B;while(0);if((e|0)>0)Ke(B|0,0,e<<2|0)|0;if((k[I>>2]|0)<=0){gb(B);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[H+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[I>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(B);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[I>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(B);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[I>>2]|0));gb(B);return 1}function rb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,p=0.0,q=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,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0;U=r;r=r+48|0;Q=U+24|0;R=U+12|0;S=U;T=a+72|0;k[T>>2]=e;P=a+64|0;k[P>>2]=f;N=a+68|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[N>>2]|0;k[N>>2]=d;if(f|0)gb(f);L=a+8|0;k[L>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Ld(d,e-g|0);v=a+56|0;g=k[v>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;K=f-g|0;w=K>>2;if((K|0)<=0){r=U;return 1}x=a+16|0;y=a+32|0;z=a+12|0;A=a+20|0;B=a+48|0;C=a+52|0;u=a+60|0;D=S+4|0;E=R+4|0;F=S+8|0;G=R+8|0;H=Q+4|0;I=Q+8|0;J=a+80|0;K=a+76|0;t=a+68|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=16;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[B>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=k[(k[k[B>>2]>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0}else{i=-1073741824;f=-1073741824}h=k[C>>2]|0;g=k[h>>2]|0;h=(k[h+4>>2]|0)-g>>2;if(h>>>0<=f>>>0){d=24;break}j=k[g+(f<<2)>>2]|0;if(h>>>0<=i>>>0){d=26;break}g=k[g+(i<<2)>>2]|0;f=(j|0)<(d|0);a:do if(f&(g|0)<(d|0)){s=k[T>>2]|0;q=_(s,j)|0;l=+(k[c+(q<<2)>>2]|0);m=+(k[c+(q+1<<2)>>2]|0);s=_(s,g)|0;n=+(k[c+(s<<2)>>2]|0);p=+(k[c+(s+1<<2)>>2]|0);if(n!=l|p!=m){Sd(Q,k[u>>2]|0,k[P>>2]|0,d);Sd(R,k[u>>2]|0,k[P>>2]|0,j);Sd(S,k[u>>2]|0,k[P>>2]|0,g);ba=+o[R>>2];X=+o[S>>2]-ba;aa=+o[E>>2];Y=+o[D>>2]-aa;$=+o[G>>2];Z=+o[F>>2]-$;ba=+o[Q>>2]-ba;aa=+o[H>>2]-aa;$=+o[I>>2]-$;W=X*X+0.0+Y*Y+Z*Z;V=(X*ba+0.0+Y*aa+Z*$)/W;X=ba-X*V;Y=aa-Y*V;Z=$-Z*V;W=+O(+((Z*Z+(Y*Y+(X*X+0.0)))/W));X=n-l;n=p-m;p=X*W;W=n*W;a=(k[J>>2]|0)+-1|0;q=(1<<(a&31)&k[(k[K>>2]|0)+(a>>>5<<2)>>2]|0)==0;k[J>>2]=a;a=~~+M(+(l+X*V+(q?W:-W)+.5));s=k[t>>2]|0;k[s>>2]=a;q=~~+M(+(m+n*V+(q?-p:p)+.5));k[s+4>>2]=q;break}else{s=k[t>>2]|0;k[s>>2]=~~n;k[s+4>>2]=~~p;break}}else{do if(f){f=k[T>>2]|0;h=_(f,j)|0}else{if((d|0)>0){f=k[T>>2]|0;h=_(f,d+-1|0)|0;break}if((k[T>>2]|0)<=0)break a;g=k[t>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[T>>2]|0))break a}}while(0);if((f|0)>0){g=k[t>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+h<<2)>>2];f=f+1|0}while((f|0)<(k[T>>2]|0))}}while(0);q=_(d,e)|0;a=k[N>>2]|0;s=c+(q<<2)|0;if((k[L>>2]|0)>0){j=0;do{i=k[a+(j<<2)>>2]|0;f=k[x>>2]|0;do if((i|0)<=(f|0)){f=k[z>>2]|0;g=k[y>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[y>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[s+(f<<2)>>2]=(k[b+(f+q<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=s+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[x>>2]|0)){if((h|0)<(k[z>>2]|0))k[g>>2]=(k[A>>2]|0)+h}else k[g>>2]=h-(k[A>>2]|0);f=f+1|0}while((f|0)<(k[L>>2]|0))}}}d=d+1|0;if((d|0)>=(w|0)){d=14;break}f=k[v>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==14){r=U;return 1}else if((d|0)==16)Ba(11196,11078,315,11219);else if((d|0)==24)Ba(11196,11078,315,11219);else if((d|0)==26)Ba(11196,11078,315,11219);return 0}function sb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,p=0.0,q=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,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0;U=r;r=r+48|0;Q=U+24|0;R=U+12|0;S=U;T=a+72|0;k[T>>2]=e;P=a+64|0;k[P>>2]=f;N=a+68|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[N>>2]|0;k[N>>2]=d;if(f|0)gb(f);L=a+8|0;k[L>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Ld(d,e-g|0);v=a+56|0;g=k[v>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;K=f-g|0;w=K>>2;if((K|0)<=0){r=U;return 1}x=a+16|0;y=a+32|0;z=a+12|0;A=a+20|0;B=a+48|0;C=a+52|0;u=a+60|0;D=S+4|0;E=R+4|0;F=S+8|0;G=R+8|0;H=Q+4|0;I=Q+8|0;J=a+80|0;K=a+76|0;t=a+68|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=16;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;do if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;if(!((g>>>0)%3|0)){h=g+2|0;break}else{h=g+-1|0;break}}else{h=g;f=g}while(0);g=k[(k[B>>2]|0)+28>>2]|0;i=k[g+(f<<2)>>2]|0;g=k[g+(h<<2)>>2]|0;h=k[C>>2]|0;f=k[h>>2]|0;h=(k[h+4>>2]|0)-f>>2;if(h>>>0<=i>>>0){d=23;break}i=k[f+(i<<2)>>2]|0;if(h>>>0<=g>>>0){d=25;break}g=k[f+(g<<2)>>2]|0;f=(i|0)<(d|0);a:do if(f&(g|0)<(d|0)){s=k[T>>2]|0;q=_(s,i)|0;l=+(k[c+(q<<2)>>2]|0);m=+(k[c+(q+1<<2)>>2]|0);s=_(s,g)|0;n=+(k[c+(s<<2)>>2]|0);p=+(k[c+(s+1<<2)>>2]|0);if(n!=l|p!=m){Sd(Q,k[u>>2]|0,k[P>>2]|0,d);Sd(R,k[u>>2]|0,k[P>>2]|0,i);Sd(S,k[u>>2]|0,k[P>>2]|0,g);ba=+o[R>>2];X=+o[S>>2]-ba;aa=+o[E>>2];Y=+o[D>>2]-aa;$=+o[G>>2];Z=+o[F>>2]-$;ba=+o[Q>>2]-ba;aa=+o[H>>2]-aa;$=+o[I>>2]-$;W=X*X+0.0+Y*Y+Z*Z;V=(X*ba+0.0+Y*aa+Z*$)/W;X=ba-X*V;Y=aa-Y*V;Z=$-Z*V;W=+O(+((Z*Z+(Y*Y+(X*X+0.0)))/W));X=n-l;n=p-m;p=X*W;W=n*W;a=(k[J>>2]|0)+-1|0;q=(1<<(a&31)&k[(k[K>>2]|0)+(a>>>5<<2)>>2]|0)==0;k[J>>2]=a;a=~~+M(+(l+X*V+(q?W:-W)+.5));s=k[t>>2]|0;k[s>>2]=a;q=~~+M(+(m+n*V+(q?-p:p)+.5));k[s+4>>2]=q;break}else{s=k[t>>2]|0;k[s>>2]=~~n;k[s+4>>2]=~~p;break}}else{do if(f){f=k[T>>2]|0;h=_(f,i)|0}else{if((d|0)>0){f=k[T>>2]|0;h=_(f,d+-1|0)|0;break}if((k[T>>2]|0)<=0)break a;g=k[t>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[T>>2]|0))break a}}while(0);if((f|0)>0){g=k[t>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+h<<2)>>2];f=f+1|0}while((f|0)<(k[T>>2]|0))}}while(0);q=_(d,e)|0;a=k[N>>2]|0;s=c+(q<<2)|0;if((k[L>>2]|0)>0){j=0;do{i=k[a+(j<<2)>>2]|0;f=k[x>>2]|0;do if((i|0)<=(f|0)){f=k[z>>2]|0;g=k[y>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[y>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[s+(f<<2)>>2]=(k[b+(f+q<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=s+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[x>>2]|0)){if((h|0)<(k[z>>2]|0))k[g>>2]=(k[A>>2]|0)+h}else k[g>>2]=h-(k[A>>2]|0);f=f+1|0}while((f|0)<(k[L>>2]|0))}}}d=d+1|0;if((d|0)>=(w|0)){d=14;break}f=k[v>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==14){r=U;return 1}else if((d|0)==16)Ba(11196,11078,315,11219);else if((d|0)==23)Ba(11196,11078,315,11219);else if((d|0)==25)Ba(11196,11078,315,11219);return 0}function tb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;k[x>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);h=e}else h=e;else{Ld(h,e-d|0);h=k[x>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}u=k[a+56>>2]|0;q=k[u>>2]|0;u=(k[u+4>>2]|0)-q|0;r=u>>2;if((u|0)<=4){gb(d);return 1}s=a+16|0;t=a+32|0;u=a+12|0;a=a+20|0;o=v+12|0;p=(e|0)>0;n=1;while(1){if(r>>>0<=n>>>0){C=31;break}f=k[q+(n<<2)>>2]|0;if((f|0)>=0?(y=k[(k[o>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0){h=k[v>>2]|0;g=(y>>>0)%3|0;i=k[w>>2]|0;l=k[i+(k[h+(((y>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=y+1|0;f=((f|0)%3|0|0)==0?y+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+y|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;m=_(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=_(l,e)|0;h=_(j,e)|0;g=_(f,e)|0;if(p){f=0;do{k[d+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[x>>2]|0)>0){j=0;do{i=k[d+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}}else{B=m;C=40}}else{B=_(n,e)|0;C=40}if((C|0)==40?(C=0,z=c+((_(n+-1|0,e)|0)<<2)|0,A=c+(B<<2)|0,(k[x>>2]|0)>0):0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+B<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=A+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}n=n+1|0;if((n|0)>=(r|0)){C=29;break}}if((C|0)==29){gb(d);return 1}else if((C|0)==31)Ba(11196,11078,315,11219);return 0}function ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,l=0.0,m=0.0,n=0,p=0,q=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,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=r;r=r+48|0;H=L+24|0;I=L+12|0;J=L;K=a+48|0;k[K>>2]=e;G=a+40|0;k[G>>2]=f;F=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[F>>2]|0;k[F>>2]=d;if(f|0)gb(f);s=a+8|0;k[s>>2]=e;t=a+32|0;h=k[t>>2]|0;f=k[h+4>>2]|0;h=k[h>>2]|0;d=f-h|0;if((d|0)<=0){r=L;return 1}u=a+24|0;v=a+28|0;q=a+36|0;w=J+4|0;x=I+4|0;y=J+8|0;z=I+8|0;A=H+4|0;B=H+8|0;C=a+52|0;D=a+56|0;E=a+60|0;p=a+44|0;d=(d>>2)+-1|0;a:while(1){if(f-h>>2>>>0<=d>>>0){d=11;break}h=k[h+(d<<2)>>2]|0;f=h+1|0;if((h|0)>=0){f=((f|0)%3|0|0)==0?h+-2|0:f;h=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[u>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;if((h|0)<0)a=-1073741824;else a=k[(k[k[u>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0}else{f=-1073741824;a=-1073741824}j=k[v>>2]|0;h=k[j>>2]|0;j=(k[j+4>>2]|0)-h>>2;if(j>>>0<=f>>>0){d=19;break}n=k[h+(f<<2)>>2]|0;if(j>>>0<=a>>>0){d=21;break}h=k[h+(a<<2)>>2]|0;f=(n|0)<(d|0);b:do if(!(f&(h|0)<(d|0))){do if(f){f=k[K>>2]|0;a=_(f,n)|0}else{if((d|0)>0){f=k[K>>2]|0;a=_(f,d+-1|0)|0;break}if((k[K>>2]|0)<=0)break b;h=k[p>>2]|0;f=0;while(1){k[h+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[K>>2]|0))break b}}while(0);if((f|0)>0){h=k[p>>2]|0;f=0;do{k[h+(f<<2)>>2]=k[b+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[K>>2]|0))}}else{j=k[K>>2]|0;a=_(j,n)|0;g=+(k[b+(a<<2)>>2]|0);i=+(k[b+(a+1<<2)>>2]|0);j=_(j,h)|0;l=+(k[b+(j<<2)>>2]|0);m=+(k[b+(j+1<<2)>>2]|0);if(!(l!=g|m!=i)){n=k[p>>2]|0;k[n>>2]=~~l;k[n+4>>2]=~~m;break}Sd(H,k[q>>2]|0,k[G>>2]|0,d);Sd(I,k[q>>2]|0,k[G>>2]|0,n);Sd(J,k[q>>2]|0,k[G>>2]|0,h);V=+o[I>>2];R=+o[J>>2]-V;U=+o[x>>2];Q=+o[w>>2]-U;T=+o[z>>2];S=+o[y>>2]-T;V=+o[H>>2]-V;U=+o[A>>2]-U;T=+o[B>>2]-T;P=R*R+0.0+Q*Q+S*S;N=(R*V+0.0+Q*U+S*T)/P;R=V-R*N;Q=U-Q*N;S=T-S*N;P=+O(+((S*S+(Q*Q+(R*R+0.0)))/P));R=l-g;Q=m-i;l=g+R*N;m=R*P;N=i+Q*N;P=Q*P;i=l-P;g=m+N;l=P+l;m=N-m;f=_(k[K>>2]|0,d)|0;N=+(k[b+(f<<2)>>2]|0);P=+(k[b+(f+1<<2)>>2]|0);Q=N-i;R=P-g;N=N-l;P=P-m;f=k[D>>2]|0;h=k[E>>2]|0;a=(f|0)==(h<<5|0);if(R*R+(Q*Q+0.0)>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]|1<<(f&31)}else{if(a){if((f+1|0)<0){d=32;break a}n=h<<6;j=f+32&-32;Td(C,f>>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]&~(1<<(f&31));i=l;g=m}j=~~+M(+(i+.5));n=k[p>>2]|0;k[n>>2]=j;j=~~+M(+(g+.5));k[n+4>>2]=j}while(0);n=_(d,e)|0;gc(s,b+(n<<2)|0,k[F>>2]|0,c,n);d=d+-1|0;if((d|0)<=-1){d=9;break}f=k[t>>2]|0;h=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=L;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==19)Ba(11196,11078,315,11219);else if((d|0)==21)Ba(11196,11078,315,11219);else if((d|0)==27)Ba(11055,11078,304,11175);else if((d|0)==32)Ba(11055,11078,304,11175);return 0}function vb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;a=w;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;n=b+8|0;m=k[n>>2]|0;n=k[n+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Yf(g|0,h|0,5,0)|0;l=L;if(!((n|0)<(l|0)|(n|0)==(l|0)&m>>>0>>0)?(o=k[b>>2]|0,e=o+g|0,i[a>>0]=i[e>>0]|0,i[a+1>>0]=i[e+1>>0]|0,i[a+2>>0]=i[e+2>>0]|0,i[a+3>>0]=i[e+3>>0]|0,i[a+4>>0]=i[e+4>>0]|0,e=f,k[e>>2]=j,k[e+4>>2]=l,(i[a>>0]|0)==68):0){e=11049;do{a=a+1|0;e=e+1|0;c=i[a>>0]|0;d=i[e>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));if((((((n|0)>(l|0)|(n|0)==(l|0)&m>>>0>j>>>0)&c<<24>>24==d<<24>>24?(l=Yf(g|0,h|0,6,0)|0,j=L,e=f,k[e>>2]=l,k[e+4>>2]=j,(n|0)>(j|0)|(n|0)==(j|0)&m>>>0>l>>>0):0)?(p=Yf(g|0,h|0,7,0)|0,l=L,j=f,k[j>>2]=p,k[j+4>>2]=l,(n|0)>(l|0)|(n|0)==(l|0)&m>>>0>p>>>0):0)?(q=i[o+p>>0]|0,s=Yf(g|0,h|0,8,0)|0,p=L,l=f,k[l>>2]=s,k[l+4>>2]=p,(n|0)>(p|0)|(n|0)==(p|0)&m>>>0>s>>>0):0)?(t=i[o+s>>0]|0,v=Yf(g|0,h|0,9,0)|0,u=f,k[u>>2]=v,k[u+4>>2]=L,u=Yf(g|0,h|0,11,0)|0,v=L,!((n|0)<(v|0)|(n|0)==(v|0)&m>>>0>>0)):0){s=f;k[s>>2]=u;k[s+4>>2]=v;switch(q<<24>>24){case 0:{switch(t<<24>>24){case 0:{while(1){a=Xa(24)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[a>>2]=4204;e=a;break}case 1:{while(1){a=Xa(24)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[a>>2]=4272;e=a;break}default:{x=0;r=w;return x|0}}if(!e){x=0;r=w;return x|0}while(1){a=Xa(68)|0;if(a|0){c=a;break}a=k[2993]|0;k[2993]=a+0;if(!a){c=0;break}Na[a&1]()}k[c>>2]=2872;a=c+4|0;d=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));k[e+20>>2]=b;k[e+4>>2]=c;if(La[k[(k[e>>2]|0)+12>>2]&127](e)|0?La[k[(k[e>>2]|0)+20>>2]&127](e)|0:0){d=La[k[(k[e>>2]|0)+24>>2]&127](e)|0;a=d?c:0;if(!d){c=d?0:c;x=27}}else{a=0;x=27}if((x|0)==27)Ja[k[(k[c>>2]|0)+4>>2]&127](c);Ja[k[(k[e>>2]|0)+4>>2]&127](e);x=a;r=w;return x|0}case 1:{switch(t<<24>>24){case 0:{while(1){a=Xa(28)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[a+24>>2]=0;k[a>>2]=4344;e=a;break}case 1:{while(1){a=Xa(32)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[a+24>>2]=0;k[a>>2]=4404;k[a+28>>2]=0;e=a;break}default:{x=0;r=w;return x|0}}while(1){a=Xa(92)|0;if(a|0){c=a;break}a=k[2993]|0;k[2993]=a+0;if(!a){c=0;break}Na[a&1]()}a=c+4|0;d=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));k[c>>2]=2908;v=c+68|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[e+24>>2]=c;k[e+20>>2]=b;k[e+4>>2]=c;if(La[k[(k[e>>2]|0)+12>>2]&127](e)|0?La[k[(k[e>>2]|0)+20>>2]&127](e)|0:0){d=La[k[(k[e>>2]|0)+24>>2]&127](e)|0;a=d?c:0;if(!d){c=d?0:c;x=45}}else{a=0;x=45}if((x|0)==45)Ja[k[(k[c>>2]|0)+4>>2]&127](c);Ja[k[(k[e>>2]|0)+4>>2]&127](e);x=a;r=w;return x|0}default:{x=0;r=w;return x|0}}}}x=0;r=w;return x|0}function wb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=a+8|0;k[y>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);h=e}else h=e;else{Ld(h,e-d|0);h=k[y>>2]|0}w=k[a+48>>2]|0;x=k[a+52>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}v=k[a+56>>2]|0;r=k[v>>2]|0;v=(k[v+4>>2]|0)-r|0;s=v>>2;if((v|0)<=4){gb(d);return 1}t=a+16|0;u=a+32|0;v=a+12|0;a=a+20|0;o=w+64|0;p=w+28|0;q=(e|0)>0;n=1;while(1){if(s>>>0<=n>>>0){D=31;break}f=k[r+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[w>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[o>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[p>>2]|0;m=k[x>>2]|0;f=k[m+(k[h+(z<<2)>>2]<<2)>>2]|0;g=z+1|0;g=k[m+(k[h+((((g|0)%3|0|0)==0?z+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[m+(k[h+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0;m=_(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=_(f,e)|0;i=_(g,e)|0;g=_(h,e)|0;if(q){f=0;do{k[d+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+i<<2)>>2]|0)-(k[c+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[y>>2]|0)>0){j=0;do{i=k[d+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[t>>2]|0)){if((h|0)<(k[v>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}}else{C=m;D=36}}else{C=_(n,e)|0;D=36}if((D|0)==36?(D=0,A=c+((_(n+-1|0,e)|0)<<2)|0,B=c+(C<<2)|0,(k[y>>2]|0)>0):0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[B+(f<<2)>>2]=(k[b+(f+C<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=B+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[t>>2]|0)){if((h|0)<(k[v>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}n=n+1|0;if((n|0)>=(s|0)){D=29;break}}if((D|0)==29){gb(d);return 1}else if((D|0)==31)Ba(11196,11078,315,11219);return 0}function xb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0,l=0.0,m=0.0,n=0,p=0,q=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,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=r;r=r+48|0;H=L+24|0;I=L+12|0;J=L;K=a+48|0;k[K>>2]=e;G=a+40|0;k[G>>2]=f;F=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[F>>2]|0;k[F>>2]=d;if(f|0)gb(f);s=a+8|0;k[s>>2]=e;t=a+32|0;h=k[t>>2]|0;f=k[h+4>>2]|0;h=k[h>>2]|0;d=f-h|0;if((d|0)<=0){r=L;return 1}u=a+24|0;v=a+28|0;q=a+36|0;w=J+4|0;x=I+4|0;y=J+8|0;z=I+8|0;A=H+4|0;B=H+8|0;C=a+52|0;D=a+56|0;E=a+60|0;p=a+44|0;d=(d>>2)+-1|0;a:while(1){if(f-h>>2>>>0<=d>>>0){d=11;break}h=k[h+(d<<2)>>2]|0;f=h+1|0;do if((h|0)>=0){f=((f|0)%3|0|0)==0?h+-2|0:f;if(!((h>>>0)%3|0)){a=h+2|0;break}else{a=h+-1|0;break}}else{a=h;f=h}while(0);j=k[(k[u>>2]|0)+28>>2]|0;h=k[j+(f<<2)>>2]|0;a=k[j+(a<<2)>>2]|0;j=k[v>>2]|0;f=k[j>>2]|0;j=(k[j+4>>2]|0)-f>>2;if(j>>>0<=h>>>0){d=18;break}n=k[f+(h<<2)>>2]|0;if(j>>>0<=a>>>0){d=20;break}h=k[f+(a<<2)>>2]|0;f=(n|0)<(d|0);b:do if(!(f&(h|0)<(d|0))){do if(f){f=k[K>>2]|0;a=_(f,n)|0}else{if((d|0)>0){f=k[K>>2]|0;a=_(f,d+-1|0)|0;break}if((k[K>>2]|0)<=0)break b;h=k[p>>2]|0;f=0;while(1){k[h+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[K>>2]|0))break b}}while(0);if((f|0)>0){h=k[p>>2]|0;f=0;do{k[h+(f<<2)>>2]=k[b+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[K>>2]|0))}}else{j=k[K>>2]|0;a=_(j,n)|0;g=+(k[b+(a<<2)>>2]|0);i=+(k[b+(a+1<<2)>>2]|0);j=_(j,h)|0;l=+(k[b+(j<<2)>>2]|0);m=+(k[b+(j+1<<2)>>2]|0);if(!(l!=g|m!=i)){n=k[p>>2]|0;k[n>>2]=~~l;k[n+4>>2]=~~m;break}Sd(H,k[q>>2]|0,k[G>>2]|0,d);Sd(I,k[q>>2]|0,k[G>>2]|0,n);Sd(J,k[q>>2]|0,k[G>>2]|0,h);V=+o[I>>2];R=+o[J>>2]-V;U=+o[x>>2];Q=+o[w>>2]-U;T=+o[z>>2];S=+o[y>>2]-T;V=+o[H>>2]-V;U=+o[A>>2]-U;T=+o[B>>2]-T;P=R*R+0.0+Q*Q+S*S;N=(R*V+0.0+Q*U+S*T)/P;R=V-R*N;Q=U-Q*N;S=T-S*N;P=+O(+((S*S+(Q*Q+(R*R+0.0)))/P));R=l-g;Q=m-i;l=g+R*N;m=R*P;N=i+Q*N;P=Q*P;i=l-P;g=m+N;l=P+l;m=N-m;f=_(k[K>>2]|0,d)|0;N=+(k[b+(f<<2)>>2]|0);P=+(k[b+(f+1<<2)>>2]|0);Q=N-i;R=P-g;N=N-l;P=P-m;f=k[D>>2]|0;h=k[E>>2]|0;a=(f|0)==(h<<5|0);if(R*R+(Q*Q+0.0)>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]|1<<(f&31)}else{if(a){if((f+1|0)<0){d=31;break a}n=h<<6;j=f+32&-32;Td(C,f>>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]&~(1<<(f&31));i=l;g=m}j=~~+M(+(i+.5));n=k[p>>2]|0;k[n>>2]=j;j=~~+M(+(g+.5));k[n+4>>2]=j}while(0);n=_(d,e)|0;gc(s,b+(n<<2)|0,k[F>>2]|0,c,n);d=d+-1|0;if((d|0)<=-1){d=9;break}f=k[t>>2]|0;h=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=L;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==18)Ba(11196,11078,315,11219);else if((d|0)==20)Ba(11196,11078,315,11219);else if((d|0)==26)Ba(11055,11078,304,11175);else if((d|0)==31)Ba(11055,11078,304,11175);return 0}function yb(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,j=0,m=0,n=0,o=0,p=0,q=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;G=r;r=r+64|0;E=G;if((a|0)<0){F=0;r=G;return F|0}if(!a){F=1;r=G;return F|0}n=c+8|0;A=n;z=k[A+4>>2]|0;B=c+16|0;f=B;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((z|0)>(f|0)|((z|0)==(f|0)?(k[A>>2]|0)>>>0>e>>>0:0))){F=0;r=G;return F|0}A=i[(k[c>>2]|0)+e>>0]|0;y=Yf(e|0,f|0,1,0)|0;z=B;k[z>>2]=y;k[z+4>>2]=L;switch(A<<24>>24){case 0:{e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(((Ac(E,c)|0?(v=n,u=k[v>>2]|0,v=k[v+4>>2]|0,h=B,g=k[h>>2]|0,h=Yf(g|0,k[h+4>>2]|0,8,0)|0,j=L,!((v|0)<(j|0)|(v|0)==(j|0)&u>>>0>>0)):0)?(t=k[c>>2]|0,m=t+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,A=B,k[A>>2]=h,k[A+4>>2]=j,A=Nf(u|0,v|0,h|0,j|0)|0,z=L,!(m>>>0>z>>>0|(m|0)==(z|0)&q>>>0>A>>>0)):0)?(s=t+h|0,C=Yf(q|0,m|0,h|0,j|0)|0,D=L,A=B,k[A>>2]=C,k[A+4>>2]=D,(q|0)>=1):0){A=E+40|0;k[A>>2]=s;e=q+-1|0;f=s+e|0;switch((l[f>>0]|0)>>>6&3){case 0:{k[E+44>>2]=e;p=(l[f>>0]|0)&63;o=E+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){F=0;break a}k[E+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=E+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){F=0;break a}k[E+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=E+48|0;k[o>>2]=p;break}case 3:{k[E+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=E+48|0;k[o>>2]=p;break}default:{}}z=p+16384|0;k[o>>2]=z;if(z>>>0<=4194303?(k[E+12>>2]|0)!=0:0){z=c+36|0;i[z>>0]=1;y=t+C|0;w=Nf(u|0,v|0,C|0,D|0)|0;x=c+32|0;k[x>>2]=0;k[c+24>>2]=y;k[c+28>>2]=y+w;s=E+48|0;t=E+44|0;u=E+16|0;v=E+28|0;c=(b|0)>0;q=0;e=0;f=k[s>>2]|0;while(1){b:do if(f>>>0<16384){g=k[t>>2]|0;do{if((g|0)<=0)break b;g=g+-1|0;k[t>>2]=g;f=l[(k[A>>2]|0)+g>>0]|0|f<<8;k[s>>2]=f}while(f>>>0<16384)}while(0);n=f&4095;p=k[(k[u>>2]|0)+(n<<2)>>2]|0;o=k[v>>2]|0;f=(_(k[o+(p<<3)>>2]|0,f>>>12)|0)+n-(k[o+(p<<3)+4>>2]|0)|0;k[s>>2]=f;if(c){o=(p|0)>0;if((p|0)<=-1){e=33;break}if((p|0)<33)n=0;else{e=34;break}while(1){if(o){g=0;m=0;j=k[x>>2]|0;do{h=j>>>3;if((h|0)<(w|0)){h=(l[y+h>>0]|0)>>>(j&7)&1;j=j+1|0;k[x>>2]=j}else h=0;g=h<>2]=g;n=n+1|0;if((n|0)>=(b|0)){e=h;break}else e=h}}q=q+b|0;if((q|0)>=(a|0)){e=36;break}}if((e|0)==33)Ba(5411,5426,112,5445);else if((e|0)==34)Ba(5453,5426,113,5445);else if((e|0)==36){i[z>>0]=0;F=Yf(k[x>>2]|0,0,7,0)|0;F=Kf(F|0,L|0,3)|0;D=Yf(F|0,L|0,C|0,D|0)|0;F=B;k[F>>2]=D;k[F+4>>2]=L;F=1;break}}else F=0}else F=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);gb(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);gb(e)}g=k[E>>2]|0;h=g;if(g|0){e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-h|0)>>>2)<<2);gb(g)}r=G;return F|0}case 1:{F=Ua(a,c,d)|0;r=G;return F|0}default:{F=0;r=G;return F|0}}return 0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;if((c|0)!=2){l=0;return l|0}e=k[a+12>>2]|0;f=k[a+4>>2]|0;d=f+4|0;a=k[d>>2]|0;if((e|0)<=-1)Ba(9441,9457,54,9485);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);i=k[c+(e<<2)>>2]|0;a:do if((La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1){h=k[d>>2]|0;c=k[h+4>>2]|0;if(((k[h+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);h=k[c+(e<<2)>>2]|0;if((b+-1|0)>>>0<3&(La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1?(g=La[k[(k[f>>2]|0)+36>>2]&127](f)|0,j=Pa[k[(k[f>>2]|0)+44>>2]&63](f,e)|0,!((g|0)==0|(j|0)==0)):0){a=Pa[k[(k[f>>2]|0)+40>>2]&63](f,e)|0;d=k[f+24>>2]|0;e=j+12|0;b:do if(!a)switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=g;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3980;break b}case 2:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=g;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=4044;break b}case 3:{while(1){c=Xa(64)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=g;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=4108;j=c+36|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[j+16>>2]=0;k[j+20>>2]=0;k[j+24>>2]=0;break b}default:{l=40;break a}}else switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=a;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3788;break b}case 2:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=a;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3852;break b}case 3:{while(1){c=Xa(64)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=a;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3916;j=c+36|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[j+16>>2]=0;k[j+20>>2]=0;k[j+24>>2]=0;break b}default:{l=40;break a}}while(0);if(!c)l=39}else l=39}else l=39;while(0);if((l|0)==39)if((b|0)==-2)c=0;else l=40;if((l|0)==40){while(1){c=Xa(20)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]();l=40}k[c+4>>2]=i;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c>>2]=3724}l=c;return l|0}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+16|0;m=u;k[m>>2]=b;p=u+4|0;if((b|0)<0){r=u;return}o=(b>>>0)/3|0;q=a+12|0;if(k[(k[q>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){r=u;return}n=a+56|0;c=k[n>>2]|0;o=a+60|0;d=k[o>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[o>>2]=c}l=a+64|0;if((c|0)==(k[l>>2]|0))Pd(n,m);else{k[c>>2]=b;k[o>>2]=c+4}e=b+1|0;i=k[(k[a>>2]|0)+28>>2]|0;d=k[i+((((e|0)%3|0|0)==0?b+-2|0:e)<<2)>>2]|0;i=k[i+((((b>>>0)%3|0|0)==0?2:-1)+b<<2)>>2]|0;j=a+24|0;c=k[j>>2]|0;f=c+(d>>>5<<2)|0;g=1<<(d&31);h=k[f>>2]|0;if(!(h&g)){k[f>>2]=h|g;fd(a+36|0,d,((e|0)%3|0|0)==0?b+-2|0:e);c=k[j>>2]|0}c=c+(i>>>5<<2)|0;d=1<<(i&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;fd(a+36|0,i,(((b>>>0)%3|0|0)==0?2:-1)+b|0)}d=k[n>>2]|0;c=k[o>>2]|0;if((d|0)==(c|0)){r=u;return}b=a+36|0;do{e=k[c+-4>>2]|0;k[m>>2]=e;f=(e|0)/3|0;if((e|0)>=0?(s=k[q>>2]|0,(k[s+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){c=e;d=s;e=k[a>>2]|0;a:while(1){h=(c|0)/3|0;i=d+(h>>>5<<2)|0;k[i>>2]=1<<(h&31)|k[i>>2];i=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(i<<2)>>2]|0;if((d|0)<0)h=1;else{h=k[(k[k[e+64>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;h=(1<<(h&31)&k[(k[e+12>>2]|0)+(h>>>5<<2)>>2]|0)!=0}d=(k[j>>2]|0)+(i>>>5<<2)|0;f=1<<(i&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;fd(b,i,c);e=k[a>>2]|0;if(h)i=e;else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[m>>2]=c;d=k[q>>2]|0;continue}}else i=e;e=(c|0)<0;d=c+1|0;if(e)d=c;else d=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(d&31)&k[(k[i>>2]|0)+(d>>>5<<2)>>2]))if((d|0)<0)h=d;else h=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;else h=-1073741824;k[p>>2]=h;do if(!e)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[i>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;d=(h|0)<0;e=d?-1:(h>>>0)/3|0;f=(c|0)<0;g=f?-1:(c>>>0)/3|0;do if(!d){d=k[q>>2]|0;if(k[d+(e>>>5<<2)>>2]&1<<(e&31)|0){t=42;break}if(f){c=h;break}if(!(k[d+(g>>>5<<2)>>2]&1<<(g&31))){t=47;break a}else c=h}else t=42;while(0);if((t|0)==42){t=0;if(f){t=44;break}d=k[q>>2]|0;if(k[d+(g>>>5<<2)>>2]&1<<(g&31)){t=44;break}}k[m>>2]=c;e=i}do if((t|0)==44){t=0;c=(k[o>>2]|0)+-4|0;k[o>>2]=c}else if((t|0)==47){t=0;d=k[o>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[l>>2]|0)){Pd(n,p);c=k[o>>2]|0;break}else{k[d>>2]=h;c=d+4|0;k[o>>2]=c;break}}while(0);d=k[n>>2]|0}else{c=c+-4|0;k[o>>2]=c}}while((d|0)!=(c|0));r=u;return}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+16|0;n=v;k[n>>2]=b;q=v+4|0;if((b|0)<0){r=v;return}p=(b>>>0)/3|0;s=a+12|0;if(k[(k[s>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){r=v;return}o=a+56|0;c=k[o>>2]|0;p=a+60|0;d=k[p>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[p>>2]=c}m=a+64|0;if((c|0)==(k[m>>2]|0))Pd(o,n);else{k[c>>2]=b;k[p>>2]=c+4}d=k[a>>2]|0;h=b+1|0;c=((h|0)%3|0|0)==0?b+-2|0:h;if((c|0)<0)g=-1073741824;else g=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((c|0)<0)i=-1073741824;else i=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;l=a+24|0;c=k[l>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;fd(a+36|0,g,((h|0)%3|0|0)==0?b+-2|0:h);c=k[l>>2]|0}c=c+(i>>>5<<2)|0;d=1<<(i&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;fd(a+36|0,i,(((b>>>0)%3|0|0)==0?2:-1)+b|0)}c=k[o>>2]|0;e=k[p>>2]|0;if((c|0)==(e|0)){r=v;return}j=a+36|0;d=c;while(1){c=k[e+-4>>2]|0;k[n>>2]=c;f=(c|0)/3|0;if((c|0)>=0?(t=k[s>>2]|0,(k[t+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){e=k[a>>2]|0;d=t;a:while(1){i=(c|0)/3|0;b=d+(i>>>5<<2)|0;k[b>>2]=1<<(i&31)|k[b>>2];b=(c|0)<0;if(b)i=-1073741824;else i=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;f=d+1|0;if((d|0)>=0){d=((f|0)%3|0|0)==0?d+-2|0:f;if((d|0)>=0){d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;f=d+1|0;if((d|0)>=0)d=((f|0)%3|0|0)==0?d+-2|0:f}}f=(k[l>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);h=k[f>>2]|0;if(!(h&g)){k[f>>2]=h|g;fd(j,i,c);e=k[a>>2]|0;if((d|0)>=0){do if(b)c=-1073741824;else{b=c+1|0;c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)<0)break;c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0}while(0);k[n>>2]=c;d=k[s>>2]|0;continue}}if(b){u=37;break}d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;k[q>>2]=d;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0)c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;b=(d|0)<0;g=b?-1:(d>>>0)/3|0;h=(c|0)<0;i=h?-1:(c>>>0)/3|0;do if(!b){f=k[s>>2]|0;if(k[f+(g>>>5<<2)>>2]&1<<(g&31)|0){u=42;break}if(h){c=d;break}if(!(k[f+(i>>>5<<2)>>2]&1<<(i&31))){u=47;break a}else c=d}else u=42;while(0);if((u|0)==42){u=0;if(h){u=44;break}d=k[s>>2]|0;if(!(k[d+(i>>>5<<2)>>2]&1<<(i&31)))f=d;else{u=44;break}}k[n>>2]=c;d=f}do if((u|0)==37){k[q>>2]=-1073741824;u=44}else if((u|0)==47){u=0;e=k[p>>2]|0;k[e+-4>>2]=c;if((e|0)==(k[m>>2]|0)){Pd(o,q);c=k[p>>2]|0;break}else{k[e>>2]=d;c=e+4|0;k[p>>2]=c;break}}while(0);if((u|0)==44){u=0;c=(k[p>>2]|0)+-4|0;k[p>>2]=c}d=k[o>>2]|0}else{c=e+-4|0;k[p>>2]=c}if((d|0)==(c|0))break;else e=c}r=v;return}function Cb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=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,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=r;r=r+48|0;H=L+24|0;I=L+12|0;J=L;K=a+48|0;k[K>>2]=e;G=a+40|0;k[G>>2]=f;F=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[F>>2]|0;k[F>>2]=d;if(f|0)gb(f);s=a+8|0;k[s>>2]=e;t=a+32|0;g=k[t>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;E=f-g|0;u=E>>2;if((E|0)<=0){r=L;return 1}v=a+24|0;w=a+28|0;q=a+36|0;x=J+4|0;y=I+4|0;z=J+8|0;A=I+8|0;B=H+4|0;C=H+8|0;D=a+56|0;E=a+52|0;p=a+44|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=11;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[v>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;if((g|0)<0)m=-1073741824;else m=k[(k[k[v>>2]>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0}else{m=-1073741824;f=-1073741824}a=k[w>>2]|0;g=k[a>>2]|0;a=(k[a+4>>2]|0)-g>>2;if(a>>>0<=f>>>0){d=19;break}n=k[g+(f<<2)>>2]|0;if(a>>>0<=m>>>0){d=21;break}g=k[g+(m<<2)>>2]|0;f=(n|0)<(d|0);a:do if(f&(g|0)<(d|0)){m=k[K>>2]|0;a=_(m,n)|0;h=+(k[c+(a<<2)>>2]|0);i=+(k[c+(a+1<<2)>>2]|0);m=_(m,g)|0;j=+(k[c+(m<<2)>>2]|0);l=+(k[c+(m+1<<2)>>2]|0);if(j!=h|l!=i){Sd(H,k[q>>2]|0,k[G>>2]|0,d);Sd(I,k[q>>2]|0,k[G>>2]|0,n);Sd(J,k[q>>2]|0,k[G>>2]|0,g);V=+o[I>>2];Q=+o[J>>2]-V;U=+o[y>>2];R=+o[x>>2]-U;T=+o[A>>2];S=+o[z>>2]-T;V=+o[H>>2]-V;U=+o[B>>2]-U;T=+o[C>>2]-T;P=Q*Q+0.0+R*R+S*S;N=(Q*V+0.0+R*U+S*T)/P;Q=V-Q*N;R=U-R*N;S=T-S*N;P=+O(+((S*S+(R*R+(Q*Q+0.0)))/P));Q=j-h;j=l-i;l=Q*P;P=j*P;a=(k[D>>2]|0)+-1|0;m=(1<<(a&31)&k[(k[E>>2]|0)+(a>>>5<<2)>>2]|0)==0;k[D>>2]=a;a=~~+M(+(h+Q*N+(m?P:-P)+.5));n=k[p>>2]|0;k[n>>2]=a;m=~~+M(+(i+j*N+(m?-l:l)+.5));k[n+4>>2]=m;break}else{n=k[p>>2]|0;k[n>>2]=~~j;k[n+4>>2]=~~l;break}}else{do if(f){f=k[K>>2]|0;a=_(f,n)|0}else{if((d|0)>0){f=k[K>>2]|0;a=_(f,d+-1|0)|0;break}if((k[K>>2]|0)<=0)break a;g=k[p>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[K>>2]|0))break a}}while(0);if((f|0)>0){g=k[p>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[K>>2]|0))}}while(0);n=_(d,e)|0;Jd(s,k[F>>2]|0,b,c+(n<<2)|0,n);d=d+1|0;if((d|0)>=(u|0)){d=9;break}f=k[t>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=L;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==19)Ba(11196,11078,315,11219);else if((d|0)==21)Ba(11196,11078,315,11219);return 0}function Db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;D=F+20|0;A=F;B=F+33|0;y=F+26|0;z=F+24|0;E=b+8|0;w=E;x=k[w>>2]|0;w=k[w+4>>2]|0;C=b+16|0;d=C;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((w|0)<(e|0)|(w|0)==(e|0)&x>>>0>>0){E=0;r=F;return E|0}x=(k[b>>2]|0)+c|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;w=C;k[w>>2]=d;k[w+4>>2]=e;if((x|0)<1){E=0;r=F;return E|0}w=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[w>>2]|0;d=f-e>>2;if(x>>>0<=d>>>0){if(x>>>0>>0?(g=e+(x<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Ld(w,x-d|0);t=k[a+20>>2]|0;s=A+4|0;u=t+4|0;v=t+8|0;q=0;while(1){h=E;a=k[h>>2]|0;h=k[h+4>>2]|0;f=C;d=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|(h|0)==(f|0)&a>>>0>d>>>0)){c=0;d=38;break}m=k[b>>2]|0;n=i[m+d>>0]|0;c=Yf(d|0,f|0,1,0)|0;p=L;o=C;k[o>>2]=c;k[o+4>>2]=p;if(!((h|0)>(p|0)|(h|0)==(p|0)&a>>>0>c>>>0)){c=0;d=38;break}o=i[m+c>>0]|0;c=Yf(d|0,f|0,2,0)|0;p=L;g=C;k[g>>2]=c;k[g+4>>2]=p;if(!((h|0)>(p|0)|(h|0)==(p|0)&a>>>0>c>>>0)){c=0;d=38;break}p=i[m+c>>0]|0;c=Yf(d|0,f|0,3,0)|0;g=L;e=C;k[e>>2]=c;k[e+4>>2]=g;if(!((h|0)>(g|0)|(h|0)==(g|0)&a>>>0>c>>>0)){c=0;d=38;break}g=i[m+c>>0]|0;e=Yf(d|0,f|0,4,0)|0;c=C;k[c>>2]=e;k[c+4>>2]=L;c=Yf(d|0,f|0,6,0)|0;d=L;if((h|0)<(d|0)|(h|0)==(d|0)&a>>>0>>0){c=0;d=38;break}m=m+e|0;m=l[m>>0]|l[m+1>>0]<<8;h=C;k[h>>2]=c;k[h+4>>2]=d;h=o&255;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;a=n&255;d=g<<24>>24!=0;switch(o<<24>>24){case 11:case 2:case 1:{c=1;break}case 4:case 3:{c=2;break}case 6:case 5:{c=4;break}case 8:case 7:{c=8;break}case 9:{c=4;break}case 10:{c=8;break}default:c=-1}e=_(c,p&255)|0;f=((e|0)<0)<<31>>31;d=d&1;while(1){c=Xa(88)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=0;o=c+4|0;k[o>>2]=k[A>>2];k[o+4>>2]=k[A+4>>2];k[o+8>>2]=k[A+8>>2];k[o+12>>2]=k[A+12>>2];k[o+16>>2]=k[A+16>>2];i[c+24>>0]=p;p=c+25|0;i[p>>0]=i[B>>0]|0;i[p+1>>0]=i[B+1>>0]|0;i[p+2>>0]=i[B+2>>0]|0;k[c+28>>2]=h;i[c+32>>0]=d;p=c+33|0;i[p>>0]=i[y>>0]|0;i[p+1>>0]=i[y+1>>0]|0;i[p+2>>0]=i[y+2>>0]|0;i[p+3>>0]=i[y+3>>0]|0;i[p+4>>0]=i[y+4>>0]|0;i[p+5>>0]=i[y+5>>0]|0;i[p+6>>0]=i[y+6>>0]|0;p=c+40|0;k[p>>2]=e;k[p+4>>2]=f;p=c+48|0;k[p>>2]=0;k[p+4>>2]=0;k[c+56>>2]=a;j[c+60>>1]=m;j[c+62>>1]=j[z>>1]|0;p=c+64|0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;i[p+20>>0]=0;p=k[(k[t>>2]|0)+8>>2]|0;a=(k[v>>2]|0)-(k[u>>2]|0)>>2;k[D>>2]=c;Ma[p&7](t,a,D);a=k[D>>2]|0;k[D>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;gb(d)}gb(c)}gb(a)}k[(k[w>>2]|0)+(q<<2)>>2]=((k[v>>2]|0)-(k[u>>2]|0)>>2)+-1;q=q+1|0;if((q|0)>=(x|0)){c=1;d=38;break}}if((d|0)==38){r=F;return c|0}return 0}function Eb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=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.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0;K=r;r=r+48|0;G=K+24|0;H=K+12|0;I=K;J=a+48|0;k[J>>2]=e;F=a+40|0;k[F>>2]=f;E=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[E>>2]|0;k[E>>2]=d;if(f|0)gb(f);q=a+8|0;k[q>>2]=e;s=a+32|0;g=k[s>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;D=f-g|0;t=D>>2;if((D|0)<=0){r=K;return 1}u=a+24|0;v=a+28|0;p=a+36|0;w=I+4|0;x=H+4|0;y=I+8|0;z=H+8|0;A=G+4|0;B=G+8|0;C=a+56|0;D=a+52|0;n=a+44|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=11;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;do if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;if(!((g>>>0)%3|0)){a=g+2|0;break}else{a=g+-1|0;break}}else{a=g;f=g}while(0);g=k[(k[u>>2]|0)+28>>2]|0;h=k[g+(f<<2)>>2]|0;g=k[g+(a<<2)>>2]|0;a=k[v>>2]|0;f=k[a>>2]|0;a=(k[a+4>>2]|0)-f>>2;if(a>>>0<=h>>>0){d=18;break}h=k[f+(h<<2)>>2]|0;if(a>>>0<=g>>>0){d=20;break}g=k[f+(g<<2)>>2]|0;f=(h|0)<(d|0);a:do if(f&(g|0)<(d|0)){a=k[J>>2]|0;f=_(a,h)|0;i=+(k[c+(f<<2)>>2]|0);j=+(k[c+(f+1<<2)>>2]|0);a=_(a,g)|0;l=+(k[c+(a<<2)>>2]|0);m=+(k[c+(a+1<<2)>>2]|0);if(l!=i|m!=j){Sd(G,k[p>>2]|0,k[F>>2]|0,d);Sd(H,k[p>>2]|0,k[F>>2]|0,h);Sd(I,k[p>>2]|0,k[F>>2]|0,g);U=+o[H>>2];P=+o[I>>2]-U;T=+o[x>>2];Q=+o[w>>2]-T;S=+o[z>>2];R=+o[y>>2]-S;U=+o[G>>2]-U;T=+o[A>>2]-T;S=+o[B>>2]-S;N=P*P+0.0+Q*Q+R*R;L=(P*U+0.0+Q*T+R*S)/N;P=U-P*L;Q=T-Q*L;R=S-R*L;N=+O(+((R*R+(Q*Q+(P*P+0.0)))/N));P=l-i;l=m-j;m=P*N;N=l*N;g=(k[C>>2]|0)+-1|0;a=(1<<(g&31)&k[(k[D>>2]|0)+(g>>>5<<2)>>2]|0)==0;k[C>>2]=g;g=~~+M(+(i+P*L+(a?N:-N)+.5));h=k[n>>2]|0;k[h>>2]=g;a=~~+M(+(j+l*L+(a?-m:m)+.5));k[h+4>>2]=a;break}else{h=k[n>>2]|0;k[h>>2]=~~l;k[h+4>>2]=~~m;break}}else{do if(f){f=k[J>>2]|0;a=_(f,h)|0}else{if((d|0)>0){f=k[J>>2]|0;a=_(f,d+-1|0)|0;break}if((k[J>>2]|0)<=0)break a;g=k[n>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[J>>2]|0))break a}}while(0);if((f|0)>0){g=k[n>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[J>>2]|0))}}while(0);h=_(d,e)|0;Jd(q,k[E>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(t|0)){d=9;break}f=k[s>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=K;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==18)Ba(11196,11078,315,11219);else if((d|0)==20)Ba(11196,11078,315,11219);return 0}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;if((b|0)<=-1)Ba(5469,5481,93,5508);o=a+4|0;n=a+8|0;g=k[n>>2]|0;h=k[o>>2]|0;i=g-h>>2;a:do if((i|0)<=(b|0)){f=b+1|0;e=h;d=g;if(f>>>0<=i>>>0){if(f>>>0>=i>>>0)break;i=e+(f<<2)|0;if((d|0)==(i|0))break;while(1){m=d+-4|0;k[n>>2]=m;h=k[m>>2]|0;k[m>>2]=0;if(h|0){d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}m=h+64|0;d=k[m>>2]|0;k[m>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;gb(e)}gb(d)}gb(h)}d=k[n>>2]|0;if((d|0)==(i|0))break a}}j=f-i|0;m=a+12|0;d=k[m>>2]|0;if(d-g>>2>>>0>=j>>>0){Ke(g|0,0,j<<2|0)|0;k[n>>2]=g+(j<<2);break}if(f>>>0>1073741823)Ba(11055,11078,304,11175);l=d-h|0;g=l>>1;g=l>>2>>>0<536870911?(g>>>0>>0?f:g):1073741823;if(!g)d=0;else{if(g>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}e=g<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}f=d+(i<<2)|0;e=f;i=d+(g<<2)|0;Ke(f|0,0,j<<2|0)|0;h=f+(j<<2)|0;g=k[o>>2]|0;d=k[n>>2]|0;if((d|0)==(g|0)){d=g;l=d}else{do{d=d+-4|0;l=k[d>>2]|0;k[d>>2]=0;k[f+-4>>2]=l;f=e+-4|0;e=f}while((d|0)!=(g|0));l=k[o>>2]|0;d=k[n>>2]|0}k[o>>2]=e;k[n>>2]=h;k[m>>2]=i;j=l;if((d|0)!=(j|0))do{d=d+-4|0;i=k[d>>2]|0;k[d>>2]=0;if(i|0){e=k[i+68>>2]|0;f=e;if(e|0){g=i+72|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);gb(e)}n=i+64|0;e=k[n>>2]|0;k[n>>2]=0;if(e|0){f=k[e>>2]|0;if(f|0){g=e+4|0;if((k[g>>2]|0)!=(f|0))k[g>>2]=f;gb(f)}gb(e)}gb(i)}}while((d|0)!=(j|0));if(l|0)gb(l)}while(0);d=k[(k[c>>2]|0)+56>>2]|0;do if((d|0)<4){m=a+16+(d*12|0)+4|0;e=k[m>>2]|0;n=a+16+(d*12|0)+8|0;f=k[n>>2]|0;if((e|0)!=(f|0)){k[e>>2]=b;k[m>>2]=e+4;break}j=a+16+(d*12|0)|0;l=k[j>>2]|0;i=e-l|0;h=i>>2;d=h+1|0;if(d>>>0>1073741823)Ba(11055,11078,304,11175);a=f-l|0;g=a>>1;g=a>>2>>>0<536870911?(g>>>0>>0?d:g):1073741823;if(!g)d=0;else{if(g>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}e=g<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}f=d+(h<<2)|0;k[f>>2]=b;e=f+(0-h<<2)|0;if((i|0)>0)xe(e|0,l|0,i|0)|0;k[j>>2]=e;k[m>>2]=f+4;k[n>>2]=d+(g<<2);if(l|0)gb(l)}while(0);o=(k[o>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[o>>2]|0;k[o>>2]=b;if(!h)return;d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}o=h+64|0;d=k[o>>2]|0;k[o>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;gb(e)}gb(d)}gb(h);return}function Gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;t=1-g+f|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);d=d-e|0;if((d|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;h=k[u>>2]|0;do{m=b+(d<<2)|0;l=m+(n<<2)|0;if((h|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[o>>2]|0;do if((i|0)<=(f|0)){f=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;h=k[u>>2]|0}while((j|0)<(h|0));if((h|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[m+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;h=k[u>>2]|0}while((f|0)<(h|0));if((h|0)>0){i=0;do{f=c+(i+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[f>>2]=g-(k[s>>2]|0)}else k[f>>2]=(k[s>>2]|0)+g;i=i+1|0;h=k[u>>2]|0}while((i|0)<(h|0))}}}d=d-e|0}while((d|0)>0)}else h=k[u>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0){n=d;break}d=k[2993]|0;k[2993]=d+0;if(!d){n=0;break}Na[d&1]()}Ke(n|0,0,g|0)|0;if((h|0)<=0){gb(n);return 1}j=a+16|0;l=a+32|0;m=a+12|0;i=0;do{h=k[n+(i<<2)>>2]|0;d=k[j>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[l>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[l>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[u>>2]|0}while((i|0)<(d|0));if((d|0)>0)d=0;else{gb(n);return 1}do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)-(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[u>>2]|0}while((d|0)<(f|0));if((f|0)<=0){gb(n);return 1}i=a+28|0;j=a+20|0;f=a+24|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[i>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[j>>2]|0)}else k[g>>2]=(k[j>>2]|0)+h;d=d+1|0}while((d|0)<(k[u>>2]|0));gb(n);return 1}function Hb(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+16|0;s=v;t=c+24|0;p=i[t>>0]|0;u=p<<24>>24;q=k[b+64>>2]|0;b=_(q,u)|0;k[s>>2]=k[196];k[s+4>>2]=k[197];k[s+8>>2]=k[198];k[s+12>>2]=k[199];m=d+4|0;f=k[m>>2]|0;n=k[d>>2]|0;o=f-n|0;l=o>>2;a=n;g=f;do if(b>>>0>l>>>0){h=b-l|0;j=d+8|0;a=k[j>>2]|0;if(a-f>>2>>>0>=h>>>0){Ke(f|0,0,h<<2|0)|0;k[m>>2]=g+(h<<2);break}if(b>>>0>1073741823)Ba(11055,11078,304,11175);g=a-n|0;f=g>>1;f=g>>2>>>0<536870911?(f>>>0>>0?b:f):1073741823;if(!f)a=0;else{if(f>>>0>1073741823){d=Da(4)|0;k[d>>2]=5228;ra(d|0,736,67)}b=f<<2;b=(b|0)==0?1:b;while(1){a=Xa(b)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}}e=a+(l<<2)|0;Ke(e|0,0,h<<2|0)|0;b=e+(0-l<<2)|0;if((o|0)>0)xe(b|0,n|0,o|0)|0;k[d>>2]=b;k[m>>2]=e+(h<<2);k[j>>2]=a+(f<<2);if(n|0)gb(n)}else if(b>>>0>>0?(e=a+(b<<2)|0,(g|0)!=(e|0)):0)k[m>>2]=g+(~((g+-4-e|0)>>>2)<<2);while(0);if((q|0)<=0){d=1;r=v;return d|0}f=c+84|0;g=c+68|0;if(p<<24>>24<=0){b=0;a:while(1){if(!(i[f>>0]|0))a=k[(k[g>>2]|0)+(b<<2)>>2]|0;else a=b;switch(i[t>>0]|0){case 1:{if(!(ab(c,a,s)|0)){a=0;b=41;break a}break}case 2:{if(!(_a(c,a,s)|0)){a=0;b=41;break a}break}case 3:{if(!(Za(c,a,s)|0)){a=0;b=41;break a}break}case 4:{if(!(Ya(c,a,s)|0)){a=0;b=41;break a}break}default:{a=0;b=41;break a}}b=b+1|0;if((b|0)>=(q|0)){a=1;b=41;break}}if((b|0)==41){r=v;return a|0}}else{w=0;x=0}b:while(1){if(!(i[f>>0]|0))a=k[(k[g>>2]|0)+(x<<2)>>2]|0;else a=x;switch(i[t>>0]|0){case 1:{if(!(ab(c,a,s)|0)){a=0;b=41;break b}break}case 2:{if(!(_a(c,a,s)|0)){a=0;b=41;break b}break}case 3:{if(!(Za(c,a,s)|0)){a=0;b=41;break b}break}case 4:{if(!(Ya(c,a,s)|0)){a=0;b=41;break b}break}default:{a=0;b=41;break b}}e=k[d>>2]|0;a=0;b=w;while(1){k[e+(b<<2)>>2]=k[s+(a<<2)>>2];a=a+1|0;if((a|0)==(u|0))break;else b=b+1|0}x=x+1|0;if((x|0)>=(q|0)){a=1;b=41;break}else w=u+w|0}if((b|0)==41){r=v;return a|0}return 0}function Ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+16|0;p=u;q=u+8|0;t=k[a>>2]|0;o=t+8|0;d=k[t>>2]|0;t=k[t+4>>2]|0;o=Yf(d|0,t|0,k[o>>2]|0,k[o+4>>2]|0)|0;m=L;m=Yf((o|0)==0&(m|0)==0&1|0,0,o|0,m|0)|0;m=~~((+(d>>>0)+4294967296.0*+(t>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;t=a+16|0;d=((k[t>>2]|0)-(k[m>>2]|0)<<1)+64|0;if(!d)n=0;else{if((d|0)<0)Ba(11055,11078,304,11175);while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}e=c;while(1){i[e>>0]=0;d=d+-1|0;if(!d){n=c;break}else e=e+1|0}}o=a+28|0;c=(k[o>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;e=e+1|0;d=d>>>8}Af(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(_((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1);c=e}else{d=4096;c=0}e=k[t>>2]|0;if((e|0)==(k[m>>2]|0))f=d;else{do{e=e+-4|0;l=k[e>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+c>>0]=d;c=c+1|0;d=d>>>8}Af(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(_((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)<=0)break;else j=j+-1|0}}while((e|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Ba(5260,5281,133,5294);if(f>>>0>=1048576)Ba(5308,5281,134,5294);e=f+-4096|0;do if(e>>>0>=64){d=n+c|0;if(e>>>0<16384){m=f+12288|0;i[d>>0]=m;i[d+1>>0]=m>>>8;c=c+2|0;break}else{m=f+8384512|0;i[d>>0]=m;i[d+1>>0]=m>>>8;i[d+2>>0]=m>>>16;c=c+3|0;break}}else{i[n+c>>0]=e;c=c+1|0}while(0);d=b+16|0;m=d;l=k[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(k[m>>2]|0)>>>0>0)){e=b+4|0;yc(b,k[e>>2]|0,q,q+1|0);m=d;q=k[m>>2]|0;m=k[m+4>>2]|0;k[p>>2]=c;if(!((m|0)>0|(m|0)==0&q>>>0>0)){yc(b,k[e>>2]|0,p,p+4|0);q=d;m=k[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[q>>2]|0)>>>0>0))yc(b,k[e>>2]|0,n,n+c|0)}else s=32}else{k[p>>2]=c;s=32}c=p;k[c>>2]=0;k[c+4>>2]=0;Mc(a,p);c=k[a+12>>2]|0;d=k[t>>2]|0;if((d|0)!=(c|0))k[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[o>>2]=0;if(!n){r=u;return}gb(n);r=u;return}function Jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;u=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;p=a+32|0;g=k[p>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;f=a-g|0;a:do if((f|0)>4){q=(e|0)>0;r=w+64|0;s=w+28|0;t=e<<2;o=f>>2;f=a;while(1){n=o+-1|0;if(f-g>>2>>>0<=n>>>0)break;m=k[g+(n<<2)>>2]|0;if(q)Ke(d|0,0,t|0)|0;if((m|0)>-1){l=k[w>>2]|0;f=0;j=m;while(1){do if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[r>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>-1):0)?(B=k[s>>2]|0,i=k[u>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){a=_(z,e)|0;h=_(A,e)|0;i=_(B,e)|0;if(q)g=0;else{f=f+1|0;C=24;break}do{D=d+(g<<2)|0;k[D>>2]=(k[b+(g+i<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+a<<2)>>2]|0)+(k[D>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=f+1|0;if((j|0)<0){a=f;f=j}else C=24}else C=24;while(0);do if((C|0)==24){C=0;if(!((j>>>0)%3|0)){a=f;f=j+2|0;break}else{a=f;f=j+-1|0;break}}while(0);do if(!(1<<(f&31)&k[l+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[r>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f;if((j|0)<=-1)break;else f=a}f=_(n,e)|0;if(!a)C=36;else{if(q){g=0;do{D=d+(g<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;g=g+1|0}while((g|0)!=(e|0))}gc(v,b+(f<<2)|0,d,c,f)}}else{f=_(n,e)|0;C=36}if((C|0)==36){C=0;gc(v,b+(f<<2)|0,b+((_(o+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=d;break a}f=k[p>>2]|0;o=n;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else x=d;while(0);if((e|0)<=0){gc(v,b,x,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(v,b,x,c,0);gb(d);return 1}function Kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;a=w;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;n=b+8|0;m=k[n>>2]|0;n=k[n+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Yf(g|0,h|0,5,0)|0;l=L;if(!((n|0)<(l|0)|(n|0)==(l|0)&m>>>0>>0)?(o=k[b>>2]|0,e=o+g|0,i[a>>0]=i[e>>0]|0,i[a+1>>0]=i[e+1>>0]|0,i[a+2>>0]=i[e+2>>0]|0,i[a+3>>0]=i[e+3>>0]|0,i[a+4>>0]=i[e+4>>0]|0,e=f,k[e>>2]=j,k[e+4>>2]=l,(i[a>>0]|0)==68):0){e=11049;do{a=a+1|0;e=e+1|0;c=i[a>>0]|0;d=i[e>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));if((((((n|0)>(l|0)|(n|0)==(l|0)&m>>>0>j>>>0)&c<<24>>24==d<<24>>24?(l=Yf(g|0,h|0,6,0)|0,j=L,e=f,k[e>>2]=l,k[e+4>>2]=j,(n|0)>(j|0)|(n|0)==(j|0)&m>>>0>l>>>0):0)?(p=Yf(g|0,h|0,7,0)|0,l=L,j=f,k[j>>2]=p,k[j+4>>2]=l,(n|0)>(l|0)|(n|0)==(l|0)&m>>>0>p>>>0):0)?(q=i[o+p>>0]|0,s=Yf(g|0,h|0,8,0)|0,p=L,l=f,k[l>>2]=s,k[l+4>>2]=p,(n|0)>(p|0)|(n|0)==(p|0)&m>>>0>s>>>0):0)?(t=i[o+s>>0]|0,v=Yf(g|0,h|0,9,0)|0,u=f,k[u>>2]=v,k[u+4>>2]=L,u=Yf(g|0,h|0,11,0)|0,v=L,!((n|0)<(v|0)|(n|0)==(v|0)&m>>>0>>0)):0){s=f;k[s>>2]=u;k[s+4>>2]=v;if(q<<24>>24!=1){x=0;r=w;return x|0}switch(t<<24>>24){case 0:{while(1){a=Xa(28)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[a+24>>2]=0;k[a>>2]=4344;e=a;break}case 1:{while(1){a=Xa(32)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[a+24>>2]=0;k[a>>2]=4404;k[a+28>>2]=0;e=a;break}default:{x=0;r=w;return x|0}}while(1){a=Xa(92)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}c=a+4|0;d=c+64|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[a>>2]=2908;v=a+68|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[e+24>>2]=a;k[e+20>>2]=b;k[e+4>>2]=a;if(La[k[(k[e>>2]|0)+12>>2]&127](e)|0?La[k[(k[e>>2]|0)+20>>2]&127](e)|0:0){c=La[k[(k[e>>2]|0)+24>>2]&127](e)|0;if(!c){a=c?0:a;x=27}}else x=27;if((x|0)==27){Ja[k[(k[a>>2]|0)+4>>2]&127](a);a=0}Ja[k[(k[e>>2]|0)+4>>2]&127](e);x=a;r=w;return x|0}}x=0;r=w;return x|0}function Lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;m=c+14|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;if((j[m>>1]|0)!=(j[g+14>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=44;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+10|0;i=c+12|0;l=c+14|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=j[c+8>>1]|0;d=c;while(1){if(m<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;if((j[l>>1]|0)!=(j[g+14>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=44;break a}}}while(0);d=k[c>>2]|0;if(!d){c=44;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=44;break}else f=c}if((c|0)==44)return}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;l=c+20|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;if((k[l>>2]|0)!=(k[g+20>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=44;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+12|0;i=c+16|0;j=c+20|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=k[c+8>>2]|0;d=c;while(1){if((l|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;if((k[j>>2]|0)!=(k[g+20>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=44;break a}}}while(0);d=k[c>>2]|0;if(!d){c=44;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=44;break}else f=c}if((c|0)==44)return}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;m=c+11|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;if((i[m>>0]|0)!=(i[g+11>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=44;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+9|0;j=c+10|0;l=c+11|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=i[c+8>>0]|0;d=c;while(1){if(m<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;if((i[l>>0]|0)!=(i[g+11>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=44;break a}}}while(0);d=k[c>>2]|0;if(!d){c=44;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=44;break}else f=c}if((c|0)==44)return}function Ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+8|0;c=k[g>>2]|0;f=k[a>>2]|0;j=f;do if(((c-f|0)/12|0)>>>0>=b>>>0){i=a+4|0;c=k[i>>2]|0;f=(c-f|0)/12|0;g=f>>>0>>0;d=g?f:b;h=c;if(d|0){e=j;while(1){k[e>>2]=-1073741824;k[e+4>>2]=-1073741824;k[e+8>>2]=-1073741824;d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;do{k[c>>2]=k[712];k[c+4>>2]=k[713];k[c+8>>2]=k[714];c=(k[i>>2]|0)+12|0;k[i>>2]=c;d=d+-1|0}while((d|0)!=0)}else{c=j+(b*12|0)|0;if((h|0)==(c|0))break;k[i>>2]=h+(~(((h+-12-c|0)>>>0)/12|0)*12|0);break}}else{e=f;if(f){c=a+4|0;d=k[c>>2]|0;if((d|0)!=(j|0))k[c>>2]=d+(~(((d+-12-f|0)>>>0)/12|0)*12|0);gb(e);k[g>>2]=0;k[c>>2]=0;k[a>>2]=0;c=0}if(b>>>0>357913941)Ba(11055,11078,304,11175);j=(c|0)/12|0;f=j<<1;f=j>>>0<178956970?(f>>>0>>0?b:f):357913941;if(f>>>0>357913941)qg();d=f*12|0;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[g>>2]=c+(f*12|0);d=b;do{k[c>>2]=k[712];k[c+4>>2]=k[713];k[c+8>>2]=k[714];c=(k[e>>2]|0)+12|0;k[e>>2]=c;d=d+-1|0}while((d|0)!=0)}while(0);b=b*3|0;h=a+12|0;i=a+20|0;c=k[i>>2]|0;f=k[h>>2]|0;j=f;if(c-f>>2>>>0>=b>>>0){h=a+16|0;g=k[h>>2]|0;e=g-f>>2;f=b>>>0>e>>>0;c=f?e:b;if(c|0){d=j;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}}if(f){d=b-e|0;c=d;e=g;while(1){k[e>>2]=-1073741824;c=c+-1|0;if(!c)break;else e=e+4|0}k[h>>2]=g+(d<<2);a=a+24|0;Xd(a,b);return}else{c=j+(b<<2)|0;if((g|0)==(c|0)){a=a+24|0;Xd(a,b);return}k[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);a=a+24|0;Xd(a,b);return}}e=f;if(f){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(j|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);gb(e);k[i>>2]=0;k[c>>2]=0;k[h>>2]=0;c=0}if(b>>>0>1073741823)Ba(11055,11078,304,11175);g=c>>1;g=c>>2>>>0<536870911?(g>>>0>>0?b:g):1073741823;if(g>>>0>1073741823)qg();d=g<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){e=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){e=0;break}Na[c&1]()}f=a+16|0;k[f>>2]=e;k[h>>2]=e;k[i>>2]=e+(g<<2);c=b;d=e;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}k[f>>2]=e+(b<<2);a=a+24|0;Xd(a,b);return}function Pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=a+8|0;k[w>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(w,d,b,c,0);t=k[a+24>>2]|0;u=a+32|0;h=k[u>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;s=g-h|0;v=s>>2;if((s|0)<=4){gb(d);return 1}o=k[a+28>>2]|0;p=(e|0)>0;q=t+64|0;r=t+28|0;s=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){B=9;break}n=k[h+(f<<2)>>2]|0;if(p)Ke(d|0,0,s|0)|0;if((n|0)>-1){m=k[t>>2]|0;g=0;l=n;while(1){do if(((k[m+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(x=k[(k[(k[q>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(x|0)>-1):0)?(A=k[r>>2]|0,j=k[o>>2]|0,y=k[j+(k[A+(x<<2)>>2]<<2)>>2]|0,z=x+1|0,z=k[j+(k[A+((((z|0)%3|0|0)==0?x+-2|0:z)<<2)>>2]<<2)>>2]|0,A=k[j+(k[A+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(y|0)<(f|0)&(z|0)<(f|0)&(A|0)<(f|0)):0){h=_(y,e)|0;i=_(z,e)|0;j=_(A,e)|0;if(p)a=0;else{g=g+1|0;B=22;break}do{C=d+(a<<2)|0;k[C>>2]=(k[c+(a+j<<2)>>2]|0)+(k[c+(a+i<<2)>>2]|0)-(k[c+(a+h<<2)>>2]|0)+(k[C>>2]|0);a=a+1|0}while((a|0)!=(e|0));g=g+1|0;if((l|0)<0){h=g;g=l}else B=22}else B=22;while(0);do if((B|0)==22){B=0;if(!((l>>>0)%3|0)){h=g;g=l+2|0;break}else{h=g;g=l+-1|0;break}}while(0);do if(!(1<<(g&31)&k[m+(g>>>5<<2)>>2])){if((g|0)>=0){g=k[(k[(k[q>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824;while(0);l=(g|0)==(n|0)?-1073741824:g;if((l|0)<=-1)break;else g=h}g=_(f,e)|0;if(!h)B=34;else{if(p){a=0;do{C=d+(a<<2)|0;k[C>>2]=(k[C>>2]|0)/(h|0)|0;a=a+1|0}while((a|0)!=(e|0))}Jd(w,d,b,c+(g<<2)|0,g)}}else{g=_(f,e)|0;B=34}if((B|0)==34){B=0;Jd(w,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(v|0)){B=7;break}g=k[u>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((B|0)==7){gb(d);return 1}else if((B|0)==9)Ba(11196,11078,315,11219);return 0}function Qb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;y=k[a+24>>2]|0;w=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;s=a+32|0;g=k[s>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;f=a-g|0;a:do if((f|0)>4){t=(e|0)>0;u=y+12|0;v=e<<2;r=f>>2;f=a;while(1){q=r+-1|0;if(f-g>>2>>>0<=q>>>0)break;p=k[g+(q<<2)>>2]|0;if(t)Ke(d|0,0,v|0)|0;if((p|0)>-1){o=k[u>>2]|0;a=0;n=p;do{g=k[o+(n<<2)>>2]|0;if((g|0)>-1){i=k[y>>2]|0;h=(g>>>0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(q|0)&(l|0)<(q|0)&(f|0)<(q|0)){i=_(m,e)|0;h=_(l,e)|0;g=_(f,e)|0;if(t){f=0;do{m=d+(f<<2)|0;k[m>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0)+(k[m>>2]|0);f=f+1|0}while((f|0)!=(e|0))}a=a+1|0}}f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);f=_(q,e)|0;if(!a)A=34;else{if(t){g=0;do{r=d+(g<<2)|0;k[r>>2]=(k[r>>2]|0)/(a|0)|0;g=g+1|0}while((g|0)!=(e|0))}gc(x,b+(f<<2)|0,d,c,f)}}else{f=_(q,e)|0;A=34}if((A|0)==34){A=0;gc(x,b+(f<<2)|0,b+((_(r+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=d;break a}f=k[s>>2]|0;r=q;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else z=d;while(0);if((e|0)<=0){gc(x,b,z,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(x,b,z,c,0);gb(d);return 1}function Rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+10|0;l=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=42;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+10|0;i=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=j[c+8>>1]|0;d=c;while(1){if(l<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=42;break a}}}while(0);d=k[c>>2]|0;if(!d){c=42;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=42;break}else f=c}if((c|0)==42)return}function Sb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+12|0;j=c+16|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=42;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+12|0;i=c+16|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=k[c+8>>2]|0;d=c;while(1){if((j|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=42;break a}}}while(0);d=k[c>>2]|0;if(!d){c=42;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=42;break}else f=c}if((c|0)==42)return}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}j=c+9|0;l=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=42;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+9|0;j=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=i[c+8>>0]|0;d=c;while(1){if(l<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=42;break a}}}while(0);d=k[c>>2]|0;if(!d){c=42;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=42;break}else f=c}if((c|0)==42)return}function Ub(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((g|0)>(e|0)|((g|0)==(e|0)?(k[h>>2]|0)>>>0>d>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+d>>0]|0;b=Yf(d|0,e|0,1,0)|0;h=c;k[h>>2]=b;k[h+4>>2]=L;h=a+28|0;b=k[h>>2]|0;k[h>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{while(1){b=Xa(336)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}k[b>>2]=4464;c=b+100|0;f=b+4|0;g=f+96|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[c>>2]=-1;k[b+104>>2]=-1;k[b+108>>2]=-1;c=b+168|0;f=b+112|0;g=f+56|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));o[c>>2]=1.0;c=b+248|0;k[b+280>>2]=0;d=b+288|0;k[b+320>>2]=0;k[b+324>>2]=0;k[b+328>>2]=0;e=b;f=b+172|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;i[c+28>>0]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+28>>0]=0;c=k[h>>2]|0;k[h>>2]=e;if(c){Ja[k[(k[c>>2]|0)+4>>2]&127](c);j=15}break}case 1:{while(1){b=Xa(376)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}k[b>>2]=4604;c=b+100|0;f=b+4|0;g=f+96|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[c>>2]=-1;k[b+104>>2]=-1;k[b+108>>2]=-1;c=b+168|0;f=b+112|0;g=f+56|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));o[c>>2]=1.0;c=b+248|0;k[b+280>>2]=0;d=b+288|0;e=b+320|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+28>>2]=0;i[b+364>>0]=0;e=b+368|0;f=b+172|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;i[c+28>>0]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+28>>0]=0;k[e>>2]=-1;k[b+372>>2]=-1;c=k[h>>2]|0;k[h>>2]=b;if(c){Ja[k[(k[c>>2]|0)+4>>2]&127](c);j=15}break}default:j=15}if((j|0)==15){b=k[h>>2]|0;if(!b){a=0;return a|0}}a=Pa[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return a|0}function Vb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=a+8|0;k[y>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(y,d,b,c,0);v=k[a+24>>2]|0;w=a+32|0;h=k[w>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;u=g-h|0;x=u>>2;if((u|0)<=4){gb(d);return 1}r=k[a+28>>2]|0;s=(e|0)>0;t=v+12|0;u=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){z=9;break}q=k[h+(f<<2)>>2]|0;if(s)Ke(d|0,0,u|0)|0;if((q|0)>-1){p=k[t>>2]|0;a=0;o=q;do{h=k[p+(o<<2)>>2]|0;if((h|0)>-1){j=k[v>>2]|0;i=(h>>>0)%3|0;l=k[r>>2]|0;n=k[l+(k[j+(((h>>>0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;m=k[l+(g<<2)>>2]|0;g=((i|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;g=k[l+(g<<2)>>2]|0;if((n|0)<(f|0)&(m|0)<(f|0)&(g|0)<(f|0)){j=_(n,e)|0;i=_(m,e)|0;h=_(g,e)|0;if(s){g=0;do{n=d+(g<<2)|0;k[n>>2]=(k[c+(g+h<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+j<<2)>>2]|0)+(k[n>>2]|0);g=g+1|0}while((g|0)!=(e|0))}a=a+1|0}}g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;do if((g|0)>=0){g=k[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);o=(g|0)==(q|0)?-1073741824:g}while((o|0)>-1);g=_(f,e)|0;if(!a)z=32;else{if(s){h=0;do{q=d+(h<<2)|0;k[q>>2]=(k[q>>2]|0)/(a|0)|0;h=h+1|0}while((h|0)!=(e|0))}Jd(y,d,b,c+(g<<2)|0,g)}}else{g=_(f,e)|0;z=32}if((z|0)==32){z=0;Jd(y,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(x|0)){z=7;break}g=k[w>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((z|0)==7){gb(d);return 1}else if((z|0)==9)Ba(11196,11078,315,11219);return 0}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=j[c+8>>1]|0;d=c;while(1){if(i<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){j=k[c+4>>2]&m;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}i=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}h=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=k[c+8>>2]|0;d=c;while(1){if((i|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;l=c}}k[d>>2]=l;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}j=c+9|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+9|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=i[c+8>>0]|0;d=c;while(1){if(j<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+92|0;j=(b|0)<0;l=b+1|0;do if(!j){c=((l|0)%3|0|0)==0?b+-2|0:l;if(!((b>>>0)%3|0)){f=b+2|0;e=c;break}else{f=b+-1|0;e=c;break}}else{f=b;e=b}while(0);g=a+128|0;c=k[g>>2]|0;switch(c|0){case 1:case 0:{if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=32;break}case 5:{if(j)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;c=d+(c<<2)|0;k[c>>2]=(k[c>>2]|0)+1;if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+2;d=32;break}case 3:{if(j)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;c=d+(c<<2)|0;k[c>>2]=(k[c>>2]|0)+1;if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=32;break}case 7:{if(j)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;c=d+(c<<2)|0;k[c>>2]=(k[c>>2]|0)+2;if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+2;d=32;break}default:{}}if((d|0)==32)c=k[g>>2]|0;switch(c|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}c=k[h>>2]|0;if(!j?(i=((l|0)%3|0|0)==0?b+-2|0:l,(i|0)>=0):0)c=k[(k[c>>2]|0)+(((i>>>0)/3|0)*12|0)+(((i>>>0)%3|0)<<2)>>2]|0;else c=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(c<<2)>>2]|0)<6?5:0;return}function _b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(Db(a,b)|0)){s=0;return s|0}q=a+24|0;r=a+4|0;s=a+8|0;m=(k[s>>2]|0)-(k[r>>2]|0)>>2;p=a+28|0;e=k[p>>2]|0;f=k[q>>2]|0;j=e-f>>2;n=f;c=e;do if(m>>>0>j>>>0){l=m-j|0;o=a+32|0;d=k[o>>2]|0;if(d-e>>2>>>0>=l>>>0){Ke(e|0,0,l<<2|0)|0;k[p>>2]=e+(l<<2);break}if(m>>>0>1073741823)Ba(11055,11078,304,11175);g=d-f|0;h=g>>1;h=g>>2>>>0<536870911?(h>>>0>>0?m:h):1073741823;if(!h)g=0;else{if(h>>>0>1073741823){s=Da(4)|0;k[s>>2]=5228;ra(s|0,736,67)}e=h<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}g=d}d=g+(j<<2)|0;Ke(d|0,0,l<<2|0)|0;e=d;h=g+(h<<2)|0;g=g+(m<<2)|0;if((c|0)==(n|0))c=n;else{do{c=c+-4|0;m=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=m;d=e+-4|0;e=d}while((c|0)!=(n|0));f=k[q>>2]|0;c=k[p>>2]|0}k[q>>2]=e;k[p>>2]=g;k[o>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ja[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(f|0)gb(f)}else if(m>>>0>>0?(d=n+(m<<2)|0,(c|0)!=(d|0)):0)do{o=c+-4|0;k[p>>2]=o;c=k[o>>2]|0;k[o>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[p>>2]|0}while((c|0)!=(d|0));while(0);f=b+8|0;if(((k[s>>2]|0)-(k[r>>2]|0)|0)<=0){s=1;return s|0}g=b+16|0;h=a+16|0;j=a+4|0;e=0;while(1){p=f;o=k[p+4>>2]|0;d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((o|0)>(d|0)|((o|0)==(d|0)?(k[p>>2]|0)>>>0>c>>>0:0))){c=0;d=37;break}o=i[(k[b>>2]|0)+c>>0]|0;c=Yf(c|0,d|0,1,0)|0;p=g;k[p>>2]=c;k[p+4>>2]=L;p=(k[q>>2]|0)+(e<<2)|0;o=Pa[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[q>>2]|0)+(e<<2)>>2]|0;if(!c){c=0;d=37;break}if(!(Ha[k[(k[c>>2]|0)+8>>2]&31](c,k[h>>2]|0,k[(k[j>>2]|0)+(e<<2)>>2]|0)|0)){c=0;d=37;break}e=e+1|0;if((e|0)>=((k[s>>2]|0)-(k[r>>2]|0)>>2|0)){c=1;d=37;break}}if((d|0)==37)return c|0;return 0}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;c=m+40|0;l=m+8|0;f=a+56|0;k[c>>2]=k[f>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0))yc(b,k[b+4>>2]|0,c,c+4|0);k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[l+20>>2]=0;k[l+24>>2]=0;k[l+28>>2]=0;c=j;k[c>>2]=0;k[c+4>>2]=0;Mc(l,j);c=k[l+12>>2]|0;d=l+16|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);k[l+24>>2]=0;k[l+28>>2]=0;e=k[a+52>>2]|0;g=k[f>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ce(l);r=m;return 1}d=b+4|0;yc(b,k[d>>2]|0,c,c+4|0);h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ce(l);r=m;return 1}i=k[d>>2]|0;k[j>>2]=i;yc(b,i,c,c+4|0);ce(l);r=m;return 1}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;c=m+40|0;l=m+8|0;f=a+80|0;k[c>>2]=k[f>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0))yc(b,k[b+4>>2]|0,c,c+4|0);k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[l+20>>2]=0;k[l+24>>2]=0;k[l+28>>2]=0;c=j;k[c>>2]=0;k[c+4>>2]=0;Mc(l,j);c=k[l+12>>2]|0;d=l+16|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);k[l+24>>2]=0;k[l+28>>2]=0;e=k[a+76>>2]|0;g=k[f>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ce(l);r=m;return 1}d=b+4|0;yc(b,k[d>>2]|0,c,c+4|0);h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ce(l);r=m;return 1}i=k[d>>2]|0;k[j>>2]=i;yc(b,i,c,c+4|0);ce(l);r=m;return 1}function bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;i=a+32|0;j=a+36|0;h=k[j>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0)if(f>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){k[j>>2]=h+(~((h+-4-l|0)>>>2)<<2);i=e}else i=e;else{Ld(i,e-f|0);i=k[t>>2]|0}h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0)break;f=k[2993]|0;k[2993]=f+0;if(!f){f=0;break}Na[f&1]()}Ke(f|0,0,h|0)|0;if((i|0)>0){n=a+16|0;m=a+32|0;o=a+12|0;l=0;do{j=k[f+(l<<2)>>2]|0;g=k[n>>2]|0;do if((j|0)<=(g|0)){g=k[o>>2]|0;h=k[m>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;break}else{k[i>>2]=j;break}}else{h=k[m>>2]|0;k[h+(l<<2)>>2]=g}while(0);l=l+1|0;i=k[t>>2]|0}while((l|0)<(i|0));if((i|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;i=k[t>>2]|0}while((g|0)<(i|0));if((i|0)>0){l=a+20|0;j=0;do{g=c+(j<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[n>>2]|0)){if((h|0)<(k[o>>2]|0))k[g>>2]=(k[l>>2]|0)+h}else k[g>>2]=h-(k[l>>2]|0);j=j+1|0;i=k[t>>2]|0}while((j|0)<(i|0))}}}if((e|0)>=(d|0)){gb(f);return 1}p=0-e|0;q=a+16|0;r=a+32|0;s=a+12|0;a=a+20|0;o=e;do{n=c+(o<<2)|0;m=n+(p<<2)|0;if((i|0)>0){l=0;do{j=k[m+(l<<2)>>2]|0;g=k[q>>2]|0;do if((j|0)<=(g|0)){g=k[s>>2]|0;h=k[r>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;break}else{k[i>>2]=j;break}}else{h=k[r>>2]|0;k[h+(l<<2)>>2]=g}while(0);l=l+1|0;i=k[t>>2]|0}while((l|0)<(i|0));if((i|0)>0){g=0;do{k[n+(g<<2)>>2]=(k[b+(g+o<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;i=k[t>>2]|0}while((g|0)<(i|0));if((i|0)>0){j=0;do{g=n+(j<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[q>>2]|0)){if((h|0)<(k[s>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);j=j+1|0;i=k[t>>2]|0}while((j|0)<(i|0))}}}o=o+e|0}while((o|0)<(d|0));gb(f);return 1}function cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=La[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=_((k[b+4>>2]|0)-(k[b>>2]|0)>>2,x)|0;w=a+20|0;f=k[w>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[w>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Ld(v,h-d|0);q=c+8|0;o=q;j=k[o>>2]|0;o=k[o+4>>2]|0;r=c+16|0;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((o|0)>(g|0)|(o|0)==(g|0)&j>>>0>f>>>0)){x=0;return x|0}m=k[c>>2]|0;p=i[m+f>>0]|0;d=Yf(f|0,g|0,1,0)|0;e=L;n=r;k[n>>2]=d;k[n+4>>2]=e;a:do if(!(p<<24>>24)){if(!((o|0)>(e|0)|(o|0)==(e|0)&j>>>0>d>>>0)){x=0;return x|0}l=i[m+d>>0]|0;e=Yf(f|0,g|0,2,0)|0;f=L;g=r;k[g>>2]=e;k[g+4>>2]=f;g=k[w>>2]|0;n=k[v>>2]|0;d=g-n|0;h=n;if(l<<24>>24==4){q=Yf(e|0,f|0,d|0,0)|0;p=L;if((o|0)<(p|0)|(o|0)==(p|0)&j>>>0>>0){x=0;return x|0}else{xe(h|0,m+e|0,d|0)|0;q=r;q=Yf(k[q>>2]|0,k[q+4>>2]|0,d|0,0)|0;k[r>>2]=q;k[r+4>>2]=L;break}}if(d|0){p=l&255;m=l&255;d=0;l=o;h=n;while(1){o=Yf(e|0,f|0,p|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){xe(h+(d<<2)|0,(k[c>>2]|0)+e|0,m|0)|0;e=r;e=Yf(k[e>>2]|0,k[e+4>>2]|0,p|0,0)|0;f=L;h=r;k[h>>2]=e;k[h+4>>2]=f;h=k[v>>2]|0;g=k[w>>2]|0}d=d+1|0;if(d>>>0>=g-h>>2>>>0)break a;j=q;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(yb(h,x,c,k[v>>2]|0)|0)){x=0;return x|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?La[k[(k[d>>2]|0)+40>>2]&127](d)|0:0))s=21;if((s|0)==21?(t=k[v>>2]|0,s=(k[w>>2]|0)-t|0,u=s>>2,(s|0)>0):0){d=0;do{s=t+(d<<2)|0;a=k[s>>2]|0;k[s>>2]=a<<31>>31^a>>>1;d=d+1|0}while((d|0)!=(u|0))}d=k[e>>2]|0;if(d|0){if(!(Pa[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){x=0;return x|0}u=k[e>>2]|0;c=k[v>>2]|0;if(!(Ka[k[(k[u>>2]|0)+52>>2]&31](u,c,c,(k[w>>2]|0)-c>>2,x,k[b>>2]|0)|0)){x=0;return x|0}}x=1;return x|0}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;c=q;if(!b){r=q;return}m=b+4|0;o=(((k[m>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;nd(a,o,c);o=b+24|0;p=b+28|0;h=(k[p>>2]|0)-(k[o>>2]|0)>>2;i[c>>0]=0;nd(a+12|0,h,c);h=a+28|0;m=(((k[m>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;j=a+36|0;c=k[j>>2]|0;f=k[h>>2]|0;l=f;do if(c-f>>2>>>0>>0){e=f;if(f){c=a+32|0;d=k[c>>2]|0;if((d|0)!=(l|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);gb(e);k[j>>2]=0;k[c>>2]=0;k[h>>2]=0;c=0}if(m>>>0>1073741823)Ba(11055,11078,304,11175);g=c>>1;g=c>>2>>>0<536870911?(g>>>0>>0?m:g):1073741823;if(g>>>0>1073741823)qg();d=g<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){e=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){e=0;break}Na[c&1]()}f=a+32|0;k[f>>2]=e;k[h>>2]=e;k[j>>2]=e+(g<<2);c=m;d=e;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}k[f>>2]=e+(m<<2)}else{h=a+32|0;g=k[h>>2]|0;e=g-f>>2;f=m>>>0>e>>>0;c=f?e:m;if(c|0){d=l;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}}if(!f){c=l+(m<<2)|0;if((g|0)==(c|0))break;k[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);break}d=m-e|0;c=d;e=g;while(1){k[e>>2]=-1073741824;c=c+-1|0;if(!c)break;else e=e+4|0}k[h>>2]=g+(d<<2)}while(0);g=a+52|0;c=(k[p>>2]|0)-(k[o>>2]|0)|0;h=c>>2;j=a+60|0;l=k[g>>2]|0;if((k[j>>2]|0)-l>>2>>>0>>0){m=a+56|0;n=(k[m>>2]|0)-l|0;f=n>>2;if(!h)c=0;else{if(h>>>0>1073741823){q=Da(4)|0;k[q>>2]=5228;ra(q|0,736,67)}d=(c|0)==0?1:c;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(f<<2)|0;d=e+(0-f<<2)|0;if((n|0)>0)xe(d|0,l|0,n|0)|0;k[g>>2]=d;k[m>>2]=e;k[j>>2]=c+(h<<2);if(l|0)gb(l)}Xd(a+40|0,(k[p>>2]|0)-(k[o>>2]|0)>>2);k[a+64>>2]=b;i[a+24>>0]=1;r=q;return}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;o=p;h=a+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;d=a+16|0;e=d;c=k[e>>2]|0;e=Yf(c|0,k[e+4>>2]|0,8,0)|0;f=L;if((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0){o=0;r=p;return o|0}n=k[a>>2]|0;c=n+c|0;m=c;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;c=c+4|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;i[a+36>>0]=1;n=n+e|0;g=Nf(g|0,h|0,e|0,f|0)|0;h=L;k[a+32>>2]=0;k[a+24>>2]=n;k[a+28>>2]=n+g;k[a+40>>2]=n;j=a+48|0;k[j>>2]=g;k[j+4>>2]=0;j=a+56|0;f=j;k[f>>2]=0;k[f+4>>2]=0;if(c>>>0>0|(c|0)==0&m>>>0>g>>>0){o=0;r=p;return o|0}d=j;k[d>>2]=m;k[d+4>>2]=c;c=Yf(m|0,c|0,8,0)|0;d=L;if(0<(d|0)|0==(d|0)&g>>>0>>0){o=0;r=p;return o|0}f=n+m|0;e=f;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;m=j;k[m>>2]=c;k[m+4>>2]=d;i[a+76>>0]=1;n=n+c|0;m=Nf(g|0,h|0,c|0,d|0)|0;k[a+72>>2]=0;k[a+64>>2]=n;k[a+68>>2]=n+m;m=o+8|0;j=m+16|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;i[j+12>>0]=0;k[o>>2]=n;n=Nf(g|0,h|0,c|0,d|0)|0;c=m;k[c>>2]=n;k[c+4>>2]=0;c=o+16|0;m=c;k[m>>2]=0;k[m+4>>2]=0;a:do if(f>>>0>0|(f|0)==0&e>>>0>n>>>0)c=0;else{h=c;k[h>>2]=e;k[h+4>>2]=f;h=a+84|0;f=k[h>>2]|0;if((f|0)>0){g=a+80|0;d=f<<4;d=f>>>0>268435455|d>>>0>4294967291?-1:d+4|0;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=f;e=c+4|0;c=e+(f<<4)|0;d=e;do{i[d+12>>0]=0;d=d+16|0}while((d|0)!=(c|0));c=k[g>>2]|0;k[g>>2]=e;if(c|0)gb(c+-4|0);if((k[h>>2]|0)>0){c=0;do{if(!(Dc((k[g>>2]|0)+(c<<4)|0,o)|0)){c=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=b;d=o;e=c+36|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[b+36>>0]=i[o+36>>0]|0;c=1}while(0);o=c;r=p;return o|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)c=c&t;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;s=a+24|0;r=c;e=f;c=f;a:while(1){q=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(u)p=d&t;else p=(d>>>0)%(b>>>0)|0;if((p|0)==(r|0))break;d=(k[a>>2]|0)+(p<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{m=k[c+8>>2]|0;l=k[s>>2]|0;o=k[l+4>>2]|0;l=(k[l+8>>2]|0)-o|0;n=l>>2;if((l|0)>0)d=c;else{d=f;while(1){f=k[d>>2]|0;if(!f)break c;else d=f}}while(1){l=k[f+8>>2]|0;j=0;do{if((n|0)<=(j|0)){c=37;break a}g=k[o+(j<<2)>>2]|0;if(!(i[g+84>>0]|0)){h=k[g+68>>2]|0;g=k[h+(l<<2)>>2]|0;h=k[h+(m<<2)>>2]|0}else{g=l;h=m}j=j+1|0;if((h|0)!=(g|0))break c}while((j|0)<(n|0));d=k[f>>2]|0;if(!d){d=f;break}else{l=f;f=d;d=l}}}while(0);k[q>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(p<<2)>>2]>>2];k[k[(k[a>>2]|0)+(p<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=42;break a}}d=k[c>>2]|0;if(!d){c=42;break a}else{e=c;q=c}}k[d>>2]=q;d=k[c>>2]|0;if(!d){c=42;break}else{r=p;e=c}}if((c|0)==37)Ba(9495,9457,63,9485);else if((c|0)==42)return}function gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=r;r=r+32|0;q=w+16|0;s=w+8|0;t=w;u=k[c>>2]|0;v=a+8|0;j=k[v>>2]|0;n=j<<1;if((u|0)>(n|0))Ba(7470,7136,83,7505);o=k[c+4>>2]|0;if((o|0)>(n|0))Ba(7523,7136,84,7505);p=k[b>>2]|0;if((p|0)>(n|0))Ba(7558,7136,85,7505);m=k[b+4>>2]|0;if((m|0)>(n|0))Ba(7593,7136,86,7505);if((u|0)<=-1)Ba(7368,7136,87,7505);if((o|0)<=-1)Ba(7390,7136,88,7505);if((p|0)<=-1)Ba(7628,7136,89,7505);if((m|0)<=-1)Ba(7650,7136,90,7505);i=p-j|0;g=m-j|0;c=u-j|0;f=o-j|0;if(!(+N(+(+(c|0)))+ +N(+(+(f|0)))<=+(j|0))){if((i|0)>-1)if((g|0)<=-1)if((i|0)<1){b=-1;h=-1}else l=22;else{b=1;h=1}else if((g|0)<1){b=-1;h=-1}else l=22;if((l|0)==22){b=(i|0)>0?1:-1;h=(g|0)>0?1:-1}z=_(j,b)|0;x=_(j,h)|0;y=(i<<1)-z|0;i=(g<<1)-x|0;g=(_(b,h)|0)>-1;i=((g?0-i|0:i)+z|0)/2|0;g=((g?0-y|0:y)+x|0)/2|0;if((c|0)>-1)if((f|0)<=-1)if((c|0)<1){b=-1;h=-1}else l=27;else{b=1;h=1}else if((f|0)<1){b=-1;h=-1}else l=27;if((l|0)==27){b=(c|0)>0?1:-1;h=(f|0)>0?1:-1}x=_(j,b)|0;z=_(j,h)|0;y=(c<<1)-x|0;c=(f<<1)-z|0;f=(_(b,h)|0)>-1;b=i;c=((f?0-c|0:c)+x|0)/2|0;f=((f?0-y|0:y)+z|0)/2|0}else b=i;b=b-c|0;c=g-f|0;if((n|0)<(b|0))Ba(7709,7136,160,7733);if((b|0)<0)b=(k[a+4>>2]|0)+b|0;if((n|0)<(c|0))Ba(7709,7136,160,7733);if((c|0)<0)c=(k[a+4>>2]|0)+c|0;k[t>>2]=b;k[t+4>>2]=c;k[s>>2]=u;k[s+4>>2]=o;wc(q,a,s,t);x=k[v>>2]|0;u=p-x|0;s=m-x|0;z=(k[q>>2]|0)-x|0;v=(k[q+4>>2]|0)-x|0;t=0-u|0;s=((s|0)<0?(((u|0)>-1?u:t)|0)==(x|0):0)?0-s|0:s;y=0-z|0;v=((v|0)<0?(((z|0)>-1?z:y)|0)==(x|0):0)?0-v|0:v;if((s|0)==(v|0)?((((u|0)<0?(((s|0)>-1?s:0-s|0)|0)==(x|0):0)?t:u)|0)==((((z|0)<0?(((v|0)>-1?v:0-v|0)|0)==(x|0):0)?y:z)|0):0){k[d+(e<<2)>>2]=b;k[d+(e+1<<2)>>2]=c;r=w;return}else Ba(7672,7136,96,7505)}function hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){i=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((j[g>>1]|0)==(j[d+8>>1]|0))h=d;else break}k[i>>2]=d;k[h>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((j[g>>1]|0)==(j[d+8>>1]|0))h=d;else break}k[i>>2]=d;k[h>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){j=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((i[g>>0]|0)==(i[d+8>>0]|0))h=d;else break}k[j>>2]=d;k[h>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;j=c}}}else{j=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((i[g>>0]|0)==(i[d+8>>0]|0))h=d;else break}k[j>>2]=d;k[h>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;j=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0,m=0;l=a+4|0;i=k[l>>2]|0;j=(i|0)==0;a:do if(!j){e=i+-1|0;d=(e&i|0)==0;if(d)g=e&b;else g=(b>>>0)%(i>>>0)|0;c=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(c)if(d){do{c=k[c>>2]|0;if(!c){c=g;break a}if((k[c+4>>2]&e|0)!=(g|0)){c=g;break a}}while((k[c+8>>2]|0)!=(b|0));a=c+12|0;return a|0}else{do{c=k[c>>2]|0;if(!c){c=g;break a}if((((k[c+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0)){c=g;break a}}while((k[c+8>>2]|0)!=(b|0));a=c+12|0;return a|0}else c=g}else c=0;while(0);while(1){g=Xa(16)|0;if(g|0)break;m=k[2993]|0;k[2993]=m+0;Na[m&1]()}k[g+8>>2]=b;k[g+12>>2]=0;k[g+4>>2]=b;k[g>>2]=0;m=a+12|0;d=k[m>>2]|0;f=+((d+1|0)>>>0);h=+o[a+16>>2];do if(j|f>+(i>>>0)*h){c=(i>>>0>2&(i+-1&i|0)==0&1|i<<1)^1;j=~~+Z(+(f/h))>>>0;c=c>>>0>>0?j:c;if((c|0)!=1){if(c+-1&c)c=$a(c)|0}else c=2;e=k[l>>2]|0;if(c>>>0<=e>>>0){if(c>>>0>>0){d=~~+Z(+(+(d>>>0)/h))>>>0;if(e>>>0>2&(e+-1&e|0)==0)d=1<<32-(ba(d+-1|0)|0);else d=$a(d)|0;c=c>>>0>>0?d:c;if(c>>>0>>0)kc(a,c)}}else kc(a,c);c=k[l>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&b;break}else{e=c;c=(b>>>0)%(c>>>0)|0;break}}else e=i;while(0);c=(k[a>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){b=a+8|0;k[g>>2]=k[b>>2];k[b>>2]=g;k[c>>2]=b;c=k[g>>2]|0;if(c|0){d=k[c+4>>2]|0;c=e+-1|0;if(!(c&e))c=d&c;else c=(d>>>0)%(e>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=g}}else{k[g>>2]=k[d>>2];k[d>>2]=g}k[m>>2]=(k[m>>2]|0)+1;a=g;a=a+12|0;return a|0}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)c=c&l;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(m){i=c;while(1){c=d;while(1){j=k[c+4>>2]&l;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((k[g>>2]|0)==(k[d+8>>2]|0))h=d;else break}k[i>>2]=d;k[h>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((k[g>>2]|0)==(k[d+8>>2]|0))h=d;else break}k[i>>2]=d;k[h>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function lc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+16|0;q=s;b=k[a>>2]|0;o=a+4|0;a=k[o>>2]|0;p=a-b|0;c=p>>5;if((p|0)<=32){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}p=b;n=a;i=n+-32|0;a=k[p>>2]|0;d=p+4|0;j=k[d>>2]|0;e=p+8|0;l=k[e>>2]|0;g=p+12|0;m=k[g>>2]|0;h=p+16|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];f=b;k[f>>2]=k[i>>2];k[f+4>>2]=k[i+4>>2];k[f+8>>2]=k[i+8>>2];k[f+12>>2]=k[i+12>>2];k[f+16>>2]=k[i+16>>2];k[f+20>>2]=k[i+20>>2];k[f+24>>2]=k[i+24>>2];k[f+28>>2]=k[i+28>>2];k[i>>2]=a;k[n+-28>>2]=j;k[n+-24>>2]=l;k[n+-20>>2]=m;n=n+-16|0;k[n>>2]=k[q>>2];k[n+4>>2]=k[q+4>>2];k[n+8>>2]=k[q+8>>2];k[n+12>>2]=k[q+12>>2];n=c+-1|0;if((c|0)==2){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}l=c+-3|0;m=(l|0)/2|0;if((l|0)<-1){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}a=p+32|0;b=a;if((n|0)>2){l=p+64|0;j=(k[a>>2]|0)>>>0<(k[l>>2]|0)>>>0;a=j?2:1;b=j?l:b}else a=1;l=k[p>>2]|0;if((k[b>>2]|0)>>>0>>0){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}j=k[d>>2]|0;i=k[e>>2]|0;g=k[g>>2]|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];while(1){h=f;f=b;k[h>>2]=k[f>>2];k[h+4>>2]=k[f+4>>2];k[h+8>>2]=k[f+8>>2];k[h+12>>2]=k[f+12>>2];k[h+16>>2]=k[f+16>>2];k[h+20>>2]=k[f+20>>2];k[h+24>>2]=k[f+24>>2];k[h+28>>2]=k[f+28>>2];if((m|0)<(a|0))break;a=a<<1|1;d=p+(a<<5)|0;c=d;e=a+1|0;if((e|0)<(n|0)){h=d+32|0;d=(k[d>>2]|0)>>>0<(k[h>>2]|0)>>>0;a=d?e:a;c=d?h:c}if((k[c>>2]|0)>>>0>>0)break;else b=c}p=b;k[p>>2]=l;k[p+4>>2]=j;k[p+8>>2]=i;k[p+12>>2]=g;p=p+16|0;k[p>>2]=k[q>>2];k[p+4>>2]=k[q+4>>2];k[p+8>>2]=k[q+8>>2];k[p+12>>2]=k[q+12>>2];q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+16|0;f=v;s=b+8|0;o=s;p=k[o>>2]|0;o=k[o+4>>2]|0;q=b+16|0;d=q;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((o|0)<(e|0)|(o|0)==(e|0)&p>>>0>>0){a=0;r=v;return a|0}p=(k[b>>2]|0)+c|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;m=q;k[m>>2]=d;k[m+4>>2]=e;m=a+76|0;Ic(m,p);c=f+12|0;i[c>>0]=0;if(Dc(f,b)|0){if((p|0)>0){n=f+8|0;o=f+4|0;j=k[f>>2]|0;h=0-(l[c>>0]|0)&255;f=1;g=0;c=k[n>>2]|0;do{if(c>>>0<4096){e=(k[o>>2]|0)+-1|0;k[o>>2]=e;c=l[j+e>>0]|0|c<<8}w=c&255;d=_(c>>>8,h)|0;e=w>>>0>>0;c=e?d+w|0:c-h-d|0;f=f^(e^1);e=(k[m>>2]|0)+(g>>>5<<2)|0;d=1<<(g&31);if(f)d=k[e>>2]|d;else d=k[e>>2]&~d;k[e>>2]=d;g=g+1|0}while((g|0)!=(p|0));k[n>>2]=c}n=s;p=k[n>>2]|0;n=k[n+4>>2]|0;w=q;c=k[w>>2]|0;w=Yf(c|0,k[w+4>>2]|0,4,0)|0;o=L;if(!((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0)?(w=a+12|0,t=(k[b>>2]|0)+c|0,t=l[t>>0]|l[t+1>>0]<<8|l[t+2>>0]<<16|l[t+3>>0]<<24,i[w>>0]=t,i[w+1>>0]=t>>8,i[w+2>>0]=t>>16,i[w+3>>0]=t>>24,w=q,p=k[w>>2]|0,w=k[w+4>>2]|0,u=Yf(p|0,w|0,4,0)|0,o=q,k[o>>2]=u,k[o+4>>2]=L,o=s,s=k[o>>2]|0,o=k[o+4>>2]|0,w=Yf(p|0,w|0,8,0)|0,p=L,!((o|0)<(p|0)|(o|0)==(p|0)&s>>>0>>0)):0){d=a+16|0;w=(k[b>>2]|0)+u|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;i[d>>0]=w;i[d+1>>0]=w>>8;i[d+2>>0]=w>>16;i[d+3>>0]=w>>24;d=q;d=Yf(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=q;k[c>>2]=d;k[c+4>>2]=L;w=w+(1-t)|0;k[a+20>>2]=w;c=(w|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(w&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;w=c;r=v;return w|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=a+64|0;if(!(k[r>>2]|0)){while(1){c=Xa(32)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;e=c+16|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;e=k[r>>2]|0;k[r>>2]=c;if(e|0){c=k[e>>2]|0;if(c|0){d=e+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;gb(c)}gb(e)}}switch(k[a+28>>2]|0){case 11:case 2:case 1:{c=1;break}case 4:case 3:{c=2;break}case 6:case 5:{c=4;break}case 8:case 7:{c=8;break}case 9:{c=4;break}case 10:{c=8;break}default:c=-1}n=_(i[a+24>>0]|0,c)|0;o=((n|0)<0)<<31>>31;p=k[r>>2]|0;f=Af(n|0,o|0,b|0,0)|0;if((L|0)<0){r=0;return r|0}q=p+4|0;g=k[q>>2]|0;h=k[p>>2]|0;l=g-h|0;d=h;c=g;a:do if(f>>>0>l>>>0){d=f-l|0;m=p+8|0;e=k[m>>2]|0;if((e-g|0)>>>0>=d>>>0)while(1){i[c>>0]=0;c=(k[q>>2]|0)+1|0;k[q>>2]=c;d=d+-1|0;if(!d)break a}if((f|0)<0)Ba(11055,11078,304,11175);h=e-h|0;j=h<<1;j=h>>>0<1073741823?(j>>>0>>0?f:j):2147483647;b:do if(!j)c=0;else while(1){c=Xa(j)|0;if(c|0)break b;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break b}Na[c&1]()}while(0);h=c+l|0;g=h;e=h;do{i[e>>0]=0;e=g+1|0;g=e;d=d+-1|0}while((d|0)!=0);e=k[p>>2]|0;f=(k[q>>2]|0)-e|0;d=h+(0-f)|0;if((f|0)>0)xe(d|0,e|0,f|0)|0;k[p>>2]=d;k[q>>2]=g;k[m>>2]=c+j;if(e|0)gb(e)}else if(f>>>0>>0?(j=d+f|0,(c|0)!=(j|0)):0)k[q>>2]=j;while(0);p=p+24|0;m=p;m=Yf(k[m>>2]|0,k[m+4>>2]|0,1,0)|0;k[p>>2]=m;k[p+4>>2]=L;p=k[r>>2]|0;k[a>>2]=p;m=p+16|0;r=k[m+4>>2]|0;q=a+8|0;k[q>>2]=k[m>>2];k[q+4>>2]=r;p=p+24|0;q=k[p+4>>2]|0;r=a+16|0;k[r>>2]=k[p>>2];k[r+4>>2]=q;r=a+40|0;k[r>>2]=n;k[r+4>>2]=o;r=a+48|0;k[r>>2]=0;k[r+4>>2]=0;k[a+80>>2]=b;r=1;return r|0}function oc(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,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;a=p;j=i[b+24>>0]|0;k[a>>2]=k[196];k[a+4>>2]=k[197];k[a+8>>2]=k[198];k[a+12>>2]=k[199];f=j<<24>>24;switch(f|0){case 1:{if(!(ab(b,c,a)|0)){o=0;r=p;return o|0}break}case 2:{if(!(_a(b,c,a)|0)){o=0;r=p;return o|0}break}case 3:{if(!(Za(b,c,a)|0)){o=0;r=p;return o|0}break}case 4:{if(!(Ya(b,c,a)|0)){o=0;r=p;return o|0}break}default:{o=0;r=p;return o|0}}o=a+(f<<2)|0;n=a;h=d+8|0;b=k[h>>2]|0;l=k[d>>2]|0;m=l;if(f>>>0<=b-l>>2>>>0){j=d+4|0;h=(k[j>>2]|0)-l>>2;f=f>>>0>h>>>0;h=a+(h<<2)|0;e=f?h:o;g=e;b=g-n|0;c=b>>2;if(c|0)hf(l|0,a|0,b|0)|0;b=m+(c<<2)|0;if(!f){a=k[j>>2]|0;if((a|0)==(b|0)){o=1;r=p;return o|0}k[j>>2]=a+(~((a+-4-b|0)>>>2)<<2);o=1;r=p;return o|0}if((e|0)==(o|0)){o=1;r=p;return o|0}e=k[j>>2]|0;c=(o+-4-g|0)>>>2;a=h;b=e;while(1){k[b>>2]=k[a>>2];a=a+4|0;if((a|0)==(o|0))break;else b=b+4|0}k[j>>2]=e+(c+1<<2);o=1;r=p;return o|0}e=l;if(l){b=d+4|0;c=k[b>>2]|0;if((c|0)!=(m|0))k[b>>2]=c+(~((c+-4-l|0)>>>2)<<2);gb(e);k[h>>2]=0;k[b>>2]=0;k[d>>2]=0;b=0}if(j<<24>>24<0)Ba(11055,11078,304,11175);e=b>>1;e=b>>2>>>0<536870911?(e>>>0>>0?f:e):1073741823;if(e>>>0>1073741823)qg();c=e<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0){f=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){f=0;break}Na[b&1]()}g=d+4|0;k[g>>2]=f;k[d>>2]=f;k[h>>2]=f+(e<<2);if(!(j<<24>>24)){o=1;r=p;return o|0}c=(o+-4-n|0)>>>2;b=f;while(1){k[b>>2]=k[a>>2];a=a+4|0;if((a|0)==(o|0))break;else b=b+4|0}k[g>>2]=f+(c+1<<2);o=1;r=p;return o|0}function pc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;q=k[a+24>>2]|0;r=a+32|0;g=k[r>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){n=k[a+28>>2]|0;o=q+12|0;p=(e|0)>0;l=f>>2;f=h;while(1){m=l+-1|0;if(f-g>>2>>>0<=m>>>0)break;f=k[g+(m<<2)>>2]|0;if((f|0)>=0?(u=k[(k[o>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[q>>2]|0;g=(u>>>0)%3|0;a=k[n>>2]|0;i=k[a+(k[h+(((u>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[a+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;g=k[a+(f<<2)>>2]|0;f=_(m,e)|0;if((i|0)<(m|0)&(j|0)<(m|0)&(g|0)<(m|0)){i=_(i,e)|0;a=_(j,e)|0;h=_(g,e)|0;if(p){g=0;do{k[d+(g<<2)>>2]=(k[b+(g+h<<2)>>2]|0)+(k[b+(g+a<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}gc(s,b+(f<<2)|0,d,c,f)}else v=20}else{f=_(m,e)|0;v=20}if((v|0)==20){v=0;gc(s,b+(f<<2)|0,b+((_(l+-2|0,e)|0)<<2)|0,c,f)}if((m|0)<=1){t=d;break a}f=k[r>>2]|0;l=m;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else t=d;while(0);if((e|0)<=0){gc(s,b,t,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(s,b,t,c,0);gb(d);return 1}function qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+16|0;f=u;s=b+8|0;o=s;p=k[o>>2]|0;o=k[o+4>>2]|0;q=b+16|0;d=q;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((o|0)<(e|0)|(o|0)==(e|0)&p>>>0>>0){t=0;r=u;return t|0}p=(k[b>>2]|0)+c|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;m=q;k[m>>2]=d;k[m+4>>2]=e;m=a+52|0;Ic(m,p);c=f+12|0;i[c>>0]=0;if(Dc(f,b)|0){if((p|0)>0){n=f+8|0;o=f+4|0;j=k[f>>2]|0;h=0-(l[c>>0]|0)&255;f=1;g=0;c=k[n>>2]|0;do{if(c>>>0<4096){e=(k[o>>2]|0)+-1|0;k[o>>2]=e;c=l[j+e>>0]|0|c<<8}v=c&255;d=_(c>>>8,h)|0;e=v>>>0>>0;c=e?d+v|0:c-h-d|0;f=f^(e^1);e=(k[m>>2]|0)+(g>>>5<<2)|0;d=1<<(g&31);if(f)d=k[e>>2]|d;else d=k[e>>2]&~d;k[e>>2]=d;g=g+1|0}while((g|0)!=(p|0));k[n>>2]=c}n=s;p=k[n>>2]|0;n=k[n+4>>2]|0;v=q;c=k[v>>2]|0;v=Yf(c|0,k[v+4>>2]|0,4,0)|0;o=L;if(!((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0)?(v=a+12|0,p=(k[b>>2]|0)+c|0,p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24,i[v>>0]=p,i[v+1>>0]=p>>8,i[v+2>>0]=p>>16,i[v+3>>0]=p>>24,v=q,p=k[v>>2]|0,v=k[v+4>>2]|0,t=Yf(p|0,v|0,4,0)|0,o=q,k[o>>2]=t,k[o+4>>2]=L,o=s,s=k[o>>2]|0,o=k[o+4>>2]|0,v=Yf(p|0,v|0,8,0)|0,p=L,!((o|0)<(p|0)|(o|0)==(p|0)&s>>>0>>0)):0){v=a+16|0;c=(k[b>>2]|0)+t|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[v>>0]=c;i[v+1>>0]=c>>8;i[v+2>>0]=c>>16;i[v+3>>0]=c>>24;v=q;v=Yf(k[v>>2]|0,k[v+4>>2]|0,4,0)|0;c=q;k[c>>2]=v;k[c+4>>2]=L;c=1}else c=0}else c=0;v=c;r=u;return v|0}function rc(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4604;b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}e=a+320|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b+-4|0);Od(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;gb(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b);b=k[a+136>>2]|0;if(b|0)gb(b);b=k[a+124>>2]|0;if(b|0)gb(b);b=k[a+112>>2]|0;if(b|0)gb(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+64>>2]|0;if(b|0)gb(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;_d(b);gb(b);return}function sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;q=k[a+24>>2]|0;r=a+32|0;g=k[r>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){m=k[a+28>>2]|0;n=q+64|0;o=q+28|0;p=(e|0)>0;j=f>>2;f=h;while(1){l=j+-1|0;if(f-g>>2>>>0<=l>>>0)break;f=k[g+(l<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[q>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){i=k[o>>2]|0;f=k[m>>2]|0;g=k[f+(k[i+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[i+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;i=k[f+(k[i+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=_(l,e)|0;if((g|0)<(l|0)&(a|0)<(l|0)&(i|0)<(l|0)){j=_(g,e)|0;h=_(a,e)|0;a=_(i,e)|0;if(p){g=0;do{k[d+(g<<2)>>2]=(k[b+(g+a<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}gc(s,b+(f<<2)|0,d,c,f)}else v=16}else{f=_(l,e)|0;v=16}if((v|0)==16){v=0;gc(s,b+(f<<2)|0,b+((_(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=d;break a}f=k[r>>2]|0;j=l;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else t=d;while(0);if((e|0)<=0){gc(s,b,t,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(s,b,t,c,0);gb(d);return 1}function tc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+8|0;k[r>>2]=e;s=k[a+24>>2]|0;q=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(r,d,b,c,0);m=a+32|0;g=k[m>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;p=a-g|0;n=p>>2;if((p|0)<=4){gb(d);return 1}o=s+12|0;p=(e|0)>0;f=1;while(1){if(a-g>>2>>>0<=f>>>0){u=9;break}g=k[g+(f<<2)>>2]|0;if((g|0)>=0?(t=k[(k[o>>2]|0)+(g<<2)>>2]|0,(t|0)>-1):0){h=k[s>>2]|0;a=(t>>>0)%3|0;i=k[q>>2]|0;j=k[i+(k[h+(((t>>>0)/3|0)*12|0)+(a<<2)>>2]<<2)>>2]|0;g=t+1|0;g=((g|0)%3|0|0)==0?t+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[h+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;l=k[i+(g<<2)>>2]|0;g=((a|0)==0?2:-1)+t|0;if((g|0)<0)g=-1073741824;else g=k[h+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;a=k[i+(g<<2)>>2]|0;g=_(f,e)|0;if((j|0)<(f|0)&(l|0)<(f|0)&(a|0)<(f|0)){j=_(j,e)|0;i=_(l,e)|0;h=_(a,e)|0;if(p){a=0;do{k[d+(a<<2)>>2]=(k[c+(a+h<<2)>>2]|0)+(k[c+(a+i<<2)>>2]|0)-(k[c+(a+j<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}Jd(r,d,b,c+(g<<2)|0,g)}else u=18}else{g=_(f,e)|0;u=18}if((u|0)==18){u=0;Jd(r,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(n|0)){u=7;break}a=k[m>>2]|0;g=k[a>>2]|0;a=k[a+4>>2]|0}if((u|0)==7){gb(d);return 1}else if((u|0)==9)Ba(11196,11078,315,11219);return 0}function uc(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4464;e=a+320|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b+-4|0);Od(a+228|0);d=k[a+212>>2]|0;e=d;if(d|0){b=a+216|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);gb(d)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;gb(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b);b=k[a+136>>2]|0;if(b|0)gb(b);b=k[a+124>>2]|0;if(b|0)gb(b);b=k[a+112>>2]|0;if(b|0)gb(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+64>>2]|0;if(b|0)gb(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;_d(b);gb(b);return}function vc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;t=k[a+24>>2]|0;r=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(s,d,b,c,0);m=a+32|0;g=k[m>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;q=a-g|0;n=q>>2;if((q|0)<=4){gb(d);return 1}o=t+64|0;p=t+28|0;q=(e|0)>0;f=1;while(1){if(a-g>>2>>>0<=f>>>0){v=9;break}g=k[g+(f<<2)>>2]|0;if(!((g|0)<0?1:(1<<(g&31)&k[(k[t>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[o>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(u|0)>-1):0){i=k[p>>2]|0;g=k[r>>2]|0;a=k[g+(k[i+(u<<2)>>2]<<2)>>2]|0;h=u+1|0;h=k[g+(k[i+((((h|0)%3|0|0)==0?u+-2|0:h)<<2)>>2]<<2)>>2]|0;i=k[g+(k[i+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;g=_(f,e)|0;if((a|0)<(f|0)&(h|0)<(f|0)&(i|0)<(f|0)){l=_(a,e)|0;j=_(h,e)|0;h=_(i,e)|0;if(q){a=0;do{k[d+(a<<2)>>2]=(k[c+(a+h<<2)>>2]|0)+(k[c+(a+j<<2)>>2]|0)-(k[c+(a+l<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}Jd(s,d,b,c+(g<<2)|0,g)}else v=14}else{g=_(f,e)|0;v=14}if((v|0)==14){v=0;Jd(s,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(n|0)){v=7;break}a=k[m>>2]|0;g=k[a>>2]|0;a=k[a+4>>2]|0}if((v|0)==7){gb(d);return 1}else if((v|0)==9)Ba(11196,11078,315,11219);return 0}function wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0;n=b+8|0;p=k[n>>2]|0;e=(k[c>>2]|0)-p|0;m=c+4|0;g=(k[m>>2]|0)-p|0;f=c;k[f>>2]=e;k[f+4>>2]=g;q=+N(+(+(e|0)))+ +N(+(+(g|0)));f=k[n>>2]|0;if(!(q<=+(f|0))){if((e|0)>-1)if((g|0)<=-1)if((e|0)<1){h=-1;i=-1}else o=6;else{h=1;i=1}else if((g|0)<1){h=-1;i=-1}else o=6;if((o|0)==6){h=(e|0)>0?1:-1;i=(g|0)>0?1:-1}l=_(f,h)|0;j=_(f,i)|0;e=(e<<1)-l|0;k[c>>2]=e;f=(g<<1)-j|0;k[m>>2]=f;if((_(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;l=(f+l|0)/2|0;k[c>>2]=l;g=(e+j|0)/2|0;k[m>>2]=g;h=0;e=l;j=k[n>>2]|0}else{h=1;j=f}f=(k[d>>2]|0)+e|0;k[a>>2]=f;e=(k[d+4>>2]|0)+g|0;l=a+4|0;k[l>>2]=e;if((j|0)>=(f|0)){if((f|0)<(0-j|0))f=(k[b+4>>2]|0)+f|0}else f=f-(k[b+4>>2]|0)|0;k[a>>2]=f;if((j|0)>=(e|0))if((e|0)<(0-j|0))i=(k[b+4>>2]|0)+e|0;else i=e;else i=e-(k[b+4>>2]|0)|0;k[l>>2]=i;if(h){o=i;b=f;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}if((f|0)>-1)if((i|0)<=-1)if((f|0)<1){g=-1;h=-1}else o=24;else{g=1;h=1}else if((i|0)<1){g=-1;h=-1}else o=24;if((o|0)==24){g=(f|0)>0?1:-1;h=(i|0)>0?1:-1}c=_(j,g)|0;j=_(j,h)|0;e=(f<<1)-c|0;k[a>>2]=e;f=(i<<1)-j|0;k[l>>2]=f;if((_(g,h)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;b=(f+c|0)/2|0;k[a>>2]=b;o=(e+j|0)/2|0;k[l>>2]=o;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;n=o;g=k[c>>2]|0;k[c>>2]=0;k[n>>2]=g;Fb(a,b,n);g=k[n>>2]|0;k[n>>2]=0;if(g|0){f=k[g+68>>2]|0;c=f;if(f|0){d=g+72|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(f)}n=g+64|0;c=k[n>>2]|0;k[n>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;gb(d)}gb(c)}gb(g)}i=a+68|0;n=a+72|0;e=k[n>>2]|0;j=k[i>>2]|0;l=e-j|0;h=l>>2;if((h|0)>(b|0)){r=o;return}d=b+1|0;c=j;f=e;if(d>>>0<=h>>>0){if(d>>>0>=h>>>0){r=o;return}c=c+(d<<2)|0;if((f|0)==(c|0)){r=o;return}k[n>>2]=f+(~((f+-4-c|0)>>>2)<<2);r=o;return}m=d-h|0;b=a+76|0;c=k[b>>2]|0;if(c-e>>2>>>0>=m>>>0){c=m;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[n>>2]=f+(m<<2);r=o;return}if(d>>>0>1073741823)Ba(11055,11078,304,11175);a=c-j|0;g=a>>1;g=a>>2>>>0<536870911?(g>>>0>>0?d:g):1073741823;if(!g)c=0;else{if(g>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}d=g<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}f=c+(h<<2)|0;d=m;e=f;while(1){k[e>>2]=1;d=d+-1|0;if(!d)break;else e=e+4|0}d=f+(0-h<<2)|0;if((l|0)>0)xe(d|0,j|0,l|0)|0;k[i>>2]=d;k[n>>2]=f+(m<<2);k[b>>2]=c+(g<<2);if(!j){r=o;return}gb(j);r=o;return}function yc(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,j=0,l=0,m=0,n=0,o=0;l=k[a>>2]|0;g=l;j=d-c|0;if((j|0)<=0)return;n=a+8|0;f=k[n>>2]|0;o=a+4|0;m=k[o>>2]|0;e=m;if((j|0)<=(f-e|0)){g=e-b|0;if((j|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;f=f+1|0;e=(k[o>>2]|0)+1|0;k[o>>2]=e}while((f|0)!=(d|0))}if((g|0)>0){d=h;h=e}else return}else h=m;g=h-(b+j)|0;e=b+g|0;if(e>>>0>>0){f=h;do{i[f>>0]=i[e>>0]|0;e=e+1|0;f=(k[o>>2]|0)+1|0;k[o>>2]=f}while((e|0)!=(m|0))}if(g|0)hf(h+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0))return;while(1){i[b>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else b=b+1|0}return}e=e-g+j|0;if((e|0)<0)Ba(11055,11078,304,11175);m=f-g|0;h=m<<1;h=m>>>0<1073741823?(h>>>0>>0?e:h):2147483647;m=b;f=m-g|0;a:do if(!h)g=0;else while(1){e=Xa(h)|0;if(e|0){g=e;break a}e=k[2993]|0;k[2993]=e+0;if(!e){g=0;break a}Na[e&1]()}while(0);j=g+f|0;e=j;h=g+h|0;if((c|0)==(d|0)){c=e;f=l}else{f=j;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}e=m-f|0;g=j+(0-e)|0;if((e|0)>0)xe(g|0,f|0,e|0)|0;e=(k[o>>2]|0)-m|0;if((e|0)>0){xe(c|0,b|0,e|0)|0;c=c+e|0;b=k[a>>2]|0}else b=f;k[a>>2]=g;k[o>>2]=c;k[n>>2]=h;if(!b)return;gb(b);return}function zc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;f=a+4|0;j=k[f>>2]|0;d=d-b<<3;k[f>>2]=j-c+e+d;f=(k[a>>2]|0)+(j>>>5<<2)|0;i=j&31;if((i|0)==(c|0)){d=e-c+d|0;if((d|0)<=0)return;if(c){m=32-c|0;n=(d|0)<(m|0)?d:m;m=-1>>>(m-n|0)&-1<>2]=k[f>>2]&~m|k[b>>2]&m;d=d-n|0;f=f+((n+c|0)>>>5<<2)|0;b=b+4|0}e=d>>>5;hf(f|0,b|0,e<<2|0)|0;a=d-(e<<5)|0;d=f+(e<<2)|0;if((a|0)<=0)return;n=-1>>>(32-a|0);k[d>>2]=k[d>>2]&~n|k[b+(e<<2)>>2]&n;return}g=d+e-c|0;if((g|0)<=0)return;if(!c)d=b;else{e=32-c|0;h=(g|0)<(e|0)?g:e;e=-1>>>(e-h|0)&-1<>2];d=32-i|0;a=d>>>0>>0?d:h;k[f>>2]=k[f>>2]&~(-1>>>(d-a|0)&-1<>>0>c>>>0?e<>>(c-i|0));f=f+((i+a|0)>>>5<<2)|0;d=h-a|0;if((d|0)>0)k[f>>2]=k[f>>2]&~(-1>>>(32-d|0))|e>>>(a+c|0);else d=j+a&31;g=g-h|0;i=d;d=b+4|0}n=32-i|0;c=-1<>>0>31){l=~c;m=g+-32|0;h=m>>>5;j=h<<5;a=d;e=k[f>>2]|0;b=f;while(1){o=k[a>>2]|0;k[b>>2]=e&l|o<>2]&c|o>>>n;k[b>>2]=e;g=g+-32|0;if(g>>>0<=31)break;else a=a+4|0}o=h+1|0;g=m-j|0;f=f+(o<<2)|0;d=d+(o<<2)|0}if(!g)return;b=k[d>>2]&-1>>>(32-g|0);e=(n|0)<(g|0)?n:g;k[f>>2]=k[f>>2]&~(-1<>>(n-e|0))|b<>>5<<2)|0;d=g-e|0;if((d|0)<=0)return;k[a>>2]=k[a>>2]&~(-1>>>(32-d|0))|b>>>e;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Yf(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Yf(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ld(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Yf(c|0,d|0,1,0)|0;d=L;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Yf(c|0,d|0,1,0)|0;d=L;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=qd(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function Bc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;d=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;c=d>>>0>1073741823?-1:d<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}c=k[g>>2]|0;k[g>>2]=b;if(c|0)gb(c);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=d<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=Yf(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}xe(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=Yf(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=Yf(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+40|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=Yf(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=L;b=k[b>>2]|0;n=b+8|0;m=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(k[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}b=i[(k[b>>2]|0)+d>>0]|0;m=Yf(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=L;if((b&255)>31){n=0;return n|0}k[a+32>>2]=b&255;n=1;return n|0}function Cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(l,m-e|0,4592);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}o=k[c+80>>2]|0;l=(k[c+84>>2]|0)-o|0;n=(l|0)/12|0;if((l|0)<=0){q=1;return q|0}a=a+80|0;h=b+68|0;g=0;while(1){if((g|0)>=(n|0)){d=9;break}j=o;d=g*3|0;e=k[p>>2]|0;f=k[(k[a>>2]|0)+12>>2]|0;c=k[f+(k[e+(g*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}l=k[h>>2]|0;k[l+(k[j+(g*12|0)>>2]<<2)>>2]=c;c=d+1|0;c=k[f+(k[e+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=13;break}k[l+(k[j+(g*12|0)+4>>2]<<2)>>2]=c;c=d+2|0;c=k[f+(k[e+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=13;break}k[l+(k[j+(g*12|0)+8>>2]<<2)>>2]=c;g=g+1|0;if((g|0)>=(n|0)){c=1;d=13;break}}if((d|0)==9)Ba(10269,10250,64,10264);else if((d|0)==12)Ba(10323,10342,80,10374);else if((d|0)==13)return c|0;return 0}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;h=d;f=k[h+4>>2]|0;j=b+16|0;g=j;c=k[g>>2]|0;g=k[g+4>>2]|0;if(!((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[a+12>>0]=i[(k[b>>2]|0)+c>>0]|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Yf(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=L;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=Yf(h|0,g|0,5,0)|0;h=L;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;e=c+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=j;k[b>>2]=g;k[b+4>>2]=h;f=Nf(d|0,f|0,g|0,h|0)|0;b=L;if(0>(b|0)|0==(b|0)&e>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((e|0)<1){j=0;return j|0}k[a>>2]=c;d=e+-1|0;b=c+d|0;a:do switch((l[b>>0]|0)>>>6&3){case 0:{k[a+4>>2]=d;d=(l[b>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:if((e|0)<2){j=0;return j|0}else{k[a+4>>2]=e+-2;d=c+e+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break a}case 2:if((e|0)<3){j=0;return j|0}else{k[a+4>>2]=e+-3;d=c+e+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break a}default:{j=0;return j|0}}while(0);a=d+4096|0;k[c>>2]=a;if(a>>>0>1048575){j=0;return j|0}h=Yf(g|0,h|0,e|0,0)|0;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;r=b+84|0;i[r>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(l,m-e|0,4592);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}q=k[c+80>>2]|0;o=(k[c+84>>2]|0)-q|0;p=(o|0)/12|0;if((o|0)<=0){r=1;return r|0}o=n+28|0;n=a+80|0;h=b+68|0;g=0;while(1){if((g|0)>=(p|0)){d=9;break}j=q;d=g*3|0;e=k[o>>2]|0;f=k[(k[n>>2]|0)+12>>2]|0;c=k[f+(k[e+(d<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=14;break}if(i[r>>0]|0){d=12;break}l=k[h>>2]|0;k[l+(k[j+(g*12|0)>>2]<<2)>>2]=c;c=k[f+(k[e+(d+1<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=14;break}k[l+(k[j+(g*12|0)+4>>2]<<2)>>2]=c;c=k[f+(k[e+(d+2<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=14;break}k[l+(k[j+(g*12|0)+8>>2]<<2)>>2]=c;g=g+1|0;if((g|0)>=(p|0)){c=1;d=14;break}}if((d|0)==9)Ba(10269,10250,64,10264);else if((d|0)==12)Ba(10323,10342,80,10374);else if((d|0)==14)return c|0;return 0}function Fc(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+16|0;x=z;y=a+8|0;u=i[(k[y>>2]|0)+24>>0]<<2;if(!b){r=z;return 1}v=a+16|0;w=a+20|0;t=+((1<>2])+-1|0)+-1.0;q=x+4|0;s=x+8|0;m=0;n=0;p=0;while(1){f=p|1;a=k[v>>2]|0;e=(k[w>>2]|0)-a>>2;if(e>>>0<=p>>>0){a=5;break}if(e>>>0<=f>>>0){a=7;break}j=+(k[a+(p<<2)>>2]|0)/t;p=p+2|0;h=+(k[a+(f<<2)>>2]|0)/t;c=j+h;d=j-h;if(!(d<=.5)|(!(d>=-.5)|(!(c>=.5)|!(c<=1.5)))){do if(!(c<=.5)){if(c>=1.5){g=1.5-h;h=1.5-j;break}if(!(d<=-.5)){g=h+.5;h=j+-.5;break}else{g=h+-.5;h=j+.5;break}}else{g=.5-h;h=.5-j}while(0);c=h+g;d=g-h;l=-1.0}else{l=1.0;g=j}j=g*2.0+-1.0;g=h*2.0+-1.0;h=c*2.0;c=h+-1.0;h=3.0-h;A=d*2.0;d=A+1.0;A=1.0-A;d=A>2]=0.0;d=0.0;c=0.0}else{A=1.0/+O(+d);o[x>>2]=c*A;d=g*A;c=j*A}o[q>>2]=c;o[s>>2]=d;xe((k[k[(k[y>>2]|0)+64>>2]>>2]|0)+m|0,x|0,u|0)|0;n=n+1|0;if((n|0)==(b|0)){a=3;break}else m=m+u|0}if((a|0)==3){r=z;return 1}else if((a|0)==5)Ba(11196,11078,315,11219);else if((a|0)==7)Ba(11196,11078,315,11219);return 0}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;d=k[a>>2]|0;i=c-d>>5;e=i+1|0;if(e>>>0>134217727)Ba(11055,11078,304,11175);l=d;j=c;m=a+8|0;h=(k[m>>2]|0)-d|0;f=h>>4;f=h>>5>>>0<67108863?(f>>>0>>0?e:f):134217727;if(!f)e=0;else{if(f>>>0>134217727){n=Da(4)|0;k[n>>2]=5228;ra(n|0,736,67)}e=f<<5;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}e=d}g=e+(i<<5)|0;d=g;h=e+(f<<5)|0;k[g>>2]=k[b>>2];k[e+(i<<5)+4>>2]=k[b+4>>2];k[e+(i<<5)+8>>2]=k[b+8>>2];k[e+(i<<5)+12>>2]=k[b+12>>2];f=e+(i<<5)+16|0;i=b+16|0;k[f>>2]=k[i>>2];k[f+4>>2]=k[i+4>>2];k[f+8>>2]=k[i+8>>2];k[f+12>>2]=k[i+12>>2];f=g+32|0;if((j|0)!=(l|0)){e=j;c=g;do{i=e;e=e+-32|0;k[c+-32>>2]=k[e>>2];k[c+-28>>2]=k[i+-28>>2];k[c+-24>>2]=k[i+-24>>2];k[c+-20>>2]=k[i+-20>>2];j=c+-16|0;i=i+-16|0;k[j>>2]=k[i>>2];k[j+4>>2]=k[i+4>>2];k[j+8>>2]=k[i+8>>2];k[j+12>>2]=k[i+12>>2];c=d+-32|0;d=c}while((e|0)!=(l|0));c=k[a>>2]|0}k[a>>2]=d;k[n>>2]=f;k[m>>2]=h;if(!c)return;gb(c);return}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=c;j=b;g=l-j|0;n=g>>2;h=a+8|0;d=k[h>>2]|0;f=k[a>>2]|0;m=f;if(n>>>0<=d-f>>2>>>0){i=a+4|0;h=k[i>>2]|0;a=h-f>>2;g=n>>>0>a>>>0;a=g?b+(a<<2)|0:c;f=h;if((a|0)==(b|0))d=m;else{e=a+-4|0;d=b;c=m;while(1){k[c>>2]=k[d>>2];d=d+4|0;if((d|0)==(a|0))break;else c=c+4|0}d=m+(((e-j|0)>>>2)+1<<2)|0}if(g){d=l-a|0;if((d|0)<=0)return;xe(h|0,a|0,d|0)|0;k[i>>2]=(k[i>>2]|0)+(d>>2<<2);return}else{if((f|0)==(d|0))return;k[i>>2]=f+(~((f+-4-d|0)>>>2)<<2);return}}e=f;if(f){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(m|0))k[d>>2]=c+(~((c+-4-f|0)>>>2)<<2);gb(e);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(n>>>0>1073741823)Ba(11055,11078,304,11175);e=d>>1;e=d>>2>>>0<536870911?(e>>>0>>0?n:e):1073741823;if(e>>>0>1073741823)qg();c=e<<2;c=(c|0)==0?1:c;while(1){d=Xa(c)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}c=a+4|0;k[c>>2]=d;k[a>>2]=d;k[h>>2]=d+(e<<2);if((g|0)<=0)return;xe(d|0,b|0,g|0)|0;k[c>>2]=d+(n<<2);return}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+16|0;j=n;l=a+4|0;c=k[l>>2]|0;if(c>>>0>=b>>>0){k[l>>2]=b;r=n;return}m=a+8|0;e=k[m>>2]|0;f=e<<5;d=b-c|0;if(f>>>0>>0|c>>>0>(f-d|0)>>>0){k[j>>2]=0;h=j+4|0;k[h>>2]=0;i=j+8|0;k[i>>2]=0;if((b|0)<0)Ba(11055,11078,304,11175);c=e<<6;b=b+31&-32;Td(j,f>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=k[l>>2]|0;k[h>>2]=b+d;c=k[a>>2]|0;f=c;e=k[j>>2]|0;b=(f+(b>>>5<<2)-c<<3)+(b&31)|0;if((b|0)>0){g=b>>>5;hf(e|0,c|0,g<<2|0)|0;c=b-(g<<5)|0;b=e+(g<<2)|0;e=b;if((c|0)>0){o=-1>>>(32-c|0);k[b>>2]=k[b>>2]&~o|k[f+(g<<2)>>2]&o}else c=0}else c=0;b=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=b;o=k[l>>2]|0;k[l>>2]=k[h>>2];k[h>>2]=o;o=k[m>>2]|0;k[m>>2]=k[i>>2];k[i>>2]=o;if(b|0)gb(b)}else{e=(k[a>>2]|0)+(c>>>5<<2)|0;k[l>>2]=b;c=c&31}if(!d){r=n;return}b=e;if(!c)c=e;else{m=32-c|0;o=m>>>0>d>>>0?d:m;k[b>>2]=k[b>>2]&~(-1>>>(m-o|0)&-1<>>5;Ke(c|0,0,o<<2|0)|0;d=d-(o<<5)|0;c=b+(o<<2)|0;if(!d){r=n;return}k[c>>2]=k[c>>2]&~(-1>>>(32-d|0));r=n;return}function Jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;k[a+4>>2]=k[b+4>>2];g=a+8|0;h=b+8|0;if((a|0)==(b|0))return;i=b+12|0;c=k[i>>2]|0;if(!c)c=0;else{f=a+16|0;if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){gb(d);k[g>>2]=0;k[f>>2]=0;k[a+12>>2]=0;c=k[i>>2]|0}if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[g>>2]=c;k[a+12>>2]=0;k[f>>2]=e;d=k[i>>2]|0}else{d=c;c=k[g>>2]|0}hf(c|0,k[h>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[i>>2]|0}k[a+12>>2]=c;g=a+20|0;i=b+20|0;h=b+24|0;c=k[h>>2]|0;if(!c)c=0;else{f=a+28|0;if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){gb(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[h>>2]|0}if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[g>>2]=c;k[a+24>>2]=0;k[f>>2]=e;d=k[h>>2]|0}else{d=c;c=k[g>>2]|0}hf(c|0,k[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[h>>2]|0}k[a+24>>2]=c;return}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;if((c|0)<=-1)Ba(10225,10250,63,10264);a=k[b+80>>2]|0;if((((k[b+84>>2]|0)-a|0)/12|0|0)<=(c|0))Ba(10269,10250,64,10264);l=a+(c*12|0)|0;f=l+12|0;e=d+8|0;a=k[e>>2]|0;h=k[d>>2]|0;i=h;if(a-h>>2>>>0<3){c=h;if(h){a=d+4|0;b=k[a>>2]|0;if((b|0)!=(i|0))k[a>>2]=b+(~((b+-4-h|0)>>>2)<<2);gb(c);k[e>>2]=0;k[a>>2]=0;k[d>>2]=0;a=0}c=a>>1;c=a>>2>>>0<536870911?(c>>>0<3?3:c):1073741823;if(c>>>0>1073741823)qg();b=c<<2;b=(b|0)==0?1:b;while(1){a=Xa(b)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}j=d+4|0;k[j>>2]=a;k[d>>2]=a;k[e>>2]=a+(c<<2);k[a>>2]=k[l>>2];k[a+4>>2]=k[l+4>>2];k[a+8>>2]=k[l+8>>2];k[j>>2]=a+12;return 1}j=d+4|0;a=(k[j>>2]|0)-h>>2;d=a>>>0<3;e=d?l+(a<<2)|0:f;g=e;b=g-l|0;c=b>>2;if(c|0)hf(h|0,l|0,b|0)|0;b=i+(c<<2)|0;if(!d){a=k[j>>2]|0;if((a|0)==(b|0))return 1;k[j>>2]=a+(~((a+-4-b|0)>>>2)<<2);return 1}if((e|0)==(f|0))return 1;c=k[j>>2]|0;e=l+8|0;b=c;while(1){k[b>>2]=k[l+(a<<2)>>2];a=a+1|0;if((a|0)==3)break;else b=b+4|0}k[j>>2]=c+(((e-g|0)>>>2)+1<<2);return 1}function Lc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+4|0;n=k[o>>2]|0;i=a+8|0;d=k[i>>2]|0;j=n+4|0;e=k[j>>2]|0;l=k[n>>2]|0;m=e-l|0;h=m>>2;a=l;c=e;if(d>>>0<=h>>>0){if(d>>>0>>0?(b=a+(d<<2)|0,(c|0)!=(b|0)):0)k[j>>2]=c+(~((c+-4-b|0)>>>2)<<2)}else{f=d-h|0;g=n+8|0;a=k[g>>2]|0;if(a-e>>2>>>0>>0){if(d>>>0>1073741823)Ba(11055,11078,304,11175);c=a-l|0;e=c>>1;d=c>>2>>>0<536870911?(e>>>0>>0?d:e):1073741823;if(!d)a=0;else{if(d>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}b=d<<2;b=(b|0)==0?1:b;while(1){a=Xa(b)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}}c=a+(h<<2)|0;Ke(c|0,0,f<<2|0)|0;b=c+(0-h<<2)|0;if((m|0)>0)xe(b|0,l|0,m|0)|0;k[n>>2]=b;k[j>>2]=c+(f<<2);k[g>>2]=a+(d<<2);if(l|0)gb(l)}else{Ke(e|0,0,f<<2|0)|0;k[j>>2]=c+(f<<2)}d=k[i>>2]|0}if((d|0)<=0)return 1;b=k[o>>2]|0;c=k[b>>2]|0;b=(k[b+4>>2]|0)-c>>2;a=0;while(1){if(b>>>0<=a>>>0){a=26;break}k[c+(a<<2)>>2]=a;a=a+1|0;if((a|0)>=(d|0)){a=24;break}}if((a|0)==24)return 1;else if((a|0)==26)Ba(11196,11078,315,11219);return 0}function Mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;g=a+8|0;c=k[g>>2]|0;f=k[a>>2]|0;h=f;if(c-f>>3>>>0>=2){g=a+4|0;a=k[g>>2]|0;e=a-f>>3;f=e>>>0<2;c=f?e:2;if(c|0){d=h;while(1){l=b;j=k[l+4>>2]|0;i=d;k[i>>2]=k[l>>2];k[i+4>>2]=j;c=c+-1|0;if(!c)break;else d=d+8|0}}if(f){d=2-e|0;c=d;e=a;while(1){i=b;j=k[i+4>>2]|0;l=e;k[l>>2]=k[i>>2];k[l+4>>2]=j;c=c+-1|0;if(!c)break;else e=e+8|0}k[g>>2]=a+(d<<3);return}else{c=h+16|0;if((a|0)==(c|0))return;k[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);return}}e=f;if(f){c=a+4|0;d=k[c>>2]|0;if((d|0)!=(h|0))k[c>>2]=d+(~((d+-8-f|0)>>>3)<<3);gb(e);k[g>>2]=0;k[c>>2]=0;k[a>>2]=0;c=0}e=c>>2;e=c>>3>>>0<268435455?(e>>>0<2?2:e):536870911;if(e>>>0>536870911)qg();d=e<<3;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}l=a+4|0;k[l>>2]=c;k[a>>2]=c;k[g>>2]=c+(e<<3);h=b;j=k[h+4>>2]|0;i=c;k[i>>2]=k[h>>2];k[i+4>>2]=j;i=k[b+4>>2]|0;j=c+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=i;k[l>>2]=c+16;return}function Nc(a,b){a=a|0;b=b|0;switch(b<<24>>24){case 0:{while(1){a=Xa(16)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=3012;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;b=a;return b|0}case 1:{while(1){a=Xa(32)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;k[a>>2]=3048;b=a+16|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;b=a;return b|0}case 2:{while(1){a=Xa(44)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;b=a+16|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a>>2]=3612;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;b=a;return b|0}case 3:{while(1){a=Xa(36)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;b=a+16|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a>>2]=3672;k[a+32>>2]=-1;b=a;return b|0}default:{b=0;return b|0}}return 0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=k[a>>2]|0;o=a+4|0;c=k[o>>2]|0;m=n;if((c|0)==(n|0))i=n;else{i=c+(~((c+-4-m|0)>>>2)<<2)|0;k[o>>2]=i}r=a+16|0;k[r>>2]=0;s=a+12|0;k[s>>2]=i;j=b+8|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;t=b+16|0;f=t;g=k[f>>2]|0;f=Yf(g|0,k[f+4>>2]|0,4,0)|0;e=L;if((d|0)<(e|0)|(d|0)==(e|0)&c>>>0>>0){b=0;return b|0}q=(k[b>>2]|0)+g|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;h=t;k[h>>2]=f;k[h+4>>2]=e;h=Nf(c|0,d|0,f|0,e|0)|0;g=L;if(0>(g|0)|0==(g|0)&q>>>0>h>>>0){b=0;return b|0}h=q>>>2;g=i-m>>2;if(h>>>0<=g>>>0){if(h>>>0>>0?(p=n+(h<<2)|0,(i|0)!=(p|0)):0)k[o>>2]=i+(~((i+-4-p|0)>>>2)<<2)}else{Ld(a,h-g|0);c=j;e=t;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}p=Yf(f|0,e|0,q|0,0)|0;o=L;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=8192){if((e|0)!=8192?(Ub=f+32768|0,(g|0)!=(Ub|0)):0)k[d>>2]=g+(~((g+-4-Ub|0)>>>2)<<2)}else Ld(j,8192-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(Zb=g+(p<<3)|0,(h|0)!=(Zb|0)):0)k[e>>2]=h+(~((h+-8-Zb|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>8192){h=0;break q}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=8192){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(dc=gd,cc=k[dc>>2]|0,dc=k[dc+4>>2]|0,fc=hd,ec=k[fc>>2]|0,fc=Yf(ec|0,k[fc+4>>2]|0,8,0)|0,gc=L,!((dc|0)<(gc|0)|(dc|0)==(gc|0)&cc>>>0>>0)):0)?(hc=k[b>>2]|0,ic=hc+ec|0,Rc=ic,Rc=l[Rc>>0]|l[Rc+1>>0]<<8|l[Rc+2>>0]<<16|l[Rc+3>>0]<<24,ic=ic+4|0,ic=l[ic>>0]|l[ic+1>>0]<<8|l[ic+2>>0]<<16|l[ic+3>>0]<<24,b=hd,k[b>>2]=fc,k[b+4>>2]=gc,b=Nf(cc|0,dc|0,fc|0,gc|0)|0,gd=L,!(ic>>>0>gd>>>0|(ic|0)==(gd|0)&Rc>>>0>b>>>0)):0)?(Sc=hc+fc|0,b=Yf(Rc|0,ic|0,fc|0,gc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Rc|0)>=1):0){n=id+40|0;k[n>>2]=Sc;d=Rc+-1|0;e=Sc+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Tc=(l[e>>0]|0)&63;Mc=id+48|0;k[Mc>>2]=Tc;break}case 1:{if((Rc|0)<2){h=0;break q}k[id+44>>2]=Rc+-2;Tc=Sc+Rc+-2|0;Tc=(l[Tc+1>>0]|0)<<8&16128|(l[Tc>>0]|0);Mc=id+48|0;k[Mc>>2]=Tc;break}case 2:{if((Rc|0)<3){h=0;break q}k[id+44>>2]=Rc+-3;Tc=Sc+Rc+-3|0;Tc=(l[Tc+1>>0]|0)<<8|(l[Tc>>0]|0)|(l[Tc+2>>0]|0)<<16&4128768;Mc=id+48|0;k[Mc>>2]=Tc;break}case 3:{k[id+44>>2]=Rc+-4;Tc=Sc+Rc+-4|0;Tc=(l[Tc+2>>0]|0)<<16|(l[Tc+3>>0]|0)<<24&1056964608|(l[Tc+1>>0]|0)<<8|(l[Tc>>0]|0);Mc=id+48|0;k[Mc>>2]=Tc;break}default:{}}d=Tc+32768|0;k[Mc>>2]=d;d=d>>>0>8388607;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){r:do if(d>>>0<32768){e=k[h>>2]|0;do{if((e|0)<=0)break r;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<32768)}while(0);gd=d&8191;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>13)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 10:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;s:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break s}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break s}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=32768){if((e|0)!=32768?(Vb=f+131072|0,(g|0)!=(Vb|0)):0)k[d>>2]=g+(~((g+-4-Vb|0)>>>2)<<2)}else Ld(j,32768-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(_b=g+(p<<3)|0,(h|0)!=(_b|0)):0)k[e>>2]=h+(~((h+-8-_b|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>32768){h=0;break s}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=32768){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(kc=gd,jc=k[kc>>2]|0,kc=k[kc+4>>2]|0,mc=hd,lc=k[mc>>2]|0,mc=Yf(lc|0,k[mc+4>>2]|0,8,0)|0,nc=L,!((kc|0)<(nc|0)|(kc|0)==(nc|0)&jc>>>0>>0)):0)?(oc=k[b>>2]|0,pc=oc+lc|0,Uc=pc,Uc=l[Uc>>0]|l[Uc+1>>0]<<8|l[Uc+2>>0]<<16|l[Uc+3>>0]<<24,pc=pc+4|0,pc=l[pc>>0]|l[pc+1>>0]<<8|l[pc+2>>0]<<16|l[pc+3>>0]<<24,b=hd,k[b>>2]=mc,k[b+4>>2]=nc,b=Nf(jc|0,kc|0,mc|0,nc|0)|0,gd=L,!(pc>>>0>gd>>>0|(pc|0)==(gd|0)&Uc>>>0>b>>>0)):0)?(Vc=oc+mc|0,b=Yf(Uc|0,pc|0,mc|0,nc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Uc|0)>=1):0){n=id+40|0;k[n>>2]=Vc;d=Uc+-1|0;e=Vc+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Wc=(l[e>>0]|0)&63;Nc=id+48|0;k[Nc>>2]=Wc;break}case 1:{if((Uc|0)<2){h=0;break s}k[id+44>>2]=Uc+-2;Wc=Vc+Uc+-2|0;Wc=(l[Wc+1>>0]|0)<<8&16128|(l[Wc>>0]|0);Nc=id+48|0;k[Nc>>2]=Wc;break}case 2:{if((Uc|0)<3){h=0;break s}k[id+44>>2]=Uc+-3;Wc=Vc+Uc+-3|0;Wc=(l[Wc+1>>0]|0)<<8|(l[Wc>>0]|0)|(l[Wc+2>>0]|0)<<16&4128768;Nc=id+48|0;k[Nc>>2]=Wc;break}case 3:{k[id+44>>2]=Uc+-4;Wc=Vc+Uc+-4|0;Wc=(l[Wc+2>>0]|0)<<16|(l[Wc+3>>0]|0)<<24&1056964608|(l[Wc+1>>0]|0)<<8|(l[Wc>>0]|0);Nc=id+48|0;k[Nc>>2]=Wc;break}default:{}}d=Wc+131072|0;k[Nc>>2]=d;d=d>>>0>33554431;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){t:do if(d>>>0<131072){e=k[h>>2]|0;do{if((e|0)<=0)break t;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<131072)}while(0);gd=d&32767;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>15)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 11:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;u:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break u}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break u}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=65536){if((e|0)!=65536?(Wb=f+262144|0,(g|0)!=(Wb|0)):0)k[d>>2]=g+(~((g+-4-Wb|0)>>>2)<<2)}else Ld(j,65536-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?($b=g+(p<<3)|0,(h|0)!=($b|0)):0)k[e>>2]=h+(~((h+-8-$b|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>65536){h=0;break u}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=65536){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(rc=gd,qc=k[rc>>2]|0,rc=k[rc+4>>2]|0,tc=hd,sc=k[tc>>2]|0,tc=Yf(sc|0,k[tc+4>>2]|0,8,0)|0,uc=L,!((rc|0)<(uc|0)|(rc|0)==(uc|0)&qc>>>0>>0)):0)?(vc=k[b>>2]|0,wc=vc+sc|0,Xc=wc,Xc=l[Xc>>0]|l[Xc+1>>0]<<8|l[Xc+2>>0]<<16|l[Xc+3>>0]<<24,wc=wc+4|0,wc=l[wc>>0]|l[wc+1>>0]<<8|l[wc+2>>0]<<16|l[wc+3>>0]<<24,b=hd,k[b>>2]=tc,k[b+4>>2]=uc,b=Nf(qc|0,rc|0,tc|0,uc|0)|0,gd=L,!(wc>>>0>gd>>>0|(wc|0)==(gd|0)&Xc>>>0>b>>>0)):0)?(Yc=vc+tc|0,b=Yf(Xc|0,wc|0,tc|0,uc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Xc|0)>=1):0){n=id+40|0;k[n>>2]=Yc;d=Xc+-1|0;e=Yc+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Zc=(l[e>>0]|0)&63;Oc=id+48|0;k[Oc>>2]=Zc;break}case 1:{if((Xc|0)<2){h=0;break u}k[id+44>>2]=Xc+-2;Zc=Yc+Xc+-2|0;Zc=(l[Zc+1>>0]|0)<<8&16128|(l[Zc>>0]|0);Oc=id+48|0;k[Oc>>2]=Zc;break}case 2:{if((Xc|0)<3){h=0;break u}k[id+44>>2]=Xc+-3;Zc=Yc+Xc+-3|0;Zc=(l[Zc+1>>0]|0)<<8|(l[Zc>>0]|0)|(l[Zc+2>>0]|0)<<16&4128768;Oc=id+48|0;k[Oc>>2]=Zc;break}case 3:{k[id+44>>2]=Xc+-4;Zc=Yc+Xc+-4|0;Zc=(l[Zc+2>>0]|0)<<16|(l[Zc+3>>0]|0)<<24&1056964608|(l[Zc+1>>0]|0)<<8|(l[Zc>>0]|0);Oc=id+48|0;k[Oc>>2]=Zc;break}default:{}}d=Zc+262144|0;k[Oc>>2]=d;d=d>>>0>67108863;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){v:do if(d>>>0<262144){e=k[h>>2]|0;do{if((e|0)<=0)break v;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<262144)}while(0);gd=d&65535;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>16)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 12:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;w:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break w}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break w}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=262144){if((e|0)!=262144?(Xb=f+1048576|0,(g|0)!=(Xb|0)):0)k[d>>2]=g+(~((g+-4-Xb|0)>>>2)<<2)}else Ld(j,262144-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(ac=g+(p<<3)|0,(h|0)!=(ac|0)):0)k[e>>2]=h+(~((h+-8-ac|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>262144){h=0;break w}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=262144){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(yc=gd,xc=k[yc>>2]|0,yc=k[yc+4>>2]|0,Bc=hd,zc=k[Bc>>2]|0,Bc=Yf(zc|0,k[Bc+4>>2]|0,8,0)|0,Cc=L,!((yc|0)<(Cc|0)|(yc|0)==(Cc|0)&xc>>>0>>0)):0)?(Dc=k[b>>2]|0,Ec=Dc+zc|0,_c=Ec,_c=l[_c>>0]|l[_c+1>>0]<<8|l[_c+2>>0]<<16|l[_c+3>>0]<<24,Ec=Ec+4|0,Ec=l[Ec>>0]|l[Ec+1>>0]<<8|l[Ec+2>>0]<<16|l[Ec+3>>0]<<24,b=hd,k[b>>2]=Bc,k[b+4>>2]=Cc,b=Nf(xc|0,yc|0,Bc|0,Cc|0)|0,gd=L,!(Ec>>>0>gd>>>0|(Ec|0)==(gd|0)&_c>>>0>b>>>0)):0)?($c=Dc+Bc|0,b=Yf(_c|0,Ec|0,Bc|0,Cc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(_c|0)>=1):0){n=id+40|0;k[n>>2]=$c;d=_c+-1|0;e=$c+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;ad=(l[e>>0]|0)&63;Pc=id+48|0;k[Pc>>2]=ad;break}case 1:{if((_c|0)<2){h=0;break w}k[id+44>>2]=_c+-2;ad=$c+_c+-2|0;ad=(l[ad+1>>0]|0)<<8&16128|(l[ad>>0]|0);Pc=id+48|0;k[Pc>>2]=ad;break}case 2:{if((_c|0)<3){h=0;break w}k[id+44>>2]=_c+-3;ad=$c+_c+-3|0;ad=(l[ad+1>>0]|0)<<8|(l[ad>>0]|0)|(l[ad+2>>0]|0)<<16&4128768;Pc=id+48|0;k[Pc>>2]=ad;break}case 3:{k[id+44>>2]=_c+-4;ad=$c+_c+-4|0;ad=(l[ad+2>>0]|0)<<16|(l[ad+3>>0]|0)<<24&1056964608|(l[ad+1>>0]|0)<<8|(l[ad>>0]|0);Pc=id+48|0;k[Pc>>2]=ad;break}default:{}}d=ad+1048576|0;k[Pc>>2]=d;d=d>>>0>268435455;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){x:do if(d>>>0<1048576){e=k[h>>2]|0;do{if((e|0)<=0)break x;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<1048576)}while(0);gd=d&262143;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>18)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 13:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;y:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break y}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break y}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=524288){if((e|0)!=524288?(Yb=f+2097152|0,(g|0)!=(Yb|0)):0)k[d>>2]=g+(~((g+-4-Yb|0)>>>2)<<2)}else Ld(j,524288-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(bc=g+(p<<3)|0,(h|0)!=(bc|0)):0)k[e>>2]=h+(~((h+-8-bc|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>524288){h=0;break y}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=524288){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(Gc=gd,Fc=k[Gc>>2]|0,Gc=k[Gc+4>>2]|0,Ic=hd,Hc=k[Ic>>2]|0,Ic=Yf(Hc|0,k[Ic+4>>2]|0,8,0)|0,Jc=L,!((Gc|0)<(Jc|0)|(Gc|0)==(Jc|0)&Fc>>>0>>0)):0)?(Kc=k[b>>2]|0,Lc=Kc+Hc|0,bd=Lc,bd=l[bd>>0]|l[bd+1>>0]<<8|l[bd+2>>0]<<16|l[bd+3>>0]<<24,Lc=Lc+4|0,Lc=l[Lc>>0]|l[Lc+1>>0]<<8|l[Lc+2>>0]<<16|l[Lc+3>>0]<<24,b=hd,k[b>>2]=Ic,k[b+4>>2]=Jc,b=Nf(Fc|0,Gc|0,Ic|0,Jc|0)|0,gd=L,!(Lc>>>0>gd>>>0|(Lc|0)==(gd|0)&bd>>>0>b>>>0)):0)?(cd=Kc+Ic|0,b=Yf(bd|0,Lc|0,Ic|0,Jc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(bd|0)>=1):0){n=id+40|0;k[n>>2]=cd;d=bd+-1|0;e=cd+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;dd=(l[e>>0]|0)&63;Qc=id+48|0;k[Qc>>2]=dd;break}case 1:{if((bd|0)<2){h=0;break y}k[id+44>>2]=bd+-2;dd=cd+bd+-2|0;dd=(l[dd+1>>0]|0)<<8&16128|(l[dd>>0]|0);Qc=id+48|0;k[Qc>>2]=dd;break}case 2:{if((bd|0)<3){h=0;break y}k[id+44>>2]=bd+-3;dd=cd+bd+-3|0;dd=(l[dd+1>>0]|0)<<8|(l[dd>>0]|0)|(l[dd+2>>0]|0)<<16&4128768;Qc=id+48|0;k[Qc>>2]=dd;break}case 3:{k[id+44>>2]=bd+-4;dd=cd+bd+-4|0;dd=(l[dd+2>>0]|0)<<16|(l[dd+3>>0]|0)<<24&1056964608|(l[dd+1>>0]|0)<<8|(l[dd>>0]|0);Qc=id+48|0;k[Qc>>2]=dd;break}default:{}}d=dd+2097152|0;k[Qc>>2]=d;d=d>>>0>536870911;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){z:do if(d>>>0<2097152){e=k[h>>2]|0;do{if((e|0)<=0)break z;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<2097152)}while(0);gd=d&524287;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>19)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 14:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;A:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break A}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break A}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(X=gd,W=k[X>>2]|0,X=k[X+4>>2]|0,Z=hd,Y=k[Z>>2]|0,Z=Yf(Y|0,k[Z+4>>2]|0,8,0)|0,$=L,!((X|0)<($|0)|(X|0)==($|0)&W>>>0>>0)):0)?(aa=k[b>>2]|0,ba=aa+Y|0,wb=ba,wb=l[wb>>0]|l[wb+1>>0]<<8|l[wb+2>>0]<<16|l[wb+3>>0]<<24,ba=ba+4|0,ba=l[ba>>0]|l[ba+1>>0]<<8|l[ba+2>>0]<<16|l[ba+3>>0]<<24,b=hd,k[b>>2]=Z,k[b+4>>2]=$,b=Nf(W|0,X|0,Z|0,$|0)|0,gd=L,!(ba>>>0>gd>>>0|(ba|0)==(gd|0)&wb>>>0>b>>>0)):0)?(xb=aa+Z|0,b=Yf(wb|0,ba|0,Z|0,$|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(wb|0)>=1):0){n=id+40|0;k[n>>2]=xb;d=wb+-1|0;e=xb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;yb=(l[e>>0]|0)&63;Za=id+48|0;k[Za>>2]=yb;break}case 1:{if((wb|0)<2){h=0;break A}k[id+44>>2]=wb+-2;yb=xb+wb+-2|0;yb=(l[yb+1>>0]|0)<<8&16128|(l[yb>>0]|0);Za=id+48|0;k[Za>>2]=yb;break}case 2:{if((wb|0)<3){h=0;break A}k[id+44>>2]=wb+-3;yb=xb+wb+-3|0;yb=(l[yb+1>>0]|0)<<8|(l[yb>>0]|0)|(l[yb+2>>0]|0)<<16&4128768;Za=id+48|0;k[Za>>2]=yb;break}case 3:{k[id+44>>2]=wb+-4;yb=xb+wb+-4|0;yb=(l[yb+2>>0]|0)<<16|(l[yb+3>>0]|0)<<24&1056964608|(l[yb+1>>0]|0)<<8|(l[yb>>0]|0);Za=id+48|0;k[Za>>2]=yb;break}default:{}}d=yb+4194304|0;k[Za>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){B:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break B;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 15:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;C:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break C}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break C}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(ia=gd,ha=k[ia>>2]|0,ia=k[ia+4>>2]|0,ka=hd,ja=k[ka>>2]|0,ka=Yf(ja|0,k[ka+4>>2]|0,8,0)|0,la=L,!((ia|0)<(la|0)|(ia|0)==(la|0)&ha>>>0>>0)):0)?(ma=k[b>>2]|0,na=ma+ja|0,zb=na,zb=l[zb>>0]|l[zb+1>>0]<<8|l[zb+2>>0]<<16|l[zb+3>>0]<<24,na=na+4|0,na=l[na>>0]|l[na+1>>0]<<8|l[na+2>>0]<<16|l[na+3>>0]<<24,b=hd,k[b>>2]=ka,k[b+4>>2]=la,b=Nf(ha|0,ia|0,ka|0,la|0)|0,gd=L,!(na>>>0>gd>>>0|(na|0)==(gd|0)&zb>>>0>b>>>0)):0)?(Ab=ma+ka|0,b=Yf(zb|0,na|0,ka|0,la|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(zb|0)>=1):0){n=id+40|0;k[n>>2]=Ab;d=zb+-1|0;e=Ab+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Cb=(l[e>>0]|0)&63;_a=id+48|0;k[_a>>2]=Cb;break}case 1:{if((zb|0)<2){h=0;break C}k[id+44>>2]=zb+-2;Cb=Ab+zb+-2|0;Cb=(l[Cb+1>>0]|0)<<8&16128|(l[Cb>>0]|0);_a=id+48|0;k[_a>>2]=Cb;break}case 2:{if((zb|0)<3){h=0;break C}k[id+44>>2]=zb+-3;Cb=Ab+zb+-3|0;Cb=(l[Cb+1>>0]|0)<<8|(l[Cb>>0]|0)|(l[Cb+2>>0]|0)<<16&4128768;_a=id+48|0;k[_a>>2]=Cb;break}case 3:{k[id+44>>2]=zb+-4;Cb=Ab+zb+-4|0;Cb=(l[Cb+2>>0]|0)<<16|(l[Cb+3>>0]|0)<<24&1056964608|(l[Cb+1>>0]|0)<<8|(l[Cb>>0]|0);_a=id+48|0;k[_a>>2]=Cb;break}default:{}}d=Cb+4194304|0;k[_a>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){D:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break D;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 16:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;E:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break E}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break E}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(ra=gd,qa=k[ra>>2]|0,ra=k[ra+4>>2]|0,ta=hd,sa=k[ta>>2]|0,ta=Yf(sa|0,k[ta+4>>2]|0,8,0)|0,ua=L,!((ra|0)<(ua|0)|(ra|0)==(ua|0)&qa>>>0>>0)):0)?(va=k[b>>2]|0,wa=va+sa|0,Eb=wa,Eb=l[Eb>>0]|l[Eb+1>>0]<<8|l[Eb+2>>0]<<16|l[Eb+3>>0]<<24,wa=wa+4|0,wa=l[wa>>0]|l[wa+1>>0]<<8|l[wa+2>>0]<<16|l[wa+3>>0]<<24,b=hd,k[b>>2]=ta,k[b+4>>2]=ua,b=Nf(qa|0,ra|0,ta|0,ua|0)|0,gd=L,!(wa>>>0>gd>>>0|(wa|0)==(gd|0)&Eb>>>0>b>>>0)):0)?(Fb=va+ta|0,b=Yf(Eb|0,wa|0,ta|0,ua|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Eb|0)>=1):0){n=id+40|0;k[n>>2]=Fb;d=Eb+-1|0;e=Fb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Gb=(l[e>>0]|0)&63;ab=id+48|0;k[ab>>2]=Gb;break}case 1:{if((Eb|0)<2){h=0;break E}k[id+44>>2]=Eb+-2;Gb=Fb+Eb+-2|0;Gb=(l[Gb+1>>0]|0)<<8&16128|(l[Gb>>0]|0);ab=id+48|0;k[ab>>2]=Gb;break}case 2:{if((Eb|0)<3){h=0;break E}k[id+44>>2]=Eb+-3;Gb=Fb+Eb+-3|0;Gb=(l[Gb+1>>0]|0)<<8|(l[Gb>>0]|0)|(l[Gb+2>>0]|0)<<16&4128768;ab=id+48|0;k[ab>>2]=Gb;break}case 3:{k[id+44>>2]=Eb+-4;Gb=Fb+Eb+-4|0;Gb=(l[Gb+2>>0]|0)<<16|(l[Gb+3>>0]|0)<<24&1056964608|(l[Gb+1>>0]|0)<<8|(l[Gb>>0]|0);ab=id+48|0;k[ab>>2]=Gb;break}default:{}}d=Gb+4194304|0;k[ab>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){F:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break F;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 17:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;G:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break G}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break G}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(ya=gd,xa=k[ya>>2]|0,ya=k[ya+4>>2]|0,Aa=hd,za=k[Aa>>2]|0,Aa=Yf(za|0,k[Aa+4>>2]|0,8,0)|0,Ba=L,!((ya|0)<(Ba|0)|(ya|0)==(Ba|0)&xa>>>0>>0)):0)?(Ca=k[b>>2]|0,Da=Ca+za|0,Hb=Da,Hb=l[Hb>>0]|l[Hb+1>>0]<<8|l[Hb+2>>0]<<16|l[Hb+3>>0]<<24,Da=Da+4|0,Da=l[Da>>0]|l[Da+1>>0]<<8|l[Da+2>>0]<<16|l[Da+3>>0]<<24,b=hd,k[b>>2]=Aa,k[b+4>>2]=Ba,b=Nf(xa|0,ya|0,Aa|0,Ba|0)|0,gd=L,!(Da>>>0>gd>>>0|(Da|0)==(gd|0)&Hb>>>0>b>>>0)):0)?(Ib=Ca+Aa|0,b=Yf(Hb|0,Da|0,Aa|0,Ba|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Hb|0)>=1):0){n=id+40|0;k[n>>2]=Ib;d=Hb+-1|0;e=Ib+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Jb=(l[e>>0]|0)&63;bb=id+48|0;k[bb>>2]=Jb;break}case 1:{if((Hb|0)<2){h=0;break G}k[id+44>>2]=Hb+-2;Jb=Ib+Hb+-2|0;Jb=(l[Jb+1>>0]|0)<<8&16128|(l[Jb>>0]|0);bb=id+48|0;k[bb>>2]=Jb;break}case 2:{if((Hb|0)<3){h=0;break G}k[id+44>>2]=Hb+-3;Jb=Ib+Hb+-3|0;Jb=(l[Jb+1>>0]|0)<<8|(l[Jb>>0]|0)|(l[Jb+2>>0]|0)<<16&4128768;bb=id+48|0;k[bb>>2]=Jb;break}case 3:{k[id+44>>2]=Hb+-4;Jb=Ib+Hb+-4|0;Jb=(l[Jb+2>>0]|0)<<16|(l[Jb+3>>0]|0)<<24&1056964608|(l[Jb+1>>0]|0)<<8|(l[Jb>>0]|0);bb=id+48|0;k[bb>>2]=Jb;break}default:{}}d=Jb+4194304|0;k[bb>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){H:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break H;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 18:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;I:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break I}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break I}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Fa=gd,Ea=k[Fa>>2]|0,Fa=k[Fa+4>>2]|0,Ha=hd,Ga=k[Ha>>2]|0,Ha=Yf(Ga|0,k[Ha+4>>2]|0,8,0)|0,Ia=L,!((Fa|0)<(Ia|0)|(Fa|0)==(Ia|0)&Ea>>>0>>0)):0)?(Ja=k[b>>2]|0,Ka=Ja+Ga|0,Kb=Ka,Kb=l[Kb>>0]|l[Kb+1>>0]<<8|l[Kb+2>>0]<<16|l[Kb+3>>0]<<24,Ka=Ka+4|0,Ka=l[Ka>>0]|l[Ka+1>>0]<<8|l[Ka+2>>0]<<16|l[Ka+3>>0]<<24,b=hd,k[b>>2]=Ha,k[b+4>>2]=Ia,b=Nf(Ea|0,Fa|0,Ha|0,Ia|0)|0,gd=L,!(Ka>>>0>gd>>>0|(Ka|0)==(gd|0)&Kb>>>0>b>>>0)):0)?(Lb=Ja+Ha|0,b=Yf(Kb|0,Ka|0,Ha|0,Ia|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Kb|0)>=1):0){n=id+40|0;k[n>>2]=Lb;d=Kb+-1|0;e=Lb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Mb=(l[e>>0]|0)&63;cb=id+48|0;k[cb>>2]=Mb;break}case 1:{if((Kb|0)<2){h=0;break I}k[id+44>>2]=Kb+-2;Mb=Lb+Kb+-2|0;Mb=(l[Mb+1>>0]|0)<<8&16128|(l[Mb>>0]|0);cb=id+48|0;k[cb>>2]=Mb;break}case 2:{if((Kb|0)<3){h=0;break I}k[id+44>>2]=Kb+-3;Mb=Lb+Kb+-3|0;Mb=(l[Mb+1>>0]|0)<<8|(l[Mb>>0]|0)|(l[Mb+2>>0]|0)<<16&4128768;cb=id+48|0;k[cb>>2]=Mb;break}case 3:{k[id+44>>2]=Kb+-4;Mb=Lb+Kb+-4|0;Mb=(l[Mb+2>>0]|0)<<16|(l[Mb+3>>0]|0)<<24&1056964608|(l[Mb+1>>0]|0)<<8|(l[Mb>>0]|0);cb=id+48|0;k[cb>>2]=Mb;break}default:{}}d=Mb+4194304|0;k[cb>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){J:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break J;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}default:{id=0;r=jd;return id|0}}while(0);return 0}function Va(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=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,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;la=r;r=r+80|0;ma=la+68|0;ja=la+48|0;ca=la+44|0;da=la+40|0;ea=la;p=a+148|0;k[p>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{ka=b;b=k[b>>2]|0;gb(ka)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}ka=a+4|0;b=k[(k[ka>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=Yf(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ma=0;r=la;return ma|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[p>>2]=e;e=Yf(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){ma=0;r=la;return ma|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;v=n;k[v>>2]=e;k[v+4>>2]=b;v=a+172|0;k[v>>2]=c;b=Yf(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ma=0;r=la;return ma|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ga=a+8|0;while(1){b=Xa(60)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}e=b;f=e+60|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=k[ga>>2]|0;k[ga>>2]=b;if(c){_d(c);gb(c);b=k[ga>>2]|0;if(!b){ma=0;r=la;return ma|0}}Ob(b,p);b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xd(b,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xd(b,p);b=k[a+36>>2]|0;V=a+40|0;c=k[V>>2]|0;if((c|0)!=(b|0))k[V>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;u=a+52|0;c=k[u>>2]|0;if((c|0)!=(b|0))k[u>>2]=c+(~((c+-4-b|0)>>>2)<<2);Z=a+68|0;k[Z>>2]=0;b=k[a+76>>2]|0;$=a+80|0;c=k[$>>2]|0;if((c|0)!=(b|0))k[$>>2]=c+(~((c+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[ka>>2]|0)+20>>2]|0;ia=b+8|0;ha=k[ia+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((ha|0)>(e|0)|((ha|0)==(e|0)?(k[ia>>2]|0)>>>0>d>>>0:0))){ma=0;r=la;return ma|0}h=i[(k[b>>2]|0)+d>>0]|0;ha=Yf(d|0,e|0,1,0)|0;ia=c;k[ia>>2]=ha;k[ia+4>>2]=L;if(h<<24>>24<0){ma=0;r=la;return ma|0}fa=a+228|0;g=k[fa>>2]|0;ia=a+232|0;b=k[ia>>2]|0;if((b|0)==(g|0)){ha=fa;f=g}else{do{k[ia>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[ia>>2]|0}while((b|0)!=(g|0));ha=fa;f=k[fa>>2]|0}e=b;t=h<<24>>24;c=(e-f|0)/116|0;d=f;a:do if(t>>>0<=c>>>0){if(t>>>0>>0?(q=d+(t*116|0)|0,(b|0)!=(q|0)):0)do{k[ia>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[ia>>2]|0}while((b|0)!=(q|0))}else{c=t-c|0;m=a+236|0;d=k[m>>2]|0;if(((d-e|0)/116|0)>>>0>=c>>>0)while(1){k[b>>2]=-1;e=b+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=(k[ia>>2]|0)+116|0;k[ia>>2]=b;c=c+-1|0;if(!c)break a}g=(e-f|0)/116|0;b=g+c|0;if(b>>>0>37025580)Ba(11055,11078,304,11175);Y=(d-f|0)/116|0;e=Y<<1;e=Y>>>0<18512790?(e>>>0>>0?b:e):37025580;if(!e)b=0;else{if(e>>>0>37025580){ma=Da(4)|0;k[ma>>2]=5228;ra(ma|0,736,67)}d=e*116|0;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}h=b+(g*116|0)|0;g=h;d=b+(e*116|0)|0;j=g;b=h;do{k[b>>2]=-1;e=b+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=j+116|0;j=b;c=c+-1|0}while((c|0)!=0);e=k[fa>>2]|0;b=e;c=k[ia>>2]|0;if((c|0)==(e|0)){c=g;h=b}else{b=h;do{U=b;b=b+-116|0;W=c;c=c+-116|0;k[b>>2]=k[c>>2];Y=W+-112|0;k[U+-112>>2]=k[Y>>2];X=W+-108|0;k[U+-108>>2]=k[X>>2];T=W+-104|0;k[U+-104>>2]=k[T>>2];k[Y>>2]=0;k[X>>2]=0;k[T>>2]=0;T=W+-100|0;k[U+-100>>2]=k[T>>2];X=W+-96|0;k[U+-96>>2]=k[X>>2];Y=W+-92|0;k[U+-92>>2]=k[Y>>2];k[T>>2]=0;k[X>>2]=0;k[Y>>2]=0;i[U+-88>>0]=i[W+-88>>0]|0;Y=U+-84|0;X=W+-84|0;k[Y>>2]=0;T=U+-80|0;k[T>>2]=0;k[U+-76>>2]=0;k[Y>>2]=k[X>>2];Y=W+-80|0;k[T>>2]=k[Y>>2];T=W+-76|0;k[U+-76>>2]=k[T>>2];k[T>>2]=0;k[Y>>2]=0;k[X>>2]=0;X=U+-72|0;Y=W+-72|0;k[X>>2]=0;T=U+-68|0;k[T>>2]=0;k[U+-64>>2]=0;k[X>>2]=k[Y>>2];X=W+-68|0;k[T>>2]=k[X>>2];T=W+-64|0;k[U+-64>>2]=k[T>>2];k[T>>2]=0;k[X>>2]=0;k[Y>>2]=0;Y=U+-60|0;X=W+-60|0;k[Y>>2]=0;T=U+-56|0;k[T>>2]=0;k[U+-52>>2]=0;k[Y>>2]=k[X>>2];Y=W+-56|0;k[T>>2]=k[Y>>2];T=W+-52|0;k[U+-52>>2]=k[T>>2];k[T>>2]=0;k[Y>>2]=0;k[X>>2]=0;k[U+-48>>2]=k[W+-48>>2];i[U+-44>>0]=i[W+-44>>0]|0;X=U+-40|0;Y=W+-40|0;k[X>>2]=0;T=U+-36|0;k[T>>2]=0;k[U+-32>>2]=0;k[X>>2]=k[Y>>2];X=W+-36|0;k[T>>2]=k[X>>2];T=W+-32|0;k[U+-32>>2]=k[T>>2];k[T>>2]=0;k[X>>2]=0;k[Y>>2]=0;Y=U+-28|0;X=W+-28|0;k[Y>>2]=0;T=U+-24|0;k[T>>2]=0;k[U+-20>>2]=0;k[Y>>2]=k[X>>2];Y=W+-24|0;k[T>>2]=k[Y>>2];T=W+-20|0;k[U+-20>>2]=k[T>>2];k[T>>2]=0;k[Y>>2]=0;k[X>>2]=0;k[U+-16>>2]=k[W+-16>>2];X=U+-12|0;Y=W+-12|0;k[X>>2]=0;T=U+-8|0;k[T>>2]=0;k[U+-4>>2]=0;k[X>>2]=k[Y>>2];X=W+-8|0;k[T>>2]=k[X>>2];W=W+-4|0;k[U+-4>>2]=k[W>>2];k[W>>2]=0;k[X>>2]=0;k[Y>>2]=0}while((c|0)!=(e|0));c=b;h=k[ha>>2]|0;b=k[ia>>2]|0}k[ha>>2]=c;k[ia>>2]=j;k[m>>2]=d;g=h;if((b|0)!=(g|0))do{c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=b+-116|0}while((b|0)!=(g|0));if(!h)break;gb(h)}while(0);b=k[(k[ka>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Yf(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){ma=0;r=la;return ma|0}f=k[b>>2]|0;Q=f+c|0;Q=l[Q>>0]|l[Q+1>>0]<<8|l[Q+2>>0]<<16|l[Q+3>>0]<<24;Y=j;k[Y>>2]=m;k[Y+4>>2]=e;if(p>>>0>>0){ma=0;r=la;return ma|0}b=Yf(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){ma=0;r=la;return ma|0}g=f+m|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;Y=j;k[Y>>2]=b;k[Y+4>>2]=c;Y=a+136|0;g=(k[v>>2]|0)+g|0;i[ma>>0]=1;nd(Y,g,ma);g=k[(k[ka>>2]|0)+20>>2]|0;j=g+8|0;h=k[j>>2]|0;j=k[j+4>>2]|0;c=g+16|0;b=c;d=k[b>>2]|0;b=k[b+4>>2]|0;e=Yf(d|0,b|0,4,0)|0;f=L;g=k[g>>2]|0;if((j|0)<(f|0)|(j|0)==(f|0)&h>>>0>>0)c=0;else{d=g+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[c>>2]=e;k[c+4>>2]=f;c=d;d=e;b=f}s=g+d+c|0;q=Yf(d|0,b|0,c|0,0)|0;q=Nf(h|0,j|0,q|0,L|0)|0;if(0<0|0==0&q>>>0<4){ma=0;r=la;return ma|0}h=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;b:do if(!h){c=4;b=0}else{j=ma+4|0;m=ma+8|0;n=a+44|0;p=a+36|0;g=0;c=4;b=0;while(1){d=Yf(c|0,b|0,4,0)|0;X=L;if(0<(X|0)|0==(X|0)&q>>>0>>0)break;e=s+c|0;k[ma>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=Yf(c|0,b|0,8,0)|0;f=L;if(0<(f|0)|0==(f|0)&q>>>0>>0)break;X=s+d|0;k[j>>2]=l[X>>0]|l[X+1>>0]<<8|l[X+2>>0]<<16|l[X+3>>0]<<24;if(!(0>(f|0)|0==(f|0)&q>>>0>e>>>0))break;d=i[s+e>>0]|0;c=Yf(c|0,b|0,9,0)|0;b=L;i[m>>0]=d&3|i[m>>0]&-4;d=k[V>>2]|0;if((d|0)==(k[n>>2]|0))Kd(p,ma);else{k[d>>2]=k[ma>>2];k[d+4>>2]=k[ma+4>>2];k[d+8>>2]=k[ma+8>>2];k[V>>2]=(k[V>>2]|0)+12}g=g+1|0;if(g>>>0>=h>>>0)break b}ma=0;r=la;return ma|0}while(0);d=Yf(c|0,b|0,4,0)|0;X=L;if(0<(X|0)|0==(X|0)&q>>>0>>0){ma=0;r=la;return ma|0}g=s+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;c:do if(!g)U=d;else{h=a+56|0;j=a+48|0;k[ma>>2]=0;b=Yf(c|0,b|0,8,0)|0;e=L;d:do if(!(0<(e|0)|0==(e|0)&q>>>0>>0)){f=0;c=d;d=b;while(1){b=s+c|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[ma>>2]=b;c=k[u>>2]|0;if((c|0)==(k[h>>2]|0))Pd(j,ma);else{k[c>>2]=b;k[u>>2]=c+4}f=f+1|0;if(f>>>0>=g>>>0)break;k[ma>>2]=0;b=Yf(d|0,e|0,4,0)|0;e=L;if(0<(e|0)|0==(e|0)&q>>>0>>0)break d;else{c=d;d=b}}U=d;break c}while(0);ma=0;r=la;return ma|0}while(0);if((U|0)==-1){ma=0;r=la;return ma|0}P=a+240|0;k[a+328>>2]=a;X=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;X=k[X>>2]|0;S=k[X>>2]|0;X=k[X+16>>2]|0;e=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;e=k[e>>2]|0;W=e+8|0;e=e+16|0;e=Nf(k[W>>2]|0,k[W+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[P>>2]=S+X;X=a+248|0;k[X>>2]=e;k[X+4>>2]=0;X=a+256|0;e=X;k[e>>2]=0;k[e+4>>2]=0;e=La[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=e;e=a+336|0;k[e>>2]=k[v>>2];k[a+324>>2]=t;k[ea>>2]=0;S=ea+8|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;k[S+16>>2]=0;k[S+20>>2]=0;k[S+24>>2]=0;i[S+28>>0]=0;do if(ec(P,ea)|0){R=S;W=k[R>>2]|0;R=k[R+4>>2]|0;T=ea+16|0;c=T;b=k[c>>2]|0;c=Yf(b|0,k[c+4>>2]|0,4,0)|0;d=L;if((R|0)<(d|0)|(R|0)==(d|0)&W>>>0>>0){b=0;break}j=(k[ea>>2]|0)+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;q=T;k[q>>2]=c;k[q+4>>2]=d;d=(k[e>>2]|0)+j|0;k[e>>2]=d;j=a+340|0;q=a+344|0;c=k[q>>2]|0;m=k[j>>2]|0;n=c-m|0;g=n>>2;b=m;e=c;do if(d>>>0>g>>>0){p=d-g|0;h=a+348|0;b=k[h>>2]|0;if(b-c>>2>>>0>=p>>>0){b=p;c=e;while(1){k[c>>2]=0;b=b+-1|0;if(!b)break;else c=c+4|0}k[q>>2]=e+(p<<2);break}if(d>>>0>1073741823)Ba(11055,11078,304,11175);W=b-m|0;f=W>>1;f=W>>2>>>0<536870911?(f>>>0>>0?d:f):1073741823;if(!f)b=0;else{if(f>>>0>1073741823){ma=Da(4)|0;k[ma>>2]=5228;ra(ma|0,736,67)}c=f<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}e=b+(g<<2)|0;c=p;d=e;while(1){k[d>>2]=0;c=c+-1|0;if(!c)break;else d=d+4|0}c=e+(0-g<<2)|0;if((n|0)>0)xe(c|0,m|0,n|0)|0;k[j>>2]=c;k[q>>2]=e+(p<<2);k[h>>2]=b+(f<<2);if(!m)break;gb(m)}else{if(d>>>0>=g>>>0)break;b=b+(d<<2)|0;if((e|0)==(b|0))break;k[q>>2]=e+(~((e+-4-b|0)>>>2)<<2)}while(0);if(!(Dc(a+352|0,ea)|0)){b=0;break}k[ma>>2]=0;R=ma+4|0;k[R>>2]=0;k[ma+8>>2]=0;k[ja>>2]=0;k[ja+4>>2]=0;k[ja+8>>2]=0;k[ja+12>>2]=0;o[ja+16>>2]=1.0;O=k[a+140>>2]|0;e:do if((Q|0)>0){x=a+372|0;y=a+276|0;z=a+368|0;A=a+272|0;B=a+264|0;C=a+268|0;D=a+8|0;E=a+36|0;F=Q+-1|0;G=ja+4|0;H=a+340|0;I=ma+8|0;J=a+364|0;K=a+360|0;M=a+356|0;N=a+352|0;e=0;w=0;m=0;while(1){b=w+1|0;c=k[x>>2]|0;do if((c|0)!=-1){f=l[J>>0]|0;d=k[K>>2]|0;if(d>>>0<4096){W=(k[M>>2]|0)+-1|0;k[M>>2]=W;d=l[(k[N>>2]|0)+W>>0]|d<<8;k[K>>2]=d}t=d&255;u=0-f&255;v=_(d>>>8,u)|0;W=t>>>0>>0;k[K>>2]=W?v+t|0:d-u-v|0;if(!W){W=155;break}k[z>>2]=c;if(!c)W=166;else W=207}else W=155;while(0);f:do if((W|0)==155){g:do if(!(i[y>>0]|0))c=1;else{f=k[A>>2]|0;g=k[B>>2]|0;h=k[C>>2]|0;c=g+(f>>>3)|0;do if(c>>>0>>0){W=l[c>>0]|0;d=f+1|0;k[A>>2]=d;if(!(W&1<<(f&7)))break;c=g+(d>>>3)|0;if(c>>>0>>0){W=(l[c>>0]|0)>>>(d&7)&1;d=f+2|0;k[A>>2]=d;f=W}else f=0;c=g+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7);k[A>>2]=d+1;c=c<<1&2}else c=0;c=(c|f)<<1|1;break g}while(0);k[z>>2]=0;W=166;break f}while(0);k[z>>2]=c;W=207}while(0);h:do if((W|0)==166){W=0;u=k[m+-4>>2]|0;v=(u|0)<0;i:do if(v){c=u;W=168}else{c=u+(((u>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){W=168;break}f=k[D>>2]|0;g=k[f+12>>2]|0;while(1){d=k[g+(c<<2)>>2]|0;if((d|0)<=-1){q=0;p=c;break i}c=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){q=1;p=c;break}}}while(0);if((W|0)==168){W=0;f=k[D>>2]|0;q=1;p=c;g=k[f+12>>2]|0}c=w*3|0;s=c+1|0;k[g+(u<<2)>>2]=s;k[g+(s<<2)>>2]=u;w=c+2|0;k[g+(p<<2)>>2]=w;k[g+(w<<2)>>2]=p;d=u+1|0;do if(v)t=-1073741824;else{d=((d|0)%3|0|0)==0?u+-2|0:d;if((d|0)<0){t=-1073741824;break}t=k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=t;if((t|0)>-1){m=f+24|0;n=f+28|0;f=k[n>>2]|0;d=k[m>>2]|0;g=f-d>>2;do if(g>>>0<=t>>>0){h=t+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);d=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=d+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[d+(t<<2)>>2]=c;f=k[D>>2]|0}d=p+1|0;do if(q)p=-1073741824;else{d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0){p=-1073741824;break}p=k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=f+24|0;n=f+28|0;f=k[n>>2]|0;d=k[m>>2]|0;g=f-d>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);d=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=d+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=s;f=k[D>>2]|0}do if(v)p=-1073741824;else{d=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((d|0)<0){p=-1073741824;break}p=k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=f+24|0;n=f+28|0;f=k[n>>2]|0;d=k[m>>2]|0;g=f-d>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);d=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=d+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=w}if((e|0)>(O|0)){e=-1;break e}d=(k[Y>>2]|0)+(t>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(t&31));d=k[R>>2]|0;k[d+-4>>2]=c;W=340}else if((W|0)==207){W=0;switch(c|0){case 3:case 5:{u=k[m+-4>>2]|0;d=w*3|0;p=((c|0)==5?2:1)+d|0;c=k[D>>2]|0;v=k[c+12>>2]|0;k[v+(p<<2)>>2]=u;k[v+(u<<2)>>2]=p;v=e+1|0;t=(p|0)<0;k[(k[c>>2]|0)+((t?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=c+24|0;m=c+28|0;f=k[m>>2]|0;c=k[j>>2]|0;g=f-c>>2;do if(g>>>0<=e>>>0){h=f;if(v>>>0>g>>>0){Ld(j,v-g|0);c=k[j>>2]|0;break}if(v>>>0>=g>>>0)break;f=c+(v<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=p;e=k[D>>2]|0}else e=c;c=p+1|0;if(t)q=p;else q=((c|0)%3|0|0)==0?p+-2|0:c;s=(u|0)<0;do if(s)n=-1073741824;else{c=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((c|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((q|0)<0?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;c=k[j>>2]|0;f=e-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=c+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=q;e=k[D>>2]|0}do if(!t)if(!((p>>>0)%3|0)){p=p+2|0;break}else{p=p+-1|0;break}while(0);c=u+1|0;do if(s)n=-1073741824;else{c=((c|0)%3|0|0)==0?u+-2|0:c;if((c|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;c=k[j>>2]|0;f=e-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=c+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p}n=k[R>>2]|0;k[n+-4>>2]=d;e=v;break}case 1:{c=m+-4|0;u=k[c>>2]|0;k[R>>2]=c;g=k[G>>2]|0;j:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&w;else j=(w>>>0)%(g>>>0)|0;d=k[(k[ja>>2]|0)+(j<<2)>>2]|0;if(!d)break;if(f)do{d=k[d>>2]|0;if(!d)break j;if((k[d+4>>2]&h|0)!=(j|0))break j}while((k[d+8>>2]|0)!=(w|0));else do{d=k[d>>2]|0;if(!d)break j;if((((k[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0))break j}while((k[d+8>>2]|0)!=(w|0));d=d+12|0;if((c|0)==(k[I>>2]|0)){Pd(ma,d);c=k[R>>2]|0;break}else{k[c>>2]=k[d>>2];k[R>>2]=m;c=m;break}}while(0);p=k[c+-4>>2]|0;w=w*3|0;s=w+2|0;d=k[D>>2]|0;n=k[d+12>>2]|0;k[n+(p<<2)>>2]=s;k[n+(s<<2)>>2]=p;q=w+1|0;k[n+(u<<2)>>2]=q;k[n+(q<<2)>>2]=u;n=(p|0)<0;do if(n)v=-1073741824;else{c=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((c|0)<0){v=-1073741824;break}v=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=v;t=(v|0)>-1;if(t){j=d+24|0;m=d+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=v>>>0){g=v+1|0;h=d;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}while(0);k[c+(v<<2)>>2]=w;d=k[D>>2]|0}c=p+1|0;do if(n)n=-1073741824;else{c=((c|0)%3|0|0)==0?p+-2|0:c;if((c|0)<0){n=-1073741824;break}n=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((w|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=d+24|0;m=d+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=q;d=k[D>>2]|0}p=(u|0)<0;do if(p)n=-1073741824;else{c=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((c|0)<0){n=-1073741824;break}n=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((w|0)<-2?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=d+24|0;m=d+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=s}c=u+1|0;do if(p){p=-1073741824;d=u}else{c=((c|0)%3|0|0)==0?u+-2|0:c;if((c|0)<0){p=-1073741824;d=c;break}p=k[(k[k[D>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=c}while(0);W=k[H>>2]|0;c=W+(v<<2)|0;k[c>>2]=(k[c>>2]|0)+(k[W+(p<<2)>>2]|0);c=k[D>>2]|0;k:do if((d|0)>-1){n=v+1|0;if(!t){g=k[c>>2]|0;h=c+12|0;while(1){k[g+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]=v;W=d+1|0;d=((W|0)%3|0|0)==0?d+-2|0:W;if((d|0)<0)break k;d=k[(k[h>>2]|0)+(d<<2)>>2]|0;f=d+1|0;if((d|0)<0)break k;d=((f|0)%3|0|0)==0?d+-2|0:f;if((d|0)<=-1)break k}}do{k[(k[c>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]=v;j=c+24|0;m=c+28|0;f=k[m>>2]|0;c=k[j>>2]|0;g=f-c>>2;do if(g>>>0<=v>>>0){h=f;if(n>>>0>g>>>0){Ld(j,n-g|0);c=k[j>>2]|0;break}if(n>>>0>=g>>>0)break;f=c+(n<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[c+(v<<2)>>2]=d;c=d+1|0;d=((c|0)%3|0|0)==0?d+-2|0:c;c=k[D>>2]|0;if((d|0)<0)break k;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;f=d+1|0;if((d|0)<0)break k;d=((f|0)%3|0|0)==0?d+-2|0:f}while((d|0)>-1)}while(0);k[(k[c+24>>2]|0)+(p<<2)>>2]=-1073741824;d=k[R>>2]|0;k[d+-4>>2]=w;c=w;W=340;break h}case 7:{m=w*3|0;k[ca>>2]=m;d=k[D>>2]|0;n=e+1|0;c=k[d>>2]|0;k[c+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=e>>>0){g=d;if(n>>>0>f>>>0){Ld(h,n-f|0);c=k[h>>2]|0;break}if(n>>>0>=f>>>0)break;d=c+(n<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;d=k[D>>2]|0;f=k[ca>>2]|0;c=k[d>>2]|0}else f=m;m=f+1|0;p=e+2|0;k[c+(((f|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=d;if(p>>>0>f>>>0){Ld(h,p-f|0);c=k[h>>2]|0;break}if(p>>>0>=f>>>0)break;d=c+(p<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m;d=k[D>>2]|0;f=k[ca>>2]|0;c=k[d>>2]|0}m=f+2|0;e=e+3|0;k[c+(((f|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=p>>>0){g=d;if(e>>>0>f>>>0){Ld(h,e-f|0);c=k[h>>2]|0;break}if(e>>>0>=f>>>0)break;d=c+(e<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=m}c=k[R>>2]|0;if((c|0)==(k[I>>2]|0)){Pd(ma,ca);c=k[R>>2]|0}else{k[c>>2]=k[ca>>2];c=c+4|0;k[R>>2]=c}n=c;d=k[c+-4>>2]|0;break}default:{e=-1;break e}}c=n;Zb(P,d);j=Q-w|0;m=j+-1|0;d=k[V>>2]|0;if((d|0)==(k[E>>2]|0)){d=n;break}while(1){f=k[d+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break e}if((f|0)!=(m|0)){d=n;break h}f=i[d+-4>>0]|0;h=k[d+-12>>2]|0;k[V>>2]=d+-12;if((h|0)<0){e=-1;break e}d=k[n+-4>>2]|0;g=(d|0)<0;do if(!(f&1)){if(g)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{f=d+1|0;if(g)break;d=((f|0)%3|0|0)==0?d+-2|0:f}while(0);w=jc(ja,F-h|0)|0;k[w>>2]=d;d=k[V>>2]|0;if((d|0)==(k[E>>2]|0)){d=n;break}}}while(0);if((W|0)==340){Zb(P,c);c=d}if((b|0)<(Q|0)){w=b;m=d}else{W=354;break}}}else{e=0;b=0;c=0;W=354}while(0);do if((W|0)==354){if((e|0)>(O|0)){e=-1;break}d=k[ma>>2]|0;l:do if((c|0)!=(d|0)){t=a+316|0;u=a+8|0;v=a+64|0;w=a+72|0;x=a+84|0;y=a+76|0;z=a+312|0;A=a+304|0;B=a+308|0;m:while(1){m=k[c+-4>>2]|0;k[ca>>2]=m;c=c+-4|0;k[R>>2]=c;do if(i[t>>0]|0){f=k[z>>2]|0;g=(k[A>>2]|0)+(f>>>3)|0;if(g>>>0<(k[B>>2]|0)>>>0?(V=l[g>>0]|0,k[z>>2]=f+1,V&1<<(f&7)|0):0){W=361;break}f=k[Z>>2]|0;g=k[w>>2]|0;if((f|0)==(g<<5|0)){if((f+1|0)<0){W=416;break m}V=g<<6;Q=f+32&-32;Td(v,f>>>0<1073741823?(V>>>0>>0?Q:V):2147483647);f=k[Z>>2]|0}k[Z>>2]=f+1;V=(k[v>>2]|0)+(f>>>5<<2)|0;k[V>>2]=k[V>>2]&~(1<<(f&31));f=k[$>>2]|0;if((f|0)==(k[x>>2]|0)){Pd(y,ca);break}else{k[f>>2]=m;k[$>>2]=f+4;break}}else W=361;while(0);if((W|0)==361){W=0;n:do if((m|0)<0){d=1;f=m;c=m;W=367}else{c=m+(((m>>>0)%3|0|0)==0?2:-1)|0;o:do if((c|0)<0)h=1;else{f=k[(k[u>>2]|0)+12>>2]|0;d=c;while(1){c=k[f+(d<<2)>>2]|0;if((c|0)<=-1){h=0;c=d;break o}c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){h=1;break}else d=c}}while(0);f=m+1|0;f=((f|0)%3|0|0)==0?m+-2|0:f;if((f|0)<0){d=h;W=367;break}j=k[u>>2]|0;g=k[j+12>>2]|0;while(1){d=k[g+(f<<2)>>2]|0;if((d|0)<=-1){d=h;q=0;h=j;break n}f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0){d=h;q=1;h=j;break}}}while(0);if((W|0)==367){W=0;h=k[u>>2]|0;q=1;g=k[h+12>>2]|0}s=b+1|0;p=b*3|0;k[da>>2]=p;k[g+(p<<2)>>2]=m;k[g+(m<<2)>>2]=p;V=p+1|0;k[g+(V<<2)>>2]=c;k[g+(c<<2)>>2]=V;V=p+2|0;k[g+(V<<2)>>2]=f;k[g+(f<<2)>>2]=V;g=c+1|0;do if(d)n=-1073741824;else{c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)<0){n=-1073741824;break}n=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[h>>2]|0)+(((b|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=h+24|0;m=h+28|0;c=k[m>>2]|0;b=k[j>>2]|0;d=c-b>>2;do if(d>>>0<=n>>>0){g=n+1|0;h=c;if(g>>>0>d>>>0){Ld(j,g-d|0);b=k[j>>2]|0;break}if(g>>>0>=d>>>0)break;c=b+(g<<2)|0;if((h|0)==(c|0))break;k[m>>2]=h+(~((h+-4-c|0)>>>2)<<2)}while(0);k[b+(n<<2)>>2]=p;d=k[da>>2]|0;c=k[u>>2]|0}else{d=p;c=h}n=d+1|0;b=f+1|0;do if(q)m=-1073741824;else{b=((b|0)%3|0|0)==0?f+-2|0:b;if((b|0)<0){m=-1073741824;break}m=k[(k[c>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[c>>2]|0)+(((d|0)<-1?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=c+24|0;j=c+28|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(d>>>0<=m>>>0){f=m+1|0;g=c;if(f>>>0>d>>>0){Ld(h,f-d|0);b=k[h>>2]|0;break}if(f>>>0>=d>>>0)break;c=b+(f<<2)|0;if((g|0)==(c|0))break;k[j>>2]=g+(~((g+-4-c|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=n;d=k[da>>2]|0;f=k[u>>2]|0}else f=c;n=d+2|0;b=k[ca>>2]|0;c=b+1|0;do if((b|0)<0)m=-1073741824;else{b=((c|0)%3|0|0)==0?b+-2|0:c;if((b|0)<0){m=-1073741824;break}m=k[(k[f>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=f+24|0;j=f+28|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(d>>>0<=m>>>0){f=m+1|0;g=c;if(f>>>0>d>>>0){Ld(h,f-d|0);b=k[h>>2]|0;break}if(f>>>0>=d>>>0)break;c=b+(f<<2)|0;if((g|0)==(c|0))break;k[j>>2]=g+(~((g+-4-c|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=n;d=k[da>>2]|0}if((d|0)<0)b=-1073741824;else b=k[(k[k[u>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;c=k[Y>>2]|0;V=c+(b>>>5<<2)|0;k[V>>2]=k[V>>2]&~(1<<(b&31));b=d+1|0;if((d|0)<-1)b=-1073741824;else b=k[(k[k[u>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;V=c+(b>>>5<<2)|0;k[V>>2]=k[V>>2]&~(1<<(b&31));b=d+2|0;if((d|0)<-2)b=-1073741824;else b=k[(k[k[u>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=c+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));b=k[Z>>2]|0;c=k[w>>2]|0;if((b|0)==(c<<5|0)){if((b+1|0)<0){W=406;break}V=c<<6;Q=b+32&-32;Td(v,b>>>0<1073741823?(V>>>0>>0?Q:V):2147483647);b=k[Z>>2]|0}k[Z>>2]=b+1;V=(k[v>>2]|0)+(b>>>5<<2)|0;k[V>>2]=k[V>>2]|1<<(b&31);b=k[$>>2]|0;if((b|0)==(k[x>>2]|0))Pd(y,da);else{k[b>>2]=d;k[$>>2]=b+4}b=s;c=k[R>>2]|0;d=k[ma>>2]|0}if((c|0)==(d|0)){aa=b;ba=u;break l}}if((W|0)==406)Ba(11055,11078,304,11175);else if((W|0)==416)Ba(11055,11078,304,11175)}else{aa=b;ba=a+8|0}while(0);da=k[ba>>2]|0;if((aa|0)!=(((k[da+4>>2]|0)-(k[da>>2]|0)|0)/12|0|0)){e=-1;break}b=a+88|0;f=a+92|0;g=k[f>>2]|0;c=k[b>>2]|0;d=g-c>>2;if(e>>>0>d>>>0){Ld(b,e-d|0);break}if(e>>>0>=d>>>0)break;b=c+(e<<2)|0;if((g|0)==(b|0))break;k[f>>2]=g+(~((g+-4-b|0)>>>2)<<2)}while(0);b=k[ja+8>>2]|0;if(b|0)do{da=b;b=k[b>>2]|0;gb(da)}while((b|0)!=0);b=k[ja>>2]|0;k[ja>>2]=0;if(b|0)gb(b);b=k[ma>>2]|0;c=b;if(b|0){d=k[R>>2]|0;if((d|0)!=(b|0))k[R>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}if((e|0)==-1){b=0;break}f=k[(k[ka>>2]|0)+20>>2]|0;c=T;b=k[c>>2]|0;e=(k[ea>>2]|0)+b|0;ea=S;c=Nf(k[ea>>2]|0,k[ea+4>>2]|0,b|0,k[c+4>>2]|0)|0;k[f>>2]=e;e=f+8|0;k[e>>2]=c;k[e+4>>2]=0;f=f+16|0;k[f>>2]=U;k[f+4>>2]=((U|0)<0)<<31>>31;f=k[ia>>2]|0;e=k[ha>>2]|0;c=e;b=k[ga>>2]|0;do if((f|0)==(e|0)){d=b;u=f;v=f}else{if(((k[b+4>>2]|0)-(k[b>>2]|0)|0)<=0){d=b;u=f;v=e;break}s=a+8|0;t=ma+4|0;u=ma+8|0;v=a+320|0;q=0;d=e;j=e;b=f;while(1){k[ma>>2]=q;p=q+1|0;k[t>>2]=((p|0)%3|0|0)==0?q+-2|0:p;k[u>>2]=q+(((q>>>0)%3|0|0)==0?2:-1);p=0;n=q;while(1){do if((n|0)<0)W=449;else{if((k[(k[(k[s>>2]|0)+12>>2]|0)+(n<<2)>>2]|0)<0){W=449;break}if((b|0)==(e|0)){m=d;h=j;g=e;f=e;break}else m=0;while(1){f=k[v>>2]|0;g=l[f+(m<<4)+12>>0]|0;h=f+(m<<4)+8|0;e=k[h>>2]|0;if(e>>>0<4096){da=f+(m<<4)+4|0;ea=(k[da>>2]|0)+-1|0;k[da>>2]=ea;e=l[(k[f+(m<<4)>>2]|0)+ea>>0]|e<<8;k[h>>2]=e}ba=e&255;ca=0-g&255;da=_(e>>>8,ca)|0;ea=ba>>>0>>0;k[h>>2]=ea?da+ba|0:e-ca-da|0;if(ea){k[ja>>2]=n;b=c+(m*116|0)+108|0;d=k[b>>2]|0;if(d>>>0<(k[c+(m*116|0)+112>>2]|0)>>>0){k[d>>2]=n;k[b>>2]=d+4}else Pd(c+(m*116|0)+104|0,ja);d=k[ha>>2]|0;e=d;b=k[ia>>2]|0}else e=j;m=m+1|0;c=e;if(m>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);do if((W|0)==449){W=0;c=j;if((b|0)==(j|0)){m=d;h=j;g=j;f=j;break}else h=0;while(1){e=j;k[ja>>2]=n;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=n;k[f>>2]=g+4;e=j}else{Pd(e+(h*116|0)+104|0,ja);c=k[ha>>2]|0;e=c;b=k[ia>>2]|0;d=c}h=h+1|0;if(h>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);b=p+1|0;if((b|0)==3)break;p=b;n=k[ma+(b<<2)>>2]|0;b=f;e=g;j=h;d=m}q=q+3|0;d=k[ga>>2]|0;if((q|0)>=((((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0)*3|0)){u=f;v=m;break}else{d=m;j=h;e=g;b=f}}}while(0);i[a+276>>0]=0;b=Yf(k[a+272>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=X;t=Yf(b|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0;b=X;k[b>>2]=t;k[b+4>>2]=L;i[a+316>>0]=0;b=Yf(k[a+312>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=a+296|0;f=t;f=Yf(b|0,L|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[t>>2]=f;k[t+4>>2]=L;t=k[d+28>>2]|0;f=k[d+24>>2]|0;b=t-f|0;s=f;if((b|0)>0){q=k[Y>>2]|0;m=b>>2;n=d+12|0;j=0;do{do if(k[q+(j>>>5<<2)>>2]&1<<(j&31)|0){p=s+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[n>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;p:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break p;c=k[g+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break p;c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(m|0))}b=v;if((u|0)==(v|0)){d=t;e=v;c=v}else{f=0;do{dc(b+(f*116|0)+4|0,d);b=k[fa>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{Vc(b+(f*116|0)+4|0,k[c>>2]|0);c=c+4|0;b=k[fa>>2]|0}while((c|0)!=(d|0));cb(b+(f*116|0)+4|0,0,0);f=f+1|0;c=k[ia>>2]|0;e=k[ha>>2]|0;b=e;d=k[ga>>2]|0}while(f>>>0<((c-e|0)/116|0)>>>0);f=k[d+24>>2]|0;d=k[d+28>>2]|0}d=d-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(d>>>0>g>>>0){Ld(f,d-g|0);b=k[ha>>2]|0;c=k[ia>>2]|0;e=b}else{if(d>>>0>=g>>>0)break;d=h+(d<<2)|0;if((m|0)==(d|0))break;k[j>>2]=m+(~((m+-4-d|0)>>>2)<<2)}while(0);if((c|0)==(e|0)){b=e;c=e}else{n=0;h=b;b=e;m=e;while(1){f=(k[h+(n*116|0)+60>>2]|0)-(k[h+(n*116|0)+56>>2]|0)>>2;g=k[ga>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=h+(n*116|0)+88|0;h=h+(n*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;d=j-e>>2;do if(f>>>0>d>>>0){Ld(g,f-d|0);b=k[ha>>2]|0;d=b;c=k[ia>>2]|0}else{if(f>>>0>=d>>>0){d=m;break}d=e+(f<<2)|0;if((j|0)==(d|0)){d=m;break}k[h>>2]=j+(~((j+-4-d|0)>>>2)<<2);d=m}while(0);n=n+1|0;if(n>>>0>=((c-d|0)/116|0)>>>0)break;else{h=d;m=d}}}h=k[(k[ka>>2]|0)+24>>2]|0;z=a+8|0;d=k[z>>2]|0;d=((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0;e=h+80|0;h=h+84|0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;j=k[h>>2]|0;g=k[e>>2]|0;f=(j-g|0)/12|0;do if(d>>>0>f>>>0){Zc(e,d-f|0,ma);c=k[ia>>2]|0;b=k[ha>>2]|0}else{if(d>>>0>=f>>>0)break;d=g+(d*12|0)|0;if((j|0)==(d|0))break;k[h>>2]=j+(~(((j+-12-d|0)>>>0)/12|0)*12|0)}while(0);if((c|0)==(b|0)){b=k[z>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;e=b>>2;if(!e)d=0;else{if(e>>>0>1073741823)Ba(11055,11078,304,11175);c=(b|0)==0?1:b;while(1){b=Xa(c)|0;if(b|0){d=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){d=0;break}Na[b&1]()}b=e;c=d;while(1){k[c>>2]=-1;b=b+-1|0;if(!b)break;else c=c+4|0}}b=k[ka>>2]|0;f=k[b+24>>2]|0;e=k[f+84>>2]|0;g=k[f+80>>2]|0;if((e-g|0)>0){c=0;w=0;u=b;v=b;while(1){n=w*3|0;b=d+(k[(k[k[z>>2]>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]<<2)|0;h=k[b>>2]|0;if((h|0)==-1){k[b>>2]=c;j=c+1|0;h=c}else j=c;b=n+1|0;if((n|0)<-1)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;c=k[b>>2]|0;if((c|0)==-1){k[b>>2]=j;m=j+1|0;t=j}else{m=j;t=c}b=n+2|0;if((n|0)<-2)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;j=k[b>>2]|0;if((j|0)==-1){k[b>>2]=m;c=m+1|0;j=m}else c=m;n=f+80|0;q=f+84|0;b=(e-g|0)/12|0;p=g;s=w;w=w+1|0;if((s|0)<(b|0)){b=u;m=v}else{m=e;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;do if(w>>>0>b>>>0){Zc(n,w-b|0,ma);m=k[ka>>2]|0;g=k[m+24>>2]|0;b=k[n>>2]|0;f=g;e=k[g+84>>2]|0;g=k[g+80>>2]|0}else{if(w>>>0>=b>>>0){b=p;m=v;break}b=p+(w*12|0)|0;if((m|0)==(b|0)){b=p;m=v;break}e=m+(~(((m+-12-b|0)>>>0)/12|0)*12|0)|0;k[q>>2]=e;b=p;m=v}while(0);p=b;b=m}k[p+(s*12|0)>>2]=h;k[p+(s*12|0)+4>>2]=t;k[p+(s*12|0)+8>>2]=j;if((w|0)>=((e-g|0)/12|0|0))break;else{u=b;v=m}}}else c=0;k[(k[b+4>>2]|0)+64>>2]=c;if(!d){b=1;break}gb(d);b=1;break}k[ja>>2]=0;y=ja+4|0;k[y>>2]=0;k[ja+8>>2]=0;b=k[z>>2]|0;c=(k[b+4>>2]|0)-(k[b>>2]|0)|0;if(!c)x=0;else{if((((c|0)/12|0)*3|0)>>>0>1073741823)Ba(11055,11078,304,11175);while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}Ke(b|0,0,c|0)|0;x=b;b=k[z>>2]|0}q:do if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){v=a+136|0;w=ja+8|0;u=0;r:while(1){f=k[(k[b+24>>2]|0)+(u<<2)>>2]|0;s:do if((f|0)>=0){t:do if(!(k[(k[v>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31))){c=k[ia>>2]|0;d=k[ha>>2]|0;p=d;if((c|0)==(d|0))break;q=(f>>>0)/3|0;s=(f>>>0)%3|0;n=((s|0)==0?2:-1)+f|0;t=(n|0)<0;g=(c-d|0)/116|0;h=b+12|0;e=0;u:while(1){a=k[(k[k[p+(e*116|0)+68>>2]>>2]|0)+(q*12|0)+(s<<2)>>2]|0;do if(1<<(a&31)&k[(k[p+(e*116|0)+16>>2]|0)+(a>>>5<<2)>>2]|0){j=k[p+(e*116|0)+32>>2]|0;m=k[j+(f<<2)>>2]|0;if(!t){c=k[(k[h>>2]|0)+(n<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(f|0))break;else d=c}else d=n;while(1){c=k[j+(d<<2)>>2]|0;if((d|0)<0)break u;if((c|0)!=(m|0)){f=d;break t}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[h>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)==(f|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=g>>>0)break t}while(1)if((c|0)==(m|0))c=m;else{f=d;break}}while(0);c=k[y>>2]|0;k[x+(f<<2)>>2]=c-(k[ja>>2]|0)>>2;k[ma>>2]=f;if(c>>>0<(k[w>>2]|0)>>>0){k[c>>2]=f;k[y>>2]=c+4}else{Pd(ja,ma);b=k[z>>2]|0}if((f|0)<0)break;c=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(f|0)){g=c;d=f}else break;while(1){if((g|0)<0)break r;b=k[ia>>2]|0;c=k[ha>>2]|0;e=c;v:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){a=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[a+(g<<2)>>2]|0)!=(k[a+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){W=575;break v}}b=k[y>>2]|0;k[x+(g<<2)>>2]=b-(k[ja>>2]|0)>>2;k[ma>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ja,ma)}else W=575;while(0);if((W|0)==575){W=0;k[x+(g<<2)>>2]=k[x+(d<<2)>>2]}c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;b=k[z>>2]|0;if((c|0)<0)break s;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break s;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(f|0)){d=g;g=c}else break}}while(0);u=u+1|0;if((u|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))break q}f=x+(g<<2)|0;w:while(1){b=k[ia>>2]|0;c=k[ha>>2]|0;e=c;x:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){la=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[la+(g<<2)>>2]|0)!=(k[la+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0)break x}b=k[y>>2]|0;k[f>>2]=b-(k[ja>>2]|0)>>2;k[ma>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ja,ma);d=g;continue w}while(0);k[f>>2]=k[x+(d<<2)>>2];d=g}}while(0);b=k[ka>>2]|0;c=k[b+24>>2]|0;e=k[c+84>>2]|0;d=k[c+80>>2]|0;if((e-d|0)>0){t=0;g=b;m=b;while(1){s=x+(t*3<<2)|0;n=k[s>>2]|0;q=k[s+4>>2]|0;s=k[s+8>>2]|0;b=c+80|0;h=c+84|0;f=(e-d|0)/12|0;j=d;p=t;t=t+1|0;if((p|0)<(f|0)){b=g;f=m}else{g=e;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;do if(t>>>0>f>>>0){Zc(b,t-f|0,ma);f=k[ka>>2]|0;d=k[f+24>>2]|0;b=k[b>>2]|0;c=d;e=k[d+84>>2]|0;d=k[d+80>>2]|0}else{if(t>>>0>=f>>>0){b=j;f=m;break}b=j+(t*12|0)|0;if((g|0)==(b|0)){b=j;f=m;break}e=g+(~(((g+-12-b|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;b=j;f=m}while(0);j=b;b=f}k[j+(p*12|0)>>2]=n;k[j+(p*12|0)+4>>2]=q;k[j+(p*12|0)+8>>2]=s;if((t|0)>=((e-d|0)/12|0|0))break;else{g=b;m=f}}}c=k[y>>2]|0;d=k[ja>>2]|0;k[(k[b+4>>2]|0)+64>>2]=c-d>>2;if(x|0)gb(x);b=d;if(d|0){if((c|0)!=(d|0))k[y>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(b)}b=1}else b=0;while(0);ma=b;r=la;return ma|0}function Wa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=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,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;da=r;r=r+80|0;ea=da+68|0;ba=da+48|0;U=da+44|0;V=da+40|0;W=da;p=a+148|0;k[p>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{ca=b;b=k[b>>2]|0;gb(ca)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}ca=a+4|0;b=k[(k[ca>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=Yf(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ea=0;r=da;return ea|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[p>>2]=e;e=Yf(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){ea=0;r=da;return ea|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;s=n;k[s>>2]=e;k[s+4>>2]=b;s=a+172|0;k[s>>2]=c;b=Yf(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ea=0;r=da;return ea|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Y=a+8|0;while(1){b=Xa(60)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}e=b;f=e+60|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=k[Y>>2]|0;k[Y>>2]=b;if(c){_d(c);gb(c);b=k[Y>>2]|0;if(!b){ea=0;r=da;return ea|0}}Ob(b,p);b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xd(b,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xd(b,p);b=k[a+36>>2]|0;N=a+40|0;c=k[N>>2]|0;if((c|0)!=(b|0))k[N>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;u=a+52|0;c=k[u>>2]|0;if((c|0)!=(b|0))k[u>>2]=c+(~((c+-4-b|0)>>>2)<<2);Q=a+68|0;k[Q>>2]=0;b=k[a+76>>2]|0;R=a+80|0;c=k[R>>2]|0;if((c|0)!=(b|0))k[R>>2]=c+(~((c+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[ca>>2]|0)+20>>2]|0;$=b+8|0;Z=k[$+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((Z|0)>(e|0)|((Z|0)==(e|0)?(k[$>>2]|0)>>>0>d>>>0:0))){ea=0;r=da;return ea|0}h=i[(k[b>>2]|0)+d>>0]|0;Z=Yf(d|0,e|0,1,0)|0;$=c;k[$>>2]=Z;k[$+4>>2]=L;if(h<<24>>24<0){ea=0;r=da;return ea|0}X=a+228|0;g=k[X>>2]|0;$=a+232|0;b=k[$>>2]|0;if((b|0)==(g|0)){Z=X;f=g}else{do{k[$>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[$>>2]|0}while((b|0)!=(g|0));Z=X;f=k[X>>2]|0}e=b;t=h<<24>>24;c=(e-f|0)/116|0;d=f;a:do if(t>>>0<=c>>>0){if(t>>>0>>0?(q=d+(t*116|0)|0,(b|0)!=(q|0)):0)do{k[$>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[$>>2]|0}while((b|0)!=(q|0))}else{c=t-c|0;m=a+236|0;d=k[m>>2]|0;if(((d-e|0)/116|0)>>>0>=c>>>0)while(1){k[b>>2]=-1;e=b+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=(k[$>>2]|0)+116|0;k[$>>2]=b;c=c+-1|0;if(!c)break a}g=(e-f|0)/116|0;b=g+c|0;if(b>>>0>37025580)Ba(11055,11078,304,11175);P=(d-f|0)/116|0;e=P<<1;e=P>>>0<18512790?(e>>>0>>0?b:e):37025580;if(!e)b=0;else{if(e>>>0>37025580){ea=Da(4)|0;k[ea>>2]=5228;ra(ea|0,736,67)}d=e*116|0;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}h=b+(g*116|0)|0;g=h;d=b+(e*116|0)|0;j=g;b=h;do{k[b>>2]=-1;e=b+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=j+116|0;j=b;c=c+-1|0}while((c|0)!=0);e=k[X>>2]|0;b=e;c=k[$>>2]|0;if((c|0)==(e|0)){c=g;h=b}else{b=h;do{K=b;b=b+-116|0;M=c;c=c+-116|0;k[b>>2]=k[c>>2];P=M+-112|0;k[K+-112>>2]=k[P>>2];O=M+-108|0;k[K+-108>>2]=k[O>>2];J=M+-104|0;k[K+-104>>2]=k[J>>2];k[P>>2]=0;k[O>>2]=0;k[J>>2]=0;J=M+-100|0;k[K+-100>>2]=k[J>>2];O=M+-96|0;k[K+-96>>2]=k[O>>2];P=M+-92|0;k[K+-92>>2]=k[P>>2];k[J>>2]=0;k[O>>2]=0;k[P>>2]=0;i[K+-88>>0]=i[M+-88>>0]|0;P=K+-84|0;O=M+-84|0;k[P>>2]=0;J=K+-80|0;k[J>>2]=0;k[K+-76>>2]=0;k[P>>2]=k[O>>2];P=M+-80|0;k[J>>2]=k[P>>2];J=M+-76|0;k[K+-76>>2]=k[J>>2];k[J>>2]=0;k[P>>2]=0;k[O>>2]=0;O=K+-72|0;P=M+-72|0;k[O>>2]=0;J=K+-68|0;k[J>>2]=0;k[K+-64>>2]=0;k[O>>2]=k[P>>2];O=M+-68|0;k[J>>2]=k[O>>2];J=M+-64|0;k[K+-64>>2]=k[J>>2];k[J>>2]=0;k[O>>2]=0;k[P>>2]=0;P=K+-60|0;O=M+-60|0;k[P>>2]=0;J=K+-56|0;k[J>>2]=0;k[K+-52>>2]=0;k[P>>2]=k[O>>2];P=M+-56|0;k[J>>2]=k[P>>2];J=M+-52|0;k[K+-52>>2]=k[J>>2];k[J>>2]=0;k[P>>2]=0;k[O>>2]=0;k[K+-48>>2]=k[M+-48>>2];i[K+-44>>0]=i[M+-44>>0]|0;O=K+-40|0;P=M+-40|0;k[O>>2]=0;J=K+-36|0;k[J>>2]=0;k[K+-32>>2]=0;k[O>>2]=k[P>>2];O=M+-36|0;k[J>>2]=k[O>>2];J=M+-32|0;k[K+-32>>2]=k[J>>2];k[J>>2]=0;k[O>>2]=0;k[P>>2]=0;P=K+-28|0;O=M+-28|0;k[P>>2]=0;J=K+-24|0;k[J>>2]=0;k[K+-20>>2]=0;k[P>>2]=k[O>>2];P=M+-24|0;k[J>>2]=k[P>>2];J=M+-20|0;k[K+-20>>2]=k[J>>2];k[J>>2]=0;k[P>>2]=0;k[O>>2]=0;k[K+-16>>2]=k[M+-16>>2];O=K+-12|0;P=M+-12|0;k[O>>2]=0;J=K+-8|0;k[J>>2]=0;k[K+-4>>2]=0;k[O>>2]=k[P>>2];O=M+-8|0;k[J>>2]=k[O>>2];M=M+-4|0;k[K+-4>>2]=k[M>>2];k[M>>2]=0;k[O>>2]=0;k[P>>2]=0}while((c|0)!=(e|0));c=b;h=k[Z>>2]|0;b=k[$>>2]|0}k[Z>>2]=c;k[$>>2]=j;k[m>>2]=d;g=h;if((b|0)!=(g|0))do{c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=b+-116|0}while((b|0)!=(g|0));if(!h)break;gb(h)}while(0);b=k[(k[ca>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Yf(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){ea=0;r=da;return ea|0}f=k[b>>2]|0;I=f+c|0;I=l[I>>0]|l[I+1>>0]<<8|l[I+2>>0]<<16|l[I+3>>0]<<24;P=j;k[P>>2]=m;k[P+4>>2]=e;if(p>>>0>>0){ea=0;r=da;return ea|0}b=Yf(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){ea=0;r=da;return ea|0}g=f+m|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;P=j;k[P>>2]=b;k[P+4>>2]=c;P=a+136|0;g=(k[s>>2]|0)+g|0;i[ea>>0]=1;nd(P,g,ea);g=k[(k[ca>>2]|0)+20>>2]|0;j=g+8|0;h=k[j>>2]|0;j=k[j+4>>2]|0;c=g+16|0;b=c;d=k[b>>2]|0;b=k[b+4>>2]|0;e=Yf(d|0,b|0,4,0)|0;f=L;g=k[g>>2]|0;if((j|0)<(f|0)|(j|0)==(f|0)&h>>>0>>0)c=0;else{d=g+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[c>>2]=e;k[c+4>>2]=f;c=d;d=e;b=f}s=g+d+c|0;q=Yf(d|0,b|0,c|0,0)|0;q=Nf(h|0,j|0,q|0,L|0)|0;if(0<0|0==0&q>>>0<4){ea=0;r=da;return ea|0}h=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;b:do if(!h){c=4;b=0}else{j=ea+4|0;m=ea+8|0;n=a+44|0;p=a+36|0;g=0;c=4;b=0;while(1){d=Yf(c|0,b|0,4,0)|0;O=L;if(0<(O|0)|0==(O|0)&q>>>0>>0)break;e=s+c|0;k[ea>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=Yf(c|0,b|0,8,0)|0;f=L;if(0<(f|0)|0==(f|0)&q>>>0>>0)break;O=s+d|0;k[j>>2]=l[O>>0]|l[O+1>>0]<<8|l[O+2>>0]<<16|l[O+3>>0]<<24;if(!(0>(f|0)|0==(f|0)&q>>>0>e>>>0))break;d=i[s+e>>0]|0;c=Yf(c|0,b|0,9,0)|0;b=L;i[m>>0]=d&3|i[m>>0]&-4;d=k[N>>2]|0;if((d|0)==(k[n>>2]|0))Kd(p,ea);else{k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[N>>2]=(k[N>>2]|0)+12}g=g+1|0;if(g>>>0>=h>>>0)break b}ea=0;r=da;return ea|0}while(0);d=Yf(c|0,b|0,4,0)|0;O=L;if(0<(O|0)|0==(O|0)&q>>>0>>0){ea=0;r=da;return ea|0}g=s+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;c:do if(!g)M=d;else{h=a+56|0;j=a+48|0;k[ea>>2]=0;b=Yf(c|0,b|0,8,0)|0;e=L;d:do if(!(0<(e|0)|0==(e|0)&q>>>0>>0)){f=0;c=d;d=b;while(1){b=s+c|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[ea>>2]=b;c=k[u>>2]|0;if((c|0)==(k[h>>2]|0))Pd(j,ea);else{k[c>>2]=b;k[u>>2]=c+4}f=f+1|0;if(f>>>0>=g>>>0)break;k[ea>>2]=0;b=Yf(d|0,e|0,4,0)|0;e=L;if(0<(e|0)|0==(e|0)&q>>>0>>0)break d;else{c=d;d=b}}M=d;break c}while(0);ea=0;r=da;return ea|0}while(0);if((M|0)==-1){ea=0;r=da;return ea|0}K=a+240|0;k[a+328>>2]=a;O=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;O=k[O>>2]|0;H=k[O>>2]|0;O=k[O+16>>2]|0;J=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;J=k[J>>2]|0;G=J+8|0;J=J+16|0;J=Nf(k[G>>2]|0,k[G+4>>2]|0,k[J>>2]|0,k[J+4>>2]|0)|0;k[K>>2]=H+O;O=a+248|0;k[O>>2]=J;k[O+4>>2]=0;O=a+256|0;J=O;k[J>>2]=0;k[J+4>>2]=0;k[a+324>>2]=t;k[W>>2]=0;J=W+8|0;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;k[J+24>>2]=0;i[J+28>>0]=0;do if(ec(K,W)|0){k[ea>>2]=0;K=ea+4|0;k[K>>2]=0;k[ea+8>>2]=0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;o[ba+16>>2]=1.0;H=k[a+140>>2]|0;e:do if((I|0)>0){x=a+276|0;y=ba+4|0;z=a+8|0;A=ea+8|0;C=a+272|0;D=a+264|0;E=a+268|0;F=a+36|0;G=I+-1|0;c=0;w=0;f:while(1){b=w+1|0;g:do if(!(i[x>>0]|0))aa=212;else{f=k[C>>2]|0;g=k[D>>2]|0;h=k[E>>2]|0;d=g+(f>>>3)|0;do if(d>>>0>>0){v=l[d>>0]|0;e=f+1|0;k[C>>2]=e;if(!(v&1<<(f&7)))break;d=g+(e>>>3)|0;if(d>>>0>>0){v=(l[d>>0]|0)>>>(e&7)&1;e=f+2|0;k[C>>2]=e;f=v}else f=0;d=g+(e>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(e&7);k[C>>2]=e+1;d=d<<1&2}else d=0;d=(d|f)<<1|1;switch(d&7){case 1:{aa=212;break g}case 3:case 5:{t=k[(k[K>>2]|0)+-4>>2]|0;v=w*3|0;n=((d|0)==5?2:1)+v|0;d=k[z>>2]|0;u=k[d+12>>2]|0;k[u+(n<<2)>>2]=t;k[u+(t<<2)>>2]=n;u=c+1|0;s=(n|0)<0;k[(k[d>>2]|0)+((s?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=d+24|0;j=d+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=c>>>0){g=e;if(u>>>0>f>>>0){Ld(h,u-f|0);d=k[h>>2]|0;break}if(u>>>0>=f>>>0)break;e=d+(u<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=n;d=k[z>>2]|0}c=n+1|0;if(s)p=n;else p=((c|0)%3|0|0)==0?n+-2|0:c;q=(t|0)<0;do if(q)m=-1073741824;else{c=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((c|0)<0){m=-1073741824;break}m=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;e=d-c>>2;do if(e>>>0<=m>>>0){f=m+1|0;g=d;if(f>>>0>e>>>0){Ld(h,f-e|0);c=k[h>>2]|0;break}if(f>>>0>=e>>>0)break;d=c+(f<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;d=k[z>>2]|0}do if(!s)if(!((n>>>0)%3|0)){n=n+2|0;break}else{n=n+-1|0;break}while(0);c=t+1|0;do if(q)m=-1073741824;else{c=((c|0)%3|0|0)==0?t+-2|0:c;if((c|0)<0){m=-1073741824;break}m=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((n|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;e=d-c>>2;do if(e>>>0<=m>>>0){f=m+1|0;g=d;if(f>>>0>e>>>0){Ld(h,f-e|0);c=k[h>>2]|0;break}if(f>>>0>=e>>>0)break;d=c+(f<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[K>>2]|0)+-4>>2]=v;c=u;break}case 7:{m=w*3|0;k[U>>2]=m;e=k[z>>2]|0;n=c+1|0;d=k[e>>2]|0;k[d+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=e+24|0;j=e+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=c>>>0){g=e;if(n>>>0>f>>>0){Ld(h,n-f|0);d=k[h>>2]|0;break}if(n>>>0>=f>>>0)break;e=d+(n<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=m;e=k[z>>2]|0;f=k[U>>2]|0;d=k[e>>2]|0}else f=m;m=f+1|0;p=c+2|0;k[d+(((f|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((c|0)>-2){h=e+24|0;j=e+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=e;if(p>>>0>f>>>0){Ld(h,p-f|0);d=k[h>>2]|0;break}if(p>>>0>=f>>>0)break;e=d+(p<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=m;e=k[z>>2]|0;f=k[U>>2]|0;d=k[e>>2]|0}m=f+2|0;c=c+3|0;k[d+(((f|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){h=e+24|0;j=e+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=p>>>0){g=e;if(c>>>0>f>>>0){Ld(h,c-f|0);d=k[h>>2]|0;break}if(c>>>0>=f>>>0)break;e=d+(c<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=m}d=k[K>>2]|0;if((d|0)==(k[A>>2]|0))Pd(ea,U);else{k[d>>2]=k[U>>2];k[K>>2]=d+4}break}default:break f}h=I-w|0;j=h+-1|0;d=k[N>>2]|0;if((d|0)==(k[F>>2]|0))break g;while(1){e=k[d+-8>>2]|0;if((e|0)>=(h|0)){B=-1;break e}if((e|0)!=(j|0))break g;e=i[d+-4>>0]|0;g=k[d+-12>>2]|0;k[N>>2]=d+-12;if((g|0)<0){B=-1;break e}d=k[(k[K>>2]|0)+-4>>2]|0;f=(d|0)<0;do if(!(e&1)){if(f)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(f)break;d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);w=jc(ba,G-g|0)|0;k[w>>2]=d;d=k[N>>2]|0;if((d|0)==(k[F>>2]|0))break g}}while(0);t=k[(k[K>>2]|0)+-4>>2]|0;u=(t|0)<0;h:do if(u){d=t;aa=135}else{d=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){aa=135;break}g=k[z>>2]|0;f=k[g+12>>2]|0;while(1){e=k[f+(d<<2)>>2]|0;if((e|0)<=-1){p=0;break h}d=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){p=1;break}}}while(0);if((aa|0)==135){aa=0;g=k[z>>2]|0;p=1;f=k[g+12>>2]|0}v=w*3|0;q=v+1|0;k[f+(t<<2)>>2]=q;k[f+(q<<2)>>2]=t;w=v+2|0;k[f+(d<<2)>>2]=w;k[f+(w<<2)>>2]=d;e=t+1|0;do if(u)s=-1073741824;else{e=((e|0)%3|0|0)==0?t+-2|0:e;if((e|0)<0){s=-1073741824;break}s=k[(k[g>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[g>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=s;if((s|0)>-1){m=g+24|0;n=g+28|0;f=k[n>>2]|0;e=k[m>>2]|0;g=f-e>>2;do if(g>>>0<=s>>>0){h=s+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);e=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=e+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[e+(s<<2)>>2]=v;e=k[z>>2]|0}else e=g;f=d+1|0;do if(p)n=-1073741824;else{d=((f|0)%3|0|0)==0?d+-2|0:f;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((v|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q;e=k[z>>2]|0}do if(u)n=-1073741824;else{d=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((v|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=w}if((c|0)>(H|0)){B=-1;break e}w=(k[P>>2]|0)+(s>>>5<<2)|0;k[w>>2]=k[w>>2]&~(1<<(s&31));k[(k[K>>2]|0)+-4>>2]=v}while(0);if((aa|0)==212){aa=0;d=k[K>>2]|0;m=d+-4|0;u=k[m>>2]|0;k[K>>2]=m;g=k[y>>2]|0;i:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&w;else j=(w>>>0)%(g>>>0)|0;e=k[(k[ba>>2]|0)+(j<<2)>>2]|0;if(!e){d=m;break}if(f)do{e=k[e>>2]|0;if(!e){d=m;break i}if((k[e+4>>2]&h|0)!=(j|0)){d=m;break i}}while((k[e+8>>2]|0)!=(w|0));else do{e=k[e>>2]|0;if(!e){d=m;break i}if((((k[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0)){d=m;break i}}while((k[e+8>>2]|0)!=(w|0));e=e+12|0;if((m|0)==(k[A>>2]|0)){Pd(ea,e);d=k[K>>2]|0;break}else{k[m>>2]=k[e>>2];k[K>>2]=d;break}}else d=m;while(0);p=k[d+-4>>2]|0;w=w*3|0;s=w+2|0;e=k[z>>2]|0;n=k[e+12>>2]|0;k[n+(p<<2)>>2]=s;k[n+(s<<2)>>2]=p;q=w+1|0;k[n+(u<<2)>>2]=q;k[n+(q<<2)>>2]=u;n=(p|0)<0;do if(n)v=-1073741824;else{d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)<0){v=-1073741824;break}v=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=v;t=(v|0)>-1;if(t){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=v>>>0){g=v+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(v<<2)>>2]=w;e=k[z>>2]|0}d=p+1|0;do if(n)n=-1073741824;else{d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((w|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q;e=k[z>>2]|0}p=(u|0)<0;do if(p)n=-1073741824;else{d=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((w|0)<-2?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=s}d=u+1|0;j:do if(p)aa=262;else{f=((d|0)%3|0|0)==0?u+-2|0:d;if((f|0)<0){aa=262;break}e=k[z>>2]|0;j=k[e>>2]|0;d=k[j+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;p=v+1|0;if(t)g=j;else{h=e+12|0;while(1){k[j+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]=v;u=f+1|0;f=((u|0)%3|0|0)==0?f+-2|0:u;if((f|0)<0)break j;f=k[(k[h>>2]|0)+(f<<2)>>2]|0;g=f+1|0;if((f|0)<0)break j;f=((g|0)%3|0|0)==0?f+-2|0:g;if((f|0)<=-1)break j}}while(1){k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]=v;m=e+24|0;n=e+28|0;g=k[n>>2]|0;e=k[m>>2]|0;h=g-e>>2;do if(h>>>0<=v>>>0){j=g;if(p>>>0>h>>>0){Ld(m,p-h|0);e=k[m>>2]|0;break}if(p>>>0>=h>>>0)break;g=e+(p<<2)|0;if((j|0)==(g|0))break;k[n>>2]=j+(~((j+-4-g|0)>>>2)<<2)}while(0);k[e+(v<<2)>>2]=f;e=f+1|0;f=((e|0)%3|0|0)==0?f+-2|0:e;e=k[z>>2]|0;if((f|0)<0)break j;f=k[(k[e+12>>2]|0)+(f<<2)>>2]|0;g=f+1|0;if((f|0)<0)break j;f=((g|0)%3|0|0)==0?f+-2|0:g;if((f|0)<=-1)break j;g=k[e>>2]|0}}while(0);if((aa|0)==262){aa=0;e=k[z>>2]|0;d=-1073741824}k[(k[e+24>>2]|0)+(d<<2)>>2]=-1073741824;k[(k[K>>2]|0)+-4>>2]=w}if((b|0)<(I|0))w=b;else{B=c;aa=320;break e}}}else{B=0;b=0;aa=320}while(0);do if((aa|0)==320){if((B|0)>(H|0)){B=-1;break}c=k[K>>2]|0;d=k[ea>>2]|0;k:do if((c|0)!=(d|0)){s=a+316|0;t=a+8|0;u=a+64|0;v=a+72|0;w=a+84|0;x=a+76|0;y=a+312|0;z=a+304|0;A=a+308|0;l:while(1){j=k[c+-4>>2]|0;k[U>>2]=j;c=c+-4|0;k[K>>2]=c;do if(i[s>>0]|0){e=k[y>>2]|0;f=(k[z>>2]|0)+(e>>>3)|0;if(f>>>0<(k[A>>2]|0)>>>0?(N=l[f>>0]|0,k[y>>2]=e+1,N&1<<(e&7)|0):0){aa=327;break}e=k[Q>>2]|0;f=k[v>>2]|0;if((e|0)==(f<<5|0)){if((e+1|0)<0){aa=382;break l}N=f<<6;I=e+32&-32;Td(u,e>>>0<1073741823?(N>>>0>>0?I:N):2147483647);e=k[Q>>2]|0}k[Q>>2]=e+1;N=(k[u>>2]|0)+(e>>>5<<2)|0;k[N>>2]=k[N>>2]&~(1<<(e&31));e=k[R>>2]|0;if((e|0)==(k[w>>2]|0)){Pd(x,U);break}else{k[e>>2]=j;k[R>>2]=e+4;break}}else aa=327;while(0);if((aa|0)==327){aa=0;m:do if((j|0)<0){d=1;e=j;c=j;aa=333}else{c=j+(((j>>>0)%3|0|0)==0?2:-1)|0;n:do if((c|0)<0)g=1;else{e=k[(k[t>>2]|0)+12>>2]|0;d=c;while(1){c=k[e+(d<<2)>>2]|0;if((c|0)<=-1){g=0;c=d;break n}c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){g=1;break}else d=c}}while(0);e=j+1|0;e=((e|0)%3|0|0)==0?j+-2|0:e;if((e|0)<0){d=g;aa=333;break}h=k[t>>2]|0;f=k[h+12>>2]|0;while(1){d=k[f+(e<<2)>>2]|0;if((d|0)<=-1){d=g;p=0;g=h;break m}e=d+1|0;e=((e|0)%3|0|0)==0?d+-2|0:e;if((e|0)<0){d=g;p=1;g=h;break}}}while(0);if((aa|0)==333){aa=0;g=k[t>>2]|0;p=1;f=k[g+12>>2]|0}q=b+1|0;n=b*3|0;k[V>>2]=n;k[f+(n<<2)>>2]=j;k[f+(j<<2)>>2]=n;N=n+1|0;k[f+(N<<2)>>2]=c;k[f+(c<<2)>>2]=N;N=n+2|0;k[f+(N<<2)>>2]=e;k[f+(e<<2)>>2]=N;f=c+1|0;do if(d)m=-1073741824;else{c=((f|0)%3|0|0)==0?c+-2|0:f;if((c|0)<0){m=-1073741824;break}m=k[(k[g>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[g>>2]|0)+(((b|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=g+24|0;j=g+28|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(d>>>0<=m>>>0){f=m+1|0;g=c;if(f>>>0>d>>>0){Ld(h,f-d|0);b=k[h>>2]|0;break}if(f>>>0>=d>>>0)break;c=b+(f<<2)|0;if((g|0)==(c|0))break;k[j>>2]=g+(~((g+-4-c|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=n;d=k[V>>2]|0;c=k[t>>2]|0}else{d=n;c=g}m=d+1|0;b=e+1|0;do if(p)j=-1073741824;else{b=((b|0)%3|0|0)==0?e+-2|0:b;if((b|0)<0){j=-1073741824;break}j=k[(k[c>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[c>>2]|0)+(((d|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){g=c+24|0;h=c+28|0;c=k[h>>2]|0;b=k[g>>2]|0;d=c-b>>2;do if(d>>>0<=j>>>0){e=j+1|0;f=c;if(e>>>0>d>>>0){Ld(g,e-d|0);b=k[g>>2]|0;break}if(e>>>0>=d>>>0)break;c=b+(e<<2)|0;if((f|0)==(c|0))break;k[h>>2]=f+(~((f+-4-c|0)>>>2)<<2)}while(0);k[b+(j<<2)>>2]=m;d=k[V>>2]|0;e=k[t>>2]|0}else e=c;m=d+2|0;b=k[U>>2]|0;c=b+1|0;do if((b|0)<0)j=-1073741824;else{b=((c|0)%3|0|0)==0?b+-2|0:c;if((b|0)<0){j=-1073741824;break}j=k[(k[e>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((d|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){g=e+24|0;h=e+28|0;c=k[h>>2]|0;b=k[g>>2]|0;d=c-b>>2;do if(d>>>0<=j>>>0){e=j+1|0;f=c;if(e>>>0>d>>>0){Ld(g,e-d|0);b=k[g>>2]|0;break}if(e>>>0>=d>>>0)break;c=b+(e<<2)|0;if((f|0)==(c|0))break;k[h>>2]=f+(~((f+-4-c|0)>>>2)<<2)}while(0);k[b+(j<<2)>>2]=m;d=k[V>>2]|0}if((d|0)<0)b=-1073741824;else b=k[(k[k[t>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;c=k[P>>2]|0;N=c+(b>>>5<<2)|0;k[N>>2]=k[N>>2]&~(1<<(b&31));b=d+1|0;if((d|0)<-1)b=-1073741824;else b=k[(k[k[t>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;N=c+(b>>>5<<2)|0;k[N>>2]=k[N>>2]&~(1<<(b&31));b=d+2|0;if((d|0)<-2)b=-1073741824;else b=k[(k[k[t>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=c+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));b=k[Q>>2]|0;c=k[v>>2]|0;if((b|0)==(c<<5|0)){if((b+1|0)<0){aa=372;break}N=c<<6;I=b+32&-32;Td(u,b>>>0<1073741823?(N>>>0>>0?I:N):2147483647);b=k[Q>>2]|0}k[Q>>2]=b+1;N=(k[u>>2]|0)+(b>>>5<<2)|0;k[N>>2]=k[N>>2]|1<<(b&31);b=k[R>>2]|0;if((b|0)==(k[w>>2]|0))Pd(x,V);else{k[b>>2]=d;k[R>>2]=b+4}b=q;c=k[K>>2]|0;d=k[ea>>2]|0}if((c|0)==(d|0)){S=b;T=t;break k}}if((aa|0)==372)Ba(11055,11078,304,11175);else if((aa|0)==382)Ba(11055,11078,304,11175)}else{S=b;T=a+8|0}while(0);V=k[T>>2]|0;if((S|0)!=(((k[V+4>>2]|0)-(k[V>>2]|0)|0)/12|0|0)){B=-1;break}b=a+88|0;e=a+92|0;f=k[e>>2]|0;c=k[b>>2]|0;d=f-c>>2;if(B>>>0>d>>>0){Ld(b,B-d|0);break}if(B>>>0>=d>>>0)break;b=c+(B<<2)|0;if((f|0)==(b|0))break;k[e>>2]=f+(~((f+-4-b|0)>>>2)<<2)}while(0);b=k[ba+8>>2]|0;if(b|0)do{V=b;b=k[b>>2]|0;gb(V)}while((b|0)!=0);b=k[ba>>2]|0;k[ba>>2]=0;if(b|0)gb(b);b=k[ea>>2]|0;c=b;if(b|0){d=k[K>>2]|0;if((d|0)!=(b|0))k[K>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}if((B|0)==-1){b=0;break}f=k[(k[ca>>2]|0)+20>>2]|0;c=W+16|0;b=k[c>>2]|0;e=(k[W>>2]|0)+b|0;W=J;c=Nf(k[W>>2]|0,k[W+4>>2]|0,b|0,k[c+4>>2]|0)|0;k[f>>2]=e;e=f+8|0;k[e>>2]=c;k[e+4>>2]=0;f=f+16|0;k[f>>2]=M;k[f+4>>2]=((M|0)<0)<<31>>31;f=k[$>>2]|0;e=k[Z>>2]|0;c=e;b=k[Y>>2]|0;do if((f|0)==(e|0)){d=b;u=f;v=f}else{if(((k[b+4>>2]|0)-(k[b>>2]|0)|0)<=0){d=b;u=f;v=e;break}s=a+8|0;t=ea+4|0;u=ea+8|0;v=a+320|0;q=0;d=e;j=e;b=f;while(1){k[ea>>2]=q;p=q+1|0;k[t>>2]=((p|0)%3|0|0)==0?q+-2|0:p;k[u>>2]=q+(((q>>>0)%3|0|0)==0?2:-1);p=0;n=q;while(1){do if((n|0)<0)aa=416;else{if((k[(k[(k[s>>2]|0)+12>>2]|0)+(n<<2)>>2]|0)<0){aa=416;break}if((b|0)==(e|0)){m=d;h=j;g=e;f=e;break}else m=0;while(1){f=k[v>>2]|0;g=l[f+(m<<4)+12>>0]|0;h=f+(m<<4)+8|0;e=k[h>>2]|0;if(e>>>0<4096){V=f+(m<<4)+4|0;W=(k[V>>2]|0)+-1|0;k[V>>2]=W;e=l[(k[f+(m<<4)>>2]|0)+W>>0]|e<<8;k[h>>2]=e}T=e&255;U=0-g&255;V=_(e>>>8,U)|0;W=T>>>0>>0;k[h>>2]=W?V+T|0:e-U-V|0;if(W){k[ba>>2]=n;b=c+(m*116|0)+108|0;d=k[b>>2]|0;if(d>>>0<(k[c+(m*116|0)+112>>2]|0)>>>0){k[d>>2]=n;k[b>>2]=d+4}else Pd(c+(m*116|0)+104|0,ba);d=k[Z>>2]|0;e=d;b=k[$>>2]|0}else e=j;m=m+1|0;c=e;if(m>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);do if((aa|0)==416){aa=0;c=j;if((b|0)==(j|0)){m=d;h=j;g=j;f=j;break}else h=0;while(1){e=j;k[ba>>2]=n;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=n;k[f>>2]=g+4;e=j}else{Pd(e+(h*116|0)+104|0,ba);c=k[Z>>2]|0;e=c;b=k[$>>2]|0;d=c}h=h+1|0;if(h>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);b=p+1|0;if((b|0)==3)break;p=b;n=k[ea+(b<<2)>>2]|0;b=f;e=g;j=h;d=m}q=q+3|0;d=k[Y>>2]|0;if((q|0)>=((((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0)*3|0)){u=f;v=m;break}else{d=m;j=h;e=g;b=f}}}while(0);i[a+276>>0]=0;b=Yf(k[a+272>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=O;t=Yf(b|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0;b=O;k[b>>2]=t;k[b+4>>2]=L;i[a+316>>0]=0;b=Yf(k[a+312>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=a+296|0;f=t;f=Yf(b|0,L|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[t>>2]=f;k[t+4>>2]=L;t=k[d+28>>2]|0;f=k[d+24>>2]|0;b=t-f|0;s=f;if((b|0)>0){q=k[P>>2]|0;m=b>>2;n=d+12|0;j=0;do{do if(k[q+(j>>>5<<2)>>2]&1<<(j&31)|0){p=s+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[n>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;o:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break o;c=k[g+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break o;c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(m|0))}b=v;if((u|0)==(v|0)){d=t;e=v;c=v}else{f=0;do{dc(b+(f*116|0)+4|0,d);b=k[X>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{Vc(b+(f*116|0)+4|0,k[c>>2]|0);c=c+4|0;b=k[X>>2]|0}while((c|0)!=(d|0));cb(b+(f*116|0)+4|0,0,0);f=f+1|0;c=k[$>>2]|0;e=k[Z>>2]|0;b=e;d=k[Y>>2]|0}while(f>>>0<((c-e|0)/116|0)>>>0);f=k[d+24>>2]|0;d=k[d+28>>2]|0}d=d-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(d>>>0>g>>>0){Ld(f,d-g|0);b=k[Z>>2]|0;c=k[$>>2]|0;e=b}else{if(d>>>0>=g>>>0)break;d=h+(d<<2)|0;if((m|0)==(d|0))break;k[j>>2]=m+(~((m+-4-d|0)>>>2)<<2)}while(0);if((c|0)==(e|0)){b=e;c=e}else{n=0;h=b;b=e;m=e;while(1){f=(k[h+(n*116|0)+60>>2]|0)-(k[h+(n*116|0)+56>>2]|0)>>2;g=k[Y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=h+(n*116|0)+88|0;h=h+(n*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;d=j-e>>2;do if(f>>>0>d>>>0){Ld(g,f-d|0);b=k[Z>>2]|0;d=b;c=k[$>>2]|0}else{if(f>>>0>=d>>>0){d=m;break}d=e+(f<<2)|0;if((j|0)==(d|0)){d=m;break}k[h>>2]=j+(~((j+-4-d|0)>>>2)<<2);d=m}while(0);n=n+1|0;if(n>>>0>=((c-d|0)/116|0)>>>0)break;else{h=d;m=d}}}h=k[(k[ca>>2]|0)+24>>2]|0;z=a+8|0;d=k[z>>2]|0;d=((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0;e=h+80|0;h=h+84|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;j=k[h>>2]|0;g=k[e>>2]|0;f=(j-g|0)/12|0;do if(d>>>0>f>>>0){Zc(e,d-f|0,ea);c=k[$>>2]|0;b=k[Z>>2]|0}else{if(d>>>0>=f>>>0)break;d=g+(d*12|0)|0;if((j|0)==(d|0))break;k[h>>2]=j+(~(((j+-12-d|0)>>>0)/12|0)*12|0)}while(0);if((c|0)==(b|0)){b=k[z>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;e=b>>2;if(!e)d=0;else{if(e>>>0>1073741823)Ba(11055,11078,304,11175);c=(b|0)==0?1:b;while(1){b=Xa(c)|0;if(b|0){d=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){d=0;break}Na[b&1]()}b=e;c=d;while(1){k[c>>2]=-1;b=b+-1|0;if(!b)break;else c=c+4|0}}b=k[ca>>2]|0;f=k[b+24>>2]|0;e=k[f+84>>2]|0;g=k[f+80>>2]|0;if((e-g|0)>0){c=0;w=0;u=b;v=b;while(1){n=w*3|0;b=d+(k[(k[k[z>>2]>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]<<2)|0;h=k[b>>2]|0;if((h|0)==-1){k[b>>2]=c;j=c+1|0;h=c}else j=c;b=n+1|0;if((n|0)<-1)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;c=k[b>>2]|0;if((c|0)==-1){k[b>>2]=j;m=j+1|0;t=j}else{m=j;t=c}b=n+2|0;if((n|0)<-2)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;j=k[b>>2]|0;if((j|0)==-1){k[b>>2]=m;c=m+1|0;j=m}else c=m;n=f+80|0;q=f+84|0;b=(e-g|0)/12|0;p=g;s=w;w=w+1|0;if((s|0)<(b|0)){b=u;m=v}else{m=e;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(w>>>0>b>>>0){Zc(n,w-b|0,ea);m=k[ca>>2]|0;g=k[m+24>>2]|0;b=k[n>>2]|0;f=g;e=k[g+84>>2]|0;g=k[g+80>>2]|0}else{if(w>>>0>=b>>>0){b=p;m=v;break}b=p+(w*12|0)|0;if((m|0)==(b|0)){b=p;m=v;break}e=m+(~(((m+-12-b|0)>>>0)/12|0)*12|0)|0;k[q>>2]=e;b=p;m=v}while(0);p=b;b=m}k[p+(s*12|0)>>2]=h;k[p+(s*12|0)+4>>2]=t;k[p+(s*12|0)+8>>2]=j;if((w|0)>=((e-g|0)/12|0|0))break;else{u=b;v=m}}}else c=0;k[(k[b+4>>2]|0)+64>>2]=c;if(!d){b=1;break}gb(d);b=1;break}k[ba>>2]=0;y=ba+4|0;k[y>>2]=0;k[ba+8>>2]=0;b=k[z>>2]|0;c=(k[b+4>>2]|0)-(k[b>>2]|0)|0;if(!c)x=0;else{if((((c|0)/12|0)*3|0)>>>0>1073741823)Ba(11055,11078,304,11175);while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}Ke(b|0,0,c|0)|0;x=b;b=k[z>>2]|0}p:do if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){v=a+136|0;w=ba+8|0;u=0;q:while(1){f=k[(k[b+24>>2]|0)+(u<<2)>>2]|0;r:do if((f|0)>=0){s:do if(!(k[(k[v>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31))){c=k[$>>2]|0;d=k[Z>>2]|0;p=d;if((c|0)==(d|0))break;q=(f>>>0)/3|0;s=(f>>>0)%3|0;n=((s|0)==0?2:-1)+f|0;t=(n|0)<0;g=(c-d|0)/116|0;h=b+12|0;e=0;t:while(1){a=k[(k[k[p+(e*116|0)+68>>2]>>2]|0)+(q*12|0)+(s<<2)>>2]|0;do if(1<<(a&31)&k[(k[p+(e*116|0)+16>>2]|0)+(a>>>5<<2)>>2]|0){j=k[p+(e*116|0)+32>>2]|0;m=k[j+(f<<2)>>2]|0;if(!t){c=k[(k[h>>2]|0)+(n<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(f|0))break;else d=c}else d=n;while(1){c=k[j+(d<<2)>>2]|0;if((d|0)<0)break t;if((c|0)!=(m|0)){f=d;break s}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[h>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)==(f|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=g>>>0)break s}while(1)if((c|0)==(m|0))c=m;else{f=d;break}}while(0);c=k[y>>2]|0;k[x+(f<<2)>>2]=c-(k[ba>>2]|0)>>2;k[ea>>2]=f;if(c>>>0<(k[w>>2]|0)>>>0){k[c>>2]=f;k[y>>2]=c+4}else{Pd(ba,ea);b=k[z>>2]|0}if((f|0)<0)break;c=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(f|0)){g=c;d=f}else break;while(1){if((g|0)<0)break q;b=k[$>>2]|0;c=k[Z>>2]|0;e=c;u:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){a=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[a+(g<<2)>>2]|0)!=(k[a+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){aa=542;break u}}b=k[y>>2]|0;k[x+(g<<2)>>2]=b-(k[ba>>2]|0)>>2;k[ea>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ba,ea)}else aa=542;while(0);if((aa|0)==542){aa=0;k[x+(g<<2)>>2]=k[x+(d<<2)>>2]}c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;b=k[z>>2]|0;if((c|0)<0)break r;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break r;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(f|0)){d=g;g=c}else break}}while(0);u=u+1|0;if((u|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))break p}f=x+(g<<2)|0;v:while(1){b=k[$>>2]|0;c=k[Z>>2]|0;e=c;w:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){da=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[da+(g<<2)>>2]|0)!=(k[da+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0)break w}b=k[y>>2]|0;k[f>>2]=b-(k[ba>>2]|0)>>2;k[ea>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ba,ea);d=g;continue v}while(0);k[f>>2]=k[x+(d<<2)>>2];d=g}}while(0);b=k[ca>>2]|0;c=k[b+24>>2]|0;e=k[c+84>>2]|0;d=k[c+80>>2]|0;if((e-d|0)>0){t=0;g=b;m=b;while(1){s=x+(t*3<<2)|0;n=k[s>>2]|0;q=k[s+4>>2]|0;s=k[s+8>>2]|0;b=c+80|0;h=c+84|0;f=(e-d|0)/12|0;j=d;p=t;t=t+1|0;if((p|0)<(f|0)){b=g;f=m}else{g=e;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(t>>>0>f>>>0){Zc(b,t-f|0,ea);f=k[ca>>2]|0;d=k[f+24>>2]|0;b=k[b>>2]|0;c=d;e=k[d+84>>2]|0;d=k[d+80>>2]|0}else{if(t>>>0>=f>>>0){b=j;f=m;break}b=j+(t*12|0)|0;if((g|0)==(b|0)){b=j;f=m;break}e=g+(~(((g+-12-b|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;b=j;f=m}while(0);j=b;b=f}k[j+(p*12|0)>>2]=n;k[j+(p*12|0)+4>>2]=q;k[j+(p*12|0)+8>>2]=s;if((t|0)>=((e-d|0)/12|0|0))break;else{g=b;m=f}}}c=k[y>>2]|0;d=k[ba>>2]|0;k[(k[b+4>>2]|0)+64>>2]=c-d>>2;if(x|0)gb(x);b=d;if(d|0){if((c|0)!=(d|0))k[y>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(b)}b=1}else b=0;while(0);ea=b;r=da;return ea|0}function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;L=r;r=r+16|0;o=L;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;a=n>>>3;t=k[2869]|0;c=t>>>a;if(c&3|0){a=(c&1^1)+a|0;c=11516+(a<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[2873]|0)>>>0)sa();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else sa()}else k[2869]=t&~(1<>2]=K|3;K=e+K+4|0;k[K>>2]=k[K>>2]|1;K=f;r=L;return K|0}s=k[2871]|0;if(n>>>0>s>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=11516+(b<<1<<2)|0;c=a+8|0;f=k[c>>2]|0;h=f+8|0;d=k[h>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(k[2873]|0)>>>0)sa();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=t;break}else sa()}else{i=t&~(1<>2]=n|3;d=f+n|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(s|0){e=k[2874]|0;b=s>>>3;c=11516+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{j=a;l=b}}else{k[2869]=i|b;j=c;l=c+8|0}k[l>>2]=e;k[j+12>>2]=e;k[e+8>>2]=j;k[e+12>>2]=c}k[2871]=g;k[2874]=d;K=h;r=L;return K|0}j=k[2870]|0;if(j){a=(j&0-j)+-1|0;J=a>>>12&16;a=a>>>J;I=a>>>5&8;a=a>>>I;K=a>>>2&4;a=a>>>K;h=a>>>1&2;a=a>>>h;i=a>>>1&1;i=k[11780+((I|J|K|h|i)+(a>>>i)<<2)>>2]|0;a=i;h=i;i=(k[i+4>>2]&-8)-n|0;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b)break}K=(k[b+4>>2]&-8)-n|0;J=K>>>0>>0;a=b;h=J?b:h;i=J?K:i}e=k[2873]|0;if(h>>>0>>0)sa();g=h+n|0;if(h>>>0>=g>>>0)sa();f=k[h+24>>2]|0;c=k[h+12>>2]|0;do if((c|0)==(h|0)){a=h+20|0;b=k[a>>2]|0;if(!b){a=h+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)sa();else{k[a>>2]=0;m=b;break}}else{d=k[h+8>>2]|0;if(d>>>0>>0)sa();b=d+12|0;if((k[b>>2]|0)!=(h|0))sa();a=c+8|0;if((k[a>>2]|0)==(h|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else sa()}while(0);do if(f|0){b=k[h+28>>2]|0;a=11780+(b<<2)|0;if((h|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[2870]=j&~(1<>>0<(k[2873]|0)>>>0)sa();b=f+16|0;if((k[b>>2]|0)==(h|0))k[b>>2]=m;else k[f+20>>2]=m;if(!m)break}a=k[2873]|0;if(m>>>0>>0)sa();k[m+24>>2]=f;b=k[h+16>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[h+20>>2]|0;if(b|0)if(b>>>0<(k[2873]|0)>>>0)sa();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(i>>>0<16){K=i+n|0;k[h+4>>2]=K|3;K=h+K+4|0;k[K>>2]=k[K>>2]|1}else{k[h+4>>2]=n|3;k[g+4>>2]=i|1;k[g+i>>2]=i;if(s|0){d=k[2874]|0;b=s>>>3;c=11516+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{p=a;q=b}}else{k[2869]=t|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[2871]=i;k[2874]=g}K=h+8|0;r=L;return K|0}}}else if(a>>>0<=4294967231){a=a+11|0;n=a&-8;j=k[2870]|0;if(j){d=0-n|0;a=a>>>8;if(a)if(n>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;D=a<>>16&4;D=D<>>16&2;i=14-(p|q|i)+(D<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;a=k[11780+(i<<2)>>2]|0;a:do if(!a){c=0;e=0;D=86}else{e=0;h=a;g=n<<((i|0)==31?0:25-(i>>>1)|0);c=0;while(1){a=(k[h+4>>2]&-8)-n|0;if(a>>>0>>0)if(!a){a=h;d=0;c=h;D=90;break a}else{e=h;d=a}a=k[h+20>>2]|0;h=k[h+16+(g>>>31<<2)>>2]|0;c=(a|0)==0|(a|0)==(h|0)?c:a;a=(h|0)==0;if(a){D=86;break}else g=g<<(a&1^1)}}while(0);if((D|0)==86){if((c|0)==0&(e|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;c=k[11780+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=e;h=d}else{a=e;D=90}}if((D|0)==90)while(1){D=0;q=(k[c+4>>2]&-8)-n|0;e=q>>>0>>0;d=e?q:d;a=e?c:a;e=k[c+16>>2]|0;if(e|0){c=e;D=90;continue}c=k[c+20>>2]|0;if(!c){i=a;h=d;break}else D=90}if((i|0)!=0?h>>>0<((k[2871]|0)-n|0)>>>0:0){e=k[2873]|0;if(i>>>0>>0)sa();g=i+n|0;if(i>>>0>=g>>>0)sa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){s=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)sa();else{k[a>>2]=0;s=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)sa();b=d+12|0;if((k[b>>2]|0)!=(i|0))sa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;s=c;break}else sa()}while(0);do if(f){b=k[i+28>>2]|0;a=11780+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=s;if(!s){t=j&~(1<>>0<(k[2873]|0)>>>0)sa();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=s;else k[f+20>>2]=s;if(!s){t=j;break}}a=k[2873]|0;if(s>>>0>>0)sa();k[s+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[s+16>>2]=b;k[b+24>>2]=s;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2873]|0)>>>0)sa();else{k[s+20>>2]=b;k[b+24>>2]=s;t=j;break}else t=j}else t=j;while(0);do if(h>>>0>=16){k[i+4>>2]=n|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=11516+(b<<1<<2)|0;a=k[2869]|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{B=a;C=b}}else{k[2869]=a|b;B=c;C=c+8|0}k[C>>2]=g;k[B+12>>2]=g;k[g+8>>2]=B;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=11780+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){D=148;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=145;break}else{a=a<<1;d=b}}if((D|0)==145)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((D|0)==148){b=d+8|0;a=k[b>>2]|0;K=k[2873]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else sa()}}else{K=h+n|0;k[i+4>>2]=K|3;K=i+K+4|0;k[K>>2]=k[K>>2]|1}while(0);K=i+8|0;r=L;return K|0}}}else n=-1;while(0);c=k[2871]|0;if(c>>>0>=n>>>0){b=c-n|0;a=k[2874]|0;if(b>>>0>15){K=a+n|0;k[2874]=K;k[2871]=b;k[K+4>>2]=b|1;k[K+b>>2]=b;k[a+4>>2]=n|3}else{k[2871]=0;k[2874]=0;k[a+4>>2]=c|3;K=a+c+4|0;k[K>>2]=k[K>>2]|1}K=a+8|0;r=L;return K|0}h=k[2872]|0;if(h>>>0>n>>>0){I=h-n|0;k[2872]=I;K=k[2875]|0;J=K+n|0;k[2875]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}if(!(k[2987]|0)){k[2989]=4096;k[2988]=4096;k[2990]=-1;k[2991]=-1;k[2992]=0;k[2980]=0;a=o&-16^1431655768;k[o>>2]=a;k[2987]=a;a=4096}else a=k[2989]|0;i=n+48|0;j=n+47|0;g=a+j|0;e=0-a|0;l=g&e;if(l>>>0<=n>>>0){K=0;r=L;return K|0}a=k[2979]|0;if(a|0?(B=k[2977]|0,C=B+l|0,C>>>0<=B>>>0|C>>>0>a>>>0):0){K=0;r=L;return K|0}b:do if(!(k[2980]&4)){c=k[2875]|0;c:do if(c){d=11924;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(u=d+4|0,(a+(k[u>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){D=172;break c}else d=a}c=g-h&e;if(c>>>0<2147483647){a=Ue(c|0)|0;if((a|0)==((k[d>>2]|0)+(k[u>>2]|0)|0)){if((a|0)!=(-1|0)){g=c;f=a;D=190;break b}}else{b=c;D=180}}}else D=172;while(0);do if(((D|0)==172?(f=Ue(0)|0,(f|0)!=(-1|0)):0)?(b=f,v=k[2988]|0,w=v+-1|0,b=((w&b|0)==0?0:(w+b&0-v)-b|0)+l|0,v=k[2977]|0,w=b+v|0,b>>>0>n>>>0&b>>>0<2147483647):0){C=k[2979]|0;if(C|0?w>>>0<=v>>>0|w>>>0>C>>>0:0)break;a=Ue(b|0)|0;if((a|0)==(f|0)){g=b;D=190;break b}else D=180}while(0);d:do if((D|0)==180){c=0-b|0;do if(i>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(x=k[2989]|0,x=j-b+x&0-x,x>>>0<2147483647):0)if((Ue(x|0)|0)==(-1|0)){Ue(c|0)|0;break d}else{b=x+b|0;break}while(0);if((a|0)!=(-1|0)){g=b;f=a;D=190;break b}}while(0);k[2980]=k[2980]|4;D=187}else D=187;while(0);if((((D|0)==187?l>>>0<2147483647:0)?(A=Ue(l|0)|0,y=Ue(0)|0,A>>>0>>0&((A|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-A|0,z>>>0>(n+40|0)>>>0):0){g=z;f=A;D=190}if((D|0)==190){b=(k[2977]|0)+g|0;k[2977]=b;if(b>>>0>(k[2978]|0)>>>0)k[2978]=b;j=k[2875]|0;do if(j){b=11924;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){D=200;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((D|0)==200?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;K=j+8|0;K=(K&7|0)==0?0:0-K&7;J=j+K|0;K=g-K+(k[2872]|0)|0;k[2875]=J;k[2872]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[2876]=k[2991];break}b=k[2873]|0;if(f>>>0>>0){k[2873]=f;h=f}else h=b;a=f+g|0;b=11924;while(1){if((k[b>>2]|0)==(a|0)){D=208;break}b=k[b+8>>2]|0;if(!b){a=11924;break}}if((D|0)==208)if(!(k[b+12>>2]&8)){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;l=m+n|0;i=b-m-n|0;k[m+4>>2]=n|3;do if((b|0)!=(j|0)){if((b|0)==(k[2874]|0)){K=(k[2871]|0)+i|0;k[2871]=K;k[2874]=l;k[l+4>>2]=K|1;k[l+K>>2]=K;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;e:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){I=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)sa();else{k[c>>2]=0;I=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)sa();a=e+12|0;if((k[a>>2]|0)!=(b|0))sa();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;I=d;break}else sa()}while(0);if(!f)break;a=k[b+28>>2]|0;c=11780+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(f>>>0<(k[2873]|0)>>>0)sa();a=f+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=I;else k[f+20>>2]=I;if(!I)break e}else{k[c>>2]=I;if(I|0)break;k[2870]=k[2870]&~(1<>>0>>0)sa();k[I+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)sa();else{k[I+16>>2]=c;k[c+24>>2]=I;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[2873]|0)>>>0)sa();else{k[I+20>>2]=a;k[a+24>>2]=I;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=11516+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)sa();if((k[c+12>>2]|0)==(b|0))break;sa()}while(0);if((d|0)==(c|0)){k[2869]=k[2869]&~(1<>>0>>0)sa();a=d+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}sa()}while(0);k[c+12>>2]=d;k[F>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=11516+(b<<1<<2)|0;a=k[2869]|0;b=1<>2]|0;if(a>>>0>=(k[2873]|0)>>>0){J=a;K=b;break}sa()}while(0);k[K>>2]=l;k[J+12>>2]=l;k[l+8>>2]=J;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=11780+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[2870]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){D=278;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=275;break}else{a=a<<1;d=b}}if((D|0)==275)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((D|0)==278){b=d+8|0;a=k[b>>2]|0;K=k[2873]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else sa()}}else{K=(k[2872]|0)+i|0;k[2872]=K;k[2875]=l;k[l+4>>2]=K|1}while(0);K=m+8|0;r=L;return K|0}else a=11924;while(1){b=k[a>>2]|0;if(b>>>0<=j>>>0?(E=b+(k[a+4>>2]|0)|0,E>>>0>j>>>0):0)break;a=k[a+8>>2]|0}e=E+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;K=f+c|0;c=g+-40-c|0;k[2875]=K;k[2872]=c;k[K+4>>2]=c|1;k[K+c+4>>2]=40;k[2876]=k[2991];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2981];k[b+4>>2]=k[2982];k[b+8>>2]=k[2983];k[b+12>>2]=k[2984];k[2981]=f;k[2982]=g;k[2984]=0;k[2983]=b;b=a+24|0;do{b=b+4|0;k[b>>2]=7}while((b+4|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=11516+(b<<1<<2)|0;a=k[2869]|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{G=a;H=b}}else{k[2869]=a|b;G=c;H=c+8|0}k[H>>2]=j;k[G+12>>2]=j;k[j+8>>2]=G;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;c=14-(I|J|c)+(K<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=11780+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[2870]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){D=304;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=301;break}else{a=a<<1;d=b}}if((D|0)==301)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((D|0)==304){b=d+8|0;a=k[b>>2]|0;K=k[2873]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else sa()}}}else{K=k[2873]|0;if((K|0)==0|f>>>0>>0)k[2873]=f;k[2981]=f;k[2982]=g;k[2984]=0;k[2878]=k[2987];k[2877]=-1;b=0;do{K=11516+(b<<1<<2)|0;k[K+12>>2]=K;k[K+8>>2]=K;b=b+1|0}while((b|0)!=32);K=f+8|0;K=(K&7|0)==0?0:0-K&7;J=f+K|0;K=g+-40-K|0;k[2875]=J;k[2872]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[2876]=k[2991]}while(0);b=k[2872]|0;if(b>>>0>n>>>0){I=b-n|0;k[2872]=I;K=k[2875]|0;J=K+n|0;k[2875]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}}k[2868]=12;K=0;r=L;return K|0}function Ya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;a=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=a+48|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;a=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=a;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;h=c;k[h>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[h+4>>2]=a;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;hf(c|0,(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;hf(c|0,(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;h=1;return h|0}default:{h=0;return h|0}}case 2:switch(i[a+24>>0]|0){case 1:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+h>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}case 1:switch(i[a+24>>0]|0){case 1:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+h>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}case 4:switch(i[a+24>>0]|0){case 1:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[h>>0]|l[h+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{g=a+48|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,j|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;j=g;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Kf(j|0,g|0,16)|0)&65535;f=g&65535;g=(Kf(j|0,g|0,48)|0)&65535;d=+(j&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(g&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(g&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}case 3:switch(i[a+24>>0]|0){case 1:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[j>>0]|l[j+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>16&65535;d=+((j&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;j=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;f=j+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[j>>0]|l[j+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;j=1;return j|0}case 4:{g=a+48|0;h=k[g>>2]|0;g=k[g+4>>2]|0;j=a+40|0;g=(Yf(Af(k[j>>2]|0,k[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;h=g;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=(i[a+32>>0]|0)==0;b=(Kf(h|0,g|0,16)|0)&65535;f=g&65535;g=(Kf(h|0,g|0,48)|0)&65535;d=+((h&65535)<<16>>16);if(j){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(g<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(g<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}case 6:switch(i[a+24>>0]|0){case 1:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;b=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;j=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;f=j+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=j+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;j=1;return j|0}case 4:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=j+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=j+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);j=1;return j|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;j=1;return j|0}}default:{j=0;return j|0}}case 5:switch(i[a+24>>0]|0){case 1:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;b=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;j=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;f=j+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=j+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;j=1;return j|0}case 4:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=j+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=j+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);j=1;return j|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;j=1;return j|0}}default:{j=0;return j|0}}default:{j=0;return j|0}}return 0}function Za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;a=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;f=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;a=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=f;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;hf(c|0,(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;g=1;return g|0}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;hf(c|0,(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;g=1;return g|0}default:{g=0;return g|0}}case 2:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}case 1:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}case 4:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}case 3:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}case 6:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}case 5:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}default:{g=0;return g|0}}return 0}function _a(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;a=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=a+40|0;f=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=1;return g|0}case 3:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;f=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}case 4:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;f=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}default:{g=0;return g|0}}case 2:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}case 1:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}case 4:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}case 3:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}case 6:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}case 5:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}default:{g=0;return g|0}}return 0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){a=$e(4756,4948,a)|0;a=k[a>>2]|0}else{g=(a>>>0)/210|0;e=g*210|0;d=($e(4948,5140,a-e|0)|0)-4948>>2;a=0;f=d;e=(k[4948+(d<<2)>>2]|0)+e|0;while(1){b=5;while(1){if(b>>>0>=47){d=211;h=8;break}c=k[4756+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){a=e;break a}if((e|0)==(_(d,c)|0))break;else b=b+1|0}b:do if((h|0)==8){c:while(1){h=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>=d>>>0)if((e|0)!=(_(b,d)|0)){b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)==(_(c,b)|0))c=9;else{b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}c=(e|0)==(_(c,b)|0);b=c?b:d+210|0;c=c?9:0}else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else{b=d;c=9}else{b=d;c=1;a=e}while(0);switch(c&15){case 9:break b;case 0:{d=b;h=8;break}default:break c}}if(c)break a}while(0);d=f+1|0;c=(d|0)==48;e=(c&1)+g|0;d=c?0:d;f=d;g=e;e=(k[4948+(d<<2)>>2]|0)+(e*210|0)|0}}while(0);return a|0}function ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;a=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,d|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;return c|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=1;return f|0}default:{f=0;return f|0}}case 2:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(l[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(l[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}default:{f=0;return f|0}}case 1:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(i[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(i[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}default:{f=0;return f|0}}case 4:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}default:{f=0;return f|0}}case 3:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}default:{f=0;return f|0}}case 6:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}default:{f=0;return f|0}}case 5:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}default:{f=0;return f|0}}default:{f=0;return f|0}}return 0}function bb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0,j=0,l=0,m=0,n=0,p=0,q=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;Q=r;r=r+64|0;P=Q+28|0;N=Q+16|0;I=Q+4|0;J=Q;O=a;K=a+64|0;e=k[K>>2]|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=O;L=P+20|0;o[L>>2]=1.0;k[P+24>>2]=O;ud(P,e);e=k[K>>2]|0;k[N>>2]=0;O=N+4|0;k[O>>2]=0;k[N+8>>2]=0;if(e|0){if(e>>>0>1073741823)Ba(11055,11078,304,11175);d=e<<2;c=(d|0)==0?1:d;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}k[N>>2]=b;F=b+(e<<2)|0;k[N+8>>2]=F;Ke(b|0,0,d|0)|0;k[O>>2]=F}k[I>>2]=0;F=I+4|0;k[F>>2]=0;k[I+8>>2]=0;k[J>>2]=0;do if((e|0)>0){z=P+16|0;B=P+4|0;C=P+12|0;D=P+8|0;E=I+8|0;A=P+24|0;y=0;b=0;a:while(1){v=k[z>>2]|0;j=k[v+4>>2]|0;v=(k[v+8>>2]|0)-j|0;u=(v|0)>0;if(u){h=j;l=v>>2;e=0;c=0;do{d=k[h+(e<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(b<<2)>>2]|0;else d=b;c=d<<2^c<<1;e=e+1|0}while((e|0)<(l|0))}else c=0;w=k[B>>2]|0;x=(w|0)==0;b:do if(!x){p=w+-1|0;d=(p&w|0)==0;if(d)t=p&c;else t=(c>>>0)%(w>>>0)|0;c=k[(k[P>>2]|0)+(t<<2)>>2]|0;if((c|0)!=0?(G=k[c>>2]|0,(G|0)!=0):0){s=k[A>>2]|0;q=s+4|0;s=s+8|0;c:do if(d){c=G;while(1){if((k[c+4>>2]&p|0)!=(t|0)){M=46;break b}n=k[c+8>>2]|0;e=k[q>>2]|0;d=(k[s>>2]|0)-e|0;if((d|0)<=0)break c;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){M=40;break a}d=k[e+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(b<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=b;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){M=44;break c}}c=k[c>>2]|0;if(!c){M=46;break b}}}else{c=G;while(1){if((((k[c+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(t|0)){M=46;break b}n=k[c+8>>2]|0;e=k[q>>2]|0;d=(k[s>>2]|0)-e|0;if((d|0)<=0)break c;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){M=40;break a}d=k[e+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(b<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=b;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){M=44;break c}}c=k[c>>2]|0;if(!c){M=46;break b}}}while(0);if((M|0)==44){M=0;if(!c){M=46;break}}k[(k[N>>2]|0)+(b<<2)>>2]=k[c+12>>2];d=y}else M=46}else M=46;while(0);do if((M|0)==46){M=0;if(u){h=v>>2;e=0;c=0;do{d=k[j+(e<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(b<<2)>>2]|0;else d=b;c=d<<2^c<<1;e=e+1|0}while((e|0)<(h|0));t=c}else t=0;d:do if(!x){n=w+-1|0;d=(n&w|0)==0;if(d)s=n&t;else s=(t>>>0)%(w>>>0)|0;c=k[(k[P>>2]|0)+(s<<2)>>2]|0;if((c|0)!=0?(H=k[c>>2]|0,(H|0)!=0):0){q=k[A>>2]|0;p=q+4|0;q=q+8|0;if(d){l=H;while(1){if((k[l+4>>2]&n|0)!=(s|0)){d=s;M=77;break d}m=k[l+8>>2]|0;d=k[p>>2]|0;c=(k[q>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){M=73;break a}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){e=k[c+68>>2]|0;c=k[e+(b<<2)>>2]|0;e=k[e+(m<<2)>>2]|0}else{c=b;e=m}h=h+1|0;if((e|0)!=(c|0))break;if((h|0)>=(j|0))break d}l=k[l>>2]|0;if(!l){d=s;M=77;break}}}else{l=H;while(1){if((((k[l+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(s|0)){d=s;M=77;break d}m=k[l+8>>2]|0;d=k[p>>2]|0;c=(k[q>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){M=73;break a}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){e=k[c+68>>2]|0;c=k[e+(b<<2)>>2]|0;e=k[e+(m<<2)>>2]|0}else{c=b;e=m}h=h+1|0;if((e|0)!=(c|0))break;if((h|0)>=(j|0))break d}l=k[l>>2]|0;if(!l){d=s;M=77;break}}}}else{d=s;M=77}}else{d=0;M=77}while(0);if((M|0)==77){M=0;while(1){c=Xa(16)|0;if(c|0){h=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){h=0;break}Na[c&1]()}k[h+8>>2]=b;k[h+12>>2]=y;k[h+4>>2]=t;k[h>>2]=0;f=+(((k[C>>2]|0)+1|0)>>>0);g=+o[L>>2];do if(x|f>+(w>>>0)*g){b=(w>>>0>2&(w+-1&w|0)==0&1|w<<1)^1;c=~~+Z(+(f/g))>>>0;ud(P,b>>>0>>0?c:b);b=k[B>>2]|0;c=b+-1|0;if(!(c&b)){e=b;b=c&t;break}else{e=b;b=(t>>>0)%(b>>>0)|0;break}}else{e=w;b=d}while(0);b=(k[P>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[h>>2]=k[D>>2];k[D>>2]=h;k[b>>2]=D;b=k[h>>2]|0;if(b|0){b=k[b+4>>2]|0;c=e+-1|0;if(!(c&e))b=b&c;else b=(b>>>0)%(e>>>0)|0;k[(k[P>>2]|0)+(b<<2)>>2]=h}}else{k[h>>2]=k[c>>2];k[c>>2]=h}k[C>>2]=(k[C>>2]|0)+1;b=k[J>>2]|0}d=y+1|0;k[(k[N>>2]|0)+(b<<2)>>2]=y;c=k[F>>2]|0;if((c|0)==(k[E>>2]|0)){Pd(I,J);break}else{k[c>>2]=b;k[F>>2]=c+4;break}}while(0);b=b+1|0;k[J>>2]=b;c=k[K>>2]|0;if((b|0)>=(c|0)){M=12;break}else y=d}if((M|0)==12){if((d|0)==(c|0))break;Ma[k[(k[a>>2]|0)+20>>2]&7](a,N,I);k[K>>2]=d;break}else if((M|0)==40)Ba(9495,9457,63,9485);else if((M|0)==73)Ba(9495,9457,63,9485)}while(0);b=k[I>>2]|0;c=b;if(b|0){d=k[F>>2]|0;if((d|0)!=(b|0))k[F>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}b=k[N>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}b=k[P+8>>2]|0;if(b|0)do{O=b;b=k[b>>2]|0;gb(O)}while((b|0)!=0);b=k[P>>2]|0;k[P>>2]=0;if(!b){r=Q;return}gb(b);r=Q;return}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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=r;r=r+16|0;A=E+8|0;B=E+4|0;C=E;D=a+64|0;e=k[D>>2]|0;d=((k[e+28>>2]|0)-(k[e+24>>2]|0)|0)>0;if(!((b|0)!=0&(c|0)!=0)){if(!d){r=E;return}l=a+52|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;j=0;d=e;h=0;while(1){c=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((c|0)<0)b=h;else{f=h+1|0;k[A>>2]=h;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0))Pd(l,A);else{k[d>>2]=h;k[m>>2]=d+4}k[B>>2]=c;k[C>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;e=k[a>>2]|0;if(!(1<<(d&31)&k[e+(d>>>5<<2)>>2])){if((d|0)>=0){g=k[(k[D>>2]|0)+12>>2]|0;d=k[g+(d<<2)>>2]|0;b=d+1|0;if((d|0)>=0){d=((b|0)%3|0|0)==0?d+-2|0:b;k[C>>2]=d;if((d|0)>-1)c=d;else{g=c;break}while(1){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&k[e+(d>>>5<<2)>>2]|0){d=-1073741824;z=64;break}if((d|0)<0){z=64;break}d=k[g+(d<<2)>>2]|0;b=d+1|0;if((d|0)<0){z=64;break}d=((b|0)%3|0|0)==0?d+-2|0:b;k[C>>2]=d;if((d|0)>-1)c=d;else{z=68;break}}if((z|0)==64){z=0;k[B>>2]=c;k[C>>2]=d;g=c;break}else if((z|0)==68){z=0;k[B>>2]=c;g=c;break}}}}else d=-1073741824;k[C>>2]=d;g=c}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;d=k[s>>2]|0;if((d|0)==(k[t>>2]|0))Pd(q,B);else{k[d>>2]=g;k[s>>2]=d+4}d=k[D>>2]|0;b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;a:do if((b|0)>=0){b=k[(k[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0){b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[C>>2]=b;if((b|0)>-1&(b|0)!=(g|0)){d=h;while(1){y=b+1|0;y=((y|0)%3|0|0)==0?b+-2|0:y;do if(k[(k[a>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)){c=f+1|0;k[A>>2]=f;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0))Pd(l,A);else{k[d>>2]=f;k[m>>2]=d+4}d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Pd(q,C);e=f;break}else{k[d>>2]=b;k[s>>2]=d+4;e=f;break}}else{c=f;e=d}while(0);k[(k[p>>2]|0)+(b<<2)>>2]=e;d=k[D>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=k[(k[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[C>>2]=b;if(!((b|0)>-1&(b|0)!=(g|0))){b=c;break a}else{f=c;d=e}}k[C>>2]=b;b=c}else b=f}else z=75}else z=75;while(0);if((z|0)==75){z=0;k[C>>2]=b;b=f}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0))break;else h=b}r=E;return}if(!d){r=E;return}y=b+80|0;v=b+84|0;w=a+52|0;x=c+84|0;m=c+68|0;n=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;s=a+40|0;t=a+44|0;u=a+48|0;j=0;l=0;d=e;b:while(1){c=k[(k[d+24>>2]|0)+(l<<2)>>2]|0;if((c|0)<0)b=j;else{h=j+1|0;d=(c>>>0)/3|0;b=k[y>>2]|0;if((d|0)>=(((k[v>>2]|0)-b|0)/12|0|0)){z=6;break}d=k[b+(d*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;if(!(i[x>>0]|0))d=k[(k[m>>2]|0)+(d<<2)>>2]|0;k[A>>2]=d;b=k[n>>2]|0;if(b>>>0<(k[o>>2]|0)>>>0){k[b>>2]=d;k[n>>2]=b+4}else Pd(w,A);k[A>>2]=c;k[B>>2]=0;do if(!(k[(k[p>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)))g=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;e=k[a>>2]|0;if(!(1<<(d&31)&k[e+(d>>>5<<2)>>2])){if((d|0)>=0){f=k[(k[D>>2]|0)+12>>2]|0;d=k[f+(d<<2)>>2]|0;b=d+1|0;if((d|0)>=0){d=((b|0)%3|0|0)==0?d+-2|0:b;k[B>>2]=d;if((d|0)>-1)c=d;else{g=c;break}while(1){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&k[e+(d>>>5<<2)>>2]|0){d=-1073741824;z=19;break}if((d|0)<0){z=19;break}d=k[f+(d<<2)>>2]|0;b=d+1|0;if((d|0)<0){z=19;break}d=((b|0)%3|0|0)==0?d+-2|0:b;k[B>>2]=d;if((d|0)>-1)c=d;else{z=23;break}}if((z|0)==19){z=0;k[A>>2]=c;k[B>>2]=d;g=c;break}else if((z|0)==23){z=0;k[A>>2]=c;g=c;break}}}}else d=-1073741824;k[B>>2]=d;g=c}while(0);k[(k[q>>2]|0)+(g<<2)>>2]=j;d=k[t>>2]|0;if((d|0)==(k[u>>2]|0))Pd(s,A);else{k[d>>2]=g;k[t>>2]=d+4}d=k[D>>2]|0;b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;c:do if((b|0)>=0){b=k[(k[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0){b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[B>>2]=b;if((b|0)>-1&(b|0)!=(g|0)){f=h;d=j;while(1){j=b+1|0;j=((j|0)%3|0|0)==0?b+-2|0:j;do if(k[(k[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){e=f+1|0;d=(b|0)/3|0;if((b|0)<=-3){z=33;break b}c=k[y>>2]|0;if((d|0)>=(((k[v>>2]|0)-c|0)/12|0|0)){z=35;break b}d=k[c+(d*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(!(i[x>>0]|0))d=k[(k[m>>2]|0)+(d<<2)>>2]|0;k[C>>2]=d;c=k[n>>2]|0;if(c>>>0<(k[o>>2]|0)>>>0){k[c>>2]=d;k[n>>2]=c+4}else Pd(w,C);d=k[t>>2]|0;if((d|0)==(k[u>>2]|0)){Pd(s,B);c=f;break}else{k[d>>2]=b;k[t>>2]=d+4;c=f;break}}else{e=f;c=d}while(0);k[(k[q>>2]|0)+(b<<2)>>2]=c;d=k[D>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=k[(k[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[B>>2]=b;if(!((b|0)>-1&(b|0)!=(g|0))){b=e;break c}else{f=e;d=c}}k[B>>2]=b;b=e}else b=h}else z=30}else z=30;while(0);if((z|0)==30){z=0;k[B>>2]=b;b=h}}l=l+1|0;if((l|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){z=90;break}else j=b}if((z|0)==6)Ba(10269,10250,64,10264);else if((z|0)==33)Ba(10225,10250,63,10264);else if((z|0)==35)Ba(10269,10250,64,10264);else if((z|0)==90){r=E;return}}function db(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;l=k[m>>2]|0;n=k[l>>2]|0;l=l+4|0;k[m>>2]=l;o=a+8|0;i=k[o>>2]|0;j=a+12|0;q=k[j>>2]|0;b=q;f=i;do if((i|0)==(q|0)){c=k[a>>2]|0;d=c;if(l>>>0>c>>>0){b=l;d=((b-d>>2)+1|0)/-2|0;e=l+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=l;else{hf(e|0,l|0,b|0)|0;b=k[m>>2]|0}a=e+(c<<2)|0;k[o>>2]=a;k[m>>2]=b+(d<<2);b=a;break}f=b-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}h=b;d=b+(e<<2)|0;g=d;e=b+(f<<2)|0;if((l|0)==(i|0))b=g;else{b=g;c=l;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=g;k[o>>2]=b;k[j>>2]=e;if(c){gb(c);b=k[o>>2]|0}}else b=i;while(0);k[b>>2]=n;k[o>>2]=(k[o>>2]|0)+4;return}q=a+8|0;b=k[q>>2]|0;p=a+4|0;e=b-(k[p>>2]|0)|0;o=a+12|0;c=k[o>>2]|0;d=c-(k[a>>2]|0)|0;if(e>>>0>=d>>>0){j=d>>1;j=(j|0)==0?1:j;if(j>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}h=e>>2;c=j<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}d=b;l=b+(h<<2)|0;e=l;f=b+(j<<2)|0;i=f;while(1){c=Xa(4096)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}m=c;g=l;do if((h|0)==(j|0)){c=b;if(l>>>0>b>>>0){b=l+((((g-c>>2)+1|0)/-2|0)<<2)|0;e=b;c=i;break}f=f-c>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=c;g=c+(e<<2)|0;e=g;c=c+(f<<2)|0;if(!b)b=g;else{gb(b);b=g}}else{c=i;b=l}while(0);k[b>>2]=m;b=k[q>>2]|0;h=e;g=e+4|0;f=c;a:while(1){if((b|0)==(k[p>>2]|0))break;l=b+-4|0;b=h;do if((b|0)==(d|0)){j=g;if(j>>>0>>0){e=j+((((f-g>>2)+1|0)/2|0)<<2)|0;b=g-h|0;m=b>>2;c=e+(0-m<<2)|0;if(!m)c=e;else hf(c|0,h|0,b|0)|0;h=c;b=c;break}f=f-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){n=108;break a}e=(f+3|0)>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=c;i=c+(e<<2)|0;g=i;f=c+(f<<2)|0;if((b|0)==(j|0))b=g;else{e=i;c=g;do{k[e>>2]=k[b>>2];e=c+4|0;c=e;b=b+4|0}while((b|0)!=(j|0));b=c}if(!h){h=g;e=b;b=i}else{gb(h);h=g;e=b;b=i}}else e=g;while(0);k[b+-4>>2]=k[l>>2];b=l;h=h+-4|0;g=e}if((n|0)==108){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}b=k[a>>2]|0;k[a>>2]=d;k[p>>2]=h;k[q>>2]=g;k[o>>2]=f;if(!b)return;gb(b);return}if((c|0)!=(b|0)){while(1){b=Xa(4096)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}l=b;i=k[q>>2]|0;n=k[o>>2]|0;b=n;f=i;do if((i|0)==(n|0)){j=k[p>>2]|0;c=k[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=j;else{hf(e|0,j|0,b|0)|0;b=k[p>>2]|0}a=e+(c<<2)|0;k[q>>2]=a;k[p>>2]=b+(d<<2);b=a;break}f=b-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}h=b;d=b+(e<<2)|0;g=d;e=b+(f<<2)|0;if((j|0)==(i|0))b=g;else{b=g;c=j;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=k[a>>2]|0}k[a>>2]=h;k[p>>2]=g;k[q>>2]=b;k[o>>2]=e;if(c){gb(c);b=k[q>>2]|0}}else b=i;while(0);k[b>>2]=l;k[q>>2]=(k[q>>2]|0)+4;return}while(1){b=Xa(4096)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}l=k[p>>2]|0;n=k[a>>2]|0;e=n;do if((l|0)==(n|0)){d=k[q>>2]|0;n=k[o>>2]|0;c=n;if(d>>>0>>0){e=d;g=((c-e>>2)+1|0)/2|0;c=d+(g<<2)|0;e=e-l|0;n=e>>2;f=c+(0-n<<2)|0;if(n){hf(f|0,l|0,e|0)|0;c=f;d=k[q>>2]|0}k[p>>2]=c;k[q>>2]=d+(g<<2);break}g=c-e>>1;g=(g|0)==0?1:g;if(g>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}f=(g+3|0)>>>2;e=g<<2;e=(e|0)==0?1:e;while(1){c=Xa(e)|0;if(c|0){e=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){e=0;break}Na[c&1]()}j=e;c=e+(f<<2)|0;i=c;h=e+(g<<2)|0;if((l|0)==(d|0)){e=i;d=l}else{g=c;e=i;f=l;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(d|0));d=k[a>>2]|0}k[a>>2]=j;k[p>>2]=i;k[q>>2]=e;k[o>>2]=h;if(d){gb(d);c=k[p>>2]|0}}else c=l;while(0);k[c+-4>>2]=b;j=k[p>>2]|0;l=j+-4|0;k[p>>2]=l;l=k[l>>2]|0;k[p>>2]=j;i=k[q>>2]|0;n=k[o>>2]|0;b=n;f=i;do if((i|0)==(n|0)){c=k[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=j;else{hf(e|0,j|0,b|0)|0;b=k[p>>2]|0}a=e+(c<<2)|0;k[q>>2]=a;k[p>>2]=b+(d<<2);b=a;break}f=b-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}h=b;d=b+(e<<2)|0;g=d;e=b+(f<<2)|0;if((j|0)==(i|0))b=g;else{b=g;c=j;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=k[a>>2]|0}k[a>>2]=h;k[p>>2]=g;k[q>>2]=b;k[o>>2]=e;if(c){gb(c);b=k[q>>2]|0}}else b=i;while(0);k[b>>2]=l;k[q>>2]=(k[q>>2]|0)+4;return}function eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+16|0;v=x;t=a+20|0;b=k[t>>2]|0;g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=b+16|0;n=f;m=k[n>>2]|0;n=k[n+4>>2]|0;d=Yf(m|0,n|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0){a=0;r=x;return a|0}s=k[b>>2]|0;w=s+m|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;e=f;k[e>>2]=d;k[e+4>>2]=c;c=Yf(m|0,n|0,8,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){a=0;r=x;return a|0}u=s+d|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;q=f;k[q>>2]=c;k[q+4>>2]=e;if(!((g|0)>(e|0)|(g|0)==(e|0)&h>>>0>c>>>0)){a=0;r=x;return a|0}q=i[s+c>>0]|0;d=Yf(m|0,n|0,9,0)|0;j=L;p=f;k[p>>2]=d;k[p+4>>2]=j;a:do if(!(q<<24>>24)){e=w*3|0;if(!w)n=0;else{if(e>>>0>1073741823)Ba(11055,11078,304,11175);d=w*12|0;c=(d|0)==0?1:d;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}Ke(b|0,0,d|0)|0;n=b;b=k[t>>2]|0}if(yb(e,1,b,n)|0)if((w|0)>0){g=a+24|0;h=v+4|0;j=v+8|0;b=0;c=0;d=0;while(1){e=k[n+(c<<2)>>2]|0;m=e>>>1;m=((e&1|0)==0?m:0-m|0)+d|0;k[v>>2]=m;e=k[n+(c+1<<2)>>2]|0;f=e>>>1;m=((e&1|0)==0?f:0-f|0)+m|0;k[h>>2]=m;f=k[n+(c+2<<2)>>2]|0;e=f>>>1;d=((f&1|0)==0?e:0-e|0)+m|0;k[j>>2]=d;m=k[g>>2]|0;e=m+84|0;f=k[e>>2]|0;if((f|0)==(k[m+88>>2]|0))Kd(m+80|0,v);else{k[f>>2]=k[v>>2];k[f+4>>2]=k[v+4>>2];k[f+8>>2]=k[v+8>>2];k[e>>2]=(k[e>>2]|0)+12}b=b+1|0;if((b|0)>=(w|0))break;else c=c+3|0}gb(n);break}else b=1;else b=0;if(!n){if(b)break;else b=0;r=x;return b|0}else{gb(n);if(b)break;else b=0;r=x;return b|0}}else{if((u|0)<256){if((w|0)<=0)break;o=a+24|0;p=v+4|0;q=v+8|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;b:do if((g|0)>(j|0)|(g|0)==(j|0)&h>>>0>d>>>0){n=0;m=s;f=j;e=h;while(1){c=b+16|0;j=i[m+d>>0]|0;b=Yf(d|0,f|0,1,0)|0;s=L;h=c;k[h>>2]=b;k[h+4>>2]=s;k[v>>2]=j&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;j=i[m+b>>0]|0;b=Yf(d|0,f|0,2,0)|0;s=L;h=c;k[h>>2]=b;k[h+4>>2]=s;k[p>>2]=j&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;b=i[m+b>>0]|0;s=Yf(d|0,f|0,3,0)|0;d=c;k[d>>2]=s;k[d+4>>2]=L;k[q>>2]=b&255;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))Kd(d+80|0,v);else{k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[c>>2]=(k[c>>2]|0)+12}b=n+1|0;if((b|0)>=(w|0))break a;c=k[t>>2]|0;f=c+16|0;d=k[f>>2]|0;f=k[f+4>>2]|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;g=c+8|0;e=k[g>>2]|0;g=k[g+4>>2]|0;if(!((g|0)>(f|0)|(g|0)==(f|0)&e>>>0>d>>>0))break b;n=b;b=c;m=k[c>>2]|0}}while(0);a=0;r=x;return a|0}c=(w|0)>0;if((u|0)<65536){if(!c)break;o=a+24|0;p=v+4|0;q=v+8|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;c=Yf(m|0,n|0,11,0)|0;e=L;c:do if(!((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)){n=0;m=s;while(1){f=b+16|0;b=m+d|0;b=l[b>>0]|l[b+1>>0]<<8;s=f;k[s>>2]=c;k[s+4>>2]=e;k[v>>2]=b&65535;e=Yf(d|0,j|0,4,0)|0;b=L;if((g|0)<(b|0)|(g|0)==(b|0)&h>>>0>>0)break c;c=m+c|0;c=l[c>>0]|l[c+1>>0]<<8;s=f;k[s>>2]=e;k[s+4>>2]=b;k[p>>2]=c&65535;b=Yf(d|0,j|0,6,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0)break c;d=m+e|0;d=l[d>>0]|l[d+1>>0]<<8;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d&65535;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))Kd(d+80|0,v);else{k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[c>>2]=(k[c>>2]|0)+12}b=n+1|0;if((b|0)>=(w|0))break a;c=k[t>>2]|0;j=c+16|0;d=k[j>>2]|0;j=k[j+4>>2]|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;g=c+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Yf(d|0,j|0,2,0)|0;f=L;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0)break c;n=b;b=c;m=k[c>>2]|0;c=e;e=f}}while(0);a=0;r=x;return a|0}else{if(!c)break;o=a+24|0;p=v+4|0;q=v+8|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;c=Yf(m|0,n|0,13,0)|0;e=L;d:do if(!((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)){n=0;m=s;while(1){f=b+16|0;b=m+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;s=f;k[s>>2]=c;k[s+4>>2]=e;k[v>>2]=b;e=Yf(d|0,j|0,8,0)|0;b=L;if((g|0)<(b|0)|(g|0)==(b|0)&h>>>0>>0)break d;c=m+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;s=f;k[s>>2]=e;k[s+4>>2]=b;k[p>>2]=c;b=Yf(d|0,j|0,12,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0)break d;d=m+e|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))Kd(d+80|0,v);else{k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[c>>2]=(k[c>>2]|0)+12}b=n+1|0;if((b|0)>=(w|0))break a;c=k[t>>2]|0;j=c+16|0;d=k[j>>2]|0;j=k[j+4>>2]|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;g=c+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Yf(d|0,j|0,4,0)|0;f=L;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0)break d;n=b;b=c;m=k[c>>2]|0;c=e;e=f}}while(0);a=0;r=x;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=x;return a|0}function fb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;C=1-g+f|0;k[a+20>>2]=C;f=(C|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(C&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);A=k[a+48>>2]|0;B=k[a+52>>2]|0;h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){C=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){C=0;break}Na[f&1]()}Ke(C|0,0,h|0)|0;p=a+56|0;g=k[p>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=A+64|0;y=A+28|0;z=e<<2;n=f>>2;f=h;while(1){o=n+-1|0;if(f-g>>2>>>0<=o>>>0)break;m=k[g+(o<<2)>>2]|0;if(q)Ke(C|0,0,z|0)|0;if((m|0)>-1){d=k[A>>2]|0;f=0;l=m;while(1){do if(((k[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(D=k[(k[(k[x>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(D|0)>-1):0)?(G=k[y>>2]|0,j=k[B>>2]|0,E=k[j+(k[G+(D<<2)>>2]<<2)>>2]|0,F=D+1|0,F=k[j+(k[G+((((F|0)%3|0|0)==0?D+-2|0:F)<<2)>>2]<<2)>>2]|0,G=k[j+(k[G+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(E|0)<(o|0)&(F|0)<(o|0)&(G|0)<(o|0)):0){h=_(E,e)|0;i=_(F,e)|0;j=_(G,e)|0;if(q)g=0;else{f=f+1|0;K=38;break}do{N=C+(g<<2)|0;k[N>>2]=(k[b+(g+j<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+h<<2)>>2]|0)+(k[N>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=f+1|0;if((l|0)<0){g=f;f=l}else K=38}else K=38;while(0);do if((K|0)==38){K=0;if(!((l>>>0)%3|0)){g=f;f=l+2|0;break}else{g=f;f=l+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(m|0)?-1073741824:f;if((l|0)<=-1)break;else f=g}d=_(o,e)|0;if(g){if(q){f=0;do{N=C+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[M>>2]|0))}}}}else{I=d;K=50}}else{I=_(o,e)|0;K=50}if((K|0)==50?(K=0,H=b+(I<<2)|0,J=b+((_(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[J+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+I<<2)>>2]=(k[H+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+I<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=C;break a}f=k[p>>2]|0;n=o;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else L=C;while(0);if((e|0)>0)Ke(C|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){gb(C);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[L+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(C);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(C);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[M>>2]|0));gb(C);return 1} +function Sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0.0,m=0,n=0,q=0,s=0.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,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,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.0,pa=0.0,qa=0.0;na=r;r=r+1872|0;la=na+1808|0;ga=na+1832|0;ka=na+1792|0;ha=na+1776|0;ma=na+912|0;ia=na+896|0;ja=na+880|0;ea=na+864|0;aa=na;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Ba(9441,9457,62,9485);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(d|0))Ba(9495,9457,63,9485);fa=k[c+(d<<2)>>2]|0;i[fa+84>>0]=1;a=k[fa+68>>2]|0;c=fa+72|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);x=b+8|0;c=x;a=k[c>>2]|0;c=k[c+4>>2]|0;z=b+16|0;e=z;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((c|0)>(e|0)|(c|0)==(e|0)&a>>>0>d>>>0)){ma=0;r=na;return ma|0}f=k[b>>2]|0;da=i[f+d>>0]|0;g=Yf(d|0,e|0,1,0)|0;h=L;ca=z;k[ca>>2]=g;k[ca+4>>2]=h;switch(da<<24>>24){case 0:{if((c|0)>(h|0)|(c|0)==(h|0)&a>>>0>g>>>0?(u=Yf(d|0,e|0,2,0)|0,v=z,k[v>>2]=u,k[v+4>>2]=L,v=Yf(d|0,e|0,6,0)|0,w=L,!((c|0)<(w|0)|(c|0)==(w|0)&a>>>0>>0)):0){u=f+u|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;h=z;k[h>>2]=v;k[h+4>>2]=w;nc(fa,u)|0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ga>>2]=0;u=ga+4|0;k[u>>2]=0;k[ga+8>>2]=0;h=x;g=k[h>>2]|0;h=k[h+4>>2]|0;c=z;a=k[c>>2]|0;c=k[c+4>>2]|0;d=Yf(a|0,c|0,4,0)|0;e=L;a:do if(!((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0)){f=k[b>>2]|0;ma=f+a|0;ma=l[ma>>0]|l[ma+1>>0]<<8|l[ma+2>>0]<<16|l[ma+3>>0]<<24;ja=z;k[ja>>2]=d;k[ja+4>>2]=e;b:do switch(ma|0){case 3:{if(!((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0)){e=0;break a}ma=i[f+d>>0]|0;ia=Yf(a|0,c|0,5,0)|0;ja=z;k[ja>>2]=ia;k[ja+4>>2]=L;if(ma<<24>>24==1)if(Ta(ka,b,ga)|0)break b;else{e=0;break a}a=k[1165]|0;c=(a|0)==0;if((k[1180]|0)>-1){do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<23){Ha[k[4680>>2]&31](4644,9549,23)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9549,23)|0)>>>0<23){e=0;break a}a=0;d=9572;c=k[1166]|0}else{a=23;d=9549}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}else{do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<23){Ha[k[4680>>2]&31](4644,9549,23)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9549,23)|0)>>>0<23){e=0;break a}a=0;d=9572;c=k[1166]|0}else{a=23;d=9549}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}}case 2:{if(!(Ta(ka,b,ga)|0)){e=0;break a}break}default:{a=k[1165]|0;c=(a|0)==0;if((k[1180]|0)>-1){do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<24){Ha[k[4680>>2]&31](4644,9573,24)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9573,24)|0)>>>0<24){e=0;break a}a=0;d=9597;c=k[1166]|0}else{a=24;d=9573}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}else{do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<24){Ha[k[4680>>2]&31](4644,9573,24)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9573,24)|0)>>>0<24){e=0;break a}a=0;d=9597;c=k[1166]|0}else{a=24;d=9573}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}}}while(0);s=+o[ka+4>>2];if(!(s>=0.0))Ba(9598,9618,66,9675);t=k[u>>2]|0;a=k[ga>>2]|0;h=(1<>2])+-1|0;j=1.0/+(h|0);if((a|0)==(t|0))e=1;else{m=fa+84|0;n=fa+68|0;q=fa+40|0;g=fa+64|0;e=la+4|0;f=la+8|0;c=a;d=0;while(1){ia=(k[c>>2]|0)-h|0;ja=(ia|0)<0;qa=j*+((ja?0-ia|0:ia)|0);ia=(k[c+4>>2]|0)-h|0;ka=(ia|0)<0;pa=j*+((ka?0-ia|0:ia)|0);ia=(k[c+8>>2]|0)-h|0;ma=(ia|0)<0;oa=j*+((ma?0-ia|0:ia)|0);o[la>>2]=s*(ja?-qa:qa);o[e>>2]=s*(ka?-pa:pa);o[f>>2]=s*(ma?-oa:oa);if(!(i[m>>0]|0))a=k[(k[n>>2]|0)+(d<<2)>>2]|0;else a=d;ka=q;ma=k[ka>>2]|0;ka=Af(a|0,((a|0)<0)<<31>>31|0,ma|0,k[ka+4>>2]|0)|0;xe((k[k[g>>2]>>2]|0)+ka|0,la|0,ma|0)|0;c=c+12|0;if((c|0)==(t|0)){e=1;break}else d=d+1|0}}}else e=0;while(0);a=k[ga>>2]|0;c=a;if(a|0){d=k[u>>2]|0;if((d|0)!=(a|0))k[u>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);gb(a)}if(e){ma=1;r=na;return ma|0}}ma=0;r=na;return ma|0}case 1:{c:do if((c|0)>(h|0)|(c|0)==(h|0)&a>>>0>g>>>0?(m=i[f+g>>0]|0,n=Yf(d|0,e|0,2,0)|0,q=z,k[q>>2]=n,k[q+4>>2]=L,q=Yf(d|0,e|0,6,0)|0,t=L,!((c|0)<(t|0)|(c|0)==(t|0)&a>>>0>>0)):0){da=f+n|0;da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24;ca=z;k[ca>>2]=q;k[ca+4>>2]=t;nc(fa,da)|0;do switch(m<<24>>24){case 0:{k[ma>>2]=0;h=ma+8|0;m=ma+28|0;n=ma+48|0;q=ma+68|0;a=h;c=a+80|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else if(((Oc(h,b)|0?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(q,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;W=ha+4|0;X=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;Y=la+8|0;Z=la+4|0;$=la+16|0;aa=la+20|0;db(la);a=k[Z>>2]|0;e=k[Y>>2]|0;c=(k[aa>>2]|0)+(k[$>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[aa>>2]|0)+1|0;k[aa>>2]=a;d:do if(a|0){K=ma+44|0;M=ma+40|0;N=ga+4|0;O=ga+8|0;P=ma+24|0;Q=ma+20|0;R=ma+84|0;S=ma+80|0;T=fa+84|0;U=fa+68|0;V=fa+40|0;J=fa+64|0;c=0;e:while(1){ea=k[$>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[Z>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;u=k[ca+(d<<5)+4>>2]|0;v=k[ca+(d<<5)+8>>2]|0;w=k[ca+(d<<5)+12>>2]|0;H=ca+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[aa>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[Y>>2]|0)+-4|0;k[Y>>2]=e}k[ha>>2]=u;k[W>>2]=v;k[X>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];x=(d|0)==2?0:d+1|0;n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[T>>0]|0))d=k[(k[U>>2]|0)+(e<<2)>>2]|0;else d=e;ea=V;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=99;break e}if(I>>>0>=3){k[ga>>2]=u;k[N>>2]=v;k[O>>2]=w;f=ga+(x<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){y=115;break e}if(!f){y=117;break e}g=k[P>>2]|0;a=32-g|0;h=k[Q>>2]|0;d=k[h>>2]<(a|0)){fa=f-a|0;k[P>>2]=fa;ea=h+4|0;k[Q>>2]=ea;fa=32-fa|0;a=(k[ea>>2]|0)>>>fa|d>>>(fa-a|0)}else{a=d>>>(32-f|0);fa=g+f|0;k[P>>2]=fa;if((fa|0)!=32)break;k[Q>>2]=h+4;k[P>>2]=0}while(0);g=(I>>>1)-a|0;d=I-g|0;if((g|0)==(d|0)){m=g;t=g}else{fa=k[R>>2]|0;a=k[S>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}m=f?g:d;t=f?d:g}k[n>>2]=q+1;if(m){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[Z>>2]|0;fa=e-g|0;a=k[$>>2]|0;d=k[aa>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);f=k[Y>>2]|0;h=f;a=k[$>>2]|0;d=k[aa>>2]|0;e=k[Z>>2]|0}else{h=e;f=e;e=g}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;e=a+16|0;k[e>>2]=k[ja>>2];k[e+4>>2]=k[ja+4>>2];k[e+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[aa>>2]=(k[aa>>2]|0)+1;e=h}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[Z>>2]|0;fa=e-f|0;a=k[$>>2]|0;d=k[aa>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[$>>2]|0;d=k[aa>>2]|0;e=k[Y>>2]|0;f=k[Z>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[aa>>2]=(k[aa>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=ga+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=ga+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=104;break e}if(!F){y=106;break e}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=104;break e}if(!b){y=106;break e}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=104;break e}if(!x){y=106;break e}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[T>>0]|0))a=k[(k[U>>2]|0)+(a<<2)>>2]|0;ea=V;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[aa>>2]|0;if(!a)break d;e=k[Y>>2]|0}if((y|0)==99)Ba(9865,9903,231,9973);else if((y|0)==104)Ba(9986,10010,111,10037);else if((y|0)==106)Ba(10066,10010,112,10037);else if((y|0)==115)Ba(9986,10010,111,10037);else if((y|0)==117)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0;d=k[ma+68>>2]|0;e=ma+72|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+84>>2]=0;k[ma+80>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+48>>2]|0;e=ma+52|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+64>>2]=0;k[ma+60>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+28>>2]|0;e=ma+32|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+44>>2]=0;k[ma+40>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+8>>2]|0;e=ma+12|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+24>>2]=0;k[ma+20>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 1:{k[ma>>2]=0;h=ma+8|0;m=ma+28|0;n=ma+48|0;q=ma+68|0;a=h;c=a+80|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else if(((Oc(h,b)|0?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(q,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;X=ha+4|0;Y=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;Z=la+8|0;$=la+4|0;aa=la+16|0;ca=la+20|0;db(la);a=k[$>>2]|0;e=k[Z>>2]|0;c=(k[ca>>2]|0)+(k[aa>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[ca>>2]|0)+1|0;k[ca>>2]=a;f:do if(a|0){M=ma+44|0;N=ma+40|0;O=ga+4|0;P=ga+8|0;Q=ma+24|0;R=ma+20|0;S=ma+84|0;T=ma+80|0;U=fa+84|0;V=fa+68|0;W=fa+40|0;K=fa+64|0;c=0;g:while(1){ea=k[aa>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[$>>2]|0;I=k[fa+(d>>>7<<2)>>2]|0;d=d&127;J=k[I+(d<<5)>>2]|0;t=k[I+(d<<5)+4>>2]|0;u=k[I+(d<<5)+8>>2]|0;v=k[I+(d<<5)+12>>2]|0;H=I+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[I+(d<<5)+28>>2]|0;k[ca>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[Z>>2]|0)+-4|0;k[Z>>2]=e}k[ha>>2]=t;k[X>>2]=u;k[Y>>2]=v;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];w=(d|0)==2?0:d+1|0;m=ka+(w<<2)|0;n=k[m>>2]|0;a=k[ma>>2]|0;I=a-n|0;do if(!I){if((J|0)>0){a=0;e=c}else break;while(1){if(!(i[U>>0]|0))d=k[(k[V>>2]|0)+(e<<2)>>2]|0;else d=e;ea=W;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[K>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(J|0))break;else e=e+1|0}c=J+c|0}else{if(!J){y=203;break g}if(J>>>0>=3){k[ga>>2]=t;k[O>>2]=u;k[P>>2]=v;f=ga+(w<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){y=219;break g}if(!f){y=221;break g}g=k[Q>>2]|0;a=32-g|0;h=k[R>>2]|0;d=k[h>>2]<(a|0)){fa=f-a|0;k[Q>>2]=fa;ea=h+4|0;k[R>>2]=ea;fa=32-fa|0;a=(k[ea>>2]|0)>>>fa|d>>>(fa-a|0)}else{a=d>>>(32-f|0);fa=g+f|0;k[Q>>2]=fa;if((fa|0)!=32)break;k[R>>2]=h+4;k[Q>>2]=0}while(0);g=(J>>>1)-a|0;d=J-g|0;if((g|0)==(d|0)){h=g;q=g}else{fa=k[S>>2]|0;a=k[T>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[S>>2]=fa;if((fa|0)==32){k[T>>2]=a+4;k[S>>2]=0}h=f?g:d;q=f?d:g}k[m>>2]=n+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[$>>2]|0;fa=e-f|0;a=k[aa>>2]|0;d=k[ca>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);e=k[Z>>2]|0;a=k[aa>>2]|0;d=k[ca>>2]|0;g=e;f=k[$>>2]|0}else g=e;a=d+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=t;k[a+8>>2]=u;k[a+12>>2]=v;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=w;k[ca>>2]=(k[ca>>2]|0)+1}if(q|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[O>>2]|0;m=k[P>>2]|0;f=k[$>>2]|0;fa=e-f|0;a=k[aa>>2]|0;d=k[ca>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[aa>>2]|0;d=k[ca>>2]|0;e=k[Z>>2]|0;f=k[$>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=q;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=w;k[ca>>2]=(k[ca>>2]|0)+1}break}u=(w|0)==2?0:w+1|0;x=(u|0)==2?0:u+1|0;H=a-(k[ka+(u<<2)>>2]|0)|0;D=a-(k[ka+(x<<2)>>2]|0)|0;E=ga+(w<<2)|0;F=(I|0)<33;G=(I|0)>0;q=ha+(w<<2)|0;t=(H|0)==0;m=ga+(u<<2)|0;u=ha+(u<<2)|0;v=(D|0)==0;n=ga+(x<<2)|0;w=ha+(x<<2)|0;x=(D|0)<33;y=(D|0)>0;z=32-D|0;b=(H|0)<33;A=(H|0)>0;B=32-H|0;C=32-I|0;h=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!F){y=208;break g}if(!G){y=210;break g}e=k[M>>2]|0;c=32-e|0;f=k[N>>2]|0;d=k[f>>2]<(c|0)){fa=I-c|0;k[M>>2]=fa;g=f+4|0;k[N>>2]=g;ea=32-fa|0;d=(k[g>>2]|0)>>>ea|d>>>(ea-c|0);k[E>>2]=d;c=fa}else{d=d>>>C;k[E>>2]=d;c=e+I|0;k[M>>2]=c;if((c|0)!=32){g=f;break}g=f+4|0;k[N>>2]=g;k[M>>2]=0;c=0}while(0);k[E>>2]=d|k[q>>2];do if(t){d=k[m>>2]|0;f=c;e=g}else{if(!b){y=208;break g}if(!A){y=210;break g}d=32-c|0;e=k[g>>2]<(d|0)){f=H-d|0;k[M>>2]=f;fa=g+4|0;k[N>>2]=fa;ea=32-f|0;d=(k[fa>>2]|0)>>>ea|e>>>(ea-d|0);k[m>>2]=d;e=fa;break}d=e>>>B;k[m>>2]=d;c=c+H|0;k[M>>2]=c;if((c|0)!=32){f=c;e=g;break}e=g+4|0;k[N>>2]=e;k[M>>2]=0;f=0}while(0);k[m>>2]=d|k[u>>2];do if(v)c=k[n>>2]|0;else{if(!x){y=208;break g}if(!y){y=210;break g}c=32-f|0;d=k[e>>2]<(c|0)){fa=D-c|0;k[M>>2]=fa;ea=e+4|0;k[N>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|d>>>(fa-c|0);k[n>>2]=c;break}c=d>>>z;k[n>>2]=c;fa=f+D|0;k[M>>2]=fa;if((fa|0)!=32)break;k[N>>2]=e+4;k[M>>2]=0}while(0);k[n>>2]=c|k[w>>2];c=a+1|0;if(!(i[U>>0]|0))a=k[(k[V>>2]|0)+(a<<2)>>2]|0;ea=W;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[K>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;h=h+1|0;if(h>>>0>=J>>>0)break;else a=c}}while(0);a=k[ca>>2]|0;if(!a)break f;e=k[Z>>2]|0}if((y|0)==203)Ba(9865,9903,231,9973);else if((y|0)==208)Ba(9986,10010,111,10037);else if((y|0)==210)Ba(10066,10010,112,10037);else if((y|0)==219)Ba(9986,10010,111,10037);else if((y|0)==221)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0;d=k[ma+68>>2]|0;e=ma+72|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+84>>2]=0;k[ma+80>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+48>>2]|0;e=ma+52|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+64>>2]=0;k[ma+60>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+28>>2]|0;e=ma+32|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+44>>2]=0;k[ma+40>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+8>>2]|0;e=ma+12|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+24>>2]=0;k[ma+20>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 2:{k[aa>>2]=0;i[aa+20>>0]=0;h=aa+24|0;m=aa+44|0;n=aa+64|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[aa>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=aa+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{$=aa+8|0;if(((Dc($,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ma+4|0;V=ma+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;h:do if(a|0){K=aa+40|0;M=aa+36|0;N=ga+4|0;O=ga+8|0;P=aa+80|0;Q=aa+76|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;i:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;n=k[ca+(d<<5)+4>>2]|0;q=k[ca+(d<<5)+8>>2]|0;t=k[ca+(d<<5)+12>>2]|0;H=ca+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[ma>>2]=n;k[U>>2]=q;k[V>>2]=t;k[ha>>2]=k[ia>>2];k[ha+4>>2]=k[ia+4>>2];k[ha+8>>2]=k[ia+8>>2];v=(d|0)==2?0:d+1|0;g=ha+(v<<2)|0;h=k[g>>2]|0;a=k[aa>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ma|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=307;break i}if(I>>>0>=3){k[ga>>2]=n;k[N>>2]=q;k[O>>2]=t;f=ga+(v<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de($,f,ka);f=(I>>>1)-(k[ka>>2]|0)|0;d=I-f|0;if((f|0)==(d|0)){m=f;u=f}else{fa=k[P>>2]|0;a=k[Q>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}m=e?f:d;u=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=n;k[a+8>>2]=q;k[a+12>>2]=t;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}if(u|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=u;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ha+(t<<2)>>2]|0)|0;C=a-(k[ha+(w<<2)>>2]|0)|0;D=ga+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ma+(v<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ma+(t<<2)|0;u=(C|0)==0;m=ga+(w<<2)|0;v=ma+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=312;break i}if(!F){y=314;break i}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=312;break i}if(!b){y=314;break i}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=312;break i}if(!x){y=314;break i}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break h;e=k[W>>2]|0}if((y|0)==307)Ba(9865,9903,231,9973);else if((y|0)==312)Ba(9986,10010,111,10037);else if((y|0)==314)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}d=k[aa+64>>2]|0;e=aa+68|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+80>>2]=0;k[aa+76>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+44>>2]|0;e=aa+48|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+60>>2]=0;k[aa+56>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+24>>2]|0;e=aa+28|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+40>>2]=0;k[aa+36>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 3:{k[aa>>2]=0;i[aa+20>>0]=0;h=aa+24|0;m=aa+44|0;n=aa+64|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[aa>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=aa+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{$=aa+8|0;if(((Dc($,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ma+4|0;V=ma+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;j:do if(a|0){K=aa+40|0;M=aa+36|0;N=ga+4|0;O=ga+8|0;P=aa+80|0;Q=aa+76|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;k:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;n=k[ca+(d<<5)+4>>2]|0;q=k[ca+(d<<5)+8>>2]|0;t=k[ca+(d<<5)+12>>2]|0;H=ca+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[ma>>2]=n;k[U>>2]=q;k[V>>2]=t;k[ha>>2]=k[ia>>2];k[ha+4>>2]=k[ia+4>>2];k[ha+8>>2]=k[ia+8>>2];v=(d|0)==2?0:d+1|0;g=ha+(v<<2)|0;h=k[g>>2]|0;a=k[aa>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ma|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=397;break k}if(I>>>0>=3){k[ga>>2]=n;k[N>>2]=q;k[O>>2]=t;f=ga+(v<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de($,f,ka);f=(I>>>1)-(k[ka>>2]|0)|0;d=I-f|0;if((f|0)==(d|0)){m=f;u=f}else{fa=k[P>>2]|0;a=k[Q>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}m=e?f:d;u=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=n;k[a+8>>2]=q;k[a+12>>2]=t;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}if(u|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=u;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ha+(t<<2)>>2]|0)|0;C=a-(k[ha+(w<<2)>>2]|0)|0;D=ga+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ma+(v<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ma+(t<<2)|0;u=(C|0)==0;m=ga+(w<<2)|0;v=ma+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=402;break k}if(!F){y=404;break k}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=402;break k}if(!b){y=404;break k}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=402;break k}if(!x){y=404;break k}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break j;e=k[W>>2]|0}if((y|0)==397)Ba(9865,9903,231,9973);else if((y|0)==402)Ba(9986,10010,111,10037);else if((y|0)==404)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}d=k[aa+64>>2]|0;e=aa+68|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+80>>2]=0;k[aa+76>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+44>>2]|0;e=aa+48|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+60>>2]=0;k[aa+56>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+24>>2]|0;e=aa+28|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+40>>2]=0;k[aa+36>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 4:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=472}l:do if((y|0)==472){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break l}a=a+1|0;if((a|0)>=32)break;else y=472}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ha+4|0;V=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;m:do if(a|0){K=ma+552|0;M=ma+548|0;N=ga+4|0;O=ga+8|0;P=ma+592|0;Q=ma+588|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;n:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;u=k[ca+(d<<5)+4>>2]|0;v=k[ca+(d<<5)+8>>2]|0;w=k[ca+(d<<5)+12>>2]|0;aa=ca+(d<<5)+16|0;k[ia>>2]=k[aa>>2];k[ia+4>>2]=k[aa+4>>2];k[ia+8>>2]=k[aa+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[W>>2]|0)+-4|0;k[W>>2]=e}k[ha>>2]=u;k[U>>2]=v;k[V>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];x=(d|0)==2?0:d+1|0;n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=489;break n}if(I>>>0>=3){k[ga>>2]=u;k[N>>2]=v;k[O>>2]=w;m=ga+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;d=k[g>>2]|0;if(d>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;d=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|d<<8;k[g>>2]=d}ca=d&255;da=0-f&255;ea=_(d>>>8,da)|0;fa=ca>>>0>>0;k[g>>2]=fa?ea+ca|0:d-da-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;d=I-g|0;if((g|0)==(d|0)){h=g;t=g}else{fa=k[P>>2]|0;a=k[Q>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}h=f?g:d;t=f?d:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);e=k[W>>2]|0;a=k[Y>>2]|0;d=k[Z>>2]|0;g=e;f=k[X>>2]|0}else g=e;a=d+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;e=k[W>>2]|0;f=k[X>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=ga+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=ga+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=494;break n}if(!F){y=496;break n}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=494;break n}if(!b){y=496;break n}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=494;break n}if(!x){y=496;break n}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break m;e=k[W>>2]|0}if((y|0)==489)Ba(9865,9903,231,9973);else if((y|0)==494)Ba(9986,10010,111,10037);else if((y|0)==496)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 5:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=568}o:do if((y|0)==568){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break o}a=a+1|0;if((a|0)>=32)break;else y=568}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ha+4|0;V=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;p:do if(a|0){K=ma+552|0;M=ma+548|0;N=ga+4|0;O=ga+8|0;P=ma+592|0;Q=ma+588|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;q:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;u=k[ca+(d<<5)+4>>2]|0;v=k[ca+(d<<5)+8>>2]|0;w=k[ca+(d<<5)+12>>2]|0;aa=ca+(d<<5)+16|0;k[ia>>2]=k[aa>>2];k[ia+4>>2]=k[aa+4>>2];k[ia+8>>2]=k[aa+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[W>>2]|0)+-4|0;k[W>>2]=e}k[ha>>2]=u;k[U>>2]=v;k[V>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];x=(d|0)==2?0:d+1|0;n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=585;break q}if(I>>>0>=3){k[ga>>2]=u;k[N>>2]=v;k[O>>2]=w;m=ga+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;d=k[g>>2]|0;if(d>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;d=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|d<<8;k[g>>2]=d}ca=d&255;da=0-f&255;ea=_(d>>>8,da)|0;fa=ca>>>0>>0;k[g>>2]=fa?ea+ca|0:d-da-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;d=I-g|0;if((g|0)==(d|0)){h=g;t=g}else{fa=k[P>>2]|0;a=k[Q>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}h=f?g:d;t=f?d:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);e=k[W>>2]|0;a=k[Y>>2]|0;d=k[Z>>2]|0;g=e;f=k[X>>2]|0}else g=e;a=d+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;e=k[W>>2]|0;f=k[X>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=ga+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=ga+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=590;break q}if(!F){y=592;break q}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=590;break q}if(!b){y=592;break q}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=590;break q}if(!x){y=592;break q}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break p;e=k[W>>2]|0}if((y|0)==585)Ba(9865,9903,231,9973);else if((y|0)==590)Ba(9986,10010,111,10037);else if((y|0)==592)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 6:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=664}r:do if((y|0)==664){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break r}a=a+1|0;if((a|0)>=32)break;else y=664}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;e=k[$>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;s:do if(a|0){N=ma+552|0;O=ma+548|0;P=la+4|0;Q=la+8|0;R=ma+592|0;S=ma+588|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+572|0;M=ma+568|0;d=e;c=0;t:while(1){ea=k[ca>>2]|0;H=a+-1|0;G=H+ea|0;fa=k[aa>>2]|0;F=k[fa+(G>>>7<<2)>>2]|0;G=G&127;I=k[F+(G<<5)>>2]|0;u=k[F+(G<<5)+4>>2]|0;v=k[F+(G<<5)+8>>2]|0;w=k[F+(G<<5)+12>>2]|0;G=F+(G<<5)+16|0;k[ia>>2]=k[G>>2];k[ia+4>>2]=k[G+4>>2];k[ia+8>>2]=k[G+8>>2];k[da>>2]=H;fa=d-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[d+-4>>2]|0);d=(k[$>>2]|0)+-4|0;k[$>>2]=d}k[ha>>2]=u;k[Y>>2]=v;k[Z>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){x=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;x=(k[la+(x<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:x}else{f=k[K>>2]|0;a=32-f|0;g=k[M>>2]|0;e=k[g>>2]<>2]=x;fa=g+4|0;k[M>>2]=fa;x=32-x|0;x=(k[fa>>2]|0)>>>x|e>>>(x-a|0);break}a=e>>>28;fa=f+4|0;k[K>>2]=fa;if((fa|0)!=32){x=a;break}k[M>>2]=g+4;k[K>>2]=0;x=a}while(0);n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=687;break t}if(I>>>0>=3){k[la>>2]=u;k[P>>2]=v;k[Q>>2]=w;m=la+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;e=k[g>>2]|0;if(e>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;e=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|e<<8;k[g>>2]=e}G=e&255;H=0-f&255;ea=_(e>>>8,H)|0;fa=G>>>0>>0;k[g>>2]=fa?ea+G|0:e-H-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;e=I-g|0;if((g|0)==(e|0)){h=g;t=g}else{fa=k[R>>2]|0;a=k[S>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}h=f?g:e;t=f?e:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);d=k[$>>2]|0;a=k[ca>>2]|0;e=k[da>>2]|0;g=d;f=k[aa>>2]|0}else g=d;a=e+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);a=k[ca>>2]|0;e=k[da>>2]|0;d=k[$>>2]|0;f=k[aa>>2]|0}a=e+a|0;if((d|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=la+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=692;break t}if(!F){y=694;break t}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=692;break t}if(!b){y=694;break t}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=692;break t}if(!x){y=694;break t}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break s;d=k[$>>2]|0}if((y|0)==687)Ba(9865,9903,231,9973);else if((y|0)==692)Ba(9986,10010,111,10037);else if((y|0)==694)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 7:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=766}u:do if((y|0)==766){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break u}a=a+1|0;if((a|0)>=32)break;else y=766}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;e=k[$>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;v:do if(a|0){N=ma+552|0;O=ma+548|0;P=la+4|0;Q=la+8|0;R=ma+592|0;S=ma+588|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+572|0;M=ma+568|0;d=e;c=0;w:while(1){ea=k[ca>>2]|0;H=a+-1|0;G=H+ea|0;fa=k[aa>>2]|0;F=k[fa+(G>>>7<<2)>>2]|0;G=G&127;I=k[F+(G<<5)>>2]|0;u=k[F+(G<<5)+4>>2]|0;v=k[F+(G<<5)+8>>2]|0;w=k[F+(G<<5)+12>>2]|0;G=F+(G<<5)+16|0;k[ia>>2]=k[G>>2];k[ia+4>>2]=k[G+4>>2];k[ia+8>>2]=k[G+8>>2];k[da>>2]=H;fa=d-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[d+-4>>2]|0);d=(k[$>>2]|0)+-4|0;k[$>>2]=d}k[ha>>2]=u;k[Y>>2]=v;k[Z>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){x=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;x=(k[la+(x<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:x}else{f=k[K>>2]|0;a=32-f|0;g=k[M>>2]|0;e=k[g>>2]<>2]=x;fa=g+4|0;k[M>>2]=fa;x=32-x|0;x=(k[fa>>2]|0)>>>x|e>>>(x-a|0);break}a=e>>>28;fa=f+4|0;k[K>>2]=fa;if((fa|0)!=32){x=a;break}k[M>>2]=g+4;k[K>>2]=0;x=a}while(0);n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=789;break w}if(I>>>0>=3){k[la>>2]=u;k[P>>2]=v;k[Q>>2]=w;m=la+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;e=k[g>>2]|0;if(e>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;e=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|e<<8;k[g>>2]=e}G=e&255;H=0-f&255;ea=_(e>>>8,H)|0;fa=G>>>0>>0;k[g>>2]=fa?ea+G|0:e-H-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;e=I-g|0;if((g|0)==(e|0)){h=g;t=g}else{fa=k[R>>2]|0;a=k[S>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}h=f?g:e;t=f?e:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);d=k[$>>2]|0;a=k[ca>>2]|0;e=k[da>>2]|0;g=d;f=k[aa>>2]|0}else g=d;a=e+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);a=k[ca>>2]|0;e=k[da>>2]|0;d=k[$>>2]|0;f=k[aa>>2]|0}a=e+a|0;if((d|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=la+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=794;break w}if(!F){y=796;break w}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=794;break w}if(!b){y=796;break w}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=794;break w}if(!x){y=796;break w}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break v;d=k[$>>2]|0}if((y|0)==789)Ba(9865,9903,231,9973);else if((y|0)==794)Ba(9986,10010,111,10037);else if((y|0)==796)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 8:{k[ma>>2]=0;p[ma+24>>3]=.5;p[ma+48>>3]=.5;p[ma+72>>3]=.5;p[ma+96>>3]=.5;p[ma+120>>3]=.5;p[ma+144>>3]=.5;p[ma+168>>3]=.5;p[ma+192>>3]=.5;p[ma+216>>3]=.5;p[ma+240>>3]=.5;p[ma+264>>3]=.5;p[ma+288>>3]=.5;p[ma+312>>3]=.5;p[ma+336>>3]=.5;p[ma+360>>3]=.5;p[ma+384>>3]=.5;p[ma+408>>3]=.5;p[ma+432>>3]=.5;p[ma+456>>3]=.5;p[ma+480>>3]=.5;p[ma+504>>3]=.5;p[ma+528>>3]=.5;p[ma+552>>3]=.5;p[ma+576>>3]=.5;p[ma+600>>3]=.5;p[ma+624>>3]=.5;p[ma+648>>3]=.5;p[ma+672>>3]=.5;p[ma+696>>3]=.5;p[ma+720>>3]=.5;p[ma+744>>3]=.5;p[ma+768>>3]=.5;p[ma+792>>3]=.5;h=ma+800|0;m=ma+820|0;n=ma+840|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=868}x:do if((y|0)==868){while(1){if(!(Qc(ma+8+(a*24|0)|0,b)|0)){f=0;break x}a=a+1|0;if((a|0)>=32)break;else y=868}if(((Qc(ma+776|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[$>>2]|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;y:do if(a|0){N=ma+816|0;O=ma+812|0;P=la+4|0;Q=la+8|0;R=ma+856|0;S=ma+852|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+836|0;M=ma+832|0;c=0;z:while(1){d=k[aa>>2]|0;fa=k[ca>>2]|0;H=k[d+(fa>>>7<<2)>>2]|0;ea=fa&127;I=k[H+(ea<<5)>>2]|0;q=k[H+(ea<<5)+4>>2]|0;t=k[H+(ea<<5)+8>>2]|0;u=k[H+(ea<<5)+12>>2]|0;ea=H+(ea<<5)+16|0;k[ia>>2]=k[ea>>2];k[ia+4>>2]=k[ea+4>>2];k[ia+8>>2]=k[ea+8>>2];k[da>>2]=a+-1;fa=fa+1|0;k[ca>>2]=fa;if(fa>>>0>255){gb(k[d>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ca>>2]=(k[ca>>2]|0)+-128}k[ha>>2]=q;k[Y>>2]=t;k[Z>>2]=u;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){v=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;v=(k[la+(v<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:v}else{e=k[K>>2]|0;a=32-e|0;f=k[M>>2]|0;d=k[f>>2]<>2]=v;fa=f+4|0;k[M>>2]=fa;v=32-v|0;v=(k[fa>>2]|0)>>>v|d>>>(v-a|0);break}a=d>>>28;fa=e+4|0;k[K>>2]=fa;if((fa|0)!=32){v=a;break}k[M>>2]=f+4;k[K>>2]=0;v=a}while(0);g=ka+(v<<2)|0;h=k[g>>2]|0;a=k[ma>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=891;break z}if(I>>>0>=3){k[la>>2]=q;k[P>>2]=t;k[Q>>2]=u;e=la+(v<<2)|0;k[e>>2]=(k[e>>2]|0)+(1<>>1)-a|0;d=I-f|0;if((f|0)==(d|0)){m=f;n=f}else{fa=k[R>>2]|0;a=k[S>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}m=e?f:d;n=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=q;k[a+8>>2]=t;k[a+12>>2]=u;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=n;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(w<<2)>>2]|0)|0;D=la+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(v<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(w<<2)|0;v=ha+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=896;break z}if(!F){y=898;break z}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=896;break z}if(!b){y=898;break z}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=896;break z}if(!x){y=898;break z}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break y}if((y|0)==891)Ba(9865,9903,231,9973);else if((y|0)==896)Ba(9986,10010,111,10037);else if((y|0)==898)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+840>>2]|0;e=ma+844|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+856>>2]=0;k[ma+852>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+820>>2]|0;e=ma+824|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+836>>2]=0;k[ma+832>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+800>>2]|0;e=ma+804|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+816>>2]=0;k[ma+812>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 9:{k[ma>>2]=0;p[ma+24>>3]=.5;p[ma+48>>3]=.5;p[ma+72>>3]=.5;p[ma+96>>3]=.5;p[ma+120>>3]=.5;p[ma+144>>3]=.5;p[ma+168>>3]=.5;p[ma+192>>3]=.5;p[ma+216>>3]=.5;p[ma+240>>3]=.5;p[ma+264>>3]=.5;p[ma+288>>3]=.5;p[ma+312>>3]=.5;p[ma+336>>3]=.5;p[ma+360>>3]=.5;p[ma+384>>3]=.5;p[ma+408>>3]=.5;p[ma+432>>3]=.5;p[ma+456>>3]=.5;p[ma+480>>3]=.5;p[ma+504>>3]=.5;p[ma+528>>3]=.5;p[ma+552>>3]=.5;p[ma+576>>3]=.5;p[ma+600>>3]=.5;p[ma+624>>3]=.5;p[ma+648>>3]=.5;p[ma+672>>3]=.5;p[ma+696>>3]=.5;p[ma+720>>3]=.5;p[ma+744>>3]=.5;p[ma+768>>3]=.5;p[ma+792>>3]=.5;h=ma+800|0;m=ma+820|0;n=ma+840|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=967}A:do if((y|0)==967){while(1){if(!(Qc(ma+8+(a*24|0)|0,b)|0)){f=0;break A}a=a+1|0;if((a|0)>=32)break;else y=967}if(((Qc(ma+776|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[$>>2]|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;B:do if(a|0){N=ma+816|0;O=ma+812|0;P=la+4|0;Q=la+8|0;R=ma+856|0;S=ma+852|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+836|0;M=ma+832|0;c=0;C:while(1){d=k[aa>>2]|0;fa=k[ca>>2]|0;H=k[d+(fa>>>7<<2)>>2]|0;ea=fa&127;I=k[H+(ea<<5)>>2]|0;q=k[H+(ea<<5)+4>>2]|0;t=k[H+(ea<<5)+8>>2]|0;u=k[H+(ea<<5)+12>>2]|0;ea=H+(ea<<5)+16|0;k[ia>>2]=k[ea>>2];k[ia+4>>2]=k[ea+4>>2];k[ia+8>>2]=k[ea+8>>2];k[da>>2]=a+-1;fa=fa+1|0;k[ca>>2]=fa;if(fa>>>0>255){gb(k[d>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ca>>2]=(k[ca>>2]|0)+-128}k[ha>>2]=q;k[Y>>2]=t;k[Z>>2]=u;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){v=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;v=(k[la+(v<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:v}else{e=k[K>>2]|0;a=32-e|0;f=k[M>>2]|0;d=k[f>>2]<>2]=v;fa=f+4|0;k[M>>2]=fa;v=32-v|0;v=(k[fa>>2]|0)>>>v|d>>>(v-a|0);break}a=d>>>28;fa=e+4|0;k[K>>2]=fa;if((fa|0)!=32){v=a;break}k[M>>2]=f+4;k[K>>2]=0;v=a}while(0);g=ka+(v<<2)|0;h=k[g>>2]|0;a=k[ma>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=990;break C}if(I>>>0>=3){k[la>>2]=q;k[P>>2]=t;k[Q>>2]=u;e=la+(v<<2)|0;k[e>>2]=(k[e>>2]|0)+(1<>>1)-a|0;d=I-f|0;if((f|0)==(d|0)){m=f;n=f}else{fa=k[R>>2]|0;a=k[S>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}m=e?f:d;n=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=q;k[a+8>>2]=t;k[a+12>>2]=u;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=n;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(w<<2)>>2]|0)|0;D=la+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(v<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(w<<2)|0;v=ha+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=995;break C}if(!F){y=997;break C}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=995;break C}if(!b){y=997;break C}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=995;break C}if(!x){y=997;break C}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break B}if((y|0)==990)Ba(9865,9903,231,9973);else if((y|0)==995)Ba(9986,10010,111,10037);else if((y|0)==997)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+840>>2]|0;e=ma+844|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+856>>2]=0;k[ma+852>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+820>>2]|0;e=ma+824|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+836>>2]=0;k[ma+832>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+800>>2]|0;e=ma+804|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+816>>2]=0;k[ma+812>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 10:{k[aa>>2]=0;p[aa+24>>3]=.5;p[aa+48>>3]=.5;p[aa+72>>3]=.5;p[aa+96>>3]=.5;p[aa+120>>3]=.5;p[aa+144>>3]=.5;p[aa+168>>3]=.5;p[aa+192>>3]=.5;p[aa+216>>3]=.5;p[aa+240>>3]=.5;p[aa+264>>3]=.5;p[aa+288>>3]=.5;p[aa+312>>3]=.5;p[aa+336>>3]=.5;p[aa+360>>3]=.5;p[aa+384>>3]=.5;p[aa+408>>3]=.5;p[aa+432>>3]=.5;p[aa+456>>3]=.5;p[aa+480>>3]=.5;p[aa+504>>3]=.5;p[aa+528>>3]=.5;p[aa+552>>3]=.5;p[aa+576>>3]=.5;p[aa+600>>3]=.5;p[aa+624>>3]=.5;p[aa+648>>3]=.5;p[aa+672>>3]=.5;p[aa+696>>3]=.5;p[aa+720>>3]=.5;p[aa+744>>3]=.5;p[aa+768>>3]=.5;p[aa+792>>3]=.5;h=aa+800|0;m=aa+820|0;n=aa+840|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[aa>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=aa+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)U=1;else{a=0;y=1066}D:do if((y|0)==1066){while(1){y=0;if(!(Qc(aa+8+(a*24|0)|0,b)|0)){U=0;break D}a=a+1|0;if((a|0)>=32)break;else y=1066}if(((Qc(aa+776|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){S=k[e>>2]|0;k[ja>>2]=0;k[ja+4>>2]=0;k[ja+8>>2]=0;k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ga>>2]=S;S=ga+4|0;Q=ja+4|0;R=ja+8|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;k[S+16>>2]=0;k[S+20>>2]=0;k[S+24>>2]=0;k[ka>>2]=0;S=ka+4|0;k[S>>2]=0;k[ka+8>>2]=0;T=ka+8|0;Gc(ka,ga);c=k[S>>2]|0;n=k[ka>>2]|0;a=c-n|0;if((a|0)>32){d=((a>>5)+-2|0)/2|0;e=n+(d<<5)|0;a=c+-32|0;f=k[a>>2]|0;if((k[e>>2]|0)>>>0>>0){g=k[c+-28>>2]|0;h=k[c+-24>>2]|0;m=k[c+-20>>2]|0;c=c+-16|0;k[la>>2]=k[c>>2];k[la+4>>2]=k[c+4>>2];k[la+8>>2]=k[c+8>>2];k[la+12>>2]=k[c+12>>2];c=e;while(1){k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2];k[a+16>>2]=k[c+16>>2];k[a+20>>2]=k[c+20>>2];k[a+24>>2]=k[c+24>>2];k[a+28>>2]=k[c+28>>2];if(!d)break;d=(d+-1|0)/2|0;a=n+(d<<5)|0;if((k[a>>2]|0)>>>0>=f>>>0)break;else{ga=c;c=a;a=ga}}k[c>>2]=f;k[c+4>>2]=g;k[c+8>>2]=h;k[c+12>>2]=m;a=c+16|0;k[a>>2]=k[la>>2];k[a+4>>2]=k[la+4>>2];k[a+8>>2]=k[la+8>>2];k[a+12>>2]=k[la+12>>2];a=0;y=1077}else{a=0;y=1077}}else{d=n;a=0}E:while(1){if((y|0)==1077){d=k[ka>>2]|0;c=k[S>>2]|0}if((d|0)==(c|0)){y=1138;break}P=k[d>>2]|0;q=k[d+4>>2]|0;u=k[d+8>>2]|0;v=k[d+12>>2]|0;ga=d+16|0;k[ea>>2]=k[ga>>2];k[ea+4>>2]=k[ga+4>>2];k[ea+8>>2]=k[ga+8>>2];lc(ka);k[ja>>2]=q;k[Q>>2]=u;k[R>>2]=v;k[ia>>2]=k[ea>>2];k[ia+4>>2]=k[ea+4>>2];k[ia+8>>2]=k[ea+8>>2];k[la>>2]=k[ea>>2];k[la+4>>2]=k[ea+4>>2];k[la+8>>2]=k[ea+8>>2];do if(P>>>0<64){y=(k[la>>2]|0)>>>0>(k[la+4>>2]|0)>>>0&1;y=(k[la+(y<<2)>>2]|0)>>>0>(k[la+8>>2]|0)>>>0?2:y}else{e=aa+836|0;f=k[e>>2]|0;c=32-f|0;g=aa+832|0;h=k[g>>2]|0;d=k[h>>2]<>2]=y;ga=h+4|0;k[g>>2]=ga;y=32-y|0;y=(k[ga>>2]|0)>>>y|d>>>(y-c|0);break}c=d>>>28;ga=f+4|0;k[e>>2]=ga;if((ga|0)!=32){y=c;break}k[g>>2]=h+4;k[e>>2]=0;y=c}while(0);m=ia+(y<<2)|0;n=k[m>>2]|0;c=k[aa>>2]|0;O=c-n|0;F:do if(!O){if((P|0)<=0)break;e=fa+84|0;f=fa+68|0;g=fa+40|0;h=fa+64|0;c=0;m=a;while(1){if(!(i[e>>0]|0))d=k[(k[f>>2]|0)+(m<<2)>>2]|0;else d=m;da=g;ga=k[da>>2]|0;da=Af(d|0,((d|0)<0)<<31>>31|0,ga|0,k[da+4>>2]|0)|0;xe((k[k[h>>2]>>2]|0)+da|0,ja|0,ga|0)|0;c=c+1|0;if((c|0)==(P|0))break;else m=m+1|0}a=P+a|0}else{if(!P){y=1092;break E}if(P>>>0<3){t=(y|0)==2?0:y+1|0;v=(t|0)==2?0:t+1|0;N=c-(k[ia+(t<<2)>>2]|0)|0;C=c-(k[ia+(v<<2)>>2]|0)|0;D=aa+816|0;E=aa+812|0;F=fa+84|0;G=fa+68|0;H=fa+40|0;I=fa+64|0;J=la+(y<<2)|0;K=(O|0)<33;M=(O|0)>0;n=ja+(y<<2)|0;q=(N|0)==0;h=la+(t<<2)|0;t=ja+(t<<2)|0;u=(C|0)==0;m=la+(v<<2)|0;v=ja+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(N|0)<33;b=(N|0)>0;A=32-N|0;B=32-O|0;g=0;c=a;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!K){y=1097;break E}if(!M){y=1099;break E}e=k[D>>2]|0;a=32-e|0;f=k[E>>2]|0;d=k[f>>2]<(a|0)){ga=O-a|0;k[D>>2]=ga;f=f+4|0;k[E>>2]=f;da=32-ga|0;a=(k[f>>2]|0)>>>da|d>>>(da-a|0);k[J>>2]=a;d=ga}else{a=d>>>B;k[J>>2]=a;d=e+O|0;k[D>>2]=d;if((d|0)!=32)break;f=f+4|0;k[E>>2]=f;k[D>>2]=0;d=0}while(0);k[J>>2]=a|k[n>>2];do if(q)a=k[h>>2]|0;else{if(!z){y=1097;break E}if(!b){y=1099;break E}a=32-d|0;e=k[f>>2]<(a|0)){d=N-a|0;k[D>>2]=d;f=f+4|0;k[E>>2]=f;ga=32-d|0;a=(k[f>>2]|0)>>>ga|e>>>(ga-a|0);k[h>>2]=a;break}a=e>>>A;k[h>>2]=a;d=d+N|0;k[D>>2]=d;if((d|0)!=32)break;f=f+4|0;k[E>>2]=f;k[D>>2]=0;d=0}while(0);k[h>>2]=a|k[t>>2];do if(u)a=k[m>>2]|0;else{if(!w){y=1097;break E}if(!x){y=1099;break E}a=32-d|0;e=k[f>>2]<(a|0)){ga=C-a|0;k[D>>2]=ga;da=f+4|0;k[E>>2]=da;ga=32-ga|0;a=(k[da>>2]|0)>>>ga|e>>>(ga-a|0);k[m>>2]=a;break}a=e>>>y;k[m>>2]=a;ga=d+C|0;k[D>>2]=ga;if((ga|0)!=32)break;k[E>>2]=f+4;k[D>>2]=0}while(0);k[m>>2]=a|k[v>>2];a=c+1|0;if(!(i[F>>0]|0))c=k[(k[G>>2]|0)+(c<<2)>>2]|0;da=H;ga=k[da>>2]|0;da=Af(c|0,((c|0)<0)<<31>>31|0,ga|0,k[da+4>>2]|0)|0;xe((k[k[I>>2]>>2]|0)+da|0,la|0,ga|0)|0;g=g+1|0;if(g>>>0>=P>>>0)break F;else c=a}}k[ha>>2]=q;w=ha+4|0;k[w>>2]=u;x=ha+8|0;k[x>>2]=v;e=ha+(y<<2)|0;k[e>>2]=(k[e>>2]|0)+(1<>>1)-c|0;f=P-h|0;if((h|0)==(f|0)){e=h;t=h}else{c=aa+856|0;ga=k[c>>2]|0;d=aa+852|0;e=k[d>>2]|0;g=(k[e>>2]&1<<31-ga|0)!=0;ga=ga+1|0;k[c>>2]=ga;if((ga|0)==32){k[d>>2]=e+4;k[c>>2]=0}e=g?h:f;t=g?f:h}k[m>>2]=n+1;if(e|0){k[ma>>2]=e;k[ma+4>>2]=q;k[ma+8>>2]=u;k[ma+12>>2]=v;c=ma+16|0;k[c>>2]=k[ia>>2];k[c+4>>2]=k[ia+4>>2];k[c+8>>2]=k[ia+8>>2];k[ma+28>>2]=y;d=k[S>>2]|0;if(d>>>0<(k[T>>2]|0)>>>0){k[d>>2]=e;k[d+4>>2]=q;k[d+8>>2]=u;k[d+12>>2]=v;e=d+16|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];k[e+12>>2]=k[c+12>>2];e=d+32|0;k[S>>2]=e}else{Gc(ka,ma);e=k[S>>2]|0}d=k[ka>>2]|0;c=e-d|0;do if((c|0)>32){f=((c>>5)+-2|0)/2|0;g=d+(f<<5)|0;c=e+-32|0;h=k[c>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;m=k[e+-28>>2]|0;n=k[e+-24>>2]|0;q=k[e+-20>>2]|0;e=e+-16|0;k[la>>2]=k[e>>2];k[la+4>>2]=k[e+4>>2];k[la+8>>2]=k[e+8>>2];k[la+12>>2]=k[e+12>>2];e=g;while(1){k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[c+12>>2]=k[e+12>>2];k[c+16>>2]=k[e+16>>2];k[c+20>>2]=k[e+20>>2];k[c+24>>2]=k[e+24>>2];k[c+28>>2]=k[e+28>>2];if(!f)break;f=(f+-1|0)/2|0;c=d+(f<<5)|0;if((k[c>>2]|0)>>>0>=h>>>0)break;else{ga=e;e=c;c=ga}}k[e>>2]=h;k[e+4>>2]=m;k[e+8>>2]=n;k[e+12>>2]=q;ga=e+16|0;k[ga>>2]=k[la>>2];k[ga+4>>2]=k[la+4>>2];k[ga+8>>2]=k[la+8>>2];k[ga+12>>2]=k[la+12>>2]}while(0)}if(t|0){k[ma>>2]=t;g=k[ha>>2]|0;k[ma+4>>2]=g;f=k[w>>2]|0;k[ma+8>>2]=f;e=k[x>>2]|0;k[ma+12>>2]=e;d=ma+16|0;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ma+28>>2]=y;c=k[S>>2]|0;if(c>>>0<(k[T>>2]|0)>>>0){k[c>>2]=t;k[c+4>>2]=g;k[c+8>>2]=f;k[c+12>>2]=e;e=c+16|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[e+12>>2]=k[d+12>>2];e=c+32|0;k[S>>2]=e}else{Gc(ka,ma);e=k[S>>2]|0}d=k[ka>>2]|0;c=e-d|0;do if((c|0)>32){f=((c>>5)+-2|0)/2|0;g=d+(f<<5)|0;c=e+-32|0;h=k[c>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;m=k[e+-28>>2]|0;n=k[e+-24>>2]|0;q=k[e+-20>>2]|0;e=e+-16|0;k[la>>2]=k[e>>2];k[la+4>>2]=k[e+4>>2];k[la+8>>2]=k[e+8>>2];k[la+12>>2]=k[e+12>>2];e=g;while(1){k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[c+12>>2]=k[e+12>>2];k[c+16>>2]=k[e+16>>2];k[c+20>>2]=k[e+20>>2];k[c+24>>2]=k[e+24>>2];k[c+28>>2]=k[e+28>>2];if(!f)break;f=(f+-1|0)/2|0;c=d+(f<<5)|0;if((k[c>>2]|0)>>>0>=h>>>0)break;else{ga=e;e=c;c=ga}}k[e>>2]=h;k[e+4>>2]=m;k[e+8>>2]=n;k[e+12>>2]=q;ga=e+16|0;k[ga>>2]=k[la>>2];k[ga+4>>2]=k[la+4>>2];k[ga+8>>2]=k[la+8>>2];k[ga+12>>2]=k[la+12>>2]}while(0)}}while(0);y=1077}if((y|0)==1092)Ba(9865,9903,231,9973);else if((y|0)==1097)Ba(9986,10010,111,10037);else if((y|0)==1099)Ba(10066,10010,112,10037);else if((y|0)==1138){if(d|0)gb(d);U=1;break}}else U=0}while(0);d=k[aa+840>>2]|0;e=aa+844|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+856>>2]=0;k[aa+852>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+820>>2]|0;e=aa+824|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+836>>2]=0;k[aa+832>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+800>>2]|0;e=aa+804|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+816>>2]=0;k[aa+812>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(U)a=1;else break c;r=na;return a|0}default:break c}while(0)}while(0);ma=0;r=na;return ma|0}default:{ma=0;r=na;return ma|0}}return 0}function Ta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=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,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,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=r;r=r+1872|0;ha=ka+1808|0;ca=ka+1832|0;da=ka+1792|0;ea=ka+1776|0;ia=ka+912|0;fa=ka+896|0;ga=ka+880|0;aa=ka+864|0;Z=ka;f=b+8|0;V=f;$=k[V>>2]|0;V=k[V+4>>2]|0;q=b+16|0;ja=q;d=k[ja>>2]|0;ja=Yf(d|0,k[ja+4>>2]|0,4,0)|0;W=L;if((V|0)<(W|0)|(V|0)==(W|0)&$>>>0>>0){c=0;r=ka;return c|0}ja=(k[b>>2]|0)+d|0;ja=l[ja>>0]|l[ja+1>>0]<<8|l[ja+2>>0]<<16|l[ja+3>>0]<<24;i[a>>0]=ja;i[a+1>>0]=ja>>8;i[a+2>>0]=ja>>16;i[a+3>>0]=ja>>24;ja=q;W=k[ja>>2]|0;ja=k[ja+4>>2]|0;d=Yf(W|0,ja|0,4,0)|0;V=q;k[V>>2]=d;k[V+4>>2]=L;V=f;$=k[V>>2]|0;V=k[V+4>>2]|0;ja=Yf(W|0,ja|0,8,0)|0;W=L;if((V|0)<(W|0)|(V|0)==(W|0)&$>>>0>>0){c=0;r=ka;return c|0}$=a+4|0;V=(k[b>>2]|0)+d|0;V=l[V>>0]|l[V+1>>0]<<8|l[V+2>>0]<<16|l[V+3>>0]<<24;i[$>>0]=V;i[$+1>>0]=V>>8;i[$+2>>0]=V>>16;i[$+3>>0]=V>>24;$=q;V=k[$>>2]|0;$=k[$+4>>2]|0;d=Yf(V|0,$|0,4,0)|0;ja=q;k[ja>>2]=d;k[ja+4>>2]=L;ja=a+8|0;U=f;W=k[U>>2]|0;U=k[U+4>>2]|0;$=Yf(V|0,$|0,8,0)|0;V=L;if((U|0)<(V|0)|(U|0)==(V|0)&W>>>0<$>>>0){c=0;r=ka;return c|0}e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[ja>>0]=e;i[ja+1>>0]=e>>8;i[ja+2>>0]=e>>16;i[ja+3>>0]=e>>24;$=q;V=k[$>>2]|0;$=k[$+4>>2]|0;d=Yf(V|0,$|0,4,0)|0;U=q;k[U>>2]=d;k[U+4>>2]=L;U=f;W=k[U>>2]|0;U=k[U+4>>2]|0;$=Yf(V|0,$|0,8,0)|0;V=L;if((U|0)<(V|0)|(U|0)==(V|0)&W>>>0<$>>>0){c=0;r=ka;return c|0}W=a+12|0;d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[W>>0]=d;i[W+1>>0]=d>>8;i[W+2>>0]=d>>16;i[W+3>>0]=d>>24;W=q;W=Yf(k[W>>2]|0,k[W+4>>2]|0,4,0)|0;$=q;k[$>>2]=W;k[$+4>>2]=L;a:do if(e|0)do switch(d|0){case 0:{Nd(c,e);k[ia>>2]=0;j=ia+8|0;m=ia+28|0;n=ia+48|0;o=ia+68|0;d=j;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0))s=11;if(((((s|0)==11?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(o,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;T=ea+4|0;U=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;V=ha+8|0;W=ha+4|0;X=ha+16|0;Y=ha+20|0;db(ha);d=k[W>>2]|0;f=k[V>>2]|0;e=(k[Y>>2]|0)+(k[X>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[Y>>2]|0)+1|0;k[Y>>2]=d;b:do if(d|0){G=ia+44|0;H=ia+40|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+24|0;O=ia+20|0;P=ia+84|0;Q=ia+80|0;R=c+4|0;S=c+8|0;e=f;c:while(1){$=k[X>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[W>>2]|0;E=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[E+(a<<5)>>2]|0;o=k[E+(a<<5)+4>>2]|0;q=k[E+(a<<5)+8>>2]|0;b=k[E+(a<<5)+12>>2]|0;D=E+(a<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];a=k[E+(a<<5)+28>>2]|0;k[Y>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[V>>2]|0)+-4|0;k[V>>2]=e}k[ea>>2]=o;k[T>>2]=q;k[U>>2]=b;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];s=(a|0)==2?0:a+1|0;j=da+(s<<2)|0;m=k[j>>2]|0;d=k[ia>>2]|0;E=d-m|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[T>>2];k[e+8>>2]=k[U>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=28;break c}if(F>>>0>=3){k[ca>>2]=o;k[K>>2]=q;k[M>>2]=b;f=ca+(s<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){s=45;break c}if(!f){s=47;break c}g=k[N>>2]|0;d=32-g|0;h=k[O>>2]|0;a=k[h>>2]<(d|0)){aa=f-d|0;k[N>>2]=aa;$=h+4|0;k[O>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0)}else{d=a>>>(32-f|0);aa=g+f|0;k[N>>2]=aa;if((aa|0)!=32)break;k[O>>2]=h+4;k[N>>2]=0}while(0);g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;n=g}else{aa=k[P>>2]|0;d=k[Q>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[P>>2]=aa;if((aa|0)==32){k[Q>>2]=d+4;k[P>>2]=0}h=f?g:a;n=f?a:g}k[j>>2]=m+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[W>>2]|0;aa=e-f|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);e=k[V>>2]|0;d=k[X>>2]|0;a=k[Y>>2]|0;g=e;f=k[W>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=o;k[d+8>>2]=q;k[d+12>>2]=b;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=s;k[Y>>2]=(k[Y>>2]|0)+1}if(n|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[W>>2]|0;aa=e-f|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[X>>2]|0;a=k[Y>>2]|0;e=k[V>>2]|0;f=k[W>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=n;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=s;k[Y>>2]=(k[Y>>2]|0)+1}break}o=(s|0)==2?0:s+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(s<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(s<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=34;break c}if(!C){s=36;break c}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=34;break c}if(!w){s=36;break c}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=34;break c}if(!t){s=36;break c}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[Y>>2]|0;if(!d)break b;e=k[V>>2]|0}if((s|0)==28)Ba(9865,9903,231,9973);else if((s|0)==34)Ba(9986,10010,111,10037);else if((s|0)==36)Ba(10066,10010,112,10037);else if((s|0)==45)Ba(9986,10010,111,10037);else if((s|0)==47)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[ia+68>>2]|0;f=ia+72|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+84>>2]=0;k[ia+80>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+48>>2]|0;f=ia+52|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+64>>2]=0;k[ia+60>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+28>>2]|0;f=ia+32|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+44>>2]=0;k[ia+40>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+8>>2]|0;f=ia+12|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+24>>2]=0;k[ia+20>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 1:{Nd(c,e);k[ia>>2]=0;j=ia+8|0;m=ia+28|0;n=ia+48|0;o=ia+68|0;d=j;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0))s=116;if(((((s|0)==116?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(o,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;T=ea+4|0;U=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;V=ha+8|0;W=ha+4|0;X=ha+16|0;Y=ha+20|0;db(ha);d=k[W>>2]|0;f=k[V>>2]|0;e=(k[Y>>2]|0)+(k[X>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[Y>>2]|0)+1|0;k[Y>>2]=d;d:do if(d|0){G=ia+44|0;H=ia+40|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+24|0;O=ia+20|0;P=ia+84|0;Q=ia+80|0;R=c+4|0;S=c+8|0;e=f;e:while(1){$=k[X>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[W>>2]|0;E=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[E+(a<<5)>>2]|0;q=k[E+(a<<5)+4>>2]|0;b=k[E+(a<<5)+8>>2]|0;s=k[E+(a<<5)+12>>2]|0;D=E+(a<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];a=k[E+(a<<5)+28>>2]|0;k[Y>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[V>>2]|0)+-4|0;k[V>>2]=e}k[ea>>2]=q;k[T>>2]=b;k[U>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];t=(a|0)==2?0:a+1|0;m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[T>>2];k[e+8>>2]=k[U>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=133;break e}if(F>>>0>=3){k[ca>>2]=q;k[K>>2]=b;k[M>>2]=s;f=ca+(t<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){s=150;break e}if(!f){s=152;break e}g=k[N>>2]|0;d=32-g|0;h=k[O>>2]|0;a=k[h>>2]<(d|0)){aa=f-d|0;k[N>>2]=aa;$=h+4|0;k[O>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0)}else{d=a>>>(32-f|0);aa=g+f|0;k[N>>2]=aa;if((aa|0)!=32)break;k[O>>2]=h+4;k[N>>2]=0}while(0);g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){j=g;o=g}else{aa=k[P>>2]|0;d=k[Q>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[P>>2]=aa;if((aa|0)==32){k[Q>>2]=d+4;k[P>>2]=0}j=f?g:a;o=f?a:g}k[m>>2]=n+1;if(j){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[W>>2]|0;aa=e-g|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);f=k[V>>2]|0;h=f;d=k[X>>2]|0;a=k[Y>>2]|0;e=k[W>>2]|0}else{h=e;f=e;e=g}d=a+d|0;if((f|0)==(e|0))d=0;else d=(k[e+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;e=d+16|0;k[e>>2]=k[ga>>2];k[e+4>>2]=k[ga+4>>2];k[e+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[Y>>2]=(k[Y>>2]|0)+1;e=h}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[W>>2]|0;aa=e-f|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[X>>2]|0;a=k[Y>>2]|0;e=k[V>>2]|0;f=k[W>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[Y>>2]=(k[Y>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=139;break e}if(!C){s=141;break e}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=139;break e}if(!w){s=141;break e}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=139;break e}if(!t){s=141;break e}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[Y>>2]|0;if(!d)break d;e=k[V>>2]|0}if((s|0)==133)Ba(9865,9903,231,9973);else if((s|0)==139)Ba(9986,10010,111,10037);else if((s|0)==141)Ba(10066,10010,112,10037);else if((s|0)==150)Ba(9986,10010,111,10037);else if((s|0)==152)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[ia+68>>2]|0;f=ia+72|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+84>>2]=0;k[ia+80>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+48>>2]|0;f=ia+52|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+64>>2]=0;k[ia+60>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+28>>2]|0;f=ia+32|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+44>>2]=0;k[ia+40>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+8>>2]|0;f=ia+12|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+24>>2]=0;k[ia+20>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 2:{Nd(c,e);k[Z>>2]=0;i[Z+20>>0]=0;j=Z+24|0;m=Z+44|0;n=Z+64|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)a=e;else{d=(k[b>>2]|0)+e|0;k[Z>>2]=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;d=q;k[d>>2]=a;k[d+4>>2]=f;d=f}f=Z+4|0;d=Yf(a|0,d|0,4,0)|0;e=L;if(!(!((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0)?($=(k[b>>2]|0)+a|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Y=q,k[Y>>2]=d,k[Y+4>>2]=e,!($|0)):0))s=221;if(((((s|0)==221?(X=Z+8|0,Dc(X,b)|0):0)?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ia+4|0;S=ia+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;f:do if(d|0){G=Z+40|0;H=Z+36|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=Z+80|0;O=Z+76|0;P=c+4|0;Q=c+8|0;a=f;g:while(1){$=k[V>>2]|0;Y=d+-1|0;e=Y+$|0;aa=k[U>>2]|0;E=k[aa+(e>>>7<<2)>>2]|0;e=e&127;F=k[E+(e<<5)>>2]|0;m=k[E+(e<<5)+4>>2]|0;n=k[E+(e<<5)+8>>2]|0;o=k[E+(e<<5)+12>>2]|0;D=E+(e<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];e=k[E+(e<<5)+28>>2]|0;k[W>>2]=Y;aa=a-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[a+-4>>2]|0);k[T>>2]=(k[T>>2]|0)+-4}k[ia>>2]=m;k[R>>2]=n;k[S>>2]=o;k[ea>>2]=k[fa>>2];k[ea+4>>2]=k[fa+4>>2];k[ea+8>>2]=k[fa+8>>2];b=(e|0)==2?0:e+1|0;g=ea+(b<<2)|0;h=k[g>>2]|0;d=k[Z>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ia);else{k[e>>2]=k[ia>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=238;break g}if(F>>>0>=3){k[ca>>2]=m;k[K>>2]=n;k[M>>2]=o;f=ca+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de(X,f,da);f=(F>>>1)-(k[da>>2]|0)|0;e=F-f|0;if((f|0)==(e|0)){j=f;q=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;q=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=m;k[d+8>>2]=n;k[d+12>>2]=o;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}if(q|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=q;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[ea+(o<<2)>>2]|0)|0;z=d-(k[ea+(s<<2)>>2]|0)|0;A=ca+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ia+(b<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ia+(o<<2)|0;q=(z|0)==0;j=ca+(s<<2)|0;b=ia+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=244;break g}if(!C){s=246;break g}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=244;break g}if(!w){s=246;break g}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=244;break g}if(!t){s=246;break g}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break f;a=k[T>>2]|0}if((s|0)==238)Ba(9865,9903,231,9973);else if((s|0)==244)Ba(9986,10010,111,10037);else if((s|0)==246)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[Z+64>>2]|0;f=Z+68|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+80>>2]=0;k[Z+76>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+44>>2]|0;f=Z+48|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+60>>2]=0;k[Z+56>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+24>>2]|0;f=Z+28|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+40>>2]=0;k[Z+36>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 3:{Nd(c,e);k[Z>>2]=0;i[Z+20>>0]=0;j=Z+24|0;m=Z+44|0;n=Z+64|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[Z>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=Z+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,X=q,k[X>>2]=d,k[X+4>>2]=a,!($|0)):0))s=312;if(((((s|0)==312?(Y=Z+8|0,Dc(Y,b)|0):0)?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ia+4|0;S=ia+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;h:do if(d|0){G=Z+40|0;H=Z+36|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=Z+80|0;O=Z+76|0;P=c+4|0;Q=c+8|0;a=f;i:while(1){$=k[V>>2]|0;X=d+-1|0;e=X+$|0;aa=k[U>>2]|0;E=k[aa+(e>>>7<<2)>>2]|0;e=e&127;F=k[E+(e<<5)>>2]|0;m=k[E+(e<<5)+4>>2]|0;n=k[E+(e<<5)+8>>2]|0;o=k[E+(e<<5)+12>>2]|0;D=E+(e<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];e=k[E+(e<<5)+28>>2]|0;k[W>>2]=X;aa=a-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[a+-4>>2]|0);k[T>>2]=(k[T>>2]|0)+-4}k[ia>>2]=m;k[R>>2]=n;k[S>>2]=o;k[ea>>2]=k[fa>>2];k[ea+4>>2]=k[fa+4>>2];k[ea+8>>2]=k[fa+8>>2];b=(e|0)==2?0:e+1|0;g=ea+(b<<2)|0;h=k[g>>2]|0;d=k[Z>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ia);else{k[e>>2]=k[ia>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=329;break i}if(F>>>0>=3){k[ca>>2]=m;k[K>>2]=n;k[M>>2]=o;f=ca+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de(Y,f,da);f=(F>>>1)-(k[da>>2]|0)|0;e=F-f|0;if((f|0)==(e|0)){j=f;q=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;q=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=m;k[d+8>>2]=n;k[d+12>>2]=o;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}if(q|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=q;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[ea+(o<<2)>>2]|0)|0;z=d-(k[ea+(s<<2)>>2]|0)|0;A=ca+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ia+(b<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ia+(o<<2)|0;q=(z|0)==0;j=ca+(s<<2)|0;b=ia+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=335;break i}if(!C){s=337;break i}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=335;break i}if(!w){s=337;break i}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=335;break i}if(!t){s=337;break i}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break h;a=k[T>>2]|0}if((s|0)==329)Ba(9865,9903,231,9973);else if((s|0)==335)Ba(9986,10010,111,10037);else if((s|0)==337)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[Z+64>>2]|0;f=Z+68|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+80>>2]=0;k[Z+76>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+44>>2]|0;f=Z+48|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+60>>2]=0;k[Z+56>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+24>>2]|0;f=Z+28|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+40>>2]=0;k[Z+36>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 4:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=404}j:do if((s|0)==404){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break j;d=d+1|0;if((d|0)>=32)break;else s=404}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ea+4|0;S=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;k:do if(d|0){G=ia+552|0;H=ia+548|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+592|0;O=ia+588|0;P=c+4|0;Q=c+8|0;e=f;l:while(1){$=k[V>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[U>>2]|0;Y=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[Y+(a<<5)>>2]|0;q=k[Y+(a<<5)+4>>2]|0;b=k[Y+(a<<5)+8>>2]|0;s=k[Y+(a<<5)+12>>2]|0;X=Y+(a<<5)+16|0;k[fa>>2]=k[X>>2];k[fa+4>>2]=k[X+4>>2];k[fa+8>>2]=k[X+8>>2];a=k[Y+(a<<5)+28>>2]|0;k[W>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[T>>2]|0)+-4|0;k[T>>2]=e}k[ea>>2]=q;k[R>>2]=b;k[S>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];t=(a|0)==2?0:a+1|0;m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=422;break l}if(F>>>0>=3){k[ca>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ca+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){$=ia+8+(h<<4)+4|0;aa=(k[$>>2]|0)+-1|0;k[$>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}Y=a&255;Z=0-f&255;$=_(a>>>8,Z)|0;aa=Y>>>0>>0;k[g>>2]=aa?$+Y|0:a-Z-$|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);e=k[T>>2]|0;d=k[V>>2]|0;a=k[W>>2]|0;g=e;f=k[U>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[V>>2]|0;a=k[W>>2]|0;e=k[T>>2]|0;f=k[U>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=428;break l}if(!C){s=430;break l}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=428;break l}if(!w){s=430;break l}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=428;break l}if(!t){s=430;break l}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break k;e=k[T>>2]|0}if((s|0)==422)Ba(9865,9903,231,9973);else if((s|0)==428)Ba(9986,10010,111,10037);else if((s|0)==430)Ba(10066,10010,112,10037)}while(0);kd(ha)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 5:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=501}m:do if((s|0)==501){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break m;d=d+1|0;if((d|0)>=32)break;else s=501}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ea+4|0;S=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;n:do if(d|0){G=ia+552|0;H=ia+548|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+592|0;O=ia+588|0;P=c+4|0;Q=c+8|0;e=f;o:while(1){$=k[V>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[U>>2]|0;Y=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[Y+(a<<5)>>2]|0;q=k[Y+(a<<5)+4>>2]|0;b=k[Y+(a<<5)+8>>2]|0;s=k[Y+(a<<5)+12>>2]|0;X=Y+(a<<5)+16|0;k[fa>>2]=k[X>>2];k[fa+4>>2]=k[X+4>>2];k[fa+8>>2]=k[X+8>>2];a=k[Y+(a<<5)+28>>2]|0;k[W>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[T>>2]|0)+-4|0;k[T>>2]=e}k[ea>>2]=q;k[R>>2]=b;k[S>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];t=(a|0)==2?0:a+1|0;m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=519;break o}if(F>>>0>=3){k[ca>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ca+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){$=ia+8+(h<<4)+4|0;aa=(k[$>>2]|0)+-1|0;k[$>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}Y=a&255;Z=0-f&255;$=_(a>>>8,Z)|0;aa=Y>>>0>>0;k[g>>2]=aa?$+Y|0:a-Z-$|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);e=k[T>>2]|0;d=k[V>>2]|0;a=k[W>>2]|0;g=e;f=k[U>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[V>>2]|0;a=k[W>>2]|0;e=k[T>>2]|0;f=k[U>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=525;break o}if(!C){s=527;break o}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=525;break o}if(!w){s=527;break o}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=525;break o}if(!t){s=527;break o}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break n;e=k[T>>2]|0}if((s|0)==519)Ba(9865,9903,231,9973);else if((s|0)==525)Ba(9986,10010,111,10037);else if((s|0)==527)Ba(10066,10010,112,10037)}while(0);kd(ha)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 6:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=598}p:do if((s|0)==598){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break p;d=d+1|0;if((d|0)>=32)break;else s=598}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;f=k[X>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;q:do if(d|0){G=ia+552|0;H=ia+548|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+592|0;O=ia+588|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+572|0;U=ia+568|0;e=f;r:while(1){E=k[Z>>2]|0;D=d+-1|0;C=D+E|0;aa=k[Y>>2]|0;B=k[aa+(C>>>7<<2)>>2]|0;C=C&127;F=k[B+(C<<5)>>2]|0;q=k[B+(C<<5)+4>>2]|0;b=k[B+(C<<5)+8>>2]|0;s=k[B+(C<<5)+12>>2]|0;C=B+(C<<5)+16|0;k[fa>>2]=k[C>>2];k[fa+4>>2]=k[C+4>>2];k[fa+8>>2]=k[C+8>>2];k[$>>2]=D;aa=e-aa|0;if((1-d-E+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[X>>2]|0)+-4|0;k[X>>2]=e}k[ea>>2]=q;k[V>>2]=b;k[W>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){t=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;t=(k[ha+(t<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:t}else{f=k[T>>2]|0;d=32-f|0;g=k[U>>2]|0;a=k[g>>2]<>2]=t;aa=g+4|0;k[U>>2]=aa;t=32-t|0;t=(k[aa>>2]|0)>>>t|a>>>(t-d|0);break}d=a>>>28;aa=f+4|0;k[T>>2]=aa;if((aa|0)!=32){t=d;break}k[U>>2]=g+4;k[T>>2]=0;t=d}while(0);m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=622;break r}if(F>>>0>=3){k[ha>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ha+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){E=ia+8+(h<<4)+4|0;aa=(k[E>>2]|0)+-1|0;k[E>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}C=a&255;D=0-f&255;E=_(a>>>8,D)|0;aa=C>>>0>>0;k[g>>2]=aa?E+C|0:a-D-E|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);e=k[X>>2]|0;d=k[Z>>2]|0;a=k[$>>2]|0;g=e;f=k[Y>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);d=k[Z>>2]|0;a=k[$>>2]|0;e=k[X>>2]|0;f=k[Y>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ha+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=628;break r}if(!C){s=630;break r}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=628;break r}if(!w){s=630;break r}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=628;break r}if(!t){s=630;break r}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break q;e=k[X>>2]|0}if((s|0)==622)Ba(9865,9903,231,9973);else if((s|0)==628)Ba(9986,10010,111,10037);else if((s|0)==630)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 7:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=701}s:do if((s|0)==701){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break s;d=d+1|0;if((d|0)>=32)break;else s=701}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;f=k[X>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;t:do if(d|0){G=ia+552|0;H=ia+548|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+592|0;O=ia+588|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+572|0;U=ia+568|0;e=f;u:while(1){E=k[Z>>2]|0;D=d+-1|0;C=D+E|0;aa=k[Y>>2]|0;B=k[aa+(C>>>7<<2)>>2]|0;C=C&127;F=k[B+(C<<5)>>2]|0;q=k[B+(C<<5)+4>>2]|0;b=k[B+(C<<5)+8>>2]|0;s=k[B+(C<<5)+12>>2]|0;C=B+(C<<5)+16|0;k[fa>>2]=k[C>>2];k[fa+4>>2]=k[C+4>>2];k[fa+8>>2]=k[C+8>>2];k[$>>2]=D;aa=e-aa|0;if((1-d-E+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[X>>2]|0)+-4|0;k[X>>2]=e}k[ea>>2]=q;k[V>>2]=b;k[W>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){t=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;t=(k[ha+(t<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:t}else{f=k[T>>2]|0;d=32-f|0;g=k[U>>2]|0;a=k[g>>2]<>2]=t;aa=g+4|0;k[U>>2]=aa;t=32-t|0;t=(k[aa>>2]|0)>>>t|a>>>(t-d|0);break}d=a>>>28;aa=f+4|0;k[T>>2]=aa;if((aa|0)!=32){t=d;break}k[U>>2]=g+4;k[T>>2]=0;t=d}while(0);m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=725;break u}if(F>>>0>=3){k[ha>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ha+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){E=ia+8+(h<<4)+4|0;aa=(k[E>>2]|0)+-1|0;k[E>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}C=a&255;D=0-f&255;E=_(a>>>8,D)|0;aa=C>>>0>>0;k[g>>2]=aa?E+C|0:a-D-E|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);e=k[X>>2]|0;d=k[Z>>2]|0;a=k[$>>2]|0;g=e;f=k[Y>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);d=k[Z>>2]|0;a=k[$>>2]|0;e=k[X>>2]|0;f=k[Y>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ha+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=731;break u}if(!C){s=733;break u}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=731;break u}if(!w){s=733;break u}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=731;break u}if(!t){s=733;break u}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break t;e=k[X>>2]|0}if((s|0)==725)Ba(9865,9903,231,9973);else if((s|0)==731)Ba(9986,10010,111,10037);else if((s|0)==733)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 8:{Nd(c,e);k[ia>>2]=0;p[ia+24>>3]=.5;p[ia+48>>3]=.5;p[ia+72>>3]=.5;p[ia+96>>3]=.5;p[ia+120>>3]=.5;p[ia+144>>3]=.5;p[ia+168>>3]=.5;p[ia+192>>3]=.5;p[ia+216>>3]=.5;p[ia+240>>3]=.5;p[ia+264>>3]=.5;p[ia+288>>3]=.5;p[ia+312>>3]=.5;p[ia+336>>3]=.5;p[ia+360>>3]=.5;p[ia+384>>3]=.5;p[ia+408>>3]=.5;p[ia+432>>3]=.5;p[ia+456>>3]=.5;p[ia+480>>3]=.5;p[ia+504>>3]=.5;p[ia+528>>3]=.5;p[ia+552>>3]=.5;p[ia+576>>3]=.5;p[ia+600>>3]=.5;p[ia+624>>3]=.5;p[ia+648>>3]=.5;p[ia+672>>3]=.5;p[ia+696>>3]=.5;p[ia+720>>3]=.5;p[ia+744>>3]=.5;p[ia+768>>3]=.5;p[ia+792>>3]=.5;j=ia+800|0;m=ia+820|0;n=ia+840|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=804}v:do if((s|0)==804){while(1){if(!(Qc(ia+8+(d*24|0)|0,b)|0))break v;d=d+1|0;if((d|0)>=32)break;else s=804}if(((Qc(ia+776|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((k[X>>2]|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;w:do if(d|0){G=ia+816|0;H=ia+812|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+856|0;O=ia+852|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+836|0;U=ia+832|0;x:while(1){e=k[Y>>2]|0;aa=k[Z>>2]|0;D=k[e+(aa>>>7<<2)>>2]|0;E=aa&127;F=k[D+(E<<5)>>2]|0;n=k[D+(E<<5)+4>>2]|0;o=k[D+(E<<5)+8>>2]|0;q=k[D+(E<<5)+12>>2]|0;E=D+(E<<5)+16|0;k[fa>>2]=k[E>>2];k[fa+4>>2]=k[E+4>>2];k[fa+8>>2]=k[E+8>>2];k[$>>2]=d+-1;aa=aa+1|0;k[Z>>2]=aa;if(aa>>>0>255){gb(k[e>>2]|0);k[Y>>2]=(k[Y>>2]|0)+4;k[Z>>2]=(k[Z>>2]|0)+-128}k[ea>>2]=n;k[V>>2]=o;k[W>>2]=q;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){b=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;b=(k[ha+(b<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:b}else{a=k[T>>2]|0;d=32-a|0;f=k[U>>2]|0;e=k[f>>2]<>2]=b;aa=f+4|0;k[U>>2]=aa;b=32-b|0;b=(k[aa>>2]|0)>>>b|e>>>(b-d|0);break}d=e>>>28;aa=a+4|0;k[T>>2]=aa;if((aa|0)!=32){b=d;break}k[U>>2]=f+4;k[T>>2]=0;b=d}while(0);g=da+(b<<2)|0;h=k[g>>2]|0;d=k[ia>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=828;break x}if(F>>>0>=3){k[ha>>2]=n;k[K>>2]=o;k[M>>2]=q;a=ha+(b<<2)|0;k[a>>2]=(k[a>>2]|0)+(1<>>1)-d|0;e=F-f|0;if((f|0)==(e|0)){j=f;m=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;m=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=o;k[d+12>>2]=q;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}if(m|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=m;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(s<<2)>>2]|0)|0;A=ha+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(b<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(s<<2)|0;b=ea+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=834;break x}if(!C){s=836;break x}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=834;break x}if(!w){s=836;break x}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=834;break x}if(!t){s=836;break x}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break w}if((s|0)==828)Ba(9865,9903,231,9973);else if((s|0)==834)Ba(9986,10010,111,10037);else if((s|0)==836)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+840>>2]|0;f=ia+844|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+856>>2]=0;k[ia+852>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+820>>2]|0;f=ia+824|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+836>>2]=0;k[ia+832>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+800>>2]|0;f=ia+804|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+816>>2]=0;k[ia+812>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 9:{Nd(c,e);k[ia>>2]=0;p[ia+24>>3]=.5;p[ia+48>>3]=.5;p[ia+72>>3]=.5;p[ia+96>>3]=.5;p[ia+120>>3]=.5;p[ia+144>>3]=.5;p[ia+168>>3]=.5;p[ia+192>>3]=.5;p[ia+216>>3]=.5;p[ia+240>>3]=.5;p[ia+264>>3]=.5;p[ia+288>>3]=.5;p[ia+312>>3]=.5;p[ia+336>>3]=.5;p[ia+360>>3]=.5;p[ia+384>>3]=.5;p[ia+408>>3]=.5;p[ia+432>>3]=.5;p[ia+456>>3]=.5;p[ia+480>>3]=.5;p[ia+504>>3]=.5;p[ia+528>>3]=.5;p[ia+552>>3]=.5;p[ia+576>>3]=.5;p[ia+600>>3]=.5;p[ia+624>>3]=.5;p[ia+648>>3]=.5;p[ia+672>>3]=.5;p[ia+696>>3]=.5;p[ia+720>>3]=.5;p[ia+744>>3]=.5;p[ia+768>>3]=.5;p[ia+792>>3]=.5;j=ia+800|0;m=ia+820|0;n=ia+840|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=904}y:do if((s|0)==904){while(1){if(!(Qc(ia+8+(d*24|0)|0,b)|0))break y;d=d+1|0;if((d|0)>=32)break;else s=904}if(((Qc(ia+776|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((k[X>>2]|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;z:do if(d|0){G=ia+816|0;H=ia+812|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+856|0;O=ia+852|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+836|0;U=ia+832|0;A:while(1){e=k[Y>>2]|0;aa=k[Z>>2]|0;D=k[e+(aa>>>7<<2)>>2]|0;E=aa&127;F=k[D+(E<<5)>>2]|0;n=k[D+(E<<5)+4>>2]|0;o=k[D+(E<<5)+8>>2]|0;q=k[D+(E<<5)+12>>2]|0;E=D+(E<<5)+16|0;k[fa>>2]=k[E>>2];k[fa+4>>2]=k[E+4>>2];k[fa+8>>2]=k[E+8>>2];k[$>>2]=d+-1;aa=aa+1|0;k[Z>>2]=aa;if(aa>>>0>255){gb(k[e>>2]|0);k[Y>>2]=(k[Y>>2]|0)+4;k[Z>>2]=(k[Z>>2]|0)+-128}k[ea>>2]=n;k[V>>2]=o;k[W>>2]=q;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){b=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;b=(k[ha+(b<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:b}else{a=k[T>>2]|0;d=32-a|0;f=k[U>>2]|0;e=k[f>>2]<>2]=b;aa=f+4|0;k[U>>2]=aa;b=32-b|0;b=(k[aa>>2]|0)>>>b|e>>>(b-d|0);break}d=e>>>28;aa=a+4|0;k[T>>2]=aa;if((aa|0)!=32){b=d;break}k[U>>2]=f+4;k[T>>2]=0;b=d}while(0);g=da+(b<<2)|0;h=k[g>>2]|0;d=k[ia>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=928;break A}if(F>>>0>=3){k[ha>>2]=n;k[K>>2]=o;k[M>>2]=q;a=ha+(b<<2)|0;k[a>>2]=(k[a>>2]|0)+(1<>>1)-d|0;e=F-f|0;if((f|0)==(e|0)){j=f;m=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;m=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=o;k[d+12>>2]=q;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}if(m|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=m;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(s<<2)>>2]|0)|0;A=ha+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(b<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(s<<2)|0;b=ea+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=934;break A}if(!C){s=936;break A}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=934;break A}if(!w){s=936;break A}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=934;break A}if(!t){s=936;break A}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break z}if((s|0)==928)Ba(9865,9903,231,9973);else if((s|0)==934)Ba(9986,10010,111,10037);else if((s|0)==936)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+840>>2]|0;f=ia+844|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+856>>2]=0;k[ia+852>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+820>>2]|0;f=ia+824|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+836>>2]=0;k[ia+832>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+800>>2]|0;f=ia+804|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+816>>2]=0;k[ia+812>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}default:{Nd(c,e);k[Z>>2]=0;p[Z+24>>3]=.5;p[Z+48>>3]=.5;p[Z+72>>3]=.5;p[Z+96>>3]=.5;p[Z+120>>3]=.5;p[Z+144>>3]=.5;p[Z+168>>3]=.5;p[Z+192>>3]=.5;p[Z+216>>3]=.5;p[Z+240>>3]=.5;p[Z+264>>3]=.5;p[Z+288>>3]=.5;p[Z+312>>3]=.5;p[Z+336>>3]=.5;p[Z+360>>3]=.5;p[Z+384>>3]=.5;p[Z+408>>3]=.5;p[Z+432>>3]=.5;p[Z+456>>3]=.5;p[Z+480>>3]=.5;p[Z+504>>3]=.5;p[Z+528>>3]=.5;p[Z+552>>3]=.5;p[Z+576>>3]=.5;p[Z+600>>3]=.5;p[Z+624>>3]=.5;p[Z+648>>3]=.5;p[Z+672>>3]=.5;p[Z+696>>3]=.5;p[Z+720>>3]=.5;p[Z+744>>3]=.5;p[Z+768>>3]=.5;p[Z+792>>3]=.5;j=Z+800|0;m=Z+820|0;n=Z+840|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[Z>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=Z+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Y=q,k[Y>>2]=d,k[Y+4>>2]=a,!($|0)):0)){d=0;s=1004}B:do if((s|0)==1004){while(1){s=0;if(!(Qc(Z+8+(d*24|0)|0,b)|0))break B;d=d+1|0;if((d|0)>=32)break;else s=1004}if(((Qc(Z+776|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){P=k[f>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[ca>>2]=P;P=ca+4|0;N=ga+4|0;O=ga+8|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;k[P+24>>2]=0;k[da>>2]=0;P=da+4|0;k[P>>2]=0;k[da+8>>2]=0;Q=da+8|0;Gc(da,ca);d=k[P>>2]|0;n=k[da>>2]|0;e=d-n|0;if((e|0)>32){a=((e>>5)+-2|0)/2|0;e=n+(a<<5)|0;f=d+-32|0;g=k[f>>2]|0;if((k[e>>2]|0)>>>0>>0){h=k[d+-28>>2]|0;j=k[d+-24>>2]|0;m=k[d+-20>>2]|0;d=d+-16|0;k[ha>>2]=k[d>>2];k[ha+4>>2]=k[d+4>>2];k[ha+8>>2]=k[d+8>>2];k[ha+12>>2]=k[d+12>>2];d=f;while(1){k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[d+16>>2]=k[e+16>>2];k[d+20>>2]=k[e+20>>2];k[d+24>>2]=k[e+24>>2];k[d+28>>2]=k[e+28>>2];if(!a)break;a=(a+-1|0)/2|0;d=n+(a<<5)|0;if((k[d>>2]|0)>>>0>=g>>>0)break;else{ca=e;e=d;d=ca}}k[e>>2]=g;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=m;s=e+16|0;k[s>>2]=k[ha>>2];k[s+4>>2]=k[ha+4>>2];k[s+8>>2]=k[ha+8>>2];k[s+12>>2]=k[ha+12>>2];s=1015}else s=1015}else e=n;C:while(1){if((s|0)==1015){e=k[da>>2]|0;d=k[P>>2]|0}if((e|0)==(d|0)){s=1077;break}M=k[e>>2]|0;n=k[e+4>>2]|0;q=k[e+8>>2]|0;b=k[e+12>>2]|0;ca=e+16|0;k[aa>>2]=k[ca>>2];k[aa+4>>2]=k[ca+4>>2];k[aa+8>>2]=k[ca+8>>2];lc(da);k[ga>>2]=n;k[N>>2]=q;k[O>>2]=b;k[fa>>2]=k[aa>>2];k[fa+4>>2]=k[aa+4>>2];k[fa+8>>2]=k[aa+8>>2];k[ha>>2]=k[aa>>2];k[ha+4>>2]=k[aa+4>>2];k[ha+8>>2]=k[aa+8>>2];do if(M>>>0<64){u=(k[ha>>2]|0)>>>0>(k[ha+4>>2]|0)>>>0&1;u=(k[ha+(u<<2)>>2]|0)>>>0>(k[ha+8>>2]|0)>>>0?2:u}else{a=Z+836|0;f=k[a>>2]|0;d=32-f|0;g=Z+832|0;h=k[g>>2]|0;e=k[h>>2]<>2]=u;ca=h+4|0;k[g>>2]=ca;u=32-u|0;u=(k[ca>>2]|0)>>>u|e>>>(u-d|0);break}d=e>>>28;ca=f+4|0;k[a>>2]=ca;if((ca|0)!=32){u=d;break}k[g>>2]=h+4;k[a>>2]=0;u=d}while(0);j=fa+(u<<2)|0;m=k[j>>2]|0;d=k[Z>>2]|0;K=d-m|0;D:do if(K){if(!M){s=1031;break C}if(M>>>0<3){o=(u|0)==2?0:u+1|0;b=(o|0)==2?0:o+1|0;J=d-(k[fa+(o<<2)>>2]|0)|0;z=d-(k[fa+(b<<2)>>2]|0)|0;A=Z+816|0;B=Z+812|0;C=c+4|0;D=c+8|0;E=ha+4|0;F=ha+8|0;G=ha+(u<<2)|0;H=(K|0)<33;I=(K|0)>0;m=ga+(u<<2)|0;n=(J|0)==0;h=ha+(o<<2)|0;o=ga+(o<<2)|0;q=(z|0)==0;j=ha+(b<<2)|0;b=ga+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(J|0)<33;w=(J|0)>0;x=32-J|0;y=32-K|0;g=0;while(1){k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!H){s=1037;break C}if(!I){s=1039;break C}a=k[A>>2]|0;d=32-a|0;f=k[B>>2]|0;e=k[f>>2]<(d|0)){ca=K-d|0;k[A>>2]=ca;f=f+4|0;k[B>>2]=f;$=32-ca|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[G>>2]=d;e=ca}else{d=e>>>y;k[G>>2]=d;e=a+K|0;k[A>>2]=e;if((e|0)!=32)break;f=f+4|0;k[B>>2]=f;k[A>>2]=0;e=0}while(0);k[G>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=1037;break C}if(!w){s=1039;break C}d=32-e|0;a=k[f>>2]<(d|0)){e=J-d|0;k[A>>2]=e;f=f+4|0;k[B>>2]=f;ca=32-e|0;d=(k[f>>2]|0)>>>ca|a>>>(ca-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+J|0;k[A>>2]=e;if((e|0)!=32)break;f=f+4|0;k[B>>2]=f;k[A>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=1037;break C}if(!t){s=1039;break C}d=32-e|0;a=k[f>>2]<(d|0)){ca=z-d|0;k[A>>2]=ca;$=f+4|0;k[B>>2]=$;ca=32-ca|0;d=(k[$>>2]|0)>>>ca|a>>>(ca-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;ca=e+z|0;k[A>>2]=ca;if((ca|0)!=32)break;k[B>>2]=f+4;k[A>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[C>>2]|0;if((d|0)==(k[D>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[E>>2];k[d+8>>2]=k[F>>2];k[C>>2]=d+12}g=g+1|0;if(g>>>0>=M>>>0)break D}}k[ea>>2]=n;s=ea+4|0;k[s>>2]=q;t=ea+8|0;k[t>>2]=b;a=ea+(u<<2)|0;k[a>>2]=(k[a>>2]|0)+(1<>>1)-d|0;f=M-h|0;if((h|0)==(f|0)){a=h;o=h}else{d=Z+856|0;ca=k[d>>2]|0;e=Z+852|0;a=k[e>>2]|0;g=(k[a>>2]&1<<31-ca|0)!=0;ca=ca+1|0;k[d>>2]=ca;if((ca|0)==32){k[e>>2]=a+4;k[d>>2]=0}a=g?h:f;o=g?f:h}k[j>>2]=m+1;if(a|0){k[ia>>2]=a;k[ia+4>>2]=n;k[ia+8>>2]=q;k[ia+12>>2]=b;d=ia+16|0;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ia+28>>2]=u;e=k[P>>2]|0;if(e>>>0<(k[Q>>2]|0)>>>0){k[e>>2]=a;k[e+4>>2]=n;k[e+8>>2]=q;k[e+12>>2]=b;a=e+16|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];a=e+32|0;k[P>>2]=a}else{Gc(da,ia);a=k[P>>2]|0}e=k[da>>2]|0;d=a-e|0;do if((d|0)>32){f=((d>>5)+-2|0)/2|0;g=e+(f<<5)|0;d=a+-32|0;h=k[d>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;j=k[a+-28>>2]|0;m=k[a+-24>>2]|0;n=k[a+-20>>2]|0;a=a+-16|0;k[ha>>2]=k[a>>2];k[ha+4>>2]=k[a+4>>2];k[ha+8>>2]=k[a+8>>2];k[ha+12>>2]=k[a+12>>2];a=g;while(1){k[d>>2]=k[a>>2];k[d+4>>2]=k[a+4>>2];k[d+8>>2]=k[a+8>>2];k[d+12>>2]=k[a+12>>2];k[d+16>>2]=k[a+16>>2];k[d+20>>2]=k[a+20>>2];k[d+24>>2]=k[a+24>>2];k[d+28>>2]=k[a+28>>2];if(!f)break;f=(f+-1|0)/2|0;d=e+(f<<5)|0;if((k[d>>2]|0)>>>0>=h>>>0)break;else{ca=a;a=d;d=ca}}k[a>>2]=h;k[a+4>>2]=j;k[a+8>>2]=m;k[a+12>>2]=n;ca=a+16|0;k[ca>>2]=k[ha>>2];k[ca+4>>2]=k[ha+4>>2];k[ca+8>>2]=k[ha+8>>2];k[ca+12>>2]=k[ha+12>>2]}while(0)}if(o|0){k[ia>>2]=o;g=k[ea>>2]|0;k[ia+4>>2]=g;f=k[s>>2]|0;k[ia+8>>2]=f;a=k[t>>2]|0;k[ia+12>>2]=a;e=ia+16|0;k[e>>2]=k[fa>>2];k[e+4>>2]=k[fa+4>>2];k[e+8>>2]=k[fa+8>>2];k[ia+28>>2]=u;d=k[P>>2]|0;if(d>>>0<(k[Q>>2]|0)>>>0){k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=f;k[d+12>>2]=a;a=d+16|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];a=d+32|0;k[P>>2]=a}else{Gc(da,ia);a=k[P>>2]|0}e=k[da>>2]|0;d=a-e|0;do if((d|0)>32){f=((d>>5)+-2|0)/2|0;g=e+(f<<5)|0;d=a+-32|0;h=k[d>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;j=k[a+-28>>2]|0;m=k[a+-24>>2]|0;n=k[a+-20>>2]|0;a=a+-16|0;k[ha>>2]=k[a>>2];k[ha+4>>2]=k[a+4>>2];k[ha+8>>2]=k[a+8>>2];k[ha+12>>2]=k[a+12>>2];a=g;while(1){k[d>>2]=k[a>>2];k[d+4>>2]=k[a+4>>2];k[d+8>>2]=k[a+8>>2];k[d+12>>2]=k[a+12>>2];k[d+16>>2]=k[a+16>>2];k[d+20>>2]=k[a+20>>2];k[d+24>>2]=k[a+24>>2];k[d+28>>2]=k[a+28>>2];if(!f)break;f=(f+-1|0)/2|0;d=e+(f<<5)|0;if((k[d>>2]|0)>>>0>=h>>>0)break;else{ca=a;a=d;d=ca}}k[a>>2]=h;k[a+4>>2]=j;k[a+8>>2]=m;k[a+12>>2]=n;ca=a+16|0;k[ca>>2]=k[ha>>2];k[ca+4>>2]=k[ha+4>>2];k[ca+8>>2]=k[ha+8>>2];k[ca+12>>2]=k[ha+12>>2]}while(0)}}else{if((M|0)<=0)break;e=c+4|0;a=c+8|0;d=0;do{f=k[e>>2]|0;if((f|0)==(k[a>>2]|0))md(c,ga);else{k[f>>2]=k[ga>>2];k[f+4>>2]=k[N>>2];k[f+8>>2]=k[O>>2];k[e>>2]=f+12}d=d+1|0}while((d|0)<(M|0))}while(0);s=1015}if((s|0)==1031)Ba(9865,9903,231,9973);else if((s|0)==1037)Ba(9986,10010,111,10037);else if((s|0)==1039)Ba(10066,10010,112,10037);else if((s|0)==1077){if(e|0)gb(e);break}}}while(0);a=k[Z+840>>2]|0;f=Z+844|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+856>>2]=0;k[Z+852>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+820>>2]|0;f=Z+824|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+836>>2]=0;k[Z+832>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+800>>2]|0;f=Z+804|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+816>>2]=0;k[Z+812>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[c>>2]|0)|0)/12|0|0)==(k[ja>>2]|0)){c=1;r=ka;return c|0}else Ba(9727,9770,117,9834);return 0} +function Ra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0.0,t=0.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,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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;Wa=r;r=r+64|0;Va=Wa+32|0;Ua=Wa+16|0;Sa=Wa;a:do switch(k[b+28>>2]|0){case 9:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;b:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[Ua>>2]=q;u=q^318;c:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;d:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break d;if((k[f+4>>2]&p|0)!=(g|0))break d}while((k[f+8>>2]|0)!=(q|0));else do{f=k[f>>2]|0;if(!f)break d;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break d}while((k[f+8>>2]|0)!=(q|0));k[e+(v<<2)>>2]=k[f+12>>2];break c}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=37;break c}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=37;break c}if((k[g+8>>2]|0)==(q|0)){Ta=53;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=37;break c}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=37;break c}if((k[g+8>>2]|0)==(q|0)){Ta=53;break}}else{m=0;Ta=37}}else{f=0;h=0;m=1;Ta=37}while(0);if((Ta|0)==37){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}k[n+8>>2]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Md(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=53}if((Ta|0)==53){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break b;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(G=n+(h<<2)|0,(p|0)!=(G|0)):0)k[g>>2]=p+(~((p+-4-G|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{F=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[F>>2]=1.0;G=a+80|0;d=k[G>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[G>>2]|0;e:do if((h|0)>0){y=b+48|0;z=b+40|0;A=Va+4|0;B=Va+12|0;C=Va+8|0;D=a+40|0;E=a+64|0;x=0;d=0;h=0;while(1){v=x+c|0;u=y;q=k[u>>2]|0;u=k[u+4>>2]|0;w=z;w=Af(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;u=Yf(w|0,L|0,q|0,u|0)|0;u=(k[k[b>>2]>>2]|0)+u|0;q=u;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;u=u+4|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;w=Ua;k[w>>2]=q;k[w+4>>2]=u;w=(q^318)+239^u;v=(h|0)==0;f:do if(!v){p=h+-1|0;n=(p&h|0)==0;if(n)g=w&p;else g=(w>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;g:do if(f|0?(H=k[f>>2]|0,H|0):0){h:do if(n){f=H;while(1){if((k[f+4>>2]&p|0)!=(g|0))break g;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break h;f=k[f>>2]|0;if(!f)break g}}else{f=H;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break g;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break h;f=k[f>>2]|0;if(!f)break g}}while(0);k[e+(x<<2)>>2]=k[f+16>>2];break f}while(0);if(n)f=p&w;else f=(w>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(K=k[g>>2]|0,(K|0)!=0):0)if(n){g=K;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=118;break f}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=134;break f}g=k[g>>2]|0;if(!g){Ta=118;break}}}else{g=K;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=118;break f}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=134;break f}g=k[g>>2]|0;if(!g){Ta=118;break}}}else Ta=118}else{f=0;Ta=118}while(0);if((Ta|0)==118){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;k[Ta>>2]=q;k[Ta+4>>2]=u;k[m+16>>2]=d;k[m+4>>2]=w;k[m>>2]=0;s=+(((k[B>>2]|0)+1|0)>>>0);t=+o[F>>2];do if(v|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Cd(Va,f>>>0>>0?g:f);f=k[A>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&w;break}else{h=f;f=(w>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[C>>2];k[C>>2]=m;k[f>>2]=C;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[B>>2]=(k[B>>2]|0)+1;Ta=134}if((Ta|0)==134){Ta=0;Ra=D;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[E>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(x<<2)>>2]=d;d=d+1|0}f=x+1|0;h=k[G>>2]|0;if((f|0)>=(h|0))break e;x=f;h=k[A>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(qa=n+(h<<2)|0,(p|0)!=(qa|0)):0)k[g>>2]=p+(~((p+-4-qa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[G>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[G>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;i:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+4|0;A=Ua+8|0;d=0;y=0;h=0;while(1){n=y+c|0;m=B;g=k[m>>2]|0;m=k[m+4>>2]|0;Sa=C;n=Af(k[Sa>>2]|0,k[Sa+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=Yf(n|0,L|0,g|0,m|0)|0;g=Ua;m=(k[k[b>>2]>>2]|0)+m|0;n=g+12|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));q=k[Ua>>2]|0;u=k[z>>2]|0;v=k[A>>2]|0;x=((q^318)+239^u)+239^v;w=(h|0)==0;j:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;k:do if(f|0?(ka=k[f>>2]|0,ka|0):0){l:do if(n){f=ka;while(1){if((k[f+4>>2]&p|0)!=(g|0))break k;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break l}while(0);f=k[f>>2]|0;if(!f)break k}}else{f=ka;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break k;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break l}while(0);f=k[f>>2]|0;if(!f)break k}}while(0);k[e+(y<<2)>>2]=k[f+20>>2];break j}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(pa=k[g>>2]|0,(pa|0)!=0):0)if(n){g=pa;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=203;break j}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=219;break j}}while(0);g=k[g>>2]|0;if(!g){Ta=203;break}}}else{g=pa;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=203;break j}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=219;break j}}while(0);g=k[g>>2]|0;if(!g){Ta=203;break}}}else Ta=203}else{f=0;Ta=203}while(0);if((Ta|0)==203){while(1){g=Xa(24)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=q;k[m+12>>2]=u;k[m+16>>2]=v;k[m+20>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Bd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=219}if((Ta|0)==219){Ta=0;Qa=G;Sa=k[Qa>>2]|0;Qa=Af(Sa|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Qa|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break i;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ra=n+(h<<2)|0,(p|0)!=(Ra|0)):0)k[g>>2]=p+(~((p+-4-Ra|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{J=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[J>>2]=1.0;K=a+80|0;d=k[K>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[K>>2]|0;if((h|0)>0){C=b+48|0;D=b+40|0;z=Sa+4|0;A=Sa+8|0;B=Sa+12|0;E=Va+4|0;F=Va+12|0;G=Va+8|0;H=a+40|0;I=a+64|0;d=0;y=0;do{m=y+c|0;f=C;g=k[f>>2]|0;f=k[f+4>>2]|0;n=D;m=Af(k[n>>2]|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;f=Yf(m|0,L|0,g|0,f|0)|0;f=(k[k[b>>2]>>2]|0)+f|0;g=Ua;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=Sa;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=k[Va>>2]|0;h=k[E>>2]|0;f=ad(g,h,Sa)|0;if(!f){p=k[Sa>>2]|0;q=k[z>>2]|0;u=k[A>>2]|0;v=k[B>>2]|0;x=(((p^318)+239^q)+239^u)+239^v;w=(h|0)==0;m:do if(!w){n=h+-1|0;m=(n&h|0)==0;if(m)f=x&n;else f=(x>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(ha=k[g>>2]|0,(ha|0)!=0):0)if(m){g=ha;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=275;break m}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break m}while(0);g=k[g>>2]|0;if(!g){Ta=275;break}}}else{g=ha;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=275;break m}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break m}while(0);g=k[g>>2]|0;if(!g){Ta=275;break}}}else Ta=275}else{f=0;Ta=275}while(0);if((Ta|0)==275){Ta=0;while(1){g=Xa(28)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=p;k[m+12>>2]=q;k[m+16>>2]=u;k[m+20>>2]=v;k[m+24>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[F>>2]|0)+1|0)>>>0);t=+o[J>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ad(Va,f>>>0>>0?g:f);f=k[E>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[G>>2];k[G>>2]=m;k[f>>2]=G;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[F>>2]=(k[F>>2]|0)+1}Qa=H;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[I>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}else k[e+(y<<2)>>2]=k[f+24>>2];y=y+1|0;h=k[K>>2]|0}while((y|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Oa=n+(h<<2)|0,(p|0)!=(Oa|0)):0)k[g>>2]=p+(~((p+-4-Oa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[K>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[K>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 1:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;n:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=i[(k[k[b>>2]>>2]|0)+q>>0]|0;i[Ua>>0]=q;u=q&255^318;o:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;p:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break p;if((k[f+4>>2]&p|0)!=(g|0))break p}while((i[f+8>>0]|0)!=q<<24>>24);else do{f=k[f>>2]|0;if(!f)break p;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break p}while((i[f+8>>0]|0)!=q<<24>>24);k[e+(v<<2)>>2]=k[f+12>>2];break o}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=350;break o}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=350;break o}if((i[g+8>>0]|0)==q<<24>>24){Ta=366;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=350;break o}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=350;break o}if((i[g+8>>0]|0)==q<<24>>24){Ta=366;break}}else{m=0;Ta=350}}else{f=0;h=0;m=1;Ta=350}while(0);if((Ta|0)==350){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}i[n+8>>0]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Gd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=366}if((Ta|0)==366){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break n;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(F=n+(h<<2)|0,(p|0)!=(F|0)):0)k[g>>2]=p+(~((p+-4-F|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;q:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8;j[Ua>>1]=v;q=v&255;x=(v&65535)>>>8;u=x&255;x=(v&255^318)+239^x&65535;w=(h|0)==0;r:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;s:do if(f|0?(Q=k[f>>2]|0,Q|0):0){t:do if(n){f=Q;while(1){if((k[f+4>>2]&p|0)!=(g|0))break s;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break t;f=k[f>>2]|0;if(!f)break s}}else{f=Q;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break s;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break t;f=k[f>>2]|0;if(!f)break s}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break r}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(W=k[g>>2]|0,(W|0)!=0):0)if(n){g=W;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=431;break r}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=447;break r}g=k[g>>2]|0;if(!g){Ta=431;break}}}else{g=W;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=431;break r}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=447;break r}g=k[g>>2]|0;if(!g){Ta=431;break}}}else Ta=431}else{f=0;Ta=431}while(0);if((Ta|0)==431){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;i[Ta>>0]=v;i[Ta+1>>0]=v>>8;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Fd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=447}if((Ta|0)==447){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break q;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ta=n+(h<<2)|0,(p|0)!=(ta|0)):0)k[g>>2]=p+(~((p+-4-ta|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;u:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+1|0;A=Ua+2|0;y=0;d=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;q=i[Ua>>0]|0;u=i[z>>0]|0;v=i[A>>0]|0;x=((q&255^318)+239^u&255)+239^v&255;w=(h|0)==0;v:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;w:do if(f|0?(ba=k[f>>2]|0,ba|0):0){x:do if(n){f=ba;while(1){if((k[f+4>>2]&p|0)!=(g|0))break w;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break x}while(0);f=k[f>>2]|0;if(!f)break w}}else{f=ba;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break w;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break x}while(0);f=k[f>>2]|0;if(!f)break w}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break v}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(fa=k[g>>2]|0,(fa|0)!=0):0)if(n){g=fa;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=516;break v}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=532;break v}}while(0);g=k[g>>2]|0;if(!g){Ta=516;break}}}else{g=fa;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=516;break v}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=532;break v}}while(0);g=k[g>>2]|0;if(!g){Ta=516;break}}}else Ta=516}else{f=0;Ta=516}while(0);if((Ta|0)==516){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}i[m+8>>0]=q;i[m+9>>0]=u;i[m+10>>0]=v;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ed(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=532}if((Ta|0)==532){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break u;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ha=n+(h<<2)|0,(p|0)!=(Ha|0)):0)k[g>>2]=p+(~((p+-4-Ha|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{M=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[M>>2]=1.0;N=a+80|0;d=k[N>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[N>>2]|0;if((h|0)>0){E=b+48|0;F=b+40|0;G=Va+4|0;H=Va+12|0;I=Va+8|0;J=a+40|0;K=a+64|0;D=0;d=0;do{f=D+c|0;g=E;n=k[g>>2]|0;g=k[g+4>>2]|0;h=F;h=Af(f|0,((f|0)<0)<<31>>31|0,k[h>>2]|0,k[h+4>>2]|0)|0;g=Yf(h|0,L|0,n|0,g|0)|0;g=(k[k[b>>2]>>2]|0)+g|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[Ua>>2]=g;k[Sa>>2]=g;n=k[Va>>2]|0;h=k[G>>2]|0;f=Yc(n,h,Sa)|0;if(!f){q=g&255;y=g>>>8;u=y&255;z=g>>>16;v=z&255;A=g>>>24;w=A&255;x=g&255;y=y&255;z=z&255;C=(((x^318)+239^y)+239^z)+239^A;B=(h|0)==0;y:do if(!B){p=h+-1|0;m=(p&h|0)==0;if(m)f=C&p;else f=(C>>>0)%(h>>>0)|0;g=k[n+(f<<2)>>2]|0;if((g|0)!=0?(Y=k[g>>2]|0,(Y|0)!=0):0)if(m){g=Y;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=588;break y}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break y}while(0);g=k[g>>2]|0;if(!g){Ta=588;break}}}else{g=Y;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=588;break y}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break y}while(0);g=k[g>>2]|0;if(!g){Ta=588;break}}}else Ta=588}else{f=0;Ta=588}while(0);if((Ta|0)==588){Ta=0;while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ra=m+8|0;Qa=A<<24|x|z<<16|y<<8;i[Ra>>0]=Qa;i[Ra+1>>0]=Qa>>8;i[Ra+2>>0]=Qa>>16;i[Ra+3>>0]=Qa>>24;k[m+12>>2]=d;k[m+4>>2]=C;k[m>>2]=0;s=+(((k[H>>2]|0)+1|0)>>>0);t=+o[M>>2];do if(B|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Dd(Va,f>>>0>>0?g:f);f=k[G>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&C;break}else{h=f;f=(C>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[I>>2];k[I>>2]=m;k[f>>2]=I;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[H>>2]=(k[H>>2]|0)+1}Qa=J;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[K>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(D<<2)>>2]=d;d=d+1|0}else k[e+(D<<2)>>2]=k[f+12>>2];D=D+1|0;h=k[N>>2]|0}while((D|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(za=n+(h<<2)|0,(p|0)!=(za|0)):0)k[g>>2]=p+(~((p+-4-za|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[N>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[N>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 11:case 2:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;z:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=i[(k[k[b>>2]>>2]|0)+q>>0]|0;i[Ua>>0]=q;u=q&255^318;A:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;B:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break B;if((k[f+4>>2]&p|0)!=(g|0))break B}while((i[f+8>>0]|0)!=q<<24>>24);else do{f=k[f>>2]|0;if(!f)break B;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break B}while((i[f+8>>0]|0)!=q<<24>>24);k[e+(v<<2)>>2]=k[f+12>>2];break A}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=663;break A}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=663;break A}if((i[g+8>>0]|0)==q<<24>>24){Ta=679;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=663;break A}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=663;break A}if((i[g+8>>0]|0)==q<<24>>24){Ta=679;break}}else{m=0;Ta=663}}else{f=0;h=0;m=1;Ta=663}while(0);if((Ta|0)==663){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}i[n+8>>0]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Gd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=679}if((Ta|0)==679){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break z;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Aa=n+(h<<2)|0,(p|0)!=(Aa|0)):0)k[g>>2]=p+(~((p+-4-Aa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;C:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8;j[Ua>>1]=v;q=v&255;x=(v&65535)>>>8;u=x&255;x=(v&255^318)+239^x&65535;w=(h|0)==0;D:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;E:do if(f|0?(R=k[f>>2]|0,R|0):0){F:do if(n){f=R;while(1){if((k[f+4>>2]&p|0)!=(g|0))break E;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break F;f=k[f>>2]|0;if(!f)break E}}else{f=R;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break E;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break F;f=k[f>>2]|0;if(!f)break E}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break D}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(X=k[g>>2]|0,(X|0)!=0):0)if(n){g=X;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=744;break D}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=760;break D}g=k[g>>2]|0;if(!g){Ta=744;break}}}else{g=X;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=744;break D}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=760;break D}g=k[g>>2]|0;if(!g){Ta=744;break}}}else Ta=744}else{f=0;Ta=744}while(0);if((Ta|0)==744){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;i[Ta>>0]=v;i[Ta+1>>0]=v>>8;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Fd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=760}if((Ta|0)==760){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break C;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ua=n+(h<<2)|0,(p|0)!=(ua|0)):0)k[g>>2]=p+(~((p+-4-ua|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;G:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+1|0;A=Ua+2|0;y=0;d=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;q=i[Ua>>0]|0;u=i[z>>0]|0;v=i[A>>0]|0;x=((q&255^318)+239^u&255)+239^v&255;w=(h|0)==0;H:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;I:do if(f|0?(ca=k[f>>2]|0,ca|0):0){J:do if(n){f=ca;while(1){if((k[f+4>>2]&p|0)!=(g|0))break I;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break J}while(0);f=k[f>>2]|0;if(!f)break I}}else{f=ca;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break I;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break J}while(0);f=k[f>>2]|0;if(!f)break I}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break H}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(ga=k[g>>2]|0,(ga|0)!=0):0)if(n){g=ga;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=829;break H}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=845;break H}}while(0);g=k[g>>2]|0;if(!g){Ta=829;break}}}else{g=ga;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=829;break H}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=845;break H}}while(0);g=k[g>>2]|0;if(!g){Ta=829;break}}}else Ta=829}else{f=0;Ta=829}while(0);if((Ta|0)==829){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}i[m+8>>0]=q;i[m+9>>0]=u;i[m+10>>0]=v;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ed(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=845}if((Ta|0)==845){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break G;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ia=n+(h<<2)|0,(p|0)!=(Ia|0)):0)k[g>>2]=p+(~((p+-4-Ia|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{M=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[M>>2]=1.0;N=a+80|0;d=k[N>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[N>>2]|0;if((h|0)>0){E=b+48|0;F=b+40|0;G=Va+4|0;H=Va+12|0;I=Va+8|0;J=a+40|0;K=a+64|0;D=0;d=0;do{f=D+c|0;g=E;n=k[g>>2]|0;g=k[g+4>>2]|0;h=F;h=Af(f|0,((f|0)<0)<<31>>31|0,k[h>>2]|0,k[h+4>>2]|0)|0;g=Yf(h|0,L|0,n|0,g|0)|0;g=(k[k[b>>2]>>2]|0)+g|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[Ua>>2]=g;k[Sa>>2]=g;n=k[Va>>2]|0;h=k[G>>2]|0;f=Yc(n,h,Sa)|0;if(!f){q=g&255;y=g>>>8;u=y&255;z=g>>>16;v=z&255;A=g>>>24;w=A&255;x=g&255;y=y&255;z=z&255;C=(((x^318)+239^y)+239^z)+239^A;B=(h|0)==0;K:do if(!B){p=h+-1|0;m=(p&h|0)==0;if(m)f=C&p;else f=(C>>>0)%(h>>>0)|0;g=k[n+(f<<2)>>2]|0;if((g|0)!=0?(_=k[g>>2]|0,(_|0)!=0):0)if(m){g=_;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=901;break K}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break K}while(0);g=k[g>>2]|0;if(!g){Ta=901;break}}}else{g=_;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=901;break K}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break K}while(0);g=k[g>>2]|0;if(!g){Ta=901;break}}}else Ta=901}else{f=0;Ta=901}while(0);if((Ta|0)==901){Ta=0;while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ra=m+8|0;Qa=A<<24|x|z<<16|y<<8;i[Ra>>0]=Qa;i[Ra+1>>0]=Qa>>8;i[Ra+2>>0]=Qa>>16;i[Ra+3>>0]=Qa>>24;k[m+12>>2]=d;k[m+4>>2]=C;k[m>>2]=0;s=+(((k[H>>2]|0)+1|0)>>>0);t=+o[M>>2];do if(B|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Dd(Va,f>>>0>>0?g:f);f=k[G>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&C;break}else{h=f;f=(C>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[I>>2];k[I>>2]=m;k[f>>2]=I;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[H>>2]=(k[H>>2]|0)+1}Qa=J;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[K>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(D<<2)>>2]=d;d=d+1|0}else k[e+(D<<2)>>2]=k[f+12>>2];D=D+1|0;h=k[N>>2]|0}while((D|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ca=n+(h<<2)|0,(p|0)!=(Ca|0)):0)k[g>>2]=p+(~((p+-4-Ca|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[N>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[N>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 4:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;L:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[Ua>>1]=q;u=q&65535^318;M:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;N:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break N;if((k[f+4>>2]&p|0)!=(g|0))break N}while((j[f+8>>1]|0)!=q<<16>>16);else do{f=k[f>>2]|0;if(!f)break N;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break N}while((j[f+8>>1]|0)!=q<<16>>16);k[e+(v<<2)>>2]=k[f+12>>2];break M}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=976;break M}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=976;break M}if((j[g+8>>1]|0)==q<<16>>16){Ta=992;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=976;break M}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=976;break M}if((j[g+8>>1]|0)==q<<16>>16){Ta=992;break}}else{m=0;Ta=976}}else{f=0;h=0;m=1;Ta=976}while(0);if((Ta|0)==976){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}j[n+8>>1]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;zd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=992}if((Ta|0)==992){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break L;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Da=n+(h<<2)|0,(p|0)!=(Da|0)):0)k[g>>2]=p+(~((p+-4-Da|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;O:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;k[Ua>>2]=v;q=v&65535;x=v>>>16;u=x&65535;x=(v&65535^318)+239^x;w=(h|0)==0;P:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;Q:do if(f|0?(O=k[f>>2]|0,O|0):0){R:do if(n){f=O;while(1){if((k[f+4>>2]&p|0)!=(g|0))break Q;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break R;f=k[f>>2]|0;if(!f)break Q}}else{f=O;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break Q;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break R;f=k[f>>2]|0;if(!f)break Q}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break P}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(S=k[g>>2]|0,(S|0)!=0):0)if(n){g=S;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1057;break P}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1073;break P}g=k[g>>2]|0;if(!g){Ta=1057;break}}}else{g=S;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1057;break P}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1073;break P}g=k[g>>2]|0;if(!g){Ta=1057;break}}}else Ta=1057}else{f=0;Ta=1057}while(0);if((Ta|0)==1057){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;j[Ta>>1]=v;j[Ta+2>>1]=v>>>16;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;yd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=1073}if((Ta|0)==1073){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break O;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(va=n+(h<<2)|0,(p|0)!=(va|0)):0)k[g>>2]=p+(~((p+-4-va|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;S:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+2|0;A=Ua+4|0;d=0;y=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;i[Ua+3>>0]=i[q+3>>0]|0;i[Ua+4>>0]=i[q+4>>0]|0;i[Ua+5>>0]=i[q+5>>0]|0;q=j[Ua>>1]|0;u=j[z>>1]|0;v=j[A>>1]|0;x=((q&65535^318)+239^u&65535)+239^v&65535;w=(h|0)==0;T:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;U:do if(f|0?($=k[f>>2]|0,$|0):0){V:do if(n){f=$;while(1){if((k[f+4>>2]&p|0)!=(g|0))break U;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break V}while(0);f=k[f>>2]|0;if(!f)break U}}else{f=$;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break U;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break V}while(0);f=k[f>>2]|0;if(!f)break U}}while(0);k[e+(y<<2)>>2]=k[f+16>>2];break T}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(da=k[g>>2]|0,(da|0)!=0):0)if(n){g=da;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1142;break T}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1158;break T}}while(0);g=k[g>>2]|0;if(!g){Ta=1142;break}}}else{g=da;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1142;break T}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1158;break T}}while(0);g=k[g>>2]|0;if(!g){Ta=1142;break}}}else Ta=1142}else{f=0;Ta=1142}while(0);if((Ta|0)==1142){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}j[m+8>>1]=q;j[m+10>>1]=u;j[m+12>>1]=v;k[m+16>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Hd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=1158}if((Ta|0)==1158){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break S;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ja=n+(h<<2)|0,(p|0)!=(Ja|0)):0)k[g>>2]=p+(~((p+-4-Ja|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{K=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[K>>2]=1.0;M=a+80|0;d=k[M>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[M>>2]|0;if((h|0)>0){D=b+48|0;E=b+40|0;F=Va+4|0;G=Va+12|0;H=Va+8|0;I=a+40|0;J=a+64|0;C=0;d=0;do{h=C+c|0;z=D;y=k[z>>2]|0;z=k[z+4>>2]|0;g=E;g=Af(h|0,((h|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;z=Yf(g|0,L|0,y|0,z|0)|0;z=(k[k[b>>2]>>2]|0)+z|0;y=z;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;z=z+4|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;g=Ua;k[g>>2]=y;k[g+4>>2]=z;g=Sa;k[g>>2]=y;k[g+4>>2]=z;g=k[Va>>2]|0;h=k[F>>2]|0;f=Wc(g,h,Sa)|0;if(!f){p=y&65535;B=Kf(y|0,z|0,16)|0;q=B&65535;u=z&65535;w=Kf(y|0,z|0,48)|0;x=L;v=w&65535;B=(((y&65535^318)+239^B&65535)+239^z&65535)+239^w;A=(h|0)==0;W:do if(!A){n=h+-1|0;m=(n&h|0)==0;if(m)f=B&n;else f=(B>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(T=k[g>>2]|0,(T|0)!=0):0)if(m){g=T;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=1214;break W}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break W}while(0);g=k[g>>2]|0;if(!g){Ta=1214;break}}}else{g=T;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1214;break W}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break W}while(0);g=k[g>>2]|0;if(!g){Ta=1214;break}}}else Ta=1214}else{f=0;Ta=1214}while(0);if((Ta|0)==1214){Ta=0;while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Oa=Hf(w|0,x|0,48)|0;Oa=y|Oa;Qa=z&65535|L;Ra=m+8|0;Pa=Ra;j[Pa>>1]=Oa;j[Pa+2>>1]=Oa>>>16;Ra=Ra+4|0;j[Ra>>1]=Qa;j[Ra+2>>1]=Qa>>>16;k[m+16>>2]=d;k[m+4>>2]=B;k[m>>2]=0;s=+(((k[G>>2]|0)+1|0)>>>0);t=+o[K>>2];do if(A|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;xd(Va,f>>>0>>0?g:f);f=k[F>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&B;break}else{h=f;f=(B>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[H>>2];k[H>>2]=m;k[f>>2]=H;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[G>>2]=(k[G>>2]|0)+1}Qa=I;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[J>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(C<<2)>>2]=d;d=d+1|0}else k[e+(C<<2)>>2]=k[f+16>>2];C=C+1|0;h=k[M>>2]|0}while((C|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(wa=n+(h<<2)|0,(p|0)!=(wa|0)):0)k[g>>2]=p+(~((p+-4-wa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[M>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[M>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 3:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;X:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[Ua>>1]=q;u=q&65535^318;Y:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;Z:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break Z;if((k[f+4>>2]&p|0)!=(g|0))break Z}while((j[f+8>>1]|0)!=q<<16>>16);else do{f=k[f>>2]|0;if(!f)break Z;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break Z}while((j[f+8>>1]|0)!=q<<16>>16);k[e+(v<<2)>>2]=k[f+12>>2];break Y}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1289;break Y}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=1289;break Y}if((j[g+8>>1]|0)==q<<16>>16){Ta=1305;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1289;break Y}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=1289;break Y}if((j[g+8>>1]|0)==q<<16>>16){Ta=1305;break}}else{m=0;Ta=1289}}else{f=0;h=0;m=1;Ta=1289}while(0);if((Ta|0)==1289){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}j[n+8>>1]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;zd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=1305}if((Ta|0)==1305){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break X;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ea=n+(h<<2)|0,(p|0)!=(Ea|0)):0)k[g>>2]=p+(~((p+-4-Ea|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;_:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;k[Ua>>2]=v;q=v&65535;x=v>>>16;u=x&65535;x=(v&65535^318)+239^x;w=(h|0)==0;$:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;aa:do if(f|0?(P=k[f>>2]|0,P|0):0){ba:do if(n){f=P;while(1){if((k[f+4>>2]&p|0)!=(g|0))break aa;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break ba;f=k[f>>2]|0;if(!f)break aa}}else{f=P;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break aa;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break ba;f=k[f>>2]|0;if(!f)break aa}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break $}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(U=k[g>>2]|0,(U|0)!=0):0)if(n){g=U;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1370;break $}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1386;break $}g=k[g>>2]|0;if(!g){Ta=1370;break}}}else{g=U;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1370;break $}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1386;break $}g=k[g>>2]|0;if(!g){Ta=1370;break}}}else Ta=1370}else{f=0;Ta=1370}while(0);if((Ta|0)==1370){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;j[Ta>>1]=v;j[Ta+2>>1]=v>>>16;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;yd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=1386}if((Ta|0)==1386){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break _;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(xa=n+(h<<2)|0,(p|0)!=(xa|0)):0)k[g>>2]=p+(~((p+-4-xa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;ca:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+2|0;A=Ua+4|0;d=0;y=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;i[Ua+3>>0]=i[q+3>>0]|0;i[Ua+4>>0]=i[q+4>>0]|0;i[Ua+5>>0]=i[q+5>>0]|0;q=j[Ua>>1]|0;u=j[z>>1]|0;v=j[A>>1]|0;x=((q&65535^318)+239^u&65535)+239^v&65535;w=(h|0)==0;da:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ea:do if(f|0?(aa=k[f>>2]|0,aa|0):0){fa:do if(n){f=aa;while(1){if((k[f+4>>2]&p|0)!=(g|0))break ea;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break fa}while(0);f=k[f>>2]|0;if(!f)break ea}}else{f=aa;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ea;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break fa}while(0);f=k[f>>2]|0;if(!f)break ea}}while(0);k[e+(y<<2)>>2]=k[f+16>>2];break da}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(ea=k[g>>2]|0,(ea|0)!=0):0)if(n){g=ea;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1455;break da}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1471;break da}}while(0);g=k[g>>2]|0;if(!g){Ta=1455;break}}}else{g=ea;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1455;break da}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1471;break da}}while(0);g=k[g>>2]|0;if(!g){Ta=1455;break}}}else Ta=1455}else{f=0;Ta=1455}while(0);if((Ta|0)==1455){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}j[m+8>>1]=q;j[m+10>>1]=u;j[m+12>>1]=v;k[m+16>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Hd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=1471}if((Ta|0)==1471){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break ca;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ka=n+(h<<2)|0,(p|0)!=(Ka|0)):0)k[g>>2]=p+(~((p+-4-Ka|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{K=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[K>>2]=1.0;M=a+80|0;d=k[M>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[M>>2]|0;if((h|0)>0){D=b+48|0;E=b+40|0;F=Va+4|0;G=Va+12|0;H=Va+8|0;I=a+40|0;J=a+64|0;C=0;d=0;do{h=C+c|0;z=D;y=k[z>>2]|0;z=k[z+4>>2]|0;g=E;g=Af(h|0,((h|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;z=Yf(g|0,L|0,y|0,z|0)|0;z=(k[k[b>>2]>>2]|0)+z|0;y=z;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;z=z+4|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;g=Ua;k[g>>2]=y;k[g+4>>2]=z;g=Sa;k[g>>2]=y;k[g+4>>2]=z;g=k[Va>>2]|0;h=k[F>>2]|0;f=Wc(g,h,Sa)|0;if(!f){p=y&65535;B=Kf(y|0,z|0,16)|0;q=B&65535;u=z&65535;w=Kf(y|0,z|0,48)|0;x=L;v=w&65535;B=(((y&65535^318)+239^B&65535)+239^z&65535)+239^w;A=(h|0)==0;ga:do if(!A){n=h+-1|0;m=(n&h|0)==0;if(m)f=B&n;else f=(B>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(V=k[g>>2]|0,(V|0)!=0):0)if(m){g=V;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=1527;break ga}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break ga}while(0);g=k[g>>2]|0;if(!g){Ta=1527;break}}}else{g=V;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1527;break ga}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break ga}while(0);g=k[g>>2]|0;if(!g){Ta=1527;break}}}else Ta=1527}else{f=0;Ta=1527}while(0);if((Ta|0)==1527){Ta=0;while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Oa=Hf(w|0,x|0,48)|0;Oa=y|Oa;Qa=z&65535|L;Ra=m+8|0;Pa=Ra;j[Pa>>1]=Oa;j[Pa+2>>1]=Oa>>>16;Ra=Ra+4|0;j[Ra>>1]=Qa;j[Ra+2>>1]=Qa>>>16;k[m+16>>2]=d;k[m+4>>2]=B;k[m>>2]=0;s=+(((k[G>>2]|0)+1|0)>>>0);t=+o[K>>2];do if(A|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;xd(Va,f>>>0>>0?g:f);f=k[F>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&B;break}else{h=f;f=(B>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[H>>2];k[H>>2]=m;k[f>>2]=H;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[G>>2]=(k[G>>2]|0)+1}Qa=I;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[J>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(C<<2)>>2]=d;d=d+1|0}else k[e+(C<<2)>>2]=k[f+16>>2];C=C+1|0;h=k[M>>2]|0}while((C|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ya=n+(h<<2)|0,(p|0)!=(ya|0)):0)k[g>>2]=p+(~((p+-4-ya|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[M>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[M>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 6:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;ha:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[Ua>>2]=q;u=q^318;ia:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ja:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break ja;if((k[f+4>>2]&p|0)!=(g|0))break ja}while((k[f+8>>2]|0)!=(q|0));else do{f=k[f>>2]|0;if(!f)break ja;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ja}while((k[f+8>>2]|0)!=(q|0));k[e+(v<<2)>>2]=k[f+12>>2];break ia}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1602;break ia}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=1602;break ia}if((k[g+8>>2]|0)==(q|0)){Ta=1618;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1602;break ia}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=1602;break ia}if((k[g+8>>2]|0)==(q|0)){Ta=1618;break}}else{m=0;Ta=1602}}else{f=0;h=0;m=1;Ta=1602}while(0);if((Ta|0)==1602){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}k[n+8>>2]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Md(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=1618}if((Ta|0)==1618){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break ha;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Fa=n+(h<<2)|0,(p|0)!=(Fa|0)):0)k[g>>2]=p+(~((p+-4-Fa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{F=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[F>>2]=1.0;G=a+80|0;d=k[G>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[G>>2]|0;ka:do if((h|0)>0){y=b+48|0;z=b+40|0;A=Va+4|0;B=Va+12|0;C=Va+8|0;D=a+40|0;E=a+64|0;x=0;d=0;h=0;while(1){v=x+c|0;u=y;q=k[u>>2]|0;u=k[u+4>>2]|0;w=z;w=Af(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;u=Yf(w|0,L|0,q|0,u|0)|0;u=(k[k[b>>2]>>2]|0)+u|0;q=u;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;u=u+4|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;w=Ua;k[w>>2]=q;k[w+4>>2]=u;w=(q^318)+239^u;v=(h|0)==0;la:do if(!v){p=h+-1|0;n=(p&h|0)==0;if(n)g=w&p;else g=(w>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ma:do if(f|0?(I=k[f>>2]|0,I|0):0){na:do if(n){f=I;while(1){if((k[f+4>>2]&p|0)!=(g|0))break ma;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break na;f=k[f>>2]|0;if(!f)break ma}}else{f=I;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ma;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break na;f=k[f>>2]|0;if(!f)break ma}}while(0);k[e+(x<<2)>>2]=k[f+16>>2];break la}while(0);if(n)f=p&w;else f=(w>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(M=k[g>>2]|0,(M|0)!=0):0)if(n){g=M;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1683;break la}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=1699;break la}g=k[g>>2]|0;if(!g){Ta=1683;break}}}else{g=M;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1683;break la}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=1699;break la}g=k[g>>2]|0;if(!g){Ta=1683;break}}}else Ta=1683}else{f=0;Ta=1683}while(0);if((Ta|0)==1683){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;k[Ta>>2]=q;k[Ta+4>>2]=u;k[m+16>>2]=d;k[m+4>>2]=w;k[m>>2]=0;s=+(((k[B>>2]|0)+1|0)>>>0);t=+o[F>>2];do if(v|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Cd(Va,f>>>0>>0?g:f);f=k[A>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&w;break}else{h=f;f=(w>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[C>>2];k[C>>2]=m;k[f>>2]=C;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[B>>2]=(k[B>>2]|0)+1;Ta=1699}if((Ta|0)==1699){Ta=0;Ra=D;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[E>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(x<<2)>>2]=d;d=d+1|0}f=x+1|0;h=k[G>>2]|0;if((f|0)>=(h|0))break ka;x=f;h=k[A>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ra=n+(h<<2)|0,(p|0)!=(ra|0)):0)k[g>>2]=p+(~((p+-4-ra|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[G>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[G>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;oa:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+4|0;A=Ua+8|0;d=0;y=0;h=0;while(1){n=y+c|0;m=B;g=k[m>>2]|0;m=k[m+4>>2]|0;Sa=C;n=Af(k[Sa>>2]|0,k[Sa+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=Yf(n|0,L|0,g|0,m|0)|0;g=Ua;m=(k[k[b>>2]>>2]|0)+m|0;n=g+12|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));q=k[Ua>>2]|0;u=k[z>>2]|0;v=k[A>>2]|0;x=((q^318)+239^u)+239^v;w=(h|0)==0;pa:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;qa:do if(f|0?(la=k[f>>2]|0,la|0):0){ra:do if(n){f=la;while(1){if((k[f+4>>2]&p|0)!=(g|0))break qa;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break ra}while(0);f=k[f>>2]|0;if(!f)break qa}}else{f=la;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break qa;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break ra}while(0);f=k[f>>2]|0;if(!f)break qa}}while(0);k[e+(y<<2)>>2]=k[f+20>>2];break pa}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(na=k[g>>2]|0,(na|0)!=0):0)if(n){g=na;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1768;break pa}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=1784;break pa}}while(0);g=k[g>>2]|0;if(!g){Ta=1768;break}}}else{g=na;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1768;break pa}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=1784;break pa}}while(0);g=k[g>>2]|0;if(!g){Ta=1768;break}}}else Ta=1768}else{f=0;Ta=1768}while(0);if((Ta|0)==1768){while(1){g=Xa(24)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=q;k[m+12>>2]=u;k[m+16>>2]=v;k[m+20>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Bd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=1784}if((Ta|0)==1784){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break oa;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Pa=n+(h<<2)|0,(p|0)!=(Pa|0)):0)k[g>>2]=p+(~((p+-4-Pa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{J=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[J>>2]=1.0;K=a+80|0;d=k[K>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[K>>2]|0;if((h|0)>0){C=b+48|0;D=b+40|0;z=Ua+4|0;A=Ua+8|0;B=Ua+12|0;E=Va+4|0;F=Va+12|0;G=Va+8|0;H=a+40|0;I=a+64|0;d=0;y=0;do{m=y+c|0;f=C;g=k[f>>2]|0;f=k[f+4>>2]|0;n=D;m=Af(k[n>>2]|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;f=Yf(m|0,L|0,g|0,f|0)|0;f=(k[k[b>>2]>>2]|0)+f|0;g=Sa;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=Ua;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=k[Va>>2]|0;h=k[E>>2]|0;f=ad(g,h,Ua)|0;if(!f){p=k[Ua>>2]|0;q=k[z>>2]|0;u=k[A>>2]|0;v=k[B>>2]|0;x=(((p^318)+239^q)+239^u)+239^v;w=(h|0)==0;sa:do if(!w){n=h+-1|0;m=(n&h|0)==0;if(m)f=x&n;else f=(x>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(ia=k[g>>2]|0,(ia|0)!=0):0)if(m){g=ia;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=1840;break sa}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break sa}while(0);g=k[g>>2]|0;if(!g){Ta=1840;break}}}else{g=ia;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1840;break sa}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break sa}while(0);g=k[g>>2]|0;if(!g){Ta=1840;break}}}else Ta=1840}else{f=0;Ta=1840}while(0);if((Ta|0)==1840){Ta=0;while(1){g=Xa(28)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=p;k[m+12>>2]=q;k[m+16>>2]=u;k[m+20>>2]=v;k[m+24>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[F>>2]|0)+1|0)>>>0);t=+o[J>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ad(Va,f>>>0>>0?g:f);f=k[E>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[G>>2];k[G>>2]=m;k[f>>2]=G;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[F>>2]=(k[F>>2]|0)+1}Qa=H;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[I>>2]>>2]|0)+Qa|0,Sa|0,Ra|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}else k[e+(y<<2)>>2]=k[f+24>>2];y=y+1|0;h=k[K>>2]|0}while((y|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(La=n+(h<<2)|0,(p|0)!=(La|0)):0)k[g>>2]=p+(~((p+-4-La|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[K>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[K>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 5:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;ta:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[Ua>>2]=q;u=q^318;ua:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;va:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break va;if((k[f+4>>2]&p|0)!=(g|0))break va}while((k[f+8>>2]|0)!=(q|0));else do{f=k[f>>2]|0;if(!f)break va;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break va}while((k[f+8>>2]|0)!=(q|0));k[e+(v<<2)>>2]=k[f+12>>2];break ua}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1915;break ua}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=1915;break ua}if((k[g+8>>2]|0)==(q|0)){Ta=1931;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1915;break ua}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=1915;break ua}if((k[g+8>>2]|0)==(q|0)){Ta=1931;break}}else{m=0;Ta=1915}}else{f=0;h=0;m=1;Ta=1915}while(0);if((Ta|0)==1915){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}k[n+8>>2]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Md(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=1931}if((Ta|0)==1931){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break ta;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ga=n+(h<<2)|0,(p|0)!=(Ga|0)):0)k[g>>2]=p+(~((p+-4-Ga|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{F=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[F>>2]=1.0;G=a+80|0;d=k[G>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[G>>2]|0;wa:do if((h|0)>0){y=b+48|0;z=b+40|0;A=Va+4|0;B=Va+12|0;C=Va+8|0;D=a+40|0;E=a+64|0;x=0;d=0;h=0;while(1){v=x+c|0;u=y;q=k[u>>2]|0;u=k[u+4>>2]|0;w=z;w=Af(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;u=Yf(w|0,L|0,q|0,u|0)|0;u=(k[k[b>>2]>>2]|0)+u|0;q=u;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;u=u+4|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;w=Ua;k[w>>2]=q;k[w+4>>2]=u;w=(q^318)+239^u;v=(h|0)==0;xa:do if(!v){p=h+-1|0;n=(p&h|0)==0;if(n)g=w&p;else g=(w>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ya:do if(f|0?(J=k[f>>2]|0,J|0):0){za:do if(n){f=J;while(1){if((k[f+4>>2]&p|0)!=(g|0))break ya;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break za;f=k[f>>2]|0;if(!f)break ya}}else{f=J;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ya;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break za;f=k[f>>2]|0;if(!f)break ya}}while(0);k[e+(x<<2)>>2]=k[f+16>>2];break xa}while(0);if(n)f=p&w;else f=(w>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(N=k[g>>2]|0,(N|0)!=0):0)if(n){g=N;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1996;break xa}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=2012;break xa}g=k[g>>2]|0;if(!g){Ta=1996;break}}}else{g=N;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1996;break xa}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=2012;break xa}g=k[g>>2]|0;if(!g){Ta=1996;break}}}else Ta=1996}else{f=0;Ta=1996}while(0);if((Ta|0)==1996){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;k[Ta>>2]=q;k[Ta+4>>2]=u;k[m+16>>2]=d;k[m+4>>2]=w;k[m>>2]=0;s=+(((k[B>>2]|0)+1|0)>>>0);t=+o[F>>2];do if(v|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Cd(Va,f>>>0>>0?g:f);f=k[A>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&w;break}else{h=f;f=(w>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[C>>2];k[C>>2]=m;k[f>>2]=C;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[B>>2]=(k[B>>2]|0)+1;Ta=2012}if((Ta|0)==2012){Ta=0;Ra=D;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[E>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(x<<2)>>2]=d;d=d+1|0}f=x+1|0;h=k[G>>2]|0;if((f|0)>=(h|0))break wa;x=f;h=k[A>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(sa=n+(h<<2)|0,(p|0)!=(sa|0)):0)k[g>>2]=p+(~((p+-4-sa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[G>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[G>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;Aa:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+4|0;A=Ua+8|0;d=0;y=0;h=0;while(1){n=y+c|0;m=B;g=k[m>>2]|0;m=k[m+4>>2]|0;Sa=C;n=Af(k[Sa>>2]|0,k[Sa+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=Yf(n|0,L|0,g|0,m|0)|0;g=Ua;m=(k[k[b>>2]>>2]|0)+m|0;n=g+12|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));q=k[Ua>>2]|0;u=k[z>>2]|0;v=k[A>>2]|0;x=((q^318)+239^u)+239^v;w=(h|0)==0;Ba:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;Ca:do if(f|0?(ma=k[f>>2]|0,ma|0):0){Da:do if(n){f=ma;while(1){if((k[f+4>>2]&p|0)!=(g|0))break Ca;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break Da}while(0);f=k[f>>2]|0;if(!f)break Ca}}else{f=ma;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break Ca;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break Da}while(0);f=k[f>>2]|0;if(!f)break Ca}}while(0);k[e+(y<<2)>>2]=k[f+20>>2];break Ba}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(oa=k[g>>2]|0,(oa|0)!=0):0)if(n){g=oa;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=2081;break Ba}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=2097;break Ba}}while(0);g=k[g>>2]|0;if(!g){Ta=2081;break}}}else{g=oa;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=2081;break Ba}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=2097;break Ba}}while(0);g=k[g>>2]|0;if(!g){Ta=2081;break}}}else Ta=2081}else{f=0;Ta=2081}while(0);if((Ta|0)==2081){while(1){g=Xa(24)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=q;k[m+12>>2]=u;k[m+16>>2]=v;k[m+20>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Bd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=2097}if((Ta|0)==2097){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break Aa;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Qa=n+(h<<2)|0,(p|0)!=(Qa|0)):0)k[g>>2]=p+(~((p+-4-Qa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{J=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[J>>2]=1.0;K=a+80|0;d=k[K>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[K>>2]|0;if((h|0)>0){C=b+48|0;D=b+40|0;z=Ua+4|0;A=Ua+8|0;B=Ua+12|0;E=Va+4|0;F=Va+12|0;G=Va+8|0;H=a+40|0;I=a+64|0;d=0;y=0;do{m=y+c|0;f=C;g=k[f>>2]|0;f=k[f+4>>2]|0;n=D;m=Af(k[n>>2]|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;f=Yf(m|0,L|0,g|0,f|0)|0;f=(k[k[b>>2]>>2]|0)+f|0;g=Sa;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=Ua;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=k[Va>>2]|0;h=k[E>>2]|0;f=ad(g,h,Ua)|0;if(!f){p=k[Ua>>2]|0;q=k[z>>2]|0;u=k[A>>2]|0;v=k[B>>2]|0;x=(((p^318)+239^q)+239^u)+239^v;w=(h|0)==0;Ea:do if(!w){n=h+-1|0;m=(n&h|0)==0;if(m)f=x&n;else f=(x>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(ja=k[g>>2]|0,(ja|0)!=0):0)if(m){g=ja;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=2153;break Ea}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break Ea}while(0);g=k[g>>2]|0;if(!g){Ta=2153;break}}}else{g=ja;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=2153;break Ea}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break Ea}while(0);g=k[g>>2]|0;if(!g){Ta=2153;break}}}else Ta=2153}else{f=0;Ta=2153}while(0);if((Ta|0)==2153){Ta=0;while(1){g=Xa(28)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=p;k[m+12>>2]=q;k[m+16>>2]=u;k[m+20>>2]=v;k[m+24>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[F>>2]|0)+1|0)>>>0);t=+o[J>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ad(Va,f>>>0>>0?g:f);f=k[E>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[G>>2];k[G>>2]=m;k[f>>2]=G;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[F>>2]=(k[F>>2]|0)+1}Qa=H;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[I>>2]>>2]|0)+Qa|0,Sa|0,Ra|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}else k[e+(y<<2)>>2]=k[f+24>>2];y=y+1|0;h=k[K>>2]|0}while((y|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ma=n+(h<<2)|0,(p|0)!=(Ma|0)):0)k[g>>2]=p+(~((p+-4-Ma|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[K>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[K>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}default:{Va=-1;r=Wa;return Va|0}}while(0);Va=(d|0)==0?-1:d;r=Wa;return Va|0} +function xd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Lb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Lb(a,b);return}function yd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Wb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Wb(a,b);return}function zd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){hc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;hc(a,b);return}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Mb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Mb(a,b);return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Sb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Sb(a,b);return}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Xb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Xb(a,b);return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Nb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nb(a,b);return}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Tb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Tb(a,b);return}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Yb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Yb(a,b);return}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ic(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ic(a,b);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Rb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rb(a,b);return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[b>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;c=(e|0)/12|0;if((e|0)>0)a=0;else return 1;do{Bb(b,a*3|0);a=a+1|0}while((a|0)<(c|0));return 1}d=k[b>>2]|0;if((k[b+4>>2]|0)==(d|0))return 1;c=a+8|0;b=0;a=d;do{Bb(c,k[a+(b<<2)>>2]|0);b=b+1|0;d=k[e>>2]|0;a=k[d>>2]|0}while(b>>>0<(k[d+4>>2]|0)-a>>2>>>0);return 1}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;i=n+16|0;j=n+8|0;l=n;m=k[b>>2]|0;h=k[a+8>>2]<<1;if((m|0)>(h|0))Ba(7101,7136,105,7228);f=k[b+4>>2]|0;if((f|0)>(h|0))Ba(7249,7136,106,7228);g=k[c+(e<<2)>>2]|0;if((g|0)>(h|0))Ba(7284,7136,107,7228);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(h|0))Ba(7324,7136,108,7228);if((m|0)<=-1)Ba(7368,7136,110,7228);if((f|0)<=-1)Ba(7390,7136,111,7228);if((g|0)<=-1)Ba(7412,7136,112,7228);if((b|0)>-1){k[i>>2]=g;k[i+4>>2]=b;k[l>>2]=m;k[l+4>>2]=f;wc(j,a,l,i);k[d>>2]=k[j>>2];k[d+4>>2]=k[j+4>>2];r=n;return}else Ba(7439,7136,113,7228)}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;h=k[a>>2]|0;i=(k[g>>2]|0)-h|0;e=(i|0)/12|0;c=e+1|0;if(c>>>0>357913941)Ba(11055,11078,304,11175);j=a+8|0;d=((k[j>>2]|0)-h|0)/12|0;f=d<<1;f=d>>>0<178956970?(f>>>0>>0?c:f):357913941;if(!f)c=0;else{if(f>>>0>357913941){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}d=f*12|0;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(e*12|0)|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];d=e+(((i|0)/-12|0)*12|0)|0;if((i|0)>0)xe(d|0,h|0,i|0)|0;k[a>>2]=d;k[g>>2]=e+12;k[j>>2]=c+(f*12|0);if(!h)return;gb(h);return}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;c=k[l>>2]|0;if(d-c>>2>>>0>=b>>>0){Ke(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);return}i=k[a>>2]|0;h=c-i|0;g=h>>2;c=g+b|0;if(c>>>0>1073741823)Ba(11055,11078,304,11175);e=d-i|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;if(!f)c=0;else{if(f>>>0>1073741823){l=Da(4)|0;k[l>>2]=5228;ra(l|0,736,67)}d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(g<<2)|0;Ke(e|0,0,b<<2|0)|0;d=e+(0-g<<2)|0;if((h|0)>0)xe(d|0,i|0,h|0)|0;k[a>>2]=d;k[l>>2]=e+(b<<2);k[j>>2]=c+(f<<2);if(!i)return;gb(i);return}function Md(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){kc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kc(a,b);return}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;i=k[a>>2]|0;g=i;if((((k[h>>2]|0)-i|0)/12|0)>>>0>=b>>>0)return;j=a+4|0;d=k[j>>2]|0;f=(d-i|0)/12|0;if(!b)e=0;else{if(b>>>0>357913941){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}e=b*12|0;e=(e|0)==0?1:e;while(1){c=Xa(e)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}e=c}c=e+(f*12|0)|0;f=c;e=e+(b*12|0)|0;if((d|0)==(g|0))c=f;else do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(g|0));k[a>>2]=c;k[j>>2]=f;k[h>>2]=e;if(!i)return;gb(i);return}function Od(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}ee(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}gb(b);return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;j=(k[h>>2]|0)-i|0;g=j>>2;c=g+1|0;if(c>>>0>1073741823)Ba(11055,11078,304,11175);l=a+8|0;e=(k[l>>2]|0)-i|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;if(!f)c=0;else{if(f>>>0>1073741823){l=Da(4)|0;k[l>>2]=5228;ra(l|0,736,67)}d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(g<<2)|0;k[e>>2]=k[b>>2];d=e+(0-g<<2)|0;if((j|0)>0)xe(d|0,i|0,j|0)|0;k[a>>2]=d;k[h>>2]=e+4;k[l>>2]=c+(f<<2);if(!i)return;gb(i);return}function Qd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4172;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);e=k[a+36>>2]|0;b=e;if(e|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(e)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}gb(b)}k[a>>2]=2940;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(d);return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;f=g;c=a+12|0;d=b+16|0;e=d;h=k[e+4>>2]|0;if((h|0)>0|(h|0)==0&(k[e>>2]|0)>>>0>0){r=g;return 1}e=b+4|0;yc(b,k[e>>2]|0,c,c+4|0);h=d;d=k[h+4>>2]|0;a=a+16|0;if((d|0)>0|(d|0)==0&(k[h>>2]|0)>>>0>0){r=g;return 1}h=k[e>>2]|0;k[f>>2]=h;yc(b,h,a,a+4|0);r=g;return 1}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=k[c+(d<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{ab(b,c,a)|0;return}case 2:{_a(b,c,a)|0;return}case 3:{Za(b,c,a)|0;return}case 4:{Ya(b,c,a)|0;return}default:return}}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=a+8|0;if(k[m>>2]<<5>>>0>=b>>>0)return;if((b|0)<0)Ba(11055,11078,304,11175);l=((b+-1|0)>>>5)+1|0;c=l<<2;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}e=b;c=k[a>>2]|0;f=a+4|0;g=k[f>>2]|0;d=c;g=(g&31)+(d+(g>>>5<<2)-c<<3)|0;if((g|0)>0?(h=g>>>5,hf(b|0,c|0,h<<2|0)|0,i=g-(h<<5)|0,j=b+(h<<2)|0,(i|0)>0):0){i=-1>>>(32-i|0);k[j>>2]=k[j>>2]&~i|k[d+(h<<2)>>2]&i}b=k[a>>2]|0;k[a>>2]=e;k[f>>2]=g;k[m>>2]=l;if(!b)return;gb(b);return}function Ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=a+8|0;k[i>>2]=e;h=e>>>0>1073741823?-1:e<<2;f=(h|0)==0?1:h;while(1){a=Xa(f)|0;if(a|0){g=a;break}a=k[2993]|0;k[2993]=a+0;if(!a){g=0;break}Na[a&1]()}Ke(g|0,0,h|0)|0;Jd(i,g,b,c,0);if((e|0)>=(d|0)){gb(g);return 1}f=0-e|0;a=e;do{h=c+(a<<2)|0;Jd(i,h+(f<<2)|0,b,h,a);a=a+e|0}while((a|0)<(d|0));gb(g);return 1}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;e=k[c+4>>2]|0;c=(k[c+8>>2]|0)-e|0;if((c|0)>0){d=c>>2;c=0;do{if((k[e+(c<<2)>>2]|0)==(b|0))break a;c=c+1|0}while((c|0)<(d|0))}a=a+1|0;if(a>>>0>=f>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function Wd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;a=d-e|0;if((a|0)>0){f=0-e|0;do{d=b+(a<<2)|0;gc(g,d,d+(f<<2)|0,c,a);a=a-e|0}while((a|0)>0)}d=e>>>0>1073741823?-1:e<<2;f=(d|0)==0?1:d;while(1){a=Xa(f)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}Ke(a|0,0,d|0)|0;gc(g,b,a,c,0);gb(a);return 1}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;i=k[a>>2]|0;if((k[h>>2]|0)-i>>2>>>0>=b>>>0)return;j=a+4|0;g=(k[j>>2]|0)-i|0;f=g>>2;if(!b)c=0;else{if(b>>>0>1073741823){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(f<<2)|0;d=e+(0-f<<2)|0;if((g|0)>0)xe(d|0,i|0,g|0)|0;k[a>>2]=d;k[j>>2]=e;k[h>>2]=c+(b<<2);if(!i)return;gb(i);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;g=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;f=k[d+4>>2]|0;d=(k[d+8>>2]|0)-f|0;if((d|0)>0){e=d>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break b;d=d+1|0}while((d|0)<(e|0))}c=c+1|0;if(c>>>0>=g>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;i[a+53>>0]=1;do if((k[a+4>>2]|0)==(c|0)){i[a+52>>0]=1;e=a+16|0;c=k[e>>2]|0;if(!c){k[e>>2]=b;k[a+24>>2]=d;k[a+36>>2]=1;if(!((d|0)==1?(k[a+48>>2]|0)==1:0))break;i[a+54>>0]=1;break}if((c|0)!=(b|0)){d=a+36|0;k[d>>2]=(k[d>>2]|0)+1;i[a+54>>0]=1;break}e=a+24|0;c=k[e>>2]|0;if((c|0)==2){k[e>>2]=d;c=d}if((c|0)==1?(k[a+48>>2]|0)==1:0)i[a+54>>0]=1}while(0);return}function _d(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);gb(d);return}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Pc(a,b,c);d=k[a+80>>2]|0;a=(k[a+84>>2]|0)-d|0;if((a|0)<=0)return;b=k[b>>2]|0;c=(a|0)/12|0;a=0;do{e=d+(a*12|0)|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function ae(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[g>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+e>>0]|0;f=Yf(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=L;k[a+32>>2]=h&255;h=cc(a,b,c)|0;return h|0}function ce(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;Mc(a,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);gb(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);gb(d);r=f;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;if((b|0)>=33)Ba(9986,5240,153,10037);if((b|0)<=0)Ba(10066,5240,154,10037);g=a+8|0;h=a+4|0;f=0-(l[a+12>>0]|0)&255;e=0;d=k[g>>2]|0;do{if(d>>>0<4096){i=(k[h>>2]|0)+-1|0;k[h>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[g>>2]=d}m=d&255;j=_(d>>>8,f)|0;i=m>>>0>>0;d=i?j+m|0:d-f-j|0;k[g>>2]=d;e=i&1|e<<1;b=b+-1|0}while((b|0)!=0);k[c>>2]=e;return}function ee(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;if(b|0)gb(b);b=k[a>>2]|0;if(!b)return;gb(b);return}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;e=g;if((a|0)!=(b|0))if((b|0)!=0?(f=sd(b,680)|0,(f|0)!=0):0){b=e+4|0;d=b+52|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[e>>2]=f;k[e+8>>2]=a;k[e+12>>2]=-1;k[e+48>>2]=1;Qa[k[(k[f>>2]|0)+28>>2]&3](f,e,k[c>>2]|0,1);if((k[e+24>>2]|0)==1){k[c>>2]=k[e+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0,g=0,h=0;c=a+16|0;f=+p[c>>3];if(!(f<=1.0))Ba(5338,5351,22,5380);if(!(f>=0.0))Ba(5398,5351,23,5380);d=~~(f*256.0+.5)>>>0;d=d-((d|0)==256&1)|0;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){h=a+4|0;g=(k[h>>2]|0)+-1|0;k[h>>2]=g;b=l[(k[a>>2]|0)+g>>0]|0|b<<8;k[e>>2]=b}a=b&255;d=0-(d+((d|0)==0&1))&255;g=_(b>>>8,d)|0;h=a>>>0>>0;k[e>>2]=h?g+a|0:b-d-g|0;p[c>>3]=f*.9921875+ +(h&1^1|0)*.0078125;return h|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4404;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2968;e=a+8|0;b=k[e>>2]|0;if(!b){gb(a);return}d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[d>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}gb(b);gb(a);return}function ie(){var a=0,b=0;while(1){a=Xa(88)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;b=a+64|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;i[b+20>>0]=0;return a|0}function je(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4404;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2968;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ja[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}gb(b);return}function ke(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+64>>2]|0)){d=0;return d|0}d=a+4|0;c=a+8|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Ra(a,a,0)|0)){a=0;b=5;break}a=k[d>>2]|0;if((b|0)>=((k[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function le(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+20>>2]|0;h=f+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[f>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=b;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function me(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4556;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4580;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function ne(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4512;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4536;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function oe(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4556;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4580;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b)return;gb(b);return}function pe(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4512;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4536;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b)return;gb(b);return}function qe(){var a=0,b=0;while(1){a=Xa(64)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return a|0}function re(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3548;b=k[a+76>>2]|0;if(b|0)gb(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)gb(b);k[a>>2]=3100;d=k[a+32>>2]|0;if(!d){gb(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(d);gb(a);return}function se(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3612;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)gb(b);k[a>>2]=3048;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){gb(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);gb(a);return}function te(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2908;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+68>>2]|0;if(!b){_c(a);gb(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);_c(a);gb(a);return}function ue(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3356;b=k[a+76>>2]|0;if(b|0)gb(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)gb(b);k[a>>2]=3100;d=k[a+32>>2]|0;if(!d){gb(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(d);gb(a);return}function ve(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2968;d=a+8|0;b=k[d>>2]|0;if(!b){gb(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}gb(b);gb(a);return}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+16|0;e=k[d>>2]|0;do if(e){if((e|0)!=(b|0)){c=a+36|0;k[c>>2]=(k[c>>2]|0)+1;k[a+24>>2]=2;i[a+54>>0]=1;break}a=a+24|0;if((k[a>>2]|0)==2)k[a>>2]=c}else{k[d>>2]=b;k[a+24>>2]=c;k[a+36>>2]=1}while(0);return}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return wa(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function ye(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;gb(c)}gb(b)}gb(a);return}function ze(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2908;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+68>>2]|0;if(!b){_c(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);_c(a);return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ba(9441,9457,62,9485);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)<=(c|0))Ba(9495,9457,63,9485);b=k[b+(c<<2)>>2]|0;k[a+8>>2]=b;k[a+12>>2]=c;if((i[b+24>>0]|0)!=3){c=0;return c|0}c=(k[b+28>>2]|0)==9;return c|0}function Be(a){a=a|0;var b=0,c=0;k[a>>2]=3548;b=k[a+76>>2]|0;if(b|0)gb(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)gb(b);k[a>>2]=3100;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(c);return}function Ce(a){a=a|0;var b=0,c=0;k[a>>2]=3612;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)gb(b);k[a>>2]=3048;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(c);return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f;d=f+20|0;k[g>>2]=k[a+60>>2];k[g+4>>2]=0;k[g+8>>2]=b;k[g+12>>2]=d;k[g+16>>2]=c;a=ya(140,g|0)|0;if(a>>>0<=4294963200)if((a|0)<0)e=5;else a=k[d>>2]|0;else{k[2868]=0-a;e=5}if((e|0)==5){k[d>>2]=-1;a=-1}r=f;return a|0}function Ee(a){a=a|0;var b=0,c=0;k[a>>2]=3356;b=k[a+76>>2]|0;if(b|0)gb(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)gb(b);k[a>>2]=3100;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(c);return}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2968;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ja[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}gb(b);return}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ba(9441,9457,62,9485);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)>(c|0)){d=b+(c<<2)|0;k[a+8>>2]=k[d>>2];k[a+12>>2]=c;return (k[(k[d>>2]|0)+28>>2]|0)==9|0}else Ba(9495,9457,63,9485);return 0}function He(){var a=0,b=0,c=0;while(1){a=Xa(92)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}b=a+4|0;c=b+64|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[a>>2]=2908;c=a+68|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;return a|0}function Ie(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(Pa[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;if(!(La[k[(k[a>>2]|0)+44>>2]&127](a)|0)){c=0;return c|0}c=cc(a,b,c)|0;return c|0}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function Le(){var a=0,b=0;while(1){a=Xa(40)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;return a|0}function Me(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3048;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){gb(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(d);gb(a);return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ba(9441,9457,62,9485);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)>(c|0)){k[a+8>>2]=k[b+(c<<2)>>2];k[a+12>>2]=c;return 1}else Ba(9495,9457,63,9485);return 0}function Oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Zd(b,c,d,e);else{a=k[a+8>>2]|0;Oa[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Pe(a){a=a|0;var b=0,c=0;k[a>>2]=3048;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(c);return}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;if(!(nc(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){c=0;return c|0}c=Ha[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0;return c|0}function Re(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))we(b,c,d);else{a=k[a+8>>2]|0;Qa[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Te(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function Ue(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[t>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ga()|0;ta(12);return -1}k[t>>2]=a;if((a|0)>(fa()|0)?(ea()|0)==0:0){ta(12);k[t>>2]=b;return -1}return b|0}function Ve(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function We(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function Xe(a){a=a|0;var b=0,c=0;k[a>>2]=3916;b=k[a+52>>2]|0;if(b|0)gb(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){gb(a);return}gb(b);gb(a);return}function Ye(){var a=0,b=0,c=0;while(1){a=Xa(68)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=2872;b=a+4|0;c=b+64|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));return a|0}function Ze(a){a=a|0;var b=0,c=0;k[a>>2]=4108;b=k[a+52>>2]|0;if(b|0)gb(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){gb(a);return}gb(b);gb(a);return}function _e(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;nd(a+20|0,d,c);r=b;return}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=a;a=b-a>>2;while(1){if(!a)break;b=(a|0)/2|0;f=d+(b<<2)|0;e=(k[f>>2]|0)>>>0>>0;d=e?f+4|0:d;a=e?a+-1-b|0:b}return d|0}function af(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+36>>2]=b;b=1;return b|0}function bf(a){a=a|0;var b=0;k[a>>2]=3916;b=k[a+52>>2]|0;if(b|0)gb(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;gb(a);return}function cf(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;nd(a+20|0,d,c);r=b;return}function df(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3100;b=k[a+32>>2]|0;if(!b){gb(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);gb(a);return}function ef(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+60>>2]=b;b=1;return b|0}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (L=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function gf(a){a=a|0;var b=0;k[a>>2]=4108;b=k[a+52>>2]|0;if(b|0)gb(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;gb(a);return}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else xe(a,b,c)|0;return a|0}function jf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Zd(b,c,d,e);return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}gb(a);return}function lf(a){a=a|0;var b=0,c=0;k[a>>2]=3100;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);gb(c);return}function mf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<=-1)Ba(9441,9457,54,9485);a=k[b+4>>2]|0;if(((k[b+8>>2]|0)-a>>2|0)>(c|0))return k[a+(c<<2)>>2]|0;else Ba(9495,9457,55,9485);return 0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)==-1|(c|0)>3){c=-1;return c|0}a=k[b+16+(c*12|0)>>2]|0;if(((k[b+16+(c*12|0)+4>>2]|0)-a|0)<=0){c=-1;return c|0}c=k[a>>2]|0;return c|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=Ha[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function pf(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2940;b=k[a+4>>2]|0;if(!b){gb(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);gb(a);return}function qf(){var a=0;while(1){a=Xa(12)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return a|0}function rf(a,b){a=a|0;b=b|0;var c=0;i[b+84>>0]=1;c=k[b+68>>2]|0;a=b+72|0;b=k[a>>2]|0;if((b|0)==(c|0))return 1;k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);return 1}function sf(){var a=0,b=0;while(1){a=Xa(1)|0;if(a|0){b=5;break}a=k[2993]|0;k[2993]=a+0;if(!a){a=0;b=5;break}Na[a&1]()}if((b|0)==5)return a|0;return 0}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))we(b,c,d);return}function uf(a){a=a|0;var b=0,c=0;k[a>>2]=2940;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);gb(c);return}function vf(a){a=a|0;var b=0;k[a>>2]=4580;b=k[a+20>>2]|0;if(b|0)gb(b);b=k[a+8>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function wf(a){a=a|0;var b=0;k[a>>2]=4536;b=k[a+20>>2]|0;if(b|0)gb(b);b=k[a+8>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function xf(a,b){a=a|0;b=b|0;if(!b)return 0;else Ba(7916,7927,75,8007);return 0}function yf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=ua(6,c|0)|0;if(a>>>0>4294963200){k[2868]=0-a;a=-1}r=b;return a|0}function zf(a){a=a|0;var b=0;k[a>>2]=4580;b=k[a+20>>2]|0;if(b|0)gb(b);a=k[a+8>>2]|0;if(!a)return;gb(a);return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ff(e,f)|0;a=L;return (L=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Bf(a){a=a|0;var b=0;k[a>>2]=4536;b=k[a+20>>2]|0;if(b|0)gb(b);a=k[a+8>>2]|0;if(!a)return;gb(a);return}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;c=a+16|0;k[c>>2]=0;k[c+4>>2]=0;return}function Df(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ka[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ef(a){a=a|0;rc(a);gb(a);return}function Ff(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Oa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Gf(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return La[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>2]|0;return Pa[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function Jf(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Pa[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Lf(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Pa[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function Mf(){}function Nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function Of(a){a=a|0;uc(a);gb(a);return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Qf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ia[a&3](b|0,c|0,d|0,e|0,f|0)}function Rf(a){a=a|0;a=k[a+28>>2]|0;return La[k[(k[a>>2]|0)+28>>2]&127](a)|0}function Sf(a){a=a|0;a=k[a+28>>2]|0;return La[k[(k[a>>2]|0)+24>>2]&127](a)|0}function Tf(a,b){a=a|0;b=b|0;return Pa[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function Uf(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function Vf(a){a=a|0;return 3}function Wf(a){a=a|0;a=k[a+28>>2]|0;return La[k[(k[a>>2]|0)+36>>2]&127](a)|0}function Xf(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Zf(a){a=a|0;if(!a)return;Ja[k[(k[a>>2]|0)+4>>2]&127](a);return}function _f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Qa[a&3](b|0,c|0,d|0,e|0)}function $f(a){a=a|0;Qd(a);gb(a);return}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ha[a&31](b|0,c|0,d|0)|0}function bg(a){a=a|0;if(!a)a=0;else a=(sd(a,768)|0)!=0;return a&1|0}function cg(a){a=a|0;return k[a+8>>2]|0}function dg(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function eg(a,b){a=a|0;b=b|0;return -1}function fg(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function gg(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ma[a&7](b|0,c|0,d|0)}function ig(a){a=a|0;return k[a+4>>2]|0}function jg(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kg(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function lg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(3);return 0}function mg(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function ng(a,b,c){a=a|0;b=b|0;c=c|0;return Pa[a&63](b|0,c|0)|0}function og(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(7)}function pg(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function qg(){Ba(11055,11078,304,11175)}function rg(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function tg(a){a=a|0;return i[a+24>>0]|0}function ug(a){a=a|0;return m[a+60>>1]|0|0}function vg(a){a=a|0;return k[a+56>>2]|0}function wg(a){a=a|0;return 2}function xg(a,b){a=a|0;b=b|0;return 0}function yg(a){a=a|0;_c(a);gb(a);return}function zg(a){a=a|0;return k[a+40>>2]|0}function Ag(a){a=a|0;return k[a+48>>2]|0}function Bg(a){a=a|0;if(a|0)gb(a);return}function Cg(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function Dg(a){a=a|0;return k[a+28>>2]|0}function Eg(a){a=a|0;return k[a+80>>2]|0}function Fg(a,b){a=a|0;b=b|0;r=a;s=b}function Gg(a){a=a|0;return k[a+64>>2]|0}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(9)}function Ig(a,b){a=a|0;b=b|0;Ja[a&127](b|0)}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;ca(0);return 0}function Kg(a){a=a|0;return 1}function Lg(a){a=a|0;return 0}function Mg(){return 3}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;ca(5)}function Og(){return 0}function Pg(){return -1}function Qg(){return 4}function Rg(){return 1}function Sg(){return 2}function Tg(a,b){a=a|0;b=b|0;ca(8);return 0}function Ug(a){a=a|0;gb(a);return}function Vg(a){a=a|0;return 11370}function Wg(a){a=a|0;Na[a&1]()}function Xg(){Ca()}function Yg(a){a=a|0;return}function Zg(a){a=a|0;r=a}function _g(a){a=a|0;L=a}function $g(a){a=a|0;ca(4);return 0}function ah(){return L|0}function bh(){return r|0}function ch(a){a=a|0;ca(2)}function dh(){ca(6)} + +// EMSCRIPTEN_END_FUNCS +var Ha=[Jg,Pf,Ne,Qe,rd,Ne,hd,cc,ob,Ge,Je,Ae,be,zb,id,De,fe,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg];var Ia=[sg,ae,gd,sg];var Ja=[ch,_c,yg,bb,ze,te,uf,pf,Fe,ve,Yg,Ug,Pe,Me,lf,df,df,df,df,Ee,ue,df,df,Be,re,Ce,se,Me,Yg,Ug,Ug,Ug,bf,Xe,Ug,Ug,gf,Ze,Qd,$f,ve,Yg,Ug,ve,pf,ve,je,he,uc,Of,pe,ne,Bf,wf,cf,oe,me,zf,vf,_e,rc,Ef,Yg,Ug,Yg,Yg,Ug,Yg,Ug,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch];var Ka=[lg,Gb,bc,nb,tb,jb,pb,hb,rb,qb,wb,fb,mb,kb,sb,Wd,Ud,sc,vc,Jb,Pb,xb,Eb,pc,tc,Qb,Vb,ub,Cb,lg,lg,lg];var La=[$g,ke,Lg,Kg,Kg,dd,Ie,Kg,dg,ig,Lg,Lg,Kg,Lg,Kg,Kg,We,wg,We,Vf,Te,Kg,Kg,We,wg,We,Vf,Te,Kg,Bc,wg,Lg,ig,Kg,Lg,Kg,wg,Kg,Ve,wg,Ve,Vf,Re,Kg,Kg,Ve,wg,Ve,Vf,Re,Kg,le,Lc,le,Kg,Gf,Lg,eb,Ub,Rf,Wf,Sf,Wa,Kg,ig,cg,Id,vd,Va,Kg,ig,cg,yf,Vg,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g];var Ma=[Ng,Fb,Pc,xc,$d,Ng,Ng,Ng];var Na=[dh,Xg];var Oa=[og,jf,Oe,og];var Pa=[Tg,Db,Xf,wd,lb,eg,xg,Rd,ed,xf,ef,ac,mc,xf,ef,ac,mc,Tf,Tc,Fc,eg,xg,Rd,od,xf,af,$b,qc,xf,af,$b,qc,_b,Sc,Nc,Uc,rf,td,Sa,Uc,xg,xg,Lf,Jf,If,Uf,Vd,Yd,ib,Cc,Ec,Uf,Vd,Yd,ib,Tg,Tg,Tg,Tg,Tg,Tg,Tg,Tg,Tg];var Qa=[Hg,tf,Se,Hg];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:Kb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Le,_bitshift64Shl:Hf,_emscripten_bind_Mesh___destroy___0:Zf,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:qf,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:bd,_emscripten_bind_PointAttribute_byte_offset_0:Ag,_emscripten_bind_PointAttribute_normalized_0:rg,_bitshift64Lshr:Kf,_i64Subtract:Nf,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:oc,_i64Add:Yf,_malloc:Xa,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Rg,___cxa_is_pointer_type:bg,_emscripten_bind_PointAttribute_size_0:Eg,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Sg,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Og,_emscripten_bind_VoidPtr___destroy___0:Bg,_memset:Ke,_emscripten_bind_PointAttribute_attribute_type_0:vg,_sbrk:Ue,_emscripten_bind_DecoderBuffer_Init_2:Cf,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Rg,_emscripten_bind_DecoderBuffer___destroy___0:Bg,_emscripten_bind_PointAttribute_custom_id_0:ug,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Pg,_emscripten_bind_DracoInt32Array___destroy___0:kf,_emscripten_bind_Mesh_num_points_0:Gg,_emscripten_bind_Mesh_Mesh_0:He,_emscripten_bind_WebIDLWrapper_GetAttribute_2:mf,_emscripten_bind_PointAttribute_components_count_0:tg,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Og,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Mg,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Qg,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Kc,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:qf,_emscripten_bind_PointAttribute_data_type_0:Dg,_emscripten_bind_Mesh_num_attributes_0:mg,_emscripten_bind_DracoFloat32Array_GetValue_1:fg,_emscripten_bind_DracoFloat32Array___destroy___0:kf,_emscripten_bind_PointCloud_num_points_0:Gg,_emscripten_bind_PointCloud___destroy___0:Zf,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:qe,___muldsi3:ff,_emscripten_bind_PointAttribute_PointAttribute_0:ie,_free:gb,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Pg,_emscripten_bind_GeometryAttribute___destroy___0:Bg,_emscripten_bind_Mesh_num_faces_0:kg,_emscripten_bind_DracoInt32Array_GetValue_1:gg,_emscripten_bind_PointAttribute_byte_stride_0:zg,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:nf,_memcpy:xe,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:sf,_memmove:hf,___muldi3:Af,_emscripten_bind_PointCloud_num_attributes_0:mg,_emscripten_bind_WebIDLWrapper___destroy___0:Bg,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:vb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Hb,_emscripten_bind_PointCloud_PointCloud_0:Ye,_emscripten_bind_PointAttribute___destroy___0:ye,___cxa_can_catch:of,runPostSets:Mf,_emscripten_replace_memory:Ga,stackAlloc:jg,stackSave:bh,stackRestore:Zg,establishStackSpace:Fg,setThrew:pg,setTempRet0:_g,getTempRet0:ah,dynCall_iiii:ag,dynCall_viiiii:Qf,dynCall_vi:Ig,dynCall_iiiiiii:Df,dynCall_ii:Cg,dynCall_viii:hg,dynCall_v:Wg,dynCall_viiiiii:Ff,dynCall_iii:ng,dynCall_viiii:_f}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_PointAttribute_custom_id_0=Module["_emscripten_bind_PointAttribute_custom_id_0"]=asm["_emscripten_bind_PointAttribute_custom_id_0"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){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;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=3;break}for(var i=0;i

>>0){b=0;return b|0}xe(k[a>>2]|0,(k[b>>2]|0)+f|0,q|0)|0;b=t;q=Yf(k[b>>2]|0,k[b+4>>2]|0,q|0,0)|0;b=t;k[b>>2]=q;k[b+4>>2]=L;k[s>>2]=k[a>>2];k[r>>2]=0;b=1;return b|0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)==(m|0)){n=0;o=a+8|0;p=a+4|0}else{j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){a=b>>2;b=0;do{e=k[c+(b<<2)>>2]|0;if(i[e+84>>0]|0)break b;e=k[e+68>>2]|0;k[e+(g<<2)>>2]=k[e+(f<<2)>>2];b=b+1|0}while((b|0)<(a|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=c;o=h;p=l;break a}}Ba(10323,10342,80,10374)}while(0);b=k[o>>2]|0;c=k[p>>2]|0;if((b-c|0)>0)h=0;else return;do{d=k[c+(h<<2)>>2]|0;i[d+84>>0]=0;a=d+68|0;d=d+72|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(n>>>0<=e>>>0){if(n>>>0>>0?(q=f+(n<<2)|0,(g|0)!=(q|0)):0)k[d>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{jd(a,n-e|0,2896);c=k[p>>2]|0;b=k[o>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function Qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;p[a+16>>3]=.5;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;g=b+16|0;h=g;c=k[h>>2]|0;h=Yf(c|0,k[h+4>>2]|0,4,0)|0;i=L;if((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0){i=0;return i|0}b=k[b>>2]|0;f=b+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;c=g;k[c>>2]=h;k[c+4>>2]=i;e=Nf(d|0,e|0,h|0,i|0)|0;d=L;if(0>(d|0)|0==(d|0)&f>>>0>e>>>0){i=0;return i|0}b=b+h|0;if((f|0)<1){i=0;return i|0}k[a>>2]=b;c=f+-1|0;d=b+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+4>>2]=c;c=(l[d>>0]|0)&63;b=a+8|0;k[b>>2]=c;break}case 1:if((f|0)<2){i=0;return i|0}else{k[a+4>>2]=f+-2;c=b+f+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);b=a+8|0;k[b>>2]=c;break a}case 2:if((f|0)<3){i=0;return i|0}else{k[a+4>>2]=f+-3;c=b+f+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;b=a+8|0;k[b>>2]=c;break a}default:{i=0;return i|0}}while(0);a=c+4096|0;k[b>>2]=a;if(a>>>0>1048575){i=0;return i|0}h=Yf(h|0,i|0,f|0,0)|0;i=g;k[i>>2]=h;k[i+4>>2]=L;i=1;return i|0}function Rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;c=k[a>>2]|0;if(b){m=c+8|0;b=m;b=Yf(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[m>>2]=b;k[m+4>>2]=L;m=a+28|0;b=k[m>>2]|0;l=a+24|0;k[l>>2]=k[l>>2]|1<>2]|0,k[m+4>>2]|0,1,0)|0;b=c;k[b>>2]=m;k[b+4>>2]=L;b=a+28|0;m=b;b=k[b>>2]|0}l=b+1|0;k[m>>2]=l;if((l|0)!=32)return;i=a+24|0;j=a+16|0;b=k[j>>2]|0;l=a+20|0;h=k[l>>2]|0;c=h;if((b|0)==(h|0)){g=a+12|0;h=k[g>>2]|0;f=b-h|0;e=f>>2;b=e+1|0;if(b>>>0>1073741823)Ba(11055,11078,304,11175);a=c-h|0;d=a>>1;d=a>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(!d)b=0;else{if(d>>>0>1073741823){m=Da(4)|0;k[m>>2]=5228;ra(m|0,736,67)}c=d<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}a=b+(e<<2)|0;k[a>>2]=k[i>>2];c=a+(0-e<<2)|0;if((f|0)>0)xe(c|0,h|0,f|0)|0;k[g>>2]=c;k[j>>2]=a+4;k[l>>2]=b+(d<<2);if(h|0)gb(h)}else{k[b>>2]=k[i>>2];k[j>>2]=b+4}k[m>>2]=0;k[i>>2]=0;return}function Sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){o=0;return o|0}o=a+36|0;k[c+4>>2]=o;if(!(La[k[(k[c>>2]|0)+12>>2]&127](c)|0)){o=0;return o|0}m=a+4|0;n=a+8|0;c=k[n>>2]|0;d=k[m>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;c=d;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[c+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if(((k[e+8>>2]|0)-d>>2|0)<=(c|0)){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(Pa[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}d=k[n>>2]|0;c=k[m>>2]|0;if((f|0)>=(d-c>>2|0)){i=c;j=d;break a}}if((c|0)==9)Ba(9441,9457,62,9485);else if((c|0)==11)Ba(9495,9457,63,9485);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){o=1;return o|0}d=a+24|0;c=0;while(1){l=k[(k[d>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Ha[k[(k[l>>2]|0)+16>>2]&31](l,o,b)|0)){l=0;c=15;break}if((c|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0.0,l=0,m=0,n=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0;e=k[a+32>>2]|0;r=a+8|0;f=i[(k[r>>2]|0)+24>>0]|0;q=f<<24>>24;s=q<<2;d=q>>>0>1073741823?-1:q<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){p=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){p=0;break}Na[c&1]()}n=+o[a+40>>2];j=1.0/+((1<>24>0){e=0;a=0;c=0}else{c=0;d=0;while(1){xe((k[k[(k[r>>2]|0)+64>>2]>>2]|0)+d|0,p|0,s|0)|0;c=c+1|0;if((c|0)==(b|0))break;else d=d+s|0}gb(p);return 1}a:while(1){g=k[l>>2]|0;f=(k[m>>2]|0)-g>>2;d=0;do{if(f>>>0<=c>>>0){c=9;break a}v=c;c=c+1|0;v=k[g+(v<<2)>>2]|0;u=(v|0)<0;t=j*+((u?0-v|0:v)|0);o[p+(d<<2)>>2]=+o[(k[h>>2]|0)+(d<<2)>>2]+n*(u?-t:t);d=d+1|0}while((d|0)<(q|0));xe((k[k[(k[r>>2]|0)+64>>2]>>2]|0)+a|0,p|0,s|0)|0;e=e+1|0;if(e>>>0>=b>>>0){c=13;break}else a=a+s|0}if((c|0)==9)Ba(11196,11078,315,11219);else if((c|0)==13){gb(p);return 1}return 0}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;while(1){c=Xa(52)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}while(1){d=Xa(12)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}h=k[(k[a+4>>2]|0)+64>>2]|0;k[d+4>>2]=0;k[d>>2]=4248;k[d+8>>2]=h;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[c>>2]=4172;h=c+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[c+48>>2]=d;h=c;g=a+8|0;f=a+12|0;c=k[f>>2]|0;d=k[g>>2]|0;a=c-d>>2;do if((a|0)<=(b|0)){e=b+1|0;if(e>>>0>a>>>0){Xc(g,e-a|0);break}if(e>>>0>>0?(i=d+(e<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;k[f>>2]=e;c=k[e>>2]|0;k[e>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[f>>2]|0}while((c|0)!=(i|0))}while(0);i=(k[g>>2]|0)+(b<<2)|0;c=k[i>>2]|0;k[i>>2]=h;if(!c)return 1;Ja[k[(k[c>>2]|0)+4>>2]&127](c);return 1}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=k[a>>2]|0;h=f+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);h=k[a+64>>2]|0;e=(b|0)<0;d=b+1|0;if(!e?(c=((d|0)%3|0|0)==0?b+-2|0:d,(c|0)>=0):0)c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;else c=-1073741824;g=a+12|0;d=(k[g>>2]|0)+(c>>>5<<2)|0;k[d>>2]=k[d>>2]|1<<(c&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((c|0)<0)c=-1073741824;else c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=(k[g>>2]|0)+(c>>>5<<2)|0;k[d>>2]=k[d>>2]|1<<(c&31);d=k[(k[h+12>>2]|0)+(b<<2)>>2]|0;if((d|0)<=-1)return;i[a+24>>0]=0;c=f+(d>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;f=(k[g>>2]|0)+(c>>>5<<2)|0;k[f>>2]=k[f>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(c>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(c&31);return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=j[c>>1]|0;l=j[c+2>>1]|0;i=j[c+4>>1]|0;g=j[c+6>>1]|0;c=(((h&65535^318)+239^l&65535)+239^i&65535)+239^g&65535;if(!b){l=0;return l|0}e=b+-1|0;d=(e&b|0)==0;if(d)f=c&e;else f=(c>>>0)%(b>>>0)|0;c=k[a+(f<<2)>>2]|0;if(!c){l=0;return l|0}c=k[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((k[c+4>>2]&e|0)!=(f|0)){c=0;a=20;break}if((((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==i<<16>>16:0)?(j[c+14>>1]|0)==g<<16>>16:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(b>>>0)|0|0)!=(f|0)){c=0;a=20;break}if((((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==i<<16>>16:0)?(j[c+14>>1]|0)==g<<16>>16:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){Ke(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;i=c-f>>2;j=i+b|0;if(j>>>0>1073741823)Ba(11055,11078,304,11175);l=f;g=d-f|0;h=g>>1;h=g>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;if(!h)g=0;else{if(h>>>0>1073741823){n=Da(4)|0;k[n>>2]=5228;ra(n|0,736,67)}e=h<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}g=d}d=g+(i<<2)|0;Ke(d|0,0,b<<2|0)|0;e=d;h=g+(h<<2)|0;g=g+(j<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;j=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=j;d=e+-4|0;e=d}while((c|0)!=(l|0));f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=e;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ja[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;gb(f);return}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=i[c>>0]|0;l=i[c+1>>0]|0;j=i[c+2>>0]|0;g=i[c+3>>0]|0;c=(((h&255^318)+239^l&255)+239^j&255)+239^g&255;if(!b){l=0;return l|0}e=b+-1|0;d=(e&b|0)==0;if(d)f=c&e;else f=(c>>>0)%(b>>>0)|0;c=k[a+(f<<2)>>2]|0;if(!c){l=0;return l|0}c=k[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((k[c+4>>2]&e|0)!=(f|0)){c=0;a=20;break}if((((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==l<<24>>24:0)?(i[c+10>>0]|0)==j<<24>>24:0)?(i[c+11>>0]|0)==g<<24>>24:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(b>>>0)|0|0)!=(f|0)){c=0;a=20;break}if((((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==l<<24>>24:0)?(i[c+10>>0]|0)==j<<24>>24:0)?(i[c+11>>0]|0)==g<<24>>24:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;f=k[j>>2]|0;l=a+4|0;d=k[l>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[l>>2]|0)+12|0;k[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=k[a>>2]|0;g=(d-e|0)/12|0;d=g+b|0;if(d>>>0>357913941)Ba(11055,11078,304,11175);h=(f-e|0)/12|0;i=h<<1;i=h>>>0<178956970?(i>>>0>>0?d:i):357913941;if(!i)d=0;else{if(i>>>0>357913941){l=Da(4)|0;k[l>>2]=5228;ra(l|0,736,67)}e=i*12|0;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}h=d+(g*12|0)|0;e=h;g=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=g+12|0;g=e;b=b+-1|0}while((b|0)!=0);e=k[a>>2]|0;f=(k[l>>2]|0)-e|0;b=h+(((f|0)/-12|0)*12|0)|0;if((f|0)>0)xe(b|0,e|0,f|0)|0;k[a>>2]=b;k[l>>2]=g;k[j>>2]=d+(i*12|0);if(!e)return;gb(e);return}function _c(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;k[a>>2]=2872;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+16>>2]|0;c=b;if(b|0){d=a+20|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}h=a+4|0;b=k[h>>2]|0;if(!b)return;g=a+8|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[g>>2]=a;f=k[a>>2]|0;k[a>>2]=0;if(f|0){c=k[f+68>>2]|0;d=c;if(c|0){e=f+72|0;a=k[e>>2]|0;if((a|0)!=(c|0))k[e>>2]=a+(~((a+-4-d|0)>>>2)<<2);gb(c)}a=f+64|0;c=k[a>>2]|0;k[a>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;gb(d)}gb(c)}gb(f)}c=k[g>>2]|0}while((c|0)!=(b|0));b=k[h>>2]|0}gb(b);return}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;k[a>>2]=4580;k[a+4>>2]=k[b+4>>2];f=a+8|0;k[f>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;i=b+12|0;c=k[i>>2]|0;if(c|0){if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[f>>2]=c;k[g>>2]=0;k[h>>2]=e;h=k[b+8>>2]|0;i=k[i>>2]|0;zc(f,h,0,h+(i>>>5<<2)|0,i&31)}h=a+20|0;k[h>>2]=0;i=a+24|0;k[i>>2]=0;f=a+28|0;k[f>>2]=0;g=b+24|0;c=k[g>>2]|0;if(!c)return;if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[h>>2]=c;k[i>>2]=0;k[f>>2]=e;a=k[b+20>>2]|0;b=k[g>>2]|0;zc(h,a,0,a+(b>>>5<<2)|0,b&31);return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[c>>2]|0;i=k[c+4>>2]|0;j=k[c+8>>2]|0;g=k[c+12>>2]|0;c=(((h^318)+239^i)+239^j)+239^g;if(!b){j=0;return j|0}e=b+-1|0;d=(e&b|0)==0;if(d)f=c&e;else f=(c>>>0)%(b>>>0)|0;c=k[a+(f<<2)>>2]|0;if(!c){j=0;return j|0}c=k[c>>2]|0;if(!c){j=0;return j|0}if(d){while(1){if((k[c+4>>2]&e|0)!=(f|0)){c=0;a=20;break}if((((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(i|0):0)?(k[c+16>>2]|0)==(j|0):0)?(k[c+20>>2]|0)==(g|0):0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(b>>>0)|0|0)!=(f|0)){c=0;a=20;break}if((((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(i|0):0)?(k[c+16>>2]|0)==(j|0):0)?(k[c+20>>2]|0)==(g|0):0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+16|0;a=o;j=k[b>>2]|0;n=b+8|0;m=k[n>>2]|0;n=k[n+4>>2]|0;f=b+16|0;e=k[f>>2]|0;f=k[f+4>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;g=Yf(e|0,f|0,5,0)|0;h=L;if(!((n|0)<(h|0)|(n|0)==(h|0)&m>>>0>>0)?(d=j+e|0,i[a>>0]=i[d>>0]|0,i[a+1>>0]=i[d+1>>0]|0,i[a+2>>0]=i[d+2>>0]|0,i[a+3>>0]=i[d+3>>0]|0,i[a+4>>0]=i[d+4>>0]|0,(i[a>>0]|0)==68):0){d=11049;do{a=a+1|0;d=d+1|0;b=i[a>>0]|0;c=i[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=c<<24>>24));d=Yf(e|0,f|0,6,0)|0;a=L;if((((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>g>>>0)&b<<24>>24==c<<24>>24&((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>d>>>0)?(p=Yf(e|0,f|0,7,0)|0,h=L,(n|0)>(h|0)|(n|0)==(h|0)&m>>>0>p>>>0):0)?(d=Yf(e|0,f|0,8,0)|0,c=L,h=Yf(e|0,f|0,11,0)|0,g=L,!((n|0)<(c|0)|(n|0)==(c|0)&m>>>0<=d>>>0|((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0))):0){p=l[j+p>>0]|0;r=o;return p|0}}p=-1;r=o;return p|0}function cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;k[a>>2]=4536;k[a+4>>2]=k[b+4>>2];f=a+8|0;k[f>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;i=b+12|0;c=k[i>>2]|0;if(c|0){if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[f>>2]=c;k[g>>2]=0;k[h>>2]=e;h=k[b+8>>2]|0;i=k[i>>2]|0;zc(f,h,0,h+(i>>>5<<2)|0,i&31)}h=a+20|0;k[h>>2]=0;i=a+24|0;k[i>>2]=0;f=a+28|0;k[f>>2]=0;g=b+24|0;c=k[g>>2]|0;if(!c)return;if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[h>>2]=c;k[i>>2]=0;k[f>>2]=e;a=k[b+20>>2]|0;b=k[g>>2]|0;zc(h,a,0,a+(b>>>5<<2)|0,b&31);return}function dd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;e=k[h>>2]|0;g=e+8|0;f=k[g+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}e=i[(k[e>>2]|0)+c>>0]|0;f=Yf(c|0,d|0,1,0)|0;g=b;k[g>>2]=f;k[g+4>>2]=L;g=e&255;e=e<<24>>24==0;a:do if(!e){b=0;while(1){if(!(Pa[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(Ha[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(Pa[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(La[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=La[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=Yf(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=Yf(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=Yf(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;i=j;k[i>>2]=c;h=j+8|0;e=k[a+8>>2]|0;f=(c|0)/3|0;if((c|0)<=-3)Ba(10225,10250,63,10264);d=k[e+80>>2]|0;if((f|0)>=(((k[e+84>>2]|0)-d|0)/12|0|0))Ba(10269,10250,64,10264);d=k[d+(f*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))Pd(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){Pd(e,i);c=k[d>>2]|0;i=c+24|0;h=k[i>>2]|0;c=c+12|0;c=k[c>>2]|0;c=c+(b<<2)|0;k[c>>2]=h;c=k[i>>2]|0;c=c+1|0;k[i>>2]=c;r=j;return}else{k[g>>2]=c;k[f>>2]=g+4;c=e;i=c+24|0;h=k[i>>2]|0;c=c+12|0;c=k[c>>2]|0;c=c+(b<<2)|0;k[c>>2]=h;c=k[i>>2]|0;c=c+1|0;k[i>>2]=c;r=j;return}}function gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;Ia[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;Oa[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;h=c+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=c+16|0;e=j;d=k[e>>2]|0;e=k[e+4>>2]|0;if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){f=i[(k[c>>2]|0)+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;n=j;k[n>>2]=d;k[n+4>>2]=e;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){n=i[(k[c>>2]|0)+d>>0]|0;l=Yf(d|0,e|0,1,0)|0;d=j;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=Ha[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)Ja[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(Pa[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(Ha[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=Pa[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;l=o;h=o+16|0;m=a+28|0;d=k[m>>2]|0;k[h>>2]=d;n=a+20|0;d=(k[n>>2]|0)-d|0;k[h+4>>2]=d;k[h+8>>2]=b;k[h+12>>2]=c;i=a+60|0;j=a+44|0;e=2;d=d+c|0;while(1){k[l>>2]=k[i>>2];k[l+4>>2]=h;k[l+8>>2]=e;b=va(146,l|0)|0;if(b>>>0>4294963200){k[2868]=0-b;b=-1}if((d|0)==(b|0)){b=5;break}if((b|0)<0){b=7;break}g=d-b|0;d=k[h+4>>2]|0;if(b>>>0<=d>>>0)if((e|0)==2){k[m>>2]=(k[m>>2]|0)+b;e=2;f=h}else f=h;else{f=k[j>>2]|0;k[m>>2]=f;k[n>>2]=f;b=b-d|0;e=e+-1|0;f=h+8|0;d=k[h+12>>2]|0}k[f>>2]=(k[f>>2]|0)+b;k[f+4>>2]=d-b;d=g;h=f}if((b|0)==5){l=k[j>>2]|0;k[a+16>>2]=l+(k[a+48>>2]|0);a=l;k[m>>2]=a;k[n>>2]=a}else if((b|0)==7){k[a+16>>2]=0;k[m>>2]=0;k[n>>2]=0;k[a>>2]=k[a>>2]|32;if((e|0)==2)c=0;else c=c-(k[h+4>>2]|0)|0}r=o;return c|0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;e=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;f=d;if(e-d>>2>>>0>=b>>>0){d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=f+(b<<2);return}l=k[a>>2]|0;j=d-l|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=e-l|0;h=g>>1;h=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;if(!h)d=0;else{if(h>>>0>1073741823){n=Da(4)|0;k[n>>2]=5228;ra(n|0,736,67)}e=h<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}g=d+(i<<2)|0;e=b;f=g;while(1){k[f>>2]=k[c>>2];e=e+-1|0;if(!e)break;else f=f+4|0}e=g+(0-i<<2)|0;if((j|0)>0)xe(e|0,l|0,j|0)|0;k[a>>2]=e;k[n>>2]=g+(b<<2);k[m>>2]=d+(h<<2);if(!l)return;gb(l);return}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;h=k[l>>2]|0;e=h;f=c;if((h|0)==(c|0)){g=0;h=a+20|0;b=0}else{h=a+20|0;g=(k[h>>2]|0)+b|0;g=(k[c+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(g|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[h>>2]=0;b=e-f>>2;if(b>>>0>2)do{gb(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{gb(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;gb(b);return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;e=k[i>>2]|0;j=a+4|0;c=k[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{i=c;k[i>>2]=0;k[i+4>>2]=0;c=(k[j>>2]|0)+8|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=k[a>>2]|0;f=c-d>>3;c=f+b|0;if(c>>>0>536870911)Ba(11055,11078,304,11175);g=e-d|0;h=g>>2;h=g>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;if(!h)c=0;else{if(h>>>0>536870911){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}d=h<<3;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}g=c+(f<<3)|0;d=g;f=g;do{e=d;k[e>>2]=0;k[e+4>>2]=0;d=f+8|0;f=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;e=(k[j>>2]|0)-d|0;b=g+(0-(e>>3)<<3)|0;if((e|0)>0)xe(b|0,d|0,e|0)|0;k[a>>2]=b;k[j>>2]=f;k[i>>2]=c+(h<<3);if(!d)return;gb(d);return}function md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;c=k[l>>2]|0;m=k[a>>2]|0;h=(c-m|0)/12|0;d=h+1|0;if(d>>>0>357913941)Ba(11055,11078,304,11175);j=m;g=c;i=a+8|0;f=((k[i>>2]|0)-m|0)/12|0;e=f<<1;e=f>>>0<178956970?(e>>>0>>0?d:e):357913941;if(!e)d=0;else{if(e>>>0>357913941){m=Da(4)|0;k[m>>2]=5228;ra(m|0,736,67)}d=e*12|0;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=c}c=d+(h*12|0)|0;f=d+(e*12|0)|0;k[c>>2]=k[b>>2];k[d+(h*12|0)+4>>2]=k[b+4>>2];k[d+(h*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((g|0)!=(j|0)){d=g;do{h=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[h+-8>>2];k[c+-4>>2]=k[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0))}k[a>>2]=c;k[l>>2]=e;k[i>>2]=f;if(!m)return;gb(m);return}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+16|0;h=m;j=a+4|0;k[j>>2]=0;if(!b){r=m;return}l=a+8|0;d=k[l>>2]|0;e=d<<5;if(e>>>0>>0){k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)Ba(11055,11078,304,11175);d=d<<6;n=b+31&-32;Td(h,e>>>0<1073741823?(d>>>0>>0?n:d):2147483647);d=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=d;h=k[j>>2]|0;k[j>>2]=b;k[f>>2]=h;j=k[l>>2]|0;k[l>>2]=k[g>>2];k[g>>2]=j;if(d|0)gb(d)}else k[j>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){Ke(a|0,0,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=m;return}k[a>>2]=k[a>>2]&~(-1>>>(32-d|0));r=m;return}else{Ke(a|0,-1,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=m;return}k[a>>2]=k[a>>2]|-1>>>(32-d|0);r=m;return}}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=Yf(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=Yf(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=Yf(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=Yf(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=1048576){if((g|0)!=1048576?(e=h+4194304|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Ld(a,1048576-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else ld(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>1048576){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==1048576;return j|0}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=4096){if((g|0)!=4096?(e=h+16384|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Ld(a,4096-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else ld(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>4096){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==4096;return j|0}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=(k[b+4>>2]|0)-(k[b>>2]|0)|0;m=d>>2;l=a+8|0;j=k[(k[l>>2]|0)+40>>2]|0;a=(j|0)>-1?j:-1;a=(a|0)==0?1:a;while(1){b=Xa(a)|0;if(b|0){i=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){i=0;break}Na[b&1]()}h=c+8|0;if((d|0)<=0){c=1;gb(i);return c|0}d=c+16|0;b=0;a=0;while(1){o=h;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=Yf(e|0,k[f+4>>2]|0,j|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=9;break}xe(i|0,(k[c>>2]|0)+e|0,j|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;xe((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+b|0,i|0,j|0)|0;a=a+1|0;if((a|0)>=(m|0)){b=1;a=9;break}else b=b+j|0}if((a|0)==9){gb(i);return b|0}return 0}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;o=s;q=k[a>>2]|0;p=a+(k[q+-8>>2]|0)|0;q=k[q+-4>>2]|0;k[o>>2]=b;k[o+4>>2]=a;k[o+8>>2]=696;a=o+12|0;c=o+16|0;d=o+20|0;e=o+24|0;f=o+28|0;g=o+32|0;h=o+40|0;l=(q|0)==(b|0);m=a;n=m+40|0;do{k[m>>2]=0;m=m+4|0}while((m|0)<(n|0));j[a+40>>1]=0;i[a+42>>0]=0;a:do if(l){k[o+48>>2]=1;Oa[k[(k[b>>2]|0)+20>>2]&3](b,o,p,p,1,0);a=(k[e>>2]|0)==1?p:0}else{Ia[k[(k[q>>2]|0)+24>>2]&3](q,o,p,1,0);switch(k[o+36>>2]|0){case 0:{a=(k[h>>2]|0)==1&(k[f>>2]|0)==1&(k[g>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((k[e>>2]|0)!=1?!((k[h>>2]|0)==0&(k[f>>2]|0)==1&(k[g>>2]|0)==1):0){a=0;break}a=k[c>>2]|0}while(0);r=s;return a|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;while(1){c=Xa(24)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[c>>2]=4316;h=c;g=a+8|0;f=a+12|0;c=k[f>>2]|0;a=k[g>>2]|0;d=c-a>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){Xc(g,e-d|0);break}if(e>>>0>>0?(i=a+(e<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;k[f>>2]=e;c=k[e>>2]|0;k[e>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[f>>2]|0}while((c|0)!=(i|0))}while(0);i=(k[g>>2]|0)+(b<<2)|0;c=k[i>>2]|0;k[i>>2]=h;if(!c)return 1;Ja[k[(k[c>>2]|0)+4>>2]&127](c);return 1}function ud(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){fc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;fc(a,b);return}function vd(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[(k[b>>2]|0)+64>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;c=(e|0)/12|0;if((e|0)>0)a=0;else return 1;do{Ab(b,a*3|0);a=a+1|0}while((a|0)<(c|0));return 1}d=k[b>>2]|0;if((k[b+4>>2]|0)==(d|0))return 1;c=a+8|0;b=0;a=d;do{Ab(c,k[a+(b<<2)>>2]|0);b=b+1|0;d=k[e>>2]|0;a=k[d>>2]|0}while(b>>>0<(k[d+4>>2]|0)-a>>2>>>0);return 1}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((La[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}f=a+4|0;e=0;while(1){a=k[(k[f>>2]|0)+4>>2]|0;c=Pa[k[(k[b>>2]|0)+24>>2]&63](b,e)|0;if((c|0)==-1|(c|0)>3){a=0;c=12;break}d=k[a+16+(c*12|0)>>2]|0;if(((k[a+16+(c*12|0)+4>>2]|0)-d|0)<=0){a=0;c=12;break}a=k[d>>2]|0;if((a|0)==-1){a=0;c=12;break}c=k[(k[f>>2]|0)+4>>2]|0;if((a|0)<=-1){c=8;break}d=k[c+4>>2]|0;if(((k[c+8>>2]|0)-d>>2|0)<=(a|0)){c=10;break}e=e+1|0;if(!(Pa[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=12;break}if((e|0)>=(La[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=12;break}}if((c|0)==8)Ba(9441,9457,62,9485);else if((c|0)==10)Ba(9495,9457,63,9485);else if((c|0)==12)return a|0;return 0} +function Ua(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,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;jd=r;r=r+64|0;id=jd;gd=b+8|0;h=gd;fd=k[h>>2]|0;h=k[h+4>>2]|0;hd=b+16|0;g=hd;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((h|0)>(g|0)|(h|0)==(g|0)&fd>>>0>f>>>0)){id=0;r=jd;return id|0}j=k[b>>2]|0;e=i[j+f>>0]|0;ed=Yf(f|0,g|0,1,0)|0;d=hd;k[d>>2]=ed;k[d+4>>2]=L;do switch(e<<24>>24){case 1:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;a:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;while(1){if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break a}j=k[b>>2]|0;h=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;g=L;e=hd;k[e>>2]=d;k[e+4>>2]=g;e=h&255;h=e&3;e=e>>>2;if(h){f=0;do{if(!((o|0)>(g|0)|(o|0)==(g|0)&n>>>0>d>>>0)){h=0;break a}fd=i[j+d>>0]|0;d=Yf(d|0,g|0,1,0)|0;g=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=g;e=(fd&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(h|0))}f=k[id>>2]|0;k[f+(m<<2)>>2]=e;m=m+1|0;e=k[p>>2]|0;if(m>>>0>=e>>>0)break;else e=g}if(!(qd(id+16|0,f,e)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(u=gd,t=k[u>>2]|0,u=k[u+4>>2]|0,w=hd,v=k[w>>2]|0,w=Yf(v|0,k[w+4>>2]|0,8,0)|0,x=L,!((u|0)<(x|0)|(u|0)==(x|0)&t>>>0>>0)):0)?(F=k[b>>2]|0,G=F+v|0,mb=G,mb=l[mb>>0]|l[mb+1>>0]<<8|l[mb+2>>0]<<16|l[mb+3>>0]<<24,G=G+4|0,G=l[G>>0]|l[G+1>>0]<<8|l[G+2>>0]<<16|l[G+3>>0]<<24,b=hd,k[b>>2]=w,k[b+4>>2]=x,b=Nf(t|0,u|0,w|0,x|0)|0,gd=L,!(G>>>0>gd>>>0|(G|0)==(gd|0)&mb>>>0>b>>>0)):0)?(ob=F+w|0,b=Yf(mb|0,G|0,w|0,x|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(mb|0)>=1):0){n=id+40|0;k[n>>2]=ob;d=mb+-1|0;e=ob+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;vb=(l[e>>0]|0)&63;jb=id+48|0;k[jb>>2]=vb;break}case 1:{if((mb|0)<2){h=0;break a}k[id+44>>2]=mb+-2;vb=ob+mb+-2|0;vb=(l[vb+1>>0]|0)<<8&16128|(l[vb>>0]|0);jb=id+48|0;k[jb>>2]=vb;break}case 2:{if((mb|0)<3){h=0;break a}k[id+44>>2]=mb+-3;vb=ob+mb+-3|0;vb=(l[vb+1>>0]|0)<<8|(l[vb>>0]|0)|(l[vb+2>>0]|0)<<16&4128768;jb=id+48|0;k[jb>>2]=vb;break}case 3:{k[id+44>>2]=mb+-4;vb=ob+mb+-4|0;vb=(l[vb+2>>0]|0)<<16|(l[vb+3>>0]|0)<<24&1056964608|(l[vb+1>>0]|0)<<8|(l[vb>>0]|0);jb=id+48|0;k[jb>>2]=vb;break}default:{}}d=vb+16384|0;k[jb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 2:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;c:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break c}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break c}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(da=gd,ca=k[da>>2]|0,da=k[da+4>>2]|0,fa=hd,ea=k[fa>>2]|0,fa=Yf(ea|0,k[fa+4>>2]|0,8,0)|0,ga=L,!((da|0)<(ga|0)|(da|0)==(ga|0)&ca>>>0>>0)):0)?(oa=k[b>>2]|0,pa=oa+ea|0,Bb=pa,Bb=l[Bb>>0]|l[Bb+1>>0]<<8|l[Bb+2>>0]<<16|l[Bb+3>>0]<<24,pa=pa+4|0,pa=l[pa>>0]|l[pa+1>>0]<<8|l[pa+2>>0]<<16|l[pa+3>>0]<<24,b=hd,k[b>>2]=fa,k[b+4>>2]=ga,b=Nf(ca|0,da|0,fa|0,ga|0)|0,gd=L,!(pa>>>0>gd>>>0|(pa|0)==(gd|0)&Bb>>>0>b>>>0)):0)?(Db=oa+fa|0,b=Yf(Bb|0,pa|0,fa|0,ga|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Bb|0)>=1):0){n=id+40|0;k[n>>2]=Db;d=Bb+-1|0;e=Db+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Nb=(l[e>>0]|0)&63;fb=id+48|0;k[fb>>2]=Nb;break}case 1:{if((Bb|0)<2){h=0;break c}k[id+44>>2]=Bb+-2;Nb=Db+Bb+-2|0;Nb=(l[Nb+1>>0]|0)<<8&16128|(l[Nb>>0]|0);fb=id+48|0;k[fb>>2]=Nb;break}case 2:{if((Bb|0)<3){h=0;break c}k[id+44>>2]=Bb+-3;Nb=Db+Bb+-3|0;Nb=(l[Nb+1>>0]|0)<<8|(l[Nb>>0]|0)|(l[Nb+2>>0]|0)<<16&4128768;fb=id+48|0;k[fb>>2]=Nb;break}case 3:{k[id+44>>2]=Bb+-4;Nb=Db+Bb+-4|0;Nb=(l[Nb+2>>0]|0)<<16|(l[Nb+3>>0]|0)<<24&1056964608|(l[Nb+1>>0]|0)<<8|(l[Nb>>0]|0);fb=id+48|0;k[fb>>2]=Nb;break}default:{}}d=Nb+16384|0;k[fb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){d:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break d;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 3:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;e:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break e}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break e}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Ma=gd,La=k[Ma>>2]|0,Ma=k[Ma+4>>2]|0,Oa=hd,Na=k[Oa>>2]|0,Oa=Yf(Na|0,k[Oa+4>>2]|0,8,0)|0,Pa=L,!((Ma|0)<(Pa|0)|(Ma|0)==(Pa|0)&La>>>0>>0)):0)?(Qa=k[b>>2]|0,Ra=Qa+Na|0,Ob=Ra,Ob=l[Ob>>0]|l[Ob+1>>0]<<8|l[Ob+2>>0]<<16|l[Ob+3>>0]<<24,Ra=Ra+4|0,Ra=l[Ra>>0]|l[Ra+1>>0]<<8|l[Ra+2>>0]<<16|l[Ra+3>>0]<<24,b=hd,k[b>>2]=Oa,k[b+4>>2]=Pa,b=Nf(La|0,Ma|0,Oa|0,Pa|0)|0,gd=L,!(Ra>>>0>gd>>>0|(Ra|0)==(gd|0)&Ob>>>0>b>>>0)):0)?(Pb=Qa+Oa|0,b=Yf(Ob|0,Ra|0,Oa|0,Pa|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Ob|0)>=1):0){n=id+40|0;k[n>>2]=Pb;d=Ob+-1|0;e=Pb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Qb=(l[e>>0]|0)&63;$a=id+48|0;k[$a>>2]=Qb;break}case 1:{if((Ob|0)<2){h=0;break e}k[id+44>>2]=Ob+-2;Qb=Pb+Ob+-2|0;Qb=(l[Qb+1>>0]|0)<<8&16128|(l[Qb>>0]|0);$a=id+48|0;k[$a>>2]=Qb;break}case 2:{if((Ob|0)<3){h=0;break e}k[id+44>>2]=Ob+-3;Qb=Pb+Ob+-3|0;Qb=(l[Qb+1>>0]|0)<<8|(l[Qb>>0]|0)|(l[Qb+2>>0]|0)<<16&4128768;$a=id+48|0;k[$a>>2]=Qb;break}case 3:{k[id+44>>2]=Ob+-4;Qb=Pb+Ob+-4|0;Qb=(l[Qb+2>>0]|0)<<16|(l[Qb+3>>0]|0)<<24&1056964608|(l[Qb+1>>0]|0)<<8|(l[Qb>>0]|0);$a=id+48|0;k[$a>>2]=Qb;break}default:{}}d=Qb+16384|0;k[$a>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){f:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break f;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 4:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;g:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break g}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break g}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Ta=gd,Sa=k[Ta>>2]|0,Ta=k[Ta+4>>2]|0,Va=hd,Ua=k[Va>>2]|0,Va=Yf(Ua|0,k[Va+4>>2]|0,8,0)|0,Wa=L,!((Ta|0)<(Wa|0)|(Ta|0)==(Wa|0)&Sa>>>0>>0)):0)?(Xa=k[b>>2]|0,Ya=Xa+Ua|0,Rb=Ya,Rb=l[Rb>>0]|l[Rb+1>>0]<<8|l[Rb+2>>0]<<16|l[Rb+3>>0]<<24,Ya=Ya+4|0,Ya=l[Ya>>0]|l[Ya+1>>0]<<8|l[Ya+2>>0]<<16|l[Ya+3>>0]<<24,b=hd,k[b>>2]=Va,k[b+4>>2]=Wa,b=Nf(Sa|0,Ta|0,Va|0,Wa|0)|0,gd=L,!(Ya>>>0>gd>>>0|(Ya|0)==(gd|0)&Rb>>>0>b>>>0)):0)?(Sb=Xa+Va|0,b=Yf(Rb|0,Ya|0,Va|0,Wa|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Rb|0)>=1):0){n=id+40|0;k[n>>2]=Sb;d=Rb+-1|0;e=Sb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Tb=(l[e>>0]|0)&63;db=id+48|0;k[db>>2]=Tb;break}case 1:{if((Rb|0)<2){h=0;break g}k[id+44>>2]=Rb+-2;Tb=Sb+Rb+-2|0;Tb=(l[Tb+1>>0]|0)<<8&16128|(l[Tb>>0]|0);db=id+48|0;k[db>>2]=Tb;break}case 2:{if((Rb|0)<3){h=0;break g}k[id+44>>2]=Rb+-3;Tb=Sb+Rb+-3|0;Tb=(l[Tb+1>>0]|0)<<8|(l[Tb>>0]|0)|(l[Tb+2>>0]|0)<<16&4128768;db=id+48|0;k[db>>2]=Tb;break}case 3:{k[id+44>>2]=Rb+-4;Tb=Sb+Rb+-4|0;Tb=(l[Tb+2>>0]|0)<<16|(l[Tb+3>>0]|0)<<24&1056964608|(l[Tb+1>>0]|0)<<8|(l[Tb>>0]|0);db=id+48|0;k[db>>2]=Tb;break}default:{}}d=Tb+16384|0;k[db>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){h:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break h;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}e=k[id+16>>2]|0;f=e;if(e|0){g=id+20|0;d=k[g>>2]|0;if((d|0)!=(e|0))k[g>>2]=d+(~((d+-4-f|0)>>>2)<<2);gb(e)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 5:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i:do if(Ac(id,b)|0){j=(a|0)>0;if(j?(k[id+12>>2]|0)==0:0){h=0;break}e=gd;d=k[e>>2]|0;e=k[e+4>>2]|0;g=hd;f=k[g>>2]|0;g=Yf(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0)?(m=k[b>>2]|0,n=m+f|0,p=n,p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24,n=n+4|0,n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24,b=hd,k[b>>2]=g,k[b+4>>2]=h,b=Nf(d|0,e|0,g|0,h|0)|0,gd=L,!(n>>>0>gd>>>0|(n|0)==(gd|0)&p>>>0>b>>>0)):0)?(q=m+g|0,b=Yf(p|0,n|0,g|0,h|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(p|0)>=1):0){n=id+40|0;k[n>>2]=q;d=p+-1|0;e=q+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;s=(l[e>>0]|0)&63;o=id+48|0;k[o>>2]=s;break}case 1:{if((p|0)<2){h=0;break i}k[id+44>>2]=p+-2;s=q+p+-2|0;s=(l[s+1>>0]|0)<<8&16128|(l[s>>0]|0);o=id+48|0;k[o>>2]=s;break}case 2:{if((p|0)<3){h=0;break i}k[id+44>>2]=p+-3;s=q+p+-3|0;s=(l[s+1>>0]|0)<<8|(l[s>>0]|0)|(l[s+2>>0]|0)<<16&4128768;o=id+48|0;k[o>>2]=s;break}case 3:{k[id+44>>2]=p+-4;s=q+p+-4|0;s=(l[s+2>>0]|0)<<16|(l[s+3>>0]|0)<<24&1056964608|(l[s+1>>0]|0)<<8|(l[s>>0]|0);o=id+48|0;k[o>>2]=s;break}default:{}}d=s+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|j^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){j:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break j;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 6:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;k:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break k}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break k}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(z=gd,y=k[z>>2]|0,z=k[z+4>>2]|0,B=hd,A=k[B>>2]|0,B=Yf(A|0,k[B+4>>2]|0,8,0)|0,C=L,!((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)):0)?(D=k[b>>2]|0,E=D+A|0,kb=E,kb=l[kb>>0]|l[kb+1>>0]<<8|l[kb+2>>0]<<16|l[kb+3>>0]<<24,E=E+4|0,E=l[E>>0]|l[E+1>>0]<<8|l[E+2>>0]<<16|l[E+3>>0]<<24,b=hd,k[b>>2]=B,k[b+4>>2]=C,b=Nf(y|0,z|0,B|0,C|0)|0,gd=L,!(E>>>0>gd>>>0|(E|0)==(gd|0)&kb>>>0>b>>>0)):0)?(lb=D+B|0,b=Yf(kb|0,E|0,B|0,C|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(kb|0)>=1):0){n=id+40|0;k[n>>2]=lb;d=kb+-1|0;e=lb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;nb=(l[e>>0]|0)&63;eb=id+48|0;k[eb>>2]=nb;break}case 1:{if((kb|0)<2){h=0;break k}k[id+44>>2]=kb+-2;nb=lb+kb+-2|0;nb=(l[nb+1>>0]|0)<<8&16128|(l[nb>>0]|0);eb=id+48|0;k[eb>>2]=nb;break}case 2:{if((kb|0)<3){h=0;break k}k[id+44>>2]=kb+-3;nb=lb+kb+-3|0;nb=(l[nb+1>>0]|0)<<8|(l[nb>>0]|0)|(l[nb+2>>0]|0)<<16&4128768;eb=id+48|0;k[eb>>2]=nb;break}case 3:{k[id+44>>2]=kb+-4;nb=lb+kb+-4|0;nb=(l[nb+2>>0]|0)<<16|(l[nb+3>>0]|0)<<24&1056964608|(l[nb+1>>0]|0)<<8|(l[nb>>0]|0);eb=id+48|0;k[eb>>2]=nb;break}default:{}}d=nb+16384|0;k[eb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){l:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break l;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 7:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;m:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break m}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break m}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(I=gd,H=k[I>>2]|0,I=k[I+4>>2]|0,K=hd,J=k[K>>2]|0,K=Yf(J|0,k[K+4>>2]|0,8,0)|0,M=L,!((I|0)<(M|0)|(I|0)==(M|0)&H>>>0>>0)):0)?(N=k[b>>2]|0,O=N+J|0,pb=O,pb=l[pb>>0]|l[pb+1>>0]<<8|l[pb+2>>0]<<16|l[pb+3>>0]<<24,O=O+4|0,O=l[O>>0]|l[O+1>>0]<<8|l[O+2>>0]<<16|l[O+3>>0]<<24,b=hd,k[b>>2]=K,k[b+4>>2]=M,b=Nf(H|0,I|0,K|0,M|0)|0,gd=L,!(O>>>0>gd>>>0|(O|0)==(gd|0)&pb>>>0>b>>>0)):0)?(qb=N+K|0,b=Yf(pb|0,O|0,K|0,M|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(pb|0)>=1):0){n=id+40|0;k[n>>2]=qb;d=pb+-1|0;e=qb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;rb=(l[e>>0]|0)&63;hb=id+48|0;k[hb>>2]=rb;break}case 1:{if((pb|0)<2){h=0;break m}k[id+44>>2]=pb+-2;rb=qb+pb+-2|0;rb=(l[rb+1>>0]|0)<<8&16128|(l[rb>>0]|0);hb=id+48|0;k[hb>>2]=rb;break}case 2:{if((pb|0)<3){h=0;break m}k[id+44>>2]=pb+-3;rb=qb+pb+-3|0;rb=(l[rb+1>>0]|0)<<8|(l[rb>>0]|0)|(l[rb+2>>0]|0)<<16&4128768;hb=id+48|0;k[hb>>2]=rb;break}case 3:{k[id+44>>2]=pb+-4;rb=qb+pb+-4|0;rb=(l[rb+2>>0]|0)<<16|(l[rb+3>>0]|0)<<24&1056964608|(l[rb+1>>0]|0)<<8|(l[rb>>0]|0);hb=id+48|0;k[hb>>2]=rb;break}default:{}}d=rb+16384|0;k[hb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){n:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break n;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 8:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;o:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break o}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break o}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Q=gd,P=k[Q>>2]|0,Q=k[Q+4>>2]|0,S=hd,R=k[S>>2]|0,S=Yf(R|0,k[S+4>>2]|0,8,0)|0,T=L,!((Q|0)<(T|0)|(Q|0)==(T|0)&P>>>0>>0)):0)?(U=k[b>>2]|0,V=U+R|0,sb=V,sb=l[sb>>0]|l[sb+1>>0]<<8|l[sb+2>>0]<<16|l[sb+3>>0]<<24,V=V+4|0,V=l[V>>0]|l[V+1>>0]<<8|l[V+2>>0]<<16|l[V+3>>0]<<24,b=hd,k[b>>2]=S,k[b+4>>2]=T,b=Nf(P|0,Q|0,S|0,T|0)|0,gd=L,!(V>>>0>gd>>>0|(V|0)==(gd|0)&sb>>>0>b>>>0)):0)?(tb=U+S|0,b=Yf(sb|0,V|0,S|0,T|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(sb|0)>=1):0){n=id+40|0;k[n>>2]=tb;d=sb+-1|0;e=tb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;ub=(l[e>>0]|0)&63;ib=id+48|0;k[ib>>2]=ub;break}case 1:{if((sb|0)<2){h=0;break o}k[id+44>>2]=sb+-2;ub=tb+sb+-2|0;ub=(l[ub+1>>0]|0)<<8&16128|(l[ub>>0]|0);ib=id+48|0;k[ib>>2]=ub;break}case 2:{if((sb|0)<3){h=0;break o}k[id+44>>2]=sb+-3;ub=tb+sb+-3|0;ub=(l[ub+1>>0]|0)<<8|(l[ub>>0]|0)|(l[ub+2>>0]|0)<<16&4128768;ib=id+48|0;k[ib>>2]=ub;break}case 3:{k[id+44>>2]=sb+-4;ub=tb+sb+-4|0;ub=(l[ub+2>>0]|0)<<16|(l[ub+3>>0]|0)<<24&1056964608|(l[ub+1>>0]|0)<<8|(l[ub>>0]|0);ib=id+48|0;k[ib>>2]=ub;break}default:{}}d=ub+16384|0;k[ib>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){p:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break p;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 9:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;q:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break q}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break q}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0